新着情報
YOLOv5による画像認識に関する備忘録(2): 転移学習 by Ubuntu 20.04 with GPU
YOLOV5のPYTORCH HUBから学習済みのmodelファイルyolov5s.ptをダウンロードし、画像内の対象物を検出して結果を表示、格納するサンプル・プログラムtesta.pyをFig.1.に示す。このプログラムでは転移学習をするパソコン内の画像データの格納ディレクトリを指定する必要がある。

Fig.1. 複数の画像を認識処理して表示、結果画像を格納するサンプルプログラム。
このtesta.pyをエディタで作成し、yolov5ディレクトリ内に配置するものとする。その後の、実行手順を具体的に以下に説明する。
(1) 自分のホームディレクトリにカレント・ディレクトリをを移動し、git clone https://github.com/ultralytics/yolov5のコマンドにより、自分のホーム・ディレクトリの下にgithubサイトノクローン・ディレクトリyolov5を作成し、リストコマンドにより、yolov5ディレクトリ内のファイルやディレクトリを表示させるまでの一連の端末での作業を以下のFig.2に示す。

Fig.2. カレント・ディレクトリをyolov5にして、端末(ターミナル)でディレクトリ内のファイルとディレクトリ一覧を表示。
(2) カレント・ディレクトリをyolov5にして、次のコマンドを入力してtesta.pyを実行する。
> python testa.py
Fig.3に端末上の実行表示結果を、またFig.4に7枚の画像の対象物領域検出結果(枠、ラベル、検出精度)を示す。

Fig.3. testa.pyの実行画面。画像内の対象物検出に要する画像1枚当たりの平均処理時間は0.7ミリ秒とGPU(cuda-11.4)v)と表示されている様に、高速検出処理が実行されている。また、7枚の画像内の各対象物のラベル、領域座標位置、検出精度などが出力されている。最後に検出対象全ラベルは80項目をリスト表示させた。

Fig.4. 7枚のの画像に対する、対象物の検出処理結果の表示である。各画像内の対象物毎にその枠領域+ラベル+認識精度が表示されている。
参考文献(1)はYOLOv5に関するPython プログラムのTutorial サイトであり、PyTorch Hubのホームページ画面の下方にある [YOLOv5 PyTorch Hub Turorial for details]をクリックすると、導かれるgithubサイト である。このサイトに記載されているSimple Example とDetailed Exampleのプログラムを参考にして、testa.pyを作成した。また、参考文献(2)はYOLOv5の内容を理解するのに有益だった日本語のサイトである。

Fig.5. PyTorch Hub のホームページ。
参考文献
(1) YOLOv5 PyTorch Hub Tutrial for details
https://github.com/ultralytics/yolov5/issues/36
(2) YOLOv5で物体検出 (PyTorch Hubからダウンロード):
https://kikaben.com/yolov5/starter