CN116385353B - 一种摄像头模组异常检测方法 - Google Patents
一种摄像头模组异常检测方法 Download PDFInfo
- Publication number
- CN116385353B CN116385353B CN202310105941.0A CN202310105941A CN116385353B CN 116385353 B CN116385353 B CN 116385353B CN 202310105941 A CN202310105941 A CN 202310105941A CN 116385353 B CN116385353 B CN 116385353B
- Authority
- CN
- China
- Prior art keywords
- image
- module
- matching
- detection
- layer
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 85
- 230000005856 abnormality Effects 0.000 title claims abstract description 31
- 230000002159 abnormal effect Effects 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000009466 transformation Effects 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000013528 artificial neural network Methods 0.000 claims abstract description 13
- 238000003672 processing method Methods 0.000 claims abstract description 5
- 238000012549 training Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 12
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 238000011176 pooling Methods 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 3
- 238000004026 adhesive bonding Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 239000003292 glue Substances 0.000 claims description 3
- 238000003709 image segmentation Methods 0.000 claims description 3
- 230000004807 localization Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000013136 deep learning model Methods 0.000 abstract description 2
- 230000007547 defect Effects 0.000 description 18
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000009776 industrial production Methods 0.000 description 4
- 238000003466 welding Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 229910000831 Steel Inorganic materials 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000010959 steel Substances 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
Abstract
本发明提供了一种摄像头模组异常检测方法,属于人工智能技术领域。解决了模组异常样本不足、深度学习模型检测精度低、速度慢的问题。其技术方案为:包括以下步骤:S1、采用模板匹配方法定位图片中的模组及其相关组件的位置;S2、基于图像处理完成模组中螺丝、标签、布线、划痕脏污异常情况的检测;S3、基于特征配准网络框架完成模组中的划痕和镜头脏污检测;S4、通过QT Creator开发异常检测程序,用于模组异常情况的自动检测。本发明的有益效果为:本发明结合图像处理方法和神经网络框架,实现摄像头模组的多种异常情况的检测,通过构建孪生神经网络框架,插入空间变换网络实现特征配准,可以精准检测出模组上的划痕。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种摄像头模组异常检测方法。
背景技术
随着中国制造业的快速发展,工业产品的数量和种类与日俱增,消费者和生产企业对产品的质量提出了更高的要求,除了需要满足正常的使用性能外,还要有良好的表面质量。因此,在产品生产加工时必须对其表面进行质量检测,以便及时发现异常并加以控制,从而减少异常产品的产生,提高企业的经济效益。
目前,工业生产中对摄像头模组表面的异常检测一般采用传统人工视觉检测的方法,该方法不仅检测效率低、误检率及漏检率高、劳动强度大,而且人工检测成本高,易受工人经验和主观因素的影响,不适用于大规模工业生产的要求。
随着图像处理技术的发展,机器视觉的异常检测方法已经逐渐取代了人工检测方法,在工业生产检测环节得到了实践。机器视觉检测技术是一种非接触式的自动检测技术,具有安全可靠、检测精度高、可在复杂的生产环境中长时间运行等优点,是实现工厂生产自动化和智能化的一种有效方法,并且有着广泛的应用。
目前在工业领域中,基于图像对产品进行缺陷异常检测的方法主要分为两类:基于传统机器视觉方法实现和基于深度学习方法实现。
传统机器视觉方法主要包括图像采集、图像处理、图像分析三部分,图像采集部分需要选择合适的光源,镜头和专业相机,实现对样本图片的采集;图像处理部分包含图像去噪和增强、边缘检测等措施;图像分析部分包含特征信息的提取,有效特征筛选和通过分类器进行缺陷识别,机器视觉技术具有无接触、安全准确、使用范围广等特点,是实现产品自动化、智能化检测的有效手段。文献[1]梁雄.基于机器视觉的摄像头模组缺陷检测系统研究[D].广州:华南理工大学,2015:8.先采用模板匹配完成图像检测区域定位,再通过阈值分割、形态学操作和Blob分析提取摄像头模组缺陷特征信息。文献[2]冯彪.基于机器视觉的摄像头模组焊接缺陷检测研究[D].桂林电子科技大学,2022:6-8.围绕CCM中存在的桥接、漏焊和少锡问题展开研究,运用特征匹配方法和多曝光图像融合方法获取高质量的焊点图像,再通过贝叶斯决策和BNN缺陷分类对焊接缺陷进行检测和评估。文献[3]Automaticcompact camera module solder joint inspection method based on machine vision.基于特征匹配和图像增强方法动态地识别ROI以去除背景干扰,采用改进的自适应粒子群算法实现焊点缺陷的自动分类。
对于高质量的样本图片,传统机器视觉检测方法可以得到较好的检测结果。但当缺陷异常表现形式多样、特征相似时,该类方法会很难区分缺陷并且容易造成误判。随着机器学习的发展,深度学习算法因其通用性广、适应力强、省时高效等优点,逐渐被运用到产品的缺陷检测中。基于深度学习的缺陷检测网络大都使用VGG、GoogLeNet、ResNet等作为“Backbone”,其通常被用于特征提取和分类。文献[4]杜超,刘桂华.改进的VGG网络的二极管玻壳图像缺陷检测[J].图学学报,2019,40(06):1087-1092.基于卷积神经网络结构VGG-19模型,通过迁移学习的方法对模型进行改进,将网络的全连接层结构重新进行超参数设置和优化,有效提高了二极管玻壳图像分类识别准确率,达到了98.3%。文献[5]徐嘉文.基于GoogLeNet模型的金属震动膜片缺陷检测方法研究[D].电子科技大学,2022:23-28.使用预训练的GoogLeNet卷积神经网络模型,采用GA-SVM全连接层作为整个网络的分类识别层进行迁移学习,对金属震动膜片缺陷检测准确率达到90%以上。文献[6]于海涛,李健升,刘亚姣,李福龙,王江,张春晖,于利峰.基于级联神经网络的型钢表面缺陷检测算法[J].计算机应用,2023,43(01):232-241.在型钢表面缺陷检测中采用ResNet-18作为预检网络,将模型中的残差单元替换为多尺度并行残差卷积模块,并利用深度可分离卷积替代原有卷积操作,提升模型分类效果的同时减少了运算量。
基于深度学习算法完成模组异常缺陷检测需要提供大量的异常样本数据进行模型训练,以达到好的检测效果。然而目前企业生产过程中有着严格的模组良品生产率,因此无法采集到数量充足的模组表面异常样本。
如何解决上述技术问题为本发明面临的课题。
发明内容
本发明的目的在于提供一种摄像头模组异常检测方法,针对目前工业生产中摄像头模组的异常检测存在的模组异常样本不足、深度学习模型检测精度低、速度慢的问题,该摄像头模组异常检测的方法是基于机器视觉技术完成模组中各异常情况的自动检测,如PCB板上三防胶是否涂到指定区域、PCB板上连接线连接和走线位置是否正确、模组外壳上是否有划痕、镜头是否有脏污、模组上螺丝是否安装,对于检测不合格的模组进行自动提示,通过QT程序保存模组异常检测报告,结合人工修正来完成模组的质量检测。
为了实现上述发明目的,本发明采用技术方案具体为:一种摄像头模组模组异常检测方法,包括以下步骤:
S1、采用模板匹配方法定位图片中的模组及其相关组件的位置;
S2、基于图像处理完成模组中螺丝、标签、布线、划痕脏污异常情况的检测;
S3、基于特征配准网络框架完成模组中的划痕和镜头脏污检测;
S4、通过QT Creator开发异常检测程序,用于模组异常情况的自动检测。
作为本发明提供的一种摄像头模组异常检测方法进一步优化方案,所述步骤S1采用模板匹配方法定位图片中的模组及其相关组件的位置。采集一个面的图像,并在图中标记出图中模组的坐标和各个组件的坐标,相关参数存储在xml文件中,根据文件中的坐标信息提取待识别区域与模板图像逐个像素进行匹配,得到模组各个组件的坐标信息;
具体包括以下步骤:
(1)采集模组中需要检测9个面的图像,并在图中标记出图中模组的坐标和各个组件的坐标,相关参数存储在xml文件中,文件存储的信息包括区域左上角坐标信息(Lx,Ly)、右下角坐标信息(Rx,Ry)、区域名称和匹配阈值信息;
(2)针对待检测图像,取待识别区域(x-α,y-α,w+2α,h+2α),其中(x,y,w,h)分别为识别区域在模板图像中左上角的横坐标、纵坐标、区域宽、区域长,α为配置参数,α选取10到30之间,得到局部图像IROI;
(3)将模板图像Itemp在IROI上进行窗口滑动,计算Itemp在IROI上的匹配相似度,计算方法为Itemp与IROI窗口图像上的匹配值其中n表示图像中的像素坐标索引,Ien表示Itemp中该坐标的像素值,Iwn表示IROI窗口图像上该坐标像素值,该匹配值越小表示匹配度越高,得到IROI中PCB板的坐标位置为(xe,ye,w,h),其中(xe,ye,w,h)分别为PCB板在图像IROI中左上角的横坐标、纵坐标、区域宽、区域长,根据模板中标记的各组件坐标,得到待识别图片中各个组件的坐标,对于第i个组件,其坐标位置为:(xi-x+xe,yi-y+ye,wi,hi),其中(xi-x+xe,yi-y+ye,wi,hi)分别为组件在图像IROI中左上角的横坐标、纵坐标、区域宽、区域长。
作为本发明提供的一种摄像头模组异常检测方法进一步优化方案,所述步骤S2中的检测内容包括PCB板上的螺丝是否安装正确、标签是否贴到指定位置以及板上的布线是否正确;基于图像处理算法对检测图像进行预处理,包括灰度化、阈值二值化、去噪、HSV通道图像提取,最后通过与采集的无异常模组图像模板进行模式匹配,与设置的匹配阈值进行比较,若大于则认定为存在异常情况。
具体包括以下步骤:
(1)基于图像处理算法对区域图像进行预处理,包括灰度化、阈值二值化、去噪、HSV通道图像提取,若xml文件中的颜色标志位flag=0,则对图像进行灰度化;若flag=1,则对原始彩色图像进行处理,将处理好的图像与采集的无异常模组图像模板进行模式匹配,与设置的匹配阈值进行比较,若大于则认定为存在异常情况,其中,模式匹配采用matchTemplate()函数来完成,匹配算法采用TM_SQDIFF_NORMED,即标准平方差匹配,利用平方差来进行匹配,其中I表示图像,R表示匹配结果,T表示模板,将匹配结果与设置好的阈值0.2进行比较,若大于0.2则认为模组存在异常情况;
(2)对PCB板上的胶水进行检测,将RGB彩色图像转换为HSV彩色图像,然后提取出其中的V通道图像,即亮度图像V=max(IR,IG,IB),IR,IG,IB分别表示原图像I中每个像素的RGB分量,统计亮度图中超过亮度阈值θ的像素数M,如果M超过总像素数的50%,则认为模组涂胶存在异常;
(3)对模组边框和镜头上的脏污进行检测,划痕、凹凸和脏污在图像中会与周围光滑的面板背景产生一些像素差值,即存在一定的梯度值,首先在定位到待识别区域I后,提取该区域的X方向和Y方向的梯度图,对于X方向的梯度图,定义卷积核如下:
将I与sx卷积后得到X方向的梯度图Ix,对于Y方向的梯度图,定义卷积核如下:
将I与sy卷积后得到Y方向的梯度图Iy,将Ix与Iy相加,得到图像的梯度图,得到梯度图之后,采用类间方差最大化方法对梯度图进行二值化图像分割,提取出边缘信息,计算整幅图像的均值和方差/>其中N为图像的大小,xi为对应位置上的图像像素值;
将梯度图分为梯度信息和背景信息两类,目标找到阈值将梯度图划分后,这两类间的方差差值最大,找到图像中的梯度信息,得到包含梯度信息的二值图像后,采用八连通域方法计算二值图中的连通域及其大小,当图像中存在较大面积的连通域时,即判定该图中存在划痕、凹凸或者脏污。
作为本发明提供的一种摄像头模组异常检测方法进一步优化方案,所述步骤S3中的检测内容为模组边框上的划痕检测以及模组镜头上的脏污检测,包括但不限于指纹、灰尘,模组上的划痕因为其种类复杂,特征不明显,仅通过图像处理技术无法全部完成准确识别,因此构建特征配准网络框架,以孪生神经网络(Siamese Network)为框架,插入空间变换网络(STN)实现特征配准。
具体内容如下:
对于模组上的不明显的划痕、镜头脏污,仅靠图像处理方法无法完成准确检测,通过搭建特征配准网络来完成识别,基于孪生神经网络Siamese Network搭建网络框架,通过共享权值来衡量两个输入的相似程度,将待检测模组图像与模板图像输入到ResNet类型卷积神经网络中进行特征提取,插入STN作为特征变换模块,通过Loss的计算,评价两个输入的相似度;
(1)ResNet为残差网络,其特点为增加了网络层数并且引入了残差模块,在使用ResNet类型的卷积神经网络后,即使网络再深,训练错误也不会增多,网络的输入是x,它经过非线性变换得到结果H(x),学习到残差F(x)=H(x)-x,这样其实原始的学习特征是F(x)+x,传统的卷积层或全连接层在信息传递时,或多或少存在信息丢失的问题,ResNet通过直接将输入加到输出上,保护了信息的完整性;采用ResNet的前三个卷积残差块C1、C2和C3,丢弃ResNet原始设计中的最后一个卷积块,以保证最终提取的特征仍然保留空间信息,其中,ResNet中的残差模块由2层3*3卷积层、2层BN层和2层激活层构成,在经过第二次批归一化处理后,将归一化的输出与原始输入相加经过Relu激活函数得到残差块的输出,每一个卷积残差块中由3个残差模块组成;
(2)在每个ResNet卷积块中插入一个空间变换网络STN作为特征变换模块,STN对模组图像的各种形态:平移、旋转、缩放及裁剪形态,都有较好的识别检测能力,残差模块的输出数据经过处理后通过STN中的Localisation net、Grid generator、Sampler,分别进行参数预测、坐标映射和像素采集,STN中的参数预测网络由2层3*3的卷积层、2层最大值池化层和2层全连接层构成,在数据经过卷积操作后、池化操作之前,数据需要进过归一化和ReLu激活函数处理,得到变换的参数θ,根据不同的模组图像形态:平移、旋转、缩放、裁剪以及它们的组合变换形式,调整θ以完成不同的变换模式,Grid generator利用输出的θ,对于输入数据进行相应的空间变换,设输入每个像素位置的坐标为经过空间变换后输出每个像素位置的坐标为/>那么输入和输出的映射关系为:其中Ai为仿射变换矩阵,经过Sampler层使得STN进行反向传播来更新相关参数;
(3)待检测模组图像和模板图像通过第三层STN层S3后,通过编码器E得到E1、E2和结果预测P得到预测值P1、P2,定义余弦相似度作为损失函数,计算P1和E2、P2和E1之间的余弦相似度,取其平均值作为最终的损失值,将该损失值与设定的匹配阈值进行比较,若大于则认定为异常样本;
(4)模型在训练时,设置初始学习率为0.0001,随着训练轮次的增加减小学习率,动态调整学习率来保证模型在训练后期不会有太大的波动,从而更加接近最优解,同时,模型训练使用Pytorch中的SGD来作为优化器,来优化神经网络,加速模型训练。
作为本发明提供的一种摄像头模组异常检测方法进一步优化方案,所述步骤S4中通过QT Creator开发了异常检测程序,用于模组异常情况的自动检测;其中,程序分为机械臂控制和模组异常检测,通过指令控制机械臂完成模组的抓取和图像采集,程序调用检测算法对图像进行检测,根据检测结果,机械臂将模组放入不同的区域:异常区域和正常区域。
具体内容如下:
程序调用模组抓取系统控制命令完成模组图像采集,实时检测图像并且在界面输出结果,机械臂从上料区抓取待检测模组到检测摄像头上方,完成9个面的拍摄,根据程序检测得到的结果,机械臂将模组放入不同的下料区域:异常区域和正常区域,程序还能进行人工检查修正,当模组检测出现异常时,工作人员会对模组的异常进行检测,如果出现误检,则对软件界面中的检测结果进行人工修正,再将检测结果保存到数据库中,并且在指定路径下面生成检测报告。
与现有技术相比,本发明的有益效果为:
(1)本发明结合图像处理方法和神经网络框架,对模组中多种异常情况进行了检测,基于图像处理算法完成了模组中标签、螺丝和布线等异常情况的检测,基于神经网络框架完成了模组中划痕和脏污异常情况的检测,同时,本发明将机械臂控制指令与检测算法相结合,实现了模组生产过程中的自动化检测。
(2)本发明提出了一种基于小样本的模组异常检测方法,解决了因模组划痕异常情况样本图片较少导致的识别准确率较低的问题,实际工业自动化生产过程中,产品的良品率较高,导致具有划痕的模组样本图片较少,当前用于异常检测的深度学习方法大多是基于大量异常样本建立模型,异常样本的缺乏导致模型难以上线,本发明构建特征配准网络框架,以孪生神经网络(Siamese Network)为框架,插入空间变换网络(SpatialTransformer Network)实现特征配准,可以准确检测出模组上的划痕。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明提供的一种摄像头模组异常检测方法的孪生神经网络结构图;
图2为本发明提供的一种摄像头模组异常检测方法中残差学习单元图;
图3为本发明提供的一种摄像头模组异常检测方法中模组抓取系统的控制流程图;
图4为本发明提供的一种摄像头模组异常检测方法中异常检测网络模型结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
参见图1至图4,本发明提供其技术方案为,本实施例提供了一种摄像头模组异常检测方法,其中,包括以下步骤:
S1、采用模板匹配方法定位图片中的模组及其相关组件的位置;
(1)采集模组中需要检测9个面的图像,并在图中标记出图中模组的坐标和各个组件的坐标,相关参数存储在xml文件中,文件存储的信息包括区域左上角坐标信息(Lx,Ly)、右下角坐标信息(Rx,Ry)、区域名称和匹配阈值信息;
(2)针对待检测图像,取待识别区域(x-α,y-α,w+2α,h+2α),其中(x,y,w,h)为制作模板中步骤1的参数,α为配置参数,一般选取10到30之间,得到局部图像IROI。
(3)将Itemp在IROI上进行窗口滑动,计算Itemp在IROI上的匹配相似度,计算方法为Itemp与IROI窗口图像上的匹配值其中n表示图像中的像素坐标索引,Ien表示Itemp中该坐标的像素值,Iwn表示IROI窗口图像上该坐标像素值,该匹配值越小表示匹配度越高,得到IROI中PCB板的坐标位置为(xe,ye,w,h),根据模板中标记的各组件坐标,得到待识别图片中各个组件的坐标,对于第i个组件,其坐标位置为:(xi-x+xe,yi-y+ye,wi,hi);
S2、基于图像处理完成模组中螺丝、标签、布线、划痕脏污异常情况的检测;
(1)基于图像处理算法对区域图像进行预处理,包括灰度化、阈值二值化、去噪、HSV通道图像提取,若xml文件中的颜色标志位flag=0,则对图像进行灰度化;若flag=1,则对原始彩色图像进行处理,将处理好的图像与采集的无异常模组图像模板进行模式匹配,与设置的匹配阈值进行比较,若大于则认定为存在异常情况。其中,模式匹配采用matchTemplate()函数来完成,匹配算法采用TM_SQDIFF_NORMED,即标准平方差匹配。利用平方差来进行匹配,最好匹配为0,匹配越差,匹配值越大,其中I表示图像,R表示匹配结果,T表示模板,将匹配结果与设置好的阈值0.2进行比较,若大于0.2则认为模组存在异常情况。
(2)对PCB板上的胶水进行检测,将RGB彩色图像转换为HSV彩色图像,然后提取出其中的V通道图像,即亮度图像V=max(IR,IG,IB),IR,IG,IB分别表示原图像I中每个像素的RGB分量,统计亮度图中超过亮度阈值θ的像素数M,如果M超过总像素数的50%,则认为模组涂胶存在异常。
(3)对模组边框和镜头上的脏污进行检测,划痕、凹凸和脏污在图像中会与周围光滑的面板背景产生一些像素差值,即存在一定的梯度值,首先在定位到待识别区域I后,提取该区域的X方向和Y方向的梯度图,对于X方向的梯度图,定义卷积核如下:
将I与sx卷积后即可得到X方向的梯度图Ix,对于Y方向的梯度图,定义卷积核如下:
将I与sy卷积后即可得到Y方向的梯度图Iy。将Ix与Iy相加,即可得到图像的梯度图。得到梯度图之后,采用类间方差最大化方法对梯度图进行二值化图像分割,提取出边缘信息,计算整幅图像的均值和方差/>
将梯度图分为梯度信息和背景信息两类,目标找到阈值将梯度图划分后,这两类间的方差差值最大,这样可以找到图像中的梯度信息。得到包含梯度信息的二值图像后,采用八连通域方法计算二值图中的连通域及其大小,当图像中存在较大面积的连通域时,即判定该图中存在划痕、凹凸或者脏污。
S3、基于特征配准网络框架完成模组中的划痕和镜头脏污检测;
对于模组上的不明显的划痕、镜头脏污,仅靠图像处理方法无法完成准确检测,因此本发明提出了一种特征配准网络来完成识别,该网络以孪生神经网络(SiameseNetwork)为框架,插入空间变换网络(Spatial Transformer Network)实现特征配准。如图1所示,Siamese Network通过共享权值来衡量两个输入的相似程度,将待检测模组图像与模板图像输入到ResNet类型卷积神经网络中进行特征提取,插入STN作为特征变换模块。通过Loss的计算,评价两个输入的相似度。ResNet为残差网络,其特点为增加了网络层数并且引入了残差模块。在使用ResNet类型的卷积神经网络后,即使网络再深,训练错误也不会增多。如图2所示,网络的输入是x,它经过非线性变换得到结果H(x),现在我们希望其可以学习到残差F(x)=H(x)-x,这样其实原始的学习特征是F(x)+x。传统的卷积层或全连接层在信息传递时,或多或少存在信息丢失的问题。ResNet通过直接将输入加到输出上,保护了信息的完整性。
整体网络结构如图4所示,采用ResNet的前三个卷积残差块C1、C2和C3,丢弃ResNet原始设计中的最后一个卷积块,以保证最终提取的特征仍然保留空间信息,在每个块中插入一个空间变换网络(STN)作为特征变换模块。STN对模组图像的各种形态:平移、旋转、缩放及裁剪形态,都有较好的识别检测能力。其中,ResNet中的残差模块由2层3*3卷积层、2层BN层和2层激活层构成,在经过第二次批归一化处理后,将归一化的输出与原始输入x相加经过Relu激活函数得到残差块的输出。每一个卷积残差块中由3个残差模块组成,输入数据经过处理后通过STN中的Localisation net、Grid generator、Sampler,分别进行参数预测、坐标映射和像素采集。STN中的参数预测网络由2层3*3的卷积层、2层最大值池化层和2层全连接层构成。在数据经过卷积操作后、池化操作之前,数据需要进过归一化和ReLu激活函数处理,得到变换的参数θ。根据不同的模组图像形态:平移、旋转、缩放、裁剪以及它们的组合变换形式,调整θ以完成不同的变换模式。Grid generator利用输出的θ,对于输入数据进行相应的空间变换。设输入每个像素位置的坐标为经过空间变换后输出每个像素位置的坐标为/>那么输入和输出的映射关系为:
其中Ai为仿射变换矩阵。最后经过Sampler层使得STN可以进行反向传播来更新相关参数。待检测模组图像和模板图像通过第三层STN层S3后,通过编码器E得到E1、E2和结果预测P得到预测值P1、P2,定义余弦相似度作为损失函数,计算P1和E2、P2和E1之间的余弦相似度,取其平均值作为最终的损失值。将该损失值与设定的匹配阈值进行比较,若大于则认定为异常样本。模型在训练时,设置初始学习率为0.0001,随着训练轮次的增加减小学习率,动态调整学习率来保证模型在训练后期不会有太大的波动,从而更加接近最优解。同时,模型训练使用Pytorch中的SGD来作为优化器,来优化神经网络,加速模型训练。
S4、通过QT Creator开发异常检测程序,用于模组异常情况的自动检测。
程序调用模组抓取系统控制命令完成模组图像采集,实时检测图像并且在界面输出结果。模组抓取系统控制流程图如图3所示,机械臂从上料区抓取待检测模组到检测摄像头上方,完成9个面的拍摄。根据程序检测得到的结果,机械臂将模组放入不同的下料区域:异常区域和正常区域。程序还可以进行人工检查修正,当模组检测出现异常时,工作人员会对模组的异常进行检测,如果出现误检,则对软件界面中的检测结果进行人工修正,再将检测结果保存到数据库中,并且在指定路径下面生成检测报告。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种摄像头模组异常检测方法,其特征在于,包括以下步骤:
S1、采用模板匹配方法定位图片中的模组及其相关组件的位置;
所述步骤S1具体包括以下步骤:
(1)采集模组中需要检测9个面的图像,并在图中标记出图中模组的坐标和各个组件的坐标,相关参数存储在xml文件中,文件存储的信息包括区域左上角坐标信息(Lx,Ly)、右下角坐标信息(Rx,Ry)、区域名称和匹配阈值信息;
(2)针对待检测图像,取待识别区域(x-α,y-α,w+2α,h+2α),其中(x,y,w,h)分别为识别区域在模板图像中左上角的横坐标、纵坐标、区域宽、区域长,α为配置参数,α选取10到30之间,得到局部图像IROI;
(3)将模板图像Itemp在IROI上进行窗口滑动,计算Itemp在IROI上的匹配相似度,计算方法为Itemp与IROI窗口图像上的匹配值其中n表示图像中的像素坐标索引,Ien表示Itemp中该坐标的像素值,Iwn表示IROI窗口图像上该坐标像素值,该匹配值越小表示匹配度越高,得到IROI中PCB板的坐标位置为(xe,ye,w,h),其中(xe,ye,w,h)分别为PCB板在图像IROI中左上角的横坐标、纵坐标、区域宽、区域长,根据模板中标记的各组件坐标,得到待识别图片中各个组件的坐标,对于第i个组件,其坐标位置为:(xi-x+xe,yi-y+ye,wi,hi),其中(xi-x+xe,yi-y+ye,wi,hi)分别为组件在图像IROI中左上角的横坐标、纵坐标、区域宽、区域长;
S2、基于图像处理完成模组中螺丝、标签、布线、划痕脏污异常情况的检测;
所述步骤S2具体包括以下步骤:
(1)基于图像处理算法对区域图像进行预处理,包括灰度化、阈值二值化、去噪、HSV通道图像提取,若xml文件中的颜色标志位flag=0,则对图像进行灰度化;若flag=1,则对原始彩色图像进行处理,将处理好的图像与采集的无异常模组图像模板进行模式匹配,与设置的匹配阈值进行比较,若大于则认定为存在异常情况,其中,模式匹配采用matchTemplate()函数来完成,匹配算法采用TM_SQDIFF_NORMED,即标准平方差匹配,利用平方差来进行匹配,其中I表示图像,R表示匹配结果,T表示模板,将匹配结果与设置好的阈值0.2进行比较,若大于0.2则认为模组存在异常情况;
(2)对PCB板上的胶水进行检测,将RGB彩色图像转换为HSV彩色图像,然后提取出其中的V通道图像,即亮度图像V=max(IR,IG,IB),IR,IG,IB分别表示原图像I中每个像素的RGB分量,统计亮度图中超过亮度阈值θ的像素数M,如果M超过总像素数的50%,则认为模组涂胶存在异常;
(3)对模组边框和镜头上的脏污进行检测,划痕、凹凸和脏污在图像中会与周围光滑的面板背景产生一些像素差值,即存在一定的梯度值,首先在定位到待识别区域I后,提取该区域的X方向和Y方向的梯度图,对于X方向的梯度图,定义卷积核如下:
将I与sx卷积后得到X方向的梯度图Ix,对于Y方向的梯度图,定义卷积核如下:
将I与sy卷积后得到Y方向的梯度图Iy,将Ix与Iy相加,得到图像的梯度图,得到梯度图之后,采用类间方差最大化方法对梯度图进行二值化图像分割,提取出边缘信息,计算整幅图像的均值和方差/>其中N为图像的大小,xi为对应位置上的图像像素值;
将梯度图分为梯度信息和背景信息两类,目标找到阈值将梯度图划分后,这两类间的方差差值最大,找到图像中的梯度信息,得到包含梯度信息的二值图像后,采用八连通域方法计算二值图中的连通域及其大小,当图像中存在较大面积的连通域时,即判定该图中存在划痕、凹凸或者脏污;
S3、基于特征配准网络框架完成模组中的划痕和镜头脏污检测;
所述步骤S3具体内容如下:
对于模组上的不明显的划痕、镜头脏污,仅靠图像处理方法无法完成准确检测,通过搭建特征配准网络来完成识别,基于孪生神经网络Siamese Network搭建网络框架,通过共享权值来衡量两个输入的相似程度,将待检测模组图像与模板图像输入到ResNet类型卷积神经网络中进行特征提取,插入STN作为特征变换模块,通过Loss的计算,评价两个输入的相似度;
(1)ResNet为残差网络,其特点为增加了网络层数并且引入了残差模块,在使用ResNet类型的卷积神经网络后,即使网络再深,训练错误也不会增多,网络的输入是x,它经过非线性变换得到结果H(x),学习到残差F(x)=H(x)-x,这样其实原始的学习特征是F(x)+x,传统的卷积层或全连接层在信息传递时,或多或少存在信息丢失的问题,ResNet通过直接将输入加到输出上,保护了信息的完整性;采用ResNet的前三个卷积残差块C1、C2和C3,丢弃ResNet原始设计中的最后一个卷积块,以保证最终提取的特征仍然保留空间信息,其中,ResNet中的残差模块由2层3*3卷积层、2层BN层和2层激活层构成,在经过第二次批归一化处理后,将归一化的输出与原始输入相加经过Relu激活函数得到残差块的输出,每一个卷积残差块中由3个残差模块组成;
(2)在每个ResNet卷积块中插入一个空间变换网络STN作为特征变换模块,STN对模组图像的各种形态:平移、旋转、缩放及裁剪形态,都有较好的识别检测能力,残差模块的输出数据经过处理后通过STN中的Localisation net、Grid generator、Sampler,分别进行参数预测、坐标映射和像素采集,STN中的参数预测网络由2层3*3的卷积层、2层最大值池化层和2层全连接层构成,在数据经过卷积操作后、池化操作之前,数据需要进过归一化和ReLu激活函数处理,得到变换的参数θ,根据不同的模组图像形态:平移、旋转、缩放、裁剪以及它们的组合变换形式,调整θ以完成不同的变换模式,Grid generator利用输出的θ,对于输入数据进行相应的空间变换,设输入每个像素位置的坐标为经过空间变换后输出每个像素位置的坐标为/>那么输入和输出的映射关系为:其中Ai为仿射变换矩阵,经过Sampler层使得STN进行反向传播来更新相关参数;
(3)待检测模组图像和模板图像通过第三层STN层S3后,通过编码器E得到E1、E2和结果预测P得到预测值P1、P2,定义余弦相似度作为损失函数,计算P1和E2、P2和E1之间的余弦相似度,取其平均值作为最终的损失值,将该损失值与设定的匹配阈值进行比较,若大于则认定为异常样本;
(4)模型在训练时,设置初始学习率为0.0001,随着训练轮次的增加减小学习率,动态调整学习率来保证模型在训练后期不会有太大的波动,从而更加接近最优解,同时,模型训练使用Pytorch中的SGD来作为优化器,来优化神经网络,加速模型训练;
S4、通过QT Creator开发异常检测程序,用于模组异常情况的自动检测;
所述步骤S4具体内容如下:
程序调用模组抓取系统控制命令完成模组图像采集,实时检测图像并且在界面输出结果,机械臂从上料区抓取待检测模组到检测摄像头上方,完成9个面的拍摄,根据程序检测得到的结果,机械臂将模组放入不同的下料区域:异常区域和正常区域,程序还能进行人工检查修正,当模组检测出现异常时,工作人员会对模组的异常进行检测,如果出现误检,则对软件界面中的检测结果进行人工修正,再将检测结果保存到数据库中,并且在指定路径下面生成检测报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310105941.0A CN116385353B (zh) | 2023-02-10 | 2023-02-10 | 一种摄像头模组异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310105941.0A CN116385353B (zh) | 2023-02-10 | 2023-02-10 | 一种摄像头模组异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116385353A CN116385353A (zh) | 2023-07-04 |
CN116385353B true CN116385353B (zh) | 2024-01-30 |
Family
ID=86970101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310105941.0A Active CN116385353B (zh) | 2023-02-10 | 2023-02-10 | 一种摄像头模组异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116385353B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117522775B (zh) * | 2023-09-27 | 2024-09-24 | 湖南隆深氢能科技有限公司 | 基于ccm片材涂布机的产品质量跟踪方法、系统及介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719305A (zh) * | 2016-01-25 | 2016-06-29 | 成都国铁电气设备有限公司 | 接触网中组件脱落缺陷识别方法及系统 |
CN106228532A (zh) * | 2016-07-05 | 2016-12-14 | 中科院成都信息技术股份有限公司 | 一种lcd屏幕亚像素级缺陷检测方法 |
CN106503737A (zh) * | 2016-10-20 | 2017-03-15 | 广州视源电子科技股份有限公司 | 一种电子元件定位方法及装置 |
CN109409395A (zh) * | 2018-07-29 | 2019-03-01 | 国网上海市电力公司 | 在电力监控中采用模板匹配法识别目标物体区域电气符号的方法 |
CN110021012A (zh) * | 2019-03-27 | 2019-07-16 | 安徽皓视光电科技有限公司 | 基于机器视觉技术的手机镜头视窗玻璃缺陷检测方法 |
CN110487511A (zh) * | 2019-06-21 | 2019-11-22 | 深圳市新晨芯科技有限公司 | 基于深度学习的高清摄像头感光模组检测方法和检测装置 |
CN110675376A (zh) * | 2019-09-20 | 2020-01-10 | 福建工程学院 | 一种基于模板匹配的pcb缺陷检测方法 |
CN111179251A (zh) * | 2019-12-30 | 2020-05-19 | 上海交通大学 | 基于孪生神经网络利用模板比对的缺陷检测系统及方法 |
CN111257329A (zh) * | 2020-02-24 | 2020-06-09 | 汕头大学 | 一种智能手机摄像头缺陷检测方法以及检测系统 |
CN111583253A (zh) * | 2020-05-16 | 2020-08-25 | 郑州蓝智枫智能科技有限公司 | 基于深度学习的纺织品折痕检测方法 |
CN111982933A (zh) * | 2019-11-23 | 2020-11-24 | 深圳市安达自动化软件有限公司 | 一种涂覆缺陷检测系统及装置 |
CN112150423A (zh) * | 2020-09-16 | 2020-12-29 | 江南大学 | 一种经纬稀疏网孔缺陷识别方法 |
WO2022065621A1 (ko) * | 2020-09-28 | 2022-03-31 | (주)미래융합정보기술 | 제품 결함 이미지 원격 학습을 통한 비전 검사 시스템 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7333650B2 (en) * | 2003-05-29 | 2008-02-19 | Nidek Co., Ltd. | Defect inspection apparatus |
-
2023
- 2023-02-10 CN CN202310105941.0A patent/CN116385353B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719305A (zh) * | 2016-01-25 | 2016-06-29 | 成都国铁电气设备有限公司 | 接触网中组件脱落缺陷识别方法及系统 |
CN106228532A (zh) * | 2016-07-05 | 2016-12-14 | 中科院成都信息技术股份有限公司 | 一种lcd屏幕亚像素级缺陷检测方法 |
CN106503737A (zh) * | 2016-10-20 | 2017-03-15 | 广州视源电子科技股份有限公司 | 一种电子元件定位方法及装置 |
CN109409395A (zh) * | 2018-07-29 | 2019-03-01 | 国网上海市电力公司 | 在电力监控中采用模板匹配法识别目标物体区域电气符号的方法 |
CN110021012A (zh) * | 2019-03-27 | 2019-07-16 | 安徽皓视光电科技有限公司 | 基于机器视觉技术的手机镜头视窗玻璃缺陷检测方法 |
CN110487511A (zh) * | 2019-06-21 | 2019-11-22 | 深圳市新晨芯科技有限公司 | 基于深度学习的高清摄像头感光模组检测方法和检测装置 |
CN110675376A (zh) * | 2019-09-20 | 2020-01-10 | 福建工程学院 | 一种基于模板匹配的pcb缺陷检测方法 |
CN111982933A (zh) * | 2019-11-23 | 2020-11-24 | 深圳市安达自动化软件有限公司 | 一种涂覆缺陷检测系统及装置 |
CN111179251A (zh) * | 2019-12-30 | 2020-05-19 | 上海交通大学 | 基于孪生神经网络利用模板比对的缺陷检测系统及方法 |
CN111257329A (zh) * | 2020-02-24 | 2020-06-09 | 汕头大学 | 一种智能手机摄像头缺陷检测方法以及检测系统 |
CN111583253A (zh) * | 2020-05-16 | 2020-08-25 | 郑州蓝智枫智能科技有限公司 | 基于深度学习的纺织品折痕检测方法 |
CN112150423A (zh) * | 2020-09-16 | 2020-12-29 | 江南大学 | 一种经纬稀疏网孔缺陷识别方法 |
WO2022065621A1 (ko) * | 2020-09-28 | 2022-03-31 | (주)미래융합정보기술 | 제품 결함 이미지 원격 학습을 통한 비전 검사 시스템 |
Non-Patent Citations (4)
Title |
---|
Chaoqin Huang et al..Registration based Few-Shot Anomaly Detection.《arXiv》.2022,第2-9页. * |
基于Hough变换的矿物薄片图像线特征检测方法;蒋宜勤 等;《微电子学与计算机》;第32卷(第8期);120-124 * |
基于机器视觉FPC缺陷检测系统的研究与应用;原振方;《中国优秀硕士学位论文全文数据库》;1-64 * |
梁雄.基于机器视觉的摄像头模组缺陷检测系统研究.《中国优秀硕士学位论文全文数据库》.2015,第三、四章. * |
Also Published As
Publication number | Publication date |
---|---|
CN116385353A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108960245B (zh) | 轮胎模具字符的检测与识别方法、装置、设备及存储介质 | |
CN106875381B (zh) | 一种基于深度学习的手机外壳缺陷检测方法 | |
CN108355981B (zh) | 一种基于机器视觉的电池连接器质量检测方法 | |
CN111444921A (zh) | 划痕缺陷检测方法、装置、计算设备和存储介质 | |
CN111325721A (zh) | 一种基于红外热成像的气体泄漏检测方法及系统 | |
CN103424409B (zh) | 一种基于dsp的视觉检测系统 | |
WO2022236876A1 (zh) | 一种玻璃纸缺陷识别方法、系统、装置及存储介质 | |
CN111401284B (zh) | 基于图像处理的门开关状态识别方法 | |
CN110473184A (zh) | 一种pcb板缺陷检测方法 | |
CN113177924A (zh) | 一种工业流水线产品瑕疵检测方法 | |
CN116385353B (zh) | 一种摄像头模组异常检测方法 | |
CN111754502A (zh) | 基于多尺度特征融合的Faster-RCNN算法检测磁芯表面缺陷的方法 | |
CN117745708A (zh) | 基于深度学习算法的木地板表面瑕疵检测方法 | |
CN109558877B (zh) | 基于kcf的海上目标跟踪算法 | |
CN113705564B (zh) | 一种指针式仪表识别读数方法 | |
CN112561885B (zh) | 基于YOLOv4-tiny的插板阀开度检测方法 | |
CN117670755A (zh) | 一种吊钩防脱装置检测方法、装置、存储介质及电子设备 | |
CN117330582A (zh) | 一种高分子pe薄膜表面晶点检测系统 | |
CN116152191A (zh) | 基于深度学习的显示屏裂纹缺陷检测方法、装置及设备 | |
CN115457563A (zh) | 一种零漏检兼低误识的船体水尺读取方法 | |
CN115019306A (zh) | 一种基于深度学习和机器视觉的包埋盒标签批量识别方法及系统 | |
CN113343932A (zh) | 一种静态摄像头下的河道漂浮物检测算法 | |
CN113139946A (zh) | 一种基于视觉的衬衫污渍定位设备 | |
CN113269150A (zh) | 基于深度学习的车辆多属性识别的系统及方法 | |
Yang et al. | Camera module Lens blemish detection based on neural network interpretability |
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 |