基于轮廓的车型识别方法

文档序号:6520545阅读:278来源:国知局
专利名称:基于轮廓的车型识别方法
技术领域
本发明属于图像处理、模式识别技术领域,主要涉及对车辆目标图像的特征提取与形状识别。
背景技术
自动目标识别ATR(Automatic Target Recognition)的研究是随着图像处理、模式识别、人工智能等学科的进步逐步发展起来的。它的基本功用是利用从传感器来的数据源自动地对目标进行探测、分类和识别。目标分类和识别是对找出的运动区域的目标进行分类并确定其型号。总体而言,ATR是一种模仿人脑完成探测和识别目标过程的系统。
自动目标识别ATR系统可以采用多种传感器数据源,基于图像的目标识别方法是一种重要而且非常适用的技术。自动图像目标识别系统中包括预处理、目标检测与分割、目标特征提取、分类与识别、跟踪等部分。其中,特征提取和目标识别是决定系统性能的关键环节。图像目标识别特征的提取可采用多种方法,如傅立叶描述子、矩特征、变换域特征(小波变换、Gabor变换等)、边缘轮廓特征等等。
其中傅立叶描述子是通过逐点扫描目标图像的边界,并从设定点开始记录各边界点的坐标位置。对坐标序列进行傅立叶变换,将得到的复系数称为边界的傅立叶描述子。但这种方法利用的目标信息很少,只是提取了基于目标图像外边界的特征,而且它对噪声比较敏感,所以识别效果较差。详见文献冈萨雷斯,《数字图像处理》,电子工业出版社,2003;TimothyP.Wallace and Paul A.Wintz,An Efficient Three-Demensional Aircraft RecognitionAlgorithm Using Normalized Fourier Descriptors,Computer Graphics And ImageProcessing,13,99-126。
变换域特征是通过不同尺度和系数的窗函数把目标图像映射到变换域中,再提取有用的识别特征。常用的变换方法有傅立叶变换、Hough变换、小波变换、Gabor变换等等。这些方法在各种特殊应用中能得到理想的图像信息,但其缺点是运算量较大,且物理意义不明确。详见文献万峰杜明辉,人脸识别中一种新的Gabor特征提取方法,华南理工大学学报(自然科学版),2004年08期间;周国民陈勇,人脸识别中应用小波变换的两个关键问题,浙江大学学报,2005年01期。
提取特征之后就需要对目标进行识别,识别就是将待测试的目标样本归入已知的模式类别。目前常用的识别方法有近邻法、神经网络、模糊识别方法等等。其中模糊识别方法需要准确的模糊模型、隶属度函数等前提条件。神经网络方法能够有效地解决很多非线性问题,但它有很多重要的问题尚没有彻底的理论解决,比如网络节点数、初始权值和学习步长的确定,局部极小点等,所以在实际应用中仍存在一定的问题。详见文献边肇祺 张学工,模式识别,清华大学出版社,2000。

