CN116524328A - 基于改进的轻量化网络的目标识别方法及系统 - Google Patents
基于改进的轻量化网络的目标识别方法及系统 Download PDFInfo
- Publication number
- CN116524328A CN116524328A CN202310773052.1A CN202310773052A CN116524328A CN 116524328 A CN116524328 A CN 116524328A CN 202310773052 A CN202310773052 A CN 202310773052A CN 116524328 A CN116524328 A CN 116524328A
- Authority
- CN
- China
- Prior art keywords
- fln
- model
- training
- network
- feature
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012549 training Methods 0.000 claims abstract description 49
- 238000001514 detection method Methods 0.000 claims abstract description 30
- 238000012360 testing method Methods 0.000 claims abstract description 18
- 238000005070 sampling Methods 0.000 claims abstract description 11
- 238000013139 quantization Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 49
- 238000011176 pooling Methods 0.000 claims description 9
- 230000003416 augmentation Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 claims description 5
- 238000013135 deep learning Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect 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
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
- 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
- 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)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (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
本发明涉及目标识别技术领域,尤其涉及一种基于改进的轻量化网络的目标识别方法及系统。方法包括:拍摄图像作为数据集,按比例划分训练集和测试集;对所述训练集进行正则化处理;构建基于轻量化网络的多尺度特征检测网络,使特征图经过3个FLN Layer提取特征后,上采样或下采样、拼接,再经过SPP层;构建SIOULOSS损失函数;初始化模型参数;通过所述数据集对所述FLN模型进行多轮训练,每轮训练中按照所述SIOULOSS损失函数计算损失值,训练迭代直至损失值趋于稳定;经过推理量化最终得到预期的模型文件;将待测图片输入训练好的FLN模型中,进行识别与检测。优点在于:模型尺寸小,识别精度和效率高。
Description
技术领域
本发明涉及目标识别技术领域,尤其涉及一种基于改进的轻量化网络的目标识别方法及系统。
背景技术
伴随着深度神经网络模型深度的叠加,精度并未随着模型深度的增加呈线性增长,因此现有的目标检测与物体识别技术大多采用复杂度较高,成本昂贵的芯片,但在低资源成本的成本上难以实现造成资源的浪费。并且网络模型的高存储与高功耗弊端,这使得它们在嵌入式设备、移动设备等资源受限的环境中难以部署和运行。并且由于模型大小的冗余,传统神经网络通常具有较慢的推理速度,因此它们在实时应用与交互式应用中难以使用。
随着人工智能的发展,采用嵌入式设备或移动设备实现运动目标检测的需求也逐渐增多,例如医院和火车站中的人脸识别装置以及一些智能对话机器人设备,因此实现对目标更便捷的识别越来越重要。而传统神经网络通常具有更多的参数和更深的网络结构,这使得它们更难以训练和优化。这可能需要更多的计算资源和更长的训练时间,并在一些实时交互设备上难以实现实时交互,例如在嵌入式设备上难以对视频流进行实时目标检测,在移动设备上进行文本分类或情感分析上难以实现实时语音处理。
针对上述不足,目前,国内外也有很多相关的解决方案,主要是发明专利。中国专利申请CN115810129A《一种基于轻量化网络的物体分类方法》构建了一个轻量化的网络,通过预设多个膨胀率对待识别物体图像进行空洞卷积得到不同的图像特征,然后以自适应权重赋值的方法对图像特征赋予权重进行特征融合并输出分类结果。该方法可以缓解卷积网络的模型冗余,但是其采用的模型与训练策略较为单一,识别精度并不是很高。中国专利申请CN114821383A《基于轻量化网络的视频运动目标检测方法及系统》公开了一种基于SSD网络结构的轻量化模型,所述SSD网络结构采用作者本人设计的LightNet轻量化网络进行特征提取,最后经过卷积核将通道降维后连接残差单元输出特征图。不过该方法中的LightNet网络结构占用5 .2MB的存储空间,甚至超过了模型大小为3.9MB的yolov5n模型大小,与我们设计的FLN网络结构仅有不到500Kb相比,显得十分冗余。中国专利申请CN115953743A《一种基于改进的YOLO模型的车位状态识别方法》了一种公开的主干网络CSPDarknet53-tiny替换为轻量化网络mobilenetv3,将EIOU损失函数替换原来的CIOU损失函数,实现了对车位状态检测的速度。该方法实现了快速检测车位的状态,但是模型大小较大,如果在嵌入式设备或移动设备上的检测速度可能会不及预期。另外,在《MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Applications》中公开了一种轻量化的卷积神经网络MobileNet,它可以在移动设备上实现实时图像分类和目标检测。但是其使用深度可分离卷积来减少计算量使用以及使用1×1卷积核来减少通道数,导致了低分辨率的特征图以及部分信息的丢失,从而影响了网络预测与识别的准确率。
上述所提到的方法都可实现卷积神经网络的轻量化操作,通过重构模型结构进行模型大小的缩减。但在目前最流行的ARM Cortex-M系列微型计算机中,其ROM通常为16Kb至2MB,上述模型均不能写入该微型计算机中。或者说上述所提到的方法,不管是通过修改模块、或设计新的模型来进行轻量化,均没有将模型极致的量化。
例如ShuffleNet、GhostNet中的通道混淆操作,主要思路就是将特征图进行比例分割。在原有的卷积操作中,对一个完整的特征图进行卷积操作的计算量要远大于将一个特征图分割之后再卷积操作的计算量,可以理解为加法的计算资源的占用远小于乘法的计算资源占用。从理论上来讲,将特征图分割的越多(可以理解为shuffle通道越多),算力消耗越小,相应的模型大小也越小,但是实际情况却是特征图分割的越多,并没有按预期随模型的大小降低而一直提高精度,反而造成了模型的退化问题。因此,如何实现模型压缩、同时提高目标识别精度和识别效率,是本领域亟待解决的技术问题。
发明内容
本发明为解决上述问题,提供一种基于改进的轻量化网络的目标识别方法及系统。
本发明第一目的在于提供一种基于改进的轻量化网络的目标识别方法,具体包括如下步骤:
S1、数据集的构建:拍摄任意大小的具有同类特征的图像作为数据集,标注数据集并按比例划分训练样本与测试样本,分别作为训练集和测试集;
S2、数据集预处理:对所述训练集进行正则化处理,进行图像增广操作;
S3、建立FLN模型:构建基于轻量化网络的多尺度特征检测网络,使特征图经过3个FLN Layer提取特征后,经过上采样或下采样后进行拼接,再经过SPP层,得到FLN模型;
S4、构建SIOULOSS损失函数;
S5、训练FLN模型:初始化模型参数;通过所述数据集对所述FLN模型进行多轮训练,每轮训练中按照所述SIOULOSS损失函数计算损失值,训练迭代直至所述FLN模型的损失值趋于稳定,获得最优轻量化目标检测网络模型;
S6、模型的量化推理:将所述FLN模型经过推理量化最终得到预期的模型文件,即训练好的FLN模型;
S7、进行目标的检测:将待测图片输入训练好的FLN模型中,进行识别与检测,得到识别检测后的结果。
优选的,步骤S3中的基于轻量化网络的多尺度特征检测网络包括FLN backbone部分、Neck部分和detection部分;所述FLN backbone部分包括N个FLN Layer层,每层中堆叠不同的FLN Block;所述Neck部分包括三个特征尺度;所述detection部分根据设置的Anchor在各层级特征图上对目标进行检测。
优选的,FLN backbone部分包括3个FLN Layer层FLN Layer1、FLN Layer2和FLNLayer3,所述FLN Layer1、FLN Layer2和FLN Layer3分别由4个、8个和4个FLN Block堆叠而成。
优选的,步骤S3具体包括如下步骤:
S301、首先将输入特征图片经过一个CBL模块中进行通道升维处理,通道维数由3变为24;
S302、升维后进入FLN Layer1层中,输入分别经过由CBL模块组成的特征提取卷积层后在通道维度进行拼接实现特征融合,此时特征图通道数为48;
S303、再进行通道Shuffle混淆操作,将通道数48分割成N组通道;
S304、特征图分别通过所述的N个FLN Layer层,得到特征图P1、P2、……PN;
S305、将特征图P1、P2、……PN进行拼接实现特征融合,通过SPP层,对特征图实现空间金字塔池化操作,减小特征图的尺寸并提高网络的感受野,进而提高网络的计算效率和准确率;
S306、通过一个卷积层,FLN模型成功构建完成。
优选的,特征图通过FLN Layer1后,再通过一个平均池化层得到特征图P1;所述特征图通过FLN Layer3,再通过上采样,得到特征图P3。
优选的,步骤S4中的SIOU损失函数由4个成本函数组成,分别为角度成本、距离成本、形状成本和IOU成本函数,所述SIOU损失函数表达式为:
;
其中,Δ为距离成本函数,Ω为形状成本函数;
各个成本函数的表达式如下所示:
角度成本函数:;
;
其中表示GT的中心位置的横坐标与纵坐标,而/>与/>表示预测框中心位置的横坐标与纵坐标;x表示GT中心位置与预测框中心位置夹角的正弦值,c h表示GT中心位置纵坐标与预测框中心位置纵坐标的距离,σ表示GT中心位置与预测框中心位置的距离;
距离成本函数:;
;
其中,c w表示GT与预测框的最小外接矩形的长度,c h表示GT与预测框的最小外接矩形的宽度,ρ x表示GT与预测框的横坐标距离成本,ρ y表示GT与预测框的纵坐标距离成本,γ表示距离成本贡献度;
形状成本函数:;
;
其中,w表示GT的宽度,w gt表示预测框的宽度,h表示GT的高度,h gt表示预测框高度,ω表示形状损失度,θ表示控制对形状损失的关注程度;
IOU成本函数:;
其中,B表示预测框面积,B GT表示GT面积。
优选的,步骤S5中的初始化模型参数设置为:学习率设为0.0001,NMS阈值设为0.25,batch_size设为64,epoch迭代次数为800。
优选的,步骤S6中的量化推理,是将FLN模型先进行ONNX推理,将不同深度学习框架中训练好的模型转换为统一的ONNX格式,再经过NCNN推理量化。
优选的,训练集和测试集的比例为8:2。
优选的,步骤S2中的图像增广包括水平翻转和几何变化。
本发明第二目的在于提供一种基于改进的轻量化网络的目标识别系统,用于执行所述的基于改进的轻量化网络的目标识别方法,包括:
数据预处理模块,用于采集任意大小的具有同类特征的图像作为数据集,标注并按比例划分训练集和测试集;对训练集进行正则化处理,进行图像增广操作;
模型构建模块,用于将特征图像经过N个FLN Layer提取特征后,经过上采样或下采样后进行拼接,再经过SPP层,得到FLN模型;
模型训练模块,用于利用所述训练集和所述测试集对FLN模型进行训练和测试,得到训练后的轻量化网络模型;
量化推理模块,用于将FLN模型经过NCNN推理量化最终得到预期的模型文件;
目标识别模块,用于利用训练后的轻量化网络模型对目标进行识别。
与现有技术相比,本发明能够取得如下有益效果:
(1)构建轻量化网络:结合ShuffleNet与GhostNet中的Shuffle思想,通过对特征图通道的分割,以及对每个通道进行特征提取,使得不同通道的特征相互融合,从而得到更加丰富的特征表示;由于将通道分组并行后,每个分组内的通道数目表少,从而减少了卷积操作的计算量;并且在每个通道的特征提取器中,采用残差神经网络将输入通过一个前向通路连接到非线形层的输出上,使得模型不会由于通道数的增多而退化;考虑到通道数的增多,所需构建的模型深度也相应增大;为构造一个轻量化的网络,本发明中在Shuffle模块采取3个通道,既可以降低卷积操作的计算量,也提高了模型的精度。
(2)加快模型推理速度:相比于GIOU、CIOU、ICIOU等损失函数,引入角度成本正则项实现对损失函数的柔性限制,有效缓解了梯度爆炸与梯度消失,并加快了模型的收敛速度及响应速度。
(3)模型推理速度极快,模型大小极小:模型训练完成后分别通过ONNX推理及NCNN推理后,模型大小低于500KB,并且该模型推理速度极快,当FLB中通道数设为3时,该模型在CPU中的运行推理速度仅有10.45ms。
(4)应用场景广泛,可应用于医院、车站、停车场等对车辆、人脸、物体等的识别与检测,具有很大市场前景。
附图说明
图1是根据本发明实施例提供的基于改进的轻量化网络的目标识别方法流程图。
图2是根据本发明实施例提供的FLN模型图。
图3是根据本发明实施例提供的FLN模型预测结果;A、FLB模块通道数为2时预测结果;B、FLB模块通道数为3时预测结果。
具体实施方式
在下文中,将参考附图描述本发明的实施例。在下面的描述中,相同的模块使用相同的附图标记表示。在相同的附图标记的情况下,它们的名称和功能也相同。因此,将不重复其详细描述。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。
实施例1
本实施例提供了一种基于改进的轻量化网络的目标识别方法,具体包括如下步骤:
S1、数据集的构建:拍摄任意大小的具有同类特征的图像作为数据集,标注数据集并以8比2的比例划分训练样本与测试样本,分别作为训练集和测试集;
S2、数据集预处理:为了使得图像更加符合格式要求、使样本多样性,对训练数据集进行正则化处理,主要操作是对训练数据集进行图像增广操作,主要包括水平翻转和几何变化;
S3、建立FLN模型:构建基于轻量化网络的多尺度特征检测网络,使特征图经过3个FLN Layer提取特征后,经过上采样或下采样后进行拼接,再经过SPP(Spatial PyramidPooling)层,得到FLN模型;
S4、构建损失函数SIOULOSS(SCYLLA-IOU LOSS);
S5、训练FLN模型:初始化模型参数,利用SGD(Stochastic Gradient Descent)优化器对模型参数进行迭代更新;将初始参数设置为:学习率设为0.0001,NMS阈值设为0.25,batch_size设为64,epoch迭代次数为800;在初始的100轮epoch中对学习率进行预热,将学习率由0.0001逐渐增大至0.001,从而让模型更快地收敛到最优解,提高模型的训练效果;之后每隔50个epoch迭代后将学习率衰减为原来的0.5倍;每轮训练按照所述SIOULOSS损失函数计算损失值,经过多次迭代后损失值会趋于稳定,保存此时的网络模型参数;
所述学习率以比较大的值0.001开始,目的是为了让开始训练时下降速度更快,而后续学习率逐渐衰减变小是为了让模型能够尽快收敛;
S6、模型的量化推理:将FLN模型先进行ONNX推理,将不同深度学习框架中训练好的模型转换为统一的ONNX格式,从而实现跨平台的模型部署和推理,再经过NCNN推理量化最终得到预期的模型文件,即训练好的FLN模型;
由于ONNX是一种跨平台、跨框架的模型表示格式,可以在不同的硬件和软件环境中运行和部署模型,可以使模型具有更广泛的应用场景和更高的可移植性。因此使用Pytorch官方提供的ONNX推理框架将模型推理成ONNX格式;考虑到NCNN提供了更高效的计算操作和优化技术,我们将ONNX格式模型通过NCNN推理成param与bin格式的模型,最终模型的大小param为464KB,bin为14KB,模型总大小为478KB;
S7、进行目标的检测:将待测图片输入训练好的FLN模型中,进行识别与检测,得到识别检测后的结果(流程图如图1所示)。
具体的,所述步骤S3中的基于轻量化网络的多尺度特征检测网络包括FLNbackbone部分、Neck部分和detection部分;所述FLN backbone部分包括三个FLN Layer层,每层中堆叠不同的FLN Block;所述Neck部分是一个完整的BiFPN形式,包括三个特征尺度;所述detection部分根据设置的Anchor在各层级特征图上对目标进行检测;模型整体框架如图2所示;具体包括:
S301、首先将输入特征图片经过一个CBL模块中进行通道升维处理,通道维数由3变为24;
S302、升维后进入FLN Layer1层中,输入分别经过由CBL模块组成的特征提取卷积层后在通道维度进行拼接实现特征融合,此时特征图通道数为48;
S303、再进行通道Shuffle混淆操作,将通道数48分割成3组通道;将通道分组并行后,每个分组内的通道数目变少,从而减少了卷积操作的计算量;由于不同的通道往往具有不同的特征信息,通过Shuffle模块对特征图进行分割操作可以使得不同通道的特征相互融合,从而得到更加丰富的特征表示;
每个所述的通道分别进入由CBL模块组成的特征提取器,即Shuffle后不同通道进行的卷积操作是根据通道数目的不同进行CBL模块的线性叠加;理论上对通道的分割越多,卷积操作的计算量越小,这一点和ShuffleNet网络较为相似,但在ShuffleNet网络中在对通道数进行3次分割之后模型就开始了退化,而在本发明设计的FLN Block中,由于我们的特征提取器是根据通道数目的不同进行线性叠加的,通过从输入直接引入一个前向通路连接到非线性层的输出上,使得模型搭建的更深进而消除退化现象,和残差神经网络较为相似;
重复进行4次FLN Block,通过第一层FLN Layer1,此时特征图的形状为44*44*192;
S304、将通过FLN Layer1的特征图通过一个平均池化层(avgpool)得到特征图P1,进而缩减特征图的尺寸使之可以与其他特征图进行拼接融合;
S305、特征图通过FLN Layer2,得到特征图P2,形状为22*22*96;所述FLN Layer2由8个FLN Block堆叠而成;
S306、特征图通过FLN Layer3,再通过上采样,得到特征图P3,形状为11*11*48;所述FLN Layer3由4个FLN Block堆叠而成;
S307、将特征图P1、P2和P3进行拼接实现特征融合,通过SPP(Spatial PyramidPooling)模块,对特征图实现空间金字塔池化操作,减小特征图的尺寸并提高网络的感受野,进而提高网络的计算效率和准确率;
S308、通过一个卷积层,FLN模型成功构建完成。
具体的,所述步骤S4中的SIOU损失函数由4个成本函数组成,分别为角度成本、距离成本、形状成本和IOU成本函数,各个成本函数的表达式如下所示:
SIOULOSS定义为:
;
其中,Δ为距离成本函数,Ω为形状成本函数;
角度成本函数:模型先在X或Y轴做预测(以最接近者为准),然后沿着相关轴继续接近;要实现这一点,收敛过程将首先尝试最小化α,如果α≤,则最小化/>,为了实现这一过程,引入角度损失函数并定义为:
;
;
其中表示GT的中心位置的横坐标与纵坐标,而/>与/>表示预测框中心位置的横坐标与纵坐标;x表示GT中心位置与预测框中心位置夹角的正弦值,c h表示GT中心位置纵坐标与预测框中心位置纵坐标的距离,σ表示GT中心位置与预测框中心位置的距离;
距离成本函数:重新定义距离成本函数时考虑了上述定义的角度成本函数;为了实现这一过程,引入角度损失函数并定义为:
;
;
其中,c w表示GT与预测框的最小外接矩形的长度,c h表示GT与预测框的最小外接矩形的宽度,ρ x表示GT与预测框的横坐标距离成本,ρ y表示GT与预测框的纵坐标距离成本,γ表示距离成本贡献度;可以看出,当α接近于0时,距离成本的贡献大大降低;相反,当α接近时,其贡献最大;所以随着角度的增加,γ根据距离值被赋予时间优先权。
形状成本函数定义为:
;
;
其中,w表示GT的宽度,w gt表示预测框的宽度,h表示GT的高度,h gt表示预测框高度,ω表示形状损失度,θ表示控制对形状损失的关注程度、是一个可调参量;
IOU成本函数定义为:
;
其中,B表示预测框面积,B GT表示GT面积。
原理:传统的目标检测损失函数依赖于边界框回归指标的聚合,例如预测框和GT(即GIOU、CIOU、ICIOU等)的距离、重叠区域和纵横比。然而,迄今为止提出和使用的方法都没有考虑GT与预测检测框之间不匹配的方向。这种短缺导致收敛速度较慢且效率较低,因为预测框可能在训练过程中“四处游荡”并最终产生更差的模型。考虑到所需回归之间的向量角度,重新定义了惩罚指标来构建损失函数。
相比于传统方法,利用本发明的方法,在模型训练完成后分别通过ONNX推理及NCNN推理后,模型大小仅有478KB,并且该模型推理速度极快;当FLB中通道数设为3时,该模型在CPU中的运行推理速度仅有10.45ms;更改FLN Block中通道数量,当通道数为2时的推理速度为12.43ms;预测结果如下图3所示。
实施例2
本实施例提供了一种基于改进的轻量化网络的目标识别系统,用于执行基于改进的轻量化网络的目标识别方法,包括:
数据预处理模块,用于采集任意大小的具有同类特征的图像作为数据集,标注并按比例划分训练集和测试集;对训练集进行正则化处理,进行图像增广操作,包括水平翻转和几何变化;
模型构建模块,用于将特征图像经过3个FLN Layer提取特征后,经过上采样或下采样后进行拼接,再经过SPP(Spatial Pyramid Pooling),得到FLN模型;
模型训练模块,用于利用训练集和测试集对FLN模型进行训练和测试,得到训练后的轻量化网络模型;
量化推理模块,用于将FLN模型先进行ONNX推理,将不同深度学习框架中训练好的模型转换为统一的ONNX格式,再经过NCNN推理量化最终得到预期的模型文件;
目标识别模块,用于利用训练后的轻量化网络模型对目标进行识别。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (11)
1.基于改进的轻量化网络的目标识别方法,其特征在于,具体包括如下步骤:
S1、数据集的构建:拍摄任意大小的具有同类特征的图像作为数据集,标注数据集并按比例划分训练样本与测试样本,分别作为训练集和测试集;
S2、数据集预处理:对所述训练集进行正则化处理,进行图像增广操作;
S3、建立FLN模型:构建基于轻量化网络的多尺度特征检测网络,使特征图经过3个FLNLayer提取特征后,经过上采样或下采样后进行拼接,再经过SPP层,得到FLN模型;
S4、构建SIOULOSS损失函数;
S5、训练FLN模型:初始化模型参数;通过所述数据集对所述FLN模型进行多轮训练,每轮训练中按照所述SIOULOSS损失函数计算损失值,训练迭代直至所述FLN模型的损失值趋于稳定,获得最优轻量化目标检测网络模型;
S6、模型的量化推理:将所述FLN模型经过推理量化最终得到预期的模型文件,即训练好的FLN模型;
S7、进行目标的检测:将待测图片输入训练好的FLN模型中,进行识别与检测,得到识别检测后的结果。
2.根据权利要求1所述的基于改进的轻量化网络的目标识别方法,其特征在于:所述步骤S3中的基于轻量化网络的多尺度特征检测网络包括FLN backbone部分、Neck部分和detection部分;所述FLN backbone部分包括N个FLN Layer层,每层中堆叠不同的FLNBlock;所述Neck部分包括三个特征尺度;所述detection部分根据设置的Anchor在各层级特征图上对目标进行检测。
3.根据权利要求2所述的基于改进的轻量化网络的目标识别方法,其特征在于:所述FLN backbone部分包括3个FLN Layer层FLN Layer1、FLN Layer2和FLN Layer3,所述FLNLayer1、FLN Layer2和FLN Layer3分别由4个、8个和4个FLN Block堆叠而成。
4.根据权利要求3所述的基于改进的轻量化网络的目标识别方法,其特征在于,所述步骤S3具体包括如下步骤:
S301、首先将输入特征图片经过一个CBL模块中进行通道升维处理,通道维数由3变为24;
S302、升维后进入FLN Layer1层中,输入分别经过由CBL模块组成的特征提取卷积层后在通道维度进行拼接实现特征融合,此时特征图通道数为48;
S303、再进行通道Shuffle混淆操作,将通道数48分割成N组通道;
S304、特征图分别通过所述的N个FLN Layer层,得到特征图P1、P2、……PN;
S305、将特征图P1、P2、……PN进行拼接实现特征融合,通过SPP层,对特征图实现空间金字塔池化操作,减小特征图的尺寸并提高网络的感受野,进而提高网络的计算效率和准确率;
S306、通过一个卷积层,FLN模型成功构建完成。
5.根据权利要求4所述的基于改进的轻量化网络的目标识别方法,其特征在于:所述特征图通过FLN Layer1后,再通过一个平均池化层得到特征图P1;所述特征图通过FLNLayer3,再通过上采样,得到特征图P3。
6.根据权利要求1-5任意一项所述的基于改进的轻量化网络的目标识别方法,其特征在于:所述步骤S4中的SIOU损失函数由4个成本函数组成,分别为角度成本、距离成本、形状成本和IOU成本函数,所述SIOU损失函数表达式为:
;
其中,Δ为距离成本函数,Ω为形状成本函数;
各个成本函数的表达式如下所示:
角度成本函数:;
;
其中表示GT的中心位置的横坐标与纵坐标,而/>与/>表示预测框中心位置的横坐标与纵坐标;x表示GT中心位置与预测框中心位置夹角的正弦值,c h表示GT中心位置纵坐标与预测框中心位置纵坐标的距离,σ表示GT中心位置与预测框中心位置的距离;
距离成本函数:;
;
其中,c w表示GT与预测框的最小外接矩形的长度,c h表示GT与预测框的最小外接矩形的宽度,ρ x表示GT与预测框的横坐标距离成本,ρ y表示GT与预测框的纵坐标距离成本,γ表示距离成本贡献度;
形状成本函数:;
;
其中,w表示GT的宽度,w gt表示预测框的宽度,h表示GT的高度,h gt表示预测框高度,ω表示形状损失度,θ表示控制对形状损失的关注程度;
IOU成本函数:;
其中,B表示预测框面积,B GT表示GT面积。
7.根据权利要求6所述的基于改进的轻量化网络的目标识别方法,其特征在于:所述步骤S5中的初始化模型参数设置为:学习率设为0.0001,NMS阈值设为0.25,batch_size设为64,epoch迭代次数为800。
8.根据权利要求7所述的基于改进的轻量化网络的目标识别方法,其特征在于:所述步骤S6中的量化推理,是将FLN模型先进行ONNX推理,将不同深度学习框架中训练好的模型转换为统一的ONNX格式,再经过NCNN推理量化。
9.根据权利要求8所述的基于改进的轻量化网络的目标识别方法,其特征在于:所述训练集和测试集的比例为8:2。
10.根据权利要求9所述的基于改进的轻量化网络的目标识别方法,其特征在于:所述步骤S2中的图像增广包括水平翻转和几何变化。
11.基于改进的轻量化网络的目标识别系统,用于执行权利要求1所述的基于改进的轻量化网络的目标识别方法,其特征在于,包括:
数据预处理模块,用于采集任意大小的具有同类特征的图像作为数据集,标注并按比例划分训练集和测试集;对训练集进行正则化处理,进行图像增广操作;
模型构建模块,用于将特征图像经过N个FLN Layer提取特征后,经过上采样或下采样后进行拼接,再经过SPP层,得到FLN模型;
模型训练模块,用于利用所述训练集和所述测试集对FLN模型进行训练和测试,得到训练后的轻量化网络模型;
量化推理模块,用于将FLN模型经过NCNN推理量化最终得到预期的模型文件;
目标识别模块,用于利用训练后的轻量化网络模型对目标进行识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310773052.1A CN116524328B (zh) | 2023-06-28 | 2023-06-28 | 基于改进的轻量化网络的目标识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310773052.1A CN116524328B (zh) | 2023-06-28 | 2023-06-28 | 基于改进的轻量化网络的目标识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116524328A true CN116524328A (zh) | 2023-08-01 |
CN116524328B CN116524328B (zh) | 2023-09-15 |
Family
ID=87403223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310773052.1A Active CN116524328B (zh) | 2023-06-28 | 2023-06-28 | 基于改进的轻量化网络的目标识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116524328B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829476A (zh) * | 2018-12-27 | 2019-05-31 | 青岛中科慧畅信息科技有限公司 | 基于yolo的端到端三维物体检测方法 |
CN115565232A (zh) * | 2022-10-24 | 2023-01-03 | 广东电网有限责任公司广州供电局 | 基于改进YOLOv5算法的配电房开关柜柜面部件识别方法 |
CN115690542A (zh) * | 2022-11-03 | 2023-02-03 | 国网甘肃省电力公司 | 一种基于改进yolov5的航拍绝缘子定向识别方法 |
CN115731164A (zh) * | 2022-09-14 | 2023-03-03 | 常州大学 | 基于改进YOLOv7的绝缘子缺陷检测方法 |
CN116091892A (zh) * | 2023-02-13 | 2023-05-09 | 南京理工大学 | 一种基于卷积神经网络的快速目标检测方法 |
-
2023
- 2023-06-28 CN CN202310773052.1A patent/CN116524328B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829476A (zh) * | 2018-12-27 | 2019-05-31 | 青岛中科慧畅信息科技有限公司 | 基于yolo的端到端三维物体检测方法 |
CN115731164A (zh) * | 2022-09-14 | 2023-03-03 | 常州大学 | 基于改进YOLOv7的绝缘子缺陷检测方法 |
CN115565232A (zh) * | 2022-10-24 | 2023-01-03 | 广东电网有限责任公司广州供电局 | 基于改进YOLOv5算法的配电房开关柜柜面部件识别方法 |
CN115690542A (zh) * | 2022-11-03 | 2023-02-03 | 国网甘肃省电力公司 | 一种基于改进yolov5的航拍绝缘子定向识别方法 |
CN116091892A (zh) * | 2023-02-13 | 2023-05-09 | 南京理工大学 | 一种基于卷积神经网络的快速目标检测方法 |
Non-Patent Citations (4)
Title |
---|
JUAN R. TERVEN ET AL.: ""A COMPREHENSIVE REVIEW OF YOLO: FROM YOLOV1 AND BEYOND"", UNDER REVIEW IN ACM COMPUTING SURVEYS, pages 1 - 33 * |
LEI PANG ET AL.: ""A Lightweight YOLOv5-MNE Algorithm for SAR Ship Detection"", SENSORS, pages 1 - 21 * |
MOHAMMED HASAN ALI ET AL.: ""A New Intrusion Detection System Based on Fast Learning Network and Particle Swarm Optimization"", IEEE ACCESS, vol. 6, pages 20255 - 20261 * |
YAN ZHANG ET AL.: ""Exploring Correlations for Multiple Facial Attributes Recognition through Graph Attention Network"", ARXIV, pages 1 - 9 * |
Also Published As
Publication number | Publication date |
---|---|
CN116524328B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114937151B (zh) | 基于多感受野和注意力特征金字塔的轻量级目标检测方法 | |
KR102362744B1 (ko) | 딥 뉴럴 네트워크(deep neural network) 기반의 다중 패치 조합(multiple patch combination)을 이용하여 얼굴을 인식하고, 극도의 상황에서 결함 허용 능력 및 흔들림에 강인한 성질을 향상시키는 방법 | |
CN111652903B (zh) | 一种自动驾驶场景下基于卷积关联网络的行人目标跟踪方法 | |
CN111091130A (zh) | 基于轻量级卷积神经网络的实时图像语义分割方法及系统 | |
CN108710906B (zh) | 基于轻量级网络LightPointNet的实时点云模型分类方法 | |
CN111797983A (zh) | 一种神经网络构建方法以及装置 | |
CN111062395B (zh) | 一种实时的视频语义分割方法 | |
CN107292352A (zh) | 基于卷积神经网络的图像分类方法和装置 | |
CN116071701A (zh) | 基于注意力机制和GSConv的YOLOv5行人检测方法 | |
CN113988164B (zh) | 一种面向代表点自注意力机制的轻量级点云目标检测方法 | |
CN114973011A (zh) | 一种基于深度学习的高分辨率遥感影像建筑物提取方法 | |
CN113743505A (zh) | 基于自注意力和特征融合的改进ssd目标检测方法 | |
CN115410087A (zh) | 一种基于改进YOLOv4的输电线路异物检测方法 | |
CN117079095A (zh) | 基于深度学习的高空抛物检测方法、系统、介质和设备 | |
Yuan et al. | Faster light detection algorithm of traffic signs based on YOLOv5s-A2 | |
CN115861841A (zh) | 一种结合轻量化大卷积核的sar图像目标检测方法 | |
Ayachi et al. | An edge implementation of a traffic sign detection system for Advanced driver Assistance Systems | |
CN110728186A (zh) | 一种基于多网融合的火灾检测方法 | |
CN116524328B (zh) | 基于改进的轻量化网络的目标识别方法及系统 | |
Liu et al. | Real-time object detection in UAV vision based on neural processing units | |
CN114494284B (zh) | 一种基于显式监督区域关系的场景解析模型及方法 | |
CN113592912B (zh) | 一种高集成度远距离舰载无人机回航运动轨迹实时检测跟踪方法及装置 | |
CN116311349A (zh) | 一种基于轻量神经网络的人体关键点检测方法 | |
CN113902971A (zh) | 基于多尺度融合轻量化深度学习卷积网络的目标检测方法 | |
Li et al. | Underwater object detection based on improved SSD with convolutional block attention |
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 |