APP下载

计算机视觉创新实验平台研制

2019-06-18丁永超

实验技术与管理 2019年5期
关键词:模组嵌入式行人

叶 晨, 丁永超

(同济大学 计算机与信息技术国家级实验教学示范中心, 上海 200092)

随着GPU的普及与算力的增加,深度学习算法已成为如今计算机视觉的标配,人脸识别、图像理解、行人检测、大规模场景识别等都用到了深度学习的方法。但是,目前搭载计算机视觉的嵌入式设备缺乏并行计算能力,使得深度学习算法在服务器上设计训练完成后,不能直接移植到嵌入式设备进行实际应用,需要对代码进行剪裁与优化,因而算法的迭代周期过长。

目前的计算机视觉实验平台大多采用ARM+DPS的芯片进行视频处理[1-4],计算机视觉实验一般需要额外设计视频采集电路与视频输出电路,整体系统设计复杂,稳定性较差,且由于缺乏并行能力,不适用于基于深度学习的视觉算法,已经难以满足深度学习方法对嵌入式设备的要求。本文研制的计算机视觉创新实验平台,利用NVidia Jetson TX1模组作为视觉处理中枢,内置多种视频解码器,支持对多种视频格式的硬件解码,无需再设计外围解码电路,满足高运算能力、低功耗、多接口的要求。该平台拥有256个CUDA核心的GPU[5],设计有丰富的工业级接口,非常适合针对深度学习算法进行并行加速运算,能满足对不同设备的拓展通信需要。

1 总体设计方案

计算机视觉创新实验平台采用了NVIDIA最新推出的第二代嵌入式模组Jetson TX1,该模组内置GPU,特别适合图像算法的开发与研究,其GPU模块的浮点运算能力达到了1 Teraflops,拥有4 K视频编解性能,能够在几乎不占用CPU资源的情况下,完成对4 K高清视频60 Hz的视频解码。TX1的技术参数详见表1。

除了选用了NVIDIA的TX1外,为满足嵌入式设备的开发,该平台在拓展了TX1内置接口的基础上(包含通用I/O口,千兆网口,USB口等),还利用不同芯片拓展出常用的RS485及其汽车工业中的CAN总线,满足不同工业场合、不同平台的接口需要。为满足设备的独立运行,该平台增加了GPS模块与4G拨号上网功能。上述接口功能均可通过在TX1设备上编程实现。本文的嵌入式实验平台外接接口详见表2。

表1 TX1模组概况

表2 嵌入式实验平台外接接口

在设计计算机视觉创新平台实验时,充分考虑了学生的学习能力和工程应用能力,根据功能将实验难度分为3个等级,分别是嵌入式操作系统等级,TX1系统等级和外设调用等级。在嵌入式操作系统等级中,使用NVIDIA提供的Jetpack向TX1刷入经裁剪的Ubuntu16.04系统,使学生能够逐渐熟悉Linux嵌入式开发环境,研究基础的机器视觉算法。在TX1系统等级中,需要学生掌握对TX1设备自带接口的使用,例如gstreamer接口[6]、UART接口等接口的应用开发,掌握面向嵌入式设备的软件开发方法。最后,在外设调用等级中,学生需要熟悉实验平台中包含的外设,自主设计完成一个创新项目,做到机器视觉算法的边缘计算,并能根据要求调用外设发出的消息,实现完整的嵌入式系统开发目标。

2 平台模块设计

平台主要由电源模组、TX1芯片组及拓展接口组成,其总体设计框图如图1所示。该实验平台的主要功能是计算机视觉的实验与开发,利用TX1处理复杂图像的算法。例如利用TensorFlow搭建的神经网络进行物体检测时,TX1能够进行GPU加速,实现高效的机器视觉并行处理[7]。另外,平台配备了千兆网口和USB Host接口,可适配目前普及度较高的网络相机与USB相机,满足不同场景的视频设备接入需要。

