raspi4B + cameraで画像認識してみる

Raspberry Pi 4Bの入手

ラズパイは、以下のスターターキットを購入しました。

 

カメラモジュールの入手

カメラモジュールは、ソニー製にしました。

LABISTS Raspberry Pi カメラモジュール V2 ソニーIMX219PQ CMOS画像センサ 8メガピクセル 4B、3B+、3B、2Bに対応可能

LABISTS Raspberry Pi カメラモジュール V2 ソニーIMX219PQ CMOS画像センサ 8メガピクセル 4B、3B+、3B、2Bに対応可能

そのほかに必要なもの

そのほかに以下が必要です。家にあったものを使いました。

  • USBマウス(無線)
  • USBキーボード(無線)
  • ディスプレイ(HDMI対応)
  • 無線LANルータ

 

ラズパイの組み立て

箱を開けるとクイックスタートガイドが付いていて、特に問題なく組み立てが完成しました。ざっくりと以下のような作業です。ドライバーも入っていました。

  1. ヒートシンクの貼り付け
  2. Raspiをケースにねじ止め
  3. ファンをケースにねじ止め
  4. ファンのケーブルをGPIO端子に接続
  5. ケースの蓋をする

4.のファン接続は、低冷却モードの3Vと高冷却モードの5Vがあります。とりあえず3Vの方に接続。

あとは、USBマウスとキーボード、ディスプレイをつなげて設置完了です。

ちなみに、カメラモジュールを接続する場合は、2.の前にやっておくことをオススメします。

 

ラズパイの初期設定

電源を入れると、ファンが「ジーーー」と聞こえるか聞こえないかぐらいの音で回り始めました。

最初は英語のまま、いくつか初期設定をします。

  • 言語の選択:日本語
  • 場所:日本
  • パスワード:必ず変えましょう
  • 無線LAN接続:SSIDから選択して接続

最後にソフトウェアアップデートのダウンロードが始まり、待つこと1時間以上!

ようやく完了して再起動すると、日本語バージョンのOSになりました。

 

カメラモジュールの接続

カメラ関係は、以下のサイトを参考にしました。

カメラモジュールをつけてみます。

ケーブルの端子への差し込み方も参考になりました。基板をケースにねじ止めする前にケーブルを差し込んでおくべきでした。指が入らず、ボールペンで端子の端っこを持ち上げることになってしまった。

また、ケーブルがケースに収まりにくくて若干苦労しました。

ファンと反対側に折り曲げて、USBやEtherのコネクタの上部にケーブルが来るようにして、最後は無理やり蓋をした感じです。

 

カメラ有効の設定

ケースに収まり、Raspiを起動。Raspiの設定アプリから、カメラを「有効」にします。

 

カメラの動作確認(記念撮影)

そして、コマンドラインから「vcgencmd get_camera」と入力して実行します。

supported=1 detected=1

と表示され、無事カメラが認識されたようです。

次に、「sudo raspistill -o image.jpg」と入力して実行すると、画面上にカメラ映像が表示されて5秒後に消えました。

フォルダの/home/piの直下に、image.jpgが保存されていて、ファイルを開くと、自分の横顔が写っている!

 

画像認識

以下のサイトを参考に、ソフトウェアのインストールと実行をしました。

karaage.hatenadiary.jp

 

上記サイトに記載されていたそのままを実行しました。

$ git clone https://github.com/karaage0703/raspberry-pi-setup
$ cd raspberry-pi-setup && ./setup-ai.sh

15分ぐらいで インストールが完了。

そして、物体検出。

$ cd && git clone https://github.com/karaage0703/object_detection_tools
$ cd ~/object_detection_tools/models
$ ./get_ssdlite_mobilenet_v2_coco_model.sh
$ cd ~/object_detection_tools
$ python3 scripts/object_detection.py -l='models/coco-labels-paper.txt' -m='models/ssdlite_mobilenet_v2_coco_2018_05_09/frozen_inference_graph.pb' -d='raspi_cam'

 

無事にカメラが起動して、自分が写り、「Person 70.3%」とか表示されました!

こんなに簡単に物体検出までできて、感謝感謝です。