複数のデータソースによる人、車両、自転車の検出¶
このデモの目的は、複数のソース (カメラ、ビデオファイル) から OpenVINO モデルサーバーで提供されるモデルにデータを送信する方法を示すことです。
人、車両、自転車検出モデルの導入¶
モデルファイルをダウンロード¶
mkdir -p model/1
wget -P model/1 https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/person-vehicle-bike-detection-crossroad-0078/FP32/person-vehicle-bike-detection-crossroad-0078.bin
wget -P model/1 https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/person-vehicle-bike-detection-crossroad-0078/FP32/person-vehicle-bike-detection-crossroad-0078.xml
OpenVINO™ モデルサーバーの実行¶
docker run -d -v `pwd`/model:/models -p 9000:9000 openvino/model_server:latest --model_path /models --model_name person-vehicle-detection --port 9000 --shape auto
クライアント・アプリケーションを実行¶
git clone https://github.com/openvinotoolkit/model_server.git
cd model_server/demos/person_vehicle_bike_detection/python
pip3 install -r requirements.txt
python person_vehicle_bike_detection.py --help
引数¶
引数 |
説明 |
---|---|
-h、–help |
ヘルプを表示して終了します |
-n NETWORK_NAME、–network_name NETWORK_NAME |
ネットワーク名 |
-l INPUT_LAYER、–input_layer INPUT_LAYER |
入力レイヤー名 |
-o OUTPUT_LAYER、–output_layer OUTPUT_LAYER |
出力レイヤー名 |
-d FRAME_SIZE、–frame_size FRAME_SIZE |
使用するモデルに合わせてフレームの幅と高さを入力します |
-c NUM_CAMERAS、–num_cameras NUM_CAMERAS |
アクセスされるカメラの数 |
-f FILE、–file FILE |
ビデオファイルへのパス |
-i IP、–ip IP |
ovms の IP アドレス |
-p PORT、–port PORT |
ovms のポート |
ビデオファイルを使用する¶
サンプルのビデオファイルをコピーします。
git clone "https://github.com/intel-iot-devkit/sample-videos.git"
-c 0
でカメラ数を 0
に設定し、-f
パラメーターでビデオファイルへのパスを指定します。
python person_vehicle_bike_detection.py -n person-vehicle-detection -l data -o detection_out -d 1024 -c 0 -f sample-videos/person-bicycle-car-detection.mp4 -i localhost -p 9000
出力:
[$(levelname)s ] Video0 fps: 7, Inf fps: 7, dropped fps: 0
[$(levelname)s ] Video0 fps: 7, Inf fps: 7, dropped fps: 0
[$(levelname)s ] Video0 fps: 7, Inf fps: 7, dropped fps: 0
ビデオファイルとカメラを使用する¶
-c 1
でカメラ数を 1
に設定し、-f
パラメーターでビデオファイルへのパスを指定します。
python person_vehicle_bike_detection.py -n person-vehicle-detection -l data -o detection_out -d 1024 -c 1 -f sample-videos/person-bicycle-car-detection.mp4 -i localhost -p 9000
コンソールログ:
[$(levelname)s ] Video1 fps: 7, Inf fps: 7, dropped fps: 0
[$(levelname)s ] Camera0 fps: 7, Inf fps: 7, dropped fps: 0
[$(levelname)s ] Video1 fps: 7, Inf fps: 7, dropped fps: 0
[$(levelname)s ] Camera0 fps: 7, Inf fps: 7, dropped fps: 0
[$(levelname)s ] Video1 fps: 7, Inf fps: 7, dropped fps: 0
[$(levelname)s ] Camera0 fps: 8, Inf fps: 8, dropped fps: 0
注: 検出されたクラス名で描画されたビデオフレームと境界ボックスを示す GUI も表示されます。