历史上的今天
返回首页

历史上的今天

今天是:2025年08月19日(星期二)

正在发生

2020年08月19日 | 基于​NI EVS​和​PXI​的​机器​视觉​辅助​驾驶​系统​开发

2020-08-19

 "借助NI EVS和PXI平台,我们通过硬件设计和软件编程完成了此系统的开发。通过对车道偏离预警(LDW)功能的设计与测试,证明该系统可以在机器视觉的辅助驾驶开发中运用。"


- 希鹏 李, 重庆大学电气工程学院


The Challenge:

基于机器视觉的辅助驾驶技术日渐成熟,在中高级轿车中已经实现产品化,切实提高了汽车的主动安全性能。开发机器视觉辅助驾驶系统时,需要考虑不同外界因素的影响,导致整个系统的算法复杂、代码繁多;在开发初期,考虑到安全因素的影响,系统不可能直接进行实车试验,进一步加深了系统开发的难度。这些都是开发机器视觉辅助驾驶系统时面临的难题。如何更加关注算法开发,减少代码开发投入,并能在有效、可信、可重复的环境下测试,以便及时发现问题并进行整改,是机器视觉辅助驾驶系统开发面临的难点。


The Solution:


该方案主要解决机器视觉辅助驾驶系统的快速开发及测试问题。NI的EVS嵌入式视觉系统适合快速检测及大型图像处理,能连接多架相机,并实现同步检测。借助LabVIEW编程语言及VDM编程模块可快速实现要求的识别功能,使机器视觉产品的开发更加高效。基于NI PXI的仿真测试平台,结合虚拟现实软件CarMaker,通过VeriStand集成整个测试系统,从而搭建出真实有效的虚拟测试场景,实现机器视觉功能的全面、有效和可重复的测试。开发新功能时,借助NI EVS平台可以快速完成方案建模及编程过程;借助于基于NI PXI的虚拟驾驶测试平台,既能够尽早发现产品问题并进行整改,又可以保证测试过程的安全性。机器视觉系统与测试平台的结合,能进一步提升基于机器视觉辅助驾驶系统的开发效率。

 

1  引言

基于机器视觉的辅助驾驶系统旨在提高驾驶员的环境感知能力,通过辅助系统监测外界环境,并在非安全情况及时向驾驶员发出预警,从而使人—车—路系统更加稳定、安全、可靠,提高汽车的安全性能。

 

开发基于机器视觉的辅助驾驶系统时,需要面对以下难点:

 

(1)系统算法复杂,代码繁多。机器视觉主要是借助摄像头采集外界信息并将其转换为数字图像信号进行处理,面对不同的外界环境和检测目的,致使系统需要处理的针对点不一样,因此,使得整个系统在算法方面异常复杂,开发过程缓慢。

 

(2)测试环境要求苛刻。在系统开发后期,测试其性能并进行整改是整个研发过程中的关键步骤之一。相比较于其他汽车电子产品,基于机器视觉的辅助驾驶技术产品在测试时需要考虑两点因素:第一,实车试验时,驾驶员的安全是否能够得到保障;第二,测试过程需要有效、可信、可从复,便于及时发现问题并进行整改。

 

在开发基于机器视觉辅助驾驶系统过程中,如果能把上述难题顺利解决,将为以后基于机器视觉的辅助驾驶技术产品研发做好铺垫,提高辅助驾驶技术产品的开发效率,促进辅助驾驶技术产品早日投入量产,最终提高汽车的安全性能。

 

2  设计背景和设计原则

针对以上在机器视觉辅助驾驶系统研发及测试过程中存在的问题,考虑到NI公司的EVS和PXI平台出色的图像处理能力及强大的实时仿真测试功能,采用LabVIEW编程语言,通过VeriStand开发平台集成仿真测试模型,设计了一套基于NI EVS和PXI的机器视觉辅助驾驶开发系统。

 

借助NI EVS平台可以快速实现基于机器视觉的辅助驾驶功能,这主要是依托NI EVS平台的如下特点:

 

(1)高性能的多核处理器,2GB RAM适合快速检测和大型图像处理;

 

(2)连接多架相机以实现同步检测(千兆以太网视觉和IEEE1394标准),可用于多种驾驶辅助功能的开发;

 

(3)高速I/O通道适合和工业通信,具有强大的扩展能力;

 

(4)借助视觉生成器配置实现自动检测,无需进行底层驱动和接口电路的设计开发;

 

(5)视觉开发模块Vision Development Module(VDM)集成了大量常见的机器视觉处理基础模块,开发人员将集中于集成和应用,快速实现各类的检测和识别功能;

 

