ChatGPT / Raspberry Pi AI Camera / IMX500 / AI

概要

Raspberry Pi 5とRaspberry Pi AI Cameraを使い、物体検出モデルYOLO26を変換するまでの手順と、 その実行についてまとめました。

モデルを変換してそのあと実際にやっていることは、これに非常に似ています。調べている最中にこの存在を知ってしまったので、意地でなんとかつくりきりました。

https://github.com/SonySemiconductorSolutions/aitrios-rpi-sample-apps/blob/main/examples/queue-monitor/README.md

Raspberry Pi AI Cameraについて

IMX500というAI推論に適したセンサーが搭載されているカメラで、Raspberry Pi本体に負荷をかけずに推論が行える、というものです。

最大解像度は4056 × 3040(10bit, 10fps)で、RGBで入力できるテンソルの最大サイズは640 × 640となっています。

Raspberry Pi 5であれば、推論結果をopencvで出力するくらいは余裕でできるような処理の余裕が生まれます

https://developer.aitrios.sony-semicon.com/en/docs/raspberry-pi-ai-camera/raspberry-pi-ai-camera-tutorial?version=2025-09-30&progLang=

https://developer.aitrios.sony-semicon.com/en/docs/raspberry-pi-ai-camera/raspberry-pi-ai-camera-tutorial?version=2025-09-30&progLang=

IMX500を使った推論をするための方法はいくつかあります。 はやいほうから順に手順が少なく簡単にできます

  1. Raspberry Piにインストールするimx500用のパッケージに付属しているモデル(rpkファイル)を使う picamera2のサンプルコードとあわせれば、ファイルの作成不要でそのまま実行できます。
  2. YOLOv8n、11nなどの、変換を簡単に行えるモデルを使う 公式チュートリアルに従っていくと、③に比べて短い手順でrpkファイルが得られます。 picamera2のサンプルコードで読み込むことも可能です (2.のステップについてもここにまとめてます!)
  3. TensorFlow / PyTorchのモデルをMCTを使って圧縮・量子化して、rpkファイルを得る 自分の使いたいモデルを自由に使う(さらには自作のモデルを使う)ことができる反面、変換の手順が他の方法に比べて多い。

以下、3.の方法についてまとめます。

なお、コードのほとんどはClaude / ChatGPT / Geminiに出力してもらったもので、パラメーター等を一部調整しています

前提となるRaspberry Piでのimx500のセットアップはここでは触れていません。また、Dockerについても細かい説明は省くので、とりあえず実行するためのshellのサンプルをつけます。