基于红外识别的车辆状态监控方法与流程

文档序号:11951798阅读:480来源:国知局

本发明涉及智能交通,特别涉及一种基于红外识别的车辆状态监控方法。



背景技术:

近年来,随着全球交通需求增大,各类城市道路交通设施资源有限,交通供给与需求不平衡,给城市交通带来巨大的压力。在我国,无证违章驾车、不合格车辆上路行驶、驾驶员疲劳驾车、酒后驾车、超载、超速等是引发交通事故的原因。已有的道路交通事故分析表明,与驾驶员主观因素有关的事故百分率占近95%。真正造成严重车祸的原因最终还是归结于交通参与者本身,从而一套全面的交通安全辅助系统就显得尤为重要。近几年,计算机技术迅速发展,使用摄像头来客观的判别具体的行车环境成为可能,数字图像处理技术日趋完善,使用数字计算机处理所获取的视觉信息越来越准确快速。传统的汽车芯片制造中,采用单片机控制。在单片机内的软件仍然使用最低级的汇编语言。采用单线程运行方式,资源利用率低。智能交通系统的引入,汽车行车安全预警的作用越来越受到重视,功能越来越强大,同时带来的也是任务处理量,计算量的增大。因此仅仅靠单片机的芯片控制已经不能适应汽车的安全制造。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于红外识别的车辆状态监控方法,包括:

对车载嵌入式操作系统进行剪裁,基于所述操作系统来加载驱动和第三方图像软件处理库,然后将编译后的辅助驾驶预警系统移植到嵌入式芯片中,所述辅助驾驶预警系统基于夜间红外图像对前车车距进行监控。

优选地,所述辅助驾驶预警系统包括以下模块:

图像获取模块,用于从摄像头获取红外图像,再进行图像的颜色空间转换和预处理,将检测到的红外图像传送至其他模块;车道检测模块:识别红外图像中的车道标线,判断自身是否在安全车道范围内,如果不是,则发出报警;车距检测模块,通过获取的视频帧,对红外图像进行一系列处理,确定前车或障碍物在图像中的位置,对距离进行判断,如果小于安全距离,则发出警报;车辆报警模块,对前述功能模块出现危险状况时,发出报警;图像显示模块,用于从图像上给出距离提示,给用户提供可视结果;

所述方法还包括,在服务器端安装交叉编译环境,首先设置环境变量,在服务器端进行程序编写及生成二进制镜像,而在嵌入式开发板端加入了相应的硬件及驱动,进行应用程序的运行,其中车距检测模块与车道检测模块采用多线程,使用同一个视频流图像来源,使用计时器类开启线程,当计时器触发时产生一个信号,以这种方式运行的计时器类,采用互斥锁机制实现线程之间的通信;如果一个线程拥有互斥锁,则其他线程此时不能够对其访问,只能处于休眠状态,直到该线程将锁释放解锁。

优选地,在车距检测过程中,在已检测出车道的基础上划分ROI,建立图像掩模,对于红外图像中两条车道的直线为y=k1x+b1和y=k2x+b2,对N×M维图像I(x,y),设置图像掩模M(x,y)同样为N×M的二值图像,为全1矩阵,其生成规则为:

M(x,y)=1 y<k1x+b1且y>k2x+b2

M(x,y)=0 其它

将车辆红外图像进行向量块划分,设定计算得到Ii=I(xi,yi)点的5×5邻域光流向量为Vi=(ui,vi),则得到图像光流场Y(x,y),其中的每一个场方向覆盖原图像中对应位置的5×5邻域;当M(xi,yi)=1时,Y(xi,yi)=(ui,vi);

为进行单一阈值分割,将光流向量在x、y两个方向的分量u、v进行融合,得到融合标量图P(x,y):

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msubsup> <mi>u</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>v</mi> <mi>i</mi> <mn>2</mn> </msubsup> </mrow> </msqrt> </mrow>

对P(xi,yi)进行区域划分,得到红外图像中车辆运动对比区域。

本发明相比现有技术,具有以下优点:

本发明提出了一种基于红外识别的车辆状态监控方法,在嵌入式芯片中实现了机动车安全检测,提高了行车安全预警性能,能够在任务处理量将计算量下实现实时计算和预警。

附图说明

图1是根据本发明实施例的基于红外识别的车辆状态监控方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种基于红外识别的车辆状态监控方法。图1是根据本发明实施例的基于红外识别的车辆状态监控方法流程图。

本发明在车辆行驶过程中车辆检测,实时测距。首先对嵌入式操作系统进行剪裁,加载驱动,然后将编译好的系统进行移植。加载第三方图像软件处理库后,进行应用软件的编写和挂载,然后移植到嵌入式芯片中。采用自适应阈值的方法对候选边缘点检测提取车辆边缘进而提取车辆,从而计算出车距。

本发明在服务器端安装交叉编译环境,首先设置环境变量,在服务器端进行程序编写及生成二进制镜像,而在嵌入式开发板端进行应用程序的运行。因此本发明的辅助驾驶预警系统的程序在嵌入式开发板上加入了相应的硬件及驱动。