发明内容
本发明提出了一种新的基于轮廓的车辆目标识别特征提取方法,它包含了全局形状信息、局部统计信息和方向信息的复合识别特征的提取,并且提出一种双阈值近邻识别方法及其快速算法,在快速识别算法中采用了C-均值动态聚类与哈夫曼二叉树原理相结合的方法,提出一种优化匹配顺序的二叉搜索树,从而大大提高了识别效率和速度。
为了方便描述本发明地内容,在此作一些术语定义1.边缘轮廓观察场景中亮度或其他性质变化较快的部分通常是场景中不同物体之间的相交处,即边缘。边缘的检测常借助空域微分算子进行,通过模板与图像卷积来完成。
2.训练样本在分类问题中,已知一些样本及它们的归类,各类的决策函数由属于该类的样本的模式特征来表征,这样的样本称为训练样本。
3.车辆目标图像F的三个区域目标真实区域1,目标外围区域2和背景区域3。目标真实区域1和目标外围区域2称为运动目标区域。区域的划分是根据车辆目标分割过程中得到的运动区域和外截区域所确定的。
4.Canny边缘检测算子一种比较新的边缘检测算子,具有很好的边缘检测性能。Canny算子利用高斯函数的一阶微分,能在噪声抑制和边缘检测结果之间取得较好的平衡。
具体执行步骤如下1)用高斯滤波器对图像滤波,取出图像中的噪声。
2)用高斯算子的一阶微分对图像进行滤波,得到每个象素梯度的大小|G|和方向θ|G|=[(∂f∂x)2+(∂f∂y)2]1/2]]>θ=tan-1[∂f∂y/∂f∂x]]]>f为滤波后的图像。
3)梯度的方向可以定义为属于4个区之一,左右为1区,左下、右上为2区,上下为3区,左上、右下为4区。各个区用不同的邻近象素用来进行比较,以决定局部极大值。
4)对梯度取两个阈值T1和T2,T1=0.4*T2。把梯度值小于T1的象素值的灰度设为0,得到图像1。把梯度值小于T2的象素的灰度设为0,得到图像2。然后以图像2为基础,以图像1为补充来连接图像的边缘。
将以上执行过程表达为函数canny(),如果原图像为I,则边缘检测的结果E表示为E=canny(I)。
Canny算子的原理可详见文献杨枝灵,王开,《Visual C++数字图像获取、处理及实践应用》,人民邮电出版社,2003。
5.Sobel算子一种常用的边缘检测方法,通过将模板与图像进行卷积来实现边缘提取。
Sobel算子有两个模板,一个是检测垂直边缘的Sx,另一个是检测水平边缘的Sy。
Sx=-101-202-101,]]>Sy=121000-1-21]]>Sobel算子详见文献冈萨雷斯,《数字图像处理》,电子工业出版社,2003。
6.矩特征一幅M×N大小的图像I(x,y),其p+q阶矩定义为mpq=Σx=0M-1Σy=0N-1xpyqI(x,y)]]>7.中心矩一幅M×N大小的图像I(x,y),其p+q阶中心矩定义为μpq=Σx=0M-1Σy=0N-1(x-m10m00)p(y-m01m00)qI(x,y)]]>8.特征向量一般地把原始数据组成的空间叫测量空间,把分类识别赖以进行的空间叫着特征空间,通过变换把测量空间中高维的时间空间模式信息转化为较低维的特征空间中的模式,从而由特征空间中各维模式组成特征向量。
9.判别函数对于c类分类问题,按照决策规则可以把d维特征空间分成c个决策域,将划分决策域的边界面称为决策面,在数学上用解析形式可以表示成决策面方程。用于表达决策规则的函数称为判别函数。
10.最近邻法假设有C个类别w1w2…wc的模式识别问题,每个类有标明类别的样本Ni(i=1,2...c)个。对于未知类别的待测样本x,规定wi类的判别函数为gi(x)=mink||x-xik||,k=1,2...Ni,]]>其中xik表示wi类的第k个样本。
如果gj(x)=minigi(x),i=1,2...c]]>则判别为x∈wj。
11.K近邻法假设有C个类别w1w2…wc的模式识别问题,一共有N个已知类别的训练样本,其中来自类别w1w2…wc的样本数分别为N1N2…Nc,即N=N1+N2+...+Nc。对于未知类别的待测样本x,找出与x距离最近的K个近邻样本。若K1,K2...Kc分别是K个近邻中属于w1w2…wc类的样本数,则可以定义判别函数为gi(x)=Ki,i=1,2...c。
如果gj(x)=miniKi,i=1,2...c]]>则判别为x∈wj。
12.二叉搜索树用二叉树的形式来表达分类间的距离关系,并以此确定未知样本与各类中训练样本的匹配顺序(搜索顺序)。搜索树由叶子节点和中间节点组成,每个叶子节点代表一个子分类,且子分类由该子分类中训练样本的特征向量均值表征。将距离最近的两个节点合并为一个新的节点(父节点),并用两个子节点的特征均值表征父节点,再用新节点与其他节点一起按此规则自下而上逐级合并,最后归结到一个根节点。对未知样本的识别是一个逆过程,从根节点开始搜索与未知样本距离最近的节点,并结合近邻判别法,最终找到未知样本所属的分类。
一种基于轮廓的车辆目标识别算法,其特征包括如下执行步骤假定所识别的车辆类型有c种,每种类型分别标记为w1,w2Kwc(wi可以是如吉普、面包或者其他任何一种车型)。
步骤1,车辆目标的分割及训练样本的选择首先,通过三帧法或时空法对视频序列进行处理,从视频序列中分割出每帧的车辆目标图像,表示为F,图像F中的象素表示为F(x,y)(0<x<M,0<y<N),其中M是F的宽度,N是F的高度,如图2所示。车辆目标的分割过程详见文献Haitao Jia and Mei Xie,″AUTOMATIC MOVING TARGET DETECTING BY A NOVEL VIDEO SEGMENTATION ALGORITHM″,SPIEConference of Defense and Security Symposium 2005,Proc.SPIE Int.Soc.Opt.Eng.5817,312(2005);Haitao Jia and Mei Xie,″MOVING OBJECT DETECTION BY A NOVELSPATIO-TEMPORAL SEGMENTATION″,SPIE Conference of Defense and Security Symposium 2005Proc.SPIE Int.Soc.Opt.Eng.5807,435(2005)。
其次,从分割出的车辆目标图像中为每种车型选择训练样本图像,选择的原则是作为训练样本的目标图像应该包括视频中车辆目标出现的所有角度和姿态信息。设为车型wi选择了Ni个训练样本{xi1,xi2K xijK xiNi},其中,xij表示车型wi中的第j个训练样本,并且i={1,2K c},则一共选择了N个训练样本,N=ΣiNi.]]>步骤2,车辆目标的轮廓提取首先,在步骤1分割得到的车辆目标图像F中,将运动目标区域(包括目标真实区域1和目标外围区域2)的象素均值赋予黑色背景区域3中的每一个象素,得到均值填充后的车辆目标图像F,如图3所示。步骤如下运动目标区域的象素灰度均值graymean=mean(F(x,y)),象素(x,y)∈(A∪B);然后用灰度均值graymean替换F中黑色背景区域3中象素点的灰度值F(x,y)=meangray,象素(x,y)∈C;得到均值填充后的车辆目标图像F,其象素表示为F(x,y)(0<x<M,0<y<N),如图4所示。
其次,用Canny算子对均值填充后的车辆目标图像F中每个训练样本进行边缘检测将Canny算子边缘检测的过程表达为函数canny(),则车辆目标图像F每个训练样本经边缘检测得到的整体轮廓结果为Ec=canny(F),其宽度为M,高度为N,其中的象素表示Ec(x,y)(0<x<M,0<y<N),如图5所示。
步骤3,计算纵向和横向的轮廓分布用Sobel算子中垂直边缘检测模板的Sx和水平边缘检测模板的Sy将车辆目标的整体轮廓结果Ec(x,y)分解为纵向和横向的轮廓分布。
用Sobel算子的垂直边缘检测模板Sx与Ec卷积,得到车辆轮廓的纵向分布值Ev=|Ec*Sx|;用水平边缘检测模板Sy与Ec卷积,得到车辆轮廓的横向分布值Eh=|Ec*Sy|;如图6(1)、(2)所示为车辆目标轮廓的纵横分布信息。
步骤4,车辆目标识别特征的提取(1)车辆目标全局形状矩特征的提取根据步骤2得到的车辆目标每个训练样本整体轮廓图像Ec(x,y)(0<x<M,0<y<N),首先求出车辆目标每个训练样本的整体轮廓图像Ec(x,y)的长宽比特征f1=M/N;车辆目标每个训练样本整体轮廓图像Ec(x,y)的p+q阶矩定义为
μpq=Σx=0M-1Σy=0N-1(x-x-)p(y-y-)qEc(x,y)]]>x-=Σx=0M-1Σy=0N-1xEc(x,y)Σx=0M-1Σy=0N-1Ec(x,y),y-=Σx=0M-1Σy=0N-1yEc(x,y)Σx=0M-1Σy=0N-1Ec(x,y)]]>其中,μ20为图像在水平方向上的伸展度,μ02为图像在垂直方向上的伸展度;μ11为图像的倾斜度;μ30为图像在水平方向上的重心偏移度,μ03为图像在垂直方向上的重心偏移度;μ21为图像水平伸展的均衡程度,μ12为图像垂直伸展的均衡程度。
由以上二阶矩(p+q=2)或三阶矩(p+q=3),得到全局轮廓图像的各种形状矩特征(详见文献张宏林,《Visual C++数字图像模式识别技术及工程实践》,人民邮电出版社,2003。)轮廓长宽度f2=(μ20-μ02μ20+μ02+1)/2]]>轮廓拉长度f3=λ1-λ2λ1+λ2]]>λ1=(μ20+μ02)+(μ20-μ02)2+4μ2112]]>λ2=(μ20+μ02)-(μ20-μ02)2+4μ2112]]>轮廓伸展度f4=(μ20+μ02)/m00size]]>m00=Σx=0M-1Σy=0N-1Ec(x,y),size=M*N]]>三阶矩分解为正和为负两部分,μpq=μ+pq+μ-pq(p+q=3),通过三阶矩提取的特征如下水平偏移度f5=(μ+30-μ-30μ+30+μ-30+1)/2]]>垂直偏移度f6=(μ+03-μ-03μ+03+μ-03+1)/2]]>
水平伸展均衡度f7=(μ+21-μ-21μ+21+μ-21+1)/2]]>垂直伸展均衡度f8=(μ+12-μ-12μ+12+μ-12+1)/2]]>(2)车辆目标局部统计特征对于M*N大小的车辆目标图像,其纵向轮廓分布图Ev(x,y)和横向轮廓分布图Eh(x,y)的尺寸大小同样是M*N;首先,将Ev(x,y)和Eh(x,y)分别平均划分为K*K个区域块(一般K取3或4),如图7所示。然后,分别统计每个区域块中边缘轮廓点所占轮廓点总量的比例,并以此构建纵向和横向的比例值矩阵Rv和Rh;。
Rv(i,j)=Σx=i*Nx(i+1)Nx-1Σy=j*Ny(j+1)Ny-1Ev(x,y)Σx=0N*Nx-1Σy=0N*Ny-1Ev(x,y)i,j={0,1...K-1}NxMKNy=NK]]>Rh(i,j)=Σx=i*Nx(i+1)Nx-1Σy=j*Ny(j+1)Ny-1Eh(x,y)Σx=0N*Nx-1Σy=0N*Ny-1Eh(x,y)i,j={0,1...K-1}Nx=MKNy=NK]]>(3)车辆目标复合特征向量的建立及识别特征库的建立将以上计算所得的比例值矩阵Rv和Rh中的元素按行排列起来,与(1)中所得的8个全局形状矩特征值f1f2…f8串接起来构成用于识别目标的特征向量V,V=[Rv(0,0),Rv(0,1)...Rv(0,K-1),Rv(1,0)...Rv(K-1,K-1),Rh(0,0)...Rh(K-1,K-1),f1,f2...f8]建立一个识别特征库,用于存放车辆训练样本的特征向量。首先将车型w1中N1个训练样本的特征向量V存放到识别特征库,再依次将车型w2,w3K wc中所有训练样本的识别特征向量V存放到识别特征库中。
步骤5,用双阈值近邻识别算法识别车辆目标(1)车辆目标训练样本间的距离定义对于所选择的N个车辆训练样本{x1x2K xN},每个样本提取的识别特征都是长度为K的向量,表示为xi=[xi1xi2KxiK](i=1...N)]]>
在此定义一个振幅向量,用来表示各维特征值的变化范围swing=[s1s2K sK],其中Sj=maxi(xij)-mini(xij),i={1,2KN},j={1,2KK}]]>则样本特征向量xi和xj问的距离定义为(xi,xj)=Σk=1K|xik-xjk|Sk]]>(2)双阈值近邻识别方法对于识别系统处理的c个车辆类型w1,w2K wc,wi代表不同的车型(比如吉普、面包或者其他)。第i个车型wi有Ni个训练样本{xi1,xi2K xijK xiNi},其中,xij表示第wi类的第j个训练样本,并且i={1,2K c},ΣiNi=N.]]>现有未知待测样本x,要将其归入其中一类。
首先设置阈值T1和T2,且T1<T2。其中,T1=(0.06~0.08)*K,T2=(0.13~0.15)*K,K为特征向量长度。
然后,计算未知待测样本x与各训练样本类间的最短距离d(x,wi)=minj(d(x,xij)),j=1,2KNi,i=1,2Λc]]>如果d(x,wl)=mini(d(x,wi))]]>且d(x,wl)<T1,则判决x∈wl;否则,统计各类中与未知待测样本x的距离在T1和T2之间的样本数 满足条件的样本总数Num=Σi=1cNumi,]]>并设置比例λ=(0.6~0.7)。
如果Numl=maxi(Numi)]]>且Numl>Num*λ,则判决x∈wl;否则拒绝识别。
步骤6,双阈值近邻法的快速算法设有N个车辆训练样本X={x1x2K xN),每个样本的特征向量xi=[xi1xi2KxiK].]]>(1)初始划分子类1>计算训练样本特征向量的均值向量mean=[mean1mean2K meanK],meank=1NΣi=1Nxik,k=1,2...K.]]>
2>计算用来表示各维特征向量值的变化范围的振幅向量s=[s1s2K sK],其中Sj=maxi(xij)-mini(xij),i={1,2KN},j={1,2KK}.]]>3>计算各训练样本特征向量与均值之间的距离,d(xi,mean)=Σk=1K|xik-meank|/sk,i={1,2KN}]]>4>先将所有训练样本作为一个类W,子类数量Nw=1。遍历所有的训练样本,找出与均值距离最近的样本xnear和最远的样本xfar,将它们作为新的子类W1和W2代表点。
遍历其他训练样本,根据与代表点的距离将样本归入子类W1或W2。即,如果d(xi,xnear)<d(xi,xfar),则将样本xi归入子类W1;否则,将样本xi归入子类W2。
5>找出当前已有分类中样本最多的子类Wk,其样本数为Nk。计算该子类的均值,meank=1NkΣi=1Nkxj,xj∈Wk]]>遍历Wk中所有样本,找出与均值meank距离最近的样本xnear和距离最远的样本xfar。子类数量增1,Nw=Nw+1,并新增子类WNw和Wk′。将xnear作为子类Wk′的代表点,xfar,作为子类WNw的代表点。重新遍历Wk中的样本,根据它们与代表点xnear和xfar间的距离进行归类。
如果J(xj,xnear)<d(xj,xfar),则将样本xj归入子类Wk′;否则,将样本xj归入子类WNk+1。
遍历完成后,用Wk′赋值Wk,Wk=Wk′,并删去子类Wk′。
6>如果当前分类数Nw已经达到预先指定的大小R(R可取值为接近 的整数),则停止分类,否则返回步骤5>。
初始分类的过程如图8所示。
(2)调整子类划分1>经过步骤(1),训练样本被初始划分为R个子类W1W2…WR。分别统计各子类中的训练样本个数,记为N1N2…NR。
2>计算各子类Wi(i=1,2...R)的特征向量均值meani=1NiΣj=1Nixij,i={1,2KR}]]>用meani表示前一次向量均值,用meani′表示当前向量均值。
3>以计算所得的均值特征向量作为各子类的代表点,用最近邻法重新调整子类。遍历所有样本点xj,j={1,2K N}如果d(xj,meanl)=mini(d(xj,meani)),]]>则将xj归入W1。
4>重新统计各子类中的训练样本个数,记为N1′N2′…NR′。再次计算各个新分类的特征向量均值,meani=meani′,meani′=1Ni′Σj=1N′ixij,i={1,2KR}]]>如果Σi=1R|meani-meani′|>0,]]>则返回步骤2>,否则结束循环。
子类划分调整后的结果如图9所示。
(3)建立二叉搜索树1>将(2)中生成的子类Wi(i=1,2...R)定义为一个节点Si(i=1,2...R),节点集S={S1,S2K SR}。
2>计算两两分类间的距离,d(Si,Sj)=Σk=1K|meanik-meanjk|sk,]]>i≠j,i(j)={1,2K R}3>按照哈夫曼编码的原理,找出距离最近的两个子类Sm和Sn,使得d(Sm,Sn)=mini,jd(Si,Sj),]]>i≠j,i(j)={1,2K R}以Sm和Sn为左右子节点,生成一个新节点Smn,其特征向量定义为Sm和Sn的均值特征向量的均值meanmn=meanm+meann2.]]>从节点集S中删去Sm和Sn,将Smn归入节点集S。
4>如果S中不止一个节点,则计算节点Smn与其他节点间的距离,返回到3>。否则,二叉搜索树建立完毕,结束循环。
构建的二叉搜索树形如图10所示。
(4)在识别过程中,从树根节点开始遍历二叉搜索树。原则是,比较未知待测样本x的特征向量与当前节点的左右子节点的特征向量间的距离,距离小则先遍历。用前述的双阈值近邻法判别当前叶子节点所对应的样本分类中的训练样本,直到判别出未知样本的类别,或者拒绝识别为止。


