基于Jetson TX1的目标检测系统*

葛 雯1, 张雯婷1, 孙旭泽2

(1. 沈阳航空航天大学 电子与信息工程学院, 沈阳 110136; 2. 国家电网辽阳供电公司 信息通信分公司, 辽宁 辽阳 111000)

摘 要: 针对目标检测算法在实际应用中速度仍需提高的问题,提出一种改进的YOLOv3算法.通过将多层次特征金字塔网络嵌入到YOLOv3算法中的DarkNet-53网络,解决了由实际检测对象尺度差异引起的误差问题,既增加了输出特征的尺度,又加深了网络层数;并针对损失函数中的激活函数零均值、梯度消失等问题,提出了一种新的激活函数.实验结果表明,改进的YOLOv3算法可以更好地对多尺度目标进行检测,提高了检测速度和准确性,并在硬件上实现时具有较为高效的性能表现.

关 键 词: 目标检测; YOLOv3算法; 多层次特征金字塔; 尺度差异; 激活函数; 零均值; 梯度消失; 多尺度目标

计算机视觉领域中,目标检测一直是工业应用中比较热门且成熟的应用领域,它涉及场景中目标分类和目标定位的结合,比如人脸识别、车牌识别及行人检测等.因为近年来硬件计算能力变得越来越强,所以在卷积神经网络基础上进行深度学习的研究也得到了不断发展,特别是在机器视觉方面已有不错的成果.刘文生等提出了SSD(单镜头多箱检测器)算法,采用回归方法进行检测,并将定位和分类集成到一个网络中.SSD算法基于VGG-16网络结构,将VGG-16中的全连接层替换为卷积层[1],然后将各个卷积层分别输出到各自的特征映射,作为特征图预测的输入,最后生成一个多尺度的特征映射进行回归.而YOLO算法是将目标检测转换成一个回归问题,使检测速度得到了极大的提升,不过仍存在一些不足,即检测小目标所得的结果无法达到较高精度[2].通过各路学者不断的努力,YOLO算法得以一次次升级,现在已经升级为YOLOv3,它采用K-means聚类的方法在数据集中得出其边界框最佳的初始位置.为了提高小目标的检测精度,算法采用了多尺度融合[3],但上述算法的速度还达不到实时效果.对于无人驾驶问题,在提高检测精度的同时,也需要提高实时性能,为了平衡速度与精度两者之间的利弊,本文中改进了YOLOv3网络,使其更适合在硬件上运行.

1 目标检测系统

将自动驾驶应用到实际中,既要提高计算能力,又要考虑实物的成本以及大小等问题,若要满足这些需求,则需使用高性能并具有GPU的多核平台.本文使用了NVIDIA公司开发的嵌入式视觉计算系统Jetson TX1,TX1以256核Maxwell架构GPU为主,在性能上十分节能高效并且外观小巧[4].以Jetson TX1作为核心开发板,将前置摄像头采集到的图像信息输入到TX1中,再通过目标检测算法,检测、识别多种目标,并将读取的信息存储至数据库,同时通过显示屏显示,系统硬件原理框图如图1所示.目前,应用在TX1上的图像检测计算的帧速率虽然很可观,但对于实际应用来说,还有一定差距,因此本文选用最新的YOLOv3算法在此平台上进行改进、提速.

图1 系统硬件原理框图
Fig.1 Block diagram of system hardware principle

2 YOLOv3及改进的检测算法

2.1 YOLOv3算法

基于端到端YOLO系列算法的步骤为:首先输入图像并提取网络特征,得到一定大小的特征图(比如13×13),然后将输入图像划分成13×13个单元格,接着进行边界框预测.某个目标的中心坐标落在哪个单元格中,则由该单元格来预测该目标,每个单元格都会预测固定数量的边界框(YOLOv1中是2个,YOLOv2中是5个,YOLOv3中是3个),这几个边界框中只有最大的边界框才会被选定用来预测该目标[5].

