60
Raspberry Pi AIカメラの始め方
Raspberry Pi AIカメラの始め方
(画像提供:Tom's Hardware)

Raspberry Piの新しいAIカメラキットは、ニューラルネットワークモデルの処理にかかるCPUの負担を軽減し、代わりにSony IMX500がすべての処理を担います。70ドルのRaspberry Pi AIカメラキットはつい最近発売されたばかりで、レビューのために先行アクセスもできましたが、今回はキットの使い方をご紹介したいと思い、今回はキットの使い方から、キットで使用するための独自のニューラルネットワークモデルを生成する方法までを網羅したハウツーシリーズの第1弾としてお届けします。

このパートでは、実際に起動して動作させ、ターミナルとPythonからソフトウェアを使う方法を学びます。ここではRaspberry Pi 5を使用しますが、Raspberry Pi 4またはZero 2 Wでも同様の手順で操作できます。他のモデルのPiでは、動作させるために多少の調整が必要になる場合があることに注意してください。

  • Raspberry Pi 5または4
  • ラズベリーパイ AI カメラ

Raspberry Pi AIカメラのインストール

最初のステップはハードウェアをインストールすることですが、幸いなことにこれは非常に簡単です。

  1. カメラのプラスチック クリップを慎重にロック解除し、カメラ ケーブルの幅の広い端を挿入して、金属製の「歯」がカメラの前面から見えるようにします。

Raspberry Pi AIカメラの始め方

(画像提供:Tom's Hardware)
  1. ケーブルを所定の位置に固定します。
  2. 電源を切った状態で、CAM1(Pi4ではCAMERA)コネクタのプラスチッククリップを外します。そうです、CAM1が使用するコネクタです。CAM0を試してみましたが、ファームウェアをアップデートしてもPi 5でカメラが検出されませんでした。
  3. カメラ ケーブルのもう一方の端を、金属ピンが Pi の USB/イーサネット ポートに向くようにコネクタに挿入します。

Raspberry Pi AIカメラの始め方

(画像提供:Tom's Hardware)
  1. ケーブルが水平であることを確認し、慎重に固定します。
  2. Raspberry Pi の電源を入れて、 Raspberry Pi デスクトップを起動します。
  3. ターミナルを開き、まずソフトウェア リポジトリ リストを更新してから、完全なアップグレードを実行します。
sudo apt update && sudo apt full-upgrade
  1. Raspberry Pi AIカメラで使用するSony IMX500用のソフトウェアパッケージをインストールします。これにより、Sony IMX500の動作に必要なファームウェアファイルがインストールされます。また、/usr/share/imx500-models/にニューラルネットワークモデルがインストールされ、IMX500で使用するためにrpicam-appsが更新されます。
sudo apt install imx500-all
  1. Raspberry Piを再起動する

デモアプリケーションの実行

Raspberry Pi OSには、カメラの素早いプロジェクトに使えるカメラアプリケーションが多数搭載されています。今回の場合は、カメラが正常に動作しているかどうかをテストするのにも使えます。まずはraspi-hello。これはカメラテスト界の「Hello World」と言えるでしょう。今回は、このraspi-helloを、無期限タイマー(-t 0s)とmobilenetオブジェクト検出モデルと組み合わせて使ってみます。

Raspberry Pi AIカメラの始め方

(画像提供:Tom's Hardware)
  1. ターミナルを開き、このコマンドを入力して Enter キーを押します。
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json
  1. テストするには、カメラに物をかざしてください。ファインダーで、カメラが物体(および人物)を識別しているのを確認できます。
  2. フォーカスがずれている場合は、被写体をフォーカスに合わせて移動するか、付属の調整ツールを使用してフォーカスを調整してください。レンズを反時計回りに回すと近く、時計回りに回すと遠くに焦点が合います。最短焦点距離は20cmです。
  3. テストが完了したら、ウィンドウを閉じて終了します。

ポーズ推定を使用する場合は、posenet モデルを使用するようにコマンドを変更する必要があります。

Raspberry Pi AIカメラの始め方

(画像提供:Tom's Hardware)
  1. ターミナルを開き、このコマンドを入力して Enter キーを押します。
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_posenet.json
  1. カメラの前に立って、腕、脚、胴体の上にワイヤーフレームが表示されるのを確認してください。動き回ってみてください。必要に応じてフォーカスを変えてみてください。
  2. 終了するにはウィンドウを閉じます。

セッションを10秒間の動画として録画するには、raspicam-vidを使用してMP4ファイルを出力します。これにより、境界ボックスと認識されたオブジェクトとともに動画が保存されます。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

  1. ターミナルウィンドウを開き、このコマンドを使ってビデオをoutput.mp4というファイルに記録します。このコマンドは、解像度とFPSを設定するためのパラメータ(--width 1920 --height 1080 --framerate 30)も指定できます。また、ポーズネットモデルを挿入して、その出力を記録することもできます。
rpicam-vid -t 10s -o output.mp4 --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json
  1. Enterキーを押してコードを実行してください。すぐにストリームが表示されます。カメラにオブジェクトを映し出し、様々な確度で識別される様子をご覧ください。プレビューウィンドウが閉じると、録画は終了します。
  2. ファイルマネージャーからファイルに移動し、VLCで開きます。これがデフォルトになっているはずですが、そうでない場合は右クリックしてVLCを選択してください。

Raspberry Pi AIカメラをPicamera2で使う

Raspberry Pi AIカメラの始め方

(画像提供:Tom's Hardware)

Picamera2は、Raspberry Piの様々なカメラを制御できるPythonモジュールで、新たにAIカメラもサポートしました。ただし、使用する前に、いくつかのソフトウェア依存関係をインストールする必要があります。

  1. ターミナルを開いてこのコマンドを実行します。
sudo apt update && sudo apt install python3-opencv python3-munkres
  1. Picamera2 GitHubリポジトリをRaspberry Piのホームディレクトリにダウンロードします。リポジトリをクローンするか、アーカイブと追加ファイルをホームディレクトリにダウンロードすることができます。
#To clone
git clone https://github.com/raspberrypi/picamera2.git
  1. picamera2/examples/imx500 に移動します。
  2. Pythonを使用して、imx500_object_detection_demo.pyを開きます。
python imx500_object_detection_demo.py
  1. プレビュー ウィンドウで、AI カメラがカメラに提示されたオブジェクトを識別しようとする様子を確認します。

Raspberry Pi AIカメラの始め方

(画像提供:Tom's Hardware)
  1. 終了するにはウィンドウを閉じます。

ポーズ推定デモを使用して、Python が人間のポーズを検出できることを確認することもできます。

  1. picamera2/examples/imx500 に移動します。
  2. Python を使用して、imx500_pose_estimation_higherhrnet_demo.py を開きます。
python imx500_pose_estimation_higherhrnet_demo.py
  1. カメラに向かってポーズをとってください。
  2. 終了するにはウィンドウを閉じます。

独自のニューラル ネットワーク モデルを作成してみませんか?

Raspberry Pi AIカメラの始め方

(画像提供:Tom's Hardware)

ドキュメントは独自のニューラルネットワークモデルの作成方法が記載されていますが、SonyのAITRIOS向けBrain Builderはまだ準備が整っておらず、Microsoft Lobeで作成したTensorflowモデルをimx500コンバーターツールスイートで使用できるように変換できませんでした。この点については引き続き注視しており、ツールが準備でき次第、Raspberry Pi AIカメラで使用するための独自のニューラルネットワークモデルのトレーニング方法を解説する追加のハウツーを公開する予定です。

レス・パウンダーは、トムズ・ハードウェアのアソシエイトエディターです。クリエイティブテクノロジストとして、7年間にわたり、老若男女を問わず、教育と啓発のためのプロジェクトを手がけてきました。Raspberry Pi Foundationと協力し、教師向けトレーニングプログラム「Picademy」の執筆・提供にも携わっています。