本发明的辅助驾驶预警系统使用摄像头采集夜间红外图像,然后在操作系统的基础上,进行应用编写,包括以下模块:

图像获取模块:从摄像头获取红外图像,再进行图像的颜色空间转换和预处理,将检测到的红外图像传送至其他模块。

车道检测模块:识别红外图像中的车道标线,判断自身是否在安全车道范围内,如果不是,则发出报警。

车距检测模块:通过获取的视频帧,对红外图像进行一系列处理,确定前车或障碍物在图像中的位置,对距离进行判断,如果小于安全距离,则发出警报。

车辆报警模块:该模块的功能是对前述功能模块出现危险状况时,发出报警。

图像显示模块:从图像上给出距离提示,给用户提供可视结果。

其中车距检测模块与车道检测模块使用同一个视频流图像来源,因此采用多线程编程实现。本发明使用计时器类开启线程。当计时器触发时产生一个信号,以这种方式运行的计时器类,采用互斥锁机制实现了线程之间的通信。如果有一个线程拥有互斥锁,则其他线程此时不能够对其访问,只能处于休眠状态,直到该线程将锁释放解锁。

对于车道检测,本发明提出的检测方法利用车道颜色和方向这两种已知的特征,对颜色特征进行加权处理,结合方向显著性特征,共同分割车道位置,继而提取车道标识特征点,对候选点进行拟合,得到车道区域。

由于透视原理,道路成像过程中所得到的车道总会相交于某一点,并且实际为平行线的两条车道会在红外图像中呈现为π/3和2π/3两条相交线,根据这一特征对进行方向约束,使显著图叠加方向特征,可以更加清晰地表示车道的显著特征。

对于方向α和尺度β,定义滤波核函数:

