基于计算机视觉的小口径容器内壁缺陷检测方法



1.本发明涉及计算机视觉检测系统,特别是涉及一种基于计算机视觉的小口径容器内壁缺陷检测方法。


背景技术:



2.小口径容器是现代工业产品的重要种类,应用广泛。由于容器的口径和内径不完全一致,而且现代工业对产品的规格与品质要求非常严格,这给小口径容器内壁的质量检测带来了诸多困难。例如,许多汽车和摩托车发动机气缸、精密陶器、玉器等产品,其小口径内壁检测主要采用人工目测,不仅检测效率低下,而且其品质保障多受人为因素影响,精度无法保证,这种单纯依靠人眼进行主观评判的检测方式已经无法适应智能制造的生产模式和现代工业产品的高质量要求。由此,诸如射线检测、超声检测、渗透检测以及光学检测等各类检测精度更稳定、识别结果更可靠的先进检测技术逐渐受到重视。近年来,随着数字图像处理技术与机器学习算法的日益成熟,基于计算机视觉的产品缺陷检测方法,由于其在线检测更容易实现、部署成本更低、检测精度更稳定、环境适应性更强、识别结果更直观等技术优势,逐渐成为现代制造业产品质量检测比较重要的技术手段之一。
3.目前,基于机器视觉的缺陷检测方法主要是包括两种类型。第一种是基于数据驱动的深度学习算法。近年来随着计算机硬件系统和算力大幅提升所带来的重大变革,深度学习模型以其具备处理速度快、识别精度高等显著优势,已经逐渐在数据集充足的应用场景占据一定市场。但是深度学习模型存在需要海量数据做支撑的局限性,对于数据集过小或图片不容易采集的工业场景,无法进行有效部署。第二种是传统算法,凭借其严谨的数学推导、透明化数据处理流程、部署成本低廉、算法所需样本较小等优点,得以在工业领域持续发力。但是传统算法的泛化性太差,调试过程繁琐,给研发人员带来较大开发阻力,而且传统算法在检测的精度和速度上不能同时兼顾,需要针对不同项目的着重点进行算法优化。


技术实现要素:



