YOLO8 のカスタム データ トレーニングにウィンドウを使用する

YOLO8 のカスタム データ トレーニングにウィンドウを使用する

[YOLOv8]( ultralytics/ultralytics (github.com) のメインの Ultralytics/README.zh-CN.md )は、 Ultralytics によって開発されたYOLOターゲット検出および画像セグメンテーション モデルの最新バージョンです。以前のバージョンと比較して、YOLOv8 は識別できます。画像内のオブジェクトをより迅速かつ効率的に特定し、より正確に分類します。

1. 環境の準備

GPU トレーニングを使用することを強くお勧めします。Nvidiaグラフィックス カードが利用可能で、ATI などの他のグラフィックス カードを直接スキップできます。

私の環境は以下の通りです。

  • Windows 11
  • トーチ 1.7.1+cu110
  • トーチビジョン 0.8.2+cu110
  • Python 3.7.10

他の依存ライブラリは、requirements.txt ファイルに従ってインストールできます。

まず、ultralytics をインストールする必要があります。現在、YOLOv8 のコア コードは次の依存関係パッケージにカプセル化されています。

pip install ultralytics

1. テストを実行する

D:\仮想インストール環境 Venv\Lib\site-packages\ultralytics\yolo\v8\detect\predict.py を実行します。

結果がCPU推論かGPU推論かを確認する

画像-20230227110822830

CPUの場合は前回の記事【Windows11】CudaとCudnnの詳細インストールチュートリアル_Jinをご覧ください。

Nvidiaグラフィックス カードが利用可能で、ATI などの他のグラフィックス カードを直接スキップできます。

インストール後、自分の cuda がサポートするバージョンに従って PyTorch をインストールし、+cu コマンドを選択します

PyTorch リンクを入力してください

私のインストールコマンドは次のとおりです。

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

1. データの準備

1. 独自のデータセットを構築する

このプロセスをそれほど苦痛で時間のかかるものにしないために、Roboflow をツールとして使用できます (ただし、科学的にオンラインにする必要があります)。

Roboflow Web サイトにログインし、アカウントを作成することから始めます。

データのラベル付けとエクスポートに成功したので、ここで 2 つの Roboflow チュートリアルをご覧ください。

次のように、YOLOv8 によってエクスポートされたデータ セットを選択します。

「pycharm」で自作データセット内の「data.yaml」を開き、ファイル内のパスを変更します。ここでは、相対パスには多くの問題があり、多くのエラーが報告されるため、絶対パスに直接変更しました。特に中国語のパスが表示されないように注意してください(聞かないでください、見逃すだけです)

2. トレーニングを開始する

変更が保存されたら、yolo環境のターミナルに入力します。

yolo task=detect mode=train model=yolov8n.pt data=flyerdata/data.yaml epochs=100 imgsz=640 workers=4 batch=4

同時に、「data=」接尾辞を独自のデータセットのパスに変更し、Enter キーを押してトレーニングを開始します。トレーニングが完了すると、結果は最後の行で示されたパスに保存されます。

上記のパラメータは次のように説明されます。

task: タスクのタイプを選択します。オプション ['detect'、'segment'、'classify'、'init']

mode: タスクをトレーニング、検証、または予測するかどうかを選択します。 Lakey オプション ['train', 'val', 'predict']

モデル: yolov8 の異なるモデル構成ファイルを選択します (オプションで yolov8s.yaml、yolov8m.yaml、yolov8l.yaml、yolov8x.yaml)。

data: 生成されたデータセット構成ファイルを選択します

エポック: トレーニング プロセス中にデータ セット全体が反復される回数を指します。グラフィック カードが動作していない場合は、値を小さく調整できます。
バッチ: 重みが更新される前に一度に表示される画像の数。勾配降下法を使用したミニバッチ。グラフィックス カードが良好でない場合は、値を小さく調整できます。
トレーニングのプロセスは次のとおりです。

3. 検証データセット

トレーニングが完了すると、独自のモデル、最適なモデルの重量、および最終的なモデルの重量が得られます。

独自のデータ セット パスに従って、次の検証済みデータ パスを変更します。

yolo task=detect mode=val model=runs/detect/train5/weights/best.pt data=flyerdata/data.yaml

4. 新しいデータでテストする

次に、データセットのトレーニング結果モデルの場所に応じて、次のコードを変更します。「ソース」は、新しい画像フォルダーの場所を指します。フォルダーはウェアハウスのメイン パスに配置されているため、直接アクセスできます。 「source=images」に変更して、予測を開始します。

yolo detect mode=predict model=runs/detect/train33/weights/best.pt source=images

画像は .../runs/detect/predict フォルダーに保存されます

機密データのため、しばらく写真は掲載しません。

おすすめ

転載: blog.csdn.net/Jin1Yang/article/details/129243590