エッジインパルスを使用してESP32にビジョンを追加する
ESP32は、手頃な価格、強力なワイヤレス機能、およびエネルギー効率を組み合わせることで有名です。これらの特性により、ESP32は幅広いAIoTソリューションで選択されるSoCになっています。さらに、ArduinoフレームワークとEdge Impulseを使用する場合、ESP32は、わずか数行の追加コードで強力な機械学習アルゴリズムを実行できます。
Edge Impulseは、デバイス上で画像認識MLモデルを実行するために、複数の異なるカメラモジュールでESP32を多数使用してきました。これらのモデルは、さまざまな複雑なタスクを実行できます。たとえば、人がフレーム内にいるかどうかの検出、作物の成長の評価、さらにはオブジェクトの重量の推定などをすべて画像情報から実行します。
ユーザは、埋め込み機械学習向けの自由なエッジインパルスプラットフォームを使って、ESP32上でプロジェクトを実行できます。または、エッジインパルスによるチュートリアルを使って、独自のセンサーを追加することができます。モデルは、トレーニングされたインパルスを実行するために必要なすべてを備えたオープンソースのArduinoライブラリとしてデプロイでき、このライブラリは、シングルクリックで既存のESP32Arduinoプロジェクトに追加できます。
これを自分で試してみませんか?
始めるために必要なのは、ESP32開発キットとArducam Mini 2MPPlusまたはESP32-CAMのいずれかです。後者はArducamと同じセンサーを使用しますが、センサーをESP32-CAMボードに直接接続するためのファーストパーティドライバーが含まれています。「ESP32-CAM + Edge Impulse」デモは、さまざまな植物種を識別し、Webインターフェイス、カメラプレビュー、およびオンチップ画像のサイズ変更を備えています。GitHubのコードを確認するか、以下にリンクされているESP32-CAMウォークスルーのいずれかに従ってください。
さらに、これらの例では、Edge Impulseライブラリを置き換えるだけで、トレーニング済みの画像分類モデルを実行できます。これは、ESP32ファームウェア自体に変更を加えることなく機能します。つまり、実世界で機械学習アルゴリズムのプロトタイプをすばやく作成してテストできます。
最後に、Edge Impulseは、画像だけでなく、ESP32でのあらゆるタイプのセンサーデータの処理もサポートしています。ESP32でスタンドアロンのEdgeImpulseモデルを実行するための最小限のコード例は、ここにあります。この開始点から、Arduino互換のセンサードライバーを追加し、EdgeImpulseデータフォワーダーを使用してトレーニングデータを収集できます。