发明名称 一种基于组合特征的行人检测方法
摘要 本发明一种基于组合特征的行人检测方法,将一定数量、尺寸相同的训练样本,该训练样本包括包含行人的正样本和随机截取一些不包含行人的背景的负样本;对所述的训练样本提取统计结构梯度特征,然后送入支持向量机中训练得到一个分类器,然后使用级联结构训练一个n层的级联分类器,得到一个离线的级联分类器作为最终的判别行人的分类器,通过该分类器去检测图像或视频中的行人,并将其标注出来;能准确描述行人且计算简单,能够很好地平衡检测精度与检测速度。
申请公布号 CN102842045B 申请公布日期 2016.08.10
申请号 CN201210275898.4 申请日期 2012.08.03
申请人 华侨大学 发明人 戴声奎;定志锋
分类号 G06K9/62(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 泉州市文华专利代理有限公司 35205 代理人 车世伟
主权项 一种基于组合特征的行人检测方法,其特征在于:分为训练过程和检测过程,先离线训练一个判别行人的级联分类器,然后通过该级联分类器去检测图像中是否有行人,如果判断有行人则将其标注出来;所述的训练过程具体包括如下步骤:步骤11、从包含行人的图像中截取大小为A*B包含行人的窗口作为正样本,n个正样本形成正训练样本集;随机截取大小为A*B不包含行人的窗口作为负样本,m个负样本形成初始负训练样本集,选取h张场景较复杂但不包含行人的图片作为负样本替换集的初始内容;步骤12、在提取正、负训练样本集中所有训练样本的统计结构梯度特征(SSGF)后,将正样本标签置为+1,负样本标签置为‑1,设置训练次数初始值t为0,统计结构梯度特征提取包括:步骤121、对训练样本(I)求取sobel梯度图像(G),并计算梯度图像(G)中的幅值G:其中sobel模板采用:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open = '' close = ''><mtable><mtr><mtd><mrow><mi>g</mi><mi>x</mi><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>2</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>2</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow></mtd><mtd><mrow><mi>g</mi><mi>y</mi><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mrow><mo>-</mo><mn>2</mn></mrow></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>2</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000772112320000011.GIF" wi="872" he="232" /></maths>则幅值<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>G</mi><mo>=</mo><munder><mstyle><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></mstyle><msub><mrow></mrow><mrow><mi>k</mi><mo>&Element;</mo><mi>c</mi><mi>h</mi><mi>a</mi><mi>n</mi><mi>n</mi><mi>e</mi><mi>l</mi><mrow><mo>(</mo><mi>I</mi><mo>)</mo></mrow></mrow></msub></munder><mrow><mo>(</mo><msub><mi>gx</mi><mi>k</mi></msub><mo>*</mo><msub><mi>gx</mi><mi>k</mi></msub><mo>+</mo><msub><mi>gy</mi><mi>k</mi></msub><mo>*</mo><msub><mi>gy</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000772112320000012.GIF" wi="899" he="105" /></maths>步骤122、为了实现人体边缘轮廓的连续性,对sobel梯度图像(G)求取LBPU结构图(SG);LBPU结构图计算公式:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>LBP</mi><mrow><mi>P</mi><mo>,</mo><mi>R</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>P</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>P</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>s</mi><mrow><mo>(</mo><msub><mi>g</mi><mi>p</mi></msub><mo>-</mo><msub><mi>g</mi><mi>c</mi></msub><mo>)</mo></mrow><msup><mn>2</mn><mi>p</mi></msup></mrow>]]></math><img file="FDA0000772112320000021.GIF" wi="520" he="147" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>s</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = '{' close = ''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>x</mi><mo>&GreaterEqual;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000772112320000022.GIF" wi="361" he="155" /></maths>其中P表示邻域像素的个数,g<sub>c</sub>表示中心像素的灰度值,g<sub>p</sub>表示中心相邻的像素灰度值,设置p=8,R=2;步骤123、沿人体边缘轮廓梯度方向,对sobel梯度图像(G)求取自然梯度图(NG):sobel梯度图像(G)中每一点都存在四个方向的梯度,分别为135°(①),90°(②)、45°(③)、0°(④),每个方向上存在一个标志位Flag,当且仅当同一方向上的三个像素强度按顺序排列时,将Flag=True,否则置为False;步骤124、按照步骤123的计算方法,sobel梯度图像(G)每一点可以表示为四个方向的梯度向量,将自然梯度图(NG)按四个方向分割开,分别计算四个方向的自然梯度积分图;步骤125、按照训练样本去除边界后的大小作为检测窗口的大小,对检测窗口进行分块处理,其中每一个块大小为16*20,包含4个cell,大小为8*10;以一个cell大小为步长、一个块大小的窗口在检测窗口中滑动,在每个块中搜集特征,统计一个块中LBPU的直方图,记做一个59维的块结构特征,然后统计对应块中每个cell的自然梯度累加和,每个cell为一个4维的向量,从左到右顺序连接4个cell,形成一个16维的自然梯度直方图,则一个块可以表示为一个75维的向量,按一个cell大小为步长滑动整个检测窗口后得到一个3750维的特征向量,从而融合结构特征与自然梯度特征形成统计结构梯度特征;步骤13、将所有正负训练样本的统计结构梯度特征和对应的样本标签送入支持向量机中进行训练,设定支持向量机的训练参数:C=0.01,核函数kernel(x<sub>1</sub>,x<sub>2</sub>)=x<sub>1</sub>*x<sub>2</sub>;依照训练次数t,分别得到t个分类器H<sub>t</sub>,然后将分类器H<sub>1</sub>、分类器H<sub>2</sub>、分类器H<sub>3</sub>、…、分类器H<sub>t</sub>排列组合成级联分类器,每级分类器的判定门限为θ;步骤14、检测窗口经过级联分类器逐级判断皆为有行人时,则接受该检测窗口,一旦其中一个分类器判断检测窗口内没有行人就拒绝该检测窗口;利用当前级联分类器在预置的负样本替换集中搜寻困难样本,所述的困难样本是指当前级联分类器将无行人的检测窗口判别为有行人时的负样本,终止条件如下:步骤141、经过步骤13后,若当前m个负样本中被当前级联分类器正确分类的m1个负样本将被丢弃,相应地搜寻m1个困难样本加入负训练样本集中;被当前级联分类器判断为正样本的将被保留下来作为困难样本进入下一轮训练,返回步骤13;当m个负样本全部成为困难样本时停止搜索,终止本轮训练;步骤142、对负样本替换集中每个替换样本构建一组5种尺度缩放因子为0.8的倍数的金字塔图像,然后让检测窗口在金字塔图像上扫描,使用当前级联分类器判断该检测窗口中是否含有行人,若判断存在行人,则执行步骤141,否则一直搜索到负样本替换集穷尽为止,然后终止本轮训练;步骤15、训练次数t=t+1,重复步骤13至步骤14,得到最终级联分类器;所述的检测过程具体包括如下步骤:步骤21、根据待检测图像构建金字塔图像,尺度缩放因子为0.8;步骤22、计算金字塔图像中的LBPU结构图和自然梯度图,以及结构特征积分图和梯度特征积分图;对统计结构梯度特征进行计算并与分类器的门限值进行比较,公式为:result=w<sup>T</sup>*f≥θ其中,w为分类器,f为特征向量,θ为分类器的判定门限;其中,统计结构梯度特征计算分为结构特征计算和自然梯度特征计算,即:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msup><mi>w</mi><mi>T</mi></msup><mo>*</mo><mi>f</mi><mo>=</mo><msup><mfenced open = '[' close = ']'><mtable><mtr><mtd><msup><mi>w</mi><mn>1</mn></msup></mtd><mtd><msup><mi>w</mi><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mfenced open = '[' close = ']'><mtable><mtr><mtd><msup><mi>f</mi><mn>1</mn></msup></mtd></mtr><mtr><mtd><msup><mi>f</mi><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>=</mo><msup><mrow><mo>(</mo><msup><mi>w</mi><mn>1</mn></msup><mo>)</mo></mrow><mi>T</mi></msup><mo>*</mo><msup><mi>f</mi><mn>1</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>w</mi><mn>2</mn></msup><mo>)</mo></mrow><mi>T</mi></msup><mo>*</mo><msup><mi>f</mi><mn>2</mn></msup></mrow>]]></math><img file="FDA0000772112320000041.GIF" wi="852" he="143" /></maths>其中,w<sup>1</sup>为结构特征分类器,w<sup>2</sup>为自然梯度特征分类器,f<sup>1</sup>为结构特征,f<sup>2</sup>为自然梯度特征;所述的结构特征积分图为:对于图像中任意一点(x<sub>0</sub>,y<sub>0</sub>)<maths num="0006" id="cmaths0006"><math><![CDATA[<mfenced open = '' close = ''><mtable><mtr><mtd><mrow><msup><mi>w</mi><mn>1</mn></msup><mo>*</mo><msup><mi>f</mi><mn>1</mn></msup><mo>=</mo><munderover><mstyle><mo>&Sigma;</mo></mstyle><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><munderover><mstyle><mo>&Sigma;</mo></mstyle><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>5</mn></munderover><msubsup><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mn>1</mn></msubsup><msubsup><mi>f</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mn>1</mn></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><munderover><mstyle><mo>&Sigma;</mo></mstyle><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><munderover><mstyle><mo>&Sigma;</mo></mstyle><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>5</mn></munderover><munderover><mstyle><mo>&Sigma;</mo></mstyle><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mo>*</mo><mi>h</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mstyle><mo>&Sigma;</mo></mstyle><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mo>*</mo><mi>w</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mn>1</mn></msubsup><mrow><mo>(</mo><mrow><mi>v</mi><mi>a</mi><mi>l</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>+</mo><mrow><mo>(</mo><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>*</mo><mi>h</mi><mo>+</mo><msub><mi>x</mi><mn>0</mn></msub><mo>,</mo><mi>y</mi><mo>+</mo><mrow><mo>(</mo><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>*</mo><mi>w</mi><mo>+</mo><msub><mi>y</mi><mn>0</mn></msub></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000772112320000042.GIF" wi="1731" he="354" /></maths>其中,val(x,y)为(x,y)点的LBPU值,w<sup>1</sup><sub>ij</sub>(val(x,y))为(x,y)点的权重,令:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>A</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>5</mn></munderover><msubsup><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mn>1</mn></msubsup><mo>(</mo><mi>v</mi><mi>a</mi><mi>l</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000772112320000051.GIF" wi="1227" he="211" /></maths>表示对应每个分块中对应(x,y)点的权重都累加到了A(x,y)上,将公式(4)中前后两个求和符号交换可以得到<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msup><mi>w</mi><mn>1</mn></msup><mo>*</mo><msup><mi>f</mi><mn>1</mn></msup><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>x</mi><mo>=</mo><msub><mi>x</mi><mn>0</mn></msub></mrow><mrow><msub><mi>x</mi><mn>0</mn></msub><mo>+</mo><mn>2</mn><mi>h</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>y</mi><mo>=</mo><msub><mi>y</mi><mn>0</mn></msub></mrow><mrow><msub><mi>y</mi><mn>0</mn></msub><mo>+</mo><mn>2</mn><mi>w</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>A</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000772112320000052.GIF" wi="787" he="210" /></maths>遍历一遍该图像形成一个整幅图像的结构特征积分图;所述的梯度特征积分图为:任意一点(x,y),可以用一个4维的向量表示<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mi>i</mi><mi>i</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><msup><mi>x</mi><mo>&prime;</mo></msup><mo>&le;</mo><mi>x</mi><mo>,</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>&le;</mo><mi>y</mi></mrow></munder><mi>i</mi><mrow><mo>(</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>,</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>,</mo><mi>i</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>i</mi><mo>&Element;</mo><mo>{</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>}</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000772112320000053.GIF" wi="1523" he="159" /></maths>因此可以通过式(6)构建一个4维的梯度特征积分图;步骤23、检测窗口在金字塔图像中滑动,通过训练好的级联分类器对检测窗口进行判断,如果该检测窗口中的计算值result大于等于当前分类器的判定门限θ,则判定为行人,记录此时图像的尺度和位置;步骤24、扫描完整个金字塔图像后,对判定为行人位置的检测窗口进行融合,最终用矩形框将行人在图像上标注出来。
地址 362000 福建省泉州市丰泽区城东华侨大学