Faster RCNN 训练自己的数据集遇到的一些问题

1. xml标签格式问题

原本的标签是yaml格式的,需要转换成xml格式。

在制作xml标签时,有些信息是比较重要的不能省略

<?xml version="1.0" encoding="utf-8"?>
<annotation>
	<folder>VOC2007</folder>
	<filename>00200000141.jpg</filename>
	<size>     #图片的大小
		<width>480</width>
		<height>640</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>   #标签是否分割
	<object>
		<name>hand</name>      #目标的名称
		<pose>Unspecified</pose>   #目标的姿态
		<truncated>0</truncated>   #是否被遮挡>15%
		<difficult>0</difficult>   #是否为难识别的物体,主要指要结体背景才能判断出类别的物体,一般忽略
		<bndbox>   #物体在图像中的位置
			<xmin>64</xmin>
			<ymin>279</ymin>
			<xmax>201</xmax>
			<ymax>397</ymax>
		</bndbox>
	</object>
</annotation>

2. 出现rpn_loss_box=NAN的问题

遇到过好多次这个问题,最后发现都是标签有问题,因此在出现NAN的地方,对应着trainval.txt去查找。看看是哪个标签出了问题,快速检查的方法是:删除对应的标签,重新训练,看看在原来的地方还会不会有问题,如果没有那就一定是标签出现了问题。再对标签进行修改!

3. 训练之前需要安装的一些包

pip install pyyaml
pip install cython
pip install opencv-python
pip install easydict==1.6
pip install matplotlib
pip install Pillow
pip install scipy

4. 按照https://github.com/endernewton/tf-faster-rcnn的命令进行训练,最后出现FileNotFoundError的错误

这是因为没有创建对应路径的文件夹的原因,在提示的路径下以此创建对应文件夹即可:

      tf-faster-rcnn/data/VOCdevkit2007/results/VOC2007/Main/

5. 按照https://github.com/endernewton/tf-faster-rcnn的命令进行训练,最后出现TypeError的错误:

          pickle.dump(recs, f)

             write() argument must be str, not bytes

找到对应的位置:

改为二进制方式打开:

with open(cachefile, 'wb+') as f:
      pickle.dump(recs, f)

参考:https://blog.csdn.net/oMoDao1/article/details/83146740

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值