图1,识别系统执行步骤图2,已分割的车辆目标例3,车辆目标图像中的区域划分1表示车辆目标的真实区域2表示车辆目标外维区域3表示背景区域图4,均值填充后的车辆目标图像图5,车辆目标的边缘提取结果图6,车辆目标轮廓的横向分布和纵向分布7,用于局部特征统计的区域块划分图8,双阈值近邻法的快速算法中子类初始划分过程图9,双阈值近邻法的快速算法中调整分类过程图10,二叉搜索树示意11,部分模板样本12模板样本的边缘轮廓信息图13模板样本边缘轮廓的横向分布14模板样本边缘轮廓的纵向分布15待测车辆目标记取轮廓信息分析图16二叉搜索树图17待测目标样本
具体实施例方式本实施例针对吉普、面包、皮卡、羚羊四种车型的视频序列进行了实验。
步骤1,车辆目标的分割及训练样本的选择视频序列中运动车辆目标的提取通过说明书步骤一中提到的三帧法或时空法实现。为了实现有效的识别,模板库中车辆样本应该包括视频中车辆目标出现的所有角度和姿态信息。实验中分别对吉普、面包、皮卡、羚羊四种车型进行了模板样本的挑选,根据所用实验数据的情况,所选择的模板样本数分别为吉普(50)、面包(50)、皮卡(54)、羚羊(50)。模板样本的抽样显示如图11。
步骤2,车辆目标的轮廓提取根据说明书中步骤二来提取车辆目标的边缘轮廓。图12给出了图11中模板样本图像的对应轮廓图像。
步骤3,计算纵向和横向的轮廓分布根据说明书中步骤三来取得边缘轮廓的横向和纵向分布,如图13,图14所示。
步骤4,识别特征的提取提取出样本的边缘轮廓信息之后,再根据说明书中步骤四(识别特征的提取)即可计算各模板样本的特征向量(一共提取了26个特征)。表1给出了图11中吉普车型代表样本的特征值。
表1图11中吉普车型代表样本的特征值