4.本发明旨在解决现有容器曲面内壁质量检测中存在的技术问题,特别创新地提出了一种基于计算机视觉的小口径容器内壁缺陷检测方法。
5.为了实现本发明的上述目的,本发明提供了一种基于计算机视觉的小口径容器内壁缺陷检测方法,包括以下步骤:
6.s1,采集不规则产品内壁曲面的图像;
7.所述采集运动机构包括:底座1、安装在底座1上的旋转托盘2、位于底座1一侧的立柱4、立柱4上设置有可上下升降的升降器,水平连接杆5设置在升降器上,在水平连接杆5末端设置有竖向延伸的内窥摄像头安装板,在所述内窥摄像头安装板上安装有位于中间并间隔设置的内窥摄像头6和位于内窥摄像头6左右两侧的光源设备7。
8.s2,使用网格标定法来矫正单张图像的畸变,然后将多张图像拼接;
9.s3,对拼接后的图像进行缺陷检测和识别。
10.进一步地,所述使用网格标定法来矫正单张图像的畸变包括:
11.(1)对拍摄的标准图像使用阈值分割出网格边缘,并采用形态学对图像进行开运算,提取标准图像的边框;
12.(2)以最中间一列矩形格的像素值k为基准,依次向两边计算每一列矩形格的像素值分别为中心向左的每一列宽度的像素值v1,v2,v3,v4,v5....v
x
和中心向右的每一列宽度的像素值w1,w2,w3,w4,w5....wy;若矩形格的列数为单数,x=y,若矩形格的列数为双数,取中间两列中的任一列为最中间一列。其中每一列内矩形格的像素值相等。
13.(3)计算相邻列的矩形格与最中间一列矩形格宽度的像素比值得到中间向左的横向畸变比例为a1,a2,a3,a4,a5....a
x
,中间向右的横向畸变比例为b1,b2,b3,b4,b5....by;
14.(4)以中心一列为基准,依次将中间向左的每一列的像素横向乘以a1,a2,a3,a4,a5....a
x
倍,中间向右的每一列的像素横向乘以b1,b2,b3,b4,b5....by倍,以此达到矫正图像的效果。
15.进一步地,所述标准图像由若干等大小的矩形构成。
16.进一步地,图像拼接包括以下步骤:
17.将相邻两张图像分为w
×
w个网格,使用方差比值计算两个图像的拼接候选区域,然后使用surf算法对两个图像的候选区域进行拼接。
18.进一步地,所述使用方差比值计算两个图像的拼接候选区域包括:
19.s10,将两个图像都划分为w
×
w个网格,每个网格内部有个像素,之后计算每一个网格里面每一列像素的方差分别为
20.s20,将每一个网格里面的最中间一列像素的方差作为标准,计算其余列像素的方差与最中间一列像素方差的比值
21.s30,计算每个网格内个像素的灰度值众数,统计当前网格内与灰度值众数相等的像素值的个数;
22.s40,设定阈值,若灰度值众数相等的像素个数大于阈值,则认定该网格为无效区域,不进行计算匹配;
23.s50,将两个图像的w
×
w个网格的方差比值作为特征向量,然后用欧氏距离计算相似度,计算出第一个图像w
×
w个区域分别与第二个图像的最相似的区域的相似度s和对应的第二个图像相似区域的行列数p
hl
,分别保存到两个w
×
w的矩阵;
24.s60,将上述矩阵按照欧氏距离的值,出欧氏距离最小的多个连续的网格,从而划分出一个最大可能区域作为后续匹配的候选区域。
25.进一步地,使用surf算法对两个图像的候选区域进行拼接包括:
26.根据候选区域,使用surf算法提取到矫正图像的特征向量,然后使用黑塞矩阵求出特征,再通过滤波器构建相应的尺度空间,在当前尺度和相邻两层定位精确的特征点,统计特征点圆形邻域内的harr小波特征。
27.将值最大的那个扇形的方向作为该特征点的主方向。haar小波特征为水平方向值之后、垂直方向值之后、水平方向绝对值之后以及垂直方向绝对值之和4个方向。通过计算两个特征点间的欧式距离来确定匹配度,欧氏距离越短,代表两个特征点的匹配度越好。再使用第一幅图的特征向量和第二张图像的最近特征向量和次近特征向量比较,若大于设定的阈值则认为两图匹配,并以此交叉部分做拼接。
28.进一步地,采用改进的ssd网络作为特征提取网络对处理后的图像进行缺陷识别,包括以下步骤:
29.s100,将图像输入到剪枝的efficientnet b3网络,经过3x3的卷积和5个超参数不同的mbconv block得到特征图一;再通过三个mbconv block得到特征图二;
30.s200,将特征图一和特征图二分别通过三个1x1的卷积进行升维,得到特征图conv4_3和特征图conv7;
31.s300,将特征图conv7进行l2归一化,再使用一个大小为1x1的卷积核降低特征图通道数,再接一个残差模块和坐标注意力,强化网络对方向和位置等信息的敏感度,之后使用一个大小为3x3,步长为2,padding为1的卷积核,输出特征图conv8_2;
32.conv8_2使用一个大小为1x1的卷积核将特征图通道数降低,后面接一个残差模块和坐标注意力,使用一个大小为3x3,步长为2,padding为1的卷积核,输出特征图conv9_2;
33.conv9_2使用一个大小为1x1的卷积核将特征图通道数降低,后面接一个残差模块和坐标注意力,使用一个大小为3x3的卷积核,输出特征图conv10_2;
34.conv10_2使用一个大小为1x1的卷积核将特征图通道数降低,后面接一个残差模块和坐标注意力,使用一个大小为3x3的卷积核,输出特征图conv11_2;
35.其中残差模块的结构是一个1x1的卷积升维,3x3的卷积,数据标准化层,激活层,3x3的卷积,数据标准化层,得到的数据与输入的x相加,激活层,1x1的卷积降维,输出结果。
36.其中坐标注意力的结构是将高h和宽w分别进行平均池化,通过concat和1x1的卷积,relu激活函数层,再经过标准化层,和一个1x1的卷积,sigmod层,最终将这两个分量和输入值x相乘,得到处理后的特征图。
37.s400,在conv4_3,conv_7,conv8_2,conv9_2,conv10_2,conv11_2六个特征图上生成若干先验框,并使用极大值抑制的方法去除多余的先验框;
38.s500,计算目标的损失函数;
39.s600,将损失函数作为参数,使用梯度下降法训练改进的ssd模型,具体是计算函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模),计算得到各层最佳的权重和偏置,完成模型训练。
40.s700,使用完成训练改进的ssd模型进行缺陷检测,将有缺陷的照片传到前端进行展示。
41.所述改进的ssd模型是在原ssd网络的conv8_2,conv9_2,conv10_2,conv11_2这四层的前面加上一个residualblock(残差模块)和ca(坐标注意力),用以提高对小物体的检测精度。此外将conv4_3,conv_7,conv8_2,conv9_2,conv10_2,conv11_2这六层特征层作为检测层,在这六个不同尺度的特征图生成若干先验框,计算每个先验框的置信度损失函数和位置损失函数,相加之后通过反向传播和梯度下降算法改变神经网络的每一层的偏置和
权重,完成网络的训练并识别缺陷。
42.相较于原本的ssd主要是对整体性能提升,识别速度更快,精度更高,模型对开发人员的开发经验需求更小,泛化性更高,对不同的识别任务不需要过多的个体调整。
43.综上所述,由于采用了上述技术方案,本发明能够快速、准确地识别小口径容器内壁缺陷,且对开发人员的开发经验需求更小,泛化性更高,对不同的识别任务不需要过多的个体调整。
44.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
45.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
46.图1是本发明的采集运动机构示意图。
47.图2是本发明方法的流程示意图。
48.图3是本发明标准图像示意图。
49.图4是本发明两个图像的拼接示意图。
50.图5是本发明改进的ssd网络的结构示意图。
具体实施方式
51.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
52.本发明通过采集运动机构采集图像,机构如图1所示,包括:底座1、安装在底座1上的旋转托盘2、位于底座1一侧的立柱4、立柱4上设置有可上下升降的升降器,水平连接杆5设置在升降器上,在水平连接杆5末端设置有竖向延伸的内窥摄像头安装板,在所述内窥摄像头安装板上安装有位于中间并间隔设置的内窥摄像头6和位于内窥摄像头6左右两侧的光源设备7。其内窥摄像头6的个数为三个,从上到下依次分别为第一内窥摄像头、第二内窥摄像头和第三内窥摄像头,设置三个内窥摄像头用于克服因为视野较小可视高度为3厘米,容器内高度为9厘米带来的需要多个位置拍摄从而耗费三倍时间的缺陷,具有成像范围成倍增加数倍的效果,设置旋转托盘2有利于拍摄待测工件的一周内壁;第一内窥摄像头的图像数据输出端与控制器的图像输入第一端相连,第二内窥摄像头的图像数据输出端与控制器的图像输入第二端相连,第三内窥摄像头的图像数据输出端与控制器的图像输入第三端相连,控制器的上下升降控制端与升降器的上下升降控制端相连,控制器的光源点亮控制端与光源设备7的点亮控制端相连,控制器的正反转控制端与旋转托盘2的正反转控制端相连。
53.旋转托盘2上设置有用于固定待测工件的定位环3,内窥摄像头6能通过升降器伸入待测工件内进行探测。限位环3包括多种尺寸的阶梯式同心限位环,限位环的孔径从大到小依次向底部分布,放置工件时,待测工件的管状圆心和限位孔圆心对齐,以达到图像采集标准化。本发明待测的小口径容器内部的横截面均为同心圆。
54.所述内窥摄像头6为面阵相机,刷新率为30帧,分辨率为500w像素,通过usb口连接电脑8。
55.所述水平连接杆5底部安装有红外测距发射器,在底座1上设置有红外测距接收器,红外测距发射器位于红外测距接收器的正上方,红外测距发射器发出的红外线巧好能被红外测距接收器接收到,红外测距发射器的红外发射控制端与控制器的红外发射控制端相连,红外测距接收器的数据输出端与控制器的数据输入端相连;红外测距发射器和红外测距接收器构成红外测距传感器,通过红外测距传感器用于判断是否到达重置位和检测位,当红外测距发射器与红外测距接收器间的距离等于第一预设距离阈值,此时为重置位,当红外测距发射器与红外测距接收器间的距离等于第二预设距离阈值,第一预设距离阈值大于第二预设距离阈值,此时为检测位。
56.其红外测距发射器与红外测距接收器间的距离计算方法为:
57.l=c
×
(t
发射-t
接收
)*(1-η),
58.其中,l表示红外测距发射器与红外测距接收器间的距离;
59.t
发射
表示红外测距发射器发射红外线的时刻;
60.t
接收
表示红外测距接收器接收到红外线的时刻;
61.c表示红外线的速度;
62.η表示误差率,η∈(0,1.15%];
63.控制器为stm32单片机。
64.系统通过在循环中不断刷新采集的图像来达到采集图像的目的,测试过程中将间隔固定时间刷新一次来获取整个曲面的图像。
65.所述光源设备7优选为白led背光板,供电电压为3.3v,与成像面保持30度夹角,保持两个led背光板较均匀照射到管状内表面。
66.立柱4采用的步进电机和驱动旋转托盘2的步进电机分别使用两个24v电源分别供电,能有效避免电流过大烧毁电源。
67.本发明装置通过单片机控制,本专利使用stm32的f0系列单片机,具体参数是32位risc内核、两个i2c、spi一个12位adc,上位机8和单片机使用蓝牙配对通信,最终用单片机控制底盘旋转的电机和丝杆上下移动的电机,驱动方式是使用四路io口轮流改变电位高低控制步进电机的四个磁极。
68.其中上位机8使用串口通信向stm32单片机下发指令,单片机驱动托盘开始旋转,上位机8保持固定的时间间隔截取三个摄像头捕捉的图像,电脑端上位机8程序显示算法识别出的缺陷。
69.通过此装置,能够有效改善市面上目前存在两种成熟的图像采集方案所存在的问题。第一种是采集速度很快,但是存在采集图像畸变较大,图像精度较低等缺点的俯瞰式图像采集系统;第二种是具有采集图像更直观、精度较高、等优点,但是存在采集效率低下这个重大缺陷,利用玻璃倾斜45度反射到内窥镜的图像采集系统。
70.本发明提供了一种基于计算机视觉的小口径容器内壁缺陷检测方法,如图2所示:
71.s1,水平连接杆5从待测位下降到检测位;
72.s2,旋转托盘2按照固定角度转动并拍摄图像,直至转动一周,图像拍摄完毕;
73.s3,矫正图像畸变;
74.s4,对图像进行拼接;
75.s5,采用改进的ssd网络进行特征提取,判断是否有缺陷;若是,则在上位机8显示缺陷图像;若否,则在上位机8显示合格。
76.具体实施例如下:
77.s1,上位机8使用蓝牙通信向stm32单片机下发验证指令,待上位机8和单片机确认通信正常后开始检测流程。
78.s2,上位机8发送信号,检测开始,单片机驱动立柱4向下滑动,将探测安装支架从待测位下降到检测位,使三个相机拍摄的范围能覆盖容器内部。
79.s3,单片机控制旋转托盘2内的电机按照固定角速度顺时针旋转,每旋转一个固定角度,内窥摄像头安装板上的三个内窥摄像头6各拍摄一张图像,直至旋转一周,图像拍摄完毕。然后将每个内窥摄像头6采集的图像保存到电脑。
80.s4,使用网格标定法来矫正单张图像的畸变,对采集的曲面图像进行还原,以达到精度需求较高的测量标准,降低了测量误差。
81.具体步骤为:打印一张标准图像,贴在容器内壁,获取图像后使用阈值分割获得网格的轮廓,之后计算网格的竖线横向分布的比例,来计算出横向畸变的系数,之后按照这个系数进行还原。
82.具体实施例步骤如下:
83.(1)对拍摄的标准图像使用阈值分割出网格边缘,并采用形态学对图像进行开运算,提取标准图像的边框。标准图像由若干等大小的矩形构成,实施例中标准图像如图3所示,为一张网格为16x16,每个网格尺寸为3x2厘米的黑白图像。
84.(2)以最中间一列矩形格的像素值k为基准,依次向两边计算每一列矩形格的像素值分别为中心向左的每一列宽度的像素值v1,v2,v3,v4,v5…vx
和中心向右的每一列宽度的像素值w1,w2,w3,w4,w5…
wy;若矩形格的列数为单数,x=y,若矩形格的列数为双数,取中间两列中的任一列为最中间一列。其中每一列内矩形格的像素值相等。
85.(3)计算相邻列的矩形格与最中间一列矩形格宽度的像素比值即v/k、w/k得到a和b,以得到每一列的横向畸变比例;中间向左的横向畸变比例为a1,a2,a3,a4,a5....a
x
,中间向右的横向畸变比例为b1,b2,b3,b4,b5....by,并保存比例。
86.(4)以中心一列为基准,依次将中间向左的每一列的像素横向乘以a1,a2,a3,a4,a5....a
x
倍,中间向右的每一列的像素横向乘以b1,b2,b3,b4,b5....by倍,以此达到矫正图像的效果。
87.s5,随后将多张图像拼接,将相邻两张图像分为10x10的网格,使用方差比值计算两个图像的拼接候选区域,然后使用surf算法对两个图像的候选区域进行拼接。
88.使用方差比值计算两个图像的拼接候选区域的具体操作为:
89.在拼接同一个相机不同位置的图像时,将每个网格的每一列的方差求出来之后计算每一列的方差和中间一列的方差的比例,存储到一个数列作为特征,计算这个特征和相邻图像的每个网格的特征的欧氏距离,根据欧氏距离判断两张图片匹配最类似的多个网格,最终作为精准匹配的候选区域。
90.在拼接不同相机纵向分布的两张图像的时候,将每个网格的每一行的方差求出来之后计算每一行的方差和中间一行的方差的比例,存储到一个数列作为特征,计算这个特
征和相邻图像的每个网格的特征的欧氏距离,两张图片匹配最类似的多个网格,最终作为精准匹配的候选区域。
91.使用方差比值计算拼接候选区域即将图像分为数个网格,计算每个网格的像素分布方差比例,预测出便于拼接的数个区域,使其能够在后续surf拼接算法中节约大量时间,同时克服了相邻图像交界处出现缺陷漏检的问题。
92.使用方差比值计算两个图像的拼接候选区域的具体实施例步骤如下:
93.(1)将需要拼接的两个图像修改到500x500的分辨率。
94.(2)将两个图像都划分为10x10个网格,每个网格内部有50x50个像素,之后计算每一个网格里面每一列像素的方差分别为f1,f2,f3....f
50
,方差的计算公式为
95.(3)将每一个网格里面的第25列的方差作为标准,计算其他49列的方差与这第24列方差的比值z1,z2,z3....z
50