相较于前两代YOLO,第三代YOLOv3有了很大进步,各方面都复杂得多,而且无论是在速度方面还是结果的精度方面,对比其他深度学习算法(SSD、R-FCN等),YOLOv3的优势都是最明显的[6].YOLOv3首先对边界框预测,采用K-means聚类的方式对Anchor Box进行初始化,得到多个Anchor Box的尺寸、位置信息[7],其次,采用多标签分类,该操作是通过logistic分类器来实现的,取代了以往的softmax分类,这是YOLOv3的一大亮点,解决了重叠类别标签检测不出的问题.另外,类别预测中的损失函数采用二元交叉熵,特别针对小目标检测,还采用了多尺度融合进行特征提取,采用Darknet-53特征提取网络,包括53个卷积层和残差结构.YOLOv3虽然改进了YOLO一直以来不擅长检测小物体的缺点,并一直保证着高检测速度,但平均准确率(mAP)并不高.

2.2 改进的YOLOv3检测算法

2.2.1 激活函数的改进

YOLOv3中所采用的损失函数主要由激活函数sigmoid和二元交叉熵组成,其中输入的连续实值经过sigmoid函数激活后,输出值都会在0~1范围内,但在深度神经网络中梯度反向传递时,要对sigmoid求导,求导后两边趋向于0,也就意味着很大几率会出现梯度消失的现象,甚至还有几率发生梯度爆炸,而且sigmoid所输出数据都大于0,那么收敛速度会受到相应的影响[8].本文结合sigmoid函数和ReLU函数存在的问题,将激活函数改进为

(1)

式中,参数αβ为可调整参数,神经网络更新α的方式为

(2)

式中,με分别为激活函数通过反向传播进行训练得到的动量和学习率.本文采用αi=0.25作为初始值,β则控制着负值部分在何时饱和,最终通过不断测试对比,选取β=0.5[9].改进后的激活函数其总体输出接近0均值,这样下一层的神经元得到0均值作为输入,能够提升收敛速度,还解决了梯度消失以及ReLU函数中的Dead ReLU问题.加入参数αβ后,可以避免引起某些神经元可能永远不会被激活,导致相应的参数永远不能被更新的情况.

2.2.2 采用多级特征金字塔网络

YOLOv3中采用的多尺度融合(FPN)是通过自上而下的方式融合深层和浅层的特征来构造特征金字塔.虽然采用FPN后,大幅度提升了小物体的检测能力,但对于一些大、中物体检测能力偏弱,这是因为金字塔中的每个特征图(用于检测特定大小范围内的对象)主要或甚至仅通过骨干网络单层构建,即主要或仅包含单层信息.图像中所包含的各个目标大小不一,所以应当根据相应的特征分别进行检测,目标可大致分为简单目标与复杂目标两种,对于前者仅仅是浅层特征便可检测到,其所包含语义信息不多,可优势在于目标位置准确;对于后者,则需要较深层的特征,其语义信息相对更多,可不足在于目标位置较模糊[10].而多级特征金字塔网络最后可以提取同一尺度在不同层内的特征,解决了FPN方法的局限性.

本文的多级特征金字塔网络(MLFPN)结构如图2所示,结构保留YOLOv3中的DarkNet-53并作为主要特征提取网络.将MLFPN嵌入到DarkNet-53网络后,首先将DarkNet-53网络提取的3个层次特征(大小分别为13×13、26×26、52×52)通过特征融合模块(FFM)融合,将融合后的特征图(大小为52×52)作为基本特征,再依次由多个U形模块(TUM)和FFM对基本特征进行处理,这样所提取的特征代表性会更强.其中TUM用来产生多个不同尺度的特征图,且不同TUM内解码器层的深度基本一致,每个TUM由5个跨步卷积(编码器)和5个上采样组成,最终将输出6种尺度的特征,本文输出大小依次为52×52、26×26、13×13、7×7、3×3、1×1的特征图.每一级的输出可表示为

(3)

