1. 環境構築
1. Python 3.7環境を作成する
conda create -n obbdetection python=3.7 -y #虚拟环境命令
mkvirtualenv –p python3.7 name #virtualenv创建命令
2. torch1.6.0 cuda を 10.2 としてインストールします。
3. BboxToolkit をインストールします。
cd BboxToolkit
pip install -v -e . # or "python setup.py develop"
cd ..
4. mmcv=1.4.0をインストールします。
pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/index.html --no-cache-dir
5. OBB 検出をインストールする
pip install -r requirements/build.txt
pip install mmpycocotools
pip install -v -e . # or "python setup.py develop"
6. timm 0.6.5 をインストールします。
pip install timm==0.6.5
次に、変更する必要があるパラメータ
1. 呼び出された構成ファイルの下の事前トレーニングされたパスを、ダウンロードした事前トレーニングされた重みのパスに変更します。
2. 構成ファイルの下にある hrsc.py ファイルを変更します。① data_root のパスは、HRSC2016 データセットのパスです。②テスト用の imgset、ann_file、および img_prefix のトレーニングとパス
3. configs ファイルの下で呼び出されるschedule.py ファイルを変更し、必要に応じていくつかのパラメータを変更します。
4. configs ファイルの下で呼び出されるdefault_runtime.py ファイルを変更し、ニーズに応じたいくつかのパラメータ
3. 訓練された重量テストの視覚化
1.huge_image_demo.py
python demo/huge_image_demo.py demo/dota_demo.jpg configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_1x_ms_rr_dota10.py ckpt/faster_rcnn_orpn_r101_fpn_1x_mssplit_rr_dota10_epoch12.pth BboxToolkit/tools/split_configs/dota1_0/ss_test.json
2.image_demo.py
python demo/image_demo.py demo/dota_demo.jpg configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_1x_ms_rr_dota10.py ckpt/faster_rcnn_orpn_r101_fpn_1x_mssplit_rr_dota10_epoch12.pth
2 つのコマンドの違いは、py ファイルの違いです。2 では 1 よりも BboxToolkit が少なく、1 では BboxToolkit を使用して視覚化をバッチでテストします。
設定ファイルの違い
1.ms はマルチスケール画像セグメンテーションを意味し、rr はランダム回転を意味します。
rr: dict(type='RandomOBBRotate'、rotate_after_flip=True、
angle=(0, 90)、vert_rate=0.5、vert_cls=['roundabout', 'storage-tank'])、ミリ秒は分割データセット
に直接反映される必要がありますの上
4. トレーニングコマンド
1. トレーニング HRSC2016 データセット コマンド
python tools/train.py --work-dir work_dirs (作業ログと重みを保存するパス) に対応する hrsc データセットの構成ファイル
例:
python tools/train.py configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_3x_hrsc.py --work-dir work_dirs
使用できるパラメータの説明の一部: ①--gpus 使用する GPU の数 ②--gpu-ids 使用する GPU の ID。
2. トレーニング DOTA データセット コマンド
DOTA データセットは、BboxToolkit ツールキットを使用してデータセットを分割し、アノテーション ファイルの形式を変換する必要があります。HRSC2016 データセットとは異なり、直接トレーニングするのが簡単であるため、DOTA のトレーニング方法について追加の章が書かれていますデータセット。
5. テスト精度
1. HRSC2016 データセット VOC 07 および 12 の精度をテストする
テストコマンドは次のとおりです。
python tools/test.py configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_3x_hrsc.py work_dirs/HRSC2016_1/epoch_31.pth --eval mAP
考えられるパラメーターの説明: ①--pickle 形式の出力ファイル ②--データセットに依存する評価評価メトリック (例: bbox、segm、coco のプロポーザル、マップ、pascal voc のリコール) ③-show-dir描いた画像を保存するディレクトリ
2. DOTA データセットをテストする
DOTA データセットは、BboxToolkit ツールキットを使用してデータセットを分割し、アノテーション ファイルの形式を変換する必要があります。HRSC2016 データセットとは異なり、直接テストするのが簡単であるため、DOTA のテスト方法について追加の章が書かれていますデータセット。
6. 検証
python demo/image_demo.py demo/100001132.bmp configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py work_dirs/epoch_36.pth
トレーニング後の効果写真
遭遇した問題
1. pip install mmpycocotools mmpycocotools のインストール エラー: エラー: コマンド 'x86_64-linux-gnu-gcc' が終了ステータス 1 で失敗しました
解決策: Python のバージョンを確認し、独自のバージョンの Python devel をダウンロードします (例: python3.7.7)。 sudo apt-get インストール python3.7-dev