(6)采用图形化编程方式,更加便于开发人员进行复杂算法的开发和调试。

 

当设计人员有新的创意时,运用该系统可以快速将创意实现,提高了系统开发的效率。其中,视觉开发模块(VDM)可以让设计人员更多的关注不同算法实现的效果,减少在编程方面的精力投入,通过综合比较,进一步提高系统的性能。

 

借助NI PXI平台可以在有效、可信、可从复的环境下对系统进行测试,以便及早发现问题并整改。NI PXI平台在以下几个方面具有独特的优势:

 

(1)提供图形化软件开发环境和良好的人机交互元素,重点关注应用程序开发,无需关注底层驱动,人机界面易开发;

 

(2)良好的实时性,保证数据采集和测试的时序要求和实时性,能够运行复杂的车辆模型;

 

(3)系统可靠性、集成度高,可扩展性好;

 

(4)具有很好开放性和扩展性,能够集成其他软件平台开发的各种模型。

 

综合NI EVS和PXI的优点,采用LabVIEW编程语言,通过VeriStand开发平台集成仿真测试模型,开发了一套基于NI EVS和PXI的机器视觉辅助驾驶系统。

 

图1 系统设计原理架构图

 

3  系统技术原理和设计架构

针对机器视觉辅助驾驶系统开发所面临的难题及相应的解决方案可知,设计的系统应具有以下两个功能:

 

(1)机器视觉系统的快速开发与实现。借助NI EVS平台,将预先设定的需求功能通过编程实现,并保证整个硬件系统满足功能需要。

 

(2)基于机器视觉的驾驶辅助功能的可信、有效和可重复的测试。借助NI PXI平台,搭建一套虚拟测试系统,从而测试机器视觉开发部分出现的问题,以便及时整改,提高系统安全性能。

 

根据上述思想,系统设计原理架构如图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 机器视觉系统

 


图3 虚拟测试系统结构图

 

虚拟现实软件模拟出来的路况信息通过液晶显示器显示出来,由piA1000-60gc摄像头采集并传入NI EVS-1464(Windows)嵌入式视觉系统处理,根据预先设定的算法程序,完成机器视觉的功能。

 

3.2  虚拟测试系统

虚拟测试系统的主要作用是,提供一套有效、可信、可从复的虚拟环境,保证测试过程的实时性,便于及时发现问题并整改。


NI PXI平台可以用来加快测试执行时间、提高软件开发效率、提高处理能力并增强可扩展性,从而极大地缩减机器视觉系统的开发投入。

 

根据以上原则,综合考虑NI PXI平台的特点,搭建了虚拟测试系统。

 

虚拟测试系统结构如图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提供的不同交通场景,进一步提高测试过程的真实有效性。

 

图5车道线检测的labview程序

 


图4车道线检测算法流程


4  软件实现

考虑的整个系统所具备功能主要分为两块,因此软件实现也分为两部分,即:机器视觉软件实现和虚拟测试软件实现。

 

4.1   机器视觉软件实现

基于机器视觉的辅助驾驶系统可以实现很多功能,例如车道线检测、行人检测、交通信号及标志牌识别、汽车夜视系统等。借助本开发平台,可以将新的创意在该平台通过编程快速实现,并进行试验验证。

 

下面以车道线检测的实现过程为例介绍基于NI EVS平台的软件实现。

 

车道线检测的主要功能是,借助机器视觉平台,提供车辆在结构化道路行驶过程中偏离车道中心线的距离及航向角等信息,当车辆中加入车道偏离预警功能后,可以在车辆将要偏离车道边界时,向驾驶员发出预警,从而保证车辆的安全行驶。

 

车辆挡风玻璃上装设的摄像头采集前方路况信息,经由EVS嵌入式视觉系统处理。为了保证系统的实时性、可靠性,原始视频信息一般要经过图像裁剪、灰度化、边缘检测、二值化、直线检测等处理,当连续10帧图像的车道线位置偏差不大时,可以认定车辆行驶轨迹较为稳定,因此可以缩小车道线搜索检测区域,进一步提高系统的实时性能。车道线检测算法流程如图4所示。

 

图6 车辆动力学模型

 


图7 Veristand系统配置及仪表显示界面

 


图8 Carmaker三维场景


视频裁剪主要是除去天空等与车道线检测无关的图像信息,减少需要处理的图像数据,减少无关干扰,提高系统的实时性与准确性。使用的控件为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所示。

 

图9 辅助驾驶系统实物

 

