CN113657423A - 适用于小体积零件与堆叠零件的目标检测方法及其应用 - Google Patents
适用于小体积零件与堆叠零件的目标检测方法及其应用 Download PDFInfo
- Publication number
- CN113657423A CN113657423A CN202110710319.3A CN202110710319A CN113657423A CN 113657423 A CN113657423 A CN 113657423A CN 202110710319 A CN202110710319 A CN 202110710319A CN 113657423 A CN113657423 A CN 113657423A
- Authority
- CN
- China
- Prior art keywords
- model
- yolov3
- improved
- target
- parts
- 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 87
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims description 37
- 238000011176 pooling Methods 0.000 claims description 21
- 230000004927 fusion Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 15
- 238000009776 industrial production Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000004873 anchoring Methods 0.000 claims description 5
- 238000002372 labelling Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 15
- 238000000605 extraction Methods 0.000 description 14
- 238000005286 illumination Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000000052 comparative effect Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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/047—Probabilistic or stochastic 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/08—Learning methods
Abstract
本发明公开了一种适用于小体积零件与堆叠零件的目标检测方法及其应用,将目标图片输入训练好的YOLOv3改进模型中,训练好的YOLOv3改进模型输出目标类别;YOLOv3改进模型相比于YOLOv3模型的改进之处在于,采用改进Focal Loss公式替换YOLOv3模型损失函数中负样本置信度部分,并在YOLOv3网络结构的最后一个特征尺度与检测层之间加入SPP模块。本发明的目标检测方法,通过YOLOv3改进模型进行目标检测,YOLOv3改进模型通过结合局部和全局多尺度特征,能够适用于小目标和堆叠目标的检测,同时具有分类精度高、对设备硬件及数据集数量的要求较低且识别速度快的特点,极具应用前景。
Description
技术领域
本发明属于视觉检测技术领域,涉及一种适用于小体积零件与堆叠零件的目标检测方法及其应用。
背景技术
随着工业化的飞速发展,在大量重复性劳动的工业生产自动化的过程中,智能制造领域成为了新的焦点。零件识别是工业自动化与智能化方向的一个重要基础,在智能制造领域中具有广泛的应用场景,例如智能仓储的目标检测系统、传送带上的零件识别分类、智能装配车间的零件检测等等。零件识别检测是智能制造领域发展所面临的首要问题,解决这个问题是实现自动化生产的第一需求。
由于社会的进步与科学技术的应用,深度学习技术成为了处理工业零件识别问题的一种主要手段。近年来在提取特征的识别算法方面,提出了很多融合算法,如局部二值模式与向量机融合识别法,基于SVM与组合矩识别法,基于角点检测和霍夫变换识别法。基于深度学习的方法能显著地降低手工设计目标特征的工作量,还可以准确判断目标类别和方位。通过使用机器人模拟人类视觉,在非结构环境下,识别的精度和速度也可以保持令人满意的效果。卷积神经网络不仅可以有效地学习检测目标的图像特征,也依然能够大量地降低检测目标所需要的训练参数量,许多基于CNN的经典目标检测算法如R-CNN、YOLO以及SSD均可以广泛地应用于大多数的目标检测的领域。R-CNN(Region-CNN)、SSD(SingleShotMultiBox Detector)和YOLO(You Only Look Once)等网络结构经过多次迭代,性能上已经超越了传统上的图像识别算法。在零件识别过程中经常会遇到目标体积较小的情况,由于小目标零件的有效特征信息少,工程零件的大小与拍摄角度的问题,可能会产生样本数据不均衡,再加上工程实践中存在的干扰件等影响因素,会影响系统对目标的检测效率。虽然YOLOv3算法在零件识别领域效果不错,但在面对非结构化特定场景时,检测精度不高。所以为了提高系统的工程可用性,必须提高系统对小目标零件的识别效率。YOLOv3使用FPN模块增强了对小目标识别的成功率,但在面对堆叠目标的识别效果比较低,虽然在卷积层上实现了多尺度预测,但在同一层时,多尺度局部特征融合的性能不行。
基于卷积神经网络的目标检测可以有效地自动的从图像中提取特征信息,提取的特征具有非常好的图像表达能力。然而在实际处理工业零件检测分类时,还存在以下缺陷:
第一,由于在实际场景下会存在多种目标零件外形过于相似、相互遮挡,零件自身的特征不明显等复杂条件的干扰,传统上的目标检测算法准确率不高、结果误差大,识别速度达不到预期水平。
第二,深度学习网络性能优越,可以实现大规模的零件识别分类。但是深度学习需要高要求的计算性能和大量的数据集,以满足深度学习的数据需求,这又成为在机器视觉领域应用的瓶颈。
第三,为了获取更好的特征表达能力以便取得更好的分类精度,需要增加网络深度,这会增加模型的计算复杂度,同时还需要满足实时性的要求。
因此,开发一种分类精度高、对设备硬件及数据集数量的要求较低且识别速度快的目标检测方法极具现实意义。
发明内容
本发明的目的在于克服现有进行小体积零件与堆叠零件的目标检测分类精度较低、对设备硬件及数据集数量的要求高且识别速度过慢的缺陷,提供一种分类精度高、对设备硬件及数据集数量的要求较低且识别速度快的可适用于小体积零件与堆叠零件的目标检测方法。
为实现上述目的,本发明提供如下技术方案:
适用于小体积零件与堆叠零件的目标检测方法,应用于电子设备,将目标图片输入训练好的YOLOv3改进模型中,训练好的YOLOv3改进模型输出目标类别;
所述YOLOv3改进模型相比于YOLOv3模型的改进之处在于,采用如下改进FocalLoss公式替换YOLOv3模型损失函数中负样本置信度部分,并在YOLOv3网络结构的最后一个特征尺度与检测层之间加入SPP模块,改进Focal Loss公式如下:
其中,y1代表模型激活函数的输出,范围是(0,1),α为平衡因子,用来调整正负样本数量失衡的问题,γ为参数,用以减少简单样本的影响。
由于YOLOv3算法在面对非结构化特定场景时,检测精度不高。而在实际的应用场景中,会经常出现零件体积小、目标特征被遮挡的情况,所以本发明通过对原YOLOv3网络结构进行改进,加大模型对工业零件的特征提取力度,来提高特定条件下的目标检测性能,具体改进如下:
(1)采用改进Focal Loss公式替换YOLOv3模型损失函数中负样本置信度部分:
现有的YOLOv3损失函数采用多尺度特征输出,来对目标进行不同尺度的检测,使用大尺寸的特征图识别较小目标,中等尺寸的特征图识别中等尺寸的目标,小尺寸的特征图识别较大目标,用以改善模型对小目标检测不佳的问题。但是,上述方式没有解决有效样本与无效样本之间数量不平衡的问题。在检测小目标零件时,由于目标较少,经过模型特征尺度生成的检测特征图中,只有少量的检测框包含目标,所以在实际训练过程中,会使许多候选框成为无效样本,导致训练过程中正负样本数出现异常,从而使网络性能下降,无法学习到有用的信息。因此,针对上述问题,使用Focal Loss算法替换原函数中负样本置信度部分避免梯度,提升了有效样本在模型中的比重,保留有效信息,让模型训练更具有鲁棒性。同时本发明还在Focal Loss算法的基础上进行了改进(即改进Focal Loss公式),本发明的改进Focal Loss公式相比于Focal Loss公式(即Focal Loss算法),在实现模型训练的过程中,在原有的基础上加了一个参数γ,随时调整该参数的数值,这样能够减少简单样本的影响。此外,加入了平衡因子α,提高了模型针对正负样本及难易样本的识别性能,用来解决正负样本数量失衡的问题。改进后的损失函数提升了正样本在模型中的比重,保留目标的信息,收敛速度更快,让模型训练更具有鲁棒性,对小目标零件的识别效果更佳。
(2)SPP模块的加入:
本发明在最后一个特征尺度与检测层之间加入SPP模块,使用SPP模块进行池化,增强了对目标特征的识别,能够获得更多的目标特征,提高了堆叠目标和特征不明显目标的识别精度。SPP模块使用了空间金字塔池化(Spatial Pyramid Pooling)思想。SPP模块调换了生成候选框和特征提取两步操作的顺序,用来处理对候选框特征提取时多次计算的问题。SPP模块首先对输入目标实施深层特征图提取,然后通过选择性搜索算法得到目标候选框,并将其映射到所对应的特征提取图上。经过引入SPP模块,极大地减少了模型训练的时间。同时,SPP模块通过Spatial Pyramid Pooling层,对先前提取的目标特征候选框,实施Pooling运算。规范不同种类目标的尺寸,解决了目标外形不规则导致识别准确率下降的问题,提升了模型对目标的特征提取能力。
本发明通过以上技术手段,可以实现对小体积零件与堆叠零件的高精度快速目标检测,同时其对设备硬件及数据集数量的要求较低,极具应用前景。
此外,对于上述改进Focal Loss公式而言,当γ=0时,改进Focal Loss公式就为交叉熵公式。当γ>0时,会让损失函数减少对易分类样本的计算,增加对难分类样本的计算。本申请研究发现当γ=2和α=0.8时,其效果较好。
作为优选的技术方案:
如上所述的适用于小体积零件与堆叠零件的目标检测方法,
虽然YOLOv3算法在零件识别领域效果不错,但在面对非结构化特定场景时,检测精度不高。而在实际的应用场景中,会经常出现零件体积小、目标特征被遮挡的情况,所以需要对原YOLOv3网络结构进行改进,加大模型对工业零件的特征提取力度,来提高特定条件下的目标检测性能。
原YOLOv3模型中的Darknet-53总共拥有53层,这些卷积层主要是用来实现对目标特征的提取。Darknet-53网络实施池化操作后,使用3×3的卷积核来增加特征模型的通道数,然后再用1×1的卷积核去减少特征模型的通道数。最后,得到了3个检测尺度分别为52×52、26×26与13×13的特征图,再通过对这3种尺度的特征图实现互相融合,这样就使得这个模型能够检测不同大小的目标。
但在目标零件被遮挡的情况下,要提高小目标零件,遮挡目标零件的检测精度,就要增强模型对目标的特征提取能力。因此对网络做出以下改进,在原YOLOv3模型的检测输出层上增加一个特征尺度104×104(即YOLOv3改进模型相比于YOLOv3模型多了一个特征尺度),将特征尺度从3个变成为4个,四个特征尺度分别为:104×104,52×52、26×26与13×13。在52×52的特征图后经过翻倍上采样操作后,输出的特征尺度由52×52提升至104×104,再对目标实现充分的浅层特征和深层特征提取,最后通过route层对模型进行特征融合。通过四个特征尺度的检测,融合了全局和局部多尺度特征,强化目标特征图的性能,能够提升对目标特征的提取能力,所以对模型的识别准确率有了一定的提升。
如上所述的适用于小体积零件与堆叠零件的目标检测方法,由于YOLOv3在同一层时,多尺度局部特征融合的性能不行。由此,对SPP模块进行改进,来实现局部特征Pooling和多尺度连接,从而使其能适用于堆叠目标和小目标的检测。
所述SPP模块为改进SPP模块,其包括输入层、多个池化层、特征融合层和输出层;
所述输入层、池化层、特征融合层和输出层依次连接,多个池化层相互并联在输入层和特征融合层之间。改进SPP模块使用空间金字塔的思想,对进行特征尺度提取后的检测图实施5×5,7×7以及9×9的最大池化操作,池化步长均为1。完成上述池化步骤后的特征图与SPP模块的输入特征图实现进一步的concatenate操作(对应特征融合层的操作)。这些特征图可以提取到多尺度的局部区域特征,以作为检测层的输出。同时经过了特征提取器与改进SPP模块后的输出,保留了卷积层提取的特征,再对它进行3×3卷积层和1×1卷积层的卷积操作,实现在不同特征尺度特征图上的检测操作。改进SPP模块通过融合输入的特征图与池化后的特征图,增强了对目标特征的识别,能够获得更多的目标特征,提高了堆叠目标和小目标的识别精度。
改进后的YOLOv3-SPP-4l模型(即增加一个特征尺度的YOLOv3改进模型)通过对特征尺度实施三次池化操作,以增强小目标与遮挡目标的特征提取。随后通过对特征尺度13×13改进的SPP模块输出的特征图实现两倍上采样操作,输出尺度为13×13的特征图。再经过3×3卷积操作后输入1×1卷积层,完成第二次检测。随后重复上述操作,将四个特征尺度的特征图与SPP模块的输入实现concatenate操作,经过3×3的卷积核来增加特征模型的通道数,用1×1的卷积核来减少特征模型的通道数,最终完成预测。该模型通过结合局部和全局多尺度特征,能够适用于小目标和堆叠目标的检测。
如上所述的适用于小体积零件与堆叠零件的目标检测方法,YOLOv3模型中anchorbox的尺寸与比例均是通过公共数据集设置的,不适用于本申请所选用的数据集。对于本申请采用的数据集来说,原始的锚框参数与实际的尺寸相差太大,对应的锚框参数值也不适用,网络自带的anchor box尺寸很难适应当前不同场景下数据集的识别。本申请在使用YOLOv3网络训练模型时发现使用网络自带的anchor值性能较差,不利于对现场零件类目标的识别。为了提高网络性能,最好的办法就是根据识别目标场景的不同重新聚类,改变anchor box的尺寸。因此需要从本申请出发,针对本申请所选用的数据集重新设计锚框的参数,得到适用于本申请的anchor box数值,能够提高网络模型的训练效率,增强本申请的网络结构对上述数据集的检测性能,从而得到更好的检测效果。
本申请采用随机性更小的K-means++算法实现聚类操作,改进YOLOv3网络的anchor值,以适应网络对工业现场小零件类目标的识别,具体是:使用K-means++聚类算法确定YOLOv3改进模型中的锚定框。从四个特征尺度上分别重新对锚定框进行聚类,生成12个不同的锚定框。新的anchor boxes的位置与尺寸更适合于本文所用的数据集,最终达到提高模型目标检测精度的效果。
如上所述的适用于小体积零件与堆叠零件的目标检测方法,所述YOLOv3改进模型是使用已知零件数据集训练的,YOLOv3改进模型的训练过程为:以已知类别的物品图像为输入,以物品的对应类别概率为理论输出,不断调整模型参数的过程,训练的终止条件为达到训练次数上限。
具体为:
1)设定网络的结构和训练次数上限N,权重衰减系数(Weight-decay)设定为0.0005,动量系数(Momentum)取0.9,初始学习率(Base_lr)设置成0.001,使用适应性矩估计(adaptive moment estimation)优化器更新网络的权重,损失函数的超参数分别设置为1,5,1,1,0.1。最大迭代次数为18000次;
2)进行模型训练;
3)判断模型训练是否收敛,若是,则保存模型和Softmax分类器完成训练,若否,则返回步骤2)。
如上所述的适用于小体积零件与堆叠零件的目标检测方法,所述已知零件数据集的构建过程如下:
(1)采集不同角度及不同工业生产环境下各类零件的图像,即为初始已知零件数据集;
(2)对初始已知零件数据集进行预处理;
(3)对预处理后的数据集进行标注。
步骤(1)具体如下:
针对工业制造领域实际场景中出现的视角变化、光照变化、背景干扰等环境因素,采集足够多上述情况下的零件图像。由于实际应用场景的差异,照明系统需要针对实际情况,选择适当的光源类型和光照方式。因为所采集的目标零件表面光滑,在选择直接照明和同轴照明的情况下,都会产生大量反光,减弱目标的表面特征,降低了零件的采集效果。因此,照明系统选择可调节亮度的LED光源和漫反射照明的方式,同时为了减少外部光源对采集的干扰,保证图像质量,进行场景屏蔽。为了满足深度学习的数据要求,对工业零件进行多方向的运动、顺时针和逆时针转动、水平和垂直镜像等操作,同时通过模拟工业生产的环境特征,调整相机的拍摄角度,实现目标的多角度采集,增加了图像数据集的丰富性,并保持了数据分布的均匀性,从而采集了十四类机械零件数据(当然可根据需求设置类别),完成对目标工件图像数据集的采集,构成了初始已知零件数据集。
如上所述的适用于小体积零件与堆叠零件的目标检测方法,所述预处理包括对采集的目标图像进行裁剪,对其进行归一化操作,将图像统一调整为416×416,再采用Multi-Scale Retinex(MSR)算法对目标图像实施数据增强(这是由于原始图像存在噪声影响,在对其裁剪时,会出现目标特征丢失的情况);
由于采集的目标零件尺寸差异较大,会出现许多不需要的区域,采集的图像容易出现高斯噪声,直接输入会降低模型的特征提取能力;此外,模型训练过程使用的图像分辨率与前端采集的图像分辨率不一,一般模型训练过程使用的图像分辨率较低,这样能够减少模型训练所需的计算量,提高模型训练效率,因此需要对原始图像进行预处理。
所述标注是指使用LabelImg图形标注软件,按照指定数据集的格式标注图片,通过使用软件在数据集中框出检测目标的信息,生成带有每个目标位置信息的xml文件。
此外,本发明还提供一种电子设备,包括一个或多个处理器、一个或多个存储器、一个或多个程序、用于获取目标图片的图像采集装置;
所述一个或多个程序被存储在所述存储器中,当所述一个或多个程序被所述处理器执行时,使得所述电子设备执行如上所述的适用于小体积零件与堆叠零件的目标检测方法。
有益效果:
(1)本发明的适用于小体积零件与堆叠零件的目标检测方法,使用K-means++聚类算法对锚定框进行重新设计,从四个特征尺度上分别重新对锚定框进行聚类,生成12个不同的锚定框。新的anchor boxes的位置与尺寸更适合于本申请所用的数据集,最终达到提高模型目标检测精度的效果;
(2)本发明的适用于小体积零件与堆叠零件的目标检测方法,使用了Focal Loss算法替换原函数中负样本置信度部分,在实现模型训练的过程中,在原有的基础上加了一个参数γ,随时调整该参数的数值,这样能够减少简单样本的影响。此外,加入了平衡因子α,提高了模型针对正负样本及难易样本的识别性能,用来解决正负样本数量失衡的问题。改进后的损失函数提升了正样本在模型中的比重,保留目标的信息,收敛速度更快,让模型训练更具有鲁棒性,对小目标零件的识别效果更佳;
(3)本发明的适用于小体积零件与堆叠零件的目标检测方法,针对原始YOLOv3算法对堆叠零件特征提取能力不足的情况,采用改进SPP模块,同时增加模型的特征检测层,提出了基于YOLOv3的YOLOv3-SPP-4l网络模型。改进后的模型融合4个特征尺度,并在融合后的每个特征层上,单独实施预测,强化特征图的表达能力,再使用SPP模块进行池化,增强了对目标特征的识别,能够获得更多的目标特征,提高了堆叠目标和特征不明显目标的识别精度,该模型通过结合局部和全局多尺度特征,能够适用于小目标和堆叠目标的检测,同时具有分类精度高、对设备硬件及数据集数量的要求较低且识别速度快的特点,极具应用前景。
附图说明
图1为本发明的适用于小体积零件与堆叠零件的目标检测方法的整体流程图;
图2为本发明的YOLOv3改进模型的网络结构示意图;
图3为本发明的改进SPP模块的示意图;
图4为对比例1和实施例1的测试结果(loss)的对比示意图(a、b分别对应对比例1——原始模型和实施例1——改进模型);
图5为对比例1和实施例1的模型的P-R曲线。
具体实施方式
下面结合附图,对本发明的具体实施方式做进一步阐述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
一种适用于小体积零件与堆叠零件的目标检测方法,应用于电子设备,其步骤如图1所示,具体为:
(1)构建已知零件数据集:
(1.1)采集不同角度及不同工业生产环境下各类零件的图像,即为初始已知零件数据集;
针对工业制造领域实际场景中出现的视角变化、光照变化、背景干扰等环境因素,采集足够多上述情况下的零件图像。由于实际应用场景的差异,照明系统需要针对实际情况,选择适当的光源类型和光照方式。因为所采集的目标零件表面光滑,在选择直接照明和同轴照明的情况下,都会产生大量反光,减弱目标的表面特征,降低了零件的采集效果。因此,照明系统选择可调节亮度的LED光源和漫反射照明的方式,同时为了减少外部光源对采集的干扰,保证图像质量,进行场景屏蔽。为了满足深度学习的数据要求,对工业零件进行多方向的运动、顺时针和逆时针转动、水平和垂直镜像等操作,同时通过模拟工业生产的环境特征,调整相机的拍摄角度,实现目标的多角度采集,增加了图像数据集的丰富性,并保持了数据分布的均匀性,从而采集了十四类机械零件数据(当然可根据需求设置类别),完成对目标工件图像数据集的采集,构成了初始已知零件数据集。
(1.2)对初始已知零件数据集进行预处理,预处理包括对采集的目标图像进行裁剪,对其进行归一化操作,将图像统一调整为416×416,再采用Multi-Scale Retinex(MSR)算法对目标图像实施数据增强;
(1.3)对预处理后的数据集进行标注,具体是使用LabelImg图形标注软件,按照指定数据集的格式标注图片,通过使用软件在数据集中框出检测目标的信息,生成带有每个目标位置信息的xml文件;
(2)使用已知零件数据集训练YOLOv3改进模型,训练过程为:以已知类别的物品图像为输入,以物品的对应类别概率为理论输出,不断调整模型参数的过程,训练的终止条件为达到训练次数上限,具体为:
(2.1)设定网络的结构和训练次数上限N,权重衰减系数(Weight-decay)设定为0.0005,动量系数(Momentum)取0.9,初始学习率(Base_lr)设置成0.001,使用适应性矩估计(adaptive moment estimation)优化器更新网络的权重,损失函数的超参数分别设置为1,5,1,1,0.1。最大迭代次数为18000次;
(2.2)进行模型训练;
(2.3)判断模型训练是否收敛,若是,则保存模型和Softmax分类器完成训练,若否,则返回步骤(2.2);
上述YOLOv3改进模型(其结构如图2所示)相比于YOLOv3模型的改进之处在于,采用如下改进Focal Loss公式替换YOLOv3模型损失函数中负样本置信度部分,YOLOv3改进模型的检测输出层上增加一个特征尺度并在YOLOv3网络结构的最后一个特征尺度与检测层之间加入SPP模块,改进Focal Loss公式如下:
其中,y1代表模型激活函数的输出,范围是(0,1),α为平衡因子,γ为参数;
SPP模块为如图3所示的改进SPP模块,其包括输入层、多个池化层、特征融合层和输出层;
输入层、池化层、特征融合层和输出层依次连接,多个池化层相互并联在输入层和特征融合层之间;
同时使用K-means++聚类算法确定YOLOv3改进模型中的锚定框;
(3)将目标图片输入训练好的YOLOv3改进模型中,训练好的YOLOv3改进模型输出目标类别。
对比例1
一种目标检测方法,其与实施例1基本相同,不同在于,其YOLOv3改进模型为原YOLOv3模型。
为了验证本发明的方法的性能,本申请在自制数据集上进行了测试,并且与原YOLOV3算法(即对比例1)实验结果进行了分析比较。本申请所使用数据集为自主拍摄并标注的数据集,总计4000张图片,包含十几类工业零件。选用了自制数据集中的3500张图片为零件识别实验的训练集,500张图片为零件识别实验测试集。使用上述的训练集实施了充分的训练,通过验证集测试模型的检测性能以及训练的识别效果,YOLOv3(即对比例1)与改进算法(即实施例1)的loss对比图如图4所示,由图4可以看出,本申请的模型在经过14000次迭代之后,已经基本收敛。当模型迭代次数在16000时,改进的模型(YOLOv3改进模型)的平均loss值为0.1860,比原YOLOv3的0.2489有所降低,说明本模型(YOLOv3改进模型)更容易收敛。
在图5的P-R曲线中,P-R曲线围起来的面积就是AP值。实线曲线为YOLOv3模型,它对应的P-R曲线与坐标轴围成的面积小,即AP较低,效果不是十分理想;带三角符号曲线为改进后的YOLOv3-SPP-4l模型(YOLOv3改进模型),其对应的P-R曲线围成的面积比实线曲线的大,这代表改进后的模型AP值有所提升。在Recall值相同的情况下,YOLOv3-SPP-4l模型(YOLOv3改进模型)的检测精度要高于改进前的模型,这说明YOLOv3改进模型在不同类别零件检测下表现不错。
YOLOv3模型与YOLOv3改进模型结果对比,如表1所示:
表1 YOLOv3与YOLOv3改进模型结果对比
YOLOv3模型与YOLOv3改进模型各个目标检测结果对比,如表2所示:
表2 YOLOv3模型与YOLOv3改进模型各个目标检测结果对比
由表1、表2可以看出,YOLOv3模型的平均精度均值(mAP)达到了85.1%,FPS为36.4帧/s。其中在对正常零件的检测效果较好,在面对小目标和相似目标时,YOLOv3的准确率比较低。YOLOv3改进模型平均检测精度(mAP)均高于原算法,达到了88.7%,总体上比原算法提升了3.6%,同时对小目标零件的检测,YOLOv3改进模型的提升效果比较明显,这表明YOLOv3改进模型效果比较好。在检测速度方面,由于YOLOv3改进模型增加了第四个尺度检测,提升了在多目标干扰场景下的检测精度,但YOLOv3改进模型检测的FPS仅比原YOLOv3算法少1.6帧/s,因此也保证了模型的实时性。综合分析表明,改进网络模型,选择更为匹配的锚框尺寸,可以提高模型的目标检测能力,同时改进后的算法在不显著增加模型复杂性和降低检测速度的情况下,增强了对于不同场景下目标的识别性能。
为了更加有效地验证改进YOLOv3模型的性能,使用SSD300、Faster R-CNN、YOLOv3与YOLOv3改进模型结果进行对比试验,如表3所示。
表3多种算法检测效果对比
由表3可以看出,改进YOLOv3模型与原YOLOv3算法相比,虽然平均检测时间增加了3ms,但mAP提高了3.6%,因此改进YOLOv3模型依然能在满足实时性需求的情况下,提高模型的识别精度。Faster R-CNN不仅准确率低于改进YOLOv3模型,而且检测时间远远多于改进YOLOv3模型,而SSD在检测速度和精度上也都不如改进YOLOv3模型。综合以上训练结果来看,改进YOLOv3模型对复杂情况下多目标检测有较强的鲁棒性。
实施例2
一种电子设备,包括一个或多个处理器、一个或多个存储器、一个或多个程序、用于获取目标图片的图像采集装置;
一个或多个程序被存储在存储器中,当一个或多个程序被处理器执行时,使得电子设备执行如实施例1所述的适用于小体积零件与堆叠零件的目标检测方法。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应该理解,这些仅是举例说明,在不违背本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改。
Claims (8)
2.根据权利要求1所述的适用于小体积零件与堆叠零件的目标检测方法,其特征在于,所述YOLOv3改进模型的检测输出层上增加一个特征尺度。
3.根据权利要求1所述的适用于小体积零件与堆叠零件的目标检测方法,其特征在于,所述SPP模块为改进SPP模块,其包括输入层、多个池化层、特征融合层和输出层;
所述输入层、池化层、特征融合层和输出层依次连接,多个池化层相互并联在输入层和特征融合层之间。
4.根据权利要求1所述的适用于小体积零件与堆叠零件的目标检测方法,其特征在于,使用K-means++聚类算法确定YOLOv3改进模型中的锚定框。
5.根据权利要求1所述的适用于小体积零件与堆叠零件的目标检测方法,其特征在于,所述YOLOv3改进模型是使用已知零件数据集训练的,YOLOv3改进模型的训练过程为:以已知类别的物品图像为输入,以物品的对应类别概率为理论输出,不断调整模型参数的过程,训练的终止条件为达到训练次数上限。
6.根据权利要求5所述的适用于小体积零件与堆叠零件的目标检测方法,其特征在于,所述已知零件数据集的构建过程如下:
(1)采集不同角度及不同工业生产环境下各类零件的图像,即为初始已知零件数据集;
(2)对初始已知零件数据集进行预处理;
(3)对预处理后的数据集进行标注。
7.根据权利要求6所述的适用于小体积零件与堆叠零件的目标检测方法,其特征在于,所述预处理包括对采集的目标图像进行裁剪,对其进行归一化操作,再采用Multi-ScaleRetinex算法对目标图像实施数据增强;
所述标注是指使用图形标注软件,按照指定数据集的格式标注图片。
8.一种电子设备,其特征在于,包括一个或多个处理器、一个或多个存储器、一个或多个程序、用于获取目标图片的图像采集装置;
所述一个或多个程序被存储在所述存储器中,当所述一个或多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1~7任一项所述的适用于小体积零件与堆叠零件的目标检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710319.3A CN113657423A (zh) | 2021-06-25 | 2021-06-25 | 适用于小体积零件与堆叠零件的目标检测方法及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710319.3A CN113657423A (zh) | 2021-06-25 | 2021-06-25 | 适用于小体积零件与堆叠零件的目标检测方法及其应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113657423A true CN113657423A (zh) | 2021-11-16 |
Family
ID=78489011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710319.3A Pending CN113657423A (zh) | 2021-06-25 | 2021-06-25 | 适用于小体积零件与堆叠零件的目标检测方法及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113657423A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114890091A (zh) * | 2022-04-26 | 2022-08-12 | 湖南军芃科技股份有限公司 | 一种矿石智能分选机给料系统及其多目标优化方法 |
CN116188767A (zh) * | 2023-01-13 | 2023-05-30 | 湖北普罗格科技股份有限公司 | 一种基于神经网络的堆叠木板计数方法及系统 |
CN116227306A (zh) * | 2023-05-08 | 2023-06-06 | 中汽研(天津)汽车工程研究院有限公司 | 用于有限元网格划分的零件连接结构自动识别方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685152A (zh) * | 2018-12-29 | 2019-04-26 | 北京化工大学 | 一种基于dc-spp-yolo的图像目标检测方法 |
CN110443208A (zh) * | 2019-08-08 | 2019-11-12 | 南京工业大学 | 一种基于YOLOv2的车辆目标检测方法、系统及设备 |
US20200242392A1 (en) * | 2019-01-28 | 2020-07-30 | Shenzhen Malong Technologies Co., Ltd. | Mislabeled product detection |
CN111553387A (zh) * | 2020-04-03 | 2020-08-18 | 上海物联网有限公司 | 一种基于Yolov3的人员目标检测方法 |
US20200265591A1 (en) * | 2019-04-23 | 2020-08-20 | Jiangnan University | Visual Multi-Object Tracking based on Multi-Bernoulli Filter with YOLOv3 Detection |
CN111753787A (zh) * | 2020-07-01 | 2020-10-09 | 江苏金海星导航科技有限公司 | 一种分离式的交通标志检测与识别方法 |
CN112464883A (zh) * | 2020-12-11 | 2021-03-09 | 武汉工程大学 | 一种自然场景下船舶目标自动检测识别方法与系统 |
CN112528934A (zh) * | 2020-12-22 | 2021-03-19 | 燕山大学 | 一种基于多尺度特征层的改进型YOLOv3的交通标志检测方法 |
US11003919B1 (en) * | 2020-10-16 | 2021-05-11 | Hayden Al Technologies, Inc. | Systems and methods for detecting traffic violations using mobile detection devices |
CN112819771A (zh) * | 2021-01-27 | 2021-05-18 | 东北林业大学 | 一种基于改进YOLOv3模型的木材缺陷检测方法 |
-
2021
- 2021-06-25 CN CN202110710319.3A patent/CN113657423A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109685152A (zh) * | 2018-12-29 | 2019-04-26 | 北京化工大学 | 一种基于dc-spp-yolo的图像目标检测方法 |
US20200242392A1 (en) * | 2019-01-28 | 2020-07-30 | Shenzhen Malong Technologies Co., Ltd. | Mislabeled product detection |
US20200265591A1 (en) * | 2019-04-23 | 2020-08-20 | Jiangnan University | Visual Multi-Object Tracking based on Multi-Bernoulli Filter with YOLOv3 Detection |
CN110443208A (zh) * | 2019-08-08 | 2019-11-12 | 南京工业大学 | 一种基于YOLOv2的车辆目标检测方法、系统及设备 |
CN111553387A (zh) * | 2020-04-03 | 2020-08-18 | 上海物联网有限公司 | 一种基于Yolov3的人员目标检测方法 |
CN111753787A (zh) * | 2020-07-01 | 2020-10-09 | 江苏金海星导航科技有限公司 | 一种分离式的交通标志检测与识别方法 |
US11003919B1 (en) * | 2020-10-16 | 2021-05-11 | Hayden Al Technologies, Inc. | Systems and methods for detecting traffic violations using mobile detection devices |
CN112464883A (zh) * | 2020-12-11 | 2021-03-09 | 武汉工程大学 | 一种自然场景下船舶目标自动检测识别方法与系统 |
CN112528934A (zh) * | 2020-12-22 | 2021-03-19 | 燕山大学 | 一种基于多尺度特征层的改进型YOLOv3的交通标志检测方法 |
CN112819771A (zh) * | 2021-01-27 | 2021-05-18 | 东北林业大学 | 一种基于改进YOLOv3模型的木材缺陷检测方法 |
Non-Patent Citations (3)
Title |
---|
JUNJIE SHI: ""A Vehicle Detection Method Based on Improved YOLOv3"", 《 2021 IEEE 5TH ADVANCED INFORMATION TECHNOLOGY, ELECTRONIC AND AUTOMATION CONTROL CONFERENCE》 * |
聂鑫;刘文;吴巍;: "复杂场景下基于增强YOLOv3的船舶目标检测", 计算机应用, no. 09 * |
陈晓艳: ""基于YOLOv3的轻量化高精度多目标检测模型"", 《天津科技大学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114890091A (zh) * | 2022-04-26 | 2022-08-12 | 湖南军芃科技股份有限公司 | 一种矿石智能分选机给料系统及其多目标优化方法 |
CN116188767A (zh) * | 2023-01-13 | 2023-05-30 | 湖北普罗格科技股份有限公司 | 一种基于神经网络的堆叠木板计数方法及系统 |
CN116188767B (zh) * | 2023-01-13 | 2023-09-08 | 湖北普罗格科技股份有限公司 | 一种基于神经网络的堆叠木板计数方法及系统 |
CN116227306A (zh) * | 2023-05-08 | 2023-06-06 | 中汽研(天津)汽车工程研究院有限公司 | 用于有限元网格划分的零件连接结构自动识别方法 |
CN116227306B (zh) * | 2023-05-08 | 2023-07-28 | 中汽研(天津)汽车工程研究院有限公司 | 用于有限元网格划分的零件连接结构自动识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062915B (zh) | 一种基于改进YOLOv3模型的实时钢管缺陷检测方法 | |
WO2020177432A1 (zh) | 基于目标检测网络的多标签物体检测方法、系统、装置 | |
CN109509187B (zh) | 一种针对大分辨率布匹图像中的小瑕疵的高效检验算法 | |
CN113657423A (zh) | 适用于小体积零件与堆叠零件的目标检测方法及其应用 | |
CN110148130B (zh) | 用于检测零件缺陷的方法和装置 | |
CN114638784A (zh) | 一种基于fe-yolo的铜管表面缺陷检测方法及装置 | |
CN110909623B (zh) | 三维目标检测方法及三维目标检测器 | |
CN110781882A (zh) | 一种基于yolo模型的车牌定位和识别方法 | |
CN113361645B (zh) | 基于元学习及知识记忆的目标检测模型构建方法及系统 | |
CN113888461A (zh) | 基于深度学习的小五金件缺陷检测方法、系统及设备 | |
CN109816634B (zh) | 检测方法、模型训练方法、装置及设备 | |
CN110827312A (zh) | 一种基于协同视觉注意力神经网络的学习方法 | |
CN112200163B (zh) | 水下底栖生物检测方法及系统 | |
CN110443295A (zh) | 改进的图像匹配与误匹配剔除算法 | |
CN113901874A (zh) | 一种基于改进R3Det旋转目标检测算法的茶叶嫩芽识别与采摘点定位方法 | |
CN113780423A (zh) | 一种基于多尺度融合的单阶段目标检测神经网络及工业品表面缺陷检测模型 | |
Zhang et al. | Multi-scale defect detection of printed circuit board based on feature pyramid network | |
CN111178405A (zh) | 一种融合多种神经网络的相似物体识别方法 | |
CN116503760A (zh) | 基于自适应边缘特征语义分割的无人机巡航检测方法 | |
CN111709429B (zh) | 一种基于卷积神经网络的机织物结构参数识别方法 | |
CN105205826B (zh) | 一种基于方向直线筛选的sar图像目标方位角估计方法 | |
Tan et al. | An application of an improved FCOS algorithm in detection and recognition of industrial instruments | |
CN114187501A (zh) | 包裹检测方法、装置及系统 | |
CN112200850A (zh) | 一种基于成熟特征点的orb提取方法 | |
CN107146244B (zh) | 基于pbil算法的图像配准方法 |
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 |