<mrow> <msub> <mi>W</mi> <mrow> <mi>&alpha;</mi> <mo>,</mo> <mi>&beta;</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>&beta;</mi> <mo>/</mo> <mrow> <mo>(</mo> <msqrt> <mrow> <mn>2</mn> <mi>&pi;</mi> </mrow> </msqrt> <mi>c</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>(</mo> <mrow> <mn>4</mn> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> </mrow> <mo>)</mo> <mo>/</mo> <mo>(</mo> <mrow> <mn>8</mn> <msup> <mi>c</mi> <mn>2</mn> </msup> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mi>exp</mi> <mo>(</mo> <mrow> <mi>i</mi> <mi>a</mi> <mi>&beta;</mi> </mrow> <mo>)</mo> <mo>-</mo> <mi>exp</mi> <mo>(</mo> <mrow> <mo>-</mo> <msup> <mi>c</mi> <mn>2</mn> </msup> <mo>/</mo> <mn>2</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow>

其中a=xcosα+ysinα,b=-xsinα+ycosα,c=2.2。对车道而言,选取π/3和2π/3两个方向两个尺度下的核函数进行卷积,设I(x,y)为图中(x,y)点的值,I与方向为α和尺度为β下的核函数卷积,定义为:

<mrow> <msub> <mi>G</mi> <mrow> <mi>&alpha;</mi> <mo>,</mo> <mi>&beta;</mi> </mrow> </msub> <mo>=</mo> <mi>I</mi> <mo>&CircleTimes;</mo> <msub> <mi>W</mi> <mrow> <mi>&alpha;</mi> <mo>,</mo> <mi>&beta;</mi> </mrow> </msub> </mrow>

在z=(x,y)点的卷积结果分为实部与虚部两部分,将响应值取为实部与虚部的平方和:

Iα,β(z)=Re(Gα,β(z)2)+Im(Gα,β(z)2)

某一方向α下的响应值定义为该方向不同尺度β的变换结果的融合,为均匀得到两个尺度的信息,取不同尺度结果的平均值,最后得到的融合结果,对于各个不同方向的区域响应各不相同,与红外图像纹理方向相同的区域响应相对较强,而与红外图像纹理方向相悖的区域响应相对较弱。

根据车道具有已知的较明显的颜色特征,在颜色显著图生成过程中对指定颜色像素进行显著度增强,然后在经过颜色特征增强的显著图基础上进行区域对比度比较,得到基于区域对比度的显著图。即在颜色空间上,对某一个像素,计算它到其他所有像素之间的距离总和,便得到了该像素在全局分辨率下的显著图。

在图像I中像素点Ik在利用颜色对比度作为显著性度量方法的显著值计算如下:

S(Ik)=∑1≤j≤nfjD(Ik,Ij)

其中D(Ik,Ij)为像素Ik和Ij在Luv颜色空间中的颜色距离。n为红外图像中包含的所有各类颜色的总数,fj是具有像素点Ik颜色的所有像素点的数量。

设颜色显著图为S,方向显著图设为R,为进一步凸显车道,需将颜色显著图和方向显著图相融合。分别对颜色显著图和方向显著图做正则化处理。

N(S)=(S-min(S))/(max(S)-min(S))

式中max(S),min(S)分别代表显著图中的最大和最小值。

在此基础上,将两者做融合处理得到总显著图SR。

SR=N(S)×N(R)

对显著图进行二值化处理,得到分割图像。故而从图像中心线开始检索,选取显著图近景处1/3为ROI,提取两条车道特征点,设为(xi,yi)(i=0,1,2,...,n)。如果函数y=F(x)对应的参数方程为y=kx+b,对任意特征点(xi,yi)对应目标直线的误差为ε=F(xi)-yi,则所有特征点对应的误差平方和如下所示:

<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>b</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mrow> <mo>&lsqb;</mo> <msub> <mi>kx</mi> <mi>i</mi> </msub> <mo>+</mo> <mi>b</mi> <mo>-</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>&rsqb;</mo> </mrow> <mn>2</mn> </msup> </mrow>

上式取得最小值的函数即为所要求的直线参数。

对于车距检测,首先要识别提取红外图像中的前方车辆。本发明采用一种近似圆形滑窗进行边缘检测。将近似圆形滑窗在待检测的灰度红外图像上滑动,滑窗内部给予编号的每个像素点的灰度值都将与滑窗中心像素的灰度值进行比较。如果滑窗内某点像素的灰度值与中心灰度的差值小于设定的阈值t,则确定该点与滑窗中心点有相同的灰度,滑窗内所有与中心有相同灰度的值的总和构成相似区域。

将坐标(xc,yc)表示滑窗的中心坐标。采用相似比较函数如下:

c(x,y)=exp[-[[I(x,y)-I(xc,yc)]/2]6]

I(x,y)为坐标x,y的灰度;

则相似区域的大小计算为:

一般情况下,阈值t决定了能够提取的特征点的特征数量。本发明在不同对比度下对t值自适应选择:在圆形滑窗内,通过累加滑窗内像素值来确定滑窗内像素与滑窗中心像素差值的阈值t。计算方法如下:

对于给定的近似圆形滑窗,sum表示累加变量,img(i,j)(k)表示中心像素在源图像中的第i行第j列,k表示滑窗中的第k个像素。

则第k个像素的阈值t为:

t=sum/n(xc,yc)

<mrow> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>s</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>img</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </mrow>

sum通过累加滑窗像素的方法使t值计算有了局部对比度的响应特性,对于滑窗内的像素,t值在增大,可以除去大部分对比度较小的复杂背景,保留目标,很好的分离目标与背景,并细化边缘,因此能较准确的保留车辆边缘。

求出第k个像素与中心像素的差值,与t作比较,若小于等于t则,相似区域加1,最后判断相似区域与阈值g的大小,若小于g,则当前像素为边缘点,将当前像素值设为255,否则,当前像素不是边缘点,将其设为0。

在上述边缘检测前,先进行初步筛选,只对候选边缘点做边缘检测,筛选方法如下:

首先以中心像素点为中心,计算垂直线段两端的像素差,并与预先设置的差值阈值Th进行比较,边缘出现在灰度对比度大的像素点,因此大于Th的灰度像素点作为候选边缘点,反之,小于Th的点则被认为是内部像素点准备去除。

视频图像中的车辆在图像中的形状呈现一定的规则,一般都是有比例的长方形,因此本发明采用形状特征作为检测车辆依据。车辆是有线条的规则的,顶和底部水平线,两侧垂直边等在图像中经过处理后,都会呈现一定的直线等特征。

针对复杂行车环境,本发明选择形状特征和边界特征作为提取车辆位置的特征。首先本发明对图像进行剪裁,只对近景进行车辆检测,然后对红外图像进行增强处理,包括膨胀,腐蚀等算法。为了进一步确定车辆位置,使用车辆的形状特征,排除背景引起的误测。

可选地,在车距检测中,通过对每一个光流向量模的大小的分类进行车辆分割,得到前车位置。

在已检测出车道的基础上可以划分ROI,建立图像掩模,如果红外图像中两条车道的直线为y=k1x+b1和y=k2x+b2,对于N×M维图像I(x,y),设置图像掩模M(x,y)同样为N×M的二值图像,为全1矩阵。其生成规则如下所示。

M(x,y)=1 y<k1x+b1且y>k2x+b2

M(x,y)=0 其它

车辆在红外图像中的覆盖面积远远大于一个像素块,所以要将图像进行向量块划分,设定计算得到Ii=I(xi,yi)点的5×5邻域光流向量为Vi=(ui,vi),则可以得到图像光流场Y(x,y),其中的每一个场方向覆盖原图像中对应位置的5×5邻域。当M(xi,yi)=1时,Y(xi,yi)=(ui,vi)

为了进行单一阈值分割,将光流向量在x、y两个方向的分量u、v进行融合,得到融合标量图P(x,y):

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msubsup> <mi>u</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>v</mi> <mi>i</mi> <mn>2</mn> </msubsup> </mrow> </msqrt> </mrow>

对P(xi,yi)进行区域划分,得到红外图像中车辆运动对比区域,为之后的预警计算提供可靠保障。

综上所述,本发明提出了一种基于红外识别的车辆状态监控方法,在嵌入式芯片中实现了机动车安全检测,提高了行车安全预警性能,能够在任务处理量将计算量下实现实时计算和预警。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1