將自己數(shù)據(jù)集轉(zhuǎn)化成voc數(shù)據(jù)集格式并用mmdetection訓(xùn)練

一、準(zhǔn)備自己的數(shù)據(jù)

拿nwpu數(shù)據(jù)集來舉例囱桨,nwpu數(shù)據(jù)集文件夾中的內(nèi)容是:



images文件夾:存放數(shù)據(jù)圖片
labelTxt文件夾:存放標(biāo)注信息伴找,images文件夾中每張圖片都對應(yīng)一個txt文件存放在此文件夾中,圖片與標(biāo)注文件的名稱相同
test.txt和train.txt:記錄訓(xùn)練集和測試集中的圖片名稱

二但汞、轉(zhuǎn)換成voc格式數(shù)據(jù)集

轉(zhuǎn)換過程提供了兩個腳本以簡化操作宿刮,將create_dir.pycreat_annotations.py拷貝至希望存放voc數(shù)據(jù)集的目錄(VOCdevkit)下,之后:

1私蕾、創(chuàng)建目錄

在根目錄(.../VOCdevkit)下輸入命令行命令python create_dir.py
會創(chuàng)建出以下樣式的目錄結(jié)構(gòu):

└── VOCdevkit     #根目錄
    └── VOC2007   
        ├── Annotations        #存放xml文件僵缺,與JPEGImages中的圖片一一對應(yīng),解釋圖片的內(nèi)容等等
        ├── ImageSets          
        │   ├── Action
        │   ├── Layout
        │   ├── Main
        │   └── Segmentation
        ├── JPEGImages         #存放源圖片
        ├── SegmentationClass  #存放的是圖片踩叭,語義分割相關(guān)
        └── SegmentationObject #存放的是圖片磕潮,實(shí)例分割相關(guān)

2、拷貝圖片

將圖片全部拷貝至JPEGImages中
或者容贝,創(chuàng)建軟連接到JPEGImages
總之自脯,使得點(diǎn)擊JPEGImages文件夾后的內(nèi)容就是數(shù)據(jù)集的圖片

3、生成Annotations文件夾中xml文件

在根目錄(.../VOCdevkit)下輸入命令行命令$ python create_annotations.py
PS:需要先修改下文件內(nèi)容的四處(已在代碼行后標(biāo)注)

import os, sys
import glob
from PIL import Image

label_lists = []
img_lists = []
src_label_dir = '/mnt/B/nwpu/labelTxt/'                           ###指向自己數(shù)據(jù)集的labelTxt文件夾
src_img_dir = '/mnt/B/nwpu/images/'                              ###指向自己數(shù)據(jù)集的images文件夾
out_xml_dir = '/mnt/D/yuangan/datasets/nwpu/VOC2007/Annotations/'  ###指向voc數(shù)據(jù)集的Annotations文件夾



    # write in xml file
    # os.mknod(src_xml_dir + '/' + img + '.xml')
    xml_file = open((out_xml_dir + '/' + name + '.xml'), 'w')
    xml_file.write('<annotation>\n')
    xml_file.write('    <folder>VOC2007</folder>\n')
    xml_file.write('    <filename>' + str(name) + '.png' + '</filename>\n')    ###若準(zhǔn)備的圖片為jpg格式則將png替換為jpg
    xml_file.write('    <size>\n')
    xml_file.write('        <width>' + str(width) + '</width>\n')
    xml_file.write('        <height>' + str(height) + '</height>\n')
    xml_file.write('        <depth>3</depth>\n')
    xml_file.write('    </size>\n')
    xml_file.close()

for label_item in label_lists:

4斤富、確定voc數(shù)據(jù)集的訓(xùn)練集與測試集

將自己數(shù)據(jù)集中的test.txt和train.txt拷貝到/ImageSets/Main下膏潮,并將test.txt改名成testval.txt
至此,數(shù)據(jù)集格式轉(zhuǎn)化完成

二满力、用mmdetection訓(xùn)練faster_rcnn和ssd網(wǎng)絡(luò)

以下操作均在進(jìn)入mmdetection項(xiàng)目目錄(.../mmdetection)里完成

1焕参、修改配置文件

1.1、配置檢測類別

打開mmdet/datasets/voc.py



將紅框內(nèi)容修改成數(shù)據(jù)集中的類別

1.2油额、配置圖片格式

打開mmdet/datasets/xml_style.py



紅框內(nèi)容按照圖片是jpg格式還是png格式修改

2叠纷、訓(xùn)練方法

訓(xùn)練很簡單,利用官方給出的命令:
python tools/train.py ${CONFIG_FILE}
{CONFIG_FILE}文件存放在configs/pascal_voc中

比如用faster_rcnn網(wǎng)絡(luò)訓(xùn)練:
python tools/train.py configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py
用ssd訓(xùn)練:
python tools/train.py configs/pascal_voc/ssd512_voc.py

3潦嘶、更改訓(xùn)練好的模型的存放目錄

訓(xùn)練好的網(wǎng)絡(luò)存放地址默認(rèn)在mmdetection/work_dir涩嚣,若要指定存放目錄則在命令后加入--work_dir ${YOUR_WORK_DIR}
如:
python tools/train.py configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py --work_dir /home/jokery/project/mmdetection/work_dirs/dota_faster_rcnn/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市掂僵,隨后出現(xiàn)的幾起案子航厚,更是在濱河造成了極大的恐慌,老刑警劉巖看峻,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阶淘,死亡現(xiàn)場離奇詭異,居然都是意外死亡互妓,警方通過查閱死者的電腦和手機(jī)溪窒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冯勉,“玉大人澈蚌,你說我怎么就攤上這事∽普” “怎么了宛瞄?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長交胚。 經(jīng)常有香客問我份汗,道長盈电,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任杯活,我火速辦了婚禮匆帚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘旁钧。我一直安慰自己吸重,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布歪今。 她就那樣靜靜地躺著嚎幸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寄猩。 梳的紋絲不亂的頭發(fā)上嫉晶,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機(jī)與錄音田篇,去河邊找鬼车遂。 笑死,一個胖子當(dāng)著我的面吹牛斯辰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播坡疼,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼彬呻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了柄瑰?” 一聲冷哼從身側(cè)響起闸氮,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎教沾,沒想到半個月后蒲跨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡授翻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年或悲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堪唐。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡巡语,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出淮菠,到底是詐尸還是另有隱情男公,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布合陵,位于F島的核電站枢赔,受9級特大地震影響澄阳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜踏拜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一碎赢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧执隧,春花似錦揩抡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屋摔,卻和暖如春烁设,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钓试。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工装黑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弓熏。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓恋谭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親挽鞠。 傳聞我的和親對象是個殘疾皇子疚颊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354