一种基于弹性松驰算法的车型识别系统及方法 【技术领域】
本发明涉及图像处理、模式识别技术领域,具体涉及一种对车辆目标图像的特征提取与形状识别。
背景技术
车辆检测是智能交通系统ITS(Intelligent Transportation Systems)中一个重要的组成部分。在智能交通系统中,车辆信息的计算和获取对车辆自动监控和全自动收费系统的建立起着关键的指导作用,而车型检测和车牌识别技术是实现公路交通自动化的前提和条件,因此,车辆图像检测技术的研究对提高公路交通的自动化程度,促进智能交通系统的发展具有重大的实际意义。
作为ITS的基本部分,车辆流量检测及其识别系统在ITS中占有很重要的地位。当前国内外常见的车辆流量检测方法有检测线圈、电视监控、微波检测、视频检测四类方法。其中基于图像处理的视频车辆检测方式近年来发展很快,由于它具有检测区域大、系统设置灵活等突出的优点,已成为智能交通系统领域的一个研究热点。
目前,国内外的视频交通流信息采集系统的研究开发工作都是以实现实时的交通流信息采集为目标,系统无一例外都比较庞大复杂,同时售价不菲。但是,由于视频检测技术本身发展程度的局限性,如仍无法解决夜晚低照度的正常工作问题,所以,视频交通流信息采集系统目前仍然难以作为主要交通检测设备占据市场。另一方面,对于某些灵活机动的应用,又没有适合的产品。比如,在进行随机的交通调查时,需要统计不同路段的交通数据,如果应用现有的视频检测系统,设备复杂、操作复杂同时价格昂贵,使得很少有人在交通调查中使用视频交通流信息采集设备。所以,目前视频检测技术的应用范围应该予以扩展。
此外,目前的视频交通流信息采集系统多需要用户进行视场的标定,这种操作对于用户尤其是非专业用户而言,过于复杂,将引入新的误差。还有,大多产品的处理算法用硬件实现,虽然这样会带来处理速度的提高,但是,系统的规模和价格都将随之增加。在计算机性能日益提高的今天,用软件实现视频图像的处理算法已经可以满足系统响应速度的要求。
【发明内容】
本发明所要解决的技术问题是:为降低车型识别系统的成本,简化图像数据处理流程,提高车型识别的效率,实现全天候车型识别,本发明提供了一种用最小的系统规模实现车型识别的系统与方法。
本发明解决其技术问题采用的技术方案是:基于弹性松驰算法的车型识别系统,该系统包括摄像机、图像采集卡、图像处理和显示设备,其中:摄像机是视频输入设备,其输出的视频图像信号被图像采集卡接收;图像采集卡通过采样和量化进行二值化处理得到前景图像,其输出的前景图像送到图像处理设备;图像处理设备对前景图像采用弹性松驰算法进行分析处理得到车长和车高信息,并将处理结果送显示设备进行屏幕显示,或者将图像数据存入图像处理设的缓存等待处理。
本发明与现有技术相比,具有以下的主要优点:
在车型识别系统中,有很多利用正前方或者正上方来拍摄车道。为了更好的提取车型的特征,本发明中把摄像机安装在道路的侧面,通过侧面来拍摄车道上车辆。这种视频采集方式,具有以下几个优点:1)与安装在正前方相比,可以有效的避免车灯的干扰,根据实验结果,当车灯打开时,摄像机几乎拍摄不到任何有效的信息。2)与安装在正前方相比,侧面能够得到更多、更为有效的车型特征,如车长、车高、车辆轮距,而在正面只能够得到不是很准确的车宽、车高,而在车型识别中车长才是最主要的决定性要素。3)如果安装在正上方,它也无法完全避免车灯的影响,而且它只能得到变形的车长和车宽,要根据数学处理后才能得到车长、车宽信息,但是这样处理后误差明显增大,没有在侧面来的简单、精确。所以,本发明在进行车型识别时的视频图片都是基于侧面的拍摄结果。
本发明利用公路收费站现有的摄像机和视频采集卡实时读取视频流,对进入车辆检测区的车辆进行图像采集,通过对视频流图像的选取采集、背景建模、后期处理、识别等技术予以处理,从而达到统计车流量、车型分类的目的。
综上所述:本发明提供地基于弹性松驰算法的车型识别系统,具有简便、灵活、低廉、高效和实用性强的优势。本发明提供的是一种新的车型特征提取方法,该方法运用弹性松驰技术能够较好地解决车辆区域检测和分割过程中的背景变换问题,而且以简单实用的弹性松驰算法代替繁琐的分割算法,大大降低了系统的时间复杂度,提高了系统适用性和鲁棒性,可以广泛用于各种实时系统,并且能够对车型识别取得良好的效果。
【附图说明】
图1为本发明的车型识别系统结构图。
图2为本发明的车型识别系统流程图。
图3为本发明的弹性松弛算法示意图。
【具体实施方式】
本发明涉及一种基于弹性松驰算法的车型识别系统,该系统的结构如图1所示:包括摄像机、图像采集卡、图像处理和显示设备。其中:摄像机是视频输入设备,其输出的视频图像信号被图像采集卡接收;图像采集卡通过采样和量化进行二值化处理得到前景图像,其输出的前景图像送到图像处理设备;图像处理设备对前景图像采用弹性松驰算法进行分析处理得到车长和车高信息,并将处理结果送显示设备进行屏幕显示,或者将图像数据存入图像处理设的缓存等待处理。
所述的视频输入设备是普通CCD(Charge Coupled Device,电荷耦合器件)摄像机,该摄像机安装在道路的侧面的支架上。
所述的图像处理设备可以采用目前使用的图像处理计算机。
本发明提供的基于弹性松驰算法的车型识别系统,其工作过程包括:视频采集、背景模型建立、帧差操作、后期处理、图像弹性松弛算法特征提取、车型识别与分类等主要部分。图像采集卡接收视频图像信号,并通过采样和量化将其二值化,可以将图像实时送到图像处理部分并屏幕显示,也可以将图像数据存入图像处理计算机的缓存等待处理。整个过程概括起来就是:针对实时的视频流,从中抽取关键帧构建背景模型,提取前景图像,然后在前景图像上提取车型特征,根据提取的车型特征,在通过计算机标定后,将二维图像空间的特征向量转变到真实三维世界坐标系中,然后根据已有的车型判定标准,判定车型并计数。
本发明提供的基于弹性松驰算法的车型识别方法是一种新的通用车型识别方法,基本思路是对图像中的各列和各行进行列投影和行投影得到一幅图片的列投影图和行投影图,并借助于列投影图和行投影图获取车长和车高从而判定车型结果。
本发明提供的基于弹性松驰算法的车型识别方法,采用上述的车型识别系统。该方法是:先用摄像机对车辆进行视频采集,将采集的图像建立基于高斯平均背景模型,实现背景动态更新,以此作为检测前景区域;再通过帧差操作方法,将运动目标所在的前景区域从背景中分割提取出来,得到当前帧与背景帧取帧差后的结果图片作为前景图像;采用弹性松驰算法对前景图像中的各列和各行进行列投影和行投影得到一幅图片的列投影图和行投影图,并借助于列投影图和行投影图获取车长和车高;然后根据车型识别领域国家标准判定车型结果。
本发明提供的车型识别方法,其流程如图2所示:主要分为视频采集、背景模型建立、帧差操作、弹性识别算法获取车长车高、车型判别匹配等五个步骤。
第一步:视频采集。视频输入设备是普通CCD摄像机,图像采集卡接收视频图像信号。和通常利用正前方或者正上方来拍摄车道的车型识别系统不同的是,本发明的车型识别系统中的摄像机安装在道路的侧面以有效的避免车灯的干扰并获取更多、更为有效的车型特征如车长、车高、车辆轮距等。
第二步:背景模型建立。本发明的车型识别系统不是选定某一固定背景,而是基于高斯平均背景模型实现背景动态更新,以适应环境的动态性变化。本发明提出的高斯平均背景模型无论在建立背景的效果上还是在建立背景的速度上都胜过多高斯模型。
第三步:帧差操作。建立背景模型作为检测前景区域的基本方法,利用当前帧与背景帧取帧差后的结果图片作为前景图像分割方法。将运动目标所在的前景区域从背景中分割提取出来,即实现前景和背景的分离,是整个车型识别系统中的重要一步。为了方便,本发明的车型识别系统通过建立背景模型作为检测前景区域的基本方法,利用当前帧与背景帧取帧差后的结果图片作为前景图像分割方法。
第四步:弹性松驰算法获取车高、车长。
弹性松驰算法主要用于对车辆是否存在进行判定并对车型特征进行提取。采用弹性松驰算法对图像进行列投影和行投影,得到列投影图和行投影图,从而获取车长和车高。
弹性松驰算法流程是:
输入:视频当前图片与利用高斯平均模型建立的背景图片之差,即帧差图像。
输出:提取出的车长、车高。
本发明所提出的弹性松驰算法是通过在当前背景图像的右边建立两根竖线,其中:一根作为车辆的最右侧判断依据(记作第一标杆1),一根作为车辆的左侧判定依据(记作第二标杆2),如图3所示。然后对图像进行列投影和行投影,得到列投影图和行投影图,从而获取车长和车高。具体方法如下:
(1)当检查到车辆进入(即右侧的按列投影发生急剧变化,所在列的像素个数大于一给定阈值deltaA)时,只要第二标杆2始终处于剧烈变化块中(第二标杆2所在列的像素数大于deltaA),第一标杆1便跟随着急剧变化块往左推进。
(2)不再往前推进的结束条件是:前一帧的图片按列投影中,第一标杆1仍在剧烈变化块内部,而后一帧第一标杆1不在。
(3)在满足上述条件时,第一标杆1和第二标杆2所标志的长度就是车长。而车高可以使用同样的方法解决。
(4)在(3)处理解决后,对提取的车高和车长做后续处理,即第(6)步。
(5)使第一标杆1和第二标杆2归位。跳到第(1)步;
(6)如果车长和车高满足一定的规定要求,可以作出检测到某一类型车的判定,否则,当作无用噪点的影响,直接丢弃。
第五步:车型判别匹配。即借助于本发明的车型识别系统所提出的弹性松驰算法已经得到的车长和车高,最终输出目标车辆的车型匹配结果。根据车型识别领域国家标准,识别车型分为轿车、货车和客车,三类车型的车长和车高存在明显的不同,本发明就是借助于获取的车长和车高信息进行判别匹配,最终输出目标车辆的车型匹配结果,即该车辆类型。
上述的列投影,是指先求得图片的某一列上的黑色(白色)像素点的个数count,然后从该列的底端开始向上数,设置第count个像素值为黑色(白色)。
上述的列投影图,是指将给定的一幅图片上的每一列进行列投影后所得到的图片。
上述的行投影,是指先求得图片的某一行上的黑色(白色)像素点的个数count,然后从该行的左端开始向右数,设置第count个像素值为黑色(白色)。
上述的行投影图,是指将给定的一幅图片上的每一行进行列投影后所得到的图片。