在无人驾驶技术中,行人检测、车道线分割[8]等均需要采用机器视觉进行处理,并且将处理结果反馈给车载总线,用于ECU的控制,其中需要用到CAN总线。本实验平台根据实际工业场景增添了工业接口,兼容CAN总线与RS485接口。

为了增强平台的独立性与完整性,本实验平台还加入了GPS定位模块与4G上网模块,有了上述两个模块,学生可以在进行开放实验时拥有更多的选项,增加学生深入研究、拓展视野的兴趣。

图1 实验平台硬件框图

3 平台研制

根据平台总体设计方案,研制内容主要是电源模组设计、TX1基础电路拓展和外设电路拓展。

优良的电源模组是实验平台稳定工作的基础,为实验平台中各类芯片与模块提供不同的电压和电流。在设计TX1基础电路时,由于TX1模组拥有大量高速信号线,因此需要特别注意信号线之间的干扰。例如在设计USB3.0接口与千兆网口时,需要用大量差分线,使得信号具有很好的一致性。此外, 在GPIO设计中,加入了防止输入电压不符合规范而损坏实验平台的设计。为了本平台拥有更好的拓展性,根据工业嵌入式系统的需求,加入了CAN总线等通信接口。平台还拥有GPS定位模块和4G上网模块,供学生进一步开发一个完整的系统。由于实验平台模组较多,不能一一介绍,仅选取电源模组、CAN总线与GPS定位模块进行分析。

3.1 电源管理模组设计

实验平台电源设计原理如图2所示。本实验平台模块较多,需要电源模块提供12 V/5 A,5 V/2 A,3.8 V/2 A,3.3 V/500 mA,1.8 V/500 mA的电源。通过对不同稳压电源芯片的比选,最终选择XL4015作为总电源的降压芯片,其在输出电压为12 V的条件下,正常工作电流达到5 A,满足设计要求。另外,对于5 V/2 A 和3.8 V/2 A电源,采用TI公司的TPS5420开关稳压芯片进行降压,满足用电模块对电流的要求。对于3.3 V与1.8 V电源,则采用AMS公司的AMS1117线性降压芯片进行降压,减小电源纹波,提高电源稳定性。

对于TX1的供电,前置了大量的不同容值的电容,使TX1在CPU、GPU进行大量运算的时候能够有稳定的电源,保证嵌入式平台计算能力的稳定。此外,为了防止TX1超过额定电流运行,本平台前置了一系列带限流的EMC器件(图2中FB器件),一方面,能够去除电路中的电磁干扰,另一方面能够使系统在不正常工作的情况下迅速断电,确保实验与开发的安全。

图2 实验平台电源设计原理图

3.2 CAN总线设计

CAN具有可靠性高、成本低廉、利用率高、可以适应汽车的恶劣工作环境等特点,是国际上应用非常广泛的现场总线之一,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线[9]。作为一款多用途的机器视觉嵌入式实验平台,拥有CAN总线在实际应用中尤为重要。但是,TX1模组中并没有CAN总线的接口,因此本实验平台巧妙地将TX1原有的SPI转换为标准CAN总线,使得实验平台更加符合实际应用。

在SPI转CAN总线电路设计中,TX1的原始控制信号为1.8 V,但是SPI转CAN芯片MCP2515是一款SPI输入要求为3.3 V的转换芯片,因此不能直接用TX1的SPI输出脚作为输入。本平台在设计该模块时,先利用电平转换芯片SN74LVC2T45DCT将1.8 V电压转换为3.3 V电压,使信号能够驱动MCP2515芯片正常工作,同时起到对TX1输出管脚的隔离作用,确保TX1芯片组的安全运行。

为使CAN总线稳定工作,需要对CAN总线各个节点进行电气隔离[9],防止相互产生回波,导致数据传输错误。设计中,在MCP2512芯片的CAN信号输出引脚后增加了CAN总线驱动器TJA1050T芯片,以增强对总线的差动发送能力和对CAN控制器的差动接收能力。CAN总线设计原理如图3所示。

图3 实验平台CAN总线设计原理图

