CN112417973A - 一种基于车联网的无人驾驶系统 - Google Patents
一种基于车联网的无人驾驶系统 Download PDFInfo
- Publication number
- CN112417973A CN112417973A CN202011147496.7A CN202011147496A CN112417973A CN 112417973 A CN112417973 A CN 112417973A CN 202011147496 A CN202011147496 A CN 202011147496A CN 112417973 A CN112417973 A CN 112417973A
- Authority
- CN
- China
- Prior art keywords
- network
- yolov3
- module
- feature
- subsystem
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/48—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
- G01S19/49—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
- G07C5/0866—Registering performance data using electronic data carriers the electronic data carrier being a digital video recorder in combination with video camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于车联网的无人驾驶系统,应用于智能汽车上,包括:感知子系统,用于采集智能汽车本身及其周围环境的数据信息;规划子系统,与感知子系统连接,用于根据数据信息规划行车路径,并向运动控制子系统发出控制指令;控制子系统,与规划子系统相连,用于根据收到的控制指令,控制智能汽车执行相应的操作;其中,感知子系统包括:图像采集模块,用于采集智能汽车本身及其周围环境的目标道路图像;规划子系统内存储有道路检测程序,当接收到目标道路图像时,规划子系统执行道路检测程序以实现道路检测并根据检测结果规划智能汽车的路径。本发明可以实现:高精度、高实时性道路检测,合理地规划行驶路径。
Description
技术领域
本发明属于无人驾驶领域,具体涉及一种基于车联网的无人驾驶系统。
背景技术
随着科学技术的不断进步,以计算机技术和自动化技术为主的智能控制技术获得了飞速的发展,因此,近年来无人驾驶类的智能汽车的研究已经成为最为关注的课题之一。
同时,随着车联网技术的快速发展,也给智能汽车的研发带来了曙光。利用该车联网技术,行驶中的车辆,能够借助新一代信息通信技术,实现车辆、行人、路面设施、服务平台之间的网络连接,提升车辆整体的智能驾驶水平及交通运行效率。
为了向智能汽车提供有效的道路信息,以便其及时规划路线、紧急避让,实现安全驾驶。一些研究者将基于神经网络的目标检测算法与车联网技术相结合,通过采集道路图像,上传至云端进行图像检测,识别出其中车辆的类型和位置,再将检测结果传输给对应的车辆以供驾驶员使用。但数据上传至云端,以及从云端下载是需要占用一定的网络带宽资源的,并且需要较长的时间;同时,云端对图像进行处理,也需要耗费一定的时间。因此会带来较长的传输时延,导致检测实时性较差。但道路状况是瞬息万变的,许多交通事故在极短的时间内就会发生。
并且,随着车辆密集化、道路复杂化,对道路图像的检测精度提出了更高的要求,尤其是需要准确检测出图像中的小目标,比如小型车辆,或者由于采集距离远在图像中尺寸较小的车辆等等。而现有检测方法的检测精度,尤其是对于小目标的检测精度并不理想。
因此,急需为智能汽车提出一种基于车联网的道路检测方法,以实现高精度和高实时性检测,实现快速、精准地检测道路中目标的位置和类别,从而更加合理地规划行驶路径的目的。
发明内容
为了使智能汽车能够实现高精度和高实时性的道路目标检测,本发明实施例提供了一种基于车联网的无人驾驶系统。
具体技术方案如下:
本发明实施例提供了一种基于车联网的无人驾驶系统,应用于智能汽车上,包括:
感知子系统,用于采集智能汽车本身及其周围环境的数据信息;
规划子系统,与感知子系统连接,用于根据数据信息规划行车路径,并向运动控制子系统发出控制指令;
控制子系统,与规划子系统相连,用于根据收到的控制指令,控制智能汽车执行相应的操作;其中,
感知子系统包括:图像采集模块,用于采集智能汽车本身及其周围环境的目标道路图像;
规划子系统内存储有道路检测程序,当接收到目标道路图像时,规划子系统执行道路检测程序以实现道路检测并根据检测结果规划智能汽车的路径。
在本发明的一种实施例中,感知子系统还包括:
车速采集模块,用于通过智能汽车的车速编码器获取当前运行的速度;
定位导航模块,通过融合GPS全球定位系统和INS惯性导航系统,经过分析解算得到智能汽车当前的地理位置与时间。
在本发明的一种实施例中,处理器执行道路检测程序,包括:
获取图像采集模块采集的目标道路图像;将目标道路图像输入预先训练得到的改进型YOLOv3网络中,利用密集连接形式的主干网络对目标道路图像进行特征提取,得到x个不同尺度的特征图;x为大于等于4的自然数;利用改进型FPN网络对x个不同尺度的特征图进行自顶向下、密集连接方式的特征融合,得到各尺度对应的预测结果;基于所有预测结果,得到目标道路图像的属性信息,属性信息包括目标道路图像中目标的位置和类别;其中,改进型YOLOv3网络包括密集连接形式的主干网络、改进型FPN网络;改进型YOLOv3网络是在YOLOv3网络基础上,将主干网络中的残差模块更换为密集连接模块、增加特征提取尺度、优化FPN网络的特征融合方式,以及进行剪枝及结合知识蒸馏引导网络恢复处理后形成的;改进型YOLOv3网络是根据样本道路图像,以及样本道路图像对应的目标的位置和类别训练得到的。
本发明实施例为智能汽车提供了一种基于车联网的无人驾驶系统,该基于车联网的无人驾驶系统能够快速、精准地显示道路中目标的位置和类别。一方面,本发明的道路检测程序将YOLOv3网络的主干网络中的残差模块更换为密集连接模块,将特征融合方式从并行改为了串行,使得主干网络在进行特征提取时,能够直接将早期的特征图作为后面每一层的输入,获得的特征图的信息量更多,强化了特征的传递,因此在进行目标道路图像检测时,能够提高检测精度。并且,通过复用浅层网络的特征图参数能够减少参数的数量以及运算量。另一方面,采用多个特征提取尺度,为小目标增加细粒度的特征提取尺度,能够提升目标道路图像中小目标的检测精度。又一方面,改变FPN网络的特征融合方式,对主干网络提取的特征图采用自顶向下、密集连接的方式进行特征融合,将深层特征直接进行不同倍数的上采样,以此来使得传递的所有特征图具有相同的尺寸,将这些特征图和浅层的特征图通过串联的方式融合起来,可以利用到更多的原始信息,在浅层网络中也有高维语义信息的参与,有助于提高检测的精度;同时通过直接接收更浅层网络的特征,可以得到更加具体的特征,将有效的减少特征的损失,可以减少需要运算的参数量,提高检测速度,实现实时检测。再一方面,通过对预训练的网络进行层剪枝、稀疏化训练、通道剪枝,以及知识蒸馏处理,并在各个处理过程选取优化的处理参数,可以精简网络体积,摒除大部分的冗余计算,能够在维持检测精度的情况下大幅度提升检测速度。本发明将云端的检测过程部署在了存储资源和计算资源都非常有限的智能汽车的规划子系统中,由智能汽车就可以实现超视距道路检测,可以对道路上的目标实现高精度和高实时性检测,有利于智能汽车进行更加合理地规划行驶路径。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本发明实施例提供的一种基于车联网的无人驾驶系统的结构示意图;
图2为本发明实施例提供的一种道路检测方法的流程示意图;
图3为现有技术中的YOLOv3网络的结构示意图;
图4为本发明实施例所提供的改进型YOLOv3网络的结构示意图;
图5为本发明实施例所提供的一种过渡模块的结构示意图;
图6-1为YOLOv3和本发明实施例的Dense-YOLO-1的mAP曲线对比图;图6-2为YOLOv3和本发明实施例的Dense-YOLO-1的loss曲线对比图;
图7-1为本发明实施例的Dense-YOLO-1和MultiScale-YOLO-1的mAP曲线对比图;图7-2为本发明实施例的Dense-YOLO-1和MultiScale-YOLO-1的loss曲线对比图;
图8-1为本发明实施例的Dense-YOLO-1和Dense-YOLO-2的mAP曲线对比图;图8-2为本发明实施例的Dense-YOLO-1和Dense-YOLO-2的loss曲线对比图;
图9-1为本发明实施例的Dense-YOLO-1和MultiScale-YOLO-2的mAP曲线对比图;图9-2为本发明实施例的Dense-YOLO-1和MultiScale-YOLO-2的loss曲线对比图;
图10-1为本发明实施例选择的参数组合5的权重偏移图;图10-2为本发明实施例选择的参数组合5的权重交叠图;
图11为本发明实施例的改进型YOLOv3网络(YOLO-Terse)与YOLOv3网络的性能对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
请参见图1,图1为本发明实施例提供的一种基于车联网的无人驾驶系统的结构示意图,如图1所述,本发明实施例提供的基于车联网的无人驾驶系统10,应用于智能汽车上,包括:感知子系统101、规划子系统102和控制子系统103,以下分别说明。
感知子系统101,用于采集所述智能汽车本身及其周围环境的数据信息;
所述感知子系统通常需要获取周围环境的大量信息,包括:障碍物的位置、速度以及可能的行为、可行驶的区域、交通规则等等;目前智能汽车通常是通过融合激光雷达、相机、毫米波雷达等多种传感器的数据来获取所述数据信息。
进一步地,所述感知子系统101包括:图像采集模块1011,用于采集所述智能汽车本身及其周围环境的目标道路图像;车速采集模块1012,用于通过所述智能汽车的车速编码器获取当前运行的速度;定位导航模块1013,通过融合GPS全球定位系统和INS惯性导航系统,经过分析解算得到所述智能汽车当前的地理位置与时间。
所述导航模块通过融合GPS全球定位系统和INS惯性导航系统,从而克服了传统感知子系统采用的GPS/IMU的定位方法在GPS信号缺失、微弱的情况下无法做到高精度定位,如地下停车场,周围均为高楼的市区等,因此只能适用于部分场景的无人驾驶任务。
规划子系统102,与所述感知子系统101连接,用于根据所述数据信息规划行车路径,并向控制子系统发出控制指令;
所述规划子系统可以分为三层设计:任务规划、行为规划和动作规划;其中,所述任务规划通常也被称为路径规划或者路由规划,它主要负责相对顶层的路径规划,比如起点到终点的路径选择;行为规划有时也被称为决策制定(Decision Maker),主要的任务是按照任务规划的目标和当前的局部情况(其他的车辆和行人的位置和行为,当前的交通规则等),作出下一步智能汽车应该执行的决策,可以把这一层理解为车辆的副驾驶,他依据目标和当前的交通情况指挥驾驶员是跟车还是超车,是停车等行人通过还是绕过行人等等;通过规划一系列的动作以达到某种目的(比如说规避障碍物)的处理过程被称为动作规划;通常来说,考量动作规划算法的性能通常使用两个指标:计算效率(ComputationalEfficiency)和完整性(Completeness),所谓计算效率,即完成一次动作规划的处理效率,动作规划算法的计算效率在很大程度上取决于配置空间(Configuration Space),如果一个动作规划算法能够在问题有解的情况下在有限时间内返回一个解,并且能够在无解的情况下返回无解,那么我们称该动作规划算法是完整的。
进一步地,所述规划子系统102内存储有道路检测程序,当接收到所述目标道路图像时,所述规划子系统102执行道路检测程序以实现道路检测并根据检测结果规划所述智能汽车的路径。
控制子系统103,与所述规划子系统102相连,用于根据收到的所述控制指令,控制所述智能汽车执行相应的操作。
进一步地,所述控制子系统103内包括驱动反馈单元,所述驱动反馈单元根据规划子系统的指令控制智能汽车进行前进、后退、加速、减速、左转、右转和刹车,同时将前进、后退、加速、减速、左转、右转和刹车的参数传输至控制子系统;实时将智能汽车能量状况反馈给控制子系统,当汽车能量低于25%时将向汽车电脑反馈警告信息,当汽车能量低于10%时将向向汽车电脑反馈报警信息。
以下对执行所述规划子系统102内存储的道路检测程序时所实现的道路检测方法进行说明。
如图2所示,本发明实施例所提供的一种道路检测方法的流程示意图,如图2所示,本发明实施例的基于车联网的无人驾驶系统,处理器执行所述道路检测程序,包括:
S1,获取图像采集模块采集的目标道路图像;
目标道路图像为所述图像采集模块针对道路区域采集的图像。
图像采集模块可以以一定的时间间隔不断采集对应区域的道路图像,比如以30fps的速率进行采集,并由所在的图像采集模块将采集到的道路图像传输给规划子系统。当然,时间间隔也可以根据道路上物体的密集程度或者根据需求进行调整。
本发明实施例中,目标道路图像的尺寸为416×416×3。因此,在该步骤,一种实施方式中,可以直接从图像采集模块获得416×416×3尺寸的目标道路图像;另一种实施方式中,可以获得图像采集模块发送的任意尺寸的图像,再将获得的图像经过一定的尺寸缩放处理,得到416×416×3尺寸的目标道路图像。
并且,在上述两种实施方式中,还可以对获取到的图像可以进行裁剪、拼接、平滑、滤波、边缘填充等图像增强操作,以增强图像中感兴趣的特征,扩展数据集的泛化能力。
S2,将目标道路图像输入预先训练得到的改进型YOLOv3网络中,利用密集连接形式的主干网络对目标道路图像进行特征提取,得到x个不同尺度的特征图;x为大于等于4的自然数;
为了便于理解本发明实施例所提出的改进型YOLOv3网络的网络结构,首先,对现有技术中的YOLOv3网络的网络结构进行介绍,请参见图3,图3为现有技术中的YOLOv3网络的结构示意图。在图3中,虚线框内的部分为YOLOv3网络。其中点划线框内的部分为YOLOv3网络的主干(backbone)网络,即darknet-53网络;YOLOv3网络的主干网络由CBL模块和5个resn模块串接构成。CBL模块为卷积网络模块,包括串行连接的conv层(Convolutionallayer,卷积层,简称conv层)、BN(Batch Normalization,批量归一化)层和激活函数Leakyrelu对应的Leaky relu层,CBL即表示conv+BN+Leaky relu。resn模块为残差模块,n代表自然数,如图2所示,具体地,沿输入方向依次有res1、res2、res8、res8、res4;resn模块包括串行连接的zero padding(零填充)层、CBL模块和残差单元组,残差单元组用Res unit*n表示,含义是包括n个残差单元Res unit,每个残差单元包括采用残差网络(ResidualNetwork,简称为ResNets)连接形式连接的多个CBL模块,特征融合方式采用并行方式,即add方式。
主干网络之外的其余部分为FPN(Feature Pyramid Networks,特征金字塔网络)网络,FPN网络又分为三个预测支路Y1~Y3,预测支路Y1~Y3的尺度分别与沿输入逆向的3个残差模块res4、res8、res8分别输出的特征图的尺度一一对应。各预测支路的预测结果分别以Y1、Y2、Y3表示,Y1、Y2、Y3的尺度依次增大。
FPN网络的各个预测支路中均包括卷积网络模块组,具体包括5个卷积网络模块,即图3中的CBL*5。另外,US(up sampling,上采样)模块为上采样模块;concat表示特征融合采用级联方式,concat为concatenate的简称。
YOLOv3网络中各个主要模块的具体构成请参见图3中虚线框下的示意图。
本发明实施例中,改进型YOLOv3网络包括密集连接形式的主干网络、改进型FPN网络;改进型YOLOv3网络是在YOLOv3网络基础上,将主干网络中的残差模块更换为密集连接模块、增加特征提取尺度、优化FPN网络的特征融合方式,以及进行剪枝及结合知识蒸馏引导网络恢复处理后形成的;改进型YOLOv3网络是根据样本道路图像,以及样本道路图像对应的目标的位置和类别训练得到的。关于网络训练过程在后文中予以介绍。
为了便于理解本发明方案,以下先对改进型YOLOv3网络的结构进行介绍,首先是其主干网络部分。
本发明实施例的改进型YOLOv3网络的结构请参见图4,图4为本发明实施例所提供的改进型YOLOv3网络的结构示意图;在图4中,可以看到主干网络发生了变化,请参见图4中的点划线框内的部分。
本发明实施例所提供的改进型YOLOv3网络的主干网络相比于YOLOv3网络的主干网络,一方面的改进思想在于,借鉴密集卷积网络DenseNet的连接方式,提出一种具体的密集连接模块,用来替换YOLOv3网络的主干网络中的残差模块(resn模块)。即改进型YOLOv3网络的主干网络采用的是密集连接形式的主干网络,已知的是,ResNets在将特征传递到图层之前通过求和来组合特征,即采用并行方式进行特征融合。而密集连接方式为了确保信息以最大程度在网络中各层之间流动,将所有层(具有匹配的特征图大小)彼此直接连接。具体的,针对每个层,它之前层的所有特征图被用作它的输入,它本身的特征图被用作它所有后续层的输入,也就是特征融合采用级联方式(也称为串联方式)。因此,相比于YOLOv3网络使用残差模块,改进型YOLOv3网络通过改用密集连接模块,获得的特征图的信息量更多,在进行道路图像检测时,能够增强特征传播,提高检测精度。同时,因为它不需要重新学习冗余的特征图,可以大大减小参数数量,减少计算量,还可以减轻梯度消失问题。另一方面,本发明实施例将特征图由浅到深进行传递,提取至少四个尺度的特征图,让网络能够检测不同尺度的物体,通过增加细粒度的特征提取尺度,可以使得在后续目标检测时,针对小目标能够提高检测精度。本发明实施例中的小目标包括道路上本身体积较小的物体,如道路标志牌、小障碍物、小动物等,或者由于采集距离远导致图像中面积较小的物体。
示例性的,请参见图4,密集连接形式的主干网络可以包括:
间隔串接的密集连接模块和过渡模块;图4中密集连接模块表示为denm。密集连接模块的数量为y;密集连接模块包括串行连接的卷积网络模块和密集连接单元组;卷积网络模块包括串行连接的卷积层、BN层、Leaky relu层;密集连接单元组包括m个密集连接单元;每个密集连接单元包括多个采用密集连接形式连接的卷积网络模块,并采用级联方式融合多个卷积网络模块输出的特征图;其中,y为大于等于4的自然数,m为大于1的自然数。
作为示例,图4中密集连接模块的数量为5个,相比于4个密集连接模块,5个密集连接模块所构成的改进型YOLOv3网络的精度更高。
卷积网络模块,如前表示为CBL;密集连接单元组表示为den unit*m,其含义是,密集连接单元组包括m个密集连接单元,m可以为2。每个密集连接单元表示为den unit;其包括多个采用密集连接形式连接的卷积网络模块,并采用级联方式融合多个卷积网络模块输出的特征图,级联方式即concat,含义为张量拼接,该操作和残差模块中的add的操作是不一样的,concat会扩充张量的维度,而add只是直接相加不会导致张量维度的改变。因此,上述改进型YOLOv3网络的主干网络在进行特征提取时,利用密集连接模块,将特征融合方式从并行改为了串行,能够直接将早期的特征图作为后面每一层的输入,强化特征的传递,并通过复用浅层网络的特征图参数来减少参数的数量以及运算量。
本发明实施例中,密集连接形式的主干网络至少提取4个尺度的特征图以进行后续预测支路的特征融合,因此,密集连接模块的数量y大于等于4,以便将自身输出的特征图对应融合进各个预测支路。可见,改进型YOLOv3网络相比于YOLOv3网络,明显在主干网络增加了至少一个更细粒度的特征提取尺度。请参见图4,相比于YOLOv3网络增加了提取沿输入逆向的第四个残差模块输出的特征图进行后续的特征融合。因此,密集连接形式的主干网络沿输入逆向的四个密集连接模块分别输出对应的特征图,这四个特征图的尺度依次增大。具体的,各个特征图的尺度分别为13×13×72、26×26×72、52×52×72、104×104×72。
当然,在可选的实施方式中,也可以设置五个特征提取尺度,即再增加提取沿输入逆向的第五个密集连接模块输出的特征图进行后续的特征融合,等等。
具体的,针对S2步骤,得到x个不同尺度的特征图,包括:
得到沿输入逆向的x个密集连接模块输出的、尺度依次增大的x个特征图。
参见图4,即得到沿输入逆向的第一个密集连接模块至第四个密集连接模块分别输出的特征图,这四个特征图尺寸依次增大。
在本发明实施例中,对于过渡模块的结构:
可选的第一种实施方式中,过渡模块为卷积网络模块。也就是使用CBL模块作为过渡模块。那么,在搭建改进型YOLOv3网络的主干网络时,仅需要将残差模块更换为密集连接模块,再将密集连接模块和原有的CBL模块进行串联即可得到。这样,网络搭建过程会较为快速,所得到的网络结构较为简单。但这样的过渡模块仅使用卷积层进行过渡,即直接通过增加步长来对特征图进行降维,这样做只能照顾到局部区域特征,而不能结合整张图的信息,因此会使得特征图中的信息丢失较多。
可选的第二种实施方式中,过渡模块包括卷积网络模块和最大池化层;卷积网络模块的输入和最大池化层的输入共用,卷积网络模块输出的特征图和最大池化层输出的特征图采用级联方式融合。该种实施方式中过渡模块的结构请参见图4,图4为本发明实施例所提供的一种过渡模块的结构示意图。该种实施方式中,用tran模块表示该种过渡模块,MP层为最大池化层(Maxpool,缩写MP,含义为最大池化)。进一步的,MP层的步长可以选择为2。在该种实施方式中,引入的MP层可以以较大的感受野对特征图进行降维;使用的参数比较少,因此不会过多地增加计算量,可以减弱过拟合的可能,提高网络模型的泛化能力;并且结合原有的CBL模块,可以看做从不同的感受野对特征图进行降维,因此可以保留更多信息。
针对上述第二种实施方式,可选的,过渡模块包括的卷积网络模块的数量为两个或三个,且各个卷积网络模块之间采用串接方式。相比于使用一个卷积网络模块,采用串接的两个或三个卷积网络模块,能够增加模型的复杂度,充分提取特征。
S3,利用改进型FPN网络对x个不同尺度的特征图进行自顶向下、密集连接方式的特征融合,得到各尺度对应的预测结果;
以下结合图4的改进型FPN网络的结构,对其自顶向下、密集连接方式的特征融合方式进行介绍。
改进型FPN网络包括尺度依次增大的x个预测支路Y1~Yx;预测支路Y1~Yx的尺度与x个特征图的尺度一一对应;示例性的,图3的改进型FPN网络有4个预测支路Y1~Y4,其尺度分别与前述的4个特征图的尺度一一对应。
针对S3步骤,利用改进型FPN网络对x个不同尺度的特征图进行自顶向下、密集连接方式的特征融合,包括:
针对预测支路Yi,从x个特征图中,获取对应尺度的特征图并进行卷积处理;
将卷积处理后的特征图,与预测支路Yi-1~Y1分别经上采样处理后的特征图进行级联融合;
其中,预测支路Yi-j的上采样倍数为2j;i=2、3,…,x;j为小于i的自然数。
参见图4,以i=3也就是预测支路Y3为例说明,其进行级联融合处理的特征图来源于三方面:第一方面,是从4个特征图中,获取对应尺度的特征图并进行卷积处理,也就是沿输入逆向的第三个密集连接模块输出的特征图经CBL模块后的特征图,该特征图也可以理解为经过1倍上采样,尺寸是52×52×72;第二方面来源于预测支路Y2(即Yi-1=Y2),即沿输入逆向的第二个密集连接模块输出的特征图(尺寸是26×26×72)经过预测支路Y2的CBL模块再经21=2倍上采样处理后的特征图(尺寸是52×52×72);第三方面来源于预测支路Y1(即Yi-2=Y1),即沿输入逆向的第一个密集连接模块输出的特征图(尺寸是13×13×72)经预测支路Y1的CBL模块后再经22=4倍上采样处理后的特征图(尺寸是52×52×72);那么,本领域技术人员可以理解的是,上述过程将其主干网络输出的3个不同尺度的特征图经过不同倍数的上采样处理后,可以使得待级联融合的3个特征图的尺寸一致,均为52×52×72。这样,预测支路Y3可以在级联融合之后,继续进行卷积等处理,得到预测结果Y3,Y3尺寸为52×52×72。
关于预测支路Y2和Y4的特征融合过程,请参见预测支路Y3,在此不再赘述。而针对预测支路Y1,其获取沿输入逆向的第一个密集连接模块输出的特征图后自行进行后续的预测过程,并不接受其余预测支路的特征图与之融合。
原先的YOLOv3网络的FPN网络的特征融合方式中,使用的是先将深层和较浅层网络特征相加,再一起进行上采样的方法,这种方法在将特征相加后,要通过卷积层提取特征图,这样的操作会破坏一些原始的特征信息。而在本实施方式中,特征融合结合横向方式与自顶向下密集连接方式,在这种方式中,原有的自顶向下的方式变成了尺度较小的预测支路的特征图直接向每一个尺度较大的预测支路传递自身的特征,将特征融合方式变为了密集的融合方法,即深层特征直接进行不同倍数的上采样,以此来使得传递的所有特征图具有相同的尺寸。将这些特征图和浅层的特征图通过串联的方式融合起来,对融合的结果再次提取特征来消除里面的噪声,保留主要信息,然后进行预测,这样可以利用到更多的原始信息,在浅层网络中也有高维语义信息的参与。因此,这样可以发挥密集连接网络保留更多特征图原始语义特征的优势,只不过对于自顶向下的方法来讲,保留的原始语义是更加高维的语义信息,这样可以对于物体的分类有帮助。通过直接接收更浅层网络的特征,可以得到更加具体的特征,这样将有效地减少特征的损失,并且可以减少需要运算的参数量,加速预测过程。
以上,主要针对特征融合方式进行介绍,各预测支路在特征融合之后主要是利用一些卷积操作进行预测,关于如何获取各自的预测结果请参见相关的现有技术,在此不进行说明。
那么,在本发明实施例中,可以针对采用两种不同形式过渡模块的改进型YOLOv3网络分别采用上述自顶向下、密集连接方式的特征融合。优选的实施方式中,在采用图5所示的过渡模块的改进型YOLOv3网络中实施该步骤。在后文中,改进型YOLOv3网络指的是图4结合图5得到的网络。
本发明实施例的改进型YOLOv3网络中,4个预测支路共输出四个尺度的特征图,分别为13×13×72、26×26×72、52×52×72、104×104×72,最小的13×13×72的特征图上由于其感受野最大,适合较大的目标检测;中等的26×26×72特征图上由于其具有中等感受野,适合检测中等大小的目标;较大的52×52×72特征图上由于其具有较小的感受野,适合检测较小的目标;最大的104×104×72特征图上由于其具有更小的感受野,故适合检测再小的目标。可见,本发明实施例对图像的划分更加精细,预测结果对尺寸较小的物体更有针对性。
以下对网络训练过程予以介绍。网络训练是在服务器中完成的,网络训练可以包括网络预训练、网络剪枝和网络微调三个过程。具体可以包括以下步骤:
(一),搭建网络结构;可以在YOLOv3网络基础上进行改进,将主干网络中的残差模块更换为密集连接模块、增加特征提取尺度、优化FPN网络的特征融合方式,改进过渡模块,得到如图4和图5结合得到的网络结构,作为搭建好的网络;其中m=4。
(二),获得若干样本道路图像,以及样本道路图像对应目标的位置和类别。在该过程中,各样本道路图像对应目标的位置和类别是已知的,确定各样本道路图像对应目标的位置和类别的方式可以是:通过人工识别,或者通过其他图像识别工具识别等等。之后,需要对样本道路图像进行标记,可以采用人工标记方式,当然也可以利用其余人工智能方法进行非人工标记,这都是合理的。其中,各样本道路图像对应目标的位置是以包含目标的目标框的形式标记的,这个目标框是真实准确的,各个目标框标记有坐标信息,以此来体现目标在图像中的位置。
(三),确定样本道路图像中的锚盒尺寸;可以包括以下步骤:
a)确定针对样本道路图像中锚盒尺寸的待聚类数量;
在目标检测领域,锚盒(anchor box)就是从训练集中真实框(ground truth)中统计或聚类得到的几个不同尺寸的框;锚盒其实就是对预测的对象范围进行约束,并加入了尺寸先验经验,从而实现多尺度学习的目的。在本发明实施例中,由于希望加入更细粒度的特征提取尺度,需要利用聚类方式对样本道路图像中已经标注好的各个目标框(也就是真实框)的尺寸进行聚类,以得到适合本发明实施例场景的合适的锚盒尺寸。
其中,确定针对样本道路图像中锚盒尺寸的待聚类数量,包括:
确定每个尺度对应的锚盒尺寸的种类数;将每个尺度对应的锚盒尺寸的种类数与x的乘积,作为样本道路图像中锚盒尺寸的待聚类数量。
具体的,在本发明实施中,选择每个尺度对应的锚盒尺寸的种类数为3;有4个尺度,那么,得到的样本道路图像中锚盒尺寸的待聚类数量=3×4=12。
b)获取已标注目标框尺寸的若干样本道路图像;
该步骤实际是获取样本道路图像中各个目标框的尺寸。
c)基于已标注目标框尺寸的若干样本道路图像,利用K-Means聚类方法,获得样本道路图像中锚盒尺寸的聚类结果;
具体的,可以将各个目标框的尺寸利用K-Means聚类方法进行聚类,获得锚盒尺寸的聚类结果;关于聚类过程在此不再赘述。
其中,对于不同锚盒距离的定义即为其宽高的欧式距离:
其中,d1,2代表两个锚盒的欧氏距离,w1,w2代表锚盒的宽,h1,h2代表锚盒的高。
针对待聚类数量为12,锚盒尺寸的聚类结果可以为:(13,18)、(20,27)、(26,40)、(38,35)、(36,61)、(56,45)、(52,89)、(70,61)、(85,89)、(69,155)、(127,112)、(135,220)。具体的:
针对预测支路Y1的锚盒尺寸:(69,155)、(127,112)、(135,220);
针对预测支路Y2的锚盒尺寸:(52,89)、(70,61)、(85,89);
针对预测支路Y3的锚盒尺寸:(38,35)、(36,61)、(56,45);
针对预测支路Y4的锚盒尺寸:(13,18)、(20,27)、(26,40);
d)将聚类结果写入道路图像检测网络的配置文件中。
本领域技术人员可以理解的是,将聚类结果按照不同预测支路对应的锚盒尺寸,写入道路图像检测网络的各预测支路的配置文件中,之后可以进行网络预训练。
(四),利用各样本道路图像,以及各样本道路图像对应目标的位置和类别,预训练搭建好的网络,包括以下步骤:
1)将每一样本道路图像对应目标的位置和类别作为该样本道路图像对应的真值,将各样本道路图像和对应的真值,通过搭建好的网络进行训练,获得各样本道路图像的训练结果。
2)将每一样本道路图像的训练结果与该样本道路图像对应的真值进行比较,得到该样本道路图像对应的输出结果。
3)根据各个样本道路图像对应的输出结果,计算网络的损失值。
4)根据损失值,调整网络的参数,并重新进行1)-3)步骤,直至网络的损失值达到了一定的收敛条件,也就是损失值达到最小,这时,意味着每一样本道路图像的训练结果与该样本道路图像对应的真值一致,从而完成网络的预训练,得到一个准确率较高的复杂网络。
(五),网络剪枝和网络微调;该过程也就是进行剪枝及结合知识蒸馏引导网络恢复处理。
进行剪枝及结合知识蒸馏引导网络恢复处理,包括:
①对YOLOv3网络基础上将主干网络中的残差模块改为密集连接模块、增加特征提取尺度、优化FPN网络的特征融合方式后得到的网络(即前述的复杂网络)中,主干网络的密集连接模块进行层剪枝,得到YOLOv3-1网络;
通常在对YOLOv3网络的简化处理过程中会直接进行通道剪枝,但是发明人在实验中发现,仅通过通道剪枝仍难达到速度快速提升的效果。因此在通道剪枝前加入了层剪枝的处理过程。
具体的,该步骤可以对前述复杂网络中,主干网络的密集连接模块进行层剪枝,即将密集连接模块中密集连接单元的数量m进行层剪枝,将m减小为2,得到YOLOv3-1网络。
②对YOLOv3-1网络进行稀疏化训练,得到BN层缩放系数稀疏分布的YOLOv3-2网络;
示例性的,将YOLOv3-1网络进行稀疏化训练,得到了BN层缩放系数稀疏分布的YOLOv3-2网络;可以包括:
将YOLOv3-1网络进行稀疏化训练,训练过程中,为缩放因子γ添加稀疏正则化,稀疏训练的损失函数为:
其中,表示网络原始的损失函数,(x,y)表示训练过程的输入数据和目标数据,W表示可训练的权重,为比例系数添加的正则项,g(γ)是对比例系数进行稀疏训练的惩罚函数,λ为权重。由于要使得比例系数γ具有稀疏性,惩罚函数选择L1范数。同时,由于不知道后一项所占比重,引入λ参数进行调整。
由于λ的取值与稀疏训练的收敛速度相关,本发明实施例的应用场景为道路目标检测场景,其待检测的目标的种类数量可以设定为13种,远远小于原YOLOv3数据集中的80个种类,所以λ的取值可以选取较大的λ值,稀疏训练的收敛速度也不会很慢,同时也可以通过提高模型学习率的方法来进一步加快收敛;但是考虑到参数选取过大又会对网络模型的精度造成一定的损失,在不断调整学习率和λ参数后,最后确定将学习率为0.25×,λ为0.1×的组合作为稀疏化训练的优选参数组合。本发明实施例优选的学习率与权重组合对于系数训练过后的权重的分布更有利,且网络模型的精度也较高。
③将YOLOv3-2网络进行通道剪枝,得到YOLOv3-3网络;
在稀疏化训练之后,得到了一个BN层缩放系数稀疏分布的网络模型,这就便于确定哪些通道的重要性更小。由此,可以剪去这些不太重要的通道,剪枝的方法是删除传入和传出连接以及相应的权重。
对网络进行通道剪枝操作,修剪一个通道基本上对应于删除该通道的所有传入和传出连接,可以直接获得一个轻量化的网络,而不需要使用任何特殊的稀疏计算包。通道剪枝过程中,缩放因子充当频道选择的代理;由于它们与网络权重共同优化,因此网络可以自动识别无关紧要的通道,这些通道可以安全地移除而不会极大地影响泛化性能。
具体的,该步骤可以包括以下步骤:
在所有层的所有通道中设定一个通道剪枝比例,然后将YOLOv3-2网络中所有的BN层缩放系数按照升序排列,按通道剪枝比例剪掉排在前面的BN层缩放系数对应的通道。
优选的实施方式中,通道剪枝比例可以为60%。
通过通道剪枝,可以删去冗余的通道,减少计算量,加快检测的速度。
但是在通道剪枝后,可能会由于参数减少而带来一些精度的下降,从不同的剪枝比例对网络精度的影响进行分析,如果网络剪枝比例过大,网络体积压缩更多,但也会造成网络精度的剧烈下降,会给网络准确率造成一定的损失,由此需要进行一个网络压缩比例与压缩后网络精度的权衡,因此引入知识蒸馏策略对网络进行微调,以使网络准确率回升。
④将YOLOv3-3网络进行知识蒸馏,得到改进型YOLOv3网络。
经过剪枝,获得了一个更为紧凑的YOLOv3-3网络模型,然后需要进行微调使得精度恢复。这里引入了知识蒸馏的策略。
具体的,对YOLOv3-3网络引入知识蒸馏,将前述复杂网络作为教师网络,YOLOv3-3网络作为学生网络,由教师网络引导学生网络进行精度恢复和调整,得到改进型YOLOv3网络。
作为一种优选的实施方式,可以前述复杂网络的Softmax层之前的输出结果除以温度系数,来使得教师网络最终输出的预测值软化,而后学生网络利用软化后的预测值作为标签来辅助训练YOLOv3-3网络,最终实现YOLOv3-3网络的精度与和教师网络相当;其中,温度系数是预先设定的值,不随网络训练发生变化。
引入温度参数T的原因是,一个完成训练、精度很高的网络对于输入数据的分类结果,和真实的标签是基本一致的。以三分类为例,真实已知的训练类别标签是[1,0,0],预测结果可能会是[0.95,0.02,0.03],和真实的标签值是非常逼近的。因此,对于学生网络来讲,使用教师网络的分类结果辅助训练和直接利用数据进行训练,差别不大。温度参数T可以用来控制预测标签的软化程度,即可以增加教师网络分类结果的偏差。
将添加了知识蒸馏策略的微调过程和一般的微调过程进行对比,经过知识蒸馏调整恢复的网络精度更高。
通过对预训练的网络进行层剪枝、稀疏化训练、通道剪枝,以及知识蒸馏处理,并在各个处理过程选取优化的处理参数,得到精简的网络,该网络体积大幅缩小,摒除了大部分的冗余计算,经过该步骤后得到的网络即为后续对目标道路图像进行检测的改进型YOLOv3网络,基于该网络的检测速度可以得到大幅度的提升,而且能够维持检测的精度。可以满足对检测实时性高的要求,由于网络体积小,对资源需求小,完全可以部署在基于车联网的无人驾驶系统中。
S4,基于所有预测结果,得到目标道路图像的属性信息,属性信息包括目标道路图像中目标的位置和类别;
改进型YOLOv3网络还包括分类网络和非极大值抑制模块;分类网络和非极大值抑制模块串接在FPN网络之后。
基于所有预测结果,得到目标道路图像的属性信息,包括:
对所有预测结果经由分类网络进行分类处理,再经由非极大值抑制模块进行预测框去重处理,得到目标道路图像的属性信息;
其中,分类网络包括SoftMax分类器。目的是实现多个车辆类别互斥的分类。可选的,分类网络也可以沿用YOLOv3网络的logistic回归进行分类,以实现多个独立的二分类。
非极大值抑制模块用于进行NMS(non_max_suppression,非极大值抑制)处理。用于在重复框选同一目标的多个预测框中,排除置信度相对较小的预测框。
关于分类网络和非极大值抑制模块的内容,可以参见现有技术相关说明,在此不再赘述。
针对每一目标,检测结果的形式为一向量,包含预测框的位置、预测框内车辆的置信度、预测框内目标的类别。预测框的位置用来表征目标在目标道路图像中的位置;具体的,每个预测框的位置用bx,by,bw,bh四个值表示,bx,by用于表示预测框的中心点位置,bw,bh为用于表示预测框的宽和高。比如道路中有1辆公交车、5辆小轿车和2个行人,它们分别位于目标道路图像的不同位置,公交车位于图像以左上角为原点,横向230像素,纵向180像素,公交车在图像中宽20,高50,那么其属性信息可以“230,180,20,50,bus”。
目标的类别为目标所属物体的种类,比如人、动物、建筑物、车辆、标志牌等等。
在可选的一种实施方式中,目标可以仅为车辆,类别可以包括小汽车、单层公交车、双层公交车、大卡车、面包车、自行车和摩托车等。
在可选的一种实施方式中,可以获取预定时间段内的多张目标道路图像进行目标检测,利用同一目标的位置和类别实现目标轨迹追踪,等等。
并且,原有的YOLOv3网络中含有较多的卷积层,原因在于其针对的目标的类别较多,有80种。而在本发明实施例中,目标主要为道路上的物体,目标的类别数较少,那么,大量的卷积层是没有必要的,这样会浪费网络资源,降低处理速度。
因此,如前所述,相比原有YOLOv3网络中主干网络的多个残差模块含有的卷积层数量,改进型YOLOv3网络中,通过将密集连接模块中含有的密集连接单元数量设置为2,可以在不影响网络精度的情况下,针对本发明实施例的目标道路图像,减少主干网络中卷积层的数量。
另外,可选的,改进型YOLOv3网络还可以是针对FPN网络中每个预测支路的卷积网络模块组中的k的数值进行调整后得到的,即将k从原有YOLOv3网络中的5减少为4或3,也就是将原有的CBL*5改为CBL*4或者CBL*3;这样也可以减少FPN网络中卷积层的数量,在不影响网络精度的情况下,针对本发明实施例的目标道路图像,整体实现网络层数精简,提升网络处理速度。
本发明实施例所提供的方案中,一方面,将YOLOv3网络的主干网络中的残差模块更换为密集连接模块,将特征融合方式从并行改为了串行,使得主干网络在进行特征提取时,能够直接将早期的特征图作为后面每一层的输入,获得的特征图的信息量更多,强化了特征的传递,因此在进行目标道路图像检测时,能够提高检测精度。并且,通过复用浅层网络的特征图参数能够减少参数的数量以及运算量。另一方面,采用多个特征提取尺度,为小目标增加细粒度的特征提取尺度,能够提升目标道路图像中小目标的检测精度。又一方面,改变FPN网络的特征融合方式,对主干网络提取的特征图采用自顶向下、密集连接的方式进行特征融合,将深层特征直接进行不同倍数的上采样,以此来使得传递的所有特征图具有相同的尺寸,将这些特征图和浅层的特征图通过串联的方式融合起来,可以利用到更多的原始信息,在浅层网络中也有高维语义信息的参与,有助于提高检测的精度;同时通过直接接收更浅层网络的特征,可以得到更加具体的特征,将有效的减少特征的损失,可以减少需要运算的参数量,提高检测速度,实现实时检测。再一方面,通过对预训练的网络进行层剪枝、稀疏化训练、通道剪枝,以及知识蒸馏处理,并在各个处理过程选取优化的处理参数,可以精简网络体积,摒除大部分的冗余计算,能够在维持检测精度的情况下大幅度提升检测速度。本发明将云端的检测过程部署在了存储资源和计算资源都非常有限的基于车联网的无人驾驶系统当中,由基于车联网的无人驾驶系统就可以实现超视距道路检测,可以对道路上的目标实现高精度和高实时性检测,有利于规划子系统进行更加合理地规划。
以下结合发明人的实验过程,对本发明实施例的网络改进及对道路图像检测性能进行说明,以便于深入了解其性能。
本发明选用了UA-DETRAC数据集进行实验。UA-DETRAC数据集的采集地点是在北京和天津的道路过街天桥,采集设备是Cannon EOS550D,视频帧率为25FPS,数据格式是JPEG,图像尺寸是960×540。数据集当中包含了60个视频,分别在晴天、阴天、雨天以及夜晚进行采集,包含了不同气象下的数据。图像总数是82085,对目标进行了标注。这些标注都是手动标注出来的,因此标注数据比较准确。每个视频中的所有图像在同一个文件夹下顺序编号,每个视频当中所有图像的标注数据都记录在和视频文件夹同名的XML文件当中。
为了使得数据分布更加具有随机性,让模型的泛化能力得到充分的提升,使用随机抽样的方法来抽取数据集当中的数据。整个数据集共包含82,085张图片,本文将从中抽取10,000张图片来进行实验。并且按照4:1的比例来分配训练集和测试集。为了保证训练集和测试集不包含相同的图片,要在抽取到的10,000张图片中,再次进行随机抽取,进行数据集分配。另外,训练YOLO网络需要使用VOC格式或者COCO格式的数据,即用五个数字来表示框选物体的种类、左上角的位置和物体的长、宽,并将这些数据存储在文本文档当中。所以这里用Python脚本进行数据集标注格式的转换,同时对数据集当中目标的种类及比例进行统计。
本发明实施例将YOLOv3网络主干网络中的残差模块更换为密集连接模块并改进过渡模块之后的网络命名为Dense-YOLO-1;Dense-YOLO-1网络的结构请参见图3网络,以及图4的主干网络进行理解,此处不再赘述。将Dense-YOLO-1与YOLOv3网络进行测试。选择模型的mAP(Mean Average Precision,平均精度均值)作为评估对象。mAP的值位于0和1之间,mAP越大,就说明模型精度越好。当然,还要参考模型损失loss曲线,观察模型的收敛情况。其中损失函数的构造仍然按照YOLOv3的损失函数。网络的体积和检测的速度也是需要考虑的,所以要记录不同网络的模型文件大小,以及不同模型分别在服务器Tesla V100和边缘设备Jetson TX2平台上进行道路图像检测的时间。请参见图6-1和图6-2,图6-1为YOLOv3和本发明实施例的Dense-YOLO-1的mAP曲线对比图;图6-2为YOLOv3和本发明实施例的Dense-YOLO-1的loss曲线对比图;从图中可以看到,Dense-YOLO-1的网络精度提升了4%左右,模型的损失函数差别极其细微,所以这里利用半对数坐标来放大它们之间的差异,可以看到,Dense-YOLO-1的loss比YOLOv3稍低。因此,从精度和损失曲线当中可以看到,将YOLOv3当中的残差结构更更换成为密集连接,并将密集连接模块之间的过渡模块进行改进,可以对网络性能有很大的提升。
表1YOLOv3和Dense-YOLO-1网络模型的体积及其在不同平台的检测时间
网络在不同平台进行道路图像检测的时间如表1所示,可以看到,给网络增加密集连接可以减小网络的体积,减少检测所需时间。
在Dense-YOLO-1基础上,多尺度的一个改进思路是,为YOLO v3增加一个更细粒度的目标检测的尺度,让网络能够检测更小的物体。本发明实施例具体增加了104×104的尺度,并设定相应的锚盒尺寸,将得到的网络命名为MultiScale-YOLO-1。网络结构请结合图3和图4理解,不再赘述。Dense-YOLO-1和MultiScale-YOLO-1网络的mAP和loss曲线如图7-1和图7-2所示。可以看到,多尺度网络相对于密集连接的网络而言,有所提升,但是变化并不明显,只有7%左右,loss曲线的差异依然不明显。这可能是因为数据集当中小尺寸的物体数量不多,对于细粒度的识别需求并不强烈,增加更加细致的物体检测粒度对于网络精度的增益不明显。对此,一方面可以寻找对小目标标注更加细致的数据集,让网络在训练过程中就能进行更细粒度的训练,在识别过程中也就能够识别更微小的物体了。当然,如果要求较高,在时间和精力充足并且没有合适数据集的情况下,可以自行标注数据集。
在Dense-YOLO-1基础上,多尺度的另外一个改进思路是,从特征融合的方法下手,尝试通过改进特征融合的方法,让检测过程融合更多维度的语义信息,由此来提高目标识别精度。因此对FPN网络的特征融合方式进行改进,采用自顶向下,密集连接形式的融合方式,将得到的网络命名为Dense-YOLO-2。网络结构不再示出。Dense-YOLO-1和Dense-YOLO-2网络的mAP和loss曲线如图8-1和图8-2所示。改变了融合方式,添加了自顶向下的密集连接特征融合方法的多尺度特征融合网络当中,多尺度的优势体现的更为明显,这可能是因为由于密集连接的特征融合方法当中,保留了比横向连接更多的高维度抽象语义信息,让模型对于物体的判别更加清晰。改变融合方式之后的网络精度,比原来提升了18.2%,loss曲线也比先前出现了一些降低。根据以上曲线图,可以看出融合方式的改进对于网络精度的提升十分明显。
综合考虑在Dense-YOLO-1基础上将上述两种多尺度改进方法结合,不仅利用多尺度的特征融合模型,增大网络的视野,提升不同尺度物体的定位准确性,而且使用自顶向下的密集连接方法来更加充分融合高维语义信息,使得网络对不同物体的分类效果增强,将最终得到的网络结构命名为MultiScale-YOLO-2,结构不再示出。该网络的精度和loss与Dense-YOLO-1的对比如图9-1和9-2所示。可以看到,相对于Dense-YOLO-1,该更细粒度视野的密集融合网络结构的精度提升了24.5%,loss曲线也进一步下降,这表明这样的改进方法是行之有效的。
作为希望在车联网当中使用的神经网络模型,网络应当具有较小的参数体积和较快的检测速度。进行多尺度改进后的网络模型的体积及其在不同平台上进行道路图像检测的时间如表2所示。
表2多尺度改进的网络模型的体积及其在不同平台的检测时间
网络 | 模型大小 | Tesla V100上的检测时间 | Jetson TX2上的检测时间 |
Dense-YOLO-2 | 489M | 35.1ms | 300.0ms |
MutiScale-YOLO-1 | 132M | 41.2ms | 243.4ms |
MutiScale-YOLO-2 | 491M | 44.8ms | 350.6ms |
相对于表1中给出的Dense-YOLO的各项参数,虽然增加更细粒度的视野对网络的精度增益比较小,但是其对网络参数体积和检测时间的影响更是微乎其微,因此,本文选择使用细粒度的视野。同时,使用密集的特征融合方式对引起了网络体积的增加,但是网络的检测时间受影响不大,后期还要进行网络的裁剪,因此,也保留密集连接的特征融合方式。根据上面的分析,最终选用MultiScale-YOLO-2作为改进后的网络。该网络也就是前文的复杂网络。
针对于稀疏化训练,学习率和μ可以此消彼长的进行调整,以保证收敛速度和精度。本方案尝试不同学习率和μ的取值,如表3所示。通过比较γ权重分布情况图,最终选取参数组合5。参数组合5的γ权重分布图请参见图10-1和10-2。图10-1为参数组合5的权重偏移图;图10-2为参数组合5的权重交叠图;
表3不同的学习率和λ组合
组合 | 学习率 | λ |
1 | 1× | 1× |
2 | 1× | 0.1× |
3 | 0.1× | 1× |
4 | 1× | 0.025× |
5 | 0.25× | 0.1× |
事实上,本文最初的实验设计,并不包含对网络层的剪枝过程,原计划直接进行通道剪枝。但是,根据通道剪枝的结果分析,发现有超过半数的密集连接层的权重都很接近于0,因此按照通道剪枝的规则,整层的通道都将被剪去。这就表明,在前面设计的4个密集连接单元一组的密集连接模块中,存在有冗余的单元,因此在通道剪枝前,可以进行层剪枝来大幅降低冗余,而后再做相对更细粒度的通道剪枝。由于超过半数的密集连接单元都是冗余的单元,层剪枝的做法是,将密集连接块由4个密集连接单元一组,改为2个一组,简化网络结构,同时能够将网络的参数量和运算量减小接近一半。将经过层剪枝后的网络命名MultiScale-YOLO-3网络,也可以简称为YOLOv3-1网络。
之后,对YOLOv3-1网络进行稀疏化训练,得到BN层缩放系数稀疏分布的YOLOv3-2网络;
将YOLOv3-2网络进行通道剪枝,得到YOLOv3-3网络;
通道剪枝比例可以为60%。这是由于待检测的目标道路图像中数量较少的目标种类在网络压缩过程中受到影响比较大,这就会直接影响mAP,因此,要从数据集和网络压缩比例方面来考虑。对数据集的处理,本发明的实施例选择合并数量较少的目标的种类来使得不同种类的数量达到均衡,或者是直接采用种类分布更加均衡的数据集,这与本发明实施例的应用场景相吻合。另外就是控制压缩比例,保证数量较少的种类的预测精度不会下降太多。根据mAP仿真结果来看,50%-60%的压缩比例是精度变化的转折点,因此可以初步选择60%的压缩比例。
除了从精度来分析压缩的影响外,还要考虑检测时间和模型压缩比例的关系,通过对不同剪枝比例处理的网络模型不同平台上(在Tesla V100服务器和Jetson TX2边缘设备)的上进行道路图像检测的时间进行仿真,根据仿真结果可以发现,不同网络压缩比例对于检测的时间影响很微弱,而对于NMS(非极大值抑制)所需时间影响较大,在压缩比例达到60%之前,检测速度随着网络压缩而加快,但是压缩比例超过60%后,检测速度反而出现了减慢。由此,最终选定通道剪枝比例为60%。
将YOLOv3-3网络进行知识蒸馏,得到改进型YOLOv3网络。
其中,前述的复杂网络,即MultiScale-YOLO-2网络,作为教师网络。
将最终得到的网络,即改进型YOLOv3网络命名为YOLO-Terse。
将YOLO-Terse与YOLOv3进行性能对比,结果请参见图11,图11为本发明实施例的改进型YOLOv3网络(YOLO-Terse)与YOLOv3网络的性能对比图。可以看出YOLO-Terse的精度比YOLOv3提升了9.0%,而模型大小却减小了72.9%,在Tesla V100和JetsonTX2上的检测时间分别减少了18.9%和15.3%。这说明在精度有部分提升的情况下,大幅缩小了模型体积,提高道路图像的检测速度。
本发明实施例为智能汽车提供了一种基于车联网的无人驾驶系统,该基于车联网的无人驾驶系统能够快速、精准地显示道路中目标的位置和类别。一方面,本发明的道路检测程序将YOLOv3网络的主干网络中的残差模块更换为密集连接模块,将特征融合方式从并行改为了串行,使得主干网络在进行特征提取时,能够直接将早期的特征图作为后面每一层的输入,获得的特征图的信息量更多,强化了特征的传递,因此在进行目标道路图像检测时,能够提高检测精度。并且,通过复用浅层网络的特征图参数能够减少参数的数量以及运算量。另一方面,采用多个特征提取尺度,为小目标增加细粒度的特征提取尺度,能够提升目标道路图像中小目标的检测精度。又一方面,改变FPN网络的特征融合方式,对主干网络提取的特征图采用自顶向下、密集连接的方式进行特征融合,将深层特征直接进行不同倍数的上采样,以此来使得传递的所有特征图具有相同的尺寸,将这些特征图和浅层的特征图通过串联的方式融合起来,可以利用到更多的原始信息,在浅层网络中也有高维语义信息的参与,有助于提高检测的精度;同时通过直接接收更浅层网络的特征,可以得到更加具体的特征,将有效的减少特征的损失,可以减少需要运算的参数量,提高检测速度,实现实时检测。再一方面,通过对预训练的网络进行层剪枝、稀疏化训练、通道剪枝,以及知识蒸馏处理,并在各个处理过程选取优化的处理参数,可以精简网络体积,摒除大部分的冗余计算,能够在维持检测精度的情况下大幅度提升检测速度。本发明将云端的检测过程部署在了存储资源和计算资源都非常有限的智能汽车的规划子系统中,由智能汽车就可以实现超视距道路检测,可以对道路上的目标实现高精度和高实时性检测,有利于智能汽车进行更加合理地规划行驶路径。
Claims (10)
1.一种基于车联网的无人驾驶系统,应用于智能汽车上,其特征在于,包括:
感知子系统,用于采集所述智能汽车本身及其周围环境的数据信息;
规划子系统,与所述感知子系统连接,用于根据所述数据信息规划行车路径,并向运动控制子系统发出控制指令;
控制子系统,与所述规划子系统相连,用于根据收到的所述控制指令,控制所述智能汽车执行相应的操作;其中,
所述感知子系统包括:图像采集模块,用于采集所述智能汽车本身及其周围环境的目标道路图像;
所述规划子系统内存储有道路检测程序,当接收到所述目标道路图像时,所述规划子系统执行道路检测程序以实现道路检测并根据检测结果规划所述智能汽车的路径。
2.根据权利要求1所述的基于车联网的无人驾驶系统,其特征在于,所述感知子系统还包括:
车速采集模块,用于通过所述智能汽车的车速编码器获取当前运行的速度;
定位导航模块,通过融合GPS全球定位系统和INS惯性导航系统,经过分析解算得到所述智能汽车当前的地理位置与时间。
3.根据权利要求1所述的基于车联网的无人驾驶系统,其特征在于,所述处理器执行所述道路检测程序,包括:
获取图像采集模块采集的目标道路图像;
将所述目标道路图像输入预先训练得到的改进型YOLOv3网络中,利用密集连接形式的主干网络对所述目标道路图像进行特征提取,得到x个不同尺度的特征图;x为大于等于4的自然数;
利用改进型FPN网络对所述x个不同尺度的特征图进行自顶向下、密集连接方式的特征融合,得到各尺度对应的预测结果;
基于所有预测结果,得到所述目标道路图像的属性信息,所述属性信息包括所述目标道路图像中目标的位置和类别;
其中,所述改进型YOLOv3网络包括所述密集连接形式的主干网络、所述改进型FPN网络;所述改进型YOLOv3网络是在YOLOv3网络基础上,将主干网络中的残差模块更换为密集连接模块、增加特征提取尺度、优化FPN网络的特征融合方式,以及进行剪枝及结合知识蒸馏引导网络恢复处理后形成的;所述改进型YOLOv3网络是根据样本道路图像,以及所述样本道路图像对应的目标的位置和类别训练得到的。
4.根据权利要求3所述的基于车联网的无人驾驶系统,其特征在于,所述密集连接形式的主干网络,包括:
间隔串接的密集连接模块和过渡模块;所述密集连接模块的数量为y;所述密集连接模块包括串行连接的卷积网络模块和密集连接单元组;所述卷积网络模块包括串行连接的卷积层、BN层、Leaky relu层;所述密集连接单元组包括m个密集连接单元;每个密集连接单元包括多个采用密集连接形式连接的所述卷积网络模块,并采用级联方式融合多个卷积网络模块输出的特征图;其中,y为大于等于4的自然数,m为大于1的自然数。
5.根据权利要求3所述的基于车联网的无人驾驶系统,其特征在于,所述得到x个不同尺度的特征图,包括:
得到沿输入逆向的x个密集连接模块输出的、尺度依次增大的x个特征图。
6.根据权利要求3所述的基于车联网的无人驾驶系统,其特征在于,所述过渡模块包括所述卷积网络模块和最大池化层;所述卷积网络模块的输入和所述最大池化层的输入共用,所述卷积网络模块输出的特征图和所述最大池化层输出的特征图采用级联方式融合。
7.根据权利要求6所述的基于车联网的无人驾驶系统,其特征在于,所述过渡模块包括的所述卷积网络模块的数量为两个或三个,且各个卷积网络模块之间采用串接方式。
8.根据权利要求7所述的基于车联网的无人驾驶系统,其特征在于,所述利用改进型FPN网络对所述x个不同尺度的特征图进行自顶向下、密集连接方式的特征融合,包括:
针对预测支路Yi,从所述x个特征图中,获取对应尺度的特征图并进行卷积处理;
将卷积处理后的特征图,与预测支路Yi-1~Y1分别经上采样处理后的特征图进行级联融合;
其中,所述改进型FPN网络包括尺度依次增大的x个预测支路Y1~Yx;所述预测支路Y1~Yx的尺度与所述x个特征图的尺度一一对应;预测支路Yi-j的上采样倍数为2j;i=2、3,…,x;j为小于i的自然数。
9.根据权利要求8所述的基于车联网的无人驾驶系统,其特征在于,所述进行剪枝及结合知识蒸馏引导网络恢复处理,包括:
对YOLOv3网络基础上将主干网络中的残差模块改为密集连接模块、增加特征提取尺度、优化FPN网络的特征融合方式后得到的网络中,主干网络的密集连接模块进行层剪枝,得到YOLOv3-1网络;
对所述YOLOv3-1网络进行稀疏化训练,得到BN层缩放系数稀疏分布的YOLOv3-2网络;
将所述YOLOv3-2网络进行通道剪枝,得到YOLOv3-3网络;
将所述YOLOv3-3网络进行知识蒸馏,得到所述改进型YOLOv3网络。
10.根据权利要求3所述的基于车联网的无人驾驶系统,其特征在于,对所述改进型YOLOv3网络进行训练之前还包括:
确定针对样本道路图像中锚盒尺寸的待聚类数量;
获取已标注目标框尺寸的若干样本道路图像;
基于已标注目标框尺寸的若干样本道路图像,利用K-Means聚类方法,获得样本道路图像中锚盒尺寸的聚类结果;
将所述聚类结果写入所述改进型YOLOv3网络的配置文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011147496.7A CN112417973A (zh) | 2020-10-23 | 2020-10-23 | 一种基于车联网的无人驾驶系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011147496.7A CN112417973A (zh) | 2020-10-23 | 2020-10-23 | 一种基于车联网的无人驾驶系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112417973A true CN112417973A (zh) | 2021-02-26 |
Family
ID=74840713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011147496.7A Withdrawn CN112417973A (zh) | 2020-10-23 | 2020-10-23 | 一种基于车联网的无人驾驶系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417973A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343817A (zh) * | 2021-05-31 | 2021-09-03 | 扬州大学 | 一种面向目标区域的无人车路径检测方法、装置及介质 |
CN113343796A (zh) * | 2021-05-25 | 2021-09-03 | 哈尔滨工程大学 | 一种基于知识蒸馏的雷达信号调制方式识别方法 |
CN113978366A (zh) * | 2021-11-19 | 2022-01-28 | 重庆邮电大学 | 一种基于人眼注意力的智能电子后视镜系统及实现方法 |
CN114663397A (zh) * | 2022-03-22 | 2022-06-24 | 小米汽车科技有限公司 | 可行驶区域的检测方法、装置、设备及存储介质 |
CN115115974A (zh) * | 2022-06-08 | 2022-09-27 | 中国船舶集团有限公司系统工程研究院 | 基于神经网络的智能航行态势感知系统 |
WO2023103291A1 (zh) * | 2021-12-08 | 2023-06-15 | 青岛中鸿重型机械有限公司 | 一种智能电动铲运机控制方法 |
-
2020
- 2020-10-23 CN CN202011147496.7A patent/CN112417973A/zh not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343796A (zh) * | 2021-05-25 | 2021-09-03 | 哈尔滨工程大学 | 一种基于知识蒸馏的雷达信号调制方式识别方法 |
CN113343796B (zh) * | 2021-05-25 | 2022-04-05 | 哈尔滨工程大学 | 一种基于知识蒸馏的雷达信号调制方式识别方法 |
CN113343817A (zh) * | 2021-05-31 | 2021-09-03 | 扬州大学 | 一种面向目标区域的无人车路径检测方法、装置及介质 |
CN113978366A (zh) * | 2021-11-19 | 2022-01-28 | 重庆邮电大学 | 一种基于人眼注意力的智能电子后视镜系统及实现方法 |
WO2023103291A1 (zh) * | 2021-12-08 | 2023-06-15 | 青岛中鸿重型机械有限公司 | 一种智能电动铲运机控制方法 |
CN114663397A (zh) * | 2022-03-22 | 2022-06-24 | 小米汽车科技有限公司 | 可行驶区域的检测方法、装置、设备及存储介质 |
CN114663397B (zh) * | 2022-03-22 | 2023-05-23 | 小米汽车科技有限公司 | 可行驶区域的检测方法、装置、设备及存储介质 |
CN115115974A (zh) * | 2022-06-08 | 2022-09-27 | 中国船舶集团有限公司系统工程研究院 | 基于神经网络的智能航行态势感知系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022083784A1 (zh) | 一种基于车联网的道路检测方法 | |
CN112417973A (zh) | 一种基于车联网的无人驾驶系统 | |
CN110263786B (zh) | 一种基于特征维度融合的道路多目标识别系统及方法 | |
Yu et al. | Baidu driving dataset and end-to-end reactive control model | |
CN112364719A (zh) | 一种遥感图像目标快速检测方法 | |
CN111508252B (zh) | 利用v2x信息集成技术更新高清地图的方法和装置 | |
CN112395951A (zh) | 一种面向复杂场景的域适应交通目标检测与识别方法 | |
CN112364721A (zh) | 一种道面异物检测方法 | |
CN112861755B (zh) | 一种目标多类别实时分割方法及系统 | |
CN112990065A (zh) | 一种基于优化的YOLOv5模型的车辆分类检测方法 | |
US20230419683A1 (en) | Method and system for automatic driving data collection and closed-loop management | |
CN113011308A (zh) | 一种引入注意力机制的行人检测方法 | |
CN115861619A (zh) | 一种递归残差双注意力核点卷积网络的机载LiDAR城市点云语义分割方法与系统 | |
CN115143950A (zh) | 一种智能汽车局部语义栅格地图生成方法 | |
CN117157679A (zh) | 感知网络、感知网络的训练方法、物体识别方法及装置 | |
CN115482518A (zh) | 一种面向交通场景的可扩展多任务视觉感知方法 | |
CN112395953A (zh) | 一种道面异物检测系统 | |
CN113128476A (zh) | 一种基于计算机视觉目标检测的低功耗实时头盔检测方法 | |
Zheng et al. | CLMIP: cross-layer manifold invariance based pruning method of deep convolutional neural network for real-time road type recognition | |
CN116597411A (zh) | 极端天气下无人驾驶车辆识别交通标志的方法及系统 | |
CN114973199A (zh) | 一种基于卷积神经网络的轨道交通列车障碍物检测方法 | |
Snegireva et al. | Vehicle classification application on video using yolov5 architecture | |
CN117710841A (zh) | 一种无人机航拍图像的小目标检测方法、装置 | |
CN112132207A (zh) | 基于多分支特征映射目标检测神经网络构建方法 | |
CN116740516A (zh) | 基于多尺度融合特征提取的目标检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210226 |