主权项 |
一种基于最大稳定极值区域的车牌检测与识别的方法,其特征在于具体步骤为:步骤1.把待检测图像转换成灰度图像提取仿射不变特征区域——最大稳定极值区域,得到候选车牌文字区域,这些区域包括大量非车牌文字区域;步骤2.对于每个极值区域,找到它最左边,最右边,最上边和最下边的像素位置,即得到包含该极值区域的最小矩形框;步骤3.对于该矩形框围成的子图像,进行按比例缩放图像操作,得到大小为24×48像素的子图像;步骤4.设计一组Gabor滤波器用于提取该子图像的纹理特征;步骤5.利用事先训练得到的分类器进行判别,该分类器的输出结果为1或0,输出1表示判断为真,表明该极值区域为类似“文字”区域,反之是假,表明该极值区域为“非文字”区域;步骤6.对于步骤5得到的所有类似“文字”区域,计算它们的重心坐标(x0,y0),公式如下: <mrow> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mo>|</mo> <mi>R</mi> <mo>|</mo> </mrow> </mfrac> <munder> <mi>Σ</mi> <mrow> <mn>1</mn> <mo>≤</mo> <mi>i</mi> <mo>≤</mo> <mo>|</mo> <mi>R</mi> <mo>|</mo> </mrow> </munder> <msub> <mi>x</mi> <mi>i</mi> </msub> </mrow> <mrow> <msub> <mi>y</mi> <mn>0</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mo>|</mo> <mi>R</mi> <mo>|</mo> </mrow> </mfrac> <munder> <mi>Σ</mi> <mrow> <mn>1</mn> <mo>≤</mo> <mi>i</mi> <mo>≤</mo> <mo>|</mo> <mi>R</mi> <mo>|</mo> </mrow> </munder> <msub> <mi>y</mi> <mi>i</mi> </msub> </mrow>其中,R代表类似“文字”区域,|R|为由类似“文字”区域内所有像素组成的集合的势,即该区域内像素点的个数,i表示该区域内第i个像素点,(xi,yi)为该区域内第i个像素点的坐标;区域重心是根据所有区域中的点计算而来的;步骤7.按照区域重心的行号对这些类似“文字”区域进行排序;步骤8.根据车牌字符具有近似相同的高度或宽度,并且其重心近似成一条直线等车牌本身固有的几何特征和字符排列格式特征,对这些类似“文字”区域的空间位置关系进行分析,得到一个区域集合,该集合内包含的“文字”区域的个数最多,则认为该集合构成的子图像是车牌;步骤9.对于车牌子图像内根据Adaboost算法判别为“文字”的区域,按照区域重心的列号进行排序;步骤10.对于车牌子图像内每个“文字”区域,按照步骤2的方法,得到包含该“文字”区域的最小矩形框围成的子图像;步骤11.对该子图像进行二值化处理,并进行按比例缩放图像操作,得到大小为48×96像素的图像;步骤12.对该子图像进行边缘检测,并提取一组边缘轮廓点;步骤13.对边缘像素点进行精简,方法为:检查全部点对的距离,每次去除距离最小的点对中的一个点,直至剩下的点的数量达到要取样的点的数量,规定该数量为100;步骤14.对于步骤10得到的子图像,定义为P,计算形状上下文特征;形状上下文的计算方法为:考虑形状P的参考点pi,对形成的以其为始点,以其余点为终点的矢量集合,构造这个集合的相应的形状直方图描述:即将整个集合视为一个空间,对空间按照角度和距离进行划分,角度空间分为12份,距离按照log2r划分为5份,形成12×5的子空间,并对形成的各个子空间进行统计描述:hi(k)=#{q≠pi∶(q-pi)∈bin(k)}其中,#表示计数,bin表示划分后的子空间,k∈{1,2,...,K},K为划分以后子空间的数目,得到点pi的含有60个分量的形状直方图,称为该点对应的形状上下文;步骤15.将该子图像与模板库中的每一个模板逐一比较,假设字符模板图像为Q,字符Q的第qj个点的形状上下文为hj(k),计算P和Q之间的相似度,采用χ2分布距离来计算,得到匹配代价C(pi,qj)(pi∈P,qj∈Q), <mrow> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>q</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <munderover> <mi>Σ</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mfrac> <msup> <mrow> <mo>[</mo> <msub> <mi>h</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>h</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>]</mo> </mrow> <mn>2</mn> </msup> <mrow> <msub> <mi>h</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>h</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>从而得到匹配代价矩阵C: <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>q</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mtd> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>q</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mtd> <mtd> <mo>.</mo> <mo>.</mo> <mo>.</mo> </mtd> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>q</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>q</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mtd> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>q</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mtd> <mtd> <mo>.</mo> <mo>.</mo> <mo>.</mo> </mtd> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>q</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>m</mi> </msub> <mo>,</mo> <msub> <mi>q</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mtd> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>m</mi> </msub> <mo>,</mo> <msub> <mi>q</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mtd> <mtd> <mo>.</mo> <mo>.</mo> <mo>.</mo> </mtd> <mtd> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>m</mi> </msub> <mo>,</mo> <msub> <mi>q</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>m为P内点的个数,n为Q内点的个数;步骤16.基于匹配代价矩阵C,进行点的匹配操作,P的点集:{p1,p2,…,pm}和Q的点集:{q1,q2,…,qn},通过最小化如下匹配代价公式来获得P和Q点集的一个对应关系π(i): <mrow> <mi>H</mi> <mrow> <mo>(</mo> <mi>π</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>Σ</mi> <mi>i</mi> </munder> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>q</mi> <mrow> <mi>π</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>)</mo> </mrow> <mo>;</mo> </mrow>步骤17.计算P和Q之间的形状上下文距离;步骤18.根据形状上下文距离大小,从小到大排序,距离最小的模板为匹配的模板,输出该模板作为识别结果。 |