カスタムデータでDetectron2を使うのならこちらが参考になるかも.
下記は,あくまでもDestectron2にある学習済みモデル(の重み)を利用した推論を行うための方法です(ちょっと学習のステップもあるかも).
detectron2(ディレクトリ構成の内容(位置づけ)はこちら)の物体検出系で学習させるデータは,基本的に,Cocoフォーマットか?
(なお,detectron2はpython3.7で動くことは確認しました.3.8だとエラーが出ました)
本研究室の場合,labelmeで作成したアノテーション情報が記載されたjsonファイルからCocoフォーマットへの変換がよくある流れ.
(デフォルトの変換ツールだと,バウンディングボックスの構造によってエラーが出たかも)
labelme/examples/instance_segmentation/labelme2coco.py

Mask R-CNN

demoフォルダにあるdemo.pyを使用する.
そしてModel Zooがいい。
設定ファイル(yaml形式)たちはconfigsにある。

Cityscapes (Mask R-CNN)

Faster R-CNN

動かしたいが,情報が少ない..
例えば,これ

Detectron2のModel Zooには多くの学習済みモデルがありますが、一般的な物体検出タスクにおいてよく使用されるモデルは、COCOデータセットでの性能が高いものが多いです。特にFaster R-CNNに関しては、ResNetやResNeXtをバックボーンとして使用したモデルがあります。

もし特別な要件(例: 推論速度の最適化、モデルサイズの制限など)がなければ、以下のモデルをおすすめします:

それでは、上記の手順にこのモデルを組み込んだ具体的な手順を示します。

1. **必要なライブラリのインストール**:

  - Detectron2をインストールします。
  - 必要な依存関係を確認して、関連するパッケージもインストールします。

2. **アノテーションデータの変換**:

  - Labelmeで作成したJSON形式のアノテーションデータを、Detectron2が読み込めるCOCO形式に変換します。

3. **データセットの登録**:

  - 上記で変換したCOCO形式のデータセットを、Detectron2の`DatasetCatalog`に登録します。

4. **学習済みモデルのダウンロード**:

  - Detectron2のModel Zooから、**Faster R-CNN with ResNeXt-101**の学習済みモデルをダウンロードします。

5. **設定の変更**:

  - Detectron2の設定 (`cfg`) をダウンロードしたモデルとカスタムデータセットに合わせて変更します。
  - データセットのパス、バッチサイズ、学習率などのパラメータを調整します。

6. **モデルのトレーニング**:

  - 上記の設定を使用して、モデルの転移学習を開始します。

7. **評価とテスト**:

  - 学習したモデルを使用して、検証データセットでのパフォーマンスを評価します。
  - 必要に応じて、テストデータセットでの予測結果を可視化します。

8. **モデルの保存**:

  - 転移学習を完了したモデルを保存します。

転移学習

転移学習:tools/train_net.pyを使えばいい(Imagenetでの学習済みモデルが使用可能)みたい.詳細は転移学習-cityscapes, cityscapesscripts, Mask R-CNN, Detectron2

評価

detectron2では物体検出において下記のような評価結果が出力される.ここでAPはAverage Precision.
COCOで定められている評価法を使用しているようです.

eval_s.jpg

AI Tips


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS