发明名称 一种公交车车型识别方法
摘要 本发明公开一种计算机视频处理技术领域的公交车车型识别方法,步骤为:对监控视频进行混合高斯建模;而后对车辆进行公交车车型初步识别;其次根据车辆的位置信息及公交车本身的特点,建立相应的3D模型;同时使用LSD线段提取算法提取车辆的特征线段;最后采用一种结合模板匹配和最短距离匹配的综合算法,对车辆的3D模型和线段特征进行匹配。本发明通过利用车辆位置信息和公交车车型特点构建3D模型,因而避免了车型数据库的准备工作;同时利用公交车车型特点对待判断车辆进行初步判断,以避免对场景中所有车辆进行3D建模和匹配过程,减少了计算量;最后采用一种结合的匹配算法,提高运算准确率同时减少计算量。
申请公布号 CN102930242B 申请公布日期 2015.07.08
申请号 CN201210337115.0 申请日期 2012.09.12
申请人 上海交通大学 发明人 杨华;马文琪;董莉莉
分类号 G06K9/00(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 上海汉声知识产权代理有限公司 31236 代理人 郭国中
主权项 一种公交车车型识别方法,其特征在于,包括以下步骤:第一步:对监控视频进行混合高斯背景建模,得到待处理的车辆前景图像;第二步:在世界坐标系下,对所得到的车辆进行公交车车型初步识别;具体步骤为:①对第一步中所得到的车辆前景图像进行轮廓提取,得到N个连通区域Ω<sub>k</sub>,k=1,2,...,N,对每个连通区域Ω<sub>k</sub>,得到一个包含Ω<sub>k</sub>且面积最小的矩形区域R<sub>k</sub>,k=1,2,...,N;②在世界坐标系下,由矩形R<sub>k</sub>底部两点p<sub>1</sub>,p<sub>2</sub>构造判断点p<sub>m</sub>:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>p</mi><mi>m</mi></msub><mo>.</mo><mi>x</mi><mo>=</mo><mrow><mo>(</mo><msub><mi>p</mi><mn>1</mn></msub><mo>.</mo><mi>x</mi><mo>+</mo><msub><mi>p</mi><mn>2</mn></msub><mo>.</mo><mi>x</mi><mo>)</mo></mrow><mo>/</mo><mn>2</mn></mtd></mtr><mtr><mtd><msub><mi>p</mi><mi>m</mi></msub><mo>.</mo><mi>y</mi><mo>=</mo><mrow><mo>(</mo><msub><mi>p</mi><mn>1</mn></msub><mo>.</mo><mi>y</mi><mo>+</mo><msub><mi>p</mi><mn>2</mn></msub><mo>.</mo><mi>y</mi><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mo>-</mo><mi>l</mi></mtd></mtr><mtr><mtd><msub><mi>p</mi><mi>m</mi></msub><mo>.</mo><mi>z</mi><mo>=</mo><msub><mi>p</mi><mn>1</mn></msub><mo>.</mo><mi>z</mi></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000676711110000011.GIF" wi="589" he="243" /></maths>其中,l表示公交车车身长度;(x,y,z)表示在世界坐标系中各点的三维坐标;③在图像坐标系下,根据p<sub>m</sub>和R<sub>k</sub>的位置关系初步判断该车辆是否为公交车,若p<sub>m</sub>∈R<sub>k</sub>,则初步判断该车辆为公交车,进行第三步;若<img file="FDA0000676711110000013.GIF" wi="195" he="77" />则判断该车辆为非公交车,判断结束;第三步:在世界坐标系下,根据公交车车型特点及R<sub>k</sub>位置信息,构建当前车辆的3D模型;第四步,采用LSD线段提取算法对第二步中得到的车辆进行特征线段提取;第五步:采用模版匹配法和最短距离法相结合的方法对第三步中得到的3D模型和第四步中得到的特征线段进行匹配计算,得到识别结果;第三步中所述3D模型,其端点的建立方法为:R<sub>k</sub>底端两点p<sub>1</sub>,p<sub>2</sub>作为3D模型前端底部两点;再由p<sub>1</sub>,p<sub>2</sub>构建公交车3D模型前端顶部两点p<sub>3</sub>,p<sub>4</sub>:<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>p</mi><mn>3</mn></msub><mo>.</mo><mi>x</mi><mo>=</mo><msub><mi>p</mi><mn>1</mn></msub><mo>.</mo><mi>x</mi><mo>,</mo><msub><mi>p</mi><mn>3</mn></msub><mo>.</mo><mi>y</mi><mo>=</mo><msub><mi>p</mi><mn>1</mn></msub><mo>.</mo><mi>y</mi><mo>,</mo><msub><mi>p</mi><mn>3</mn></msub><mo>.</mo><mi>z</mi><mo>=</mo><msub><mi>p</mi><mn>1</mn></msub><mo>.</mo><mi>z</mi><mo>+</mo><mi>h</mi></mtd></mtr><mtr><mtd><msub><mi>p</mi><mn>4</mn></msub><mo>.</mo><mi>x</mi><mo>=</mo><msub><mi>p</mi><mn>2</mn></msub><mo>.</mo><mi>x</mi><mo>,</mo><msub><mi>p</mi><mn>4</mn></msub><mo>.</mo><mi>y</mi><mo>=</mo><msub><mi>p</mi><mn>2</mn></msub><mo>.</mo><mi>y</mi><mo>,</mo><msub><mi>p</mi><mn>4</mn></msub><mo>.</mo><mi>z</mi><mo>=</mo><msub><mi>p</mi><mn>2</mn></msub><mo>.</mo><mi>z</mi><mo>+</mo><mi>h</mi></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000676711110000012.GIF" wi="842" he="177" /></maths>其中,h表示公交车高度,(x,y,z)表示在世界坐标系中各点的三维坐标;然后根据公交车在xOy上的投影图,构建3D模型尾端底部两点p<sub>5</sub>,p<sub>6</sub>:<maths num="0003" id="cmaths0003"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><mi>&theta;</mi><mo>=</mo><mi>arctan</mi><mrow><mo>(</mo><mfrac><mrow><msub><mi>p</mi><mn>1</mn></msub><mo>.</mo><mi>y</mi><mo>-</mo><msub><mi>p</mi><mn>2</mn></msub><mo>.</mo><mi>y</mi></mrow><mrow><msub><mi>p</mi><mn>2</mn></msub><mo>.</mo><mi>x</mi><mo>-</mo><msub><mi>p</mi><mn>1</mn></msub><mo>.</mo><mi>x</mi></mrow></mfrac><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>p</mi><mi>j</mi></msub><mo>.</mo><mi>x</mi><mo>=</mo><msub><mi>p</mi><mi>i</mi></msub><mo>.</mo><mi>x</mi><mo>-</mo><mi>l</mi><mi>sin</mi><mi>&theta;</mi></mtd></mtr><mtr><mtd><msub><mi>p</mi><mi>j</mi></msub><mo>.</mo><mi>y</mi><mo>=</mo><msub><mi>p</mi><mi>i</mi></msub><mo>.</mo><mi>x</mi><mo>-</mo><mi>l</mi><mi>cos</mi><mi>&theta;</mi></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000676711110000021.GIF" wi="538" he="339" /></maths>其中,(i,j)∈{(1,5),(2,6)},θ表示在投影图中,线段(p<sub>1</sub>,p<sub>2</sub>)与y轴的夹角,l表示公交车车身长度,(x,y,z)表示在世界坐标系中各点的三维坐标;最后由p<sub>5</sub>,p<sub>6</sub>构建3D模型尾端顶部两点p<sub>7</sub>,p<sub>8</sub>:<maths num="0004" id="cmaths0004"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>p</mi><mn>7</mn></msub><mo>.</mo><mi>x</mi><mo>=</mo><msub><mi>p</mi><mn>5</mn></msub><mo>.</mo><mi>x</mi><mo>,</mo><msub><mi>p</mi><mn>7</mn></msub><mo>.</mo><mi>y</mi><mo>=</mo><msub><mi>p</mi><mn>5</mn></msub><mo>.</mo><mi>y</mi><mo>,</mo><msub><mi>p</mi><mn>7</mn></msub><mo>.</mo><mi>z</mi><mo>=</mo><msub><mi>p</mi><mn>5</mn></msub><mo>.</mo><mi>z</mi><mo>+</mo><mi>h</mi></mtd></mtr><mtr><mtd><msub><mi>p</mi><mn>8</mn></msub><mo>.</mo><mi>x</mi><mo>=</mo><msub><mi>p</mi><mn>6</mn></msub><mo>.</mo><mi>x</mi><mo>,</mo><msub><mi>p</mi><mn>8</mn></msub><mo>.</mo><mi>y</mi><mo>=</mo><msub><mi>p</mi><mn>6</mn></msub><mo>.</mo><mi>y</mi><mo>,</mo><msub><mi>p</mi><mn>8</mn></msub><mo>.</mo><mi>z</mi><mo>=</mo><msub><mi>p</mi><mn>6</mn></msub><mo>.</mo><mi>z</mi><mo>+</mo><mi>h</mi></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000676711110000022.GIF" wi="825" he="161" /></maths>其中,h表示公交车高度,(x,y,z)表示在世界坐标系中各点的三维坐标;第五步具体步骤为:①采用模板匹配法,计算匹配系数η<sub>1</sub>,<img file="FDA0000676711110000023.GIF" wi="237" he="171" />其中,<img file="FDA0000676711110000024.GIF" wi="949" he="85" />表示3D模型灰度图与特征线段灰度图之间的重合区域;ψ为3D模型灰度图,其像素值为0或1;<img file="FDA0000676711110000025.GIF" wi="57" he="61" />为LSD特征线段灰度图<sub>;</sub><img file="FDA0000676711110000026.GIF" wi="212" he="84" />表示对图像进行形态学膨胀处理;ΣI表示对灰度图像I进行像素求和;<img file="FDA0000676711110000027.GIF" wi="350" he="87" />表示对灰度图I做阈值处理,<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>Threshold</mi><mi>t</mi><mi>v</mi></msubsup><mrow><mo>(</mo><msub><mi>I</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>v</mi><mo>,</mo><msub><mi>I</mi><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>&GreaterEqual;</mo><mi>v</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>otherwise</mi></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000676711110000028.GIF" wi="692" he="161" /></maths>②根据η<sub>1</sub>判断当前车辆是否为公交车,若η<sub>1</sub>>TH<sub>l</sub>,TH<sub>l</sub>为设定阈值,表示特征线段与3D模型重合比例较大,认为该车辆可能是公交车,进入下一步,采用最短距离法进一步判断;若η<sub>1</sub>>TH<sub>h</sub>,TH<sub>h</sub>为设定阈值且TH<sub>h</sub>>TH<sub>l</sub>,则认为该车辆为公交车,判断结束;若η<sub>1</sub>≤TH<sub>l</sub>,则认为该车辆为非公交车,判断结束;③对上一步中需要进一步判断的车辆实施最短距离算法,令<img file="FDA0000676711110000029.GIF" wi="272" he="81" />表示除去重叠区域<img file="FDA00006767111100000210.GIF" wi="48" he="67" />的3D模型图;<img file="FDA00006767111100000211.GIF" wi="710" he="86" />表示除去重叠区域<img file="FDA00006767111100000212.GIF" wi="52" he="58" />的特征线段图;I(α)表示像素α的灰度值;p(α)表示像素α在图像坐标系下的位置,初始化计数器sum=0,则最小距离法具体实施如下:(1)对像素α∈ψ<sub>h</sub>且I(α)≠0,以p(α)为中心,step为边长建立正方形搜索窗;(2)计算像素α到<img file="FDA0000676711110000031.GIF" wi="56" he="62" />的最短距离,具体为<img file="FDA0000676711110000032.GIF" wi="1444" he="143" />(3)若d(α)≤d<sub>TH</sub>,则令sum=sum+1及I(β<sub>0</sub>)=0,d<sub>TH</sub>为设定阈值;(4)重复步骤(1)直到ψ<sub>h</sub>中的像素完全遍历;④计算匹配系数η<sub>2</sub>,<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>&eta;</mi><mn>2</mn></msub><mo>=</mo><mfrac><mi>sum</mi><mrow><mi>&Sigma;</mi><msub><mi>&psi;</mi><mi>h</mi></msub></mrow></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000676711110000033.GIF" wi="262" he="137" /></maths>根据η<sub>2</sub>判断当前车辆是否为公交车,若η<sub>2</sub>>TH<sub>d</sub>,TH<sub>d</sub>为设定阈值,表示特征线段与3D模型重合比例较大,判断该车辆为公交车;反之,则判断该车辆为非公交车,判断结束。
地址 200240 上海市闵行区东川路800号