96.(4)计算每个网格内2500个像素的灰度值众数,统计当前网格内与灰度值众数相等的像素值的个数。
97.(5)设定阈值,若灰度值众数相等的像素个数大于阈值,则认定该网格为无效区域,不进行计算匹配。
98.(6)将两个图像的100个网格的方差比值作为特征向量,用欧氏距离计算相似度,计算出第一个图像100个区域分别与第二个图像的最相似的区域的相似度s和对应的第二个图像相似区域的行列数p
hl
,分别保存到两个10x10的矩阵。
99.(7)将上述矩阵按照欧氏距离的值,出欧氏距离最小的多个连续的网格,从而划分出一个最大可能区域作为后续匹配的候选区域。
100.使用surf算法对两个图像的候选区域进行拼接的具体操作为:
101.根据候选区域,使用surf(speeded up robust features)提取到矫正图像的特征向量,使用黑塞矩阵求出大致特征,通过合适滤波器构建相应的尺度空间,在当前尺度和相邻两层定位精确的特征点,统计特征点圆形邻域内的harr小波特征。将值最大的那个扇形的方向作为该特征点的主方向。haar小波特征为水平方向值之后、垂直方向值之后、水平方向绝对值之后以及垂直方向绝对值之和4个方向。通过计算两个特征点间的欧式距离来确定匹配度,欧氏距离越短,代表两个特征点的匹配度越好。再使用第一幅图的特征向量和第二张图像的最近特征向量和次近特征向量比较,若大于设定的阈值则认为两图匹配,并以此交叉部分做拼接,如图4所示。
102.s6,采用改进的ssd网络作为特征提取网络,改进的ssd网络如图5所示,具体为:将原本的vgg16主干网络,换成改进过的efficientnet,提高特征提取能力。
103.在原ssd网络的conv8_2,conv9_2,conv10_2,conv11_2这四层的前面加上一个residualblock(残差模块)和ca(坐标注意力),用以提高对小物体的检测精度。此外将conv4_3,conv_7,conv8_2,conv9_2,conv10_2,conv11_2这六层特征层作为检测层,在这六个不同尺度的特征图生成若干先验框,计算每个先验框的置信度损失函数和位置损失函数,相加之后通过反向传播和梯度下降算法改变神经网络的每一层的偏置和权重,完成网
络的训练并识别缺陷。
104.efficient通过对网络深度,宽度和输入图片分辨率的综合调整,使网络能够学习到更多的特征,以提升识别精度。其内部的mbconvblock模块中带有(se)通道注意力模块,本专利通过使用融入了空间注意力和通道注意力的cbam模块代替原本的单一的通道注意力,提高了对小物体的检测精度。
105.因为主干网络使用了efficientnet导致网络加深,考虑到深度过深会导致梯度消失,故在主干网络后增加了四个残差模块。ca(coordinate)注意力将通道注意力分解为两个1维特征编码过程,分别沿2个空间方向聚合特征。这样,可以沿一个空间方向捕获远程依赖关系,同时可以沿另一空间方向保留精确的位置信息。然后将生成的特征图分别编码为一对方向感知和位置敏感的attention map,可以将其互补地应用于输入特征图,以增强关注对象的表示。
106.ssd是one-stage目标检测算法中的一种,是单阶段的算法,不需要产生所谓的候选区域,可以达到很高的帧率;同时ssd中使用了多尺度的特征图来预测目标。
107.本发明采用改进的ssd网络进行缺陷识别的具体步骤如下:
108.(1)将输入图像调整大小到300x300。
109.(2)将图像输入到剪枝的efficientnet b3网络,剪枝的efficientnet网络由一个3x3的卷积,和5个超参数不同的mbconv block(移动翻转瓶颈卷积),得到一个尺寸为38x38,通道数为48的特征图;再通过三个mbconv block得到一个尺寸为19x19,通道数为96的特征图。
110.mbconv block包括:1x1的卷积进行升维,通过batchnorm层和swish激活层,3x3或者5x5的深度可分离卷积,batchnorm层和swish激活层,之后插入一个cbam(卷积注意力)模块代替之前的se(通道注意力)模块,经过1x1卷积降维,batchnorm层,输出结果。
111.cbam是由两部分组成,一个是通道注意力,一个是空间注意力。通道注意力使用maxpooling和averagepooling,送入到多层感知机(mlp)网络中,得到通道的注意力权重,用sigmoid函数获得归一化,用权重乘以原始特征图。空间注意力是,由h
×
w转变成1
×
1,经过卷积核为7
×
7的卷积和relu激活函数后降低特征图的维度,然后用1x1的卷积将特征图升维到输入大小。最后将经过sigmoid激活函数标准化处理后的特征图与通道注意力输出的特征图进行合并。
112.(3)主干网络即efficientnet b3网络提取得到38x38x48的特征图和19x19x96的两层特征图通过三个1x1的卷积来进行升维,最终得到conv4_3(38x38x512)和conv7(19x19x1024)的特征图。
113.(4)将conv7这个特征图进行l2归一化,再使用一个大小为1x1的卷积核将特征图通道数降到256,接一个residualblock(残差模块)和ca(坐标注意力),强化网络对方向和位置等信息的敏感度,之后使用一个大小为3x3,步长为2,padding为1的卷积核,输出10x10x512的特征图conv8_2。
114.conv8_2使用一个大小为1x1的卷积核将特征图通道数降到128,后面接一个residualblock(残差模块)和ca(坐标注意力),使用一个大小为3x3,步长为2,padding为1的卷积核,输出5x5x256的特征图conv9_2。
115.conv9_2使用一个大小为1x1的卷积核将特征图通道数降到128,后面接一个
residualblock(残差模块)和ca(坐标注意力),使用一个大小为3x3的卷积核,输出3x3x256的特征图conv10_2。
116.conv10_2使用一个大小为1x1的卷积核将特征图通道数降到128,后面接一个residualblock(残差模块)和ca(坐标注意力),使用一个大小为3x3的卷积核,输出1x1x256的特征图conv11_2。
117.其中residualblock的结构是一个1x1的卷积升维,3x3的卷积,数据标准化层,激活层,3x3的卷积,数据标准化层,得到的数据与输入的x相加,激活层,1x1的卷积降维,输出结果。
118.其中坐标注意力的结构是将高h和宽w分别进行平均池化,通过concat和1x1的卷积,relu激活函数层,再经过标准化层,和一个1x1的卷积,sigmod层,最终将这两个分量和输入值x相乘,得到处理后的特征图。
119.(5)前面conv4_3,conv_7,conv8_2,conv9_2,conv10_2,conv11_2为六个特征层,在这六个特征层上根据每个像素生成若干先验框,一共8732个先验框。并使用极大值抑制的方法去除多余的先验框。
120.(6)计算目标的损失函数,分为置信度损失和位置损失函数。
121.位置损失函数如下:
122.当|x
g-xe|≤1
123.当|x
g-xe|》1
124.其中xg为实际坐标,xe为预测坐标,α=log(σ2),σ为假设中预测值的高斯分布的σ。
125.置信度损失函数如下:
[0126][0127]
其中p(x)代表标签值,q(x)代表预测值,根据上述公式分别计算正样本和负样本的损失值,再相加,得到置信度损失函数。
[0128]
将置信度损失函数和位置损失函数相加得到最终的损失函数。
[0129]
(7)将损失函数作为参数,使用梯度下降法训练模型,具体是计算函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模),计算得到各层最佳的权重和偏置,完成模型训练。
[0130]
(8)使用改进的ssd模型进行缺陷检测,将有缺陷的照片传到前端,展示到主界面。
[0131]
s7,若检测结果为有缺陷,则将图像显示到上位机(8);若无缺陷则显示合格。
[0132]
在同一采集数据集,改进的ssd模型的性能指标ap高达83%,原ssd模型的性能指标ap只有78%。由此,可证明改进ssd模型的有效性。
[0133]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