式中:X为融合多层特征后的基本特征;为第l个TUM中具有第i个尺度的特征;L为TUM的数量(本文实验中L=8);Tl为经过第l个TUM模块处理函数;F为FFM融合处理函数.FFM用来将基础特征和上一个TUM输出特征中最大特征图进行融合,最后由SFAM(特征聚合模块)聚合TUM产生多个特征图,从而得到最终的特征金字塔,相同尺度的特征可以进行直接拼接.YOLOv3融合MLFPN后进一步加深了网络层,并且在原有YOLOv3的三个尺度融合的基础上增加为6个尺度,使最终特征金字塔中的语义信息更为丰富,模型对多尺度目标的检测也更加准确.

图2 MLFPN结构图
Fig.2 MLFPN structure diagram

3 实验结果

3.1 数据集及实验环境

本文的实验环境如表1所示,本文所用的数据集是公开的目标检测标注对比数据集PASCAL VOC 2012.为了确定现有算法是否具备更高的性能,本文所建模型不管是在训练时还是在测试时,都是通过开放数据集而实现.Pascal VOC 2007数据集共包含20个类别,11 540幅图像,27 450个被标注的目标.设置召回率阈值等于0.5,最大边框检测数量是20个.

表1 实验环境
Tab.1 Experimental environment

硬件环境软件环境深度学习框架编程语言Jetson TX1Ubuntu16.04TensorFlow1.12.0Python3.5

3.2 结果分析

本文分别用改进的YOLOv3网络和Faster-rcnn、YOLOv3算法来检测目标,通过数据集的样本验证训练模型的检测效果,最终检测结果如图3所示.由图3可知,改进后的YOLOv3准确率超过80%,并且其检测效果相比另两种算法有较大的提升.

本文选取数据集中几张图片的检测结果进行对比,对比结果如图4所示.由图4中标出的准确率和识别框数以及表2中各类别mAP对比可证明,无论是普通背景单目标图像、多目标图像,还是有遮挡目标图像,改进的YOLOv3算法都展现了比YOLOv3更好的检测能力,可以更为精准地检测目标,降低了漏检率.

图3 检测方法对比
Fig.3 Comparison of detection methods

图4 YOLOv3和改进的YOLOv3检测结果图
Fig.4 Detection results of YOLOv3 before and after improvement

表2 各类别mAP对比表
Tab.2 Comparison of different mAP %

类别YOLOv3改进的YOLOv3飞机2782牛3880车6687人5489

将改进的YOLOv3算法应用到TX1开发板中的检测结果如图5所示.静态图像检测结果如图5中a、b、c、d所示;导入一段视频后,动态视频检测结果截图如图5e、f、g、h所示.根据对比图可以看出,改进后的算法可以将较远的小目标和重叠的目标识别出来,漏检率明显降低.其中图5e、f和图5g、h分别为视频中截取的第13帧和32帧,由图5以及表3(对视频进行目标检测的速度及mAP对比表)可以看出,改进的YOLOv3相较于YOLOv3的mAP增长了1.47倍,且检测速度提高了1.13倍.

4 结 论

文中将YOLOv3中的特征金字塔、激活函数改进后,利用嵌入式GPU平台在Jetson TX1上实现目标检测,借助CUDA编程进行并行算法,从而实现目标检测,改进的YOLOv3可以更高速地提取精确结果.由于GPU硬件技术近年来不断获得发展,并且随着研究进一步深入,将深度学习算法应用到具有实时处理能力的、带有强大高性能运算能力的GPU设备中已经成为可能,届时整个目标检测与跟踪过程可以更加高效、准确的实现.

图5 TX1上的实验结果图
Fig.5 Experimental results on TX1

表3 实验结果
Tab.3 Experimental results

算法模型速度/(幅·s-1)mAP/%YOLOv319.833.0改进的YOLOv322.448.4

参考文献:

[1]李华清.基于SSD的航拍图像小目标快速检测算法研究 [D].西安:西安电子科技大学,2018:2-13.

(LI Hua-qing.The research on fast detection algorithm for small targets of aerial images based on SSD [D].Xi’an:Xidian University,2018:2-13.)

[2]李彦冬,郝宗波,雷航.卷积神经网络研究综述 [J].计算机应用,2016,36(9):2508-2515.

(LI Yan-dong,HAO Zong-bo,LEI Hang.A survey of convolution neural networks [J].Journal of Computer Applications,2016,36(9):2508-2515.)

