网站公司打电话来说做网站,肇庆自助网站建设系统,多国语言网站建设,免费服务器ip本文是一个总结#xff0c;参考了网上的众多资料#xff0c;汇集而成#xff0c;以供自己后续参考。
一般说来#xff0c;训练自己的数据#xff0c;有两种方法#xff1a;第一种就是将自己的数据集完全改造成VOC2007的形式#xff0c;然后放到py-faster-rcnn/data 目录…本文是一个总结参考了网上的众多资料汇集而成以供自己后续参考。
一般说来训练自己的数据有两种方法第一种就是将自己的数据集完全改造成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中训练时assertboxes[:,2]boxes[:,0].all()的问题 我们对lib/datasets/imdb.pyappend_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-RCNNZF用自己的数据集训练模型(Python版本)
7. TrainingR CNNsofvariousvelocities 训练faster rcnn的官方文档1
8. 训练faster rcnn的官方文档2
9. Faster-RCNNZF用自己的数据集训练模型(Matlab版本)
10. Py-faster-rcnn实现自己的数据train和demo 很重要