英Raspberry Piは9月30日(現地時間)、シングルボードコンピューター「Raspberry Pi」向けのカメラモジュール「Raspberry Pi AI Camera」を発表した。ソニーセミコンダクタソリューションズと共同開発した製品で、AIアクセラレータを内蔵したイメージセンサー「IMX500」を搭載しており、Raspberry Pi上でのビジョンデータを活用したエッジAIソリューションの開発を容易にする。同日よりRaspberry Piの正規販売代理店で予約販売が始まり、希望小売価格は70USドルとなっている。
大規模なビジュアルデータを利用したAIソリューションの開発には通常、GPUやアクセラレータなど、カメラ以外の追加コンポーネントを準備する必要がある。AI Cameraは、ニューラルネットワークに特化した独自のアクセラレータを内蔵したIMX500と、Raspberry Piのマイクロコントローラチップ「RP2040」の組み合わせにより、さまざまなニューラルネットワークモデルをカメラ上で効率的に実行できる。主な仕様は以下の通り:
- センサー:有効約1,230万画素インテリジェントビジョンセンサー「IMX500」
- 有効画素数:10fps:4,056×3,040、40fps:2,028×1,520
- 画素サイズ:1.55µm×1.55µm
- 視野角(FoV):76度
ソニーのAIツール群を使用して、TensorFlowやPyTorchといったフレームワークを使用した既存のニューラルネットワークモデルを、AI Camera上で効率的に動作するように変換できる。また、AIアクセラレータの特定の機能を活用するために、新しいモデルを設計することも可能である。
AI Cameraの大きな利点の1つは、Raspberry Piカメラソフトウェアスタックとのシームレスな統合である。libcameraが他のセンサーと同様に、独自のISPを使用してベイヤーフレームを処理する。ニューラルネットワークの結果を解析して出力テンソルを生成し、処理されたベイヤーフレームと同期させる。これらの両方が、libcameraのリクエスト完了ステップでアプリケーションに返される。下は、オブジェクト検出ニューラルネットワークモデル(MobileNet SSD)がrpicam-appsで動作し、30fpsの1080pビデオで推論を実行する例である。
このデモでは、rpicam-appsの後処理フレームワークを使用して、出力テンソルからオブジェクトのバウンディングボックスを生成し、それを画像に描画している。このステージの実装は300行未満のコードで済み、PythonとPicamera2を使用して同様のアプリケーションを構築すると、さらに少ないコード行数で実現できる。これはRaspberry Pi 4を使用しているが、AI Cameraにより、Raspberry Pi Zeroでも同様の推論パフォーマンスで実行できる。