オリジナルデータでYOLACTを作って動かそう! Part.3 インスタンスセグメンテーションの実行

1.6K Views

April 27, 24

スライド概要

インスタンスセグメンテーションAIの「YOLACT」を自分で用意した画像でファインチューニングして使いたい方向けの資料です。
Part3では画像やWebカメラを使ってインスタンスセグメンテーションを実行する方法や面積の算出方法を紹介します。

profile-image

主にオープンソースを利用して、ディープラーニングやArduPilotの自律走行ロボットを開発しています。 バリバリ農学部出身ですが、異分野にも挑戦中。 これまで作った資料を順次公開しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

オリジナルデータで YOLACTを作って動かそう! Part.3 インスタンスセグメンテーションの実行 作成者:スプレッドナレッジ

2.

【Part.3 の内容】 0. 前回のおさらい 1. インスタンスセグメンテーションの実行方法 2. 検出結果の確認と面積の算出

3.

0. 前回のおさらい

4.

0-1 前回のおさらい

5.

0-2 YOLACTのプログラムの一部変更 ・インスタンスセグメンテーションの実行:eval.pyを実行する →検出物の面積を出力するため一部プログラムを書き加える home yolact

6.

・eval.pyの一部変更:160行目の次に以下のプログラムを追記する

7.

0-3 新しいディレクトリの作成 ・yolactディレクトリ内に「results」ディレクトリを新規に作成する →resultsディレクトリにインスタンスセグメンテーションの結果を出力する

8.

1. インスタンス セグメンテーションの 実行方法

9.

1-1 YOLACTのAIファイルの確認 ・ディープラーニング後:weightsディレクトリにYOLACTのファイル (.pth)が保存される home yolact weights

10.

1-1 YOLACTのAIファイルの確認 ・YOLACTのファイル名:configの名前と学習回数が関係している home yolact data weights

11.

1-2 テスト画像の用意 ・YOLACTに検出させるテスト画像を1つのディレクトリにまとめる →yolactディレクトリ内に「test_data」ディレクトリを作成 →test_dataディレクトリ内にテスト画像を保存したディレクトリを保存する home yolact test_data 名前は何でもよいが 本資料ではこの ディレクトリ名とする 〇〇

12.

1-3 インスタンスセグメンテーションの実行 ・端末に次の3つのコマンドを入力する ① conda activate yolact ② cd yolact ③ python eval.py yolactの仮想環境を起動 cdコマンドでyolactディレクトリへ移動 --trained_model=[YOLACTモデルの指定] --images=[テスト画像の指定]:[検出結果の保存先の指定] --score_threshold=0.15 --top_k=15

13.

【③のコマンドの記述例】 python eval.py --trained_model=weights/practice_434_10000.pth --images = test_data/practice_test:results/practice_results --score_threshold=0.15 --top_k = 15 YOLACTモデル yolact yolactディレクトリを 基準として見ると 分かりやすい weights test_data practice_434 _10000.pth practice_test テスト画像が保存されている ディレクトリ 検出結果の保存先 results practice_results

14.

resultsディレクトリに検出結果を記録した 「results.csv」というファイルが 自動生成される

15.

1-4 Webカメラを使う場合のeval.pyのコマンド python eval.py --trained_model=weights/practice_434_10000.pth --video_multiframe=4 --score_threshold=0.15 yolact --video=0 --top_k = 15 weights practice_434 _10000.pth 「--video=0」の0は、PC内 部のカメラの通し番号のこ と。もし0でエラーが出たら、 1、2、…と別の番号を試す。

16.

2. 検出結果の確認と 面積の算出

17.

2-1 検出結果の出力内容の確認 ・③のコマンドの「--images=」で指定したディレクトリに YOLACTの検出画像が出力される yolact results practice_ results results.csv

18.

2-2 results.csvの内容について ・resultsディレクトリに「results.csv」が自動生成される →YOLACTが検出した分類項目や面積が記述されている yolact results practice_ results results.csv

19.

【results.csvの横軸について】 ・image_name:テスト画像のファイル名 ・id:各テスト画像内でYOLACTが検出した対象物の通し番号 ・class:YOLACTが分類したクラスのクラス番号 ・score:検出信頼度 ・x1, y1, x2, y2:検出物の位置座標 ・area:検出した対象物の面積(単位:ピクセル)

20.

2-3 検出物の面積の算出 ①各画像の画像面積(ピクセル数=縦×横)を把握する ②画像ごとに「何が, 何個」検出されたか確認する 480ピクセル x 0 画像面積 (ピクセル) = 409,920 ピクセル (854×480) 854 ピクセル y

21.

③areaの値(検出物の面積)を合算する ④以下の式で対象物の面積割合を算出する Id:2 25246 ピクセル ③で算出した検出物の面積(ピクセル) 検出物の = 面積割合 ①で算出した画像面積(ピクセル) Id:1 42068 ピクセル 「cat_144.jpg」の catの面積 ≒ 0.16 = 42,068+25,246 409,920 cat_144.jpg