将选取的模板样本分别标号为1~50(吉普类W1)、51~100(面包类W2)、101~154(皮卡类W3)、155~204(羚羊类W4)。将它们的特征向量按标号顺序存放在特征库中。
步骤5,用双阈值近邻识别算法识别车辆目标1)样本间的距离定义样本提取的识别特征都是26维向量,定义为x=[x1x2K x26]。根据模板样本库中所有特征值计算各特征的变化范围,定义为一个振幅向量swing。
swing=[1.2274 0.6400 0.6821 0.0859 0.3184 0.2449 0.34620.2487 0.2396 0.2486 0.1720 0.2290 0.2117 0.2077 0.21960.3220 0.2197 0.4566 0.3612 0.4232 0.4212 0.5239 0.41190.3438 0.2680 0.3572]则样本特征向量x和y间的距离定义为d(x,y)=Σk=126|xk-yk|swing[k].]]>2)阈值的确定通过多次实验,得出各阈值的合理设置为T1=0.08*26,T2=0.135*26N0=3, λ=0.63)待测样本的识别现有从视频序列中新提取的车辆样本,其原图像及轮廓分析过程如图15所示。
该待测样本的特征向量为x=

待测样本特征向量x与模板样本特征向量yi(i=1~204)间的距离如下5.80406.44566.39827.26457.84145.77225.77286.11085.34566.83995.74975.07716.40226.89246.82256.68546.33506.62245.70255.44296.20626.66876.09156.55035.76445.11225.15715.74276.44285.26125.09545.95735.54825.88976.22096.21476.11516.30855.88575.95565.08354.51765.41135.21075.37925.10045.83485.51295.80504.81205.24445.31335.37164.38875.58324.83304.17095.15173.27743.90534.44804.21514.93605.56834.50835.89956.72116.54416.28246.56706.10596.65095.31013.48672.70963.40502.56732.13243.13893.53343.16023.74104.05194.16033.80093.64753.47803.98824.09803.33522.74932.85743.52044.03284.82416.80127.70067.88176.51167.63125.53775.89586.08695.97265.71916.98496.23046.96176.60946.28295.45266.49886.37766.09445.25256.98246.41146.44806.36236.77576.75726.48605.81895.54934.77895.0411 6.32824.68234.41685.20165.79124.91324.96264.89264.96465.12445.60395.73895.78155.53005.33985.43805.20255.14155.28014.17403.89213.18485.13574.72485.86175.97556.51875.80047.38647.95647.27567.74297.04817.10326.94887.12966.60925.82906.13164.96626.44675.04195.54375.99885.62236.05985.89725.70015.21706.74816.06374.92375.19034.87365.08974.58935.46005.69686.43205.83415.64065.92036.58406.71196.45336.11756.63787.57235.80005.02244.39185.16796.22305.27045.81075.39225.04505.9099通过比较,可查找出第78个模板样本与待测样本x距离最近。其中y78∈W2(面包类),距离d(x,y78)=2.132。根据说明书中双阈值近邻识别方法的步骤,引入阈值进行判别。
因为d(x,y78)>T1,则不能通过第一步判别待测样本。
统计各类中与未知样本x的距离在T1和T2之间的样本数Numi。结果如表2所示表2各类样本统计表

