|
1: 2018-08-14 (火) 04:57:58 yuji |
| + | * AIY Vision Kit [#sb29797b] |
| + | AIY Vision Kitは,カメラを搭載したRaspberry Pi Zero Wに,Movidius社のMyriad2が実装されたBonnetボードが含まれていて,Tensor Flowでの画像処理を効率的に実行できるらしい。 |
| | | |
| + | Rasberry Pi Zero Wに接続されたカメラの信号は,パススルーされてBonnetボードに接続され,信号処理される。これで,非力なRaspberry Pi Zero Wでも複雑な画像処理が出来るようになっている。 |
| + | |
| + | 以前に購入していたんだけど,夏休みに行っている避暑地で組み立ててみた。組み立てた後,画像を見ようとしたが,うまく見れない。どうもHDMIでディスプレーに接続しないと画像が見れないみたいだ。VNCを使っても見れなかった。 |
| + | |
| + | ここにはHDMIディスプレーなんてないんで,Raspberry Pi zero Wでストリーミング配信して,WEBブラウザで見るようにしてみた。~ |
| + | uv4l-webrtc(uv4lにWebRTCを実装したextension)を使ってこれを実現してみる。 |
| + | |
| + | ** まずAVI Vition Kitで自動起動しているデモプログラムを止める [#z237f202] |
| + | $ sudo systemctl stop joy_detection_demo.service |
| + | として,Joy Detection Demoプログラムを停止しておく。 |
| + | |
| + | ** uv4l-webrtcをインストール [#n951b563] |
| + | $ 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" | sudo tee -a /etc/apt/sources.list |
| + | $ sudo apt-get update |
| + | $ sudo apt-get install uv4l uv4l-raspicam uv4l-raspicam-extras uv4l-webrtc-armv6 uv4l-raspidisp uv4l-raspidisp-extras |
| + | このようにして,インストールした。 |
| + | |
| + | ** テストしてみる [#v9cd48c1] |
| + | PCでブラウザで, |
| + | http://xxx.xxx.xxx.xxx:8080/stream/webrtc |
| + | としてみる。 |
| + | |
| + | 緑色のCallボタンを押すと,カメラの画像が見れた。CPUが100%占有する。''force use of hardware codec''をマークするとだいぶスムーズになる。(55%ぐらい) |
| + | |
| + | Local側は,WEBブラウザを実行しているPC側なんだけど,画像は表示されない。 |
| + | |
| + | ** 各種設定 [#ccf4743a] |
| + | ''/etc/uv4l/uv4l-raspicam.conf''ファイルで,いろいろ設定できるようだ。 |
| + | |
| + | ** Joy Detection Demoを実行してみる [#c64799ea] |
| + | $ 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を書き換えないと・・・ |
| + | |
| + | ** HDMI出力をストリーミング [#z8540a0f] |
| + | Joy Detection Demoなどのデモプログラムは,HDMIに接続されたディスプレーに画像を表示する。 |
| + | |
| + | v4l-webrtcをインストールしたとき,v4l-raspidispもインストールしていて,これを使うとHDMI出力しているデータをキャプチャーして,他のuv4lデバイスのようにストリーミング出来るようになる。~ |
| + | |
| + | しかし,Raspberry Pi zero Wのデフォルト設定だと,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で処理された画像が見れるようになった。 |
| + | |
| + | ** AIY Vition KITって [#fa60c688] |
| + | - Raspberry Pi zero W~ |
| + | - Vision Bonnetボード(VPU)~ |
| + | - カメラ・モジュール~ |
| + | - LED~ |
| + | - 照光スイッチ~ |
| + | - 段ボール筐体~ |
| + | - 書き込み済みMicroSDカード~ |
| + | - USBケーブル~ |
| + | |
| + | で10000円($100以下)程度で,TensorFlowを使用した画像処理を試してみることが出来て,ストリーミング転送出来ちゃうっていう安価なキットってことがわかりました。 |