发明名称 一种从交通图像中检测车辆位置、姿态和三维轮廓的方法
摘要 本发明是一种从交通图像中检测车辆位置、姿态和三维轮廓的方法,该方法利用一个数字摄像机对交通场景进行图像采集,采用象征活动基元模型检测车辆的位置、姿态和轮廓,对于可能存在的车辆遮挡现象进行了处理,最后根据数字摄像机的标定结果和已识别出的车辆轮廓计算出车辆三维轮廓的实际尺寸。本发明对于交通监控系统中各种常见的拍摄角度都有良好的适应性,可以从各种不同的角度观察检测出的车辆三维轮廓,可以用于车型识别、车牌识别、车辆行为判断。
申请公布号 CN101976341B 申请公布日期 2013.08.07
申请号 CN201010264672.5 申请日期 2010.08.27
申请人 中国科学院自动化研究所 发明人 王飞跃;顾原;汤淑明
分类号 G06K9/62(2006.01)I;G06T7/00(2006.01)I;G08G1/01(2006.01)I;G08G1/017(2006.01)I;G01B11/24(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 中科专利商标代理有限责任公司 11021 代理人 梁爱荣
主权项 1.一种从交通图像中检测车辆位置、姿态和三维轮廓的方法,包括以下步骤:步骤S1:设定象征活动基元模型,所述象征活动基元模型属于形变模板,由一些Gabor滤波器组成,每个Gabor滤波器能够在一定的小范围内改变位置和角度;步骤S2:将图像中的每个像素位置都与一个象征活动基元模型进行匹配,如果在这个像素位置有一辆车辆存在,则匹配的得分就会比较高;反之如果在这个像素位置没有车辆存在,则匹配的得分较低,根据得分的高低来检测出图像中车辆的位置;步骤S3:对图像中可能存在的车辆遮挡进行处理:如果图像中一辆车辆的一部分被遮挡,这辆车与象征活动基元模型的匹配得分就比未被遮挡的车辆得分要低;利用现实世界的车辆在正常情况下车辆相互不接触和不重叠的现实依据对遮挡情况下的车辆进行识别,找到图像中与象征活动基元模型匹配得分高的位置,并且得分高的位置上的车辆三维轮廓在世界坐标中具有相互不重叠的特征,则此得分高的位置就是检测出来的车辆;由于象征活动基元模型确定了车辆的轮廓,结合已检测出来的车辆和其确定的位置,就获得车辆的姿态和轮廓;步骤S4:根据摄像机标定参数的结果提供了三维世界坐标和二维图像坐标转换的关系,将图像中已检测出来的车辆轮廓依据摄像机标定参数转换到世界坐标中,计算出车辆的三维轮廓的实际尺寸;所述设定象征活动基元模型的步骤如下:步骤S11:对于给定的一帧图像I,其在某个像素点x,y的Gabor函数为:<maths num="0001"><![CDATA[<math><mrow><mi>G</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Proportional;</mo><msup><mi>e</mi><mrow><mo>{</mo><mo>-</mo><mo>[</mo><msup><mrow><mo>(</mo><mi>x</mi><mo>/</mo><msub><mi>&sigma;</mi><mi>x</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>y</mi><mo>/</mo><msub><mi>&sigma;</mi><mi>y</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo><mo>/</mo><mn>2</mn><mo>}</mo><msup><mi>e</mi><mi>ix</mi></msup></mrow></msup></mrow></math>]]></maths>式中,G(x,y)为Gabor函数;x,y为图像的某一像素位置;σ<sub>x</sub>,σ<sub>y</sub>为G(x,y)的设置参数;e为数学常数,即自然对数函数的底数;ix为虚部;步骤S12:对G(x,y)进行旋转和缩放,得到:<maths num="0002"><![CDATA[<math><mrow><msub><mi>B</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>s</mi><mo>,</mo><mi>a</mi></mrow></msub><mrow><mo>(</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>,</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>=</mo><mi>G</mi><mrow><mo>(</mo><mover><mi>x</mi><mo>~</mo></mover><mo>/</mo><msub><mi>s</mi><mi>x</mi></msub><mo>,</mo><mover><mi>y</mi><mo>~</mo></mover><mo>/</mo><msub><mi>s</mi><mi>y</mi></msub><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><msup><msub><mi>s</mi><mi>x</mi></msub><mn>2</mn></msup><mo>+</mo><msup><msub><mi>s</mi><mi>y</mi></msub><mn>2</mn></msup><mo>)</mo></mrow></mrow></math>]]></maths>在B<sub>x,y,s,a</sub>(x′,y′)中,<maths num="0003"><![CDATA[<math><mrow><mover><mi>x</mi><mo>~</mo></mover><mo>=</mo><mrow><mo>(</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>-</mo><mi>x</mi><mo>)</mo></mrow><mi>cos</mi><mi>&alpha;</mi><mo>-</mo><mrow><mo>(</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>-</mo><mi>y</mi><mo>)</mo></mrow><mi>sin</mi><mi>&alpha;</mi></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mover><mi>y</mi><mo>~</mo></mover><mo>=</mo><mrow><mo>(</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>-</mo><mi>x</mi><mo>)</mo></mrow><mi>sin</mi><mi>&alpha;</mi><mo>-</mo><mrow><mo>(</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>-</mo><mi>y</mi><mo>)</mo></mrow><mi>cos</mi><mi>&alpha;</mi></mrow></math>]]></maths>s=[s<sub>x</sub>,s<sub>y</sub>]式中,B<sub>x,y,s,a</sub>(x′,y′)为对G(x,y)旋转和缩放后的结果;<img file="FDA00002820174400024.GIF" wi="131" he="57" />为中间变量;x,y为图像的某一像素位置;x′,y′为x,y附近的一个像素位置;s表示缩放的尺度,其中s<sub>x</sub>,s<sub>y</sub>分别为x,y方向的缩放尺度;α表示旋转的角度;cos为余弦函数;sin为正弦函数;步骤S13:根据稀疏编码理论检测交通图像中的车辆,设定图像是由车辆和非车辆两类目标组成表示为下式:<maths num="0005"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><mi>I</mi><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>CAR</mi><mi>j</mi></msub><mo>+</mo><mi>U</mi></mtd></mtr><mtr><mtd><mi>CAR</mi><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>c</mi><mi>i</mi></msub><msub><mi>B</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced></math>]]></maths>式中,I为一幅图像;CAR表示一辆车辆,由n个B<sub>i</sub>组成,<img file="FDA00002820174400026.GIF" wi="355" he="65" />U表示图像中除了车辆以外的其它信息;c<sub>i</sub>是设定系数,m表示图像中车辆的数量;车辆是由一些Gabor函数的变形B<sub>i</sub>组成;利用象征活动基元模型检测图像中车辆的步骤为:是将象征活动基元模型与图像中的每个像素位置进行匹配,匹配过程如下式:<maths num="0006"><![CDATA[<math><mrow><mi>M</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>B</mi></msub></msubsup><msub><mi>max</mi><mfenced open='' close=''><mtable><mtr><mtd><mi>&Delta;x</mi><mo>&Element;</mo><mo>[</mo><msubsup><mrow><mo>-</mo><mi>&delta;</mi></mrow><mi>i</mi><mn>1</mn></msubsup><mo>,</mo><msubsup><mi>&delta;</mi><mi>i</mi><mn>1</mn></msubsup><mo>]</mo></mtd></mtr><mtr><mtd><mi>&Delta;y</mi><mo>&Element;</mo><mo>[</mo><msubsup><mrow><mo>-</mo><mi>&delta;</mi></mrow><mi>i</mi><mn>2</mn></msubsup><mo>,</mo><msubsup><mi>&delta;</mi><mi>i</mi><mn>2</mn></msubsup><mo>]</mo></mtd></mtr><mtr><mtd><mi>&Delta;&alpha;</mi><mo>&Element;</mo><mo>[</mo><msubsup><mrow><mo>-</mo><mi>&delta;</mi></mrow><mi>i</mi><mn>3</mn></msubsup><mo>,</mo><msubsup><mi>&delta;</mi><mi>i</mi><mn>3</mn></msubsup><mo>]</mo></mtd></mtr></mtable></mfenced></msub><mrow><mo>(</mo><mi>MATCH</mi><mrow><mo>(</mo><mi>I</mi><mo>,</mo><msub><mi>B</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&Delta;x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&Delta;y</mi><mi>i</mi></msub><mo>,</mo><msub><mi>s</mi><mi>i</mi></msub><mo>,</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&Delta;&alpha;</mi><mi>j</mi></msub></mrow></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow></math>]]></maths>式中,M(x,y)表示对图像的某个像素位置进行匹配的得分;n<sub>B</sub>表示<img file="FDA00002820174400028.GIF" wi="212" he="65" />滤波器的数量;MATCH()表示使用一个<img file="FDA00002820174400029.GIF" wi="212" he="65" />滤波器对图像I进行匹配;x<sub>i</sub>,y<sub>i</sub>为图像的像素位置;s<sub>i</sub>表示缩放的尺度;α<sub>i</sub>表示旋转的角度;Δx,Δy,Δα表示每个<img file="FDA00002820174400031.GIF" wi="493" he="65" />滤波器能够在设定的范围内移动和旋转以便获得最佳的匹配值;<img file="FDA00002820174400032.GIF" wi="758" he="75" />分别表示Δx,Δy,Δα的范围;M(x,y)值越高在x,y位置处越可能有一车辆存在,根据实际图像的学习结果,设定一个阈值,匹配结果大于这一阈值的就是一辆检测出来的车辆;利用象征活动基元模型确定了车辆的轮廓,结合已检测出来的车辆和其确定的位置获得车辆的姿态和轮廓。
地址 100080 北京市海淀区中关村东路95号