通过计算,满足条件的样本总数Num=Σi=1cNumi=13.]]>Num2=max(Numi),且Num2>Num*λ,所以判决x∈W2(面包类)。
步骤6,双阈值近邻法的快速算法在步骤5中我们可以看到,虽然能得到正确的识别结果,但是待测样本与模板库中每个样本都进行了比较,计算量很大,不适于数据量更大的识别问题。由此引入了快速算法。
1)模板样本的子类划分根据说明书中6(1)初始分类和6(2)调整分类两个步骤,分别对4种车型进行子类划分。在此,我们将各个车型的模板样本划分为8个子类。结果如下吉普类(W1)

面包类(W2)

皮卡类(W3)


羚羊类(W4)

2)二叉搜索树的建立根据1)计算的结果,4种车型的模板样本分别被划分为8个子类,一共有32个子类。将子类W11,W12...W18...W48依次标记为32个节点1,2...32。再按说明书中步骤七(3)的过程,逐步生成二叉搜索树中的节点33,34,35...。搜索树的建立结果如图16。其中,灰色的单元代表步骤1)划分得到的样本子类,白色的单元代表搜索树建立过程中的中间节点。
4)带入待测样本进行识别图17给出了几个待测目标样本的图像,表3给出了对各个待测样本进行识别时的搜索路径和与模板库样本进行比较的次数。
表3图17中待测样本的识别过程及结果

