ラジコン自動運転 DonkeyCarから。。
ずいぶん前に、妄想して。。Raspberry Pi+OpenCVあたりでできるかな?と。。
そして。。DonkeyCarなるものも試して。。
とか。。やってはみたものの。。
Jetson X1は10万円だったし、Raspberry PiでTensorflowでは画像が64×32ドットくらいまでしかできなくて。。 なんとも。。 レースできる感じじゃなかったんですが。。
Jetson Nano(GPU)は2万弱だし。。 GoogleはCoralシリーズのTPUを。。Intelは、Intel Movidius Myriad X Vision Processing Unit (VPU)+OpenVINOで。。 他にもいろんなの出してきていますね。
なんなら。。
JetRacerやJetBotあたりが、かなり安くなってきている。。
これJetson nano付きだもんなぁ~。。
アマゾンからは、DeepRacer
https://aws.amazon.com/jp/deepracer/
顔認識とかだけなら、M5StickVとかも候補に入ってくる。
なんと。。これは5000円以下!
性能比較1
これらのチップを比較してくれているサイトを発見
凄いですねぇ~ わずか 2年ちょっとくらいの間にこんなに発展。。
ラジコンレース用だと、たぶん、そろそろ使えそうな感じになってきてます。
Raspberry Pi + Coral USBなどと合わせた比較の記事も発見
https://qiita.com/rhene/items/efb79cae97cb545c0e8b
この記事からの転載ですが。。 480×360で30フレームくらいの画像を推論できるようです。
解像度 | Platform | 推論時間 (ms) | FrameIO (ms) | FPS | 備考 |
---|---|---|---|---|---|
640×480 | RaspberryPi3 + EdgeTPU | 94.4 | 27.48 | 7.16 | |
RaspberryPi4 + EdgeTPU | 15.0 | 18.96 | 19.54 | ||
– | DevBoard | 13.5 | 15.26 | 24.36 | |
– | JetsonNano + EdgeTPU | 15.0 | 8.53 | 29.89 | カメラの性能限界 |
480×360 | RaspberryPi3 + EdgeTPU | 53.5 | 12.34 | 12.57 | |
– | RaspberryPi4 + EdgeTPU | 8.0 | 4.24 | 29.98 | カメラの性能限界 |
– | DevBoard | 8.2 | 10.92 | 30.18 | カメラの性能限界 |
– | JetsonNano + EdgeTPU | 9.7 | 4.21 | 30.06 | カメラの性能限界 |
凄いですね。Jetson nano+Coral TPUがやはりいいのでしょうが。。Raspberry Pi4凄いんですね。
この方の、Qiita記事スゴイのいっぱいのってます。
https://qiita.com/rhene
性能比較2
こちらは、NCS2やCoralを何本も刺して高速化してます。
https://github.com/PINTO0309/MobileNet-SSD-RealSense
これまた凄い。
https://qiita.com/PINTO/items/62859125c5381690623c
DeepLearningの推論をそれぞれのStickに入れて、それらを同時にすることで、顔認識、人認識、線認識など別々のTPUで行って、その結果をCPU側で合成しているんですね。
お見事です。力業ですが。。すごい!!
https://qiita.com/PINTO
転移学習
上記は、推論だけなんですが。。 Donkey Carの学習は基本Tensorflowなんで。。学習の方は。。Google Colaboratoryが出来てきているので、それだけでも作ろうかな?? なんて。。思ってたら。。
ググったら。。出てきた(笑)
https://github.com/FaBoPlatform/DonkeyColab
いやぁ~本当に世の中スゴイ。。
妄想の続き
JetRacer系でいくのもいいし。。
https://github.com/NVIDIA-AI-IOT/jetracer
この場合、Jetson nanoとTPUだな。。
Donkeyだとすると、こんなキットも売ってる。。Raspberry 4b付き
このあたりのキットで、まずやってみてもいいかも。。
その場合、TPUでも、VPUでも良さそうですね。
VPU+OpenVINOでするより、TPUでそのままTensorflow liteを動かす方が楽かな?
おもしそうだなぁ~~
たぶん、2~3種類の推論を走らせて。。例えば、前方の車両を物体認識用、コースの認識用。それとコースの定常的な位置の推定用 くらいあれば、できそう。
上のリポジトリ類を見てたら。。なんとなくDeep learningのモデルは、以下のような感じなのかな??
MobileNet-SSD:前方の車両認識
Apache MXNet :コース認識(Donkey Carそのもの)
定常的なコース位置の推定は。。どんなモデルがいいんだろう??ラジコンだと俯瞰カメラでもいいのかな??
コメントを残していただけるとありがたいです