AIY Vision Kit anchor.png

aiy_vision_kit.png

AIY Vision Kitは,カメラを搭載したRaspberry Pi Zero Wに,Movidius社のMyriad2が実装されたVision Bonnetボードが含まれていて,TensorFlowでの画像処理を効率的に実行できるらしい。

カメラの信号が,Vision Bonnetボードに入り信号処理されて(またはパススルーされて),Rasberry Pi Zero Wのカメラ入力ポートに接続される。
これで,非力なRaspberry Pi Zero Wでも複雑な画像処理が出来るようになっている。

AIY Vision Kitは,以前に購入していたんだけど,夏休みに行っている避暑地に持って行って組み立ててみた。

Page Top

AIY Vition KITの組み立て anchor.png

AIY Vision Kitの中には組み立て方法が入っていなかったので,ここを参考にして組み立てた。

OSやサンプルプログラムもインストールされているMicroSDカード(8GB)が付属しているので,Raspberry Pi zero Wに挿入するだけ。

visionkit.png
  1. Vision Bonnetボード(VPU)
  2. Raspberry Pi zero W
  3. カメラ・モジュール v2
  4. カメラ用FPC
  5. 照光スイッチ
  6. 照光スイッチ用ケーブル
  7. USBケーブル
  8. 圧電ブザー
  9. LED
  10. 基板接続用FPC
  11. 照光スイッチ・ナット
  12. 三脚用ナット
  13. LEDベゼル
  14. 基板用スペーサー
  15. 書き込み済みMicroSDカード(8GB)
  16. 段ボール筐体
  17. 内部用ダンボールフレーム

これで,10000円以下(Targetで$89.99)で,機械学習を使用してTensorFlowでの処理を試してみることが出来る。安価なキットって思います。

Page Top

電源ON anchor.png

ACアダプターは付属しないので,とりあえずAndroidスマホのACアダプターを使った。
ACアダプターを接続して(電源オン),しばらくするとピーと音がして,なにか動作をはじめているみたい。
人に向けると,照光ボタンスイッチの色が変わったりする。ボタンスイッチを押すと写真が撮れるみたいだけど・・・

無事,問題なく組み立てられたようだ。

Page Top

wifiの設定 anchor.png

Raspberry Pi zero WにWLANが搭載されているんで,それを使ってネットワークにつなげられるのだが,そのデバイスの設定にはAndroid端末にAIY Projects appをインストールすると,このアプリからWLANの設定をすることが出来た。

Vision Bonnetにあるボタンを長押しするとAIY Projects appと接続するんで,その後アプリからWIFIアクセスポイントを指定して接続するようにする。

WIFIアクセスポイントに接続した時にアプリ上にRaspberry Pi zero WのWLANのIPアドレスが表示されるんで,そのIPアドレスにPCからSSHを使ってリモートログイン出来るようになった。
User:pi,Password:raspberry と,使っているOSはRaspbian。

電源ONする前にMicroSDカードの/bootに,wpa_supplicant.confを作成しておけば,このAIY Projects appを使わなくてもいいと思う。AIY Projects appって,最初にアクセスポイントに接続するためだけの機能しかないから・・・

Page Top

画像が見れない anchor.png

組み立てた後,どうやって画像をみるんだろうと思った。上記のサイトではHDMIでディスプレーに接続するように書いてあるんで,おそらくHDMIでディスプレーに接続しないと画像が見れないんだと思う。

VNCを使ってみたが,デスクトップ画面は表示されても,カメラの画像は表示されなかった。

しょうがないんで,Raspberry Pi zero Wでmini-HDMIから出力される画像をキャプチャーして,それをストリーミング配信して,WEBブラウザで見ることにした。

uv4l-webrtc(uv4lにWebRTCを実装した)を使ってこれを実現してみる。

Page Top

まずAVI Vition Kitで自動起動しているデモプログラムを止める anchor.png

$ sudo systemctl stop joy_detection_demo.service

として,Joy Detection Demoプログラムを停止しておく。

ブート時でもこのデモプログラムの起動をやめる場合は,

# systemctl disable joy_detection_demo.service

とすれば,起動しなくなる。

ブート時に起動するようにするには,

# systemctl enable joy_detection_demo.service

とする。

Page Top

uv4l-webrtcをインストール anchor.png

# curl http://www.linux-projects.org/listing/uv4l_repo/lpkey.asc | sudo apt-key add -
# echo "deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/stretch stretch main" | tee -a /etc/apt/sources.list
# apt-get update
# apt-get install uv4l uv4l-raspicam uv4l-raspicam-extras uv4l-webrtc-armv6 uv4l-raspidisp uv4l-raspidisp-extras

このようにして,インストールした。

Page Top

テストしてみる anchor.png

PCでブラウザで,

 http://xxx.xxx.xxx.xxx:8080/stream/webrtc

としてみる。

緑色のCallボタンを押すと,カメラの画像が見れた。CPUが100%占有する。force use of hardware codecをマークするとだいぶスムーズになる。(55%ぐらい)

Local側は,WEBブラウザを実行しているPC側なんだけど,画像は表示されない。

Page Top

各種設定 anchor.png

/etc/uv4l/uv4l-raspicam.confファイルで,いろいろ設定できるようだ。

Page Top

Joy Detection Demoを実行してみる anchor.png

$ python3 ~/AIY-projects-python/src/examples/vision/joy/joy_detection_demo.py

で実行する。

http://xxx.xxx.xxx.xxx:8080/stream/webrtc

で見てみると,invalid video device!で見れない。

これは,既にJoy Detection Demoがカメラを使用しているので,v4l-webrtcはカメラに接続できないためだと思う。
解決するには,Joy Detection Demoを書き換えないと・・・

Page Top

HDMI出力をストリーミング anchor.png

Joy Detection Demoなどのデモプログラムは,HDMIに接続されたディスプレーに画像を表示する。

v4l-webrtcをインストールしたとき,v4l-raspidispもインストールしていて,これを使うとHDMI出力しているデータをキャプチャーして,他のuv4lデバイスのようにストリーミング出来るようになる。

しかし,Raspberry Pi zero Wのデフォルト設定だと,HDMIでディスプレーを接続してブートしないと,アナログのビデオ出力に画面が出力されてしまう。
HDMIのディスプレーを接続しないでも強制的にHDMIから画像が出力されるように,/boot/config.txtを修正する。

#hdmi_force_hotplug=1
 ↓
hdmi_force_hotplug=1

のようにコメントアウトする。それと画面モードを,

hdmi_group=2
hdmi_mode=85

のようにして,1280x720@60Hzにした。

これでHDMIから出力されるようになったんで,

$ python3 AIY-projects-python/src/examples/vision/face_detection_camera.py

として,デモの一つを動かしてみる。

この後,

http://xxx.xxx.xxx.xxx:9080/stream/webrtc

をWEBブラウザで見てみると,HDMI出力している画像が見れるようになった ;)

face_detection_cameraは,人の顔を検知すると四角い枠で囲んでハイライトしてくれるデモ。

とりあえずこれでHDMIのディスプレーが無くても,VPUで処理された画像が見れるようになった。


新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 834, today: 1, yesterday: 0
最終更新: 2020-12-26 (土) 16:07:58 (JST) (1210d) by yuji