4.识别结果在实验中,我们对4种车辆(吉普、面包、皮卡、羚羊)的数据源进行了测试。利用上述步骤建立的模板库和识别方法,对每种车辆类型随机选取了大约100个目标图像进行实验,结果如表4所示。
表4识别结果

权利要求
1.一种基于轮廓的车辆目标识别算法,其特征包括如下执行步骤假定所识别的车辆类型有c种,每种类型分别标记为w1,w2K wc(wi可以是如吉普、面包或者其他任何一种车型);步骤1,车辆目标的分割及训练样本的选择首先,通过三帧法或时空法对视频序列进行处理,从视频序列中分割出每帧的车辆目标图像,表示为F,图像F中的象素表示为F(x,y)(0<x<M,0<y<N),其中M是F的宽度,N是F的高度;其次,从分割出的车辆目标图像中为每种车型选择训练样本图像,选择的原则是作为训练样本的目标图像应该包括视频中车辆目标出现的所有角度和姿态信息;设为车型wi选择了Ni个训练样本{xi1,xi2K xijK xiNi},其中,xij表示车型wi中的第j个训练样本,并且i={1,2K c},则一共选择了N个训练样本,N=ΣiNi;]]>步骤2,车辆目标的轮廓提取首先,在步骤1分割得到的车辆目标图像F中,将运动目标区域的象素均值赋予黑色背景区域3中的每一个象素,得到均值填充后的车辆目标图像F,步骤如下运动目标区域的象素灰度均值graymean=mean(F(x,y)),象素(x,y)∈(AB);然后用灰度均值graymean替换F中黑色背景区域3中象素点的灰度值F(x,y)=meangray,象素(x,y)∈C;得到均值填充后的车辆目标图像F,其象素表示为F(x,y)(0<x<M,0<y<N),如图4所示;其次,用Canny算子对均值填充后的车辆目标图像F中每个训练样本进行边缘检测将Canny算子边缘检测的过程表达为函数canny(),则车辆目标图像F每个训练样本经边缘检测得到的整体轮廓结果为Ec=canny(F),其宽度为M,高度为N,其中的象素表示Ec(x,y)(0<x<M,0<y<N);步骤3,计算纵向和横向的轮廓分布用Sobel算子中垂直边缘检测模板的Sx和水平边缘检测模板的Sy将车辆目标的整体轮廓结果Ec(x,y)分解为纵向和横向的轮廓分布;用Sobel算子的垂直边缘检测模板Sx与Ec卷积,得到车辆轮廓的纵向分布值Ev=|Ec*Sx|;用水平边缘检测模板Sy与Ec卷积,得到车辆轮廓的横向分布值Eh=|Ec*Sy|;步骤4,车辆目标识别特征的提取(1)车辆目标全局形状矩特征的提取根据步骤2得到的车辆目标每个训练样本整体轮廓图像Ec(x,y)(0<x<M,0<y<N),首先求出车辆目标每个训练样本的整体轮廓图像Ec(x,y)的长宽比特征fi=M/N;车辆目标每个训练样本整体轮廓图像Ec(x,y)的p+q阶矩定义为μpq=Σx=0M-1Σy=0N-1(x-x‾)p(y-y‾)qEc(x,y)]]>x-=Σx=0M-1Σy=0N-1xEc(x,y)Σx=0M-1Σy=0N-1Ec(x,y),y-=Σx=0M-1Σy=0N-1yEc(x,y)Σx=0M-1Σy=0N-1Ec(x,y)]]>其中,μ20为图像在水平方向上的伸展度,μ02为图像在垂直方向上的伸展度;μ11为图像的倾斜度;μ30为图像在水平方向上的重心偏移度,μ03为图像在垂直方向上的重心偏移度;μ21为图像水平伸展的均衡程度,μ12为图像垂直伸展的均衡程度;由以上二阶矩(p+q=2)或三阶矩(p+q=3),得到全局轮廓图像的各种形状矩特征轮廓长宽度f2=(μ20-μ02μ20+μ02+1)/2]]>轮廓拉长度f3=λ1-λ2λ1+λ2]]>λ1=(μ20+μ02)+(μ20-μ02)2+4μ2112]]>λ2=(μ20+μ02)-(μ20-μ02)2+4μ2112]]>轮廓伸展度f4=(μ20+μ02)/m00size]]>m00=Σx=0M-1Σy=0N-1Ec(x,y),size=M*N]]>三阶矩分解为正和为负两部分,μpq=μ+pq+μ-pq(p+q=3),通过三阶矩提取的特征如下水平偏移度f5=(μ+30-μ-30μ+30+μ-30+1)/2]]>垂直偏移度f6=(μ+03-μ-03μ+03+μ-03+1)/2]]>水平伸展均衡度f7=(μ+21-μ-21μ+21+μ-21+1)/2]]>垂直伸展均衡度f8=(μ+12-μ-12μ+12+μ-12+1)/2]]>(2)车辆目标局部统计特征对于M*N大小的车辆目标图像,其纵向轮廓分布图Ev(x,y)和横向轮廓分布图Eh(x,y)的尺寸大小同样是M*N;首先,将Ev(x,y)和Eh(x,y)分别平均划分为K*K个区域块(一般K取3或4),然后,分别统计每个区域块中边缘轮廓点所占轮廓点总量的比例,并以此构建纵向和横向的比例值矩阵Rv和Rh;Rv(i,j)=Σx=i*Nx(i+1)Nx-1Σy=j*Ny(j+1)Ny-1Ev(x,y)Σx=0N*Nx-1Σy=0N*Ny-1Ev(x,y)i,j={0,1...K-1}Nx=MKNy=NK]]>Rh(i,j)=Σx=i*Nx(i+1)Nx-1Σy=j*Ny(j+1)Ny-1Eh(x,y)Σx=0N*Nx-1Σy=0N*Ny-1Eh(x,y)i,j={0,1...K-1}Nx=MKNy=NK]]>(3)车辆目标复合特征向量的建立及识别特征库的建立将以上计算所得的比例值矩阵Rv和Rh中的元素按行排列起来,与(1)中所得的8个全局形状矩特征值f1f2…f8串接起来构成用于识别目标的特征向量 V,V=[Rv(0,0),Rv(0,1)...Rv(0,K-1),Rv(1,0)...Rv(K-1,K-1),Rh(0,0)...Rh(K-1,K-1),f1,f2...f8]建立一个识别特征库,用于存放车辆训练样本的特征向量;首先将车型w1中N1个训练样本的特征向量V存放到识别特征库,再依次将车型w2,w3K wc中所有训练样本的识别特征向量V存放到识别特征库中;步骤5,用双阈值近邻识别算法识别车辆目标(1)车辆目标训练样本间的距离定义对于所选择的N个车辆训练样本{x1x2K xN},每个样本提取的识别特征都是长度为K的向量,表示为xi=xi1xi2KxiK(i=1...N)]]>在此定义一个振幅向量,用来表示各维特征值的变化范围swing=[s1s2K sK],其中sj=maxi(xij)-mini(xij)]]>,i={1,2K N),j={1,2K K}则样本特征向量xi和xj间的距离定义为d(xi,xj)=Σk=1K|xik-xjk|sk]]>(2)双阈值近邻识别方法对于识别系统处理的c个车辆类型w1,w2K wc,wi代表不同的车型(比如吉普、面包或者其他);第i个车型wi有Ni个训练样本{xi1,xi2KxijKxiNi},其中,xij表示第wi类的第j个训练样本,并且i={1,2K c},ΣiNi=N]]>;现有未知待测样本x,要将其归入其中一类;首先设置阈值T1和T2,且T1<T2;其中,T1=(0.06~0.08)*K,T2=(0.13~0.15)*K,K为特征向量长度;然后,计算未知待测样本x与各训练样本类间的最短距离d(x,wi)=minj(d(x,xij)),j=1,2KNi,i=1,2Λc]]>如果d(x,wl)=mini(d(x,wi))]]>且d(x,wl)<T1,则判决x∈wl;否则,统计各类中与未知待测样本x的距离在T1和T2之间的样本数 满足条件的样本总数Num=Σi=1cNumi]]>,并设置比例λ=(0.6~0.7);如果Numl=maxi(Numi)]]>且Numl>Num*λ,则判决x∈wl;否则拒绝识别;步骤6,双阈值近邻法的快速算法设有N个车辆训练样本X={x1x2K xN},每个样本的特征向量xi=xi1xi2KxiK;]]>(1)初始划分子类1>计算训练样本特征向量的均值向量mean=[mean1mean2K meanK],meank=1NΣi=1Nxik,k=1,2...K;]]>2>计算用来表示各维特征向量值的变化范围的振幅向量s=[s1s2K sK],其中Sj=maxi(xij)-mini(xij),]]>i={1,2K N},j={1,2KK};3>计算各训练样本特征向量与均值之间的距离d(xi,mean)=Σk=1K|xik-meank|/Sk,i={1,2KN}]]>4>先将所有训练样本作为一个类W,子类数量Nw=1;遍历所有的训练样本,找出与均值距离最近的样本xnear和最远的样本xfar,将它们作为新的子类W1和W2代表点;遍历其他训练样本,根据与代表点的距离将样本归入子类W1或W2;即,如果d(xi,xnear)<d(xi,xfar),则将样本xi归入子类W1;否则,将样本xi归入子类W2;5>找出当前已有分类中样本最多的子类Wk,其样本数为Nk;计算该子类的均值,meank=1NkΣi=1Nkxj,xj∈Wk]]>遍历Wk中所有样本,找出与均值meank距离最近的样本xnear和距离最远的样本xfar;子类数量增1,Nw=Nw+1,并新增子类WNw和Wk′;将xnear作为子类Wk′的代表点,xfar作为子类WNw的代表点;重新遍历Wk中的样本,根据它们与代表点xnear和xfar间的距离进行归类;如果d(xj,xnear)<d(xj,xfar),则将样本xj归入子类W′k;否则,将样本xj归入子类WNk+1;遍历完成后,用Wk′赋值Wk,Wk=Wk′,]]>并删去子类Wk′;6>如果当前分类数Nw已经达到预先指定的大小R(R可取值为接近 的整数),则停止分类,否则返回步骤5>;(2)调整子类划分1>经过步骤(1),训练样本被初始划分为R个子类W1W2…WR;分别统计各子类中的训练样本个数,记为N1N2…NR;2>计算各子类Wi(i=1,2…R)的特征向量均值meani=1NiΣj=1Nixij,i={1,2KR}]]>用meani表示前一次向量均值,用meani′表示当前向量均值;3>以计算所得的均值特征向量作为各子类的代表点,用最近邻法重新调整子类;遍历所有样本点xj,j={1,2KN}如果d(xj,meanl)=mini(d(xj,meani)),]]>则将xj归入Wl;4>重新统计各子类中的训练样本个数,记为N1′N2′…NR′;再次计算各个新分类的特征向量均值,meani=meani′,meani′=1Ni′Σj=1N′ixij,i={1,2KR}]]>如果Σi=1R|meani-meani′|>0,]]>则返回步骤2>,否则结束循环;(3)建立二叉搜索树1>将(2)中生成的子类Wi(i=1,2…R)定义为一个节点Si(i=1,2…R),节点集S={S1,S2K SR};2>计算两两分类间的距离,d(Si,Sj)=Σk=1K|meanik-meanjk|Sk,]]>i≠j,i(j)={1,2KR}3>按照哈夫曼编码的原理,找出距离最近的两个子类Sm和Sn,使得d(Sm,Sn)=mini,jd(Si,Sj),]]>i≠j,i(j)={1,2KR}以Sm和Sn为左右子节点,生成一个新节点Smn,其特征向量定义为Sm和Sn的均值特征向量的均值meanmn=meanm+meann2;]]>从节点集S中删去Sm和Sn,将Smn归入节点集S;4>如果S中不止一个节点,则计算节点Smn与其他节点间的距离,返回到3>;否则,二叉搜索树建立完毕,结束循环;(4)在识别过程中,从树根节点开始遍历二叉搜索树;原则是,比较未知待测样本x的特征向量与当前节点的左右子节点的特征向量间的距离,距离小则先遍历;用前述的双阈值近邻法判别当前叶子节点所对应的样本分类中的训练样本,直到判别出未知样本的类别,或者拒绝识别为止;
全文摘要
本发明公开了一种新的基于轮廓的车辆目标识别特征提取方法,它是包含了全局形状信息、局部统计信息和方向信息的复合识别特征。同时,本发明结合已有的最近邻、K近邻识别方法,提出一种综合的双阈值近邻识别方法,并给出其快速算法。在快速识别算法中采用了C-均值动态聚类与哈夫曼二叉树原理相结合的方法,构造一种优化匹配顺序的二叉搜索树,从而大大提高了识别效率和速度。本发明可广泛应用于遥感图像识别,远程监控,智能交通管理,军事侦察,精确制导等各个领域。
文档编号G06K9/64GK1996346SQ200510022429
公开日2007年7月11日 申请日期2005年12月29日 优先权日2005年12月29日
发明者解梅, 黄宇 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1