图10 不同路况车道线检测效果
 

4.2   虚拟测试软件实现

虚拟测试软件的功能主要包括以下三个部分:车辆动力学模型搭建、Veristand配置及仪表显示、Carmaker三维场景建模。

 

车辆动力学模型是整个虚拟测试平台的基础,搭建出一套符合实际车辆性能的模型可以保证测试过程更加有效可信。借助MATLAB/Simulink搭建的车辆动力学模型如图6所示。

 

Veristand在虚拟测试系统中起集成作用,它主要完成以下三个功能:

 

(1)将车辆动力学模型导入到PXI平台;

 

(2)生成虚拟仪表,利用操作界面实时在线监控运行任务并与之交互;

 

(3)配置IO口、CAN通信数据连接关系。

 

Veristand系统配置及仪表显示界面如7所示。

 

Carmaker三维场景可以把车辆模型的输出以运动的效果显现出来。Veristand通过CAN通信的方式,将车辆模型的输出数据传递给Carmaker软件,Carmaker搭建不同的路况环境,使测试过程更加多样化。Carmaker三维场景如图8所示。

 

虚拟测试部分的软件将采集到的油门、方向盘等信息传输给在PXI中运行的车辆动力学模型,车辆模型仿真的动态效果在虚拟现实软件CarMaker中显现出来。其中,车辆动力学模型在MATLAB中搭建,通过仿真测试平台VeriStand对模型配置,借助PXI平台的优越性,使得仿真测试过程更加流畅,实时性更高。

 

5  集成和应用

将EVS部分及PXI部分的硬件和软件分别集成到一起,完成基于NI EVS和PXI的机器视觉辅助驾驶系统开发。其实物如9图所示。

 

下面结合车道线检测的开发,介绍基于机器视觉辅助驾驶技术平台的运用。

 

在CarMaker中搭建不同的路况,在机器视觉系统通过编程设计,部分检测结果如图10所示。

 

其中图a路况信息最简单,不存在干扰情况,图b中存在一个十字路口,图c中存在道路交通标志,图d中出现了弯道。从图10可以看出,在无干扰情况下,可以正确的检测出车道线,当存在十字路口、交通标志时,依然能检测出车道线,当存在弯道情况时,无法准确检测出车道线,这主要是在车道线检测算法中未考虑曲线检测的算法所致,需要在后续的开发过程中完善。

 

6   结论

针对基于机器视觉的辅助驾驶系统开发面临的难题,在分析系统需求的基础上,借助NI EVS和PXI平台,通过硬件设计和软件编程,完成了此系统的开发。通过对车道偏离预警(LDW)功能的设计与测试,证明该系统可以在机器视觉的辅助驾驶开发中运用。

 

该系统充分利用了NI EVS平台出色的图像处理能力及PXI平台强大的仿真测试功能。在机器视觉功能开发阶段,EVS的硬件平台及软件资源可以帮助设计者快速完成建模及编程等步骤,缩短了研发的周期。PXI平台的可靠性高,现场能力强,实时性好,软硬件集成度高,可扩展性好等特点,在有限投入下,实现了机器视觉驾驶辅助系统的虚拟测试。EVS平台和PXI平台的兼容性好,两者结合,加快了机器视觉辅助驾驶技术从创意到产品的实现过程,并为其早日投入量产进而提高汽车主动安全性能打下基础。


推荐阅读

史海拾趣

ETTINGER公司的发展小趣事

Ettinger与英国著名汽车品牌Bentley建立了长期合作伙伴关系。作为Bentley汽车皮件配饰和皮具产品的指定供应商,Ettinger为Bentley提供了高品质的皮具产品,进一步提升了品牌的知名度和影响力。这种合作伙伴关系的建立,也为Ettinger带来了更多的商业机会和发展空间。

DESOUTTER公司的发展小趣事

Desoutter公司成立于1914年,由Desoutter兄弟创立。起初,公司专注于气动工具的研发和生产,很快就以其高质量和可靠性在市场中获得了认可。随着工业革命的深入,气动工具的需求日益增长,Desoutter公司凭借技术优势和市场洞察,逐步扩大了生产规模,奠定了在气动工具领域的领先地位。

芯邦(Chipsbank)公司的发展小趣事

芯邦科技自成立以来,一直致力于半导体技术的研发与创新。在指纹识别领域,芯邦于2018年推出了业界首款超低成本、超低功耗的指纹识别控制芯片,该芯片集成了指纹传感器、算法处理器、蓝牙、主控和flash等模块,为指纹识别技术在非手机领域的广泛应用提供了强有力的技术支撑。这一创新不仅展示了芯邦在半导体设计领域的实力,也为其在指纹识别市场赢得了先机。

