CN117593623A - 基于改进YOLOv8n模型的轻量化车辆检测方法 - Google Patents
基于改进YOLOv8n模型的轻量化车辆检测方法 Download PDFInfo
- Publication number
- CN117593623A CN117593623A CN202311471722.0A CN202311471722A CN117593623A CN 117593623 A CN117593623 A CN 117593623A CN 202311471722 A CN202311471722 A CN 202311471722A CN 117593623 A CN117593623 A CN 117593623A
- Authority
- CN
- China
- Prior art keywords
- model
- yolov8n
- improved
- module
- convolution
- 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 96
- 238000012549 training Methods 0.000 claims abstract description 17
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 230000007547 defect Effects 0.000 claims description 6
- 230000036961 partial effect Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims description 4
- 230000001629 suppression Effects 0.000 claims description 4
- 239000003086 colorant Substances 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims 1
- 230000002829 reductive effect Effects 0.000 abstract description 9
- 239000012014 frustrated Lewis pair Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000011897 real-time detection Methods 0.000 description 3
- 238000002679 ablation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 241000512668 Eunectes Species 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000010200 validation analysis Methods 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/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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
- G06V10/52—Scale-space analysis, e.g. wavelet analysis
-
- 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/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- 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
- 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
-
- 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
-
- 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)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于改进YOLOv8n模型的轻量化车辆检测方法,步骤包括:构建车辆数据集;采用YOLOv8n作为原始模型,在原始YOLOv8n模型中,引入GSconv模块和VoVGSCSP模块,添加EMA注意力机制,新增多尺度卷积MSC模块,设置高速检测器DFast模块,构成改进YOLOv8n模型,以该改进YOLOv8n模型作为轻量化车辆检测网络模型;对来源于车辆数据集的图像预处理;预处理后的车辆数据集输入改进YOLOv8n模型,进行模型训练;使用训练后的改进YOLOv8n模型对实际的车辆图像进行检测。本发明对YOLOv8n模型进行改进,引入轻量级的GSconv和VoVGSCSP模块、设计全新的高速检测头,添加注意力机制、设计多尺度卷积块,增加模型的泛化能力和鲁棒性,在提高精度的同时,大幅减少参数量和FLOPs,提高速度。
Description
技术领域
本发明属于目标检测技术领域,涉及一种轻量化检测方法,具体为一种基于改进YOLOv8n模型的轻量化车辆检测方法。
背景技术
车辆检测是交通监测、驾驶员辅助***和自动驾驶等领域的重要研究课题,也是计算机视觉领域的研究热点之一。中国自动驾驶实现了跨越式发展,步入了高质量发展的新阶段,车辆检测的重要性不言而喻。然而,对于车载边缘计算平台,一个巨大的模型难以实现实时检测的要求,它面临着高计算负荷和不良检测率等挑战。因此,轻量化车辆检测在智能生产过程中是一个十分重要的环节,各大企业也将其视为提高产品质量的关键技术,相关学者也在进行轻量化车辆检测方法的研究。因此,在上述情况下对车辆进行快速精准且轻量的检测具有重要的研究意义。
目前,常用的车辆检测方法可分为两种类型:传统的方法和基于深度学习的方法。基于这两种方法,研究人员近年来在车辆检测方面取得了一系列的研究成果。在深度学习大规模应用之前,视频检测主要是依靠人工特征构建检测模型的传统方法。随着深度学习的快速发展,逐渐具有强大的提取学习图像特征的能力,具有泛化能力强和鲁棒性高的优点。基于计算机视觉结合深度学习的车辆检测逐渐成为该领域的主流方法。这种方法不需要手动提取特征,可以分为两类。第一类是两阶段目标检测方法及其代表性网络,如R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN这些检测方法使用选择性搜索算法或区域建议网络(RPN)来提取区域建议,进而检测目标。虽然与传统的目标检测方法相比,检测精度有所提高,但这些方法复杂、耗时,不适合实时应用。另一类是单阶段目标检测方法及其代表性网络,如SSD检测方法系列、YOLO检测方法系列和RetinaNet。这些方法在检测速度方面比两阶段目标检测方法更有效。在YOLOv4和YOLOv5算法出现之前,YOLOv3算法被广泛应用于车辆检测和相关任务中。基于YOLOv3的优先车辆图像检测网络(PVIDNet),改进版本的DenseNet的加入减少了PVIDNet的模型参数量,并使用了软根符号(SRS)激活函数来减少模型的执行时间。在YOLOv3的基础上,又提出了改进的k-means聚类算法,通过并行于模具骨干网络上的一个分支,改善了由奇异点引起的模型不稳定性,增强了小规模目标检测的弱特征。
虽然以上大多数方法在某些情况下提高了检测精度,但它们都遭受了高计算零、大参数量和计算速度慢的问题。一些轻量级模型可以有效地降低模型参数,但不能在精度和速度之间取得平衡。
发明内容
为了克服现有技术中存在的不足,本发明提供一种基于改进YOLOv8n模型的轻量化车辆检测方法,在提高精度的同时,大幅减少参数量和FLOPs,提高速度,满足工业环境和边缘计算平台对车辆检测轻量和快速实时性检测的要求。
本发明为解决其技术问题所采用的技术方案是:
一种基于改进YOLOv8n模型的轻量化车辆检测方法,其步骤包括:
构建车辆数据集;
搭建轻量化车辆检测网络模型:采用YOLOv8n作为原始模型,在原始YOLOv8n模型中,引入GSconv模块和VoVGSCSP模块,添加EMA注意力机制,新增多尺度卷积MSC模块,设置高速检测器DFast模块,构成改进YOLOv8n模型,以该改进YOLOv8n模型作为轻量化车辆检测网络模型;
对来源于车辆数据集的图像预处理;
预处理后的车辆数据集输入改进YOLOv8n模型,进行模型训练;
使用训练后的改进YOLOv8n模型对实际的车辆图像进行检测。
基于上述方案,采用YOLOv8n作为原始模型,引入了GSconv模块和VoVGSCSP模块,实现模型压缩,保持检测精度和速度;添加EMA注意力机制、多尺度卷积MSC模块,在车辆检测任务中选择关键信息,抑制非关键信息,提高算法检测精度;设置高速检测器DFast模块,提高训练过程中目标检测盒回归速度慢的问题;融合后得到的改进YOLOv8n模型,实现了更高的检测性能;通过对图像数预处理,可以提高模型的鲁棒性和泛化能力,使模型可以更好地处理各种实际场景下的车辆图像。
进一步的,所述改进YOLOv8n模型,具体改进方法为:
配置环境,将构建好的车辆数据集输入原始YOLOv8n模型;
配置超参数:设定学习率、批样本数量、迭代次数、图像通道数、图片裁剪尺寸和学习率动量最优的超参数组合;
对原始YOLOv8n模型做出如下改进:a.将多尺度卷积MSC模块嵌入在原始YOLOv8n模型骨干网络中的C2f模块中,引入了不同核大小的多个卷积;b.在原始YOLOv8n模型骨干网络中,输出特征检测层时加入EMA注意力机制;c.使用GSConv模块和VoVGSCSP模块分别替换原始YOLOv8n模型颈部的下采样模块和C2f模块;d.设置高速检测器DFast模块,该DFast模块在partial卷积PConv中附加逐点卷积PWConv,进行目标检测。
基于上述方案,将多尺度卷积MSC模块嵌入原始YOLOv8n模型的骨干网络中,引入了不同核大小的多个卷积,有助于模型更好地捕获不同尺度的特征,从而提高了对不同大小车辆的检测能力;在原始YOLOv8n模型的骨干网络中加入EMA注意力机制,有助于增强对关键特征的关注,从而提高了检测的准确性,使模型能够更好地聚焦于车辆的关键部分,提高了检测的精确性;GSConv模块和VoVGSCSP模块替换原始YOLOv8n模型颈部的下采样模块和C2f模块,可以提高特征提取的效率和性能,有助于更好地区分车辆与背景,从而提高了检测的精确性;设置高速检测器DFast模块,通过逐点卷积PWConv的应用,可以加速目标检测过程,降低计算复杂度,从而在实时应用中具有更好的性能。这些改进方法通过增加模型的感知能力、优化特征提取、加强注意力机制和提高检测速度,共同提高了改进YOLOv8n模型在车辆检测任务中的性能,包括更高的准确性、更好的鲁棒性和更高的实时性。
进一步的,所述多尺度卷积MSC模块将输入通道划分为3个磁头,并对每个磁头应用不同的深度可分离卷积,对第一个磁头不做任何操作,随后使用3×3和5×5初始化内核大小,最后通过1×1交互信息。
基于上述方案,将输入通道划分为3个磁头,并对每个磁头应用不同的深度可分离卷积,使得每个磁头可以专门关注不同尺度的信息,这样,模型的感知野得到了增强,能够更好地理解不同尺度下的物体特征,特别是对于不同大小的车辆,提高了检测的全局性能;对第一个磁头不做任何操作,然后使用3×3和5×5初始化内核大小,引入了不同大小的卷积核,有助于模型学习不同尺度下的特征,这种多核初始化有助于提高模型的灵活性,使其能够更好地适应不同尺度的目标。深度可分离卷积的应用可以帮助模型更好地学习特征表示,降低参数量的同时保持有效的特征提取能力,这样的设计可以使模型更加高效地捕获车辆图像中的关键特征,提高了检测的准确性。
进一步的,所述EMA注意力机制保留了每个信道上的信息,减少计算开销,将部分信道重塑为批处理维度,并将信道维度划分为多个子特征,使空间语义特征在每个特征组内分布良好。
基于上述方案,每个特征组专注于不同类型的信息,有助于模型更好地理解和利用输入数据的丰富信息;通过将部分信道重塑为批处理维度,可以减少计算开销,模型不需要处理所有信道的信息,从而降低了计算复杂性,提高了模型的效率。
进一步的,所述GSConv模块为一种混合标准卷积SC、深度可分离卷积DWConv和shuffle的卷积模块,使用shuffle将标准卷积SC生成的信息渗透到DWConv生成的信息的每个部分中。
基于上述方案,GSConv模块通过将标准卷积SC和深度可分离卷积DWConv结合,允许信息在不同层次的特征图之间更好地进行交流和融合,有助于捕捉不同尺度和层次的特征,从而提高了模型的感知和理解能力;深度可分离卷积DWConv通常具有更少的参数和计算成本,但可能限制了网络的非线性建模能力。通过引入标准卷积SC,GSConv模块可以增加网络的非线性性,有助于更好地拟合复杂的数据分布;GSConv模块利用了深度可分离卷积的参数效率,同时通过标准卷积的引入来提高模型性能,这种设计平衡了参数数量和性能,使模型更适合在资源有限的环境中部署;GSConv模块的shuffle操作允许标准卷积SC生成的信息被均匀地渗透到深度可分离卷积DWConv生成的信息的每个部分中,有助于提高特征表示的均匀性,减少了信息片段化的问题,从而改善了模型的性能。
进一步的,所述高速检测器DFast模块,在输入的时候,仅进行一支路线,对特征使用PConv加上PWConv进行提取,随后进行分离,使用1×1卷积分别进行通道数的调整,随后分别进行边界框损失和类别损失的计算。
基于上述方案,DFast模块采用了较为轻量级的PConv和PWConv,而且在特征处理过程中没有复杂的多支路线,从而降低了计算负担,有助于提高模型的计算效率;PConv和PWConv等操作有助于提取特征的有用信息,从而有助于检测和分类任务;分离和通道数调整操作能够确保特征在不同分支之间得到合理的交互和协调,从而提高了特征表达的质量;通过分别进行边界框损失和类别损失的计算,DFast模块可以更有效地处理不同类型的损失,使每个分支可以专注于不同的任务,这种分布式处理有助于提高模型的训练和推断速度。DFast模块的设计使其适用于不同的目标检测任务,包括边界框损失和类别损失的计算,这种通用性使DFast模块成为一个灵活的组件,可以用于多种目标检测架构中;通过将任务分成不同分支,DFast模块可以减少不同任务之间的干扰,有助于减少模型的过拟合风险,从而提高了泛化性能。
进一步的,所述模型训练,具体步骤包括:利用K-mean聚类方法自动生成先验框,通过边框回归预测得到边界尺寸,利用分类器对边界框进行分类,得到每个边界框对应的缺陷种类概率,再通过非极大值抑制的方法对每个边界框的分类概率进行排序,得到置信度最大的边界框预测值,置信度阈值设置为0.25,IOU阈值设置为0.7,然后通过损失函数计算预测值和真实值之间的损失值,根据损失值进行反向传播,直至达到预设的迭代次数,网络模型训练完成。
基于上述方案,使用K-means聚类方法自动生成先验框有助于模型更好地适应不同目标的尺寸和形状,可以提高模型的泛化能力,使其能够检测多样化的目标;通过边框回归,模型能够更准确地预测目标的边界框尺寸,有助于提高检测的准确性,尤其是对于不同尺寸的目标;分类器用于对边界框进行分类,从而确定每个边界框对应的缺陷种类概率,允许模型不仅检测目标的存在还可以分类目标的类型;使用非极大值抑制方法对每个边界框的分类概率进行排序,去除高度重叠的边界框,从而减少重复检测,提高检测结果的质量;设置置信度阈值和IOU阈值有助于控制模型的输出结果,确保只有具有足够高置信度的边界框被保留,提高了模型的鲁棒性和准确性;通过损失函数计算预测值和真实值之间的差异,模型可以进行反向传播,从而更新模型参数以减小损失;
进一步的,所述构建车辆数据集,是通过对MS COCO数据集中具有不同模型、角度、颜色的车辆图像以及具有不同类型车辆的图像进行提取整合的方式建立车辆数据集。
进一步的,所述图像预处理,具体为:采用等比例缩放宽或高至640时,剩余部分使用背景灰度填充。
本发明的有益效果包括:
针对车辆检测对YOLOv8n模型进行轻量化改进,包括引入了GSconv和VoVGSCSP模块,实现模型压缩,保持检测精度和速度。添加EMA注意力机制、新增多尺度卷积块(MSC)模块、设计了全新的高速检测头(DFast),融合后得到改进的YOLOv8n模型,优化在特征提取和小目标检测过程中效果不佳的问题,提升模型的检测精度,增加模型的泛化能力和鲁棒性。在提高精度的同时,大幅减少参数量和FLOPs,提高速度,满足工业环境和边缘计算平台对车辆检测轻量和快速实时性检测的要求,为最终建立车辆检测***奠定技术基础。
附图说明
图1是本发明基于改进YOLOv8n模型的轻量化车辆检测方法的流程图;
图2是本发明提出的MSC模块的示意图;
图3是本发明使用的EMA模块的示意图;
图4是本发明使用的GSConv模块的示意图;
图5是本发明使用的VoVGSCSP模块的示意图;
图6是本发明提出的DFast模块的结构示意图;
图7是本发明使用的PConv模块的示意图;
图8是PConv+PWConv模块与常规卷积的对比示意图;
图9是本发明改进后的算法结构示意图;
图10是本发明改进模型与原始模型试验结果的对比图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本实施例提出一种基于YOLOv8n模型的轻量化车辆检测方法,把人工智能技术和车辆检测技术相融合,实现轻量化车辆检测,旨在加强神经网络在特征提取时的自适应特征融合并且提升检测的效果,在提升检测精度的前提下,降低参数量和FLOPs并且还能提高检测速度,满足工业实时和边缘设备的需求。
本实施例基于YOLOv8n模型的轻量化车辆检测方法的具体操作如下:
1.构建车辆数据集:
本实施例原始的车辆数据集为在MS COCO数据集的图像中构建了一个车辆数据集,获取的车辆表面缺陷图像信息为:图像分辨率640×640,通道数3。其中包括公共汽车、卡车和具有不同型号、颜色和角度的汽车。
划分数据集:为了训练模型检测车辆,将构造的数据集分为训练集和验证集,以9:1的比例进行。
数据读取:利用python软件中pytorch库的torch.utils.data函数进行数据集读取。
2.搭建基于改进YOLOv8n模型的轻量化车辆检测网络模型:
(1)配置环境:从GitHub上下载YOLOv8n模型的官方源码,然后使用Anaconda建立虚拟YOLOv8环境,根据YOLOv8n源码的需求文件,安装matplotlib>=3.2.2、opencv-python>=4.6.0、Pillow>=7.1.2、PyYAML>=5.3.1、requests>=2.23.0、scipy>=1.4.1、torch>=1.7.0、torchvision>=0.8.1、tqdm>=4.64.0、tensorboard>=2.13.0、dvclive>=2.11.0、clearml、comet、pandas>=1.1.4、seaborn>=0.11.0、coremltools>=6.0、onnx>=1.12.0、onnxsim>=0.4.1、nvidia-pyindex nvidia-tensorrt、scikit-learn==0.19.2、tensorflow>=2.4.1、tflite-support、tensorflowjs>=3.9.0openvino-dev>=2022.3、psutil、thop>=0.1.1、ipython、albumentations>=1.0.3、pycocotools>=2.0.6、roboflow;
(2)数据输入:将构建好的车辆数据集输入YOLOv8n网络结构模型,包括获取车辆图像、车辆图像标签、YOLOv8n网络结构模型预训练权重、YOLOv8n网络结构模型配置文件;
(3)配置超参数:设定学习率、批样本数量、迭代次数、图像通道数、图片裁剪尺寸和学习率动量最优的超参数组合,具体为:学习率lr=0.01,批样本数量Batchsize=64,迭代次数Epoch=200、图像通道数Channels=3、图片裁剪尺寸Cropsize=640×640、学习率动量momentum=0.937;
(4)模型改进:本发明采用的原始模型为YOLOv8n,具体对YOLOv8n网络结构模型在以下四处改进:
1)设计多尺度卷积MSC模块嵌入在YOLOv8n骨干网络中的C2f模块中,引入了不同核大小的多个卷积,使其能够捕获多个尺度的各种空间特征。为了减少特征提取过程中的冗余信息,本发明提出了MSC(Multi-Scale Conv)轻量化的多尺度卷积来减少卷积神经网络的参数量和计算量。如图2所示:它引入了不同核大小的多个卷积,使其能够捕获多个尺度的各种空间特征。此外,MSC可以使用一个大的5×5卷积核来扩展接受域,增强其建模长期依赖的能力。MSC将输入通道划分为3个磁头,并对每个磁头应用不同的深度可分离卷积,从而降低了参数的大小和计算成本。为了简化设计,对第一个磁头不做任何的操作,随后使用3×3和5×5初始化内核大小。这种方法能够通过调节接受域和多粒度信息的范围,更加准确地描述了前景和目标对象,同时有效地过滤了背景信息。为了增强多个头之间的信息交互,使用了PWConv将所有特征图信息沟通,增强了特征图最后的学习交流。
2)在骨干网络中,输出特征检测层时加入了EMA。为了选择当前任务中的关键信息,提高图像信息处理的效率和准确性,本文引入了EMA(Efficient Multi-ScaleAttention)来提高卷积神经网络的表示能力。如图3所示,EMA为了聚合多尺度的空间结构信息,将一个3×3内核与1×1分支并行放置,以进行快速响应,将其命名为3×3分支。考虑到特征分组和多尺度结构,有利于有效地建立短期和长期依赖关系,以获得更好的性能。
3)使用GSConv和VoVGSCSP分别替换了YOLOv8n颈部的下采样和C2f模块。为了使DSC(depth-wise separable convolution)的输出尽可能接近SC(standardconvolution),引入了一种混合SC(standard convolution)、DWConv(depth-wiseseparable convolution)和shuffle的新卷积,命名为GSConv。如图4所示,使用shuffle来将SC生成的信息(信道密集的卷积操作)渗透到DWConv(depth-wise separableconvolution)生成的信息的每个部分中。shuffle是一种统一的混合策略,这种方法允许将SC的信息完全混合到DSC的输出中,均匀地交换不同通道上的局部特征信息。在GSConv的基础上引入GS瓶颈,图5(a)显示了GS bottleneck的结构。图5(b)使用一次性聚合的方法设计了跨阶段部分网络(VoVGSCSP)模块。这个颈部阶段,使用GSConv来处理连接的特征图是刚刚正确的:冗余的重复信息更少,不需要压缩,注意模块工作得更好,如SPPF和EMA。
4)设计了高速检测器模块(DFast),使用PConv(Partial Convolution)加上逐点卷积(PWconv),进行目标检测。原YOLOv8n的检测头,拥有两支路线,分别对边界框损失和类别损失进行预测。每一路线都由两个3×3卷积标准化加激活函数,一共有三个不同尺度的检测器,分别对80×80×64,40×40×128,20×20×128的特征图进行检测,因此造成了较大的计算量和参数量。本发明提出了DFast,使用共享参数的设计理念,在输入的时候,仅进行一支路线,对特征使用PConv加上PWconv进行提取,随后进行分离,使用1×1卷积分别进行通道数的调整,随后分别进行边界框损失和类别损失的计算,如图6所示。其中,PConv利用了特征映射中的冗余,只对部分输入通道应用常规Conv进行空间特征提取,而保留其余的通道,如图7所示。从本质上讲,PConv的FLOPs比常规Conv低,但PConv的FLOPS比DWConv高。公式如下:
FLOPS是floating-point operations per second的缩写,意指每秒浮点运算次数。用来衡量硬件的性能。FLOPs是floating point of operations的缩写,是浮点运算次数,可以用来衡量算法/模型复杂度。因为PConv能够避免频繁的访问内存,更好地利用了设备上的计算能力。所以PConv的FLOPS比DWConv高。对于连续的或常规的内存访问,考虑第一个或最后一个连续的cp通道作为整个特征映射的代表。一般情况下,输入和输出特征映射具有相同数量的通道。使用了r=cp/c=1/4的比率,PConv的FLOPs只有常规Conv的1/16,公式如下:
h×w×k2×cp2
由于只有cp通道用于空特征提取,本发明避免简单地移除剩余的(c-cp)通道,否则PConv将退化为具有较少信道的常规Conv,这偏离了减少冗余的目标。本发明采用保持其余频道不变,而不是删除它们,这是因为它们对后续PWConv层有用,PWConv允许特征信息流经所有通道,能够充分和有效地利用来自所有通道的信息,所以进一步在PConv中附加了一个点态卷积(PWConv)使得它们在输入特征图上的有效感受域呈一个T形Conv,与均匀处理补丁的常规Conv相比,它更关注中心位置,同时也近似了一个常规Conv。如图8所示。在减少运算和特征冗余的情况下,保持卷积的合理性。改进后的YOLOv8n网络结构简图如图9所示。
3.图像预处理:
预处理的具体步骤包括:
采用等比例缩放宽/高至640时,剩余部分使用背景灰度填充。
4.使用改进的YOLOv8n模型进行训练
(1)将图像数据增强与预处理好的车辆数据集输入设置好超参数的改进YOLOv8n模型进行训练,本发明使用的配置为CPU:Intel Core i5-13600KF;CPU主频:3.50GHz;内存:64G;GPU:NVIDIA GeForce RTX 4090;显存:24G;深度学习框架为PyTorch,开发环境为Pytoch 2.0.1,Python 3.11,Cuda 11.8;
(2)模型训练:将构建的车辆数据集的训练集输入改进好的YOLOv8n模型进行训练,利用K-mean聚类方法自动生成先验框,通过边框回归预测得到边界尺寸,利用分类器对边界框进行分类,得到每个边界框对应的缺陷种类概率,再通过非极大值抑制(NMS)的方法对每个边界框的分类概率进行排序,得到置信度最大的边界框预测值,置信度阈值设置为0.25,IOU阈值设置为0.7,然后通过损失函数计算预测值和真实值之间的损失值,根据损失值进行反向传播,直至达到预设的迭代次数,网络模型训练完成。
5.对改进YOLOv8n模型进行测试和评价:
(1)模型测试:通过消融实验验证了网络结构变化引起的性能变化。其中,我们将添加在骨干网络里的EMA+MSC结构称为EMSC(Efficient Multi-Scale Attention Conv),将添加在颈部网络里的GSConv和VoVGSCSP结构称为slimneck。共训练了YOLOv8n、YOLOv8n-slimneck、YOLOv8n-slimneck-DFast、YOLOv8n-slimneck-DFast-EMSC(本发明)四个实验。实验结果分别如图10和表1所示。
表1本发明消融实验评估表
从表1中可以看出,改善YOLOv8n的颈部网络结构后,改进模型的平均检测处理时间略有上升,与YOLOv8n相比,FLOPs和模型参数的数量分别减少了9.75%和6.84%。但模型精度几乎一致。使用DFast高速检测头后,在精度几乎不变的情况下,与YOLOv8n相比,FLOPs和模型参数的数量分别减少了36.48%和21.02%。用EMA和MSC模块替换YOLOv8n骨干网络后,改进后的模型的平均检测处理时间略有增加,模型参数数量减少了5.88%。同时,该模式准确率上升了1.7%。说明EMA模块在YOLOv8n骨干网络中起到了增强特征的效果。图10展示了本发明所提出的方法与YOLOv8n在不同场景下的性能比较。左边的图像是YOLOv8n的检测结果,右边的图像是本发明方法的检测结果。在简单场景和大目标车辆检测方面,该方法与YOLOv8n几乎没有区别。对于具有严重遮挡和密集分布的模糊小目标车辆,如图10(c)所示,本方法可以检测出严重遮挡的车辆,而YOLOv8n则不能。在图10(d)中,本方法能检测到在YOLOv8n中缺失的汽车。结果表明,该方法优于YOLOv8n。
6.使用改进后的YOLOv8n模型对车辆图像进行检测:
将车辆图像输入改进后的YOLOv8n模型,完成车辆图像的检测。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (9)
1.一种基于改进YOLOv8n模型的轻量化车辆检测方法,其特征步骤包括:
构建车辆数据集;
搭建轻量化车辆检测网络模型:采用YOLOv8n作为原始模型,在原始YOLOv8n模型中,引入GSconv模块和VoVGSCSP模块,添加EMA注意力机制,新增多尺度卷积MSC模块,设置高速检测器DFast模块,构成改进YOLOv8n模型,以该改进YOLOv8n模型作为轻量化车辆检测网络模型;
对来源于车辆数据集的图像预处理;
预处理后的车辆数据集输入改进YOLOv8n模型,进行模型训练;
使用训练后的改进YOLOv8n模型对实际的车辆图像进行检测。
2.根据权利要求1所述的基于改进YOLOv8n模型的轻量化车辆检测方法,其特征在于,所述改进YOLOv8n模型,具体改进方法为:
配置环境,将构建好的车辆数据集输入原始YOLOv8n模型;
配置超参数:设定学习率、批样本数量、迭代次数、图像通道数、图片裁剪尺寸和学习率动量最优的超参数组合;
对原始YOLOv8n模型做出如下改进:a.将多尺度卷积MSC模块嵌入在原始YOLOv8n模型骨干网络中的C2f模块中,引入了不同核大小的多个卷积;b.在原始YOLOv8n模型骨干网络中,输出特征检测层时加入EMA注意力机制;c.使用GSConv模块和VoVGSCSP模块分别替换原始YOLOv8n模型颈部的下采样模块和C2f模块;d.设置高速检测器DFast模块,该DFast模块在partial卷积PConv中附加逐点卷积PWConv,进行目标检测。
3.根据权利要求2所述的基于改进YOLOv8n模型的轻量化车辆检测方法,其特征在于,所述多尺度卷积MSC模块将输入通道划分为3个磁头,并对每个磁头应用不同的深度可分离卷积,对第一个磁头不做任何操作,随后使用3×3和5×5初始化内核大小,最后通过1×1交互信息。
4.根据权利要求2所述的基于改进YOLOv8n模型的轻量化车辆检测方法,其特征在于,所述EMA注意力机制保留了每个信道上的信息,减少计算开销,将部分信道重塑为批处理维度,并将信道维度划分为多个子特征,使空间语义特征在每个特征组内分布良好。
5.根据权利要求2所述的基于改进YOLOv8n模型的轻量化车辆检测方法,其特征在于,所述GSConv模块为一种混合标准卷积SC、深度可分离卷积DWConv和shuffle的卷积模块,使用shuffle将标准卷积SC生成的信息渗透到DWConv生成的信息的每个部分中。
6.根据权利要求2所述的基于改进YOLOv8n模型的轻量化车辆检测方法,其特征在于,所述高速检测器DFast模块,在输入的时候,仅进行一支路线,对特征使用PConv加上PWConv进行提取,随后进行分离,使用1×1卷积分别进行通道数的调整,随后分别进行边界框损失和类别损失的计算。
7.根据权利要求1或2所述的基于改进YOLOv8n模型的轻量化车辆检测方法,其特征在于,所述模型训练,具体步骤包括:利用K-mean聚类方法自动生成先验框,通过边框回归预测得到边界尺寸,利用分类器对边界框进行分类,得到每个边界框对应的缺陷种类概率,再通过非极大值抑制的方法对每个边界框的分类概率进行排序,得到置信度最大的边界框预测值,置信度阈值设置为0.25,IOU阈值设置为0.7,然后通过损失函数计算预测值和真实值之间的损失值,根据损失值进行反向传播,直至达到预设的迭代次数,网络模型训练完成。
8.根据权利要求1所述的基于改进YOLOv8n模型的轻量化车辆检测方法,其特征在于,所述构建车辆数据集,是通过对MS COCO数据集中具有不同模型、角度、颜色的车辆图像以及具有不同类型车辆的图像进行提取整合的方式建立车辆数据集。
9.根据权利要求1所述的基于改进YOLOv8n模型的轻量化车辆检测方法,其特征在于,所述图像预处理,具体为:采用等比例缩放宽或高至640时,剩余部分使用背景灰度填充。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311471722.0A CN117593623A (zh) | 2023-11-07 | 2023-11-07 | 基于改进YOLOv8n模型的轻量化车辆检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311471722.0A CN117593623A (zh) | 2023-11-07 | 2023-11-07 | 基于改进YOLOv8n模型的轻量化车辆检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117593623A true CN117593623A (zh) | 2024-02-23 |
Family
ID=89917383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311471722.0A Pending CN117593623A (zh) | 2023-11-07 | 2023-11-07 | 基于改进YOLOv8n模型的轻量化车辆检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117593623A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893894A (zh) * | 2024-03-15 | 2024-04-16 | 吉林大学 | 一种基于红外偏振图像的水下目标轻量化检测方法及装置 |
-
2023
- 2023-11-07 CN CN202311471722.0A patent/CN117593623A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893894A (zh) * | 2024-03-15 | 2024-04-16 | 吉林大学 | 一种基于红外偏振图像的水下目标轻量化检测方法及装置 |
CN117893894B (zh) * | 2024-03-15 | 2024-06-11 | 吉林大学 | 一种基于红外偏振图像的水下目标轻量化检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902806B (zh) | 基于卷积神经网络的噪声图像目标边界框确定方法 | |
Chen et al. | Embedded system real-time vehicle detection based on improved YOLO network | |
CN107145889B (zh) | 基于具有RoI池化的双CNN网络的目标识别方法 | |
CN110348384B (zh) | 一种基于特征融合的小目标车辆属性识别方法 | |
Gong et al. | Object detection based on improved YOLOv3-tiny | |
CN111292366B (zh) | 一种基于深度学习和边缘计算的视觉行车测距算法 | |
CN112489072B (zh) | 一种车载视频感知信息传输负载优化方法及装置 | |
CN111680739A (zh) | 一种目标检测和语义分割的多任务并行方法及*** | |
CN117593623A (zh) | 基于改进YOLOv8n模型的轻量化车辆检测方法 | |
CN112417973A (zh) | 一种基于车联网的无人驾驶*** | |
CN111368935A (zh) | 一种基于生成对抗网络的sar时敏目标样本增广方法 | |
CN115880562A (zh) | 一种基于改进YOLOv5的轻量级目标检测网络 | |
CN112101113B (zh) | 一种轻量化的无人机图像小目标检测方法 | |
CN116682090A (zh) | 一种基于改进YOLOv3算法的车辆目标检测方法 | |
CN112132207A (zh) | 基于多分支特征映射目标检测神经网络构建方法 | |
CN115909078A (zh) | 一种基于hrrp与sar数据特征级融合的舰船分类方法 | |
Pan et al. | Traffic Light Detection for Self-Driving Vehicles Based on Deep Learning | |
Zhang et al. | Traffic sign detection algorithm based on YOLOv5 combined with BIFPN and attention mechanism | |
Mohamed et al. | Improving Vehicle Classification and Detection with Deep Neural Networks | |
Liu et al. | Object Detection of UAV Aerial Image based on YOLOv8 | |
CN113076898B (zh) | 一种交通车辆目标检测方法、装置、设备及可读存储介质 | |
CN116895029B (zh) | 基于改进yolo v7的航拍图像目标检测方法及*** | |
Zhang et al. | Research on traffic target detection method based on improved yolov3 | |
CN117710755B (zh) | 一种基于深度学习的车辆属性识别***及方法 | |
Wang et al. | Road traffic vehicle detection method using lightweight yolov5 and attention mechanism |
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 |