mmdetection訓練自己資料集的配置詳情記錄

2021-09-25 10:48:18 字數 3849 閱讀 5525

檢測attention:

原始碼注釋發布於我的github(近期更新到最新版):

後面有些語法在csdn的markdown上不支援,導致顯示bug,我就懶得改了,有需求直接訪問原部落格檢視。

for version 0.6.0

訓練需要改動的配置為:

以一張的車分割為例。

檔案結構

如圖:

其中car.json是採用labelme標註出json檔案,然後轉化為coco格式的json

**修改

下面沒有修改dataset_type,因為car的類是coco中已經有的,直接拿來用就行。如果是完全自定義資料集,類別也不同,可以參考voc訓練教程設定類別。

# dataset settings

dataset_type =

'cocodataset'

data_root =

'/py/mmdetection-master/data/coco/'..

.data =

dict(.

..ann_file=data_root +

'annotations/car.json'

, img_prefix=data_root +

'train2014/',.

..val=

dict

(type

=dataset_type,

ann_file=data_root +

'annotations/car.json'

, img_prefix=data_root +

'val2014/',.

..test=

dict

(type

=dataset_type,

ann_file=data_root +

'annotations/car.json'

, img_prefix=data_root +

'val2014/',.

..# optimizer

optimizer =

dict

(type

='sgd'

, lr=

0.0025

, momentum=

0.9, weight_decay=

0.0001).

..checkpoint_config =

dict

(interval=50)

...total_epochs =

120.

..

執行結果

採用的是mask_rcnn_r101_fpn_1x.py

開始訓練:

檔案結構

mmdetection

├── mmdet

├── tools

├── configs

├── data

│ ├── vocdevkit

│ │ ├── voc2007

│ │ │ ├── annotations

│ │ │ ├── jpegimages

│ │ │ ├── main

│ │ │ │ ├── test.txt

│ │ │ │ ├── train.txt

為了簡單,這裡實際上我沒放test.txt.

檔案配置

from

.voc import vocdataset # 繼承自父類voc,用coco格式同理

from

.registry import datasets

@datasets.register_module

class

mydataset

(vocdataset)

:# 在這裡修改為自己的類別

classes =

('large-vehicle'

,'swimming-pool'

,'helicopter'

,'bridge'

,'plane'

,'ship'

,'soccer-ball-field'

,'basketball-court'

,'airport'

,'container-crane'

,'ground-track-field'

,'small-vehicle'

,'harbor'

,'baseball-diamond'

,'tennis-court'

,'roundabout'

,'storage-tank'

,'helipad'

)

(3)路徑包含:

mmdet/datasets/__init__.py中加兩處:

a.from .my_dataset import mydataset

b.在all中新增'mydataset'成員

**修改

# dataset settings

dataset_type =

'mydataset'

data_root =

'/py/r2cnn-tensorflow/data/vocdevkit/voc2007/'..

.data =

dict(.

..train=

dict

(type

=dataset_type,

ann_file=data_root +

'main/train.txt'

, img_prefix=data_root +'',

... val=

dict

(type

=dataset_type,

ann_file=data_root +

'main/train.txt'

, img_prefix=data_root +'',

... test=

dict

(type

=dataset_type,

ann_file=data_root +

'main/train.txt'

, img_prefix=data_root +'',

...# optimizer

optimizer =

dict

(type

='sgd'

, lr=

0.0025

, momentum=

0.9, weight_decay=

0.0001).

..checkpoint_config =

dict

(interval=2)

...total_epochs =

120000

對應位置的類別也要

新版mmdetection訓練自己的資料集

最好的情況是按照mmdetection的文件介紹,一步一步走。pytorch1.5沒有配置成功。pytorch1.3基本可以很順利的配置好,但是要注意的是cuda的版本問題。用labelimg或其他工具標註好的voc資料集,按照mmdetection中文件的介紹的格式放好就行。以上兩個步驟不是最主要...

用mmdetection訓練自己的資料集

接觸目標檢測也有半年時間了,看了一些,但是都是看得馬馬虎虎,這次先用mmdetection跑一下faster rcnn,後面徹底熟悉了,再分析它的執行過程。可能有人說先打牢基礎,看這看那,我認為還是得及時地和實際結合,如果有不對指出,請批評指正。mmdetection是商湯提出來的乙個框架吧,如果只...

mmdetection 訓練資料

修改數目類別 下面展示一些內聯 片。model dict roi head dict bbox head dict num classes 1 修改檢測類別名稱 修改檢測類別 注意 當目標類別為一類時需要檢測類別為列表形式不是元組將檢測檔案複製到虛擬環境中。若上述檔案發生變換需要重新執行,重新編譯。...