自制作数据上的pva faster rcnn 训练

一:数据集制作,参考我的上一篇文章http://blog.csdn.net/qq_29133371/article/details/54408165

数据集制作完成后将这三个文件夹复制至一个文件夹(命名为VOC2007)当中,再移动至$pva-faster-rcnn/data/VOCdevkit2007中,替换原来的VOC2007

二:训练阶段

类别设置:(有几类设置几类,我的这里只标记了1类车辆数据)

1)打开文件/models/pvanet/example_train384/train.prototxt

搜索:num_classes,有两处均改为2(背景和car);

搜索cls_score层,将num_out:21改为2;

搜索bbox_pred层,将num_out:84改为8.

2)修改lib/datasets/pascal_voc.py

self._classes = ('__background__', # always index 0
                              'car')(只有这一类)

3)修改lib/datasets/imdb.py

 
数据整理,在一行代码为 
 boxes[:, 2] = widths[i] - oldx1 - 1 
下加入代码: 

 for b in range(len(boxes)):

      if boxes[b][2]< boxes[b][0]:

         boxes[b][0] = 0

4)修改完pascal_voc.py和imdb.py后进入lib/datasets目录下删除原来的pascal_voc.pyc和imdb.pyc文件,重新生成这两个文件,因为这两个文件是Python编译后的文件,系统会直接调用。

5)记得将dataset/cache文件删除掉,如果在训练自己数据集之前存在

完成!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 要训练自己的数据,需要进行以下步骤: 1. 准备数据集:将自己的数据集按照faster rcnn的格式进行标注,包括图片和对应的标注文件。 2. 配置训练环境:安装faster rcnn的依赖库和配置环境变量。 3. 修改配置文件:根据自己的数据集和需求,修改faster rcnn的配置文件,包括类别数、训练集和测试集路径等。 4. 开始训练:运行训练脚本,开始训练自己的数据集。 5. 测试模型:训练完成后,使用测试集对模型进行测试,评估模型的性能。 6. 调整模型:根据测试结果,对模型进行调整和优化,提高模型的性能。 7. 应用模型:将训练好的模型应用到实际场景中,进行目标检测和识别。 ### 回答2: Faster R-CNN是一种高效的目标检测算法,能够广泛应用于物体识别、视频监控等领域。在训练Faster R-CNN模型时,我们可以使用自己的数据集来提高模型的准确性和适用性。 首先,我们需要收集自己的数据。这包括采集图像、标注图像、标记每个对象的类别。图像采集可以使用相机,也可以下载网络上的数据。用标注工具对采集到的图像进行标注,标注的结果需要保存为XML或JSON格式。人工标注是一个繁琐的过程,效率较低,因此可以考虑使用自动标注工具,如LabelImg等。 其次,我们需要将收集来的数据按照一定的比例分成训练集、验证集和测试集。一般将训练集和验证集按照8:2的比例划分,测试集占总数据集的10%~20%。在训练过程中,训练集用于训练模型,验证集用于调整模型参数,测试集用于测试模型的泛化能力。 接下来,我们需要将数据集转换成Faster R-CNN模型可接受的格式。Faster R-CNN采用PASCAL VOC和COCO数据集格式,我们需要将自己的数据集转换成这两种格式之一。PASCAL VOC格式包括图像文件和每个对象的类别标签文件;COCO格式包括图像文件、对象的类别标签文件和每个对象的边界框坐标文件。可以使用Python脚本自动转换,也可以使用专门的转换工具。 最后,我们需要准备训练脚本,并选择合适的预训练模型,开始训练训练脚本一般使用Python语言编写,需要指定训练参数、数据集文件路径、预训练模型路径等。预训练模型可以选择在PASCAL VOC或COCO数据集上预训练过的模型,也可以自行训练训练过程需要GPU支持,训练时间根据数据集大小、GPU性能和训练参数的不同而有所差异。 总的来说,训练Faster R-CNN模型需要收集数据、标注、分割数据集、转换数据格式、编写训练脚本等一系列步骤。通过合理的调整训练参数和使用更多、更准确的数据,可以提高模型的准确性和泛化能力。 ### 回答3: Faster RCNN是一种广泛使用的目标检测算法,它基于深度学习技术,通过学习特定场景下的物体信息,能够实现对图像中目标的自动检测。而要训练自己的数据,需要以下步骤: 1. 数据集准备:首先需要准备自己的数据集,包括各类目标的样本图像和对应的标注信息。标注信息可采用多种格式,如Pascal VOC、COCO等,需要保证和Faster RCNN模型所接受的标注格式一致。 2. 安装相关工具:训练Faster RCNN需要使用Tensorflow等深度学习框架,还需要安装其他相关工具,如CUDA、cuDNN等。 3. 构建Faster RCNN训练环境:在安装相关工具后,需要构建Faster RCNN训练环境,包括配置环境变量、编译代码等。 4. 修改训练配置文件:为了适应自己的数据集,需要修改Faster RCNN训练配置文件,包括网络结构、训练超参数、数据增强等。这里需要根据实际情况进行调整。 5. 开始训练:配置好训练环境后,就可以开始训练了。使用训练集进行训练,调整参数以达到最好的效果。 6. 模型评估:训练完成后,需要使用验证集来评估训练得到的模型效果。可以使用mAP等评价指标来衡量训练结果。 7. 预测检测:训练好的模型可以用来进行预测检测,以实现检测图片中的目标对象。 通过以上步骤,就可以训练自己的数据集了。需要注意的是,训练过程中需要花费大量时间和计算资源,需要合理规划时间和硬件资源。另外,在数据标注和模型训练的过程中,需要注意数据质量和数量的充足性,否则训练得到的模型可能效果不佳。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值