趣味工房 HIRO−Gのヘッダー
趣味工房 HIRO-G
トップ
復元CP/M
復元BASIC
復活レトロ
新テク・アラカルト
ラジコン
オーディオ
ロボット
番外編
< 「Hell AI World プロジェクト」体験 「物体検出」 >
前回は、画像に何が映っているか、そのカテゴリ(クラス)を推論するデモで
「物体認識」
の範囲のものでしたが、今回は更に進んで物体を認識しその位置まで推論する
「物体検出」
のデモを体験しました。
Jetson nanoの扱いが、そこそこ分かってきましたので、今回の
「物体検出」
については、
「Hell AI Worldプロジェクト」
のオブジェクト検出のガイド
「
DetectNetを使用したオブジェクトの検出
」
に従いながら、
「
Jetson nanoで組み込みAIを試す(4)
」
を参考に進めました。
< 静止画での実行例 >
先ず今回は、Python用のサンプルプログラムを使いi
megesディレクトリ
の猫の静止画
「cat_0.jpg」
の検出結果を
testディレクトリ
へ保存するテストをしてみました。
因みに検出モデルのデフォルトモデルは、MS COCOデータセットでトレーニングされた91クラスの
SSD-Mobilenet-v2
モデルです。
何れも、~/jetson-inference/build/aach64/binへカレントディレクトリを移動して次のコマンドラインを実行します。
$ ./detectnet.py images/cat_0.jpg images/test/output_cat_1.jpg
i
magesディレクトリ
下の
testディレクトリ
を確認すると
写真1
のように確かに
「output_cat_1.jpg」
が作成されており、その画像をクリックすると
写真2
のように検出結果の詳細が表示されました。
同様に
「peds_0.jpg」
についてテストした結果は、
写真1、写真3
の通りです。
$ ./detectnet.py images/peds_0.jpg images/test/output_peds_0.jpg
< カメラの準備 >
いよいよ次は、カメラを使ってリアルタイムに「物体認識」や「物体検出」を実施しするデモの体験に入りますが、カメラを使うデモは
「JetBot」
の製作への第一歩になると思います。
カメラは取りあえず、扱いやすいUSBカメラ(Logicool HQ720P)を使いたいので、「
Jetson nanoで組み込みAIを試す(4)」
を参考に、標準で組み込まれている
「Cheese」
を使うことにしました。
カメラをUSBへ接続
(写真4)
し、
写真5
のような手順で
「Cheese」
を選択しますとあっさりとUSBカメラを認識し、
写真6
のように動画が表示されました。
< Live Camera Recognition Demo >
リアルタイムの動画で
「物体認識」
を連続的に実施できるデモです。 同様に~/jetson-inference/build/aach64/binへカレントディレクトリを移動して次のコマンドラインを実行します。
$ ./imagenet-camera --camera=/dev/video0 --width=640 --height=480
デフォルトの画面は720P(1280×720)ですが、今回は画面を少し小さくして640(width)×480(height)としました。
写真7、写真8
は、手元にあるキーボードとマウスを認識させた結果です。 割とスムースに認識しました。
< Live Camera Detection Demo >
このデモは、
「物体認識
」のデモと同様に
アルタイムの動画で、目的の物がどこに在るかを検出する
「物体検出」
を、連続的に実施できるデモです。 同様に~/jetson-inference/build/aach64/binへカレントディレクトリを移動して次のコマンドラインを実行します。
$ ./detectnet-camera --camera=/dev/video0 --width=640 --height=480 --network=
*****
ここで
*****
の部分が「何を見つけるか」を指示する部分で、次の表の学習済みのDetection Model(検知モデル)から選択することになります。 指定しない場合はpednetが選択されます。
今回は次のコマンドラインのように
facenet
を選択して実行しました。
(写真9)
$ ./detectnet-camera --camera=/dev/video0 --width=640 --height=480 --network=
facenet
インターネットのニュース動画でテストしました結果、それなりに検出していますが、写真をとるタイミングが難しいので、静止画での検出結果を載せておきます。
写真10、写真11、写真12
です。
一応Jetson nanoが、どのようなものかが分かりましたので、今回で基本的なデモに関する体験を終了し、今後は、「JetBot」の製作に向けて、ハード面のテストを含めた作業を進めて行きたいと思います。
「JetBot」はキットを購入するのではなく、少しは個性的な物を作りたいと思っています。
一番、悩ましいのは台車をどうするかです。 模型のキャタピラを使う手はありますが、前にも「WiFi・カメラ付きリモコンカー」で製作したことがありますので、同じものを使ったり、作ったりしても面白くありません。 関係するパーツのテストをしながら考えようと思っています。
to AI No1-5
to 新テク・アラカルト
写真9 Live Camera Detection Demoのコマンドライン
写真10 outputファイルの画面
写真11 orange_output_0.jpgの詳細画面
写真12 orange_output_1.jpgの詳細画面の一部
< TREX450 SPORT >
SDXに続き墜落。
以下同文。
AI No1-6
「Hell AI World プロジェクト」体験 「物体検出」
2021年3月4日
写真1 testディレクトリに作成されたオブジェクト検出結果
写真2 「cat_0.jpg」の検出結果の詳細
写真3 「peds_0.jpg」の検出結果の詳細
写真4 USBカメラの追加
写真5 Cheaseの選択画面
写真6 動画の表示画面
写真7 キーボード認識中の動画の画面
写真8 マウス認識中の動画の画面
??