技术特征:


1.一种基于计算机视觉的小口径容器内壁缺陷检测方法,其特征在于,包括以下步骤:s1,采集不规则产品内壁曲面的图像;s2,矫正单张图像的畸变,然后将多张图像拼接;s3,对拼接后的图像进行缺陷检测和识别。2.根据权利要求1所述的一种基于计算机视觉的小口径容器内壁缺陷检测方法,其特征在于,所述矫正单张图像的畸变包括:(1)对拍摄的标准图像使用阈值分割出网格边缘,并采用形态学对图像进行开运算,提取标准图像的边框;(2)以最中间一列矩形格的像素值k为基准,依次向两边计算每一列矩形格的像素值分别为中心向左的每一列宽度的像素值v1,v2,v3,v4,v5....v
x
和中心向右的每一列宽度的像素值w1,w2,w3,w4,w5....w
y
;(3)计算相邻列的矩形格与最中间一列矩形格宽度的像素比值得到中间向左的横向畸变比例为a1,a2,a3,a4,a5....a
x
,中间向右的横向畸变比例为b1,b2,b3,b4,b5....b
y
;(4)以中心一列为基准,依次将中间向左的每一列的像素横向乘以a1,a2,a3,a4,a5....a
x
倍,中间向右的每一列的像素横向乘以b1,b2,b3,b4,b5....b
y
倍。3.根据权利要求2所述的一种基于计算机视觉的小口径容器内壁缺陷检测方法,其特征在于,所述标准图像由若干等大小的矩形构成。4.根据权利要求1所述的一种基于计算机视觉的小口径容器内壁缺陷检测方法,其特征在于,图像拼接包括以下步骤:将相邻两张图像分为w
×
w个网格,使用方差比值计算两个图像的拼接候选区域,然后使用surf算法对两个图像的候选区域进行拼接。5.根据权利要求4所述的一种基于计算机视觉的小口径容器内壁缺陷检测方法,其特征在于,所述使用方差比值计算两个图像的拼接候选区域包括:s10,将两个图像都划分为w
×
w个网格,每个网格内部有个像素,之后计算每一个网格里面每一列像素的方差分别为s20,将每一个网格里面的最中间一列像素的方差作为标准,计算其余列像素的方差与最中间一列像素方差的比值s30,计算每个网格内个像素的灰度值众数,统计当前网格内与灰度值众数相等的像素值的个数;s40,设定阈值,若灰度值众数相等的像素个数大于阈值,则认定该网格为无效区域,不进行计算匹配;s50,将两个图像的w
×
w个网格的方差比值作为特征向量,然后用欧氏距离计算相似度,计算出第一个图像w
×
w个区域分别与第二个图像的最相似的区域的相似度s和对应的第二个图像相似区域的行列数p
hl
,分别保存到两个w
×
w的矩阵;s60,将上述矩阵按照欧氏距离的值,出欧氏距离最小的多个连续的网格,从而划分
出一个最大可能区域作为后续匹配的候选区域。6.根据权利要求4所述的一种基于计算机视觉的小口径容器内壁缺陷检测方法,其特征在于,使用surf算法对两个图像的候选区域进行拼接包括:根据候选区域,使用surf算法提取到矫正图像的特征向量,然后使用黑塞矩阵求出特征,再通过滤波器构建相应的尺度空间,在当前尺度和相邻两层定位精确的特征点,统计特征点圆形邻域内的harr小波特征。7.根据权利要求1所述的一种基于计算机视觉的小口径容器内壁缺陷检测方法,其特征在于,采用改进的ssd网络作为特征提取网络对处理后的图像进行缺陷识别,包括以下步骤:s100,将图像输入到剪枝的efficientnet b3网络,经过3x3的卷积和5个超参数不同的mbconv block得到特征图一;再通过三个mbconv block得到特征图二;s200,将特征图一和特征图二分别通过三个1x1的卷积进行升维,得到特征图conv4_3和特征图conv7;s300,将特征图conv7进行l2归一化,再使用一个大小为1x1的卷积核降低特征图通道数,再接一个残差模块和坐标注意力,之后使用一个大小为3x3,步长为2,padding为1的卷积核,输出特征图conv8_2;conv8_2使用一个大小为1x1的卷积核将特征图通道数降低,后面接一个残差模块和坐标注意力,使用一个大小为3x3,步长为2,padding为1的卷积核,输出特征图conv9_2;conv9_2使用一个大小为1x1的卷积核将特征图通道数降低,后面接一个残差模块和坐标注意力,使用一个大小为3x3的卷积核,输出特征图conv10_2;conv10_2使用一个大小为1x1的卷积核将特征图通道数降低,后面接一个残差模块和坐标注意力,使用一个大小为3x3的卷积核,输出特征图conv11_2;s400,在conv4_3,conv_7,conv8_2,conv9_2,conv10_2,conv11_2六个特征图上生成若干先验框,并使用极大值抑制的方法去除多余的先验框;s500,计算目标的损失函数;s600,将损失函数作为参数,使用梯度下降法训练改进的ssd模型;s700,使用完成训练改进的ssd模型进行缺陷检测,将有缺陷的照片传到前端进行展示。

技术总结


本发明提出了一种基于计算机视觉的小口径容器内壁缺陷检测方法,包括以下步骤:S1,采集不规则产品内壁曲面的图像;S2,使用网格标定法来矫正单张图像的畸变,然后将多张图像拼接;S3,对拼接后的图像进行缺陷检测和识别。本发明能够快速、准确地识别小口径容器内壁缺陷,且对开发人员的开发经验需求更小,泛化性更高,对不同的识别任务不需要过多的个体调整。整。整。


技术研发人员:

马慰 朱凌云 严旭贤 杨小洪

受保护的技术使用者:

重庆理工大学

技术研发日:

2022.09.20

技术公布日:

2022/12/12

本文发布于:2024-09-25 18:17:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/33611.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   特征   卷积   网格
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议