CN112150821B - 轻量化车辆检测模型构建方法、系统及装置 - Google Patents
轻量化车辆检测模型构建方法、系统及装置 Download PDFInfo
- Publication number
- CN112150821B CN112150821B CN202011097294.6A CN202011097294A CN112150821B CN 112150821 B CN112150821 B CN 112150821B CN 202011097294 A CN202011097294 A CN 202011097294A CN 112150821 B CN112150821 B CN 112150821B
- Authority
- CN
- China
- Prior art keywords
- model
- feature
- layer
- target
- learning
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 135
- 238000010276 construction Methods 0.000 title claims description 14
- 238000004821 distillation Methods 0.000 claims abstract description 96
- 238000012549 training Methods 0.000 claims abstract description 66
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 40
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims description 32
- 238000013135 deep learning Methods 0.000 claims description 28
- 238000009826 distribution Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 21
- 238000010586 diagram Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 12
- 230000003044 adaptive effect Effects 0.000 claims description 11
- 230000006978 adaptation Effects 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 2
- 238000013140 knowledge distillation Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/017—Detecting movement of traffic to be counted or controlled identifying vehicles
-
- 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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- 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/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/54—Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
-
- 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/08—Detecting or categorising vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种轻量化车辆检测模型构建方法、系统及装置,所述方法包括:在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系;采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练;采用蒸馏学习方法在原有的数据集使用大模型训练一个高精度的模型,随后对训练好的大模型进行压缩构建一个更小的模型,并使用大模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,得到最终的轻量化车辆检测模型。
Description
技术领域
本发明涉及人工智能技术领域,尤其是涉及一种轻量化车辆检测模型构建方法、系统及装置。
背景技术
在深度学习技术出现之前,计算机视觉任务主要采用传统的手工特征结合分类器方法进行物体识别和检测,这些传统的机器学习方法存在速度较慢、精度较低等问题。随着深度学习技术的研究日趋成熟,加上互联网中积累的海量多媒体数据和各种计算设备的计算能力不断提升,从而可以将深度学习技术应用在计算机视觉任务上,并取得很好的效果。现在目标检测、物体分类、目标追踪等计算机视觉任务主流的方法都是基于深度学习的,速度和精度远超传统的方法,能在实际场景中得到应用。
目标检测任务是计算机视觉中一个热门且重要的研究领域,其定义为从图像、视频等多媒体资源中,识别其中存在的物体的类别(分类)和对应在图片或视频中的位置(定位)。在深度学习出现之前,传统的目标检测是基于人工定义的特征和采用浅层的模型框架,面对复杂图像的检测时会遇到性能和准确性的瓶颈。传统的目标检测方法通常分为3个步骤,分别为区域选取、特征提取和分类。在图像的区域选取中,由于检测的物体尺寸和长宽比不同,并且会出现在图片不同的位置,所以传统的目标检测方法对图像进行区域选取时,会使用不同尺寸大小的滑动窗口。这样会产生大量的候选图像区域,因此计算量会很大,且会产生重复冗余的窗口。在第一步产生候选的区域后,需要对候选区域进行特征提取,提取出包含语义信息鲁棒的特征表示用于后续对物体进行分类,通常会采用SIFT、HOG和Haar-like等具有代表性的特征。由于外观、背景的多样性和光照条件等因素的影响,很难人工设计健壮的特征描述用于不同类别的物体,从而造成检测的精度无法进一步提高。在最后的分类阶段,会使用经典的分类器,如SVM、AdaBoost和DPM等,使用上一步提取出的特征对物体进行分类。一是区分前景还是背景,二是前景中不同类别的物体的区分。最终传统的目标检测通过上述3个步骤,实现对图像进行物体检测。
而随着深度学习技术的发展,现阶段的目标检测方法主要基于深度学习的,主要分为两大类,一类是两阶段的目标检测方法,代表算法有Fast R-CNN、Faster R-CNN等,另外一类是单阶段的目标检测算法,代表算法有SSD、YOLO等。其中两阶段的目标检测方法检测精度更高,但是速度相对较慢,而单阶段的目标检测算法则在检测速度上更加有优势,但是在检测精度上和两阶段的目标检测算法相比还有一定的差距。
车辆检测是目标检测下更加细分的研究方向,在目标检测方法基础上,根据车辆检测在实际场景中遇到的问题对原有的方法进行改进,从而实现对车辆的检测。传统的计算机视觉车辆检测方法包括背景差分法、帧差分法、光流法等。背景差分法是通过当前图片和背景图片的差异对比,检测当前帧图片中运动的车辆。其一般处理步骤为:将视频转化为图像帧,对彩色图像进行转化变成灰度图像,对转化后的图像进行空间平滑和背景建模,最后通过应用阈值运算和形态学运算将背景图像从当前帧中减去,从而检测到正在移动的车辆。车辆检测中的帧差分法和背景差分法相似,通过计算连续图像中的像素点的差异来区分背景和前景,如果像素值差异小,则将其视为背景;如果像素值的差异较大,则将其视为移动的车辆的像素,从而检测出移动的车辆。帧差分法的技术容易实施,但是缺点为无法识别出慢速移动和静止的车辆。光流法则通过给图像中每个像素赋予一个速度矢量的方式构建出一个运动矢量场。当图像中存在移动的车辆,则车辆和背景存在相对运动,这样车辆和背景的运动矢量有所差别,从而可以在图片中检测出车辆的位置。但是光流法的计算复杂度高,且对噪声敏感,无法进行实时的车辆检测。
蒸馏学习的概念是由Hinton于2015年提出,主要思想是如何将一个模型学习到的知识应用到另外一个模型当中,通常会应用在模型压缩和提高模型的精度上。蒸馏学习通常方法为先训练一个复杂的模型(称为教师网络),然后指导辅助另外一个简单的模型(称为学生网络)进行训练,在训练过程中学生网络将学习到教师网络更多复杂的知识,从而提升模型的精度。通过对模型进行压缩,然后使用大模型作为教师网络指导压缩后的模型进行蒸馏学习,从而提高模型的速度并且保持较高的精度。
现阶段车辆检测模型主要采用上述相关技术,但是存在检测速度慢和检测精度低等问题。
发明内容
本发明的目的在于提供一种轻量化车辆检测模型构建方法、系统及装置,旨在解决现有技术中的上述问题。
本发明提供一种基于深度学习的轻量化车辆检测模型构建方法,包括:
在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系;
采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练;
采用蒸馏学习方法在原有的数据集使用大模型训练一个高精度的模型,随后对训练好的大模型进行压缩构建一个更小的模型,并使用大模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,得到最终的轻量化车辆检测模型。
本发明提供一种基于深度学习的轻量化车辆检测模型构建系统,包括:
通道注意力构建模块,用于在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系;
自适应训练样本选择模块,用于采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练;
蒸馏学习模块,用于采用蒸馏学习方法在原有的数据集使用大模型训练一个高精度的模型,随后对训练好的大模型进行压缩构建一个更小的模型,并使用大模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,得到最终的轻量化车辆检测模型。
本发明实施例还提供一种基于深度学习的轻量化车辆检测模型构建装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述基于深度学习的轻量化车辆检测模型构建方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现上述基于深度学习的轻量化车辆检测模型构建方法的步骤。
采用本发明实施例,通过采用轻量化的车辆检测模型,并将蒸馏学习技术应用到车辆检测模型中,能够提高模型的检测精度和检测速度,使车辆检测模型可以在移动设备低功耗的ARM架构CPU上进行实时车辆检测。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的基于深度学习的轻量化车辆检测模型构建方法的流程图;
图2是本发明实施例的EfficientNet网络结构示意图;
图3是本发明实施例的双向特征金字塔模块结构示意图;
图4是本发明实施例的车辆检测模型结构示意图;
图5是本发明实施例的车辆检测模型知识蒸馏整体架构图;
图6是本发明实施例的轻量化通道注意力模块示意图;
图7是本发明实施例的中间特征层选取蒸馏学习区域算法示意图;
图8是本发明实施例的目标分类的知识蒸馏结构示意图;
图9是本发明实施例的基于深度学习的轻量化车辆检测模型构建系统的示意图;
图10是本发明实施例的基于深度学习的轻量化车辆检测模型装置的示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“坚直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。此外,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
方法实施例
根据本发明实施例,提供了一种基于深度学习的轻量化车辆检测模型构建方法,图1是本发明实施例的基于深度学习的轻量化车辆检测模型构建方法的流程图,如图1所示,根据本发明实施例的基于深度学习的轻量化车辆检测模型构建方法具体包括:
步骤101,在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系;
步骤102,采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练;
步骤103,采用蒸馏学习方法在原有的数据集使用大模型训练一个高精度的模型,随后对训练好的大模型进行压缩构建一个更小的模型,并使用大模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,得到最终的轻量化车辆检测模型。
以下对本发明实施例的上述技术方案进行详细说明。
本发明实施例的车辆检测模型是在目标检测算法EfficientDet基础上进行改进,增加了轻量化特征通道注意力模块和使用自适应样本选择训练算法,有效提高模型对于车辆的检测精度。并且基于蒸馏学习技术和车辆检测模型的特点,提出针对车辆检测模型的蒸馏学习方法,对车辆检测模型进行中间特征层的知识蒸馏、目标分类的知识蒸馏和目标框回归预测的知识蒸馏,从而有效学习到教师网络中的知识,保证轻量级车辆检测学生网络的检测精度。最后将模型部署在移动计算设备中,通过推理引擎NCNN使用ARM架构CPU进行车辆检测。
如图2所示,EfficientDet采用轻量化的主干网络EfficientNet用来提取图片特征,从而加快检测的速度。EfficientNet使用NAS网络结构搜索技术,在限定的模型精度和模型速度条件下,搜索模型的网络深度、网络宽度和输入图片分辨率的比例系数,从而得到轻量化的分类网络,能在移动和嵌入设备中进行实行运算。由于通过网络结构搜索技术使用大量GPU搜索出较优的网络结构,相对于其他普通分类网络,EfficientNet大幅缩小了模型的大小和减少模型的计算量,并且保持较高的分类精度,将有效地提高检测模型的性能。
为了解决多尺度目标检测的问题,EfficientDet采用了双向特征金字塔模块,通过融合不同尺寸的特征图进行检测,提高对多尺度物体检测的鲁棒性。双向特征金字塔模块通过自顶向下和自底向上两个方向进行特征融合,从而更加充分融合不同尺度的特征图的信息,提高多尺度物体的检测准确率。并且对原有的特征金字塔结构进行优化,去除只有一条输入边的节点,减少网络的计算量。对于最后的输出节点,增加来自于同层级的原始输入节点的一条边,这样可以在融合过程中融合更多的特征信息且不增加太多的计算量,提供模型的精度。双向特征金字塔模块结构如图3所示。
为了让模型学习到不同通道的特征图的权重从而增加对不同物体对应关键信息的响应,提高模型检测的精度,在双向特征金字塔模块末端增加轻量化的通道注意力模块。轻量化的通道注意力模块通过一定步长的一维卷积学习到不同通道之间的特征图的关系,在额外增加少量计算下实现对通道的注意力机制,从而提高模型的检测精度。在模型训练过程中采用的自适应的训练样本算法,通过统计实际训练数据集中车辆的大小分布动态设定IoU阈值,提高了选取的正例样本的数量从而提高模型的精度。通过上述算法对EfficientDet检测模型进行改进,得到精度更高的车辆检测模型,车辆检测模型网络结构如图4所示。
为了进一步提升车辆检测模型的检测速度,将对本发明实施例提出的车辆检测模型应用蒸馏学习技术。蒸馏学习方法先在原有的数据集使用大模型训练一个高精度的模型,接着对模型进行压缩构建一个更小的模型,然后使用大模型作为教师网络指导小模型进行训练。训练过程中大模型将会把自身学习到更加丰富的知识迁移到小模型中提高模型的精度,这样小模型在保持原有的大模型的高精度下实现对原有模型的加速。
本发明实施例提出的针对车辆检测模型应用蒸馏学习算法中,主要通过大网络(教师网络)指导小网络(学生网络)学习三部分内容,一是中间特征层的蒸馏学习,二是目标分类结果的蒸馏学习,三是目标框回归预测的结果蒸馏学习。通过这三部分的学习,轻量化的车辆检测模型将学习到教师网络中复杂的知识,提高模型检测的精度,从而得到检测速度更快并且保持高精度的车辆检测模型。车辆检测模型知识蒸馏整体架构如图5所示。
本发明实施例将轻量化的车辆检测模型部署到移动设备中,使用高通骁龙835型号CPU进行车辆检测的速度不低于4帧/秒,车辆检测的精度不低于90AP。
下述基于EfficientDet进行改进的轻量化车辆检测模型的具体细节进行详细说明。
1、轻量化通道注意力模块
轻量化特征通道注意力模块的网络结构如图6所示,使用全局平均池化将输入的C维特征图变成1*1*C的向量,接着进行卷积核大小为k的一维卷积,再通过Sigmoid函数输出学习到的各个通道的权重,最后使用学到的权重和原来输入的特征图进行相乘。新的轻量化特征通道注意力模块没有进行通道的缩放。并且参数量更小只有k个参数来自于卷积核大小为k的一维卷积,一维卷积也让k个相邻通道做了信息交互提升了注意力模块的性能。
将上述的轻量化特征通道注意力模块加入到双向特征金字塔模块末端。双向特征金字塔模块在融合特征图的时候学习到不同特征图的权重,通过在末端增加轻量化特征通道注意力模块则可以进一步学习到不同通道的权重,提升模型的检测精度。
2、自适应训练样本选择算法
车辆检测模型在训练过程中,对于参与预测的特征图中每个特征点会预先设置先验框若干个anchor,通过计算anchor和ground truth的IoU进行正负训练样本的采样。本发明的车辆检测模型在训练阶段将采用自适应训练样本算法进行正负样例,通过统计训练样本的分布动态的设定IoU阈值进行采样,从而选取更多的正例样本提高模型的精度。
自适应训练样本选择算法对于图片中的每个ground truth会先筛选出候选的正例anchor,对参与目标预测的特征金字塔中每一个特征图的anchor计算其中心点到groundtruth中心点的欧氏距离,每一个特征图选取中心点距离最近的前k个anchor组成该groundtruth的候选正例anchor集合。接着计算候选正例集合中每个anchor和ground truth的IoU,这样可以算出候选正例anchor中的IoU的均值和标准差。将IoU的均值和标准差相加作为判定anchor是否为正例的阈值,候选正例中的anchor的IoU大于阈值则设为正例,否则设为负例。如果一个anchor同时被分配多个ground truth,则将IoU最大的ground truth作为最终的分配目标。最后还会将中心点不在ground truth内的anchor设为负例,最终通过这样自适应算法进行正负样例选择。
3、车辆检测模型中间特征层的知识蒸馏
对车辆检测模型进行中间特征层进行知识蒸馏,如果对整个中间特征层都进行蒸馏学,将导致模型训练无法收敛。并且由于目标检测网络在进行目标检测过程中更加关注真实目标区域附近的特征,因此可以使用基于计算anchor和ground truth的IoU方式来选取中间特征层需要蒸馏学习的区域。整体的算法如图7所示,对于一个中间特征层会计算每一个ground truth和中间特征层中所有anchor的IoU,然后形成W*H*K的IoU矩阵记为m,其中K为一个特征点对应的anchor的数量。然后计算IoU矩阵中最大的IoU值记为M=max(m),再相乘一个阈值系数ψ得到对应IoU阈值F=ψ*M,本发明实施例的阈值系数设为0.5。大于IoU阈值对应的anchor所在特征点将被选中为需要蒸馏学习的特征点然后组合成一个W×H标记矩阵,对应为在一个中间特征层上对某ground truth需要学习的特征点的对应位置标记矩阵。最后遍历所有的ground truth执行上述的同样操作,最终得到该中间特征层在ground truth附近需要学习的特征点的标记矩阵。
在确定中间特征层需要学习的特征点位置后,由于小网络的特征层的通道数和大网络对应的中间特征层的通道数可能不相同,所以还不能直接进行匹配学习,还需要在小网络的中间特征层后面接一个中间适配层,通过3×3的二维卷积操作使小网络的特征层通道数和大网络的中间特征层通道数变成一致。最终的中间特征层蒸馏学习的公式如公式(1)和公式(2)所示。
4、车辆检测模型目标分类的知识蒸馏
对于车辆检测模型,其包含了需要对目标分类的任务,因此同样可以将对目标分类的知识蒸馏的方法应用到车辆检测网络中。对于车辆检测大网络和小网络中的分类分支输出的结果,在训练过程中使用KL散度使小网络输出的分类结果的分布向大网络输出的分类结果分布靠近,从而提高目标检测模型分类的效果。车辆检测模型目标分类的知识蒸馏结构示意图如图8所示,其中知识蒸馏产生的分类损失值加上小网络与真实目标类别产生的分类损失值作为最终的训练分类损失值。
为了解决对车辆检测模型应用目标分类的知识蒸馏存在的正负样例不平横的问题,目标分类的蒸馏损失函数增加与权重系数相乘,这样可以降低负例产生的蒸馏损失值比例而提高正例的蒸馏损失值的比例。最终对于车辆测模型应用目标分类知识蒸馏进行训练,将采用以下的目标分类蒸馏损失函数,如公式(3)和公式(4)所示。
Limitation-cls=(1-e-KL)γ×KL (4)
KL散度可以用来衡量两个分布的相似度,当两个分布越相似则KL散度则趋向于0,而两个分布相差越大则KL散度趋向于1。因此可以使用KL散度作为衡量大网络和小网络预测的分类结果分布的相似度的损失函数,公式(3)中的T和S分别对应大网络和小网络,而q和p对应大网络和小网络预测类别的概率,这样通过KL散度可以使小网络中分类分布趋向于大网络预测的分类分布。公式(4)还在KL散度前乘以一个权重系数(1-e-KL)γ,用于解决正负样例不平衡的问题。在车辆检测大网络和小网络预测的负例也就是背景类别对应的类别得分都较低,因此大网络和小网络的负例之间的分布会比较接近,从而对应KL散度也会较小,对应得到的权重系数也较小从而产生的分类蒸馏损失值也会很小。而大网络和小网络对于正例预测的分布差距相对于负例之间差距则较大,因此对应相乘的权重系数也会变大很多,从而提高正例产生的分类蒸馏损失值的占比,这样通过增加权重系数调节正负样例产生的损失值的占比解决了目标分类知识蒸馏中的正负样例不平衡的问题。
5、车辆检测模型目标框回归预测的知识蒸馏
对于车辆检测模型不仅要预测目标的类别,而且还要预测目标的具体坐标位置,因此还可以使用大网络预测的目标位置来指导小网络预测目标位置进行训练学习。但是不同于对类别的预测,模型预测目标的具体坐标位置可能和目标真实的坐标相差较远,如果直接将大网络预测的坐标位置作为软目标让小网络进行回归,则反而会让小网络预测的目标坐标更加不准。因此不直接将大网络预测的目标位置作为小网络的回归对象,而是将其作为小网络预测坐标位置实现的上限,当小网络预测的位置质量比大网络预测的位置质量差的时候,则额外添加多一个小网络预测坐标和真实目标坐标之间的回归损失值,使小网络预测的坐标进一步靠近真实值。如果小网络预测的位置质量高于大网络,则不需要额外添加目标坐标回归的损失值。使用大网络预测的坐标作为上限的坐标回归损失函数如公式(5)所示。
其中y为真实目标的坐标,Rs为小网络预测的坐标,Rt为大网络预测的坐标,当小网络预测的坐标和真实坐标之间的欧氏距离大于网络预测的坐标和真实坐标的欧氏距离,则额外添加多一个小网络预测的坐标和真实坐标的欧氏距离损失值。最终训练的回归损失函数由真实目标产生的坐标损失值和基于大网络预测的坐标作为上限产生的坐标回归损失值构成,让小网络预测的坐标值更加接近真实目标的坐标值。
综上所述,借助于本发明实施例的技术方案,通过采用轻量化的车辆检测模型,并将蒸馏学习技术应用到车辆检测模型中,能够提高模型的检测精度和检测速度,使车辆检测模型可以在移动设备低功耗的ARM架构CPU上进行实时车辆检测。
系统实施例
根据本发明实施例,提供了一种基于深度学习的轻量化车辆检测模型构建系统,图9是本发明实施例的基于深度学习的轻量化车辆检测模型构建系统的示意图,如图9所示,根据本发明实施例的基于深度学习的轻量化车辆检测模型构建系统具体包括:
通道注意力构建模块90,用于在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系;所述通道注意力构建模块90具体用于:
通过所述通道注意力模块,使用全局平均池化将输入的C维特征图变成1*1*C的向量,接着进行卷积核大小为k的一维卷积,再通过Sigmoid函数输出学习到的各个通道的权重,最后使用学到的权重和原来输入的特征图进行相乘。
自适应训练样本选择模块92,用于采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练;所述自适应训练样本选择模块92具体用于:
采用自适应训练样本选择算法对于图片中的每个ground truth先筛选出候选的正例anchor,对参与目标预测的特征金字塔中每一个特征图的anchor计算其中心点到ground truth中心点的欧氏距离,每一个特征图选取中心点距离最近的前k个anchor组成该ground truth的候选正例anchor集合;
计算候选正例集合中每个anchor和ground truth的IoU,以计算出候选正例anchor中的IoU的均值和标准差;
将IoU的均值和标准差相加作为判定anchor是否为正例的阈值,候选正例中的anchor的IoU大于阈值则设为正例,否则设为负例,如果一个anchor同时被分配多个groundtruth,则将IoU最大的ground truth作为最终的分配目标;
最后将中心点不在ground truth内的anchor设为负例,进行正负样例选择;
将所述正负样例输入到所述EfficientDet模型进行训练。
蒸馏学习模块94,用于采用蒸馏学习方法在原有的数据集使用大模型训练一个高精度的模型,随后对训练好的大模型进行压缩构建一个更小的模型,并使用大模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,得到最终的轻量化车辆检测模型。所述蒸馏学习模块94具体用于:
进行中间特征层的蒸馏学习:
对于一个中间特征层计算每一个ground truth和中间特征层中所有anchor的IoU,形成W*H*K的IoU矩阵记为m,其中,K为一个特征点对应的anchor的数量;W为中间特征层的宽,H为为中间特征层的高;
计算IoU矩阵中最大的IoU值记为M=max(m),再相乘一个阈值系数ψ得到对应IoU阈值F=ψ*M,大于IoU阈值对应的anchor所在特征点将被选中为需要蒸馏学习的特征点,将其组合成一个W×H标记矩阵,对应为在一个中间特征层上对某ground truth需要学习的特征点的对应位置标记矩阵;
最后遍历所有的ground truth执行上述的同样操作,最终得到该中间特征层在ground truth附近需要学习的特征点的标记矩阵;
在小模型的中间特征层后面设置一个中间适配层,通过3×3的二维卷积操作使小模型的特征层通道数和大网络的中间特征层通道数变成一致;
根据公式1和公式2进行中间特征层蒸馏学习:
其中,
进行目标分类结果的蒸馏学习:
采用如公式3和公式4所述的目标分类蒸馏损失函数,对于大模型和小模型中的分类分支输出的结果,在训练过程中使用KL散度使小模型输出的分类结果的分布向大网络输出的分类结果分布靠近;
Limitation-cls=(1-e-KL)γ×KL 公式4;
其中,T和S分别对应大模型和小模型,而q和p对应大模型能够和小模型预测类别的概率,(1-e-KL)γ为权重系数,γ为调制系数,用于调整易分类样本产生的loss的权重系数;
进行目标框回归预测的结果蒸馏学习:
根据公式5确定的坐标回归损失函数,将大模型预测的目标位置作为小模型预测坐标位置实现的上限,当小模型预测的位置质量比大模型预测的位置质量差的时候,则额外添加一个小模型预测坐标和真实目标坐标之间的回归损失值,使小网络预测的坐标进一步靠近真实值,如果小网络预测的位置质量高于大网络,则不需要额外添加目标坐标回归的损失值:
其中,y为真实目标的坐标,Rs为小模型预测的坐标,Rt为大模型预测的坐标。
本发明实施例是与上述方法实施例对应的系统实施例,各个模块的具体操作可以参照方法实施例的描述进行理解,在此不再赘述。
装置实施例一
本发明实施例提供一种基于深度学习的轻量化车辆检测模型构建装置,如图10所示,包括:存储器100、处理102及存储在所述存储器100上并可在所述处理器102上运行的计算机程序,所述计算机程序被所述处理器102执行时实现如下方法步骤:
步骤101,在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系;步骤101具体包括:
通过所述通道注意力模块,使用全局平均池化将输入的C维特征图变成1*1*C的向量,接着进行卷积核大小为k的一维卷积,再通过Sigmoid函数输出学习到的各个通道的权重,最后使用学到的权重和原来输入的特征图进行相乘。
步骤102,采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练;步骤102具体包括:
采用自适应训练样本选择算法对于图片中的每个ground truth先筛选出候选的正例anchor,对参与目标预测的特征金字塔中每一个特征图的anchor计算其中心点到ground truth中心点的欧氏距离,每一个特征图选取中心点距离最近的前k个anchor组成该ground truth的候选正例anchor集合;
计算候选正例集合中每个anchor和ground truth的IoU,以计算出候选正例anchor中的IoU的均值和标准差;
将IoU的均值和标准差相加作为判定anchor是否为正例的阈值,候选正例中的anchor的IoU大于阈值则设为正例,否则设为负例,如果一个anchor同时被分配多个groundtruth,则将IoU最大的ground truth作为最终的分配目标;
最后将中心点不在ground truth内的anchor设为负例,进行正负样例选择;
将所述正负样例输入到所述EfficientDet模型进行训练。
步骤103,采用蒸馏学习方法在原有的数据集使用大模型训练一个高精度的模型,随后对训练好的大模型进行压缩构建一个更小的模型,并使用大模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,得到最终的轻量化车辆检测模型。步骤103具体包括:
进行中间特征层的蒸馏学习:
对于一个中间特征层计算每一个ground truth和中间特征层中所有anchor的IoU,形成W*H*K的IoU矩阵记为m,其中,K为一个特征点对应的anchor的数量;W为中间特征层的宽,H为为中间特征层的高
计算IoU矩阵中最大的IoU值记为M=max(m),再相乘一个阈值系数ψ得到对应IoU阈值F=ψ*M,大于IoU阈值对应的anchor所在特征点将被选中为需要蒸馏学习的特征点,将其组合成一个W×H标记矩阵,对应为在一个中间特征层上对某ground truth需要学习的特征点的对应位置标记矩阵;
最后遍历所有的ground truth执行上述的同样操作,最终得到该中间特征层在ground truth附近需要学习的特征点的标记矩阵;
在小模型的中间特征层后面设置一个中间适配层,通过3×3的二维卷积操作使小模型的特征层通道数和大网络的中间特征层通道数变成一致;
根据公式1和公式2进行中间特征层蒸馏学习:
其中,
进行目标分类结果的蒸馏学习:
采用如公式3和公式4所述的目标分类蒸馏损失函数,对于大模型和小模型中的分类分支输出的结果,在训练过程中使用KL散度使小模型输出的分类结果的分布向大网络输出的分类结果分布靠近;
Limitation-cls=(1-e-KL)γ×KL 公式4;
其中,T和S分别对应大模型和小模型,而q和p对应大模型能够和小模型预测类别的概率,(1-e-KL)γ为权重系数,γ为调制系数,用于调整易分类样本产生的loss的权重系数;
进行目标框回归预测的结果蒸馏学习:
根据公式5确定的坐标回归损失函数,将大模型预测的目标位置作为小模型预测坐标位置实现的上限,当小模型预测的位置质量比大模型预测的位置质量差的时候,则额外添加一个小模型预测坐标和真实目标坐标之间的回归损失值,使小网络预测的坐标进一步靠近真实值,如果小网络预测的位置质量高于大网络,则不需要额外添加目标坐标回归的损失值:
其中,y为真实目标的坐标,Rs为小模型预测的坐标,Rt为大模型预测的坐标。
装置实施例二
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传输的实现程序,所述程序被处理器102执行时实现如下方法步骤:
步骤101,在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系;步骤101具体包括:
通过所述通道注意力模块,使用全局平均池化将输入的C维特征图变成1*1*C的向量,接着进行卷积核大小为k的一维卷积,再通过Sigmoid函数输出学习到的各个通道的权重,最后使用学到的权重和原来输入的特征图进行相乘。
步骤102,采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练;步骤102具体包括:
采用自适应训练样本选择算法对于图片中的每个ground truth先筛选出候选的正例anchor,对参与目标预测的特征金字塔中每一个特征图的anchor计算其中心点到ground truth中心点的欧氏距离,每一个特征图选取中心点距离最近的前k个anchor组成该ground truth的候选正例anchor集合;
计算候选正例集合中每个anchor和ground truth的IoU,以计算出候选正例anchor中的IoU的均值和标准差;
将IoU的均值和标准差相加作为判定anchor是否为正例的阈值,候选正例中的anchor的IoU大于阈值则设为正例,否则设为负例,如果一个anchor同时被分配多个groundtruth,则将IoU最大的ground truth作为最终的分配目标;
最后将中心点不在ground truth内的anchor设为负例,进行正负样例选择;
将所述正负样例输入到所述EfficientDet模型进行训练。
步骤103,采用蒸馏学习方法在原有的数据集使用大模型训练一个高精度的模型,随后对训练好的大模型进行压缩构建一个更小的模型,并使用大模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,得到最终的轻量化车辆检测模型。步骤103具体包括:
进行中间特征层的蒸馏学习:
对于一个中间特征层计算每一个ground truth和中间特征层中所有anchor的IoU,形成W*H*K的IoU矩阵记为m,其中,K为一个特征点对应的anchor的数量;W为中间特征层的宽,H为为中间特征层的高;
计算IoU矩阵中最大的IoU值记为M=max(m),再相乘一个阈值系数ψ得到对应IoU阈值F=ψ*M,大于IoU阈值对应的anchor所在特征点将被选中为需要蒸馏学习的特征点,将其组合成一个W×H标记矩阵,对应为在一个中间特征层上对某ground truth需要学习的特征点的对应位置标记矩阵;
最后遍历所有的ground truth执行上述的同样操作,最终得到该中间特征层在ground truth附近需要学习的特征点的标记矩阵;
在小模型的中间特征层后面设置一个中间适配层,通过3×3的二维卷积操作使小模型的特征层通道数和大网络的中间特征层通道数变成一致;
根据公式1和公式2进行中间特征层蒸馏学习:
其中,
进行目标分类结果的蒸馏学习:
采用如公式3和公式4所述的目标分类蒸馏损失函数,对于大模型和小模型中的分类分支输出的结果,在训练过程中使用KL散度使小模型输出的分类结果的分布向大网络输出的分类结果分布靠近;
Limitation-cls=(1-e-KL)γ×KL 公式4;
其中,T和S分别对应大模型和小模型,而q和p对应大模型能够和小模型预测类别的概率,(1-e-KL)γ为权重系数,γ为调制系数,用于调整易分类样本产生的loss的权重系数;
进行目标框回归预测的结果蒸馏学习:
根据公式5确定的坐标回归损失函数,将大模型预测的目标位置作为小模型预测坐标位置实现的上限,当小模型预测的位置质量比大模型预测的位置质量差的时候,则额外添加一个小模型预测坐标和真实目标坐标之间的回归损失值,使小网络预测的坐标进一步靠近真实值,如果小网络预测的位置质量高于大网络,则不需要额外添加目标坐标回归的损失值:
其中,y为真实目标的坐标,Rs为小模型预测的坐标,Rt为大模型预测的坐标。
综上所述,采用本发明实施例,通过采用轻量化的车辆检测模型,并将蒸馏学习技术应用到车辆检测模型中,能够提高模型的检测精度和检测速度,使车辆检测模型可以在移动设备低功耗的ARM架构CPU上进行实时车辆检测。
本实施例所述计算机可读存储介质包括但不限于为:ROM、RAM、磁盘或光盘等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种基于深度学习的轻量化车辆检测模型构建方法,其特征在于,包括:
在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系:
通过所述通道注意力模块,使用全局平均池化将输入的C维特征图变成1*1*C的向量,接着进行卷积核大小为k的一维卷积,再通过Sigmoid函数输出学习到的各个通道的权重,最后使用学到的权重和原来输入的特征图进行相乘;
采用自适应训练样本选择算法进行正负样例选择,利用选择出的正负样例对所述EfficientDet模型进行训练;
采用蒸馏学习方法在原有的数据集使用大模型训练得到一个高精度模型,随后对训练好的大模型即所述高精度模型进行压缩构建一个更小的模型,并使用所述高精度模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,包括:
进行中间特征层的蒸馏学习:
对于一个中间特征层计算每一个ground truth和中间特征层中所有anchor的IoU,形成W*H*K的IoU矩阵记为m,其中,K为一个特征点对应的anchor的数量;W为中间特征层的宽,H为为中间特征层的高;
计算IoU矩阵中最大的IoU值记为M=max(m),再相乘一个阈值系数ψ得到对应IoU阈值F=ψ*M,大于IoU阈值对应的anchor所在特征点将被选中为需要蒸馏学习的特征点,将其组合成一个W×H标记矩阵,对应为在一个中间特征层上对某ground truth需要学习的特征点的对应位置标记矩阵;
最后遍历所有的ground truth执行上述的同样操作,最终得到该中间特征层在groundtruth附近需要学习的特征点的标记矩阵;
在小模型的中间特征层后面设置一个中间适配层,通过3×3的二维卷积操作使小模型的特征层通道数和大网络的中间特征层通道数变成一致;
根据公式1和公式2进行中间特征层蒸馏学习:
其中,Limitation-featuremap表示小模型中间特征层经过适配层后的特征点与大模型的中间特征层对应的特征点的欧式距离,Np表示矩阵中需要学习的特征点,i表示特征层中需要学习特征点的横坐标,j表示特征层中需要学习特征点的纵坐标,c表示对应的通道数,Iij表示特征层中需要学习的特征点,fadap(s)ijc表示小模型中间特征层经过适配层后的特征点,tijc表示大模型的中间特征层对应的特征点;
进行目标分类结果的蒸馏学习:
采用如公式3和公式4所述的目标分类蒸馏损失函数,对于大模型和小模型中的分类分支输出的结果,在训练过程中使用KL散度使小模型输出的分类结果的分布向大网络输出的分类结果分布靠近;
Limitation-cls=(1-e-KL)γ×KL 公式4;
其中,T和S分别对应大模型和小模型,而q和p对应大模型能够和小模型预测类别的概率,(1-e-KL)γ为权重系数,γ为调制系数,用于调整易分类样本产生的loss的权重系数;
进行目标框回归预测的结果蒸馏学习:
根据公式5确定的坐标回归损失函数,将大模型预测的目标位置作为小模型预测坐标位置实现的上限,当小模型预测的位置质量比大模型预测的位置质量差的时候,则额外添加一个小模型预测坐标和真实目标坐标之间的回归损失值,使小网络预测的坐标进一步靠近真实值,如果小网络预测的位置质量高于大网络,则不需要额外添加目标坐标回归的损失值:
其中,y为真实目标的坐标,Rs为小模型预测的坐标,Rt为大模型预测的坐标;
最后得到最终的轻量化车辆检测模型。
2.根据权利要求1所述的方法,其特征在于,采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练具体包括:
采用自适应训练样本选择算法对于图片中的每个ground truth先筛选出候选的正例anchor,对参与目标预测的特征金字塔中每一个特征图的anchor计算其中心点到groundtruth中心点的欧氏距离,每一个特征图选取中心点距离最近的前k个anchor组成该groundtruth的候选正例anchor集合;
计算候选正例集合中每个anchor和ground truth的IoU,以计算出候选正例anchor中的IoU的均值和标准差;
将IoU的均值和标准差相加作为判定anchor是否为正例的阈值,候选正例中的anchor的IoU大于阈值则设为正例,否则设为负例,如果一个anchor同时被分配多个groundtruth,则将IoU最大的ground truth作为最终的分配目标;
最后将中心点不在ground truth内的anchor设为负例,进行正负样例选择;
将所述正负样例输入到所述EfficientDet模型进行训练。
3.一种基于深度学习的轻量化车辆检测模型构建系统,其特征在于,包括:
通道注意力构建模块,用于在主干网络为EfficientNet的目标检测算法EfficientDet模型的双向特征金字塔模块的末端增加轻量化的通道注意力模块,通过所述通道注意力模块以一定步长的一维卷积学习到不同通道之间的特征图的关系,具体的:
通过所述通道注意力模块,使用全局平均池化将输入的C维特征图变成1*1*C的向量,接着进行卷积核大小为k的一维卷积,再通过Sigmoid函数输出学习到的各个通道的权重,最后使用学到的权重和原来输入的特征图进行相乘;
自适应训练样本选择模块,用于采用自适应训练样本选择算法进行正负样例选择,对所述EfficientDet模型进行训练;
蒸馏学习模块,用于采用蒸馏学习方法在原有的数据集使用大模型训练得到一个高精度模型,随后对训练好的大模型及所述高精度模型进行压缩构建一个更小的模型,并使用所述高精度模型作为教师网络指导小模型进行中间特征层的蒸馏学习、目标分类结果的蒸馏学习以及目标框回归预测的结果蒸馏学习,得到最终的轻量化车辆检测模型,具体的:
进行中间特征层的蒸馏学习:
对于一个中间特征层计算每一个ground truth和中间特征层中所有anchor的IoU,形成W*H*K的IoU矩阵记为m,其中,K为一个特征点对应的anchor的数量;W为中间特征层的宽,H为中间特征层的高;
计算IoU矩阵中最大的IoU值记为M=max(m),再相乘一个阈值系数ψ得到对应IoU阈值F=ψ*M,大于IoU阈值对应的anchor所在特征点将被选中为需要蒸馏学习的特征点,将其组合成一个W×H标记矩阵,对应为在一个中间特征层上对某ground truth需要学习的特征点的对应位置标记矩阵;
最后遍历所有的ground truth执行上述的同样操作,最终得到该中间特征层在groundtruth附近需要学习的特征点的标记矩阵;
在小模型的中间特征层后面设置一个中间适配层,通过3×3的二维卷积操作使小模型的特征层通道数和大网络的中间特征层通道数变成一致;
根据公式1和公式2进行中间特征层蒸馏学习:
其中,Limitation-featuremap表示小模型中间特征层经过适配层后的特征点与大模型的中间特征层对应的特征点的欧式距离,Np表示矩阵中需要学习的特征点,i表示特征层中需要学习特征点的横坐标,j表示特征层中需要学习特征点的纵坐标,c表示对应的通道数,Iij表示特征层中需要学习的特征点,fadap(s)ijc表示小模型中间特征层经过适配层后的特征点,tijc表示大模型的中间特征层对应的特征点;
进行目标分类结果的蒸馏学习:
采用如公式3和公式4所述的目标分类蒸馏损失函数,对于大模型和小模型中的分类分支输出的结果,在训练过程中使用KL散度使小模型输出的分类结果的分布向大网络输出的分类结果分布靠近;
Limitation-cls=(1-e-KL)γ×KL 公式4;
其中,T和S分别对应大模型和小模型,而q和p对应大模型能够和小模型预测类别的概率,(1-e-KL)γ为权重系数,γ为调制系数,用于调整易分类样本产生的loss的权重系数;
进行目标框回归预测的结果蒸馏学习:
根据公式5确定的坐标回归损失函数,将大模型预测的目标位置作为小模型预测坐标位置实现的上限,当小模型预测的位置质量比大模型预测的位置质量差的时候,则额外添加一个小模型预测坐标和真实目标坐标之间的回归损失值,使小网络预测的坐标进一步靠近真实值,如果小网络预测的位置质量高于大网络,则不需要额外添加目标坐标回归的损失值:
其中,y为真实目标的坐标,Rs为小模型预测的坐标,Rt为大模型预测的坐标。
4.根据权利要求3所述的系统,其特征在于,所述自适应训练样本选择模块具体用于:
采用自适应训练样本选择算法对于图片中的每个ground truth先筛选出候选的正例anchor,对参与目标预测的特征金字塔中每一个特征图的anchor计算其中心点到groundtruth中心点的欧氏距离,每一个特征图选取中心点距离最近的前k个anchor组成该groundtruth的候选正例anchor集合;
计算候选正例集合中每个anchor和ground truth的IoU,以计算出候选正例anchor中的IoU的均值和标准差;
将IoU的均值和标准差相加作为判定anchor是否为正例的阈值,候选正例中的anchor的IoU大于阈值则设为正例,否则设为负例,如果一个anchor同时被分配多个groundtruth,则将IoU最大的ground truth作为最终的分配目标;
最后将中心点不在ground truth内的anchor设为负例,进行正负样例选择;
将所述正负样例输入到所述EfficientDet模型进行训练。
5.一种基于深度学习的轻量化车辆检测模型构建装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至2中任一项所述的基于深度学习的轻量化车辆检测模型构建方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至2中任一项所述的基于深度学习的轻量化车辆检测模型构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011097294.6A CN112150821B (zh) | 2020-10-14 | 2020-10-14 | 轻量化车辆检测模型构建方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011097294.6A CN112150821B (zh) | 2020-10-14 | 2020-10-14 | 轻量化车辆检测模型构建方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112150821A CN112150821A (zh) | 2020-12-29 |
CN112150821B true CN112150821B (zh) | 2022-05-06 |
Family
ID=73953067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011097294.6A Active CN112150821B (zh) | 2020-10-14 | 2020-10-14 | 轻量化车辆检测模型构建方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112150821B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651500B (zh) * | 2020-12-30 | 2021-12-28 | 深圳金三立视频科技股份有限公司 | 一种量化模型的生成方法及终端 |
CN112700880B (zh) * | 2020-12-31 | 2024-06-18 | 杭州依图医疗技术有限公司 | 优化方法、训练方法、模型、处理装置及存储介质 |
CN113128564B (zh) * | 2021-03-23 | 2022-03-22 | 武汉泰沃滋信息技术有限公司 | 一种基于深度学习的复杂背景下典型目标检测方法及系统 |
CN112907972B (zh) * | 2021-04-06 | 2022-11-29 | 昭通亮风台信息科技有限公司 | 基于无人机的道路车流量检测方法、系统及计算机可读存储介质 |
CN113221659B (zh) * | 2021-04-13 | 2022-12-23 | 天津大学 | 一种基于不确定感知网络的双光车辆检测方法及装置 |
CN113705321A (zh) * | 2021-06-04 | 2021-11-26 | 北京市燃气集团有限责任公司 | 基于Faster-Rcnn的双向多尺度特征融合目标检测方法及装置 |
CN113283549B (zh) * | 2021-07-22 | 2021-12-03 | 深圳市安软科技股份有限公司 | 一种车辆属性识别模型的训练方法、系统及相关设备 |
CN113283409B (zh) * | 2021-07-23 | 2022-02-11 | 中国人民解放军国防科技大学 | 基于EfficientDet和Transformer的航空图像中的飞机检测方法 |
CN114187606B (zh) * | 2021-10-21 | 2023-07-25 | 江阴市智行工控科技有限公司 | 一种采用分支融合网络轻量化的车库行人检测方法及系统 |
CN114463375A (zh) * | 2021-12-21 | 2022-05-10 | 一拓通信集团股份有限公司 | 一种基于注意力机制的目标跟踪算法 |
CN114596569B (zh) * | 2022-02-11 | 2024-05-24 | 华南理工大学 | 一种轻量化文字识别模型设计方法、系统、装置及介质 |
CN114462555B (zh) * | 2022-04-13 | 2022-08-16 | 国网江西省电力有限公司电力科学研究院 | 基于树莓派的多尺度特征融合配电网设备识别方法 |
CN118015048A (zh) * | 2024-04-09 | 2024-05-10 | 南昌工程学院 | 基于残差网络和群体混合注意力的目标跟踪方法与系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490156A (zh) * | 2019-08-23 | 2019-11-22 | 哈尔滨理工大学 | 一种基于卷积神经网络的快速车辆检测方法 |
CN110674714B (zh) * | 2019-09-13 | 2022-06-14 | 东南大学 | 基于迁移学习的人脸和人脸关键点联合检测方法 |
CN111079584A (zh) * | 2019-12-03 | 2020-04-28 | 东华大学 | 基于改进YOLOv3的快速车辆检测方法 |
CN111461181B (zh) * | 2020-03-16 | 2021-09-07 | 北京邮电大学 | 一种车辆细粒度分类方法及装置 |
CN111476252B (zh) * | 2020-04-03 | 2022-07-29 | 南京邮电大学 | 一种面向计算机视觉应用的轻量化无锚框目标检测方法 |
CN111612017B (zh) * | 2020-07-07 | 2021-01-29 | 中国人民解放军国防科技大学 | 一种基于信息增强的目标检测方法 |
-
2020
- 2020-10-14 CN CN202011097294.6A patent/CN112150821B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112150821A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112150821B (zh) | 轻量化车辆检测模型构建方法、系统及装置 | |
CN111126472B (zh) | 一种基于ssd改进的目标检测方法 | |
CN107229904B (zh) | 一种基于深度学习的目标检测与识别方法 | |
WO2020182121A1 (zh) | 表情识别方法及相关装置 | |
US10275719B2 (en) | Hyper-parameter selection for deep convolutional networks | |
WO2020114378A1 (zh) | 视频水印的识别方法、装置、设备及存储介质 | |
CN111507378A (zh) | 训练图像处理模型的方法和装置 | |
CN112396002A (zh) | 一种基于SE-YOLOv3的轻量级遥感目标检测方法 | |
CN113807399A (zh) | 一种神经网络训练方法、检测方法以及装置 | |
WO2021233041A1 (zh) | 数据标注方法和装置、精细粒度识别方法和装置 | |
CN114332578A (zh) | 图像异常检测模型训练方法、图像异常检测方法和装置 | |
CN109903339B (zh) | 一种基于多维融合特征的视频群体人物定位检测方法 | |
CN112232355B (zh) | 图像分割网络处理、图像分割方法、装置和计算机设备 | |
CN114187311A (zh) | 一种图像语义分割方法、装置、设备及存储介质 | |
CN111950515A (zh) | 一种基于语义特征金字塔网络的小人脸检测方法 | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
CN113762327B (zh) | 机器学习方法、机器学习系统以及非暂态电脑可读取媒体 | |
CN111368660A (zh) | 一种单阶段半监督图像人体目标检测方法 | |
CN111368634B (zh) | 基于神经网络的人头检测方法、系统及存储介质 | |
CN112561801A (zh) | 基于se-fpn的目标检测模型训练方法、目标检测方法及装置 | |
WO2023179593A1 (zh) | 数据处理方法及装置 | |
CN113052039A (zh) | 一种交通路网行人密度检测的方法、系统及服务器 | |
CN118279320A (zh) | 基于自动提示学习的目标实例分割模型建立方法及其应用 | |
CN108257148B (zh) | 特定对象的目标建议窗口生成方法及其在目标跟踪的应用 | |
CN117274740A (zh) | 一种红外目标检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20201229 Assignee: CSIC PRIDE(Nanjing)Intelligent Equipment System Co.,Ltd Assignor: TSINGHUA University Contract record no.: X2023320000119 Denomination of invention: Method, system, and device for constructing a lightweight vehicle detection model Granted publication date: 20220506 License type: Common License Record date: 20230323 |