yolo5(s) はターゲット検出を実装し、独自のデータセットをトレーニングします

必要なコードと認定ソフトウェアについては、次のようなブロガーのリソースを確認できます。

https://download.csdn.net/download/weixin_42715977/86538920 icon-default.png?t=N2N8https://download.csdn.net/download/weixin_42715977/86538920

1. Vott ソフトウェアを使用して独自のデータをマークし、Annotations フォルダーと JPEGImage フォルダーのみを voc 形式でファイルを取得します。

 2. yolov5データセットの作成

2.1 yolov5-master/data フォルダーの下に Annotations、ImageSets、JPEGImages の 3 つのフォルダーを作成します。

2.2 すべての画像を JPEGImages フォルダーに置き、Annotation 内の voc 形式のすべての xml ファイルを yolov5-master/data 下の Annotations に置きます。
2.3 ルート ディレクトリ (yolov5-master) で python make_txt.py を実行します。

 2.4 コードを実行した後、ImageSets、test.txt、train.txt、trainval.txt、val.txt の下にデータセット分類テキスト ファイルを生成します。

 2.5 ルート ディレクトリ (yolov5-master) の voc_label.py ファイルを変更し、7 行目のクラスをデータ セットのカテゴリに変更して、ルート ディレクトリ (yolov5-master) で python voc_label.py を実行します。

 2.6 voc_label.py を実行すると、voc 形式のラベル ファイル ラベルが生成され (データセットの特定のラベル データが表示されます)、データ フォルダーの下に train、val、test の txt ファイルが生成され、そのパスが保存されます。画像。

2.7 ここまでで、独自のデータセットの形式変換が完了し、最後のステップが必要になります。元のデータ/パスの下にある JPEGImgaes フォルダーの名前を画像に変更すると、この時点で次のステップに進むことができます。

 3. 設定ファイルを変更する

3.1 myvoc.yaml ファイルを変更します。yolov5-master/data で myvoc.yaml ファイルを見つけて開きます。

 train と val (voc_label.py によって生成された txt ファイル) のパスを変更します。絶対パスにするのが最善で、間違いを犯しにくいです。nc タイプ
の数を変更します。私は 1 つのタイプしか持っていません。したがって、それは 1 です。
タイプの名前を変更します。ここでは私が人です。保存するだけです。

3.2 model.yaml ファイルを変更します。yolov5-master/models パスに移動します。models の下に 5 つのモデルがあります。smnlx に必要なトレーニング時間は順番に増加します。通常は yolov5s.yaml ファイルを変更します。

ここで yolov5s.yaml を変更するには、nc のカテゴリの数を独自のカテゴリの数に変更するだけです。

4. トレーニングモデル train.py

コマンド ラインを開き、次のようにルート ディレクトリ (yolov5-master) で train.py を実行します。

python train.py --data data/myvoc.yaml --cfg models/yolov5s.yaml --weight models/yolov5s.pt --batch-size 32 --epoch 300

 --data は、作成した myvoc.yaml ファイル パスです。 
--cfg は、yolov5s モデルを呼び出すための yaml ファイル パスです。
--weights は、使用した事前トレーニング済みモデルの重み pt ファイル パスです。
--batch-size および --実際のニーズに応じてエポックをカスタマイズできます

トレーニングが正常に開始されました。 次の画像が表示された場合は、30 秒待つか、3 を選択してトレーニングを続行できます。

 5. テストモデル detect.py

コマンド ラインを開き、次のようにルート ディレクトリ (yolov5-master) で detect.py を実行します。

テスト画像

python detect.py --weights runs/train/person/weights/best.pt --source 1.jpg

--weights はトレーニングされた重みのパスです --source はテストする必要がある画像のパスです

テストビデオ

python detect.py --weights runs/train/person/weights/best.pt --source person.mp4

 --weights はトレーニングされた重みのパスです --source はテストする必要がある画像のパスです

--source 画像をテストする場合は img.jpg を書き込み、ビデオをテストする場合は vid.mp4 を書き込みます

トレーニング後、保存されたパスに移動してテスト結果を確認します

テスト結果は推奨されたパスに保存されます。表示する対応するパスを見つけてください。

おすすめ

転載: blog.csdn.net/weixin_42715977/article/details/129860661