趣味工房 HIRO-G




   < 「Hell AI World プロジェクト」体験 「物体検出」 >


 前回は、画像に何が映っているか、そのカテゴリ(クラス)を推論するデモで「物体認識」の範囲のものでしたが、今回は更に進んで物体を認識しその位置まで推論する「物体検出」のデモを体験しました。
 Jetson nanoの扱いが、そこそこ分かってきましたので、今回の「物体検出」については、「Hell AI Worldプロジェクト」のオブジェクト検出のガイドDetectNetを使用したオブジェクトの検出に従いながら、Jetson nanoで組み込みAIを試す(4)を参考に進めました。


< 静止画での実行例 >
 先ず今回は、Python用のサンプルプログラムを使いimegesディレクトリの猫の静止画「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

imagesディレクトリ下の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 マウス認識中の動画の画面

??