detectron2(ディレクトリ構成の位置づけはこちら)の物体検出系で学習させるデータは,基本的に,Cocoフォーマットか?
本研究室の場合,labelmeで作成したアノテーション情報が記載されたjsonファイルからCocoフォーマットへの変換がよくある流れ.
labelme/examples/instance_segmentation/labelme2coco.py
demoフォルダにあるdemo.pyを使用する.
そしてModel Zooがいい。
設定ファイル(yaml形式)たちはconfigsにある。
Cityscapes (Mask 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を使えばいいみたい.詳細は転移学習-cityscapes, cityscapesscripts, Mask R-CNN, Detectron2