1 引言
基于机器视觉的辅助驾驶系统旨在提高驾驶员的环境感知能力,通过辅助系统监测外界环境,并在非安全情况及时向驾驶员发出预警,从而使人—车—路系统更加稳定、安全、可靠,提高汽车的安全性能。
开发基于机器视觉的辅助驾驶系统时,需要面对以下难点:
(1)系统算法复杂,代码繁多。机器视觉主要是借助摄像头采集外界信息并将其转换为数字图像信号进行处理,面对不同的外界环境和检测目的,致使系统需要处理的针对点不一样,因此,使得整个系统在算法方面异常复杂,开发过程缓慢。
(2)测试环境要求苛刻。在系统开发后期,测试其性能并进行整改是整个研发过程中的关键步骤之一。相比较于其他汽车电子产品,基于机器视觉的辅助驾驶技术产品在测试时需要考虑两点因素:第一,实车试验时,驾驶员的安全是否能够得到保障;第二,测试过程需要有效、可信、可从复,便于及时发现问题并进行整改。
在开发基于机器视觉辅助驾驶系统过程中,如果能把上述难题顺利解决,将为以后基于机器视觉的辅助驾驶技术产品研发做好铺垫,提高辅助驾驶技术产品的开发效率,促进辅助驾驶技术产品早日投入量产,最终提高汽车的安全性能。
2 设计背景和设计原则
针对以上在机器视觉辅助驾驶系统研发及测试过程中存在的问题,考虑到NI公司的EVS和PXI平台出色的图像处理能力及强大的实时仿真测试功能,采用LabVIEW编程语言,通过VeriStand开发平台集成仿真测试模型,设计了一套基于NI EVS和PXI的机器视觉辅助驾驶开发系统。
借助NI EVS平台可以快速实现基于机器视觉的辅助驾驶功能,这主要是依托NI EVS平台的如下特点:
(1)高性能的多核处理器,2GB RAM适合快速检测和大型图像处理;
(2)连接多架相机以实现同步检测(千兆以太网视觉和IEEE1394标准),可用于多种驾驶辅助功能的开发;
(4)借助视觉生成器配置实现自动检测,无需进行底层驱动和接口电路的设计开发;
(5)视觉开发模块Vision Development Module(VDM)集成了大量常见的机器视觉处理基础模块,开发人员将集中于集成和应用,快速实现各类的检测和识别功能;
(6)采用图形化编程方式,更加便于开发人员进行复杂算法的开发和调试。
当设计人员有新的创意时,运用该系统可以快速将创意实现,提高了系统开发的效率。其中,视觉开发模块(VDM)可以让设计人员更多的关注不同算法实现的效果,减少在编程方面的精力投入,通过综合比较,进一步提高系统的性能。
借助NI PXI平台可以在有效、可信、可从复的环境下对系统进行测试,以便及早发现问题并整改。NI PXI平台在以下几个方面具有独特的优势:
(1)提供图形化软件开发环境和良好的人机交互元素,重点关注应用程序开发,无需关注底层驱动,人机界面易开发;
(2)良好的实时性,保证数据采集和测试的时序要求和实时性,能够运行复杂的车辆模型;
(3)系统可靠性、集成度高,可扩展性好;
(4)具有很好开放性和扩展性,能够集成其他软件平台开发的各种模型。
综合NI EVS和PXI的优点,采用LabVIEW编程语言,通过VeriStand开发平台集成仿真测试模型,开发了一套基于NI EVS和PXI的机器视觉辅助驾驶系统。
3 系统技术原理和设计架构
针对机器视觉辅助驾驶系统开发所面临的难题及相应的解决方案可知,设计的系统应具有以下两个功能:
(1)机器视觉系统的快速开发与实现。借助NI EVS平台,将预先设定的需求功能通过编程实现,并保证整个硬件系统满足功能需要。
(2)基于机器视觉的驾驶辅助功能的可信、有效和可重复的测试。借助NI PXI平台,搭建一套虚拟测试系统,从而测试机器视觉开发部分出现的问题,以便及时整改,提高系统安全性能。
根据上述思想,系统设计原理架构如图1所示。
图1 系统设计原理架构图
如图1所示,整个平台分为虚拟测试系统和机器视觉系统两部分,两部分由各自的硬件及软件构成。
在虚拟测试系统中,PC机1通过TCP/IP协议与仿真测试平台连接,对仿真模型进行参数配置。仿真测试平台的主要功能是运行车辆动力学模型并采集虚拟驾驶舱输出参数,仿真测试结果通过CAN通信的方式传输到PC机2,PC机2中运行的虚拟现实软件将输仿真测试平台的输出参数转化为车辆运行效果并在虚拟驾驶舱中显示出来。
机器视觉系统中,摄像头采集虚拟驾驶舱中的虚拟驾驶场景,通过TCP/IP协议与视觉处理平台连接,在视觉处理平台编程实现机器视觉功能。
3.1 机器视觉系统
机器视觉系统部分的主要作用是,设计者根据事先要设定的需求,通过视觉处理系统,编程实现各类识别和检测功能。
机器视觉系统的核心是NI EVS嵌入式视觉开发平台,借助NI EVS平台的重要原因之一就是考虑到LabVIEW编程语言的简洁直观性及视觉开发模块Vision Development Module(VDM)出色的图像处理能力。视觉开发模块专用于开发和配置机器视觉应用程序。它包含了数百种函数,可采集来自多种摄像头的图像,还可进行各种图像处理,包括图像增强、检查显像、定位特性、识别对象和测量部件等。借助EVS硬件平台及软件编程环境可以快速实现设定功能,大大缩短了开发时间。
机器视觉系统结构如图2所示。
图2 机器视觉系
虚拟现实软件模拟出来的路况信息通过液晶显示器显示出来,由piA1000-60gc摄像头采集并传入NI EVS-1464(Windows)嵌入式视觉系统处理,根据预先设定的算法程序,完成机器视觉的功能。
3.2 虚拟测试系统
虚拟测试系统的主要作用是,提供一套有效、可信、可从复的虚拟环境,保证测试过程的实时性,便于及时发现问题并整改。
NI PXI平台可以用来加快测试执行时间、提高软件开发效率、提高处理能力并增强可扩展性,从而极大地缩减机器视觉系统的开发投入。
根据以上原则,综合考虑NI PXI平台的特点,搭建了虚拟测试系统。
虚拟测试系统结构如图3所示。
图3 虚拟测试系统结构图
NI PXI-8513主要采集方向盘转角信息,它作为单端口软件可选的控制器局域网络(CAN) PXI接口,适合在Windows与LabVIEW实时(Real-Time)操作系统上的NI LabVIEW、NI LabWindows/CVI和C/C++中开发CAN应用程序。
NI PXI-7841R数字RIO板卡采集油门踏板信息,它提供的可编程FPGA芯片,适合板载处理和灵活的I/O操作。用户可借助NI LabVIEW图形化程序框图和NI LabVIEW FPGA模块,配置各项模拟和数字功能。该程序框图在硬件中运行,有助于直接及时地控制全部I/O信号,实现各项优越性能。
NI PXIe-8135运行车辆动力学模型,它是基于Intel Core i7-3610QE处理器的高性能嵌入式控制器,可用于PXI系统。结合2.3 GHz基频、3.3 GHz(单核Turbo Boost模式)四核处理器和双通道1600 MHz DDR3内存,该控制器非常适合用于处理器密集型模块化仪器和数据采集应用。
车辆动力学模型接收到方向盘转角、油门踏板等信息,然后车辆模型进行相应的运动,为了更加直观的显示运动效果,车辆动力学模型的输出连接到虚拟现实软件CarMaker,结合CarMaker提供的不同交通场景,进一步提高测试过程的真实有效性。
4 软件实现
考虑的整个系统所具备功能主要分为两块,因此软件实现也分为两部分,即:机器视觉软件实现和虚拟测试软件实现。
4.1 机器视觉软件实现
基于机器视觉的辅助驾驶系统可以实现很多功能,例如车道线检测、行人检测、交通信号及标志牌识别、汽车夜视系统等。借助本开发平台,可以将新的创意在该平台通过编程快速实现,并进行试验验证。
下面以车道线检测的实现过程为例介绍基于NI EVS平台的软件实现。
车道线检测的主要功能是,借助机器视觉平台,提供车辆在结构化道路行驶过程中偏离车道中心线的距离及航向角等信息,当车辆中加入车道偏离预警功能后,可以在车辆将要偏离车道边界时,向驾驶员发出预警,从而保证车辆的安全行驶。
车辆挡风玻璃上装设的摄像头采集前方路况信息,经由EVS嵌入式视觉系统处理。为了保证系统的实时性、可靠性,原始视频信息一般要经过图像裁剪、灰度化、边缘检测、二值化、直线检测等处理,当连续10帧图像的车道线位置偏差不大时,可以认定车辆行驶轨迹较为稳定,因此可以缩小车道线搜索检测区域,进一步提高系统的实时性能。车道线检测算法流程如图4所示。
图4 车道线检测算法流程
视频裁剪主要是除去天空等与车道线检测无关的图像信息,减少需要处理的图像数据,减少无关干扰,提高系统的实时性与准确性。使用的控件为IMAQ Extract VI。
灰度化的功能是,在不影响车道线检测的前提下,将原始的彩色图像转化为灰度图像,进一步减小需要处理的数据量。使用的控件是IMAQ ExtractSingleColorPlane VI。
边缘检测的目的是突出车道线边缘,因为车道线检测主要是依据车道边缘的信息。使用的控件是IMAQ EdgeDetection VI,选择的边缘检测算法为Sobel算法。
二值化的作用是在边缘检测的基础上进一步简化图像信息,通过设定阈值,使高于阈值的像素点灰度值为1,低于阈值的像素点灰度值为0。使用的控件是IMAQ AutoBThreshold 2 VI,选择的二值化算法是inter-class variance算法。
直线检测就是在设定的区域内设定参数检测车道线。这里使用的控件是IMAQ Find Edge VI,算法选择Hough变换。
当连续10帧图像的车道线位置偏差不大时,为减小数据处理量,提高系统的实时性,可以通过Kalman滤波跟踪车道线将要出现的区域(ROI),然后在该区域进行车道线检测,减少了车道线检测的搜索面积。
车道线检测的labview程序如图5所示。
图5 车道线检测的labview程序
4.2 虚拟测试软件实现
虚拟测试软件的功能主要包括以下三个部分:车辆动力学模型搭建、Veristand配置及仪表显示、Carmaker三维场景建模。
车辆动力学模型是整个虚拟测试平台的基础,搭建出一套符合实际车辆性能的模型可以保证测试过程更加有效可信。借助MATLAB/Simulink搭建的车辆动力学模型如图6所示。
图6 车辆动力学模型
Veristand在虚拟测试系统中起集成作用,它主要完成以下三个功能:
(1)将车辆动力学模型导入到PXI平台;
(2)生成虚拟仪表,利用操作界面实时在线监控运行任务并与之交互;
(3)配置IO口、CAN通信数据连接关系。
Veristand系统配置及仪表显示界面如7所示。
图7 Veristand系统配置及仪表显示界面
Carmaker三维场景可以把车辆模型的输出以运动的效果显现出来。Veristand通过CAN通信的方式,将车辆模型的输出数据传递给Carmaker软件,Carmaker搭建不同的路况环境,使测试过程更加多样化。Carmaker三维场景如图8所示。
图8 Carmaker三维场景
虚拟测试部分的软件将采集到的油门、方向盘等信息传输给在PXI中运行的车辆动力学模型,车辆模型仿真的动态效果在虚拟现实软件CarMaker中显现出来。其中,车辆动力学模型在MATLAB中搭建,通过仿真测试平台VeriStand对模型配置,借助PXI平台的优越性,使得仿真测试过程更加流畅,实时性更高。
5 集成和应用
将EVS部分及PXI部分的硬件和软件分别集成到一起,完成基于NI EVS和PXI的机器视觉辅助驾驶系统开发。其实物如9图所示。
图9 辅助驾驶系统实物
下面结合车道线检测的开发,介绍基于机器视觉辅助驾驶技术平台的运用。
在CarMaker中搭建不同的路况,在机器视觉系统通过编程设计,部分检测结果如图10所示。
图10 不同路况车道线检测效果
其中图a路况信息最简单,不存在干扰情况,图b中存在一个十字路口,图c中存在道路交通标志,图d中出现了弯道。从图10可以看出,在无干扰情况下,可以正确的检测出车道线,当存在十字路口、交通标志时,依然能检测出车道线,当存在弯道情况时,无法准确检测出车道线,这主要是在车道线检测算法中未考虑曲线检测的算法所致,需要在后续的开发过程中完善。
6 结论
针对基于机器视觉的辅助驾驶系统开发面临的难题,在分析系统需求的基础上,借助NI EVS和PXI平台,通过硬件设计和软件编程,完成了此系统的开发。通过对车道偏离预警(LDW)功能的设计与测试,证明该系统可以在机器视觉的辅助驾驶开发中运用。
该系统充分利用了NI EVS平台出色的图像处理能力及PXI平台强大的仿真测试功能。在机器视觉功能开发阶段,EVS的硬件平台及软件资源可以帮助设计者快速完成建模及编程等步骤,缩短了研发的周期。PXI平台的可靠性高,现场能力强,实时性好,软硬件集成度高,可扩展性好等特点,在有限投入下,实现了机器视觉驾驶辅助系统的虚拟测试。EVS平台和PXI平台的兼容性好,两者结合,加快了机器视觉辅助驾驶技术从创意到产品的实现过程,并为其早日投入量产进而提高汽车主动安全性能打下基础。
评论
查看更多