[3]卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述 [J].数据采集与处理,2016,31(1):1-17.

(LU Hong-tao,ZHANG Qin-chuan.Review on the application of deep convolution neural network in computer vision [J].Journal of Data Acquisition and Processing,2016,31(1):1-17.)

[4]刘宇.基于卷积神经网络的道路目标检测算法研究与实现 [D].武汉:武汉大学,2018:20-23.

(LIU Yu.Research and implementation of road object detection algorithm based on convolutional neural network [D].Wuhan:Wuhan University,2018:20-23.)

[5]Redmon J,Divvala S,Girshick R,et al.You only look once:unified,real-time object detection [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas,USA,2016:779-788.

[6]谭俊.一个改进的YOLOv3目标识别算法研究 [D].武汉:华中科技大学,2018:50-51.

(TAN Jun.Study on an improved YOLOv3 object identification algorithm [D].Wuhan:Huazhong University of Science and Technology,2018:50-51.)

[7]孙新胜.基于多卷积神经网络的研究与应用 [D].杭州:杭州电子科技大学,2018:10-32.

(SUN Xin-sheng.Research and application of multi-convolution neural network [D].Hangzhou:Hangzhou Dianzi University,2018:10-32.)

[8]吕铄,蔡烜,冯瑞.基于改进损失函数的YOLOv3网络 [J].计算机系统应用,2019,28(2):1-7.

(LÜ Shuo,CAI Xuan,FENG Rui.YOLOv3 network based on improved loss function [J].Computer Systems and Applications,2019,28(2):1-7.)

[9]张志佳,吴天舒,刘云鹏,等.基于连续非对称卷积结构的手写体数字识别 [J].沈阳工业大学学报,2018,40(5):518-523.

(ZHANG Zhi-jia,WU Tian-shu,LIU Yun-peng,et al.Handwritten numeral recognition based on continuous asymmetric convolution structure [J].Journal of Shenyang University of Technology,2018,40(5):518-523.)

[10]李靓,贺柏根,霍家道.FPN在遥感图像检测中的应用 [J].指挥控制与仿真,2019,41(2):130-136.

(LI Liang,HE Bai-gen,HUO Jia-dao.Application of FPN in remote sensing image [J].Command Control and Simulation,2019,41(2):130-136.)

Object detection system based on Jetson TX1

GE Wen1, ZHANG Wen-ting1, SUN Xu-ze2

(1. School of Electronics and Information Engineering, Shenyang Aerospace University, Shenyang 110136, China; 2. Information and Telecommunication Branch, State Grid Liaoyang Electric Power Supply Company, Liaoyang 111000, China)

Abstract Aiming at the problem that the object detection algorithm still needs to be accelerated in practical application, an improved YOLOv3 algorithm was proposed. Through embedding the multi-level feature pyramid network into the DarkNet-53 network of YOLOv3 algorithm, the error problem caused by the scale difference of actual detection objects was solved. The as-proposed algorithm not only increased the scale of output features, but also made the number of network layers deepened. Concerning the problems of zero mean of activation function and vanishing gradient in loss function, a novel activation function was proposed. The results show that the improved YOLOv3 algorithm can detect the multi-scale objects much better, improve the detection speed and accuracy, and exhibit a more efficient performance for hardware implementation.

Key words object detection; YOLOv3 algorithm; multi-level feature pyramid; scale difference; activation function; zero mean; gradient vanishing; multi-scale object

收稿日期 2018-04-09.

基金项目 辽宁省自然科学基金资助项目(201602556).

作者简介 葛 雯(1972-),女,上海人,副教授,博士,主要从事图像处理、模式识别等方面的研究.

*本文已于2019-08-28 14∶40在中国知网优先数字出版. 网络出版地址: http:∥kns.cnki.net/kcms/detail/21.1189.T.20190827.1738.024.html

doi:10.7688/j.issn.1000-1646.2019.05.11

中图分类号: TP 391

文献标志码:A

文章编号:1000-1646(2019)05-0539-05

(责任编辑:景 勇 英文审校:尹淑英)