見出し画像

Raspberry Pi Zero 2 WとAIカメラでぬいぐるみ認識装置を作る!【初日:セットアップ編】


1. はじめに

我が家の娘達はぬいぐるみが大好きで、ことあるごとに買っていたら数がすごい事になっていました。しかも全てのぬいぐるみに名前と誕生日を設定するという徹底ぶり。ぬいぐるみ専用の誕生日カレンダーまであります。

我が家のぬいぐるみたち
ぬいぐるみの名前(一部)

「子供たちが大好きなぬいぐるみをAIで認識できたら喜んでくれるのでは?」
そんなアイデアから、Raspberry Pi Zero 2 WとAIカメラを使って、ぬいぐるみ識別装置を作るプロジェクトを始めました。

本記事では、初日の進捗として、Raspberry PiのセットアップからAIカメラの準備までの過程をまとめます!

2. 準備するもの

まずは必要なものを揃えました。

  • Raspberry Pi Zero 2 W: 小型・省電力なシングルボードコンピュータ

  • Raspberry Pi AI Camera: 画像認識のためのカメラ

  • microSDカード(32GB以上推奨): OSやデータ保存用

  • 電源アダプター: 電源供給

  • Wi-Fi環境: SSH接続とデータ送信

  • Python + OpenCV + TensorFlow Lite: AIモデルの推論用

3. Raspberry Pi Zero 2 Wのセットアップ

Raspberry Pi OSのインストール

  • Raspberry Pi Imagerを使用してmicroSDカードにOSを書き込む

  • Wi-Fi設定、SSHの有効化

  • 必要なパッケージのインストール(pip、opencv など)

Raspberry Pi OS Lite (64bit) を選択

今回は、軽量かつ最新のAIツールを使いやすい「Raspberry Pi OS Lite (64bit)」を採用しました。Raspberry Pi Zero 2 WのRAMサイズは512MBと少ないのでDesktop環境が不要なLiteにしました。また、32bitにするか64bitにするかも迷いましたが少し調べた所あまりパフォーマンスにも違いがなさそうだったので64bitにしました。64bitの方が使用するライブラリの問題が少なそうだからという理由もあります。

参考にした記事

4. AIカメラのセットアップと動作確認

カメラの接続

Raspberry PiのAIカメラモジュールを接続。

Raspberry Pi Zero 2 W と AIカメラを接続したところ

カメラモジュールの有効化

まず、下記コマンドで必要なライブラリをインストール: 

sudo apt update && sudo apt full-upgrade
sudo apt install imx500-all

Raspberry Piを再起動し、その後AIカメラが認識されているかを確認: 

sudo reboot
sudo dmesg | grep imx500

正しく認識されていると、"Device found is imx500"というメッセージが表示されるはずです。IMX500というのはAIカメラに使われているソニー製イメージセンサーの型番です。

カメラの動作確認

試しにAIカメラを実行してみます。今回はDesktop環境のないRaspberry Pi OS Liteを使っているので、センサーからの画像をビューワで表示するのではなく動画ファイルとして書き込みます。下記コマンドを実行すると、Mobilenet SSDと呼ばれるAIモデルで物体検出を行いながら10秒間の動画を作成します。

rpicam-vid -t 10s -o output.h264 --post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json --width 1920 --height 1080 --framerate 30

生成されたH.264動画ファイルをホストPCにコピーして動画を確認します。Windowsホストの場合、ホスト側で下記のようなコマンドを実行すればRaspberry Pi上のファイルをホストへコピーできます。

scp pi@raspizero2w.local:/home/pi/output.h264 C:\Users\YourUserName\Downloads\

無事に動画が撮れてればOK。検出された物体にバウンディングボックスが表示されています。

ぬいぐるみが検出されました

部屋内の光量が足りず少し暗くなっている事と、ピントが少しずれている事を目をつむれば、ひとまずきちんと"teddy bear"として検出されました。

参考にした記事

次回予告:AIモデルのトレーニング

ここまでで、Raspberry Pi Zero 2 WのセットアップとAIカメラの動作確認が完了しました。しかし目的はぬいぐるみの種類毎に名前を認識することです。次回の記事では、実際にぬいぐるみを認識するためのデータセットを作成して、AIモデルのトレーニングを目指します。

いいなと思ったら応援しよう!