acfDetect检测流程

    这周主要是看程序,通过上一周论文的阅读,对程序有了更深的理解。其次,我觉得熟悉作者的编程习惯也很重要。由于训练部分的程序运行不了,所以从检测部分入手。

    主程序为acfDemoInria.m。在检测部分bbs=acfDetect(I,detector)为主要语句,bbs的输出是4个左边组成的边框位置信息和1个score数。

1,看acfDetect函数,函数分为两部分(run detector on every image和 write results to   disk if fileName specified )。 主要的检测过程在第一部分的acfDetectImg函数,函数中作者首先提取了detector中的信息。detector.opts是相关参数的名称和信息。detector.clf是通过adaboost训练得到的数据信息。detector.info是特征通道信息(现在包涵了3个通道特征:color channels、gradient histogram、gradient magnitude)。

2,然后就要对待检测图片经行特征的提取了,主要语句为P =chnsPyramid(I,pPyramid)。这是开始要构造特征金字塔了。在chnsPyramid函数中,首先对图片进行颜色的转换为后面的特征提取做铺垫。在程序中规定金字塔有19层,每一层都是原图像的缩减抽样,作者选取了其中的1、9、17来计算特征,称之为real scales另外的16层,都用作者的逼近算法来近似计算,论文中证明说,这样既可以很大程度的提高计算速度,又能保证一定的准确性。接下来就是金字塔的组合,数据的平滑等处理。

3,接下来介绍关于real scales的特征提取介绍,这是我现在最为关注的。主要语句为chns=chnsCompute(I1,pChns)。在chnsCompute函数中,先经行colorchannels特征的提取,图片由3种颜色组成,所以每个像素点有3个颜色特征,也就是等到了m*n*3的数据;gradientmagnitude特征的提取,每个像素点只有1个特征,得到m*n*1的数据;gradientmagnitude特征的提取,这个梯度直方图设定为6个bin,所以每个像素点有6个特征,得到m*n*6的数据。在得到这些数据后,作者直接把这些数据合并,产生了m*n*10的最终数据。

     总之,产生的特征金字塔最后有19层,每层缩减抽样图片的每个像素点都有10个特征。然后利用这些特征与detector进行检测。


查看程序的流程为

acfDemoInria.m-> acfDetect.m -> chnsPyramid.m ->chnsCompute.m

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值