CN116363552A - 一种应用于边缘设备的实时目标检测方法 - Google Patents
一种应用于边缘设备的实时目标检测方法 Download PDFInfo
- Publication number
- CN116363552A CN116363552A CN202310144010.1A CN202310144010A CN116363552A CN 116363552 A CN116363552 A CN 116363552A CN 202310144010 A CN202310144010 A CN 202310144010A CN 116363552 A CN116363552 A CN 116363552A
- Authority
- CN
- China
- Prior art keywords
- loss
- result
- model
- target
- data
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 102
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 238000013139 quantization Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 31
- 238000000605 extraction Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 6
- 238000002156 mixing Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000012549 training Methods 0.000 abstract description 21
- 230000000694 effects Effects 0.000 abstract description 9
- 238000003672 processing method Methods 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 32
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- 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
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- 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/048—Activation functions
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及计算机视觉技术领域,特别涉及一种应用于边缘设备的实时目标检测方法;包括:构建目标检测模型;对数据集进行数据增强处理;将数据增强后的图像输入至目标检测模型;利用损失函数进行比对,计算预测结果和标签数据的误差,利用优化器通过误差与目标检测模型的梯度信息对目标检测模型参数进行优化;将训练完成的目标检测模型转化为量化模型并将量化模型部署在边缘设备上,对使用场景中的视频流进行目标检测。本发明通过更加轻量化的、可重参数化的Rep‑ELAN结构和解耦检测头,能够在几乎不损失计算速度的同时大幅增加检测器的准确度;本发明的数据增强处理方法,能够在数据集标签不充分时大幅提高数据标签的有效性,提高训练效率和训练效果。
Description
技术领域
本发明涉及计算机视觉技术领域,特别涉及一种应用于边缘设备的实时目标检测方法。
背景技术
目标检测是指在图像中找出所有感兴趣目标的具体位置和大小等定位信息,该问题是计算机视觉、模式识别等领域中的基础问题之一,解决该问题的方法在车辆识别分析、施工监控、视频监控及分析、人脸识别、工业领域等应用中得到广泛使用。
现有的目标检测策略主要分为两类:一种是以牺牲速度换取高准确度两阶段策略,另一种是精度稍低但速度比二阶段策略快上百倍的一阶段策略。随着目标检测算法的不断发展,基于二阶段策略设计的目标检测算法除了在追求极致准确度的应用场景下仍有优势,在其他许多应用中一阶段策略已逐步取代二阶段策略。
目前,应用于图像分割、目标检测等领域的一阶段策略主要存在两个问题:
(1)基于一阶段策略设计的拥有较高准确度的目标检测器能够在高性能服务器上轻松达到实时效果,但高准确度往往意味着模型的参数量大,使用时需要消耗更多的计算资源,因此目前的模型往往在算力有限的边缘计算设备上,难以同时满足高准确率和实时性。
(2)目标检测模型训练过程中,目前主流使用的数据增强方法采用Mosaic增强方法和Mixup增强方法的简单混合使用,如附图1所示,虽然在数据标签丰富的数据集中弊端不明显,但是在数据标签较少的情况下,容易生成无效标签,使训练效果大打折扣。
(3)多数应用场景中,摄像头与目标有一定距离,检测对象在整个图像中通常较小,而小目标检测准度往往较低。
(4)当前的主流学术研究追求的性能指标与实际工程应用中关注的性能指标有一定出入,不能很好的服务于工业界。
发明内容
本发明的目的是针对现有一阶段策略的技术缺陷,提供了一种应用于边缘设备的实时目标检测方法,该方法融合了Rep-ELAN结构、解耦检测头、数据增强处理以及损失分析等技术,以更少的模型参数和更小的模型计算量,获得了更高的检测准确率。
为了实现上述目的,本发明的技术方案如下:
一种应用于边缘设备的实时目标检测方法,包括:
构建目标检测模型,目标检测模型为骨干网络和检测头网络顺序连接组成的端到端一体化网络,此时的目标检测模型未经过训练;其中,利用骨干网络对图像进行特征提取处理,输出图像相应的特征信息;利用检测头网络对完成提取的特征信息进行解码,输出包含所有目标的位置信息、类别和置信度信息的预测结果集合;
选择数据集,对数据集进行数据增强处理,得到经过数据增强后的图像以及相应的标签数据集合;
将数据增强后的图像输入构建的目标检测模型;将目标检测模型输出的预测结果集合和标签数据集合利用损失函数进行比对,计算预测结果和标签数据的误差,利用优化器通过误差与目标检测模型的梯度信息对目标检测模型参数进行优化调整,重复此步骤直至模型预测结果的准确率不再提升;
将训练完成的目标检测模型转化为量化模型并将量化模型部署在边缘设备上,对使用场景中的视频流进行目标检测。
具体的,所述骨干网络包括多个可重参数化的Rep-ELAN网络结构;沿着多尺度源图像输入的特征提取路径展开,特征提取路径上的每个Rep-ELAN网络结构包含Conv卷积、Rep-Conv卷积和DWConv卷积操作,对输入图像进行特征提取得到特征信息。
具体的,所述检测头网络包括多个Lite-Efficient-Decoupled-Head检测头结构,沿着一条融合了骨干网络连接输入的特征解码路径展开,特征解码路径上的每个Lite-Efficient-Decoupled-Head检测头结构包含1×1卷积、3×3卷积、权重和偏置操作,对特征提取路径输出的特征信息进行解码,输出包含所有目标的位置信息、类别和置信度信息的预测结果集合。
具体的,所述对数据集进行数据增强处理,得到经过数据增强后的图像以及相应的标签数据集合,包括:
从数据集中不重复地抽取4×n+1张图片,保留1张图片,其余每4张图片分为一组基于Mosaic数据增强进行拼接,得到n张图片,再分别对这n张图片按S2A中设置的参数进行镜像、旋转、HSV增强和尺度变换操作;
对保留的图片进行小幅度的数据增强;
将生成的n张图片和经过小幅度数据增强处理后的1张图片进行Mixup数据增强的混合操作得到最终的图像,将该图像与变换后的相应的标签数据输入至目标检测模型。
具体的,所述将输出的预测结果和标签数据利用损失函数进行比对,计算预测结果和标签数据的误差,包括:
输入和预设参数,其中,输入的参数包含预测结果集合P0和标签结果集合T0,预设的参数包括目标框损失权重Wbox、前景损失权重Wobj和类别损失权重Wcls;
对标签结果集合T0中的每一个目标框ti,在预测结果集合P0中遍历与其重合度最大的结果pi,两者匹配后分别从预测结果集合P0和标签结果集合T0放入集合匹配的整张图片所有预测结果集合P和整张图片所有标签结果集合T中;
当标签结果集合T0中所有结果均已匹配,丢弃预测结果集合P0中剩余未匹配的结果;
对匹配后的张图片所有预测结果集合P和整张图片所有标签结果集合T利用损失函数进行预测框位置损失、前景损失和类别损失的计算;
将经过计算的预测框位置损失、前景损失和类别损进行加权求和,得到最终的损失。
具体的,利用损失函数进行对比计算过程中,对于单个预设结果的损失函数,其公式(1)如下:
hrl(p,t)=[4(1-p)2r+(1-r)]tlog(p)+[12p2r+(1-r)](1-t)log(1-p) (1)
式中,p表示预测结果,t表示目标结果,r为0-1之间的随机数;
根据上述公式(1),将每一个结果的损失函数求和取平均值得到整张图片的损失函数,其公式(2)如下:
式中,P表示整张图片所有预测结果集合,T表示整张图片所有标签结果集合,K表示整张图片预测结果和标签结果匹配的数量;
基于边框回归损失函数sIOU计算预测框位置损失,预测框位置损失的计算公式(3)如下:
Lossbox=sIOU(Pbox,Tbox) (3)
式中,Lossbox表示预测框位置损失,Pbox表示整张图片所有已匹配的预测结果P中的目标框位置集合,Tbox表示整张图片所有已匹配的标签结果T中的目标框位置集合,
基于公式(2)计算前景损失和类别损失,前景损失的计算公式(4)如下:
Lossobj=HRL(Pobj,Tobj) (4)
式中,Lossobj表示前景损失,Pobj表示整张图片所有已匹配的预测结果P中的前景概率集合,Tobj表示整张图片已匹配的标签结果T中的前景概率集合,
类别损失的计算公式(5)如下:
Losscls=HRL(Pcls,Tcls) (5)
式中,Losscls表示类别损失,Pcls表示整张图片所有已匹配的预测结果P中的类别概率集合,Tcls表示整张图片所有已匹配的标签结果T中的前景概率集合。
具体的,所述利用优化器通过误差与目标检测模型的梯度信息对目标检测模型参数进行优化调整,重复此步骤直至模型预测结果的准确率不再提升,包括:
遍历预先训练好的目标检测模型的每一层计算模块,判断该模块是否是可重参数化的模块,若是,则进行重参数化以减少模型参数。
具体的,所述将训练完成的目标检测模型转化为量化模型并将量化模型部署在边缘设备上,对使用场景中的视频流进行目标检测,包括:
通过模型量化工具转换为用于部署的量化模型Model;
获取视频流,预设图像输入尺寸、置信度阈值和重合度阈值;
从视频流中提取当前帧图像,将当前帧图像经过预处理后输入到量化模型Model中,经量化模型Model推理后得到多个目标信息;
过滤掉所有置信度小于置信度阈值的目标,判断剩余目标两两之间的目标框重合度,若重合度高于重合度阈值,则判定两个目标框预测的是同一个目标,并将两者中置信度较低的结果过滤掉;
将剩余目标结果作为最终的结果,并显示在图像上,重复上述步骤,直至视频流结束。
本发明的有益效果为:
本发明的应用于边缘设备的实时目标检测方法,通过更加轻量化的、可重参数化的Rep-ELAN结构和解耦检测头,能够在几乎不损失计算速度的同时大幅增加检测器的准确度;同时,提供了一种更加强大的数据增强方法,能够在数据集标签不充分时大幅提高数据标签的有效性,提高训练效率和训练效果;另外,在本模型训练的最终部署阶段使用的损失函数,能有效提高检测器对小目标的检测精度。
附图说明
图1为本发明背景技术中现有技术中Mosaic和Mixup简单混合使用的示意图;
图2为本发明实施例中目标检测模型的主体结构图;
图3为本发明实施例中原始ELAN结构和可重参数化的Rep-ELAN结构的对比图,其中,图3(a)为原始ELAN结构,图3(b)为可重参数化的Rep-ELAN结构;
图4为本发明实施例中常规3×3卷积层结构和RepConv卷积层结构对比图,其中,图4(a)为常规3×3卷积层结构,图4(b)为RepConv卷积层结构;
图5为本发明实施例中三种解耦头结构对比图,其中,图5(a)为初代解耦头Decoupled-Head,图5(b)为YOLOv6中解耦头Efficient-Decoupled-Head,图5(c)为Lite-Efficient-Decoupled-Head;
图6为本发明实施例中数据增强结构的示意图;
图7为本发明实施例中小目标检测效果图;
图8为本发明实施例中应用于边缘设备的实时目标检测方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
一种应用于边缘设备的实时目标检测方法,该实时目标检测方法基于一种实时目标检测器实现,该实时目标检测器应用于Nvidia Jetson AGX Xavier的边缘计算设备,CPU为Nvidia Carmel ARMv8.2(8-core)@2.26GHz,GPU为512-Core Volta@1377MHz+64TensorCores,内存为32GB 256-bit LPDDR4x@2133MHz|137GB/s,存储空间为32GB eMMC 5.1+M.2SSD 512GB,软件环境为Ubuntu18.04,Python 3.6.9,TensorRT 7.1.3.0,功率模式为MAXN。
在本实施例中,实时目标检测器分为模型设计阶段、训练阶段和部署阶段;其中,参考附图2,模型设计阶段主要包含骨干网络和检测头网络,训练阶段包含数据增强处理和损失函数,部署阶段包含部署和推理。
在本实施例中,参考附图8,一种应用于边缘设备的实时目标检测方法,包括:
步骤1:构建目标检测模型,目标检测模型为骨干网络和检测头网络顺序连接组成的端到端一体化网络,此时的目标检测模型未经过训练。
其中,利用骨干网络对图像进行特征提取处理,输出图像相应的特征信息;利用检测头网络对完成提取的特征信息进行解码,输出包含所有目标的位置信息、类别和置信度信息的预测结果集合。
在本实施例中,骨干网络包括多个可重参数化的Rep-ELAN网络结构;沿着多尺度源图像输入的特征提取路径展开,特征提取路径上的每个Rep-ELAN网络结构包含Conv卷积、Rep-Conv卷积和DWConv卷积操作,对输入图像进行特征提取得到特征信息。
在本实施例中,在骨干网络里,采用大量可重参数化的Rep-ELAN网络结构,如附图所示3(a),原始的ELAN结构相较于传统的CSPN结构,拥有参数量小、层间交互数据多、运行速度快等优势,对此,本发明进一步对部分神经网络层进行了更改,设计了可重参数化的Rep-ELAN结构,如附图所示3(b)。在此结构中,数据进行了3次分流形成了共4个分支,每个分支所经过的卷积层数量都不相同,因此在最终拼接合并(Concat)后,数据包含了来自多个不同层级的卷积层的特征信息,丰富了特征信息要素。
应当理解,当某一层拥有来自不同层级的数据作为该层输入数据时,称该层为数据交汇层;而当某一层的输出数据作为多个不同层级的网络层的输入时,称该层为数据分流层。由于这两种网络层存在多尺度特征信息,因此采用可重参数化的线性并行卷积层RepConv代替普通的卷积层Conv。
在本实施例中,如附图4(a)所示,为常规3×3卷积层结构,如附图4(b)所示,为RepConv卷积层结构,可见RepConv添加了1×1卷积层和仅有批归一化层的分支BN,这样做在训练过程中能够拥有更多的参数,使得模型的训练更加容易,从而训练出准确度更高的模型;同时在训练完成后的部署过程中,由于三个分支中没有非线性计算,因此可通过重参数化方法,附图4(b)的RepConv卷积层结构可以在不损失任何精度的情况下变成和附图4(a)相同的结构、相同的参数量,并拥有相同的计算速度。进一步的,在轻量化模型上,我们还将两层常规3×3卷积层替换为轻量化网络(如MobileNet,ShuffleNet等)中常用的深度可分离卷积(即DepthWise Conv)以减轻计算成本。
在本实施例中,检测头网络的作用为:将提取的特征解码,生成目标位置、类别、置信度等信息,包括B个Lite-Efficient-Decoupled-Head检测头结构,沿着一条融合了骨干网络连接输入的特征解码路径展开,特征解码路径上的每个Lite-Efficient-Decoupled-Head检测头结构包含1×1卷积、3×3卷积、权重和偏置操作,对特征提取路径输出的特征信息进行解码,生成标签数据。
在本实施例中,检测头网络里,本发明设计了相比于其他解耦检测头更加轻量化的结构;其中,相较于YOLOX中参照FCOS检测头结构设计的初代解耦头Decoupled-Head(如图5(a)),YOLOv6中设计的解耦头(如图5(b))Efficient-Decoupled-Head减少了一层3×3卷积层,同时为了保证准确性,增加了特征通道数,但是这样也会增加计算量;因此如图5(c),我们设计的Lite-Efficient-Decoupled-Head既减少了卷积层,同时保持较少的特征通道数,为了保证准确性,我们增加了额外的权重层和偏置层,这两层在训练过程中提供额外的训练参数,在训练结束后,通过重参数化方法,将额外的这两层的参数合并到中间的卷积层中,同时将前景预测分支与类别预测分支耦合提高模型并行度,从而获得更快的运行速度。
在本实施例中,预测结果集合包括位置信息(目标中心点坐标(cx,cy),目标长宽(w,h))、目标置信度(confidence,0%-100%之间,代表该位置存在目标的可能性)、以及每一种目标类型的的置信度class_id_confidence,如COCO数据集里一共有80个类,则class_id范围为0-79)。因此每个目标信息可以用一个5+n维向量表示,其中n表示一共有多少种类别,例如:[cx,cy,w,h,confidence,class_1_confidence,…,class_n_confidence];将类别置信度中最高的类别作为该目标的类别,并记录该类别ID(class_id),并将该置信度与目标置信度相乘得到最终置信度conf,则可以将其转换为6维向量[cx,cy,w,h,conf,class_id]。同理,从数据集中加载的标签也是这种表示方法。
步骤2:选择数据集,对数据集进行数据增强处理,得到经过数据增强后的图像以及相应的标签数据集合。
其中,参考附图6,对数据集进行数据增强处理,得到经过数据增强后的图像以及相应的标签数据,包括:
S3:从数据集中不重复地抽取4×n+1张图片,保留1张图片,其余每4张图片分为一组基于Mosaic数据增强进行拼接,共得到n张图片,再分别对这n张图片按S2A中设置的参数进行镜像、旋转、HSV增强和尺度变换操作;
S4:将S3中保留的图片进行小幅度的数据增强,使这张图片在数据增强后不会有过大的变化,用于保证训练效果的稳定性。
其中,一般来说,根据数据集的不同,控制小幅度数据增强的参数(如上述提到的镜像、旋转、HSV增强和尺度变换操作等)在正常幅度的数据增强的十分之一到三分之一之间。
S5:将S3中生成的n张图片和S4中增强处理后的1张图片进行Mixup数据增强的混合操作得到最终的图像,将该图像与变换后的相应的标签数据输入至目标检测模型,并等待下一个训练迭代开始后,重复步骤S3-S5。
步骤3:将数据增强后的图像输入构建的目标检测模型;将目标检测模型输出的预测结果集合和标签数据集合利用损失函数进行比对,计算预测结果和标签数据的误差,利用优化器通过误差与目标检测模型的梯度信息对目标检测模型参数进行优化调整,重复此步骤直至模型预测结果的准确率不再提升。
其中,将输出的预测结果和标签数据利用损失函数进行比对,计算预测结果和标签数据的误差,包括:
输入和预设参数,其中,输入的参数包含预测结果集合P0和标签结果集合T0,预设的参数包括目标框损失权重Wbox、前景损失权重Wobj和类别损失权重Wcls;
对标签结果集合T0中的每一个目标框ti,在预测结果集合P0中遍历与其重合度最大的结果pi,两者匹配后分别从预测结果集合P0和标签结果集合T0放入集合匹配的整张图片所有预测结果集合P和整张图片所有标签结果集合T中;
由于预测结果集合P0数量多且广泛分布于图像中的所有位置,标签结果集合T0中的结果一定能匹配,当标签结果集合T0中所有结果均已匹配,丢弃预测结果集合P0中剩余未匹配的结果;
对匹配后的张图片所有预测结果集合P和整张图片所有标签结果集合T利用损失函数进行预测框位置损失、前景损失和类别损失的计算;
将经过计算的预测框位置损失、前景损失和类别损进行加权求和,得到最终的损失。
在本实施例中,损失函数计算模块的损失函数主要分为三个部分,前景概率损失、类别概率损失以及预测框位置损失。
由上述提到的,每个目标用一个5+n维向量表示[cx,cy,w,h,confidence,class_1_confidence,…,class_n_confidence];对于预测框损失,就是将预测的[cx,cy,w,h]与实际标签中的预测框进行比较,计算对应的重合度,重合度越高,损失越小,预测得也就更精确,在此采用常用的sIOU损失函数。
基于边框回归损失函数sIOU计算预测框位置损失,预测框位置损失的计算公式(3)如下:
Lossbox=sIOU(Pbox,Tbox) (3)
式中,Lossbox表示预测框位置损失,Pbox表示整张图片所有已匹配的预测结果P中的目标框位置集合,Tbox表示整张图片所有已匹配的标签结果T中的目标框位置集合。
对于前景概率损失以及类别概率损失,即:confidence或class_i_confidence(0≤i<n)作为预测p,标签中该目标框里是否是目标(目标为1,背景则为0)或该目标框里是否是这个类别(是为1,不是为0)作为结果t,将p和t通过损失函数计算两者的差别,计算结果即为前景概率损失以及类别概率损失。
这两种损失通常使用交叉熵损失函数来计算,而本发明设计了如下随机混合损失函数(Hybrid-Random Loss)。
对于单个预设结果的损失函数,其公式(1)如下:
hrl(p,t)=[4(1-p)2r+(1-r)]tlog(p)+[12p2r+(1-r)](1-t)log(1-p) (1)
式中,p表示预测结果,t表示目标结果,r为0-1之间的随机数。
根据上述公式(1),将每一个结果的损失函数求和取平均值得到整张图片的损失函数,其公式(2)如下:
式中,P表示整张图片所有预测结果集合,T表示整张图片所有标签结果集合,K表示整张图片预测结果和标签结果匹配的数量。
基于公式(2)计算前景损失和类别损失,前景损失的计算公式(4)如下:
Lossobj=HRL(Pobj,Tobj) (4)
式中,Lossobj表示前景损失,Pobj表示整张图片所有已匹配的预测结果P中的前景概率集合,Tobj表示整张图片已匹配的标签结果T中的前景概率集合,
类别损失的计算公式(5)如下:
Losscls=HRL(Pcls,Tcls) (5)
式中,Losscls表示类别损失,Pcls表示整张图片所有已匹配的预测结果P中的类别概率集合,Tcls表示整张图片所有已匹配的标签结果T中的前景概率集合;
将经过计算的预测框位置损失、前景损失和类别损进行加权求和,得到最终的损失,其计算公式(5)如下:
Losstotal=Wbox Lossbox+Wobj Lossobj+WclsLosscls。
在本实施例中,利用优化器通过误差与目标检测模型的梯度信息对目标检测模型参数进行优化调整,重复此步骤直至模型预测结果的准确率不再提升,包括:
遍历预先训练好的目标检测模型的每一层计算模块,判断该模块是否是可重参数化的模块,若是,则进行重参数化以减少模型参数,重复此步骤直至模型预测结果的准确率不再提升。
步骤4;将训练完成的目标检测模型转化为量化模型并将量化模型部署在边缘设备上,对使用场景中的视频流进行目标检测。
由于使用了大量的可重参数化的结构,本发明在部署时对模型进行重参数化,在完全不损失模型准确度的同时缩减了模型的参数,并且大幅提高了模型结构的并行度,从而在没有任何代价的情况下提高了模型在边缘计算设备上的运行速度。
其中,将训练完成的目标检测模型转化为量化模型并将量化模型部署在边缘设备上,对使用场景中的视频流进行目标检测,包括:
S1:通过模型量化工具转换为用于部署的量化模型Model。
进一步的,模型量化工具,例如:英伟达公司的TensorRT,因特尔的OpenVINO,谷歌的TFLite等。
S2:获取视频流,预设图像输入尺寸、置信度阈值和重合度阈值。
进一步的,获取视频流Video Stream,确定图像输入尺寸size,设置置信度阈值confidence_threshold,设置重合度阈值iou_threshold。
S3:从视频流中提取当前帧图像,将当前帧图像经过预处理后输入到量化模型Model中,经量化模型Model推理后得到多个目标信息。
进一步的,从视频流中提取当前帧图像,将图像经过预处理(缩放为size相同大小)后输入到模型中,模型推理后得到多个目标信息,每个目标信息用6维向量表示,如:[cx,cy,w,h,confidence,class_id]。
S4:过滤掉所有置信度小于置信度阈值的目标,判断剩余目标两两之间的目标框重合度,若重合度高于重合度阈值,则判定两个目标框预测的是同一个目标,并将两者中置信度较低的结果过滤掉。
进一步的,过滤掉所有confidence<confidence_threshold(即置信度小于置信度阈值)的目标,计算剩余目标两两之间的目标框重合度,如果重合度高于重合度阈值iou_threshold,则认为两个目标框预测的是同一个目标,并将两者中置信度较低的结果过滤掉。
S5:将剩余目标结果作为最终的结果,并显示在图像上,重复上述步骤,直至视频流结束。
进一步的,将剩余目标结果作为最终的结果,并显示在图像上,重复步骤S3-S5,直至视频流结束。
测试结果检验:目前轻量化模型中最先进的是YOLOv6,本发明在目标检测通用数据集MS COCO2017上与之进行比较。AP50表示目标框重合度阈值为50%时模型的平均准确度(Average Precision),这是工业界常用的指标之一。同时,本发明还比较了模型的参数量和输入图像大小为640×640时的浮点运算数(FLOPs,可用于衡量模型所需计算量),具体的测试结果如下表1。
表1测试结果
由上表1可以看出,本发明涉及的目标检测方法,能够以更少的模型参数和更小的模型计算量,获得更高的检测准确率。
另外,通过实验发现,本发明涉及的模型准确度的提升主要来源于对小目标检测效果的大幅提升,利用无人机拍摄数据集VisDrone2019-DET,重新进行训练,按照发明内容所述的方法步骤,对道路上的车辆和人员(即小目标)进行检测,小目标检测效果如附图7所示,都可以很准确地识别出来。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
Claims (8)
1.一种应用于边缘设备的实时目标检测方法,其特征在于:包括:
构建目标检测模型,目标检测模型为骨干网络和检测头网络顺序连接组成的端到端一体化网络,此时的目标检测模型未经过训练;其中,利用骨干网络对图像进行特征提取处理,输出图像相应的特征信息;利用检测头网络对完成提取的特征信息进行解码,输出包含所有目标的位置信息、类别和置信度信息的预测结果集合;
选择数据集,对数据集进行数据增强处理,得到经过数据增强后的图像以及相应的标签数据集合;
将数据增强后的图像输入构建的目标检测模型;将目标检测模型输出的预测结果集合和标签数据集合利用损失函数进行比对,计算预测结果和标签数据的误差,利用优化器通过误差与目标检测模型的梯度信息对目标检测模型参数进行优化调整,重复此步骤直至模型预测结果的准确率不再提升;
将训练完成的目标检测模型转化为量化模型并将量化模型部署在边缘设备上,对使用场景中的视频流进行目标检测。
2.根据权利要求1所述的一种应用于边缘设备的实时目标检测方法,其特征在于,所述骨干网络包括多个可重参数化的Rep-ELAN网络结构;沿着多尺度源图像输入的特征提取路径展开,特征提取路径上的每个Rep-ELAN网络结构包含Conv卷积、Rep-Conv卷积和DWConv卷积操作,对输入图像进行特征提取得到特征信息。
3.根据权利要求1所述的一种应用于边缘设备的实时目标检测方法,其特征在于,所述检测头网络包括多个Lite-Efficient-Decoupled-Head检测头结构,沿着一条融合了骨干网络连接输入的特征解码路径展开,特征解码路径上的每个Lite-Efficient-Decoupled-Head检测头结构包含1×1卷积、3×3卷积、权重和偏置操作,对特征提取路径输出的特征信息进行解码,输出包含所有目标的位置信息、类别和置信度信息的预测结果集合。
4.根据权利要求1所述的一种应用于边缘设备的实时目标检测方法,其特征在于,所述对数据集进行数据增强处理,得到经过数据增强后的图像以及相应的标签数据集合,包括:
从数据集中不重复地抽取4×n+1张图片,保留1张图片,其余每4张图片分为一组基于Mosaic数据增强进行拼接,得到n张图片,再分别对这n张图片按S2A中设置的参数进行镜像、旋转、HSV增强和尺度变换操作;
对保留的图片进行小幅度的数据增强;
将生成的n张图片和经过小幅度数据增强处理后的1张图片进行Mixup数据增强的混合操作得到最终的图像,将该图像与变换后的相应的标签数据输入至目标检测模型。
5.根据权利要求1所述的一种应用于边缘设备的实时目标检测方法,其特征在于,所述将输出的预测结果和标签数据利用损失函数进行比对,计算预测结果和标签数据的误差,包括:
输入和预设参数,其中,输入的参数包含预测结果集合P0和标签结果集合T0,预设的参数包括目标框损失权重Wbox、前景损失权重Wobj和类别损失权重Wcls;
对标签结果集合T0中的每一个目标框ti,在预测结果集合P0中遍历与其重合度最大的结果pi,两者匹配后分别从预测结果集合P0和标签结果集合T0放入集合匹配的整张图片所有预测结果集合P和整张图片所有标签结果集合T中;
当标签结果集合T0中所有结果均已匹配,丢弃预测结果集合P0中剩余未匹配的结果;
对匹配后的张图片所有预测结果集合P和整张图片所有标签结果集合T利用损失函数进行预测框位置损失、前景损失和类别损失的计算;
将经过计算的预测框位置损失、前景损失和类别损进行加权求和,得到最终的损失。
6.根据权利要求5所述的一种应用于边缘设备的实时目标检测方法,其特征在于,利用损失函数进行对比计算过程中,对于单个预设结果的损失函数,其公式(1)如下:
hrl(p,t)=[4(1-p)2r+(1-r)]tlog(p)+[12p2r+(1-r)](1-t)log(1-p)(1)
式中,p表示预测结果,t表示目标结果,r为0-1之间的随机数;
根据上述公式(1),将每一个结果的损失函数求和取平均值得到整张图片的损失函数,其公式(2)如下:
式中,P表示整张图片所有预测结果集合,T表示整张图片所有标签结果集合,K表示整张图片预测结果和标签结果匹配的数量;
基于边框回归损失函数sIOU计算预测框位置损失,预测框位置损失的计算公式(3)如下:
Lossbox=sIOU(Pbox,Tbox)(3)
式中,Lossbox表示预测框位置损失,Pbox表示整张图片所有已匹配的预测结果P中的目标框位置集合,Tbox表示整张图片所有已匹配的标签结果T中的目标框位置集合,
基于公式(2)计算前景损失和类别损失,前景损失的计算公式(4)如下:
Lossobj=HRL(Pobj,Tobj)(4)
式中,Lossobj表示前景损失,Pobj表示整张图片所有已匹配的预测结果P中的前景概率集合,Tobj表示整张图片已匹配的标签结果T中的前景概率集合,
类别损失的计算公式(5)如下:
Losscls=HRL(Pcls,Tcls)(5)
式中,Losscls表示类别损失,Pcls表示整张图片所有已匹配的预测结果P中的类别概率集合,Tcls表示整张图片所有已匹配的标签结果T中的前景概率集合。
7.根据权利要求1所述的一种应用于边缘设备的实时目标检测方法,其特征在于,所述利用优化器通过误差与目标检测模型的梯度信息对目标检测模型参数进行优化调整,重复此步骤直至模型预测结果的准确率不再提升,包括:
遍历预先训练好的目标检测模型的每一层计算模块,判断该模块是否是可重参数化的模块,若是,则进行重参数化以减少模型参数。
8.根据权利要求1所述的一种应用于边缘设备的实时目标检测方法,其特征在于,所述将训练完成的目标检测模型转化为量化模型并将量化模型部署在边缘设备上,对使用场景中的视频流进行目标检测,包括:
通过模型量化工具转换为用于部署的量化模型Model;
获取视频流,预设图像输入尺寸、置信度阈值和重合度阈值;
从视频流中提取当前帧图像,将当前帧图像经过预处理后输入到量化模型Model中,经量化模型Model推理后得到多个目标信息;
过滤掉所有置信度小于置信度阈值的目标,判断剩余目标两两之间的目标框重合度,若重合度高于重合度阈值,则判定两个目标框预测的是同一个目标,并将两者中置信度较低的结果过滤掉;
将剩余目标结果作为最终的结果,并显示在图像上,重复上述步骤,直至视频流结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310144010.1A CN116363552A (zh) | 2023-02-17 | 2023-02-17 | 一种应用于边缘设备的实时目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310144010.1A CN116363552A (zh) | 2023-02-17 | 2023-02-17 | 一种应用于边缘设备的实时目标检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116363552A true CN116363552A (zh) | 2023-06-30 |
Family
ID=86917691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310144010.1A Pending CN116363552A (zh) | 2023-02-17 | 2023-02-17 | 一种应用于边缘设备的实时目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116363552A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117689041A (zh) * | 2024-01-26 | 2024-03-12 | 西安电子科技大学 | 云端一体化的嵌入式大语言模型训练方法及语言问答方法 |
-
2023
- 2023-02-17 CN CN202310144010.1A patent/CN116363552A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117689041A (zh) * | 2024-01-26 | 2024-03-12 | 西安电子科技大学 | 云端一体化的嵌入式大语言模型训练方法及语言问答方法 |
CN117689041B (zh) * | 2024-01-26 | 2024-04-19 | 西安电子科技大学 | 云端一体化的嵌入式大语言模型训练方法及语言问答方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977918B (zh) | 一种基于无监督域适应的目标检测定位优化方法 | |
Cai et al. | A modified YOLOv3 model for fish detection based on MobileNetv1 as backbone | |
CN111768388B (zh) | 一种基于正样本参考的产品表面缺陷检测方法及系统 | |
CN112801169B (zh) | 一种基于改进yolo算法的伪装目标检测方法、系统、装置及存储介质 | |
CN111950453A (zh) | 一种基于选择性注意力机制的任意形状文本识别方法 | |
CN111898432B (zh) | 一种基于改进YOLOv3算法的行人检测系统及方法 | |
CN112837297B (zh) | 一种渐进式多尺度的颅面骨骨折检测方法 | |
CN112215079B (zh) | 一种全局多阶段目标跟踪方法 | |
Li et al. | Small target deep convolution recognition algorithm based on improved YOLOv4 | |
CN115131760A (zh) | 一种基于改进特征匹配策略的轻量级车辆追踪方法 | |
CN116363552A (zh) | 一种应用于边缘设备的实时目标检测方法 | |
CN116977844A (zh) | 一种轻量级水下目标实时检测方法 | |
CN116503399A (zh) | 基于yolo-afps的绝缘子污闪检测方法 | |
CN116524189A (zh) | 一种基于编解码索引化边缘表征的高分辨率遥感图像语义分割方法 | |
CN114529552A (zh) | 一种基于几何轮廓顶点预测的遥感影像建筑物分割方法 | |
CN108804581B (zh) | 一种基于深度学习的同类物体检索方法及系统 | |
CN113327253A (zh) | 一种基于星载红外遥感影像的弱小目标检测方法 | |
CN110781817B (zh) | 一种解决部件不对齐的行人再识别方法 | |
CN117173547A (zh) | 一种基于改进的YOLOv6算法的水下目标检测方法 | |
CN117173449A (zh) | 基于多尺度detr的航空发动机叶片缺陷检测方法 | |
CN113887455B (zh) | 一种基于改进fcos的人脸口罩检测系统及方法 | |
Tsai et al. | Deep Learning Based AOI System with Equivalent Convolutional Layers Transformed from Fully Connected Layers | |
CN115410131A (zh) | 一种用于短视频智能分类的方法 | |
CN112487927B (zh) | 一种基于物体关联注意力的室内场景识别实现方法及系统 | |
CN114819140A (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 |