3.3 GPS定位模块设计

GPS模块一般应用在移动式的嵌入式设备中,以提供准确的定位信息[10]。在本实验平台中,GPS模块采用U-BLOXNEO-6M模组,模组自带可充电后备电池,通过串口与TX1进行通信。通过对TX1设备的编程,可控制GPS模块返回的信息种类、读取GPS返回的消息,并根据具体消息格式对消息进行解析,最终得到准确的定位信息。通过在平台上进行上述功能的设计与应用,不仅能使学生深入了解TX1的串口工作机制,并且能掌握消息的获取与解析方式。

在使用TX1通用异步收发器(UART)与GPS模块进行通信时,产生了与上一小节中TX1标准电平过低的问题,因此需要采用电平转换芯片将电平提升至3.3 V,以驱动GPS模块的消息传递。

考虑到实验平台处于室内,因此在设计该平台时将天线头引至室外,可以外接增益天线,从而获取更强的信号。平台增加了代表GPS工作状态的LED灯。若灯为闪烁,则代表GPS模块已接收到卫星信号,已正常工作;若灯为常亮,则说明GPS还未正常工作,需要检查增益天线的连接状态与摆放位置。图4为GPS定位模块的原理图。

图4 GPS定位模块原理图

3.4 整体设计布局

由于TX1高性能模组中高速信号较多,噪声是电路设计中最值得关注的问题之一。高频信号会由于辐射而产生干扰,亦会导致振铃、反射以及串扰等,如果不加以控制,会严重降低系统的性能[11]。因此,本实验平台电路设计采用4层电路板:上下两层为信号层,中间两层分别为电源层与地层。同时,为降低信号之间的相互影响,采用了如下方式进行优化:

(1) 电源与信号之间留较宽的电气隔离带,防止电源波动对高速信号的影响;

(2) 电磁干扰在电子电路中不可避免,本实验平台的芯片周围用去耦电容和滤波电容消除电磁干扰;

(3) 高速信号对采用差分线走法,严格控制高速信号传输线的特性阻抗。通过调整线宽、线距、叠层厚度等PCB参数,尽量将传输线特性阻抗控制在一个固定值。

4 平台实验设计

近年来,行人检测、行人跟踪和行人检索3项技术在工业界得到广泛应用,涉及人工智能、车辆辅助驾驶、智能机器人、智能视频监控、人体行为分析、智能交通等许多领域。行人检测是目前机器视觉领域中一个既具有研究价值,又极具挑战性的热门课题。本文将分别测试基于传统视觉算法的行人检测与基于深度学习算法的行人检测,从CPU与GPU两方面评估本实验平台的运算性能与系统稳定性。

4.1 基于传统机器视觉算法的行人检测

行人检测第一个具有里程碑意义的成果是Navneet Dalal在2005年CVPR中提出的基于HOG+SVM的行人检测算法[12]。梯度方向直方图(HOG)是一种边缘特征,它利用了边缘的朝向和强度信息,后来被广泛应用于车辆检测和车牌检测等视觉目标检测。

DPM(deformable parts models)是一种基于组件的检测算法[13],DPM检测中使用的特征是HOG,针对目标物不同部位进行独立建模。DPM算法在人体检测中取得了很好的效果,主要得益于以下几个原因:

(1) 方向梯度直方图(HOG)的低级特征(具有较强的描述能力);

(2) 可变形组件模型的高效匹配算法;

(3) 采用了鉴别能力很强的latent-SVM分类器。

但是DPM特征计算复杂,计算速度较慢,本平台选用DPM行人检测算法进行平台CPU性能的测试。

DPM算法目前已将开源在OpenCV_contrib[14]中,通过编写CMakeLists即可编译DPM模块,并且运行时输入参数为模型文件及其图片文件。图5(a)是DPM在TX1平台的运行结果。从图5(a)可知,TX1运行DPM检测2个目标对象的用时约为0.3 s。为对比TX1平台CPU性能的优越性,利用安霸ARM平台进行了性能比较测试,如图5(b)所示。结果显示TX1平台的CPU运算性能为安霸ARM平台的6倍以上,本平台使用TX1作为运算中心,大大提升了传统嵌入式平台的运算性能(见表3)。

