一种基于图像匹配和识别技术的车辆监控方法
技术领域
本发明涉及车辆监控,特别是一种基于图像识别的车辆监控方法,适用于物流行业的车辆监控。
背景技术
随着车辆管理信息系统在各个行业的广泛运用,对车辆活动状态的跟踪、监控尤其的重要,尤其是车辆的加油、配送等会影响运营成本的车辆活动更加需要可靠的监控手段和方法,以实现用户透明化管理和控制成本的目标。以车辆的加油活动为例,目前通过车机上传的经纬度、时间、速度、活动状态、传感器电压等数据,我们可以计算出该车辆在对应时刻的油箱油位和油耗,通过对相邻时刻的油位比较,可以得到车辆的加油时刻点。但是由于车辆的行驶活动以及其他因素会影响车机上传的数据,该时间点是否属于正常的加油时刻点,很难断定。同样车辆的其他类似活动也具有不可靠、难判断等特点。
发明内容
本发明的目的是针对上述不足之处提供一种基于图像匹配和识别技术的车辆监控方法,结合图像匹配和识别技术,能够监控车辆的配送活动、加油活动等,对车辆的活动状态进行跟踪和监控,以实现用户透明化管理和控制成本,具有可靠性强、成本低、自动化率高等特点。
本发明一种基于图像匹配和识别技术的车辆监控方法是采取以下技术方案实现的:该方法包括下述步骤,
1)利用数字图像匹配和处理的方法,在地图图像中寻找到每个目的地图标,得出各个目的地图标的经纬度,并将经纬度信息记录在地图系统中;
2)车辆进行配送活动时,当车辆的经纬度和步骤1)中记录的目的地的图标经纬度近似相等时,得出车辆正在进行配送活动;否则认为配送活动不成立。
步骤1)中的数字图像匹配和处理,包括如下步骤:
第1步,彩色地图图像灰度化
所述灰度化即将彩色图像转换成灰色图像;在彩色RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。从真彩色图像中求取对应像素灰度值的方程式为:
其中(x,y)代表像素点坐标。
经过这步运算,灰度值被归一化到0~255之内,从而实现彩色地图图像灰度化。
第2步,将第1步中得到的灰度图像二值化
在进行了灰度化处理后,图像中的每个像素都有一个灰度值,它体现了像素的明暗程度。为了展开后续算法,还需要对灰度图像做一个二值化处理。图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。即将256个亮度登记的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。关于图像的二值化,已有许多成熟的算法,可以采用自适应阈值法,也可以采用给定阈值法;而进行图像二值变换的关键是确定合适的阈值,使得对象与背景能够分割开来,而且二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。同时,智能交通系统要求处理的速度快、信息量大,采用二值图像进行处理,能大大地提高处理效率。
二值化的关键是要找到合适的阈值t来区分对象和背景。
二值化的过程表示如下:
其中,原来灰度图像为f(x,y),二值化后的图像为G(x,y)。
阈值t的选择是关键,它可以表示为一个三元组,即
其中,(x,y)是图像中像素位置,f(x,y)代表图像中(x,y)处的灰度值, N(x,y)是周围邻域的灰度特征。
二值化的阀值选取有很多方法,主要分为3类:全局阀值法、局部阀值法和动态阀值法。
(1)全局阀值法
全局阀值二值化方法是根据图像的直方图或灰度的空间分布确定一个阀值,并根据此阀值实现灰度图像到二值化图像的转化。典型的全局阀值方法包括Ostu法、最大熵法等。
(2)局部阀值法
局部阀值法则是由象素灰度值和像素周围点局部灰度特性来确定象素的阀值的,Bernsen算法是典型的局部阀值方法,非均匀光照条件等情况虽然影响整体图像的灰度分布却不影响局部的图像性质。此时邻域的规定及邻域计算模板的选取都是决定算法效果的关键因素。
(3)动态阀值法
动态阈值法的阀值选择不仅取决于该象素灰度值以及它周围象素的灰度值,而且还和该象素的坐标位置有关。
第2步中采用全局阀值法中的Ostu法来实现灰度图像二值化,利用matlab工具箱的中graythresh函数实现。
第3步,标记第2步中得到的二值化图像的连通区域
将第2步中得到的二值化图像的连通区域做出标记,因为所要匹配的图像是连通图,只需对第一个连通区域进行操作,能够减少匹配算法的搜索和执行时间。
二值图像标记的步骤如下:
3.1)标记图像左上角,即第一行第一列的像素
如果其像素值为255,则标记该点的值为1,否则,开始扫描第一行第二列的像素。
3.2)标记第一行的其它像素
此时,不会产生等价对的情况,不必考虑记录等价对。对该行的每一个像素,如果其值为255,检测左边像素是否为255,若是,则该点标记为左边像素点的标记;否则,该点的标记为前一个标记值加一;若该点的像素值为0,继续扫描下一个像素。
3.3)对除了第一行以外的像素行进行标记,此时会出现等价对的情况,需要进行记录。
3.3.1)首先对第一列进行处理,若该点像素值为0, 则扫描该行下一个像素,否则,检测上、右上两个像素位置的像素值。若上被标记过,该点标记为上像素点的标记值。这时,再看右上是否被标记过,若也被标记 过,比较上和右上的标记值是否相等,如果不相等,则记录上和右上为一个等价对,并将其记录在等价对记录表中。若上没有被标记,而右上被标记了,则该点标记 为右上的标记值。如果上和右上都没有被标记,该点的标记值为上一个标记值加一。
3.3.2)对中间列进行处理,若该像素的像素值为255,则检测左、左上、上、右上位置的像素值。若上述四个位置的像素值都为0,则该点的标记值为上一个标记值加一。如果上述四个位置中只有一个的像素值为255,则该点就标记为那个像素点的标记值。如果其中有m(m大于1,小于等于4)个像素点的像素值为255,则按照左、左上、上、右上的优先顺序来确定该点的标记值,然后对这m个像素位置的标记值进行等价对的分析,并进行相应的记录。
3.3.3)对最后一列进行处理,步骤同上。
3.3.4)依次扫描,直到所有像素值都被扫描。
3.4)在第二次扫描时用等价记录表中最小的标号赋予所有等价标号对应的连通体,得到最终的连通区域标记。
第4步,检测第3步中所标记的连通区域的边缘
边缘检测的实质是采用某种算法来提取出图像中对象与背景问的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。
第一个连通区域是白底的,包含了所有的黑色边缘的连通物体,所述边缘检测即要检测出这些包含了连通物体的黑色边缘。经过第4步操作,使得所有的连通物体都能进行单独标记。
所述边缘检测步骤如下:
4.1)滤波
使用滤波器来改善与噪声有关的边缘检测器的性能。边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。
4.2)增强
通过计算梯度幅值来完成边缘增强。增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。
4.3)检测
采用梯度幅值阈值判据来确定边缘点,实现边缘检测。在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。
4.4)定位
通过子像素分辨率估出确定的边缘位置。如果某一应用场合要求确定边缘位置,则边缘的位置能够在子像素分辨率上来估计,边缘的方位也能够被估计出来。
第5步,标记进行了边缘检测后的二值化图像
给第4步中进行了边缘检测后的所有连通物体加标记,如L是与连通物体图像大小相同的类别标签,则L=i表示第i个连通物体。
第6步,特征匹配
根据第5步中标记的某个连通物体图像的高度和宽度特征,与目的地图标匹配图的高度和宽度特征比较,如果相等或相近(原则上要求相等,但在算法中考虑到边缘检测的不理想效果,把那些和匹配图宽、高度相差一个像素点的也考虑进来),则进行第8步;如果不相等也不相近,进行第7步。
第7步,匹配地图原图的四周区域
判断第6步中匹配的结果,是否包含下述四种情况:1)是否接近匹配图下部分图像;2)是否接近匹配图上部分图像;3)是否接近匹配图左部分图像;4)是否接近匹配图右部分图像,如果有其中之一的情况,则进行第8步;
因为考虑分割地图时,有些要匹配的图像被一分为二,因此不能简单根据第6步来检测匹配图像。
第8步,灰度匹配
剪裁出原图灰度图满足条件的某个物体所对应的子图,和匹配图进行灰度匹配,即计算两个图像的灰度值之间的相关性,如果相关系数大于0.9,则认为两者匹配,将子图的起始位置赋值给输出数组变量。
第9步,输出经纬度。
通过上面的步骤,可以匹配到目的地址在地图上的准确位置, 从而得到各个得到各个目的地在地图中的准确的经纬度信息。
当被监控车辆运行到目的地地址进行配送活动时,车辆信息管理系统将自动匹配车辆坐标和目的地的经纬度坐标,当两者坐标距离小于1米时,认为车辆正在进行配送活动,将此活动告警给用户显示,提高用户车辆监控的准确性。
所述第4步中采用Canny边缘检测算法进行边缘检测,第6步中采用8连通区域进行连通区域的匹配。根据图像的特征,找到原图中的连通区域,进行Canny边缘检测,排除那些和匹配图无关的非连通区域,以减小检索的范围;然后在目标区域采用灰度匹配,用以提高检索的精度。该方法完全能高效实现了匹配图的匹配。
本发明的优点:本发明方法采用图像匹配和识别算法、特征匹配和灰度匹配方法来可靠、有效地确定车辆配送、加油等活动,能够提高车辆管理信息系统的准确性。运用到图像匹配及识别技术在图像化的地图中获得某个区域所有超市标志的位置信息,从而实现用户透明化管理和控制成本的目标,同时还可应用于其他项目中地标点的采集,目标跟踪,可以减少人力资源的投入,节约成本。
附图说明
以下将结合附图对本发明作进一步说明:
图1是本发明数字图像匹配和处理方法的流程图。
图2是本发明数字图像匹配和处理方法中经过彩色图像灰度化后的地图图像。
图3是本发明数字图像匹配和处理方法中经过二值化后的地图图像。
图4是本发明数字图像匹配和处理方法中进行了边缘检测后的地图图像。
图5是本发明数字图像匹配和处理方法最终成功进行目的地图标匹配的地图图像。
具体实施方式
参照附图1~5,本发明基于图像匹配和识别技术的车辆监控方法包括下述步骤:
1)利用数字图像匹配和处理的方法,在地图图像中寻找到每个目的地图标,得出各个目的地图标的经纬度,并将经纬度信息记录在地图系统中;
2)车辆进行配送活动时,当车辆的经纬度和步骤1)中记录的目的地的图标经纬度近似相等时,得出车辆正在进行配送活动;否则认为配送活动不成立。
步骤1)中的数字图像匹配和处理,包括如下步骤:
第1步,彩色地图图像灰度化
所述灰度化即将彩色图像转换成灰色图像;在彩色RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。从真彩色图像中求取对应像素灰度值的方程式为:
其中(x,y)代表像素点坐标。
经过这步运算,灰度值被归一化到0~255之内,从而实现彩色地图图像灰度化。
第2步,将第1步中得到的灰度图像二值化
在进行了灰度化处理后,图像中的每个像素都有一个灰度值,它体现了像素的明暗程度。为了展开后续算法,还需要对灰度图像做一个二值化处理。图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。即将256个亮度登记的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。关于图像的二值化,已有许多成熟的算法,可以采用自适应阈值法,也可以采用给定阈值法;而进行图像二值变换的关键是确定合适的阈值,使得对象与背景能够分割开来,而且二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。同时,智能交通系统要求处理的速度快、信息量大,采用二值图像进行处理,能大大地提高处理效率。
二值化的关键是要找到合适的阈值t来区分对象和背景。
二值化的过程表示如下:
其中,原来灰度图像为f(x,y),二值化后的图像为G(x,y)。
阈值t的选择是关键,它可以表示为一个三元组,即
其中,(x,y)是图像中像素位置,f(x,y)代表图像中(x,y)处的灰度值, N(x,y)是周围邻域的灰度特征。
二值化的阀值选取有很多方法,主要分为3类:全局阀值法、局部阀值法和动态阀值法。
(1)全局阀值法
全局阀值二值化方法是根据图像的直方图或灰度的空间分布确定一个阀值,并根据此阀值实现灰度图像到二值化图像的转化。典型的全局阀值方法包括Ostu法、最大熵法等。
(2)局部阀值法
局部阀值法则是由象素灰度值和像素周围点局部灰度特性来确定象素的阀值的,Bernsen算法是典型的局部阀值方法,非均匀光照条件等情况虽然影响整体图像的灰度分布却不影响局部的图像性质。此时邻域的规定及邻域计算模板的选取都是决定算法效果的关键因素。
(3)动态阀值法
动态阈值法的阀值选择不仅取决于该象素灰度值以及它周围象素的灰度值,而且还和该象素的坐标位置有关。
第2步中采用全局阀值法中的Ostu法来实现灰度图像二值化,利用matlab工具箱的中graythresh函数实现。
第3步,标记第2步中得到的二值化图像的连通区域
将第2步中得到的二值化图像的连通区域做出标记,因为所要匹配的图像是连通图,只需对第一个连通区域进行操作,能够减少匹配算法的搜索和执行时间。
二值图像标记的步骤如下:
3.1)标记图像左上角,即第一行第一列的像素
如果其像素值为255,则标记该点的值为1,否则,开始扫描第一行第二列的像素。
3.2)标记第一行的其它像素
此时,不会产生等价对的情况,不必考虑记录等价对。对该行的每一个像素,如果其值为255,检测左边像素是否为255,若是,则该点标记为左边像素点的标记;否则,该点的标记为前一个标记值加一;若该点的像素值为0,继续扫描下一个像素。
3.3)对除了第一行以外的像素行进行标记,此时会出现等价对的情况,需要进行记录。
3.3.1)首先对第一列进行处理,若该点像素值为0, 则扫描该行下一个像素,否则,检测上、右上两个像素位置的像素值。若上被标记过,该点标记为上像素点的标记值。这时,再看右上是否被标记过,若也被标记 过,比较上和右上的标记值是否相等,如果不相等,则记录上和右上为一个等价对,并将其记录在等价对记录表中。若上没有被标记,而右上被标记了,则该点标记 为右上的标记值。如果上和右上都没有被标记,该点的标记值为上一个标记值加一。
3.3.2)对中间列进行处理,若该像素的像素值为255,则检测左、左上、上、右上位置的像素值。若上述四个位置的像素值都为0,则该点的标记值为上一个标记值加一。如果上述四个位置中只有一个的像素值为255,则该点就标记为那个像素点的标记值。如果其中有m(m大于1,小于等于4)个像素点的像素值为255,则按照左、左上、上、右上的优先顺序来确定该点的标记值,然后对这m个像素位置的标记值进行等价对的分析,并进行相应的记录。
3.3.3)对最后一列进行处理,步骤同上。
3.3.4)依次扫描,直到所有像素值都被扫描。
3.4)在第二次扫描时用等价记录表中最小的标号赋予所有等价标号对应的连通体,得到最终的连通区域标记。
第4步,检测第3步中所标记的连通区域的边缘
边缘检测的实质是采用某种算法来提取出图像中对象与背景问的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。
第一个连通区域是白底的,包含了所有的黑色边缘的连通物体,所述边缘检测即要检测出这些包含了连通物体的黑色边缘。经过第4步操作,使得所有的连通物体都能进行单独标记。
所述边缘检测步骤如下:
4.1)滤波
使用滤波器来改善与噪声有关的边缘检测器的性能。边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。
4.2)增强
通过计算梯度幅值来完成边缘增强。增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。
4.3)检测
采用梯度幅值阈值判据来确定边缘点,实现边缘检测。在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。
4.4)定位
通过子像素分辨率估出确定的边缘位置。如果某一应用场合要求确定边缘位置,则边缘的位置能够在子像素分辨率上来估计,边缘的方位也能够被估计出来。
第5步,标记进行了边缘检测后的二值化图像
给第4步中进行了边缘检测后的所有连通物体加标记,如L是与连通物体图像大小相同的类别标签,则L=i表示第i个连通物体。
第6步,特征匹配
根据第5步中标记的某个连通物体图像的高度和宽度特征,与目的地图标匹配图的高度和宽度特征比较,如果相等或相近(原则上要求相等,但在算法中考虑到边缘检测的不理想效果,把那些和匹配图宽、高度相差一个像素点的也考虑进来),则进行第8步;如果不相等也不相近,进行第7步。
第7步,匹配地图原图的四周区域
判断第6步中匹配的结果,是否包含下述四种情况:1)是否接近匹配图下部分图像;2)是否接近匹配图上部分图像;3)是否接近匹配图左部分图像;4)是否接近匹配图右部分图像,如果有其中之一的情况,则进行第8步;
因为考虑分割地图时,有些要匹配的图像被一分为二,因此不能简单根据第6步来检测匹配图像。
第8步,灰度匹配
剪裁出原图灰度图满足条件的某个物体所对应的子图,和匹配图进行灰度匹配,即计算两个图像的灰度值之间的相关性,如果相关系数大于0.9,则认为两者匹配,将子图的起始位置赋值给输出数组变量。图4所示为最终匹配结果。
第9步,输出经纬度。
通过上面的步骤,可以匹配到目的地址在地图上的准确位置, 从而得到各个得到各个目的地在地图中的准确的经纬度信息。
当被监控车辆运行到目的地地址进行配送活动时,车辆信息管理系统将自动匹配车辆坐标和目的地的经纬度坐标,当两者坐标距离小于1米时,认为车辆正在进行配送活动,将此活动告警给用户显示,提高用户车辆监控的准确性。
所述第4步中采用Canny边缘检测算法进行边缘检测,第6步中采用8连通区域进行连通区域的匹配。根据图像的特征,找到原图中的连通区域,进行Canny边缘检测,排除那些和匹配图无关的非连通区域,以减小检索的范围;然后在目标区域采用灰度匹配,用以提高检索的精度。该方法完全能高效实现了匹配图的匹配,结果如图3所示。
实施例1:
在加油活动监控中在地图中每个加油站都有自己的标志,在车辆加油的时刻点,车辆的经纬度应该和对应加油站的经纬度近似相等。因此,根据计算出来的车辆加油时刻点车辆的经纬度,我们查询出该经纬度区域的所有加油站的位置,然后再进行匹配比较,即可可靠地确认车辆的加油活动。
如何在地图中获得某个区域所有加油站的位置信息,这就涉及到图像处理方面的技术。目前,对图像处理技术的研究已经很深入,如各种智能算法包括BP神经网络、遗传算法、小波技术以及数字图像处理技术。而在多数智能算法中,大多需要提取输入图像的特征。输入的图像不同,提取特征的方式也要改变。考虑到项目的通用性和可扩展性,最终决定采用数字图像技术来解决实际项目中的图像问题。
在研究过程中,尝试了多种方法,结果或运行时间偏长,或对要匹配的图像有限制,最终在综合多种方法的基础上,才成功实现了图像匹配算法。以加油站为例,从地图中剪裁加油站的图标保存下来,作为匹配图。将待查询的地图区域分割成256 x 256像素的子图,再将子图作为原图,查找匹配图在原图中的位置。使用者可以根据原图本身的经纬度信息,从而可以得到匹配位置的经纬度信息。