CN116645586A - 一种基于改进YOLOv5的港口集装箱损伤检测方法及*** - Google Patents
一种基于改进YOLOv5的港口集装箱损伤检测方法及*** Download PDFInfo
- Publication number
- CN116645586A CN116645586A CN202310626179.0A CN202310626179A CN116645586A CN 116645586 A CN116645586 A CN 116645586A CN 202310626179 A CN202310626179 A CN 202310626179A CN 116645586 A CN116645586 A CN 116645586A
- Authority
- CN
- China
- Prior art keywords
- damage
- container
- yolov5
- port
- attention
- 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 115
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000012360 testing method Methods 0.000 claims abstract description 23
- 230000007246 mechanism Effects 0.000 claims abstract description 14
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 230000006872 improvement Effects 0.000 claims abstract description 8
- 238000011176 pooling Methods 0.000 claims description 39
- 230000004927 fusion Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 34
- 238000010586 diagram Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 claims description 7
- 238000002372 labelling Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000012935 Averaging Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000004091 panning Methods 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 6
- 238000002679 ablation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003902 lesion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000007115 recruitment Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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/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/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
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于改进YOLOv5的港口集装箱损伤检测方法及***,所述方法包括以下步骤:对获取到的港口集装箱损伤图像进行预处理和标注,划分为训练集和测试集;改进YOLOv5模型:以YOLOv5模型为基本架构,构造损伤检测模型,在Backbone网络结构中最后一层之后加入CBAM注意力机制;Neck网络结构中加入BiFPN网络来进行目标特征的融合;设置损失函数EIOU Loss替代原YOLOv5网络中定位损失函数;利用训练集对损伤检测模型进行训练,直到所述损伤检测模型的目标损失函数收敛;利用训练好的损伤检测模型对测试集进行检测,输出港口集装箱损伤图像检测结果,计算平均精度AP和平均精度均值mAP。通过本发明方法,实现复杂港口环境下集装箱多种损伤类型的高精度检测。
Description
技术领域
本发明涉及图像技术领域,具体涉及一种基于改进YOLOv5的港口集装箱损伤检测方法及***。
背景技术
现阶段,我国传统港口向智慧港口转型升级的行业热度持续升温,其中,智能验箱是港口企业自动化改革建设中的关键环节。集装箱作为长距离运输大量货物的装货容器和载体,是港口物流运输中必不可少的一部分。为保证货物运输质量和集装箱箱体结构的安全性,港口企业需要在集装箱使用期间定期对箱体进行检查。
在传统港口业务流程中,集装箱损伤检测通常由安全检查员通过目视检查集装箱结构和附件的损伤情况,然而,这种检测方法不仅费时费力,而且对工作人员的招聘要求很高,其次,人工评估结果存在不稳定性,此外,现实港口内复杂的堆场环境难以有效保障工作人员的人身安全,与智慧港口的无人化、智能化理念背道而驰。
近年来,随着目标检测技术的不断发展,在港口集装箱的损伤检测领域取得了一定成功。然而,现有的基于传统机器学习的检测方法大多只针对某种特定类别进行检测,但实际港口条件下集装箱的损伤往往是多种损伤类型的组合,少部分针对多类别损伤的检测方法符合当前港口集装箱损伤检测的复杂要求,但在检测精度方面难以满足实际的精度标准。
因此,如何解决在港口复杂背景环境下对集装箱损伤进行检测时出现小目标遗漏、误检的问题,实现港口集装箱多种损伤类型的高精度检测,是当下港口企业发展的迫切需求,也是本领域技术人员亟需解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种基于改进YOLOv5的港口集装箱损伤检测方法及***,用于在港口复杂背景环境下对集装箱损伤进行检测时出现小目标遗漏、误检的问题,实现港口集装箱多种损伤类型的高精度检测。
为实现上述效果,本发明的技术方案如下:
第一个方面,本发明提供一种基于改进YOLOv5的港口集装箱损伤检测方法,包括以下步骤:
S1:对获取到的港口集装箱损伤图像进行预处理和标注,划分为训练集和测试集;所述标注的过程为:对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,将港口集装箱损伤图像分为:箱体形变、破洞、锈蚀、凹凸磕碰、裂缝、箱门打开和集装箱堆垛坍塌七种类型;
S2:改进YOLOv5模型:以YOLOv5模型为基本架构,构造损伤检测模型,在Backbone网络结构中最后一层之后加入CBAM注意力机制;在Neck网络结构中加入BiFPN网络来进行目标特征的融合;设置损失函数EIOU Loss替代原YOLOv5网络中定位损失函数GIOU Loss;
S3:利用训练集对损伤检测模型进行训练,直到所述损伤检测模型的目标损失函数收敛,以获得训练好的损伤检测模型;
S4:利用训练好的损伤检测模型对测试集进行检测,输出港口集装箱损伤图像检测结果,计算平均精度AP和平均精度均值mAP。
进一步的,在步骤S1中,所述港口集装箱损伤图像为以下图像数据集中的一种或多种:Kaggle平台公开的集装箱数据集;以集装箱和损坏特征为关键字的开源数据库中搜索的集装箱数据集;港口集装箱堆场现场拍摄采集的集装箱数据集:白天在自然光条件下拍摄,晚上在夜间补光条件下拍摄的集装箱数据集;港口端口正常运行期间的监控视频,通过选择、截取和提取视频流中包含集装箱画面的关键帧获取的集装箱数据集。
进一步的,在步骤S1中,采用Labelimg软件对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,生成数据集,将数据集按照9:1的比例划分训练集和测试集;所述预处理为亮度调节、数据旋转、水平翻转、添加噪声和平移操作中的一种或多种。
进一步的,在步骤S2中,所述EIOU损失函数为:
式中,IOU表示预测框与真实框的交集和并集之比;ρ2(b,bgt)表示预测框与真实框间的欧氏距离;ρ2(w,wgt)和ρ2(h,hgt)分别为示预测框与真实框的宽、高之间的欧氏距离;c表示预测框与真实框最小外接矩形的对角线距离;cw、ch分别为预测框与真实框的最小外接矩形的宽、高。
进一步的,步骤S4中利用训练好的损伤检测模型对测试集进行检测,具体为:
S41:Backbone网络将输入的测试集中港口集装箱损伤图像进行特征提取,得到特征图F,对特征图F分别进行平均池化和最大池化,分别得到特征信息:全局平均池化向量和全局最大池化向量/>其中,C为特征图通道数,H为图像高度,W为图像宽度;
S42:将得到的全局平均池化向量和全局最大池化向量/>输入至两个全连接层MLP中,进行Sigmoid函数激活运算,得到通道注意力特征图Mc;
S43:将特征图F与所述通道注意力特征图Mc的乘积作为输入,分别进行平均池化和最大池化操作,得到特征信息:全局平均池化特征图和全局最大池化特征图/>并将特征信息/>和/>拼接,得到空间注意力特征图Ms;
S44:所述CBAM卷积注意力模块将所述通道注意力特征图Mc以及所述空间注意力特征图Ms依次进行通道注意力加权和空间注意力加权,得到注意力加权后的特征图F";
S45:注意力加权后的特征图F"输入至Neck网络中使用BiFPN网络进行加权特征融合,得到融合特征图O;融合特征图O经过改进的YOLOv5模型预设的Detector网络输出后,得到港口集装箱损伤图像检测结果。
进一步的,步骤S42所述得到通道注意力特征图Mc计算公式如式下:
式中,F表示特征图,F∈RC×H×W,σ表示sigmoid激活函数,MLP表示全连接操作,表示全局平均池化向量,/>表示全局最大池化向量,W0和W1为输入共享权重;
步骤S43具体为:对输入的特征图F进行卷积核大小为7*7、卷积核个数为1的卷积操作,再进行Sigmoid函数激活运算,得到空间注意力特征图Ms,所述空间注意力特征图Ms的计算公式如下:
式中,f7×7表示卷积核大小为7×7的卷积运算,表示全局平均池化特征图,/>表示全局最大池化特征图。
进一步的,步骤S44得到注意力加权后的特征图F"计算公式如下:
式中,F为输入的特征图,为元素乘法,Mc为通道注意力特性图,F'为经通道注意力机制加权得到特征图,Ms为空间注意力特征图,F"为注意力加权后的特征图。
进一步的,步骤S45得到融合特征图O公式如下:
式中:i=j,是输入到节点的特征图数;Ii是输入到节点的特征图矩阵,即注意力加权后的特征图F";e是一个极小数,用于保证公式分母不为零;wi、wj是输入到节点的权重。
进一步的,步骤S4计算平均精度AP和平均精度均值mAP,具体为:对基于改进YOLOv5的损伤检测模型进行评估,评估公式如下:
式中,P代表准确率,R代表漏检率;TP为真阳性,代表真正例,即真正为集装箱损伤目标的数量;FP为假阳性,代表假正例,即错误预测的集装箱损伤目标的数量;FN为假阴性,代表假反例,即未正确预测出的集装箱损伤目标的数量;N为集装箱损伤图片总数量;AP为单种集装箱损伤类别的平均精度,mAP值表示所有集装箱损伤类别的平均精度均值。
第二个方面,本发明提供一种基于改进YOLOv5的港口集装箱损伤检测***,包括:
预处理模块,用于对获取到的港口集装箱损伤图像进行预处理和标注,划分为训练集和测试集;所述标注的过程为:对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,将港口集装箱损伤图像分为:箱体形变、破洞、锈蚀、凹凸磕碰、裂缝、箱门打开和集装箱堆垛坍塌七种类型;
模型改进模块,用于改进YOLOv5模型:以YOLOv5模型为基本架构,构造损伤检测模型,在Backbone网络结构中最后一层之后加入CBAM注意力机制;在Neck网络结构中加入BiFPN网络来进行目标特征的融合;设置损失函数EIOU Loss替代原YOLOv5网络中定位损失函数GIOU Loss;
模型训练模块,用于利用训练集对损伤检测模型进行训练,直到所述损伤检测模型的目标损失函数收敛,以获得训练好的损伤检测模型;
记过输出模块,用于利用训练好的损伤检测模型对测试集进行检测,输出港口集装箱损伤图像检测结果,计算平均精度AP和平均精度均值mAP。
与现有技术相比,本发明技术方案的有益效果是:
本发明针对港口中集装箱在使用过程中所产生的箱体形变、破洞、锈蚀、凹凸磕碰等七种损伤类型的检测问题,基于改进后YOLOv5模型进行集装箱损伤检测;通过在YOLOv5模型的特征提取部分嵌入CBAM卷积注意力模块,在增强集装箱损伤目标特征的同时抑制无关区域特征,从而减小复杂背景对检测结果的影响;在特征融合部分设计双向特征融合的BiFPN网络,使不同分辨率的特征同时具有较强的语义信息和丰富的位置信息,解决集装箱不同损伤目标间尺度变化较大造成的小目标信息丢失问题;设置EIOU Loss为模型的损失函数,从而更精准地回归预测框,解决原YOLOv5模型收敛缓慢与不稳定等问题;可以在复杂港口环境下对多种集装箱损伤进行有效检测,避免小目标的漏检、误检,实现港口集装箱损伤的高精度检测。
附图说明
图1为本发明实施例提供的基于改进YOLOv5的港口集装箱损伤检测方法的流程示意图;
图2是本发明实施例提供的港口集装箱损伤图像七种类型示意图;
图3a、3b分别是本发明实施例提供的原YOLOv5、改进后YOLOv5模型示意图;
图4是本发明实施例提供的CBAM卷积注意力模块示意图;
图5是本发明实施例提供的BiFPN网络示意图;
图6是本发明实施例提供的检测效果对比图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例
本实施例提出了一种基于改进YOLOv5的港口集装箱损伤检测方法。请参阅图1,包括以下步骤:
S1:对获取到的港口集装箱损伤图像进行预处理和标注,划分为训练集和测试集;所述标注的过程为:对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,将港口集装箱损伤图像分为:箱体形变(bent)、破洞(hole)、锈蚀(rusty)、凹凸磕碰(bump)、裂缝(crack)、箱门打开(open)和集装箱堆垛坍塌(collapse)七种类型,所述七种集装箱损伤类型的示例如图2所示;
S2:改进YOLOv5模型:以YOLOv5模型为基本架构,构造损伤检测模型,在Backbone网络结构中最后一层之后加入CBAM注意力机制;在Neck网络结构中加入BiFPN网络来进行特征叠加与深浅层特征的融合;设置损失函数EIOU Loss替代原YOLOv5网络中定位损失函数GIOU Loss;
S3:利用训练集对损伤检测模型进行训练,直到所述损伤检测模型的目标损失函数收敛,以获得训练好的损伤检测模型;港口集装箱损伤图像采用IP102数据集(样本图像共计4344张);
S4:利用训练好的损伤检测模型对测试集进行检测,输出港口集装箱损伤图像检测结果,计算平均精度AP和平均精度均值mAP。
本发明在Neck网络中添加BiFPN网络进行加权特征融合,使改进后YOLOv5模型在检测不同尺度大小的集装箱损伤目标时具有更好的性能,解决小目标漏检、错检问题,实现复杂港口环境下集装箱多种损伤类型的高精度检测。
作为优选的技术方案,本实施例中,在步骤S1中,所述港口集装箱损伤图像为以下图像数据集中的一种或多种:Kaggle平台公开的集装箱数据集;以集装箱和损坏特征为关键字的开源数据库中搜索的集装箱数据集;港口集装箱堆场现场拍摄采集的集装箱数据集:白天在自然光条件下拍摄,晚上在夜间补光条件下拍摄的集装箱数据集;港口端口正常运行期间的监控视频,通过选择、截取和提取视频流中包含集装箱画面的关键帧获取的集装箱数据集。
作为优选的技术方案,本实施例中,在步骤S1中,采用Labelimg软件对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,生成数据集,通过程序随机将数据集按照9:1的比例划分训练集和测试集;所述预处理为亮度调节、数据旋转、水平翻转、添加噪声和平移操作中的一种或多种。
作为优选的技术方案,本实施例中,在步骤S2中,所述EIOU损失函数为:
式中,IOU表示预测框与真实框的交集和并集之比;ρ2(b,bgt)表示预测框与真实框间的欧氏距离;ρ2(w,wgt)和ρ2(h,hgt)分别为示预测框与真实框的宽、高之间的欧氏距离;c表示预测框与真实框最小外接矩形的对角线距离;cw、ch分别为预测框与真实框的最小外接矩形的宽、高。
在所述改进YOLOv5网络模型中,通过改进网络定位损失函数为EIOU Loss,不仅能加速函数收敛、提高回归精度,而且优化了边界框回归任务中的样本不平衡问题,使回归过程专注于高质量锚框,进一步提升集装箱损伤检测模型的精度。
作为优选的技术方案,本实施例中,步骤S4中利用训练好的损伤检测模型对测试集进行检测,具体为:图3a为原YOLOv5网络结构图;本发明改进后的YOLOv5网络结构如图3b,引入CBAM卷积注意力机制;在Backbone网络结构(主干网络)中最后的C3模块之后引入CBAM卷积注意力机制,所述CBAM卷积注意力机制的模块结构图如图4所示,由通道注意力模块和卷积注意力模块构成;
训练参数:设定迭代次数200,初始学习率0.01,使用SGD优化器,动量为0.937,权重衰减为0.0005,batch size为32,image size设定为640×640。
S41:Backbone网络将输入的测试集中港口集装箱损伤图像进行特征提取,得到特征图F,对特征图F分别进行平均池化和最大池化,分别得到特征信息:全局平均池化向量和全局最大池化向量/>其中,C为特征图通道数,H为图像高度,W为图像宽度;
S42:将得到的全局平均池化向量和全局最大池化向量/>输入至两个全连接层MLP中,进行Sigmoid函数激活运算,得到通道注意力特征图Mc;
S43:将特征图F与所述通道注意力特征图Mc的乘积作为输入,分别进行平均池化和最大池化操作,得到特征信息:全局平均池化特征图和全局最大池化特征图/>并将特征信息/>和/>拼接,得到空间注意力特征图Ms;
S44:所述CBAM卷积注意力模块将所述通道注意力特征图Mc以及所述空间注意力特征图Ms依次进行通道注意力加权和空间注意力加权,得到注意力加权后的特征图F";
S45:注意力加权后的特征图F"输入至Neck网络中使用BiFPN网络进行加权特征融合,得到融合特征图O;融合特征图O经过改进的YOLOv5模型预设的Detector网络输出后,得到港口集装箱损伤图像检测结果。
所述损伤检测模型包括特征提取模块(Backbone网络)、特征融合模块(Neck网络)和检测模块(Detector网络);所述特征提取模块包括依次连接的四个特征提取层,每个特征提取层包括一个卷积层和C3层,对港口集装箱损伤图像进行特征提取操作,依次得到第一特征图、第二特征图、第三特征图和第四特征图。所述特征融合模块包括依次连接的第一特征融合层、第二特征融合层、第三特征融合层、第四特征融合层,所述第一特征融合层、第二特征融合层包括依次连接的卷积层、上采样层、BiFPN网络和C3层,所述第三特征融合层、第四特征融合层包括依次连接的卷积层、BiFPN网络和C3层。对第四特征图依次进行两次上采样处理,在上采样过程中,两次上采样结果按照自下而上的顺序分别采用BiFPN网络和第三特征图、第二特征图进行加权特征融合,分别得到第一融合特征图、第二融合特征图。第二融合特征图通过第二特征融合层中的C3层进行拼接,得到第一输出特征图,第一输出特征图进入检测模块;所述第一输出特征图再依次进行两次下采样处理,在下采样过程中,两次下采样结果按照自上而下的顺序分别与第二次上采样之前的特征图和第一次上采样之前的特征图进行融合,分别得到第二输出特征图、第三输出特征图,进入检测模块。所述检测模块结合第一输出特征图、第二输出特征图、第三输出特征图,进行二维(x,y)卷积核运算,输出港口集装箱损伤图像检测结果(输出框长x,宽y)。
可以理解的是,Neck网络设置BiFPN网络;在特征融合过程中,YOLOv5原模型的所述Neck模块采用PANet特征融合方式,通过自上而下与自下而上两条路径对提取的特征进行双向融合,但PANet只是单一的对特征信息进行相加,没有考虑因不同的输入特征图分辨率不同,导致其对输出特征图贡献不等的问题;在所述改进YOLOv5模型的Neck模块中将原有的Concat模块替换为BiFPN模块(双向特征金字塔网络),所述BiFPN模块结构图如图4所示。所述BiFPN网络利用其特有的双向交叉尺度连接方式,在相同层级的输入和输出之间使用残差连接的方式增加一个连接,高效的融合到集装箱损伤图像目标更多的特征;所述BiFPN网络使用加权特征融合方式,通过为每个输入的特征赋予相应的权重统一特征分辨率信息,使不同分辨率的特征同时具有较强的语义信息和丰富的位置信息,解决集装箱损伤目标不同种类尺度变化较大的问题;
需要说明的是,在所述改进YOLOv5网络模型中,传入的特征图经Backbone主干特征提取网络提取特征后,需要经过Neck颈部特征融合网络对提取的特征进行融合;在Neck网络中添加BiFPN网络进行加权特征融合,使模型在检测不同尺度大小的集装箱损伤目标时具有更好的性能,解决小目标漏检、错检问题。
在改进YOLOv5网络模型中,所述主干网络Backbone为特征提取网络,将所述CBAM卷积注意力模块引入到所述主干网络Backbone中,所述CBAM模块通过集成通道与空间两个映射过程,在增强集装箱损伤目标特征的同时抑制无关区域特征,使集装箱损伤特征表达具有更高的鲁棒性,从而减小复杂背景对检测结果的影响,从而达到提升目标检测精度的目的。
作为优选的技术方案,本实施例中,步骤S42所述得到通道注意力特征图Mc计算公式如式下:
式中,F表示特征图,F∈RC×H×W,σ表示sigmoid激活函数,MLP表示全连接操作,表示全局平均池化向量,/>表示全局最大池化向量,W0和W1为输入共享权重;
步骤S43具体为:对输入的特征图F进行卷积核大小为7*7、卷积核个数为1的卷积操作,再进行Sigmoid函数激活运算,得到空间注意力特征图Ms,所述空间注意力特征图Ms的计算公式如下:
式中,f7×7表示卷积核大小为7×7的卷积运算,表示全局平均池化特征图,/>表示全局最大池化特征图。
作为优选的技术方案,本实施例中,步骤S44得到注意力加权后的特征图F"计算公式如下:
式中,F为输入的特征图,为元素乘法,Mc为通道注意力特性图,F'为经通道注意力机制加权得到特征图,Ms为空间注意力特征图,F"为注意力加权后的特征图。
作为优选的技术方案,本实施例中,步骤S45得到融合特征图O公式如下:
式中:i=j,是输入到节点的特征图数;Ii是输入到节点的特征图矩阵,即注意力加权后的特征图F";e是一个极小数,用于保证公式分母不为零;wi、wj是输入到节点的权重。
作为优选的技术方案,本实施例中,步骤S4计算平均精度AP和平均精度均值mAP,具体为:对基于改进YOLOv5的损伤检测模型进行评估,评估公式如下:
式中,P代表准确率,R代表漏检率;TP为真阳性,代表真正例,即真正为集装箱损伤目标的数量;FP为假阳性,代表假正例,即错误预测的集装箱损伤目标的数量;FN为假阴性,代表假反例,即未正确预测出的集装箱损伤目标的数量;N为集装箱损伤图片总数量;AP为单种集装箱损伤类别的平均精度,mAP值表示所有集装箱损伤类别的平均精度均值。
评价指标包括精确率P(Precision)、召回率R(Recall)、平均精度AP和平均精度均值mAP;精确率用于反映对集装箱损伤检测的准确性,表示为模型预测的正样本中真正正样本所占的比例;召回率用于反映对集装箱损伤是否全部发现,表示为正确预测的正样本在总样本中所占的比例;平均精度用于反映单种集装箱损伤的检测精度高低;平均精度用于反映本集装箱损伤检测模型的总体检测精度高低;AP、mAP值越高,代表港口集装箱损伤检测模型的性能越好。
本发明消融实验结果如下表1所示:
表1消融实验结果对比
结果证明了本发明提出的三种改进策略对于改进后YOLOv5模型检测港口集装箱损伤能力的提升均有正向作用,改进后YOLOv5模型在不过多增加网络模型权重文件内存占比的情况下,mAP提升了5.6%,达到了97.65%,进一步地,每种损伤类型的AP值如表2:
表2不同损伤类型的AP值
表2展示了改进后YOLOv5模型在港口复杂背景下对不同尺度的集装箱损伤目标均有良好的识别效果;进一步地,为了更加直观的体现改进后YOLOv5模型检测的效果,给出其与传统YOLOv5模型的可视化检测结果对比,如图6所示,(a)、(d)为待识别图像,(b)、(e)为原始YOLOv5模型识别结果,(c)、(f)为本发明改进后YOLOv5模型识别结果;可以看出,原始YOLOv5模型在检测中易受港口复杂检测背景干扰,在相同条件下对一处目标进行反复多次检查、错误识别周遭环境为损伤类型;改进后YOLOv5模型在不同场景、不同尺度损伤目标的条件下,对于相同的图像数据中损伤目标的判断更加可靠,定位更加精准,且无错检漏检现象,充分体现了改进后YOLOv5模型检测效果的优越性。
本发明基于改进后YOLOv5模型,通过在Backbone最后一层加入CBAM卷积注意力机制,集成通道与空间两个映射过程,增强港口复杂背景下集装箱损伤特征的表达能力;通过在Neck网络结构中使用BiFPN来进行多尺度特征融合,对网络深层与浅层的特征进行叠加,提高网络对小目标损伤特征的提取能力,减少漏检与误检的情况发生;通过将原网络中的定位损伤函数替换为EIOU Loss,解决原网络收敛缓慢与不稳定等问题,进一步提高模型的检测性能,实现港口集装箱损伤的高精度检测;
在本发明的另一个实施例中,还提供了一种基于改进YOLOv5的港口集装箱损伤检测***,包括:
预处理模块,用于对获取到的港口集装箱损伤图像进行预处理和标注,划分为训练集和测试集;所述标注的过程为:对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,将港口集装箱损伤图像分为:箱体形变、破洞、锈蚀、凹凸磕碰、裂缝、箱门打开和集装箱堆垛坍塌七种类型;
模型改进模块,用于改进YOLOv5模型:以YOLOv5模型为基本架构,构造损伤检测模型,在Backbone网络结构中最后一层之后加入CBAM注意力机制;在Neck网络结构中加入BiFPN网络来进行目标特征的融合;设置损失函数EIOU Loss替代原YOLOv5网络中定位损失函数GIOU Loss;
模型训练模块,用于利用训练集对损伤检测模型进行训练,直到所述损伤检测模型的目标损失函数收敛,以获得训练好的损伤检测模型;
记过输出模块,用于利用训练好的损伤检测模型对测试集进行检测,输出港口集装箱损伤图像检测结果,计算平均精度AP和平均精度均值mAP。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,包括以下步骤:
S1:对获取到的港口集装箱损伤图像进行预处理和标注,划分为训练集和测试集;所述标注的过程为:对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,将港口集装箱损伤图像分为:箱体形变、破洞、锈蚀、凹凸磕碰、裂缝、箱门打开和集装箱堆垛坍塌七种类型;
S2:改进YOLOv5模型:以YOLOv5模型为基本架构,构造损伤检测模型,在Backbone网络结构中最后一层之后加入CBAM注意力机制;在Neck网络结构中加入BiFPN网络来进行目标特征的融合;设置损失函数EIOU Loss替代原YOLOv5网络中定位损失函数GIOU Loss;
S3:利用训练集对损伤检测模型进行训练,直到所述损伤检测模型的目标损失函数收敛,以获得训练好的损伤检测模型;
S4:利用训练好的损伤检测模型对测试集进行检测,输出港口集装箱损伤图像检测结果,计算平均精度AP和平均精度均值mAP。
2.根据权利要求1所述一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,在步骤S1中,所述港口集装箱损伤图像为以下图像数据集中的一种或多种:Kaggle平台公开的集装箱数据集;以集装箱和损坏特征为关键字的开源数据库中搜索的集装箱数据集;港口集装箱堆场现场拍摄采集的集装箱数据集:白天在自然光条件下拍摄,晚上在夜间补光条件下拍摄的集装箱数据集;港口端口正常运行期间的监控视频,通过选择、截取和提取视频流中包含集装箱画面的关键帧获取的集装箱数据集。
3.根据权利要求2所述一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,在步骤S1中,采用Labelimg软件对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,生成数据集,将数据集按照9:1的比例划分训练集和测试集;所述预处理为亮度调节、数据旋转、水平翻转、添加噪声和平移操作中的一种或多种。
4.根据权利要求3所述一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,在步骤S2中,所述EIOU损失函数为:
式中,IOU表示预测框与真实框的交集和并集之比;ρ2(b,bgt)表示预测框与真实框间的欧氏距离;p2(w,wgt)和P2(h,hgt)分别为示预测框与真实框的宽、高之间的欧氏距离;c表示预测框与真实框最小外接矩形的对角线距离;cw、ch分别为预测框与真实框的最小外接矩形的宽、高。
5.根据权利要求4所述一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,步骤S4中利用训练好的损伤检测模型对测试集进行检测,具体为:
S41:Backbone网络将输入的测试集中港口集装箱损伤图像进行特征提取,得到特征图F,对特征图F分别进行平均池化和最大池化,分别得到特征信息:全局平均池化向量和全局最大池化向量/>其中,C为特征图通道数,H为图像高度,W为图像宽度;
S42:将得到的全局平均池化向量和全局最大池化向量/>输入至两个全连接层MLP中,进行Sigmoid函数激活运算,得到通道注意力特征图Mc;
S43:将特征图F与所述通道注意力特征图Mc的乘积作为输入,分别进行平均池化和最大池化操作,得到特征信息:全局平均池化特征图和全局最大池化特征图/>并将特征信息/>和/>拼接,得到空间注意力特征图Ms;
S44:所述CBAM卷积注意力模块将所述通道注意力特征图Mc以及所述空间注意力特征图Ms依次进行通道注意力加权和空间注意力加权,得到注意力加权后的特征图F";
S45:注意力加权后的特征图F"输入至Neck网络中使用BiFPN网络进行加权特征融合,得到融合特征图O;融合特征图O经过改进的YOLOv5模型预设的Detector网络输出后,得到港口集装箱损伤图像检测结果。
6.根据权利要求5所述一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,步骤S42所述得到通道注意力特征图Mc计算公式如式下:
式中,F表示特征图,F∈RC×H×W,σ表示sigmoid激活函数,MLP表示全连接操作,表示全局平均池化向量,/>表示全局最大池化向量,W0和W1为输入共享权重;
步骤S43具体为:对输入的特征图F进行卷积核大小为7*7、卷积核个数为1的卷积操作,再进行Sigmoid函数激活运算,得到空间注意力特征图Ms,所述空间注意力特征图Ms的计算公式如下:
式中,f7×7表示卷积核大小为7×7的卷积运算,表示全局平均池化特征图,/>表示全局最大池化特征图。
7.根据权利要求6所述一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,步骤S44得到注意力加权后的特征图F"计算公式如下:
式中,F为输入的特征图,为元素乘法,Mc为通道注意力特性图,F'为经通道注意力机制加权得到特征图,Ms为空间注意力特征图,F"为注意力加权后的特征图。
8.根据权利要求7所述一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,步骤S45得到融合特征图O公式如下:
式中:i=j,是输入到节点的特征图数;Ii是输入到节点的特征图矩阵,即注意力加权后的特征图F";e是一个极小数,用于保证公式分母不为零;wi、wj是输入到节点的权重。
9.根据权利要求8所述一种基于改进YOLOv5的港口集装箱损伤检测方法,其特征在于,步骤S4计算平均精度AP和平均精度均值mAP,具体为:对基于改进YOLOv5的损伤检测模型进行评估,评估公式如下:
式中,P代表准确率,R代表漏检率;TP为真阳性,代表真正例,即真正为集装箱损伤目标的数量;FP为假阳性,代表假正例,即错误预测的集装箱损伤目标的数量;FN为假阴性,代表假反例,即未正确预测出的集装箱损伤目标的数量;N为集装箱损伤图片总数量;AP为单种集装箱损伤类别的平均精度,mAP值表示所有集装箱损伤类别的平均精度均值。
10.一种基于改进YOLOv5的港口集装箱损伤检测***,其特征在于,包括:
预处理模块,用于对获取到的港口集装箱损伤图像进行预处理和标注,划分为训练集和测试集;所述标注的过程为:对获取的港口集装箱损伤图像进行损伤类型与损伤位置的标注,将港口集装箱损伤图像分为:箱体形变、破洞、锈蚀、凹凸磕碰、裂缝、箱门打开和集装箱堆垛坍塌七种类型;
模型改进模块,用于改进YOLOv5模型:以YOLOv5模型为基本架构,构造损伤检测模型,在Backbone网络结构中最后一层之后加入CBAM注意力机制;在Neck网络结构中加入BiFPN网络来进行目标特征的融合;设置损失函数EIOU Loss替代原YOLOv5网络中定位损失函数GIOU Loss;
模型训练模块,用于利用训练集对损伤检测模型进行训练,直到所述损伤检测模型的目标损失函数收敛,以获得训练好的损伤检测模型;
记过输出模块,用于利用训练好的损伤检测模型对测试集进行检测,输出港口集装箱损伤图像检测结果,计算平均精度AP和平均精度均值mAP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310626179.0A CN116645586A (zh) | 2023-05-30 | 2023-05-30 | 一种基于改进YOLOv5的港口集装箱损伤检测方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310626179.0A CN116645586A (zh) | 2023-05-30 | 2023-05-30 | 一种基于改进YOLOv5的港口集装箱损伤检测方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116645586A true CN116645586A (zh) | 2023-08-25 |
Family
ID=87615038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310626179.0A Pending CN116645586A (zh) | 2023-05-30 | 2023-05-30 | 一种基于改进YOLOv5的港口集装箱损伤检测方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116645586A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036985A (zh) * | 2023-10-09 | 2023-11-10 | 武汉工程大学 | 一种面向视频卫星图像的小目标检测方法及装置 |
CN117132606A (zh) * | 2023-10-24 | 2023-11-28 | 四川大学 | 用于肺部病变图像的分割方法 |
CN117475481A (zh) * | 2023-12-27 | 2024-01-30 | 四川师范大学 | 一种基于域迁移的夜间红外图像动物识别方法及*** |
-
2023
- 2023-05-30 CN CN202310626179.0A patent/CN116645586A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036985A (zh) * | 2023-10-09 | 2023-11-10 | 武汉工程大学 | 一种面向视频卫星图像的小目标检测方法及装置 |
CN117036985B (zh) * | 2023-10-09 | 2024-02-06 | 武汉工程大学 | 一种面向视频卫星图像的小目标检测方法及装置 |
CN117132606A (zh) * | 2023-10-24 | 2023-11-28 | 四川大学 | 用于肺部病变图像的分割方法 |
CN117132606B (zh) * | 2023-10-24 | 2024-01-09 | 四川大学 | 用于肺部病变图像的分割方法 |
CN117475481A (zh) * | 2023-12-27 | 2024-01-30 | 四川师范大学 | 一种基于域迁移的夜间红外图像动物识别方法及*** |
CN117475481B (zh) * | 2023-12-27 | 2024-03-01 | 四川师范大学 | 一种基于域迁移的夜间红外图像动物识别方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144814B2 (en) | Structure defect detection using machine learning algorithms | |
CN109784203B (zh) | 基于分层传播和激活的弱监督x光图像违禁品检查方法 | |
CN116645586A (zh) | 一种基于改进YOLOv5的港口集装箱损伤检测方法及*** | |
EP3899508A1 (en) | Automated inspection system and associated method for assessing the condition of shipping containers | |
CN107680092B (zh) | 一种基于深度学习的集装箱锁扣检测及预警方法 | |
EP3699579B1 (en) | Inspection method and inspection device and computer-readable medium | |
CN110348437B (zh) | 一种基于弱监督学习与遮挡感知的目标检测方法 | |
WO2020238256A1 (zh) | 基于弱分割的损伤检测方法及装置 | |
WO2020060895A1 (en) | Method and apparatus for vehicle damage identification | |
CN113920107A (zh) | 一种基于改进yolov5算法的绝缘子破损检测方法 | |
CN109858414A (zh) | 一种***分块检测方法 | |
CN113159120A (zh) | 一种基于多尺度跨图像弱监督学习的违禁物检测方法 | |
CN111797829A (zh) | 一种车牌检测方法、装置、电子设备和存储介质 | |
CN112861915A (zh) | 一种基于高级语义特征无锚框非合作目标检测方法 | |
CN116824335A (zh) | 一种基于YOLOv5改进算法的火灾预警方法及*** | |
CN113096085A (zh) | 基于两阶段卷积神经网络的集装箱表面损伤检测方法 | |
CN112287884A (zh) | 一种考试异常行为检测方法、装置及计算机可读存储介质 | |
Cardellicchio et al. | On the use of YOLOv5 for detecting common defects on existing RC bridges | |
CN112418207B (zh) | 一种基于自注意力蒸馏的弱监督文字检测方法 | |
IZUMI et al. | Low-cost training data creation for crack detection using an attention mechanism in deep learning models | |
Villanueva et al. | Crack detection and classification for reinforced concrete structures using deep learning | |
CN113887455B (zh) | 一种基于改进fcos的人脸口罩检测***及方法 | |
CN115984219A (zh) | 产品表面缺陷检测方法、装置、电子设备及存储介质 | |
CN116246096A (zh) | 一种基于前景强化知识蒸馏的点云3d目标检测方法 | |
CN111369508A (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 |