图5 运行DPM行人检测结果展示

表3 TX1平台与安霸ARM平台CPU算力比较

4.2 基于深度学习算法的行人检测

卷积神经网络使通用物体检测性能得到全面的提升。行人检测技术因使用Faster R-CNN[15]这样的通用检测框架,性能也得到了很大的提升。在CVPR 2015期间,竞赛中使用的最好方法还是传统的ACF检测器,其漏检率是18.5%;而在ECCV 2016中使用CNN后,行人检测漏检率降低到了9.6%。因此,本实验平台搭载的TX1模组提供了拥有强大算力的GPU,使在基于深度学习的机器视觉开发中更加符合开发要求。

YOLO是Joseph Redmon和Ali Farhadi等人于2015年提出的第一个基于单个神经网络的目标检测系统[16],Darknet YOLO支持直接在TX1平台编译运行。如果修改官方提供的Makefile,将其中的GPU、CUDNN、OPENCV标志为使能,即可在运行时利用TX1的CPU进行并行加速运算,提高深度卷积网络的运行速度。

由于YOLO网络较大,为300 MB左右,安霸ARM平台已经不支持该网络的加载,因此本部分通过调整TX1的性能模式进行比较。TX1拥有5种性能模式(见表4),本文采用mode0模式与mode3模式进行对比。mode0模式为性能最强模式,将6个CPU都以最高频率运行,并且GPU运行频率为1.3 GHz。而mode3模式为开机默认模式,使用了4个CPU,但GPU性能相对mode0有所降低。

表4 TX1不同性能模式对比表

图6为YOLO在TX1 mode0状态下的检测结果。相对于传统的DPM行人检测算法,基于深度学习的算法对行人的检测准确率更高,并且能通过同一个网络检测除了行人以外其他类别的物体,并且在TX1的GPU上运算时间仅需要0.09 s,运行时间仅为CPU上运行DPM时间的1/3,检测效率极高。后期通过对网络的进一步优化,可以满足对视频流的实时检测。

图6 基于YOLO网络进行行人检测的结果

YOLO在TX1 mode3的状态下的检测准确率与mode0一致,由运行的网络决定;但是运算时间约为mode0状态下的2倍。因此,本实验平台对算力要求极高并需要GPU参与的算法使用mode0模式,以提升算法执行速度。

5 结语

由于传统计算机视觉实验平台的计算能力(特别是GPU性能)已经无法支撑基于深度神经网络的机器视觉算法,并且通过服务器训练的算法模型在移植到嵌入式设备时,需要结合相关硬件进行代码的检测和二次开发,导致算法与模型移植周期较长,使得最新的研究算法不能快速落地。本实验平台采用了NVIDIA Jetson TX1嵌入式芯片组作为算法处理中枢,其CPU在DPM算法执行速度为安霸ARM嵌入式芯片的6倍,其强大的GPU能支持YOLO等深度网络的运行,完成一次YOLOV3-Tiny检测网络的前向运算在TX1 GPU上的时间仅需要10 ms。此外,为满足嵌入式系统与外设之间的通信需要,本实验平台采用千兆以太网、USB3.0等常用接口与CAN总线、RS485等工业级接口,并具备GPS定位模块与4G模块供学生开发使用,帮助学生构造出一个完整的嵌入式系统,提升学生的学习兴趣和创新实践能力。

猜你喜欢

模组嵌入式行人
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
毒舌出没,行人避让
光学薄膜技术及在背光模组中的应用研究
TS系列红外传感器在嵌入式控制系统中的应用
路不为寻找者而设
高速公路表贴透镜模组设计浅谈
基于吸塑料盘的料仓平台系统
浅谈石墨烯材料在LED路灯模组中的应用及该模组的设计
搭建基于Qt的嵌入式开发平台
我是行人