日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

faster rcnn在自己的数据集上训练

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 faster rcnn在自己的数据集上训练 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文是一個總結,參考了網上的眾多資料,匯集而成,以供自己后續參考。

一般說來,訓練自己的數據,有兩種方法:第一種就是將自己的數據集完全改造成VOC2007的形式,然后放到py-faster-rcnn/data 目錄下,然后相應地改變相應模型的參數,比如種類等。 data目錄下存放的數據如下:

VOCdevkit2007└── VOC2007├── Annotations│ └── *.xml│├── ImageSets│?? └── Main│ ├── train.txt│ └── test.txt└── JPEGImages└── *.jpg 這樣做最省事。


第二種,基本上也是改造成VOC2007的形式,然后放到py-faster-rcnn/data?目錄下,但是允許Annotations不按照xml的形式。可以是自己的形式

YOUR_DATASET_devkit└── data├── Annotations│ └── *.txt│├── ImageSets│ ├── train.txt│ └── test.txt└── JPEGImages└── *.jpg or *.png

關于第二種,可以參考如下文章:

1.?deboc/py-faster-rcnn? 這個代碼是py-faster rcnn的拷貝,實現了二分類模型。里面的data組織如下:

INRIA_Person_devkit/ |-- data/|-- Annotations/|-- *.txt (Annotation files)|-- Images/|-- *.png (Image files)|-- ImageSets/|-- train.txt 按照教程: https://github.com/deboc/py-faster-rcnn/blob/master/help/Readme.md?可以訓練行人檢測。

另外《Fast RCNN 訓練自己數據集 (2修改數據讀取接口)》?也實現了自己的數據讀取。


下面重點說一下第一種。

具體的細節可以參考:?http://blog.csdn.net/Gavin__Zhou/article/details/52052915

需要注意的是 根據文章<解決faster-rcnn中訓練時assert(boxes[:,2]>=boxes[:,0]).all()的問題>? ?我們對lib/datasets/imdb.py,append_flipped_images()函數修改如下:

def append_flipped_images(self):num_images = self.num_imageswidths = self._get_widths()for i in xrange(num_images):boxes = self.roidb[i]['boxes'].copy()oldx1 = boxes[:, 0].copy()oldx2 = boxes[:, 2].copy()boxes[:, 0] = widths[i] - oldx2 - 1boxes[:, 2] = widths[i] - oldx1 - 1for b in range(len(boxes)):if boxes[b][2]< boxes[b][0]:boxes[b][0] = 0assert (boxes[:, 2] >= boxes[:, 0]).all()entry = {'boxes' : boxes,'gt_overlaps' : self.roidb[i]['gt_overlaps'],'gt_classes' : self.roidb[i]['gt_classes'],'flipped' : True}self.roidb.append(entry)self._image_index = self._image_index * 2

我們說一說其他的,

  • 關于數據標注: ?強烈推薦工具:labelImg :https://github.com/tzutalin/labelImg?這是個圖形化界面操作,可以很方便地標注boundingbox,且生成xml格式。
  • VOC2007數據集地址:?https://pjreddie.com/projects/pascal-voc-dataset-mirror/
  • 圖片重命名像VOC2007那樣:?http://blog.csdn.net/sinat_30071459/article/details/50723212??
  • 根據XML文件生成test.txt(測試集),train.txt(訓練集),val.txt(驗證集),trainval.txt(訓練和驗證集),trainval大概是整個數據集的50%,test也大概是整個數據集的50%;train大概是trainval的50%,val大概是trainval的50%。將這四個txt放在ImageSets\Main中,參考:http://blog.csdn.net/sinat_30071459/article/details/50723212??
  • 另外你不想手動地更改那些參數,可以使用這個:https://github.com/Microos/py-faster-rcnn-data-interface-generator

其他參考文檔:

1.?使用Faster-Rcnn進行目標檢測(實踐篇)

2.?Faster rcnn 安裝、訓練、測試、調試

3.?matlab訓練樣本集的制作

4. ?制作自己的數據集用于faster-rcnn訓練

5.?將數據集做成VOC2007格式用于Faster-RCNN訓練? ?(很重要)

6. Faster-RCNN+ZF用自己的數據集訓練模型(Python版本)

7.?Training'R CNNs'of'various'velocities ? ?訓練faster rcnn的官方文檔1

8.?訓練faster rcnn的官方文檔2

9.?Faster-RCNN+ZF用自己的數據集訓練模型(Matlab版本)

10. Py-faster-rcnn實現自己的數據train和demo??(很重要)


















總結

以上是生活随笔為你收集整理的faster rcnn在自己的数据集上训练的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。