Python+OpenVINOで動体検知に挑戦(人数カウント) Part2

Python AI

Part1の続きです。動作環境の確認などまだお済みでないかたはこちらをご参照ください。

必要なモジュールをインストール

こちらのコマンドでインストールします。

requirements.txtはダウンロードしたyas-simさんのフォルダ直下にあります。私の場合は「C:\sandambara\object-tracking-line-crossing-area-intrusion-master\requirements.txt”」なのでこのような感じです。

数分かかります。

モデルのダウンロード

ダウンロードするためのコマンドを調べました。

omz_downloader --list models.lst

models.lstはrequirements.txtと同じ場所にありますので、私の場合はこうなります。

omz_downloader --list C:\sandambara\object-tracking-line-crossing-area-intrusion-master\models.lst

ダウンロードされたものはこちらです。

ソースコードの調整

yas-simさんのソースコードを環境に合わせて調整します。といっても調整が必要なのは1-3か所だけです。

  • 233行目のコメントを解除
  • 235行目の640を745に変更
  • USB外付けカメラを使う場合は234行目および267行目をcap = cv2.VideoCapture(1)にする

1つめと3つ目はwebカメラを使うための設定です。カッコの中の数字ですが、本体内蔵カメラの場合はcap = cv2.VideoCapture(0)、USBカメラを使う場合はcap = cv2.VideoCapture(1)です。本体に2つカメラがあるモデルだと0と1が本体用の番号で、USB外付けカメラはcap = cv2.VideoCapture(2)となります。

2つ目はオリジナルコードのままだとウインドウX軸方向の表示領域が狭かったので変更しました。

ということで、本体内蔵カメラを利用する場合の調整箇所は1か所のみ。外付けカメラを利用する場合は3か所修正します。

調整が終わったら忘れずに保存しておきましょう。

いざ実行!

久しぶりにOpenVINOを使ってみて驚いたのは、予めsetupvars.batを実行させなくても良くなっていたことでした。これは環境変数を一時的にセットするもので、実行を忘れるとあれ?あれ??となりがちだったのです。忘れっぽい私にとっては有難いモディファイでした。

では、コマンドプロンプトを開いて実行してみます。今回の手順で環境を構築された場合は最初にカレントディレクトリをルートに変更します。これを忘れるとエラーまみれになりますから注意が必要です。

cd \

「python(半角スペース)」まで入力し.pyをコマンドプロンプトへドラッグアンドドロップすればこんな感じになるでしょうか。

C:\>python C:\sandambara\object-tracking-line-crossing-area-intrusion-master\object-detection-and-line-cross.py

祈りながらEnterキーを押下し、ドキドキしながら少し待つと・・・

じゃーん

今回のソースコードでは映像は左右テレコになるのですが、カメラの前を右に左に動いてみると4隅の数値が変わっていきます。こんなことを門外漢の私のような者が試せるなんて凄すぎます!

アイディア次第で色々使い道がありそうですね。皆さんも是非挑戦してみてください。

コメント