4. 物体認識をテストする
最後に、学習させた物体認識を実行してみましょう。 物体認識のテストには、 AKARI内でpythonアプリを実行する方法 と web console上のJupyter Notebookを実行する方法 があります。
AKARI内のpythonでテストする
akari_yolo_inferenceのClone
git clone https://github.com/AkariGroup/akari_yolo_inference.git
(初回のみ) venvのセットアップ
cd akari_yolo_inference
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
(初回のみ) submoduleの更新
git submodule update --init --recursive
物体認識モデルの移動
3. モデル変換を行う でダウンロードしたzipファイルを展開し、中のOAK-Dの認識モデル(.blob)とラベル(.json)をそれぞれ下記ディレクトリ内に移動します。
物体認識の実行
akari_yolo_inference内に移動します。
cd akari_yolo_inference
venvを有効化していなければ下記を実行します。
source venv/bin/activate
下記を実行します。
python3 yolo.py -m <モデルファイルへのパス> -c <ラベルファイルへのパス>
例) my_detection.blob をmodelの中に、 my_detection.json をjsonの中に保存してある場合
python3 yolo.py -m model/my_detection.blob -c json/my_detection.json
カメラ出力のウインドウが立ち上がるので、学習させた物体を映してみて、正しく認識されるかをチェックします。
注釈
python3 yolo.py -f 20
空間物体認識の実行
同様に、空間内の3次元位置が推定可能な物体認識も使うことが出来ます。
akari_yolo_inference内に移動します。
cd akari_yolo_inference
venvを有効化していなければ下記を実行します。
source venv/bin/activate
下記を実行します。
python3 spatial_yolo.py -m <モデルファイルへのパス> -c <ラベルファイルへのパス>
例) my_detection.blob をmodelの中に、 my_detection.json をjsonの中に保存してある場合
python3 spatial_yolo.py -m model/my_detection.blob -c json/my_detection.json
カメラ出力のウインドウと、3次元位置の俯瞰マップが描画されます。学習させた物体を映すと、物体ラベルと3次元位置が表示され、俯瞰マップ上にも物体位置を表す点が表示されます。
注釈
トラッキング物体認識の実行
同様に、空間内の3次元位置推定に基づいて、検出した物体のトラッキングを行うアプリもあります。
akari_yolo_inference内に移動します。
cd akari_yolo_inference
venvを有効化していなければ下記を実行します。
source venv/bin/activate
下記を実行します。
python3 tracking_yolo.py -m <モデルファイルへのパス> -c <ラベルファイルへのパス>
例) my_detection.blob をmodelの中に、 my_detection.json をjsonの中に保存してある場合
python3 tracking_yolo.py -m model/my_detection.blob -c json/my_detection.json
カメラ出力のウインドウと、3次元位置の俯瞰マップが描画されます。学習させた物体を映すと、物体ラベルと3次元位置が表示され、俯瞰マップ上にも物体位置を表す点が表示されます。
注釈
注釈
webコンソール上でテストする
akari_yolo_inference_jupyterのClone
https://github.com/AkariGroup/akari_yolo_inference_jupyter.git
物体認識モデルのアップロード
3. モデル変換を行う でダウンロードしたzipファイルを展開しておきます。
AKARIチュートリアルを動かしてみよう を参考に、先程cloneした`akari_yolo_inference_jupyter`をJupyter Lab上で開きます。
開いたら、ページ左のFile Browserを開き、 model というディレクトリを開きます。File Browser上部の「Upload Files」ボタンを押し、先程展開したzipファイル内のOAK-Dの認識モデル(.blob)をアップロードします。
3.と同様に、File Browseから、 json というディレクトリを開き、「Upload Files」から、先程展開したzipファイル内のOAK-Dのラベルファイル(.json)をアップロードします。
物体認識の実行
akari_yolo_inference_jupyter の親ディレクトリに戻って main.ipynb をクリックして表示します。
main.ipynb内のコードの17行目の MODEL_PATH を先程アップロードした認識モデルのパス、18行目の CONFIG_PATH をアップロードしたラベルファイルのパスに書き換えます。
例) my_detection.blob をmodelの中に、 my_detection.json をjsonの中に保存してある場合
# ここのパスにmodel(.blob),config(.json)のパスを記載
MODEL_PATH = 'model/my_detection.blob'
CONFIG_PATH = 'json/my_detection.json'
コードを実行します。Notebook上にカメラ出力のウインドウが表示されるので、学習させた物体を映してみて、正しく認識されるかをチェックします。映像内の学習させた物体に枠がついて、正しいラベルが表示されたら成功です。
5. 公開モデルを使ってみる へ進む