日記メインのゲームブログです。

VIM3のNPU Demoを動かしてみる

昨日の今日でカメラ届いたので、接続してDemo動かしてみます。

OS08A10 8MP HDR Camera (khadas.com)

買ったカメラはこれです。
MIPI-CSI接続のカメラで、画素数は8メガピクセルです。
私が使っているスマホはGooglePixel5aなんですけど、これの背面カメラが12メガ、前面カメラが8メガです。
それと比べるとちょっと割高感ありますねぇ・・・

MIPI-CSIっていうのはカメラモジュールとボードをつなぐ通信規格なんですけど、最近主流?の規格なのでKhadas製以外にも選択肢は多いと思います。
2000円レベルのUSBカメラの場合、画素数が200万とか極端に低かったりするので、画質気にするならUSBカメラはやめたほうが良いのかもしれません。
同じ値段で800万画素のUSBカメラなんてあるんでしょうか・・・そう考えると割安?

動かすデモはこちらです。

NPU Prebuilt Demo Usage | Khadas Documentation

例によって今回も書いてあるコマンドを順番に実行するだけです。
まずはOpenCVのインストール。
次にcloneですが、その直前に「cd {workspace}」とあります。
これは作業ディレクトリを適当に作ってそこにcdしなさいよ、という意味でしょうか?
なんかworkspaceっていう名称の機能とか色々あるので、注釈無いとちょっと分かりづらいですね・・・
ともかく、Gセンサーのデモのときと同様にrootフォルダの中にnpu_demoフォルダを作成し、そこにcdします。

そしたらgit clone。
ファイルサイズ大きいので結構時間掛かります。
ちなみにセットアップの記事にも追記してあるのですが、IPアドレス固定するときにデフォルトゲートウェイの設定を間違えていたりするとgit cloneできないみたいです。
google.comにping飛ぶから問題ないかなと思っていました笑

成功したらこんな感じです。

ドキュメントのInception Modelを試してみます。
cloneしたaml_npu_demo_binaries/inceptionv3/VIM3/run.shを実行してみます。

こんなログが出力されました。
ふむ、わからん。
とりあえずシェルスクリプトの中身見てみます。

うーん、わからん。
inceptionv3が実行ファイルなのかな?
nbは知らん。
goldfish_299x299.jpgは金魚の画像でした。

inceptionv3フォルダの中にimagenet_slim_labels.txtというファイルがあるのですが、このファイルの中にgoldfishとかtiger sharkとかの名前がずらずらと記載されています。

配列の添字で考えると1行目のdummyが0、2行目のtenchが1、3行目のgoldfishが2です。
シェルスクリプトの実行結果のログの中に「—Top5—」というブロックがありますが、ここに記載のある「2: 0.937988」が「93%の確率で金魚です」ということなんだと思います。
つまり、学習済みのモデルを使い、食わせた画像に何が映っているのかを判定するdemoプログラムなんですね。
NPUを使うことで、判定にかかる時間が短くなる、っていうことなんだと思います。

ちなみに795はシャワーカーテンでした笑
まぁ0.3%なら・・・金魚柄のシャワーカーテンと答える人間も1000人中3人くらいはいるのかもしれません(

シェルスクリプトのgoldfishのところをdogに変えて実行してみます。
これもcloneしたファイルの中に含まれていた画像で、

こんな感じです。

これで実行すると、

70%の確率で208となりました。
自信なさげですねぇ笑
labelsの中身を見てみると208は、

ゴールデンレトリーバーです。
すげぇ、犬種だ・・・
犬は全く詳しくないので合ってるのかどうかイマイチよくわかりませんが、「ゴールデンレトリーバー 子犬」で検索すると似た見た目の犬の画像が出てきました。
209のラブラドールレトリーバーもフォルムはほぼ一緒な気がしますが、色が違うっぽいですね。
読み込ませたdog_299x299.jpgの画像は、検索して出てくる犬の画像に比べると茶色が強い感じがするので、意図的に判定し易い画像が用意されているのかもしれません。
まぁ人間が見てもこれは間違えるでしょうし、合格ですね。
成犬だと毛の長さが違うので、もっと判定し易そうです。

次はカメラを使うdemoを試そうと思います。
が、具合悪いので今回の記事は一旦終わります笑

昨日の記事で書いたのですが、コロナワクチンの副反応は3回目でもやっぱりひどかったです。
昨日の夜は具合悪すぎて3時間くらいしか眠れませんでした。
2回目のときは当時の夜と翌日の24時までずっと具合悪かったのですが、今回も似た感じになりそうです。
頭痛持ちなのでイブ(解熱鎮痛薬)を常備しているのですが、これ飲んだら結構楽になりました。
変な化学反応起きるのも怖いので当日は我慢していたんですけどね笑
今もイブの効果で大分マシなのですが、半日も経たずに効果切れちゃうんですよね。
なので薬効いてるうちにさっさと寝ます。