Caltech数据读取接口

1. 引言

上一篇我们详述了如何将Caltech数据集转化成VOC格式的数据集,在使用之前,我们需要编写读取数据集的接口

2. 先上结果

下图是进行了50000次训练后,在测试集上进行训练的结果。我这个结果偏低,因为有person和people的区分在内部会导致一些测试出错。
这里写图片描述
下图是从网络上随意下载的一副图像,前面的那个那么明显的人都没有检测到!!!不明白为什么,难道是穿着问题?
这里写图片描述
虽然上述两图反映出检测的准确率不是很理想,但是说明整个训练流程没有问题,我们将在后面的过程对网络的参数进行优化。

3. 训练自己的数据集

假设这里我们已经按照前一篇文章,制作了数据集。以Caltech行人数据集为例,我们需要编写数据集的读取接口,并且修改训练脚本和配置文件等。

3.1 编写数据集的读取接口

1.修改lib/datasets/pascal_voc.py文件
复制一份pascal_voc文件,重命名为caltech.py,在这份文件上进行修改。
__init__(self,image_set,year,devkit_path=None)
该函数是数据集的构造函数,主要包含了该数据集的一些属性。
修改后:

#删除掉year,因为我们的数据集也没有什么年份
def __init__(self, image_set,devkit_path=None):   
        imdb.__init__(self, image_set)
        #image_set指的是train.txt或者是test.txt        
        self._image_set = image_set
        #这个路径是数据集的整个大路径,比如我们的项目是/home/user2/chen_guang_hao/PeDetect/smallcorgi/Faster-RCNN_TF-master/data/VOCdevkit2007,在这个路径下我放置了Caltech数据集
        self._devkit_path = devkit_path
        #参考前一句话
        self._data_path = os.path.join(self._devkit_path, 'Caltech')
        #注意,这里是修改位置,在这个位置需要修改类别
        #因为Caletch的标准中有person,people等好几种人,所以我就取了people和person两种类别,正常的话应该就是background和person
        self._classes = ('__background__','person','people')               
        self._class_to_ind = dict(zip(self.classes, xrange(self.num_classes)))
        self._image_ext = '.jpg'
        self._image_index = self._load_image_set_index()
        # Default to roidb handler
        #self._roidb_handler = self.selective_search_roidb
        self._roidb_handler = self.gt_roidb
        self._salt = str(uuid.uuid4())
        self._comp_id = 'comp4'

        # PASCAL specific config options
        self.config = {
  'cleanup'     : True,
                       'use_salt'    : True,
                       #这里use diff的值修改成true了,忘记为什么了
                       'use_diff'    : True,
                       'matlab_eval' : False,
                       'rpn_file'    : None,
                       'min_size'    : 2}

        assert os.path.exists(self._devkit_path), \
                'VOC
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值