【ACF学习】ACF训练检测模型

本文介绍使用ACF算法进行行人检测的训练过程,包括12万正样本和7千负样本的数据准备,以及acfTrain函数参数配置详情,如通道特征、窗口大小等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ACF在行人检测取得了不错的成绩,适合刚性目标或者准刚性目标的训练

1,数据量说明

本文准备了12W+正样本,以竖直手掌为主,有部分样本存在轻微的旋转

负样本7k+(不够,训练一级分类器就停止了,后面增加到2W+)

2,熟悉acfTrain

输入 opts=acfTrain returns all default options

opts = 
      pPyramid: [1x1 struct]
       filters: []
       modelDs: [100 41]
    modelDsPad: [128 64]
          pNms: [1x1 struct]
        stride: 4
       cascThr: -1
       cascCal: 0.0050
         nWeak: 128
        pBoost: [1x1 struct]
          seed: 0
          name: ''
      posGtDir: ''
     posImgDir: ''
     negImgDir: ''
     posWinDir: ''
     negWinDir: ''
       imreadf: @imread
       imreadp: {}
         pLoad: [1x1 struct]
          nPos: Inf
          nNeg: 5000
       nPerNeg: 25
       nAccNeg: 10000
       pJitter: {}
      winsSave: 0

在acfTrain的注释中说明参数的含义

1)pPyramid指定通道特征,详细查看chnsCompute.m and chnsPyramid.m。

通道可能被一系列filters的卷积,用于去除局部关联(查看NIPS14 on LDCF),用于提高精度但是降低速度
如果filters=[wFilter, nFilter],这些都是自动计算的
模型维度modelDs(默认为[100, 41])定义窗口的高度和宽度,padded维度modelDsPad(默认为[128, 64])确定围绕目标边缘拓展的维度,这样有利于分类。
例如对于100个像素高的行人,128像素高的区域用于决策
pNms控制极大值抑制(bbNms.m),stride控制窗口步长,cascThr和cascCal是constant soft cascades的阈值和标度
通常cascThr设置为-1,调整cascCal直到达到期望的召回率
训练在采样bootstrapping和分类Adaboost Classifier之间切换
nWeak决定训练级数和每级中tree的个数,例如nWeak=[32 128 512 2048]确定四级,最后一级有2048棵树
pBoost指定Adaboost的参数,pBoost.pTree是决策树的参数(参考adaBoostTrain.m)
seed是随机种子使得训练结果reproducible,name指定detector和log文件的路径


2)训练数据可以是多种形式的,正样本可以使用预先裁剪的窗口目录(posWinDir)或者整幅图像(posImgDir)+Groundtruth目录(posGtDir)

负样本可以使用预先裁剪的窗口目录(negWinDir)或者使用整幅并不包含任何正样本的图像目录(negImgDir)

如果没有指定negWinDir也没有指定negImgDir的话,负样本使用posImgDir中采集
对于预先裁剪的图像,尺寸最小为modelDsPad(默认为[128, 64]),目标位于裁剪图像中心不小于modelDs(默认为[100, 41])
imreadf用于指定加载图像的常规函数(默认为imread函数),imreadp为imreadf的额外参数
当从整幅图像采集时,pLoad指定groundtruth是如何被加载的,并且将正样本集合进行转换(查看bbGt>bbLoad)
nPos控制训练时总正样本(如果nPos=inf,正样本数量受限于训练集,默认nPos=inf)
nNeg控制总负样本数量(默认为5000),nPerNeg(默认为25)限制每个图像上采集的负样本数量,nAccNeg(默认10000)控制最大负样本总数,在bootstrapping过程中累计计数
pJitter用于扰动正样本,这样可以增加正样本数量(默认flip=1)
winsSave如果为true的话,裁剪的窗口以mat文件形式保存到disk中(默认为0)



评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值