CN112232411B - HarDNet-Lite在嵌入式平台的优化方法 - Google Patents
HarDNet-Lite在嵌入式平台的优化方法 Download PDFInfo
- Publication number
- CN112232411B CN112232411B CN202011104925.2A CN202011104925A CN112232411B CN 112232411 B CN112232411 B CN 112232411B CN 202011104925 A CN202011104925 A CN 202011104925A CN 112232411 B CN112232411 B CN 112232411B
- Authority
- CN
- China
- Prior art keywords
- hardnet
- lite
- feature
- feature map
- network
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000005457 optimization Methods 0.000 title abstract description 7
- 238000001514 detection method Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims abstract description 29
- 238000012549 training Methods 0.000 claims abstract description 21
- 238000010586 diagram Methods 0.000 claims description 11
- 230000004927 fusion Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims description 2
- 238000000605 extraction Methods 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000003064 k means clustering Methods 0.000 abstract description 2
- 230000008901 benefit Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical group OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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
- 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)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种HarDNet‑Lite在嵌入式平台的优化方法,用以解决现有的目标检测网络过于复杂、运算量大、在嵌入式平台推理速度慢与定位精度低的问题。该方法包括以下步骤:1)搭建轻量级的HarDNet‑Lite特征提取网络;2)采用加权FPN结构融合不同尺度的特征图,使丰富的底层细节信息与高层的语义信息充分融合;3)生成YOLO检测头,在不同大小的特征图上面放置通过k‑means聚类生成的锚框,用以检测不同尺度大小的目标;4)使用分类与回归损失函数进行端到端的训练模型;5)将训练完成的模型部署于嵌入式平台,进行目标检测。本发明的有益效果是,提高了HarDNet‑Lite目标检测网络在嵌入式平台的推理速度与目标检测精度。
Description
技术领域
本发明属于目标检测技术领域,具体地说是一种HarDNet-Lite在嵌入式平台的优化方法。
背景技术
目标检测是计算机视觉的一个重要分支,在现实中的应用很广泛,比如视频监控、工业检测、人脸检测等诸多领域,通过计算机视觉可以减少对人力成本的消耗,具有很强的现实应用意义。
自从2012年以来,卷积神经网络开始快速发展,一些性能更强的网络结构不断的被提出来,比如Vgg,GoogleNet,ResNet,ResNext,DenseNet等。为了获得更优的性能,网络的层数不断地增加,参数量也变得越来越大,通过这样的方式,尽管网络的性能得到了提高,但随之而来的就是效率的问题,效率问题主要体现在两个方面:一是模型的存储问题,二是模型进行推理的速度问题。
(1)存储问题:随着网络结构的加深,网络中保存着大量的卷积核权重,让模型本身占用的存储空间变得越来越大,甚至高达几百兆字节,而嵌入式设备本身的存储空间和内存就比较有限,过大的网络模型往往无法载入运行;
(2)速度问题:在实际应用中,一般要求模型的前向推理速度在毫秒数量级,如果网络模型过于复杂,计算量也会增大,而嵌入式设备的计算能力都比较弱,会导致模型前向推理的速度变得很慢,从几秒到十几秒,无法达到接近实时的实用要求。
如果能够解决卷积神经网络的效率问题,就能够让卷积神经网络更广泛地应用于嵌入式设备中,为了减小卷积神经网络模型的大小,提高网络的前向推理速度,现有的方法主要包括模型的蒸馏、压缩、量化等方法,而设计轻量化的模型结构则是另辟蹊径,主要思想是设计更高效、通用的网络结构,使网络的存储空间和参数量减少的同时,不降低网络的性能。
发明内容
本发明的目的在于针对上述现有技术的不足,提供了一种HarDNet-Lite在嵌入式平台的优化方法。
本发明采用如下技术方案来实现的:
HarDNet-Lite在嵌入式平台的优化方法,包括以下步骤:
1)利用HarDNet-Lite网络结构对原始的彩色图片进行特征提取;
2)对提取到的不同层次的特征,采用加权FPN结构进行特征融合;
3)在特征融合后的不同尺度大小的特征图上放置通过聚类生成的锚框,形成检测头;
4)对HarDNet-Lite主干网络结构和检测头,采用分类与回归损失函数进行端到端的训练;
5)训练结束后,将生成的权重文件和HarDNet-Lite网络结构配置文件部署到嵌入式平台,进行目标检测。
本发明进一步的改进在于,步骤1)的具体实现方法如下:
101)HarDNet-Lite网络结构在HarDNet网络结构的基础上,进行网络深度和宽度两个方面同时进行裁剪,形成HarDNet-Lite轻量级的网络结构;
102)原始的彩色图片采用高清摄像头采集的行人、车辆的原始图片,对采集到的样本集进行人工标注并按照9:1的比例,划分为训练集和验证集。
本发明进一步的改进在于,步骤2)的具体实现方法如下:
201)加权FPN结构是在FPN结构的基础上添加了自适应权重结构,生成与原特征图大小一致的权重特征图,权重取值在[0,1]范围之间;
202)特征融合的具体做法是:首先对原始特征图采用加权FPN结构生成权重特征图,下来将原始特征图与权重特征图进行逐元素的乘积,下一步需要将不同尺度的特征图分别进行上采样,并与自身上一层的特征图在通道方向进行拼接,得到融合后的特征图。
本发明进一步的改进在于,步骤3)的具体实现方法如下:
301)锚框的生成是采用k-means算法对图片中的标注框进行聚类,一共生成6个不同大小和尺度的锚框;
302)检测头的生成是将6个锚框每3个划分为一组,放置到融合后特征图的每个像素点上面,分辨率大的特征图感受野小对应小尺寸的锚框来检测小物体,分辨率小的特征图感受野大对应大尺寸的锚框来检测大物体。
本发明进一步的改进在于,步骤4)的具体实现方法如下:
401)对HarDNet-Lite主干网络结构和检测头进行端到端的训练,采用Darknet深度学习框架来完成,训练的时候分类损失函数采用Focal Loss,回归损失函数采用CIoULoss来进行训练;
402)此外训练时还包括对训练集的数据进行增强处理,包括随机翻转、裁剪、亮度的变化,目标类别数和初始学习率的设定,学习率衰减的方法以及总的迭代次数。
本发明进一步的改进在于,步骤5)的具体实现方法如下:
网络模型优化完成后,将生成的权重文件和HarDNet-Lite网络结构的配置文件部署到NVIDIA的Jetson Nano嵌入式设备上面,并配置运行时环境,利用外接摄像头或者本地图片进行行人、车辆目标的检测。
本发明至少具有如下有益的技术效果:
本发明提供的HarDNet-Lite在嵌入式平台的优化方法,该方法通过HarDNet-Lite在嵌入式平台的优化,从深度和宽度(卷积核数量)两个方面同时对网络结构进行裁剪优化,不仅降低了网络模型本身的复杂性,而且极大地缩减了模型的参数量,能够提高目标检测时的推理速度、降低模型的体积大小,此外采用加权FPN结构对不同尺度的特征图进行融合,生成具有丰富语义信息且有判别性的特征图,下来在不同尺度的特征图上进行目标检测,能够提高目标检测时的精度。
进一步,HarDNet-Lite轻量级网络结构是在HarDNet网络结构的基础上,进行网络深度和宽度(卷积核数量)两个方面同时进行裁剪优化,这样可以降低网络中通道与参数的数量,减少模型计算时的运算量,进而加快模型检测时的速度,同时由于参数量的减少也会让模型的体积变小。
进一步,采用加权的FPN结构对输出的不同层次的特征图进行加权融合,这样生成的特征图具有丰富的语义信息,能够知道图像中是否存在需要检测的目标,同时对特征图在通道方向进行拼接后,能够让特征图具有丰富的细节特征,定位出具体的物体在哪里,提升目标检测时的精度。
进一步,在不同尺度的特征图上面放置不同大小的锚框,大的特征图感受野小用小的锚框来检测小目标,小的特征图感受野大用大的锚框来检测大目标,能够实现对不同大小的目标都能够检测出来。
进一步,在训练HarDNet-Lite主干网络结构和检测头时采用分类损失函数FocalLoss,能够解决正负样本与难易样本数量不平衡之间的问题,回归损失函数CIoU Loss在回归检测框的时候考虑到预测框的大小与标注框之间的距离,可以让预测框回归地更加准确。
附图说明
图1为本发明的整体流程;
图2为本发明的HarDBlock;
图3为本发明的DenseBlock;
图4为本发明的加权FPN结构;
图5为本发明的YOLO目标检测头。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述。如图1所示,HarDNet-Lite在嵌入式平台的优化方法,包括如下5个步骤:1.搭建HarDNet-Lite特征提取网络结构;2.采用加权FPN融合不同尺度的特征图;3.生成YOLO检测头;4.分类与回归损失函数;5.将模型部署于嵌入式平台。下面将对这5个步骤分小节进行详细的说明。
1.HarDNet-Lite特征提取网络结构
1.1 HarDBlock的构成
HarDNet-Lite网络结构是由基本的HarDBlock搭建起来的,每一个HarDBlock中由卷积层进行不同的连接组成,一个包含有8层卷积的基本HarDBlock结构如图2所示,其中k表示每一层卷积后输出的特征图数量,m是一个乘数可以在k的基础上调整输出特征图的数量,一个基本的HarDBlock一般由4、8或者16个基本的卷积(conv+batchnorm+relu)构成,其中卷积层输入输出之间的连接关系可以表示如下:
假设一个HarDBlock中含有L个卷积层,Li表示卷积层中的第i个卷积,i∈{1,2…,L},那么第Li个卷积层的输入应当与第Li-2n个卷积层的输出相连接,其中要满足Li-2n≥0且Li%2n=0的要求,n∈{0,1,2…,∞}是非负整数,连接关系用公式(1)描述如下:
link(Li)=Li-2n s.t.Li-2n≥0,Li%2n=0,n=0,1,2…∞ (1)
公式(1)进一步的解释就是当Li卷积层是奇数层时其仅仅与上一层的卷积层相连接,当是偶数层时其不仅与上一层的卷积层输出相连接还与Li-2n(Li%2n=0)层相连接,当Li是2n的指数倍时其输出的卷积层特征图个数是k*mn,也就是在k的基础上以m进行倍乘,最后的输出层Output Layer由前面的输入层Input Layer、奇数层卷积的输出和最后一个卷积层的输出在通道方向拼接组成。
DenseNet网络结构是由基本的DenseBlock组成,每一个DenseBlock中由若干个卷积层(batchnorm+relu+conv)组成,一个包含有5层卷积的基本DenseBlock如图3所示,类似于HarDBlcok,其中k表示每一层卷积后输出的特征图数量,DenseBlock中卷积层之间的输入输出关系表示如下:
假设一个DenseBlock中含有L个卷积层,Li表示卷积层中的第i个卷积,i∈{1,2…,L},那么第Li个卷积层的输入应当与前面所有卷积层的输出相连接,如公式(2)所示:
link(Li)=concat([L0,L1,…Li-2,Li-1]) (2)
其中concat()表示卷积层输出的特征图按照通道进行拼接,可以看到DenseBlock中每一层的卷积都与前面所有层的卷积之间进行连接,属于密集连接的方式,奇数层与偶数层之间没有差别,而且每一层卷积输出的特征图数量都是k个没有变化,最后的输出层Output Layer由输入层Input Layer和前面所有卷积层的输出在通道方向拼接组成。
通过图2与图3之间的对比可知,HarDBlock相比于DenseBlock有如下3方面的优点:
1)HarDBlcok卷积层之间的连接数目更少,奇数层仅与前一层卷积层相连接,偶数层与第Li-2n(Li-2n≥0,Li%2n=0,n=0,1,2…)卷积层相连接,连接的复杂度是O(L log(L)),DenseBlock卷积层的每一层都与前面所有的卷积层相连接,连接的复杂度是O(L2),相比于DenseBlock,HarDBlock拥有更低的连接复杂度O(L log(L));
2)HarDBlcok卷积层输出的特征图更具多样性,当卷积层满足Li%2n=0的条件时,输出的特征图数量在原来k的基础上乘以一个乘数m变为k*mn个输出特征图,而DenseBlock卷积层输出的特征图数量都是k个,始终保持不变;
3)由于HarDBlock卷积层输入的特征图数量变少,相比于DenseBlock,HarDBlock拥有更低的运算量FLOPs,速度更快。
1.2 HarDNet-Lite网络结构
有了基本的HarDBlock结构,可以利用HarDBlock搭建出来HarDNet网络结构,一个基本的68层HarDNet网络结构如表1所示:
表1
HarDNet中一共有68个卷积层,含有5个HarDBlock块,模型的参数总量为17.56M,此外每个HarDBlock块输出的特征图数量也比较多,这么大的模型在嵌入式设备上面往往运行的速度会很慢,因此需要对HardNet的卷积层和输出的特征图数量进行裁剪优化,并调整每一层基本的输出特征图数量k,以及乘子m,使HardNet网络变瘦、变浅,经过裁剪后可以得到如下优化过的HarDNet-Lite网络结构,如表2所示:
表2
HarDNet-Lite中一共有38个卷积层,含有4个HarDBlock块,模型的参数总量为0.91M,相比较于HarDNet,HarDNet-Lite卷积层的数量更少、模型的参数量仅是其1/19倍,网络的深度与宽度都被裁剪与优化,这样更加适合在嵌入式或者移动设备上面运行,此外HarDNet-Lite裁剪掉了最后的全连接层FC,为了进行后面的检测任务。
2.加权FPN融合不同尺度的特征图
利用HarDNet-Lite网络结构对原始的图片进行特征提取,分别提取出HarDBlockx16中Transition Layer输出的特征图C1(大小52x52x60),HarDBlock x8中TransitionLayer输出的特征图C2(大小26x26x80),HarDBlock x4中Transition Layer输出的特征图C3(大小13x13x132),这三组特征图具有不同的尺度大小,并且提取的是原始图片中不同的信息,通常浅层特征图学习到的是图片的细节特征,深层特征图学到的更多的是语义特征。为了提高物体检测的性能,利用加权FPN结构如图4,将底层的特征图与高层的特征图进行融合,这样每一层的特征图都拥有了不同分辨率、不同语义强度的特征。
下来对加权FPN结构进行详细的解释,加权FPN结构可以分为两个部分,第一部分是自底向上的路径分别提取出不同分辨率与大小的特征图C3,C2,C1,第二部分是从上到下的路径进行特征图的融合。在特征图融合时,首先对P3的特征图进行卷积运算conv生成分辨率与大小都不改变的特征图S3,下来对特征图S3进行Sigmoid运算,使其取值分布在区间[0,1]之间,下来在将特征图P3与特征图S3进行逐元素的点乘运算P3⊙S3,这样可以让P3在特征图内每个点的重要性得以区分,包含物体的点更加重要,最后将生成的加权特征图进行两倍的上采样2x upsample,并与C2进行通道方向的拼接Concat生成P2特征图,P1特征图的生成过程与P2特征图的生成过程是一样的,通过加权FPN结构,最终可以获得具有丰富语义信息且有判别性的P3,P2,P1输出特征图。
3.YOLO检测头
在获得P1,P2,P3输出特征图后,为了进行不同尺度大小的目标检测,需要对输出的特征图添加检测头结构如图5所示,在这里只对P1,P2特征图添加检测头,而没有在P3特征图上面添加检测头,这样可以降低运算量,提高检测的速度,P1特征图比较大分辨率高感受野小负责小物体的检测,P2特征图较小分辨率低感受野大负责大物体的检测。下来详细介绍下检测头的结构,首先对P2特征图进行1x1的卷积运算输出26x26x3*(5+num_class)大小的特征图,26x26代表特征图的宽和高,3*(5+num_class)代表输出特征图的通道数,其中3表示在每个位置放置3个锚框Anchor box,5的前四个数字表示检测物体的中心点坐标和宽高,最后一个数字表示物体的置信度confidence,num_class表示要识别物体的类别数。对于锚框的大小设置,采用k-means聚类算法,在训练集上面进行聚类生成6个不同大小的锚框,下来将后3个锚框放置到P2特征图26x26的每一个像素点位置上面去,进行大目标的检测,至此完成了对P2特征图锚框的放置。对于P1特征图也同样进行1x1的卷积运算,输出52x52x3*(5+num_class)大小的特征图,也在52x52大小的每一个特征图位置上面放置k-means生成的前3个锚框,只不过P1特征图上面放置的锚框要小于P2特征图锚框的大小,是为了进行小目标的检测,在P1特征图与P2特征图上面一共预先放置了(26x26+52x52)*3*(5+num_class)个锚框,足以覆盖原图中所有不同大小的目标。
在完成了锚框的放置之后,在训练网络时,为了网络能快速的收敛,网络的输出值是相对于特征图的位置和锚框的大小的偏移值,因此需要对标注框进行编码,对预测框进行解码,其中编码采用公式(3)如下所示:
其中cx,cy表示特征图左上角的坐标位置,gx,gy表示标注框中心点的横纵坐标,gw,gh表示标注框的宽与高,aw,ah表示锚框的宽与高,表示标注框相对于特征图左上角的偏移与锚框大小的偏移。利用公式(3)便可以完成对标注框的编码,使其变成相对于特征图左上角位置与锚框大小的偏移量,在训练网络时有利于网络的快速收敛。
为了获得预测框的实际位置和大小,需要对网络输出的值进行解码,解码时采用公式(4)如下所示:
其中cx,cy表示特征图左上角的坐标位置,aw,ah表示锚框的宽与高,tx,ty,tw,th表示网络输出预测值,px,py,pw,ph表示解码后预测框的中心坐标与宽高,利用公式(4)对网络的输出值进行解码,便可以获得预测框的实际大小和宽高。
4.分类与回归损失函数
为了减小模型预测时的误差,在训练网络时需要使用损失函数不断地指导模型向正确的方向优化,不断地降低loss值,直到网络达到收敛的状态。损失函数在模型优化的过程中起着十分重要的作用,目标检测网络的损失函数一般由两个部分组成,第一部分是分类损失函数,第二部分是回归损失函数。
分类损失函数主要用来减少预测的类别与实际类别之间的偏差,能够判断出检测到的物体是什么类别,分类损失函数常用的包括交叉熵损失函数、Hinge损失函数、指数损失函数等,在HarDNet-Lite目标检测框架中,我们使用Focal loss损失函数作为分类损失函数,如公式(5)所示:
其中表示预测的分类标签,y表示真实的标签,参数α与1-α用来解决正负样本不均衡的问题,检测器通常会产生大量的候选目标,但是只有少数是正样本,因此需要给正样本一个大的权重α,负样本一个小的权重1-α。/>与/>用来解决难易样本的不平衡问题,易分样本/>也就是置信度高的样本对模型的提升效果非常小,模型应该主要关注那些难分的样本,因此应该给易分类样本一个小的权重/>的取值越大/>的取值会越小,给难分类的样本一个大点的权重/>其中超参数α与β的取值是相互影响的,一般β的取值越大,α的取值越小,实际应用中α取0.25,β取2时效果最好。
回归损失函数主要用来减少预测框与标注框位置的误差,能够更加准确的定位出物体的具体位置,常用的回归损失函数有L1 loss,MSE loss,smooth L1 loss,IoU Loss等回归损失函数,这里我们使用CIoU Loss来进行预测框的回归,如公式(6)所示:
其中IoU表示预测框与标注框之间的交并比,ρ2(b,bgt)表示预测框与标注框中心点距离的平方,c2表示预测框与标注框最小外接矩形框的对角线距离的平方,v衡量了预测框与标注框长宽比的相似性,α是一个trade-off的参数。使用CIoU Loss的优点是可以将位置信息作为一个整体来进行训练,而L1 loss、L2 loss却把位置信息作为四个相互独立的变量来进行训练,没有考虑到坐标点之间的相关性。最后将分类损失函数与回归损失函数进行相加,得到总的优化目标函数如公式(7)所示:
Ltotal=Lcla+λLloc (7)
λ是一个超参数,用来平衡分类损失与回归损失。
5.模型部署于嵌入式平台
嵌入式设备具有体积小、功耗低、价格低廉等优点,在生活中被广泛的应用,常见的嵌入式设备有NVIDIA的Nano、TX2、Xavier NX等一系列的产品,有的产品中还配备有GPU,可以用来加速神经网络的运行。下来,我们需要将训练好的HarDNet-Lite目标检测网络部署到嵌入式平台中,这里以Jetson Nano为例,Nano的GPU是Maxwell架构拥有128 CUDAcores,CPU是Quad-core ARM Cortex-A57 MPCore processor型号,内存是4GB 64-bitLPDDR4大小,数据传输速率是1600MHz 25.6GB/s,并且拥有16GB eMMC 5.1的存储空间大小。训练完成的HarDNet-Lite目标检测网络仅有10.3MB大小,将其拷贝到Nano中并配置相关的运行环境,在检测单张图片时耗时大约300ms,在检测车辆的1080P视频中通过跳帧处理可以达到7FPS的处理速度。在实际应用场景中比如在商场中进行行人的检测与计数,在GeForce GTX 1080ti上面运行一段5分钟的视频并进行分析处理,HarDNet-Lite网络平均耗时23.86秒,显存占用656MiB,而使用PeleeNet运行同样的5分钟视频,平均耗时37.1274秒,显存占用736MiB,相比于PeleeNet,HarDNet-Lite轻量级网络,在实际应用场景中性能提升了35%,显存占用降低10%,极大地提高了整体业务处理的性能与效率。
Claims (3)
1.HarDNet-Lite在嵌入式平台的优化方法,其特征在于,包括以下步骤:
1)利用HarDNet-Lite网络结构对原始的彩色图片进行特征提取;
2)对提取到的不同层次的特征,采用加权FPN结构进行特征融合;
3)在特征融合后的不同尺度大小的特征图上放置通过聚类生成的锚框,形成检测头;
4)对HarDNet-Lite主干网络结构和检测头,采用分类与回归损失函数进行端到端的训练;
5)训练结束后,将生成的权重文件和HarDNet-Lite网络结构配置文件部署到嵌入式平台,进行目标检测;
步骤1)的具体实现方法如下:
101)HarDNet-Lite网络结构在HarDNet网络结构的基础上,进行网络深度和宽度两个方面同时进行裁剪,形成HarDNet-Lite轻量级的网络结构;
102)原始的彩色图片采用高清摄像头采集的行人、车辆的原始图片,对采集到的样本集进行人工标注并按照9:1的比例,划分为训练集和验证集;
步骤2)的具体实现方法如下:
201)加权FPN结构是在FPN结构的基础上添加了自适应权重结构,生成与原特征图大小一致的权重特征图,权重取值在[0,1]范围之间;
202)特征融合的具体做法是:首先对原始特征图采用加权FPN结构生成权重特征图,下来将原始特征图与权重特征图进行逐元素的乘积,下一步需要将不同尺度的特征图分别进行上采样,并与自身上一层的特征图在通道方向进行拼接,得到融合后的特征图;
步骤3)的具体实现方法如下:
301)锚框的生成是采用k-means算法对图片中的标注框进行聚类,一共生成6个不同大小和尺度的锚框;
302)检测头的生成是将6个锚框每3个划分为一组,放置到融合后特征图的每个像素点上面,分辨率大的特征图感受野小对应小尺寸的锚框来检测小物体,分辨率小的特征图感受野大对应大尺寸的锚框来检测大物体。
2.根据权利要求1所述的HarDNet-Lite在嵌入式平台的优化方法,其特征在于,步骤4)的具体实现方法如下:
401)对HarDNet-Lite主干网络结构和检测头进行端到端的训练,采用Darknet深度学习框架来完成,训练的时候分类损失函数采用FocalLoss,回归损失函数采用CIoU Loss来进行训练;
402)此外训练时还包括对训练集的数据进行增强处理,包括随机翻转、裁剪、亮度的变化,目标类别数和初始学习率的设定,学习率衰减的方法以及总的迭代次数。
3.根据权利要求2所述的HarDNet-Lite在嵌入式平台的优化方法,其特征在于,步骤5)的具体实现方法如下:
网络模型优化完成后,将生成的权重文件和HarDNet-Lite网络结构的配置文件部署到NVIDIA的Jetson Nano嵌入式设备上面,并配置运行时环境,利用外接摄像头或者本地图片进行行人、车辆目标的检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011104925.2A CN112232411B (zh) | 2020-10-15 | 2020-10-15 | HarDNet-Lite在嵌入式平台的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011104925.2A CN112232411B (zh) | 2020-10-15 | 2020-10-15 | HarDNet-Lite在嵌入式平台的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112232411A CN112232411A (zh) | 2021-01-15 |
CN112232411B true CN112232411B (zh) | 2024-05-14 |
Family
ID=74118359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011104925.2A Active CN112232411B (zh) | 2020-10-15 | 2020-10-15 | HarDNet-Lite在嵌入式平台的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112232411B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033661A (zh) * | 2021-03-25 | 2021-06-25 | 桂林电子科技大学 | 一种基于嵌入式平台特点改进的目标检测方法 |
CN113971731A (zh) * | 2021-10-28 | 2022-01-25 | 燕山大学 | 一种目标检测方法、装置及电子设备 |
CN115690545B (zh) * | 2021-12-03 | 2024-06-11 | 北京百度网讯科技有限公司 | 训练目标跟踪模型和目标跟踪的方法和装置 |
CN114494808A (zh) * | 2021-12-28 | 2022-05-13 | 上海弘积信息科技有限公司 | 一种用于目标检测的加权特征金字塔网络 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255790A (zh) * | 2018-07-27 | 2019-01-22 | 北京工业大学 | 一种弱监督语义分割的自动图像标注方法 |
CN109815886A (zh) * | 2019-01-21 | 2019-05-28 | 南京邮电大学 | 一种基于改进YOLOv3的行人和车辆检测方法及系统 |
WO2019144575A1 (zh) * | 2018-01-24 | 2019-08-01 | 中山大学 | 一种快速行人检测方法及装置 |
CN110084292A (zh) * | 2019-04-18 | 2019-08-02 | 江南大学 | 基于DenseNet和多尺度特征融合的目标检测方法 |
CN110751185A (zh) * | 2019-09-26 | 2020-02-04 | 高新兴科技集团股份有限公司 | 目标检测模型的训练方法和装置 |
CN111209887A (zh) * | 2020-01-15 | 2020-05-29 | 西安电子科技大学 | 针对小目标检测的ssd模型优化方法 |
CN111414931A (zh) * | 2019-12-31 | 2020-07-14 | 杭州电子科技大学 | 一种基于图像深度的多分支多尺度小目标检测方法 |
CN111666836A (zh) * | 2020-05-22 | 2020-09-15 | 北京工业大学 | M-f-y型轻量化卷积神经网络的高分辨率遥感影像目标检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924269B2 (en) * | 2006-05-13 | 2014-12-30 | Sap Ag | Consistent set of interfaces derived from a business object model |
US20120304290A1 (en) * | 2011-02-28 | 2012-11-29 | Mcphail Lon Daniel | Cyber isolation, defense, and management of a inter-/intra- enterprise network |
-
2020
- 2020-10-15 CN CN202011104925.2A patent/CN112232411B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019144575A1 (zh) * | 2018-01-24 | 2019-08-01 | 中山大学 | 一种快速行人检测方法及装置 |
CN109255790A (zh) * | 2018-07-27 | 2019-01-22 | 北京工业大学 | 一种弱监督语义分割的自动图像标注方法 |
CN109815886A (zh) * | 2019-01-21 | 2019-05-28 | 南京邮电大学 | 一种基于改进YOLOv3的行人和车辆检测方法及系统 |
CN110084292A (zh) * | 2019-04-18 | 2019-08-02 | 江南大学 | 基于DenseNet和多尺度特征融合的目标检测方法 |
CN110751185A (zh) * | 2019-09-26 | 2020-02-04 | 高新兴科技集团股份有限公司 | 目标检测模型的训练方法和装置 |
CN111414931A (zh) * | 2019-12-31 | 2020-07-14 | 杭州电子科技大学 | 一种基于图像深度的多分支多尺度小目标检测方法 |
CN111209887A (zh) * | 2020-01-15 | 2020-05-29 | 西安电子科技大学 | 针对小目标检测的ssd模型优化方法 |
CN111666836A (zh) * | 2020-05-22 | 2020-09-15 | 北京工业大学 | M-f-y型轻量化卷积神经网络的高分辨率遥感影像目标检测方法 |
Non-Patent Citations (5)
Title |
---|
HarDNet: A Low Memory Traffic Network;Ping Chao;《2019 IEEE/CVF International Conference on Computer Vision (ICCV)》;1-6 * |
基于ResNet和RF-Net的遥感影像匹配;廖明哲;吴谨;朱磊;;液晶与显示(第09期);1-3 * |
基于支持向量机的铁路扣件缺损检测方法的研究;齐胜;《万方》;1-67 * |
深度学习目标检测方法综述;赵永强;饶元;董世鹏;张君毅;;中国图象图形学报(第04期);1-3 * |
面向视觉SLAM的图像特征描述方法研究;康融;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;I138-928 * |
Also Published As
Publication number | Publication date |
---|---|
CN112232411A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112232411B (zh) | HarDNet-Lite在嵌入式平台的优化方法 | |
Dewi et al. | Synthetic Data generation using DCGAN for improved traffic sign recognition | |
CN108564097B (zh) | 一种基于深度卷积神经网络的多尺度目标检测方法 | |
CN110378222B (zh) | 一种输电线路防震锤目标检测与缺陷识别方法及装置 | |
CN110929577A (zh) | 一种基于YOLOv3的轻量级框架改进的目标识别方法 | |
CN114495029B (zh) | 一种基于改进YOLOv4的交通目标检测方法及系统 | |
CN109784283A (zh) | 基于场景识别任务下的遥感图像目标提取方法 | |
Guo et al. | Network pruning for remote sensing images classification based on interpretable CNNs | |
CN112801236B (zh) | 图像识别模型的迁移方法、装置、设备及存储介质 | |
CN112784756B (zh) | 人体识别跟踪方法 | |
WO2022100607A1 (zh) | 一种神经网络结构确定方法及其装置 | |
CN116597326A (zh) | 一种基于改进YOLOv7算法的无人机航拍小目标检测方法 | |
CN113963333B (zh) | 一种基于改进yolof模型的交通标志牌检测方法 | |
Zhao et al. | MCANet: Hierarchical cross-fusion lightweight transformer based on multi-ConvHead attention for object detection | |
CN113989939A (zh) | 一种基于改进yolo算法的小目标行人检测系统 | |
Liu et al. | Lightweight target detection algorithm based on YOLOv4 | |
CN115953743A (zh) | 一种基于改进的yolo模型的车位状态识别方法 | |
Jiangzhou et al. | Research on real-time object detection algorithm in traffic monitoring scene | |
CN117011569A (zh) | 一种图像处理方法和相关装置 | |
CN114782983A (zh) | 基于改进特征金字塔和边界损失的道路场景行人检测方法 | |
CN118470333B (zh) | 一种基于遥感图像的地理环境语义分割方法及系统 | |
KR102527642B1 (ko) | 딥러닝 기반 소형 표적 탐지 시스템 및 방법 | |
CN117274927B (zh) | 基于改进多目标跟踪的交通流量监测方法 | |
Gong et al. | Research on YOLOv4-tiny traffic sign detection algorithm with attention mechanism | |
Zhao et al. | Research on Traffic Sign Detection Algorithm Based on Improved YOLOv3 |
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 | ||
CB02 | Change of applicant information |
Address after: 215000 unit 5-b602, creative industry park, No. 328, Xinghu street, Suzhou Industrial Park, Suzhou area, China (Jiangsu) pilot Free Trade Zone, Suzhou, Jiangsu Applicant after: Suzhou Lingtu Technology Co.,Ltd. Address before: No.15, Hualou lane, Ningbo City, Zhejiang Province, 315099 Applicant before: Zhejiang Lingtu Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |