一种车辆无牌及车牌遮挡实时检测方法_3

文档序号:9226048阅读:来源:国知局
噪声等干扰;
[0102]C135:进行字符切法,采用二值图投影方法或模板法,也可以将二者结合使用。
[0103]C14、字符识别,本实施例采用线下训练得到的分类器进行识别,具体算法步骤如下:
[0104]C141:将字符分割得到的字符图像进行预处理和归一化;
[0105]C142:根据高宽比及占空比等特征识别字符是否为“1”,若判断为“I”则不再使用分类器进行识别;
[0106]C143:根据车牌分隔出的字符个数、车牌二值图是否经过反色处理、当前字符的序号选择各个字符的分类模型;
[0107]C144:提取字符二值图像的网格特征、轮廓特征和密度特征;
[0108]C145:依次将各个字符特征送入各自的分类模型,得到字符识别结果和SVM识别值,将SVM识别值作为字符识别结果的置信度;
[0109]C146:整理并输出车牌识别结果。
[0110]车辆检测模块,如图7所示,本实施例包括运动检测、窗口扫描和窗口融合三个步骤。
[0111]Dl1、运动检测,本实施例具体算法步骤如下:
[0112]Dlll:在启动卡口视频监控前,初始化帧缓存容器为空;
[0113]D112:设当前帧时间戳为T(X)。将当前帧图像进行长宽等比例缩放为尺寸的1/8 ;
[0114]D113:若帧缓存容器为空,则放入缩放后的当前帧图像;
[0115]D114:若不为空,则计算当前帧与容器中第一帧图像的帧差图像,设两帧图像对应位置的某一个像素点RGB值分别为Rl、G1、BI,R2、G2、B2,则该点帧差值=
[0116](Rl-R2)+?10 ;
[0117]D115:将帧差图像二值化;
[0118]D116:将二值化后的图像使用3X3的算子进行形态学开运算,以去除噪点并保有运动区域,得到运动前景图像;
[0119]D117:若当前帧时间戳与容器第一帧时间戳差距超过0.ls,或者容器内已存入3帧图像,则删除前面第一帧并将当前帧从后面放入,否则直接将当前帧从后面放入容器。
[0120]D12、窗口扫描,本实施例是在多个尺度的帧图像上,使用32X32窗口滑动,使用分类器判断该窗口是否含有车辆的过程,具体算法步骤如下:
[0121]D121:根据卡口实际情况设定待检测车辆的最大尺寸MaxSXMaxS,最小尺寸固定设置为250X250,在MaxS到250之间,设置等比数列为待检测车辆尺寸的多个尺度;
[0122]D122:对于每个尺度,计算该尺度下车辆尺寸于32的比例,相应的把帧图像按该比例缩小;
[0123]D123:在缩小后的帧图像上使用32X32窗口滑动,使用分类器判断该窗口是否含有车辆;
[0124]D124:依次完成各个尺寸的窗口滑动扫描,输出所有被判断为含有车辆的窗口对应到原图上的位置信息。
[0125]D13、窗口融合,把含有相同车辆目标的窗口融合为一个窗口,本实施例具体算法步骤如下:
[0126]D131:设多尺度检测中保存的窗口数为N,设置一个长度为N的类别标识序列C与各窗口对应,初始化Ck= k,k e [O,N-1],即初始化为N类;设每个目标至少需要被MinNeighbor个窗口检测到;
[0127]D132:对窗口坐标进行两两相互比较,如果两个窗口 Winp, Winq距离较小属于同一目标,则将C中所有等于(;或C ,的值都替换为min (C p, Cq);
[0128]D133:对于类别k e [O, N-1],查找类别标识为k的窗口,若窗口数少于MinNeighbor,则排除这些窗口,认为是噪声,若窗口数不少于MinNeighbor,则对这些窗口进行融合,新窗口的中心为该类别所有窗口的几何平均值,新窗口的宽度和高度也为平均值;
[0129]D134:对融合后的新窗口进行两两比较,如果两窗口重合宽度、高度、重合面积都较大,则认为两新窗口中至少有一个是非车辆,排除融合前窗口数较小的那一个。
[0130]步骤(2)在车牌关联模块中进行,如图4所示,该模块将单帧识别的所有车牌关联起来并进行综合识别以提高识别率,并输出车牌轨迹链,包括两个任务,多帧关联和综合识别。
[0131]21、多帧关联,本实施例具体算法步骤如下:
[0132]211:将第一帧识别到的每个车牌分别设置相应的车牌轨迹链,并初始化为车牌匹配数据库;
[0133]212:对新一帧定位到的车牌,分别与车牌匹配数据库中的车牌轨迹链进行匹配,可采用位置特征,匹配上则根据时间间隔判断当前时刻定位到的车牌是否需要进行号牌识另IJ,并更新车牌轨迹链,未匹配上则将车牌设置为新的轨迹链;
[0134]213:若车辆匹配数据库中的某条车牌轨迹链长时间没有新车牌与其匹配,则认为该车牌目标已驶出画面,将车牌轨迹链送入综合识别。
[0135]22、综合识别,将车牌轨迹链中的各帧车牌识别结果进行统计分析,获得综合识别结果和置信度,并输出车牌轨迹链,本实施例的具体算法步骤如下:
[0136]221:将各帧识别结果按照车牌字符位分别进行直方图统计,直方图累加值为字符识别结果的置信度;
[0137]222:将各个车牌字符位中,直方图值最大项对应的字符作为该位上的综合识别结果;
[0138]223:若综合识别结果不合理,则重新识别,比如说第二位车牌字符识别结果是数字,则将直方图次大值,观察其对应的字符是否为字母,若为字母则置为第二位车牌字符的综合识别结果,若不是则继续查找次次大值,依此类推;
[0139]224:将综合识别结果字符在各帧识别结果中的最大置信度作为该字符的最终置信度,并计算其平均置信度;
[0140]225:依次完成各位字符的综合识别,将结果附加到车牌轨迹链中输出。
[0141]步骤(3)在车辆跟踪模块中进行,如图8所示,在本实施例中包含目标匹配关联和误检目标去除两个子模块。
[0142]31、目标匹配关联,是将多帧间检测到的同一辆车关联在一起,本实施例具体算法步骤如下:
[0143]311:将第一帧检测到的车辆分别设置为车辆轨迹链,初始化匹配数据库;
[0144]312:新一帧检测到的车辆,根据特征将其与匹配数据库中的各个车辆轨迹链进行关联匹配,匹配的特征是位置,还可以结合颜色直方图;
[0145]313:匹配上的车辆用于旧轨迹链的更新,没有匹配上的车辆设置为新的轨迹链;
[0146]314:没有被匹配的旧轨迹链,根据已有轨迹预测该车辆当前帧的位置,若位置出界,则认为该车辆已消失,把车辆轨迹链送入下一步误检判断。
[0147]32、误检目标去除,车辆检测不能保证零误检率,因此该模块使用轨迹进行进一步判断,尽量不输出伪车辆轨迹,减少车辆无牌的误报,若不满足以下两个条件则认为是伪车辆:
[0148](I)在该目标的整个轨迹中,实际检测到的次数必须大于3次;
[0149](2)该目标在垂直方向上必须经过一定长度的移动,移动距离大于图像高度/3.5 ;
[0150]输出满足以上两个条件的车辆轨迹链。
[0151]步骤(4)在车牌遮挡检测模块中进行,如图5所示,该模块包含查找可疑字符和确认遮挡字符两个任务。
[0152]41、查找可疑字符,本实施例中,可疑字符是根据综合识别结果的置信度确定的,具体算法步骤如下:
[0153]411:设置低阈值LowTH、中阈值MidTH、高阈值HighTH,取值范围都是O?
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1