机动车行车安全预警方法
【专利摘要】本发明提供了一种机动车行车安全预警方法,该方法包括:在车辆行驶过程中,对车载摄像机所捕获的图像进行车距检测;当车辆与前车的车距小于安全距离时发出报警。本发明提出了一种机动车行车安全预警方法,在嵌入式芯片中实现了机动车安全检测,提高了行车安全预警性能,能够在任务处理量将计算量下实现实时计算和预警。
【专利说明】
机动车行车安全预警方法
技术领域
[0001] 本发明涉及智能交通,特别涉及一种机动车行车安全预警方法。
【背景技术】
[0002] 近年来,随着全球交通需求增大,各类城市道路交通设施资源有限,交通供给与需 求不平衡,给城市交通带来巨大的压力。在我国,无证违章驾车、不合格车辆上路行驶、驾驶 员疲劳驾车、酒后驾车、超载、超速等是引发交通事故的原因。已有的道路交通事故分析表 明,与驾驶员主观因素有关的事故百分率占近95%。真正造成严重车祸的原因最终还是归 结于交通参与者本身,从而一套全面的交通安全辅助系统就显得尤为重要。近几年,计算机 技术迅速发展,使用摄像头来客观的判别具体的行车环境成为可能,数字图像处理技术日 趋完善,使用数字计算机处理所获取的视觉信息越来越准确快速。传统的汽车芯片制造中, 采用单片机控制。在单片机内的软件仍然使用最低级的汇编语言。采用单线程运行方式,资 源利用率低。智能交通系统的引入,汽车行车安全预警的作用越来越受到重视,功能越来越 强大,同时带来的也是任务处理量,计算量的增大。因此仅仅靠单片机的芯片控制已经不能 适应汽车的安全制造。
【发明内容】
[0003] 为解决上述现有技术所存在的问题,本发明提出了一种机动车行车安全预警方 法,包括:
[0004] 在车辆行驶过程中,对车载摄像机所捕获的图像进行车距检测;当车辆与前车的 车距小于安全距离时发出报警。
[0005] 优选地,所述车距检测进一步包括:
[0006] 首先采用近似圆形滑窗进行边缘检测,即将近似圆形滑窗在待检测的灰度图像上 滑动,滑窗内部给予编号的每个像素点的灰度值都与滑窗中心像素的灰度值进行比较,如 果滑窗内某点像素的灰度值与中心灰度的差值小于设定的阈值t,则确定该点与滑窗中心 点有相同的灰度,滑窗内所有与中心有相同灰度的值的总和构成相似区域;
[0007] 将坐标(Xc,yc)表示滑窗的中心坐标,采用相似比较函数如下:
[0008] c(x,y)=exp[-[[I(x,y)-I(xc,yc)]/2]6]
[0009] 1&,7)为坐标1,7的灰度;
[0010] 则相似区域的大小计算为:n(xc,yc)=X(x, y)私,y.〇C(X,y)
[0011] 在不同对比度下对t值自适应选择,即在圆形滑窗内,通过累加滑窗内像素值来确 定滑窗内像素与滑窗中心像素差值的阈值t:
[0012]对于给定的近似圆形滑窗,用sum表示累加变量,img(i, j) (k)表示中心像素在源图 像中的第i行第j列,k表示滑窗中的第k个像素,则第k个像素的阈值t为:
[0013] t = sum/n(xc,yc) :k
[0014] sum=^ img(i. j,(s) 5=1
[0015] sum通过累加滑窗像素使t值响应于局部对比度;
[0016] 求出第k个像素与中心像素的差值,与t作比较,若小于等于t则,相似区域加1,最 后判断相似区域与阈值g的大小,若小于g,则当前像素为边缘点,将当前像素值设为255,否 贝1J,当前像素不是边缘点,将其设为0。
[0017] 优选地,,所述边缘检测之前,还方法还包括:只对候选边缘点做边缘检测,筛选方 法如下:
[0018] 首先以中心像素点为中心,计算垂直线段两端的像素差,并与预先设置的差值阈 值Th进行比较,大于Th的灰度像素点作为候选边缘点,反之,小于Th的点则被认为是内部像 素点准备去除。
[0019] 本发明相比现有技术,具有以下优点:
[0020] 本发明提出了一种机动车行车安全预警方法,在嵌入式芯片中实现了机动车安全 检测,提高了行车安全预警性能,能够在任务处理量将计算量下实现实时计算和预警。
【附图说明】
[0021] 图1是根据本发明实施例的机动车行车安全预警方法的流程图。
【具体实施方式】
[0022] 下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描 述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利 要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以 便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的 一些或者所有细节也可以根据权利要求书实现本发明。
[0023] 本发明的一方面提供了一种机动车行车安全预警方法。图1是根据本发明实施例 的机动车行车安全预警方法流程图。
[0024] 本发明在车辆行驶过程中车辆检测,实时测距。首先对嵌入式操作系统进行剪裁, 加载驱动,然后将编译好的系统进行移植。加载第三方图像软件处理库后,进行应用软件的 编写和挂载,然后移植到嵌入式芯片中。采用自适应阈值的方法对候选边缘点检测提取车 辆边缘进而提取车辆,从而计算出车距。
[0025] 本发明在服务器端安装交叉编译环境,首先设置环境变量,在服务器端进行程序 编写及生成二进制镜像,而在嵌入式开发板端进行应用程序的运行。因此本发明的辅助驾 驶预警系统的程序在嵌入式开发板上加入了相应的硬件及驱动。
[0026] 本发明的辅助驾驶预警系统使用摄像头采集图像,然后在操作系统的基础上,进 行应用编写,包括以下模块:
[0027]图像获取模块:从摄像头获取图像,再进行图像的颜色空间转换和预处理,将检测 到的图像传送至其他模块。
[0028]车道检测模块:识别图像中的车道标线,判断自身是否在安全车道范围内,如果不 是,则发出报警。
[0029] 车距检测模块:通过获取的视频帧,对图像进行一系列处理,确定前车或障碍物在 图像中的位置,对距离进行判断,如果小于安全距离,则发出警报。
[0030] 车辆报警模块:该模块的功能是对前述功能模块出现危险状况时,发出报警。
[0031] 图像显示模块:从图像上给出距离提示,给用户提供可视结果。
[0032] 其中车距检测模块与车道检测模块使用同一个视频流图像来源,因此采用多线程 编程实现。本发明使用计时器类开启线程。当计时器触发时产生一个信号,以这种方式运行 的计时器类,采用互斥锁机制实现了线程之间的通信。如果有一个线程拥有互斥锁,则其他 线程此时不能够对其访问,只能处于休眠状态,直到该线程将锁释放解锁。
[0033]对于车道检测,本发明提出的检测方法利用车道颜色和方向这两种已知的特征, 对颜色特征进行加权处理,结合方向显著性特征,共同分割车道位置,继而提取车道标识特 征点,对候选点进行拟合,得到车道区域。
[0034]由于透视原理,道路成像过程中所得到的车道总会相交于某一点,并且实际为平 行线的两条车道会在图像中呈现为V3和2V3两条相交线,根据这一特征对进行方向约束, 使显著图叠加方向特征,可以更加清晰地表示车道的显著特征。
[0035]对于方向a和尺度0,定义滤波核函数:
[0036] W(,.|i(x, y)= |3/( c)-exp(-a2(4a2+b 2)/(8c2))(exp(iaP )-exp(-cV2))
[0037] 其中a = xcosa+ysina,b = _xsina+ycosa,c = 2 ? 2。对车道而言,选取jt/3和2jt/3两 个方向两个尺度下的核函数进行卷积,设I (x,y)为图中(x,y)点的值,I与方向为a和尺度为 0下的核函数卷积,定义为:
[0038] Ga^=I?Wa.(3
[0039] 在z = (x,y)点的卷积结果分为实部与虚部两部分,将响应值取为实部与虚部的平 方和:
[0040] Ia,p(z) = Re(Ga,p(z)2)+Im(Ga,p(z)2)
[0041] 某一方向a下的响应值定义为该方向不同尺度0的变换结果的融合,为均匀得到两 个尺度的信息,取不同尺度结果的平均值,最后得到的融合结果,对于各个不同方向的区域 响应各不相同,与图像纹理方向相同的区域响应相对较强,而与图像纹理方向相悖的区域 响应相对较弱。
[0042]根据车道具有已知的较明显的颜色特征,在颜色显著图生成过程中对指定颜色像 素进行显著度增强,然后在经过颜色特征增强的显著图基础上进行区域对比度比较,得到 基于区域对比度的显著图。即在颜色空间上,对某一个像素,计算它到其他所有像素之间的 距离总和,便得到了该像素在全局分辨率下的显著图。
[0043]在图像I中像素点Ik在利用颜色对比度作为显著性度量方法的显著值计算如下: [0044] S(Ik) = Eis:js:nfjD(IkJj)
[0045]其中D(Ik,Ij)为像素 Ik和Ij在Luv颜色空间中的颜色距离。n为图像中包含的所有 各类颜色的总数,t是具有像素点Ik颜色的所有像素点的数量。
[0046]设颜色显著图为S,方向显著图设为R,为进一步凸显车道,需将颜色显著图和方向 显著图相融合。分别对颜色显著图和方向显著图做正则化处理。
[0047] N(S)=(S-min(S))/(max(S)-min(S))
[0048] 式中max(S),min(S)分别代表显著图中的最大和最小值。
[0049] 在此基础上,将两者做融合处理得到总显著图SR。
[0050] SR = N(S) XN(R)
[0051]对显著图进行二值化处理,得到分割图像。故而从图像中心线开始检索,选取显著 图近景处1/3为R0I,提取两条车道特征点,设为(Xi,yi)(i = 0,l,2, . . .,n)。如果函数y = F (x)对应的参数方程为y = kx+b,对任意特征点(Xi,yi)对应目标直线的误差为e=F(Xi)_yi, 则所有特征点对应的误差平方和如下所示: n
[0052] f(k,b)=minZ [kxi+b-y.i]2 i=l
[0053] 上式取得最小值的函数即为所要求的直线参数。
[0054]对于车距检测,首先要识别提取图像中的前方车辆。本发明采用一种近似圆形滑 窗进行边缘检测。将近似圆形滑窗在待检测的灰度图像上滑动,滑窗内部给予编号的每个 像素点的灰度值都将与滑窗中心像素的灰度值进行比较。如果滑窗内某点像素的灰度值与 中心灰度的差值小于设定的阈值t,则确定该点与滑窗中心点有相同的灰度,滑窗内所有与 中心有相同灰度的值的总和构成相似区域。
[0055] 将坐标(Xc;,y。)表示滑窗的中心坐标。采用相似比较函数如下:
[0056] c(x,y)=exp[-[[I(x,y)-I(xc,yc)]/2]6]
[0057] 1(1,7)为坐标义,7的灰度;
[0058] 则相似区域的大小计算为:11(XC yc)=E(x. y)^(xc. y,)C(x, y)
[0059] -般情况下,阈值t决定了能够提取的特征点的特征数量。本发明在不同对比度下 对t值自适应选择:在圆形滑窗内,通过累加滑窗内像素值来确定滑窗内像素与滑窗中心像 素差值的阈值t。计算方法如下:
[0060] 对于给定的近似圆形滑窗,sum表示累加变量,img(lu)(k)表示中心像素在源图像 中的第i行第j列,k表示滑窗中的第k个像素。
[0061 ]则第k个像素的阈值t为:
[0062] t = sum/n(xc,yc) k
[0063] sum=y. img(,. .)(s) 5=1
[0064] sum通过累加滑窗像素的方法使t值计算有了局部对比度的响应特性,对于滑窗内 的像素,t值在增大,可以除去大部分对比度较小的复杂背景,保留目标,很好的分离目标与 背景,并细化边缘,因此能较准确的保留车辆边缘。
[0065] 求出第k个像素与中心像素的差值,与t作比较,若小于等于t则,相似区域加1,最 后判断相似区域与阈值g的大小,若小于g,则当前像素为边缘点,将当前像素值设为255,否 贝1J,当前像素不是边缘点,将其设为〇。
[0066] 在上述边缘检测前,先进行初步筛选,只对候选边缘点做边缘检测,筛选方法如 下:
[0067] 首先以中心像素点为中心,计算垂直线段两端的像素差,并与预先设置的差值阈 值Th进行比较,边缘出现在灰度对比度大的像素点,因此大于Th的灰度像素点作为候选边 缘点,反之,小于Th的点则被认为是内部像素点准备去除。
[0068] 视频图像中的车辆在图像中的形状呈现一定的规则,一般都是有比例的长方形, 因此本发明采用形状特征作为检测车辆依据。车辆是有线条的规则的,顶和底部水平线,两 侧垂直边等在图像中经过处理后,都会呈现一定的直线等特征。
[0069] 针对复杂行车环境,本发明选择形状特征和边界特征作为提取车辆位置的特征。 首先本发明对图像进行剪裁,只对近景进行车辆检测,然后对图像进行增强处理,包括膨 胀,腐蚀等算法。为了进一步确定车辆位置,使用车辆的形状特征,排除背景引起的误测。
[0070] 可选地,在车距检测中,通过对每一个光流向量模的大小的分类进行车辆分割,得 到前车位置。
[0071] 在已检测出车道的基础上可以划分R0I,建立图像掩模,如果图像中两条车道的直 线为y = kix+bi和y = k2X+b2,对于NXM维图像I(x,y),设置图像掩模M(x,y)同样为NXM的二 值图像,为全1矩阵。其生成规则如下所示。
[0072] M(x,y) = l y<kix+bi且y>k2X+b2
[0073] M(x,y)=0 其它
[0074] 车辆在图像中的覆盖面积远远大于一个像素块,所以要将图像进行向量块划分, 设定计算得到Ii = I (Xi,yi)点的5 X 5邻域光流向量为Vi = (Ui,Vi),则可以得到图像光流场Y (x,y),其中的每一个场方向覆盖原图像中对应位置的5 X 5邻域。当M(Xi,yi) = 1时,Y(Xi, yi) = (m,vi)
[0075] 为了进行单一阈值分割,将光流向量在x、y两个方向的分量u、v进行融合,得到融 合标量图P(x,y):
[0076] P(xi,yi)=A/?i2 +v,2
[0077] 对P(Xl,yi)进行区域划分,得到图像中车辆运动对比区域,为之后的预警计算提供 可靠保障。
[0078] 综上所述,本发明提出了一种机动车行车安全预警方法,在嵌入式芯片中实现了 机动车安全检测,提高了行车安全预警性能,能够在任务处理量将计算量下实现实时计算 和预警。
[0079]显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用 的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储 在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
[0080]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种机动车行车安全预警方法,其特征在于,包括: 在车辆行驶过程中,对车载摄像机所捕获的图像进行车距检测;当车辆与前车的车距 小于安全距离时发出报警。2. 根据权利要求1所述的方法,其特征在于,所述车距检测进一步包括: 首先采用近似圆形滑窗进行边缘检测,即将近似圆形滑窗在待检测的灰度图像上滑 动,滑窗内部给予编号的每个像素点的灰度值都与滑窗中屯、像素的灰度值进行比较,如果 滑窗内某点像素的灰度值与中屯、灰度的差值小于设定的阔值t,则确定该点与滑窗中屯、点 有相同的灰度,滑窗内所有与中屯、有相同灰度的值的总和构成相似区域; 将坐标(Xc,y。)表示滑窗的中屯、坐标,采用相似比较函数如下: c(x,y) = exp[-[[I(x,y)-I(xc,yc)]/2]?]1(义,7)为坐标^,7的灰度; 则相似区域的大小计算为 在不同对比度下对t值自适应选择,即在圆形滑窗内,通过累加滑窗内像素值来确定滑 窗内像素与滑窗中屯、像素差值的阔值t: 对于给定的近似圆形滑窗,用sum表示累加变量,img(i, j)化)表示中屯、像素在源图像中 的第i行第j列,k表示滑窗中的第k个像素,则第k个像素的阔值t为: t = sum/n(Xc,yc)sum通过累加滑窗像素使t值响应于局部对比度; 求出第k个像素与中屯、像素的差值,与t作比较,若小于等于t则,相似区域加1,最后判 断相似区域与阔值g的大小,若小于g,则当前像素为边缘点,将当前像素值设为255,否则, 当前像素不是边缘点,将其设为0。3. 根据权利要求2所述的方法,其特征在于,所述边缘检测之前,还方法还包括:只对候 选边缘点做边缘检测,筛选方法如下: 首先W中屯、像素点为中屯、,计算垂直线段两端的像素差,并与预先设置的差值阔值化 进行比较,大于化的灰度像素点作为候选边缘点,反之,小于化的点则被认为是内部像素点 准备去除。
【文档编号】G06K9/00GK105913689SQ201610493819
【公开日】2016年8月31日
【申请日】2016年6月28日
【发明人】谢欣霖, 陈波
【申请人】成都之达科技有限公司