Advanced Technology Corp公司的发展小趣事

ATC公司的初创时期充满了挑战与艰辛。公司由几位电子工程领域的专家创立,他们凭借对技术的深刻理解和敏锐的市场洞察,决定投身于电子产品的研发与生产。在资金匮乏、市场竞争激烈的环境下,他们夜以继日地工作,不断试验、改进,最终成功研发出了一款具有竞争力的电子产品,为公司的发展奠定了坚实基础。

Fairchild公司的发展小趣事

1957年,Fairchild半导体公司在硅谷成立,其背后有一群被称为“八叛逆”的年轻科学家。这八位科学家曾在肖克利半导体实验室共事,但因不满肖克利的管理方式和缺乏研究成果,他们决定离开并自行创业。这群年轻的科学家包括罗伯特·诺伊斯(N. Noyce)和戈登·摩尔(Gordon Moore)等,他们共同创立了Fairchild半导体公司,为硅谷的半导体产业奠定了坚实的基础。

AMRI Enterprise Co Ltd公司的发展小趣事

品质是AMRI Enterprise Co Ltd的生命线。公司始终坚持品质至上的原则,通过严格的质量管理体系和持续改进的工艺流程,确保产品的稳定性和可靠性。同时,AMRI还注重品牌建设,通过提升品牌形象和塑造企业文化,增强客户对公司的信任度和忠诚度。这些努力使得AMRI的产品在市场上赢得了良好的口碑和广泛的认可。

问答坊 | AI 解惑

一次倒霉的MP3维修记(接排线高手转)

开机检测,不是充电电路问题,该机采用ATJ2085方案,可以充电,但是开机后,立马显示电池电量低,电池电压正常,检查ATJ2085的第31脚,电量检测脚,发现所连接的两个电阻有一个虚焊,加焊后,检测OK。 准备装机,装好后,结果还是开不 ...…

查看全部问答>

MSP430 系列单片机资料 7 册

全集锦 与大家分享 [ 本帖最后由 wzt 于 2010-4-25 23:23 编辑 ]…

查看全部问答>

windows mobile 5 裁剪

我使用PB for windwos mobile 5生成了一个diskimage.nb0的WM5映像,有32M 更改什么配置文件可以改变生成的映像文件的大小呢?多谢:P …

查看全部问答>

也发一个关于中断相应时间的问题,SDLC通信

wince 下我要用AM85C30实现同步通信(SDLC),问题是这个芯片接收FIFO 3字节,发送没有缓冲! 比如我要用1Mbps通信,中断频率就要1M/8=125k/s, 接收的状况要好一些,3字节的FIFO可以把中断频率降到125k/3=42k/s, 发送就更郁闷了,完全是125k/s ...…

查看全部问答>

C51中断

在C51中断函数中,能否改变全局变量的值,若能是不是该变量必须声明为volatile?…

查看全部问答>

AXD 调试的问题

在Memory Start address文本框图上,用户可以根据要查看或修改的存储器地址输入起始地址,在下面的表格中会列出连续的64个地址。因为I/O模式控制寄存器和I/O数据控制寄存器都是32位的控制寄存器,所以从0x00000000开始的连续4个地址空间存放的是I/O ...…

查看全部问答>

ISP下载问题

我用的是RS232做的下载线,但不知道是怎么回事,一直提示不能连接。请问ISP下载程序与哪些信号有关呢?与PSEN、与时钟信号有关系没有?我测试了一下,我的XTAL2信号频率是11.0592,但是波形有一点变形了,而且VP-P变到6V多了。我用的是P89C51RD2单 ...…

查看全部问答>

CC1101 30dBm资料,欢迎大家下载讨论

[local]1[/local][localimg=600,450]3[/localimg]…

查看全部问答>

退耦电容/去耦电容的作用及选择知识

本帖最后由 paulhyde 于 2014-9-15 08:55 编辑 …

查看全部问答>

ucos在MCF52233DEMO上移植,例程代码都有,为什么就是不能正常运行……

本人小白,已经拿到了ucos在MCF52233DEMO上移植的例程,可是自己怎么也跑不起来……现在单任务可以执行,就是多任务不行,只能一直跑优先级最高的那个任务。按照邵贝贝老师翻译的书一步一步检查,发现是OS_Shed()调用OS_TASK_SW()以后没有执行起来O ...…

查看全部问答>