深度學習Caffe實戰筆記(19)Windows平台 Faster-RCNN 製作自己的資料集

來源:互聯網
上載者:User

標籤:ext   lan   detail   com   shortcut   最大   user   load   canonical   

萬裡長征第一步,就是要製作自己的資料集,過程還是比較繁瑣的,特別是標註的過程,這篇部落格先介紹如果製作voc2007自己的資料集用於faster-rcnn訓練,下一篇部落格介紹如何用faster-rcnn訓練自己的資料。

1、準備映像
映像要用.jpg或者jpeg格式的,如果是png或者其它格式,自己轉換一下就好,映像名稱要用000001.jpg,只有和VOC2007資料集映像名稱一致,才能最大限度的減少後面訓練的麻煩,大家可以從網上下載一些批量重新命名工具,我是用MATLAB代碼實現轉換的,我把MATLAB代碼放在這裡,如果大家需要請自行修改路徑使用

%實現把映像重新命名為VOC2007資料集一樣的映像名%D1是原始映像存放的檔案夾,imwrite中的路徑是儲存的檔案夾%UPC Yongbiao Gao Heroin 蒲衣翁%csdn部落格地址:http://blog.csdn.net/gybheroinclcclearD1=dir(‘G:\Deep Feature extra\按年份資料\2011\2011test\*.jpg‘);for i=1:length(D1)    i    I=imread([‘G:\Deep Feature extra\按年份資料\2011\2011test\‘,D1(i).name]);    re=imresize(I,[600,400]);%注意,這裡我把映像歸一化大小了,可選    if(i<10)        imwrite(re,[‘G:\fasterrcnn\data\‘,[‘00000‘,num2str(i),‘.jpg‘]]);    end    if(10<=i&&i<100)        imwrite(re,[‘G:\fasterrcnn\data\‘,[‘0000‘,num2str(i),‘.jpg‘]]);    end    if(100<=i&&i<1000)         imwrite(re,[‘G:\fasterrcnn\data\‘,[‘000‘,num2str(i),‘.jpg‘]]);    end    if(1000<=i&&i<10000)        i        imwrite(re,[‘G:\fasterrcnn\data\‘,[‘00‘,num2str(i),‘.jpg‘]]);    end    if(10000<=i&&i<100000)        i        imwrite(re,[‘G:\fasterrcnn\data\‘,[‘0‘,num2str(i),‘.jpg‘]]);    endend

2、映像目標框標註
映像標註的工具網上應該有一些,但是博主喜歡自己動手豐衣足食,所以就用c#+emgucv自己寫了一個標註軟體,我把vs工程放在csdn資源上,想用我寫的軟體的同學請自行下載,代碼中映像路徑需要自己修改一下就行了:http://download.csdn.net/detail/gybheroin/9847647
映像標註軟體介面如下:(一個小時寫出來的東西,簡陋一些,但是功能是沒問題)

使用方法:在文字框中輸入類別標籤,滑鼠在映像中拖動實現矩形框,儲存按鈕儲存了標註的標籤,如果框選錯誤,就點擊取消按鈕,重新標註。
標註檔案格式如下,分別是映像名稱,類別名稱,目標框左上方和右下角座標:

000001.jpg person 118 48 273 572000002.jpg person 106 52 291 557000003.jpg person 119 49 289 554000004.jpg person 114 45 270 566000005.jpg person 96 35 328 564000006.jpg person 104 50 316 586

3、做成xml
做xml的代碼我是使用了別人的資源,如果不嫌棄麻煩,可以自己寫一個的,我參考的資源地址:http://download.csdn.net/detail/sinat_30071459/9531172

把映像放在一個檔案夾中,把標註好的檔案放在一個檔案夾中,能自動產生xml檔案,產生的xml檔案格式如下:

4、產生txt索引檔案
需要四個索引檔案,分別是trainval.txt,train.txt,val.txt,test.txt,分別存放訓練驗證集,訓練集,驗證集,測試集,VOC2007中,訓練驗證集佔50%,測試集佔50%,訓練集占訓練驗證集50%,驗證集占訓練驗證集50。但是我標註的資料集比較小一點,所以我把相應的比例做了修改,大家可以參考我寫的MATLAB代碼:

%實現產生VOC的訓練驗證測試四個文字檔,我這個是按照順序實現的,沒有打亂順序,如果需要請自行修改%trainval佔0.7,test佔0.3.train佔trainval的0.5,val佔trainval的0.5%這個地方是我自己設定的,標準的voc2007應該都是50%%UPC Yongbiao Gao Heroin 蒲衣翁  %csdn部落格地址:http://blog.csdn.net/gybheroinclccleartrain_val_percent=0.7;test_percent=0.3;D=dir(‘imgg/*.jpg‘);ftrainval=fopen(‘trainval.txt‘,‘w‘);  ftest=fopen(‘test.txt‘,‘w‘);  ftrain=fopen(‘train.txt‘,‘w‘);  fval=fopen(‘val.txt‘,‘w‘); for i=1:length(D)*train_val_percent    fprintf(ftrainval,‘%s\n‘,D(i).name(1:end-4));endfor i=length(D)*train_val_percent+1:length(D)    fprintf(ftest,‘%s\n‘,D(i).name(1:end-4));endfor i=1:length(D)*train_val_percent*0.6    fprintf(ftrain,‘%s\n‘,D(i).name(1:end-4));endfor i=length(D)*train_val_percent*0.6+1:length(D)*train_val_percent    fprintf(fval,‘%s\n‘,D(i).name(1:end-4));end

然後建立一個檔案夾ImageSets,再建立一個檔案夾Main,把四個檔案放進去。建立一個檔案夾minedataset,把ImageSets,Annotation(存放了所有的xml檔案)和JPEGImages(存放了所有訓練驗證測試映像)放進去,這樣資料準備算是完成。

深度學習Caffe實戰筆記(19)Windows平台 Faster-RCNN 製作自己的資料集

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.