CN107248159A - 一种基于双目视觉的金属工件缺陷检测方法 - Google Patents

一种基于双目视觉的金属工件缺陷检测方法 Download PDF

Info

Publication number
CN107248159A
CN107248159A CN201710660900.2A CN201710660900A CN107248159A CN 107248159 A CN107248159 A CN 107248159A CN 201710660900 A CN201710660900 A CN 201710660900A CN 107248159 A CN107248159 A CN 107248159A
Authority
CN
China
Prior art keywords
mtd
msub
mrow
mtr
mtable
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
Application number
CN201710660900.2A
Other languages
English (en)
Inventor
盛子旗
马啸川
马云鹏
王佳妤
李庆武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changzhou Campus of Hohai University
Original Assignee
Changzhou Campus of Hohai University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changzhou Campus of Hohai University filed Critical Changzhou Campus of Hohai University
Priority to CN201710660900.2A priority Critical patent/CN107248159A/zh
Publication of CN107248159A publication Critical patent/CN107248159A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0008Industrial image inspection checking presence/absence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • G06T2207/20032Median filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30136Metal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Abstract

本发明公开了一种基于双目视觉的金属工件缺陷检测方法。步骤包括双目相机标定、工件目标提取、工件缺陷检测。在工业生产中,由于生产工序,铸造工艺等问题,使得生产出的工件可能存在缺陷,使用该方法可以在复杂的背景中提取出作为前景的工件目标,进而检测工件缺陷,不受外界环境及目标物体自身因素的影响,具有通用性好,准确度高,实时性好等优点,对航天、军事、工业及安保等各个领域实现机器智能化检测有重要意义。

Description

一种基于双目视觉的金属工件缺陷检测方法
技术领域
本发明涉及一种基于双目视觉的金属工件缺陷检测,属于数字图像处理与工业检测领域。
背景技术
在各种传感检测系统和方法中,依靠摄像机等视觉传感器构成的机器视觉检测系统及其相关技术占有重要地位。一方面,视觉传感器测量范围大、获得的检测信息比其它传感器丰富的多;另一方面,视觉检测在一般工作环境下即可使用,无需配置特殊的辅助装置;此外,视觉检测是典型的非接触检测方式,不会对被检测物体的表面造成任何伤害。也正因为这些突出的优势,使得视觉检测方法和视觉检测系统在工业生产中获得了广泛的应用,承担起现场信息反馈、缺陷检测等重要任务。
视觉检测方法根据视觉传感器的数目和类型又可以分成单目视觉、双目视觉、多目视觉、红外视觉、紫外视觉和混合视觉等多个研究方向。其中,单目视觉常常作为最简便快捷的图像获取方法服务于各个领域,但其获得的视觉信息限制性较大。与单目视觉相比,双目视觉技术是模型人类双目视觉模型,利用图像在人类左右目图像中的视差信息获取环境与目标的三维信息,具体优势表现为两个方面:第一,双目视觉检测系统不但可以实现二维信息的检测,还可以实现三维信息的检测;第二,双目视觉检测的原理更加符合人类的视觉成像原理,在理论上可以找到明确的生物学支持理论。
发明内容
本发明所要解决的技术问题是:提供一种可以在复杂背景下检测工件缺陷的方法,以提高工业生产中工件的合格率。
为解决上述技术问题,本发明采用一种基于双目视觉的金属工件缺陷检测方法,包括以下步骤:
1)工件目标图像提取:
11)首先对双目相机获取到的左目图像与右目图像使用全局匹配算法进行深度粗检测,得到视差图像;
12)标记视差图像中的前景像素点作为工件区域位置检测的生长点,利用双目视觉局部型匹配算法,对原始彩色图像进行角点检测、颜色检测,构建前景区域的视觉显著性特征,再根据前景区域位置检测的生长点位置信息和前景区域视觉显著性特征完成工件目标的检测;
2)工件缺陷检测:
21)采用双三次插值法对工件目标图像进行超分辨率重建;
22)对工件表面缺陷进行检测;(a)全局特征提取:对获取的金属表面图像分别从0°、45°、90°、135°四个方向分析其灰度值分布的情况,得到邻域灰度差算法中的步长与阈值;(b)局部特征分割:选取0°、45°、90°、135°方向对金属表面图像分别进行邻域灰度差分割,分别得到二值化图像T1、T2、T3、T4,则最终缺陷分割结果T=T1|T2|T3|T4
23)计算缺陷面积,判断工件是否合格。
本发明所达到的有益效果是:本发明的基于双目视觉的金属工件缺陷检测方法,能在复杂背景下提取出金属工件,对于具有高反光和拉丝特性的金属表面能自适应地检测出划痕、孔洞、裂纹等缺陷。本方法不受外界环境及目标物体自身因素的影响,具有通用性好,准确度高,实时性好等优点,对航天、军事、工业及安保等各个领域实现机器智能化测量有重要意义。
附图说明
图1基于双目视觉的工件缺陷检测流程图;
图2相机坐标系关系图;
图3工件目标提取流程图;
图4缺陷工件示意图;
图5不同角度拍摄得到的棋盘标定图像;
图6双目视觉成像原理图。
具体实施方式
下面结合附图对本发明做进一步的说明。
本发明的具体技术方案包括下面三个步骤:
一.双目相机标定。
相机标定的本质是找到世界坐标系与图像坐标系之间的关系,如图2。在利用双目视觉进行目标像素点三维标定过程中,由两台平行的CCD相机对同一目标物体在不同角度进行拍摄;再通过双目相机标定参数和左目图像、右目图像视差信息完成像素点空间坐标的计算。准确标定左目相机和右目相机的参数和位置关系,也是目标边缘像素点空间坐标计算的重要步骤。
a.将两个相机平行平放形成一个双目相机;
b.获取棋盘模板图像,打印一个具有sm×sn个已知方格大小的棋盘平面作为标定模板,将标定模板放置在双目相机的摄像范围内并多次转动,从而使相机拍摄得到多幅不同的棋盘图像,如图5;
c.角点检测,以棋盘模板左上角为原点,按顺时针的方向,确定角点检测的区域,采用Harris角点检测算法对左目相机和右目相机各幅棋盘标定模板进行检测;
d.计算单应性矩阵H,矩阵H的第ia列用hia表示,定义如下:
设R是一个旋转矩阵,R的第ib列向量用rib表示,t是一个三维平移向量,定义如下:
设ax是摄像机在x方向的焦距,ax是摄像机在y方向的焦距,(u0,v0)是摄像机的主点,A是一个内参矩阵,定义如下:
设棋盘标定模板上某角点P的世界坐标系为Pw=(Xw,Yw,Zw)T,在图像上的像素点Pu的坐标为Pu=(u,v)T,λ是尺度因子,则Pw和Pu的关系表示为:
将步骤3中得到的多个角点代入上式,再利用最小二乘法得到每个相机的单应性矩阵H,其中每幅图像对内参矩阵满足以下两个约束条件:
其中A-1表示矩阵A的逆矩阵,A-T表示表示矩阵A的逆转置矩阵。
e.计算左目相机和右目相机的内外参数,单应性矩阵是由相机的内外参数组成的,从单应性矩阵中分解出相机的各个参数;
构建矩阵B,令B=A-TA-1,则矩阵B的定义如下:
取矩阵B中的部分参数构成向量vb:
vb=[B11 B12 B22 B13 B23 B33]T
取矩阵H中的部分参数构建向量vij
vij=[hi1hj1 hi2hj2+hi2hj1 hi2hj2 hi1hj3 hi3hj2+hi2hj2 hi3hj3]
其中向量vij的下标决定从矩阵H中选取参数的位置。
则有求出矩阵B,从而得到相机内参αx,αy,u0,v0,进而得到下式,求出相机外参:
f.计算左目相机和右目相机相对位置关系,求出左目相机和右目相机的内参数和外参数后,由下式得到左目相机和右目相机之间的位置关系:
其中,左目相机和右目相机的旋转矩阵及平移向量分别为R1、t1和R2、t2,世界坐标系中的一点Pw=(Xw,Yw,Zw)在左目相机和右目相机坐标系的坐标分别为(X1,Y1,Z1)和(X2,Y2,Z2)。
二、提取工件目标图像。利用双目视觉原理提取位于前景的工件目标图像时,需要对左目相机图像和右目相机图像进行立体匹配,全局型匹配算法可以应用于复杂背景下的立体匹配工作,但是匹配结果准确度差,远远达不到生产和生活中的测量要求,局部型匹配算法可以用于纯净背景下的立体匹配工作,但是对环境背景的要求较高,使得该算法应用范围较为狭窄。
针对以上问题,本发明提出了基于视觉显著性的工件目标区域检测算法,该算法结合全局型匹配算法和局部型匹配算法的优点,首先对双目相机获取到的左目图像与右目图像使用全局匹配算法进行深度粗检测,得到视差图像;再利用局部型匹配算法构建结合颜色和区域生长的前景目标区域检测模型,根据粗匹配得到的视差信息,选取前景中的最大联通区域作为种子集合,同时增加左目图像中的角点作为区域生长限制的制约因素,完成复杂背景作为前景的工件目标图像的提取,流程图如图3,具体步骤包括:
1.对双目相机获取到的左目图像与右目图像使用全局匹配算法进行深度粗检测,从而得到视差图像:
(a)匹配代价计算,使用一个矩形代价窗口遍历前景图像,选取中心像素的灰度值作为参考值,将矩形窗口中各像素的灰度值与参考值进行比较,并用0和1来表示灰度值的大小关系,比参考灰度值大的像素灰度值设为0,比参考灰度值小的像素灰度值设为1,变换过程如下:
其中,p表示矩形窗口内的中心像素点,Np表示p的邻域,q表示Np内的点,I(p)、I(q)为点p、q对应的灰度值,符号表示按位连接,T(p)表示以点p为中心的窗口形成的01序列,ξ[I(p),I(q)]是一个比较函数,其满足下式:
(b)基于单个像素的原始匹配代价鉴别性不高,易受噪声影响,需要利用周围像素的信息进行代价聚合,以提高视差区分性。利用滤波器完成代价聚合不仅可以大幅度简化代价复杂度,并且可以有效表达中心像素点和邻域像素点之间的像素信息关系。利用滤波器进行代价聚合,构建滤波器核心函数如下式:
其中,Wicjc(I)为代价聚合值,ic、jc为输入图像I的像素索引,I(ic)、I(jc)为输入图像在I在wk内的像素灰度值,μk分别为输入图像I在wk内的均值和方差,wk为滤波器窗口范围,|w|为窗口内像素个数,ε为控制参数。
(c)使用下式获得初始视差值d0(p),其中C(p,d)为视差值为d时的匹配代价值,表示的是C(p,d)最小时的d0(p)的取值,
(d)初始视差图中还存在一些误匹配,利用区域投票方法提高视差精度,区域投票方法是指在一个局部支持区域内统计视差直方图,并选择出现频率最大的视差值作为某点的最终视差,提高了匹配精度。支持区域将沿用代价计算阶段的十字交叉窗口自适应区域。采用左右一致性检验来检测遮挡点。
设dL(p)和dR(p)分别为左视差值和右视差值,当p点和其对应点的视差不一致时,即dL(p)≠dR[p-dL(p)],则认为p是遮挡点,并将其视差值标记为0;在p点所属行扫描线上分别寻找左、右第一个非遮挡点,选择较小的视差值作为遮挡点的视差,从而完成遮挡点的填补;最后,采用加权中值滤波器对视差图进行平滑滤波,获得最终的视差图。
2.提取前景区域,首先标记视差图像中的前景像素点作为工件区域位置检测的生长点,利用双目视觉局部型匹配算法,对原始彩色图像进行角点检测、颜色检测,构建前景区域的视觉显著性特征,再根据前景区域位置检测的生长点位置信息和前景区域视觉显著性特征完成工件目标的检测。
(a)FAST(Features fromaccelerated segment test)角点检测,FAST角点检测通过比较原像素点与周围圆形邻域像素的灰度值来确定,大于原像素点灰度值的像素点如果组成连续的圆弧,并且弧长大于圆周长的3/4,那么将其判断为角点,FAST角点检测还要执行非极大值抑制方法,对于每个角点都以当前角点为中心形成一个半径为rf的圆形区域,如果当前角点的角点强度不是区域内的最大值则将剔除该角点,E是角点响应强度,如下式所示,I(x)是圆周上的像素点的灰度值,I(p)是候选像素点的灰度值,εd是角点阈值,
(b)结合颜色和区域生长的前景目标区域检测,原始的图像格式是RGB格式,受外界光线影响较大,随光照条件的变化,R、G、B分量都会有较大变化,直接利用这些分量往往不能得到所需的效果,基于HSI空间的图像分割,能取得比RGB空间更好的效果。
在视差图像中,为了表明一个区域与它的邻域有很高的相似度,为每个区域定义一个相似度函数,用相似度函数来衡量一个区域与它的邻域的相似性程度,如果一个区域的相似度函数值大于一个阈值,则该区域被选择为种子区域,
将一个区域R的邻域集合定义为:
其中,Ri和Rj是邻域的区域,将一个区域与它的邻域的相似度函数定义为:
k是邻域区域的数量,xt中每个区域的色调H分量均值,集合内所有区域的色调分量均值:
yt中每个区域的饱和度S分量均值,集合内所有区域的饱和度分量均值;ε1和ε2是定义的色调分量和饱和度分量系数,由于色调分量比饱和度分量包含更多的颜色信息,ε1取值0.75,ε2取值0.25,a是定义的角点影响系数,d是当前区域包含的角点数量。
在图像中两个区域在颜色上相近,空间上相邻,并且其邻域处没有显著的色彩变化则可认为是两个可相连的区域。即一个区域与它的邻域的相对颜色距离的最大值要小于定义的阈值。颜色距离定义采用区域的色调分量均值Dc进行计算,定义如下:
其中,ri和rj分别代表i和j区域中包含的像素个数,代表两个区域的颜色均值,|| ||表示欧氏距离。
设定两个相邻区域的色调均值差和饱和度均值差都小于设定的阈值,才能对这两个区域进行合并。通过循环遍历每个种子区域邻域,逐行检查每个种子区域的邻域窗口,比较种子区域与邻域区域的色调均值和饱和度均值的差值,如果小于设定的阈值,则进行区域合并。循环执行,直到任何两个区域之间的色调均值和饱和度均值之差都不再小于设定的阈值为止。同时在每一次循环前更新新区域的色调均值和饱和度均值,去掉每个区域原始的邻域区域里已经被合并的区域,保持每个区域与其他区域之间最新的邻域关系。如果一个区域的像素个数小于阈值Z,那么将这个区域合并到与它的色调均值差异最小的邻域中去。循环考察现有的区域像素个数,直到所有区域的像素个数大于阈值Z,找到前景目标区域的最左、最右点和最高、最低点,并形成一个矩形,即得到了工件目标图像O。
三、工件缺陷检测。由于金属工件表面具有高反光和拉丝特性,并且工件表面的缺陷包括划痕、孔洞、裂纹等多种形式,如图4所示,所以工件表面缺陷的图像经常是灰度分布不均衡的图像,如果仅凭借单一的绝对阈值来分割该图像,无法避免金属拉丝特性与缺陷多样性带来的影响,因此本发明提出一种局部特性与全局特性相结合的多阈值自适应工件表面缺陷检测算法,具体包括以下步骤:
1.工件表面超分辨率重建,采用双三次插值法对工件目标图像进行超分辨率重建,选择4×4的邻域采样点,利用三次多项式S(x)拟合理论上的最佳插值函数其数学表达式为,x是S(x)的参数变量:
(id,jd)表示进行超分辨率重建之前的图像像素点,(i',j')表示进行超分辨率重建之后的图像像素点,b和c是设定好的参数,点(i',j')的灰度f(i',j')计算式如下:
2.对工件表面缺陷进行检测,针对工件是由金属制成的这一特性,本发明提出了一种局部特征与全局特征相结合的多阈值自适应金属工件表面缺陷检测算法。
(a)全局特征提取:多方向灰度波动分析定义为对获取的金属表面图像分别从0°、45°、90°、135°四个方向计算其灰度值波动程度,波动程度可用灰度均方差和灰度平均值来描述,根据波动程度得到邻域灰度差算法中的步长与阈值等参数;
在每个方向上均获得多组一维灰度曲线并确定灰度曲线自适应阈值,其中,确定各方向自适应阈值的步骤如下:
步骤1.计算当前方向上所有的一维灰度分布曲线的均方差K,其中F(n)为当前维灰度平均值,F(i)为当前维的像素点的灰度值,n为当前维分布包含的像素点数量,定义K为:
步骤2.选取均方差K值最大的一维灰度分布曲线作为当前方向上主分布曲线Fo(i),o的取值为0°、45°、90°、135°;
步骤3.依次计算当前维灰度平均值F(n)与当前维所有像素点灰度值F(i)的差值,设mh是所有差值中绝对值最大的差值,imh是mh对应的像素点,标记像素点imh的连续相邻区域像素值超过或低于灰度平均值F(n)的像素点,形成一个标记区域,并将标记区域中的像素点数量记为L,L即被标记区域的步长;
步骤4.根据步长L改变当前方向邻域灰度差分割的步长J,定义步长J如式:
根据差值mh所在的标记区域,改变当前方向邻域灰度差分割的阈值G,定义阈值G如下所示,其中e和m分别为标记区域的起点与终点,
(b)局部特征分割:
利用邻域灰度差分割算法进行局部特征分割,首先通过灰度波动分析获取当前方向的邻域分割步长J与阈值G,然后利用灰度的局部波动信息,同时借助全局算法的整体协调性对金属表面缺陷部分进行单方向分割处理。
对工件图像的0°、45°、90°、135°四个方向进行灰度波动分析,得到四个方向的邻域分割的步长J与阈值G,按下式对工件图像进行阈值分割,其中F(x',y')为像素点(x',y')的像素值,ie和je根据分割方向取0、1、-1,图像的边界点只对像素点存在的方向进行处理,分割方向为0°时,ie=1,je=0,分割方向为45°时,ie=1,je=1,分割方向为90°时,ie=0,je=1分割方向为135°时,ie=-1,je=-1。
选取0°、45°、90°、135°方向对金属表面图像分别进行邻域灰度差分割,分别得到二值化图像T1、T2、T3、T4,则最终缺陷分割结果T=T1|T2|T3|T4
3.在工件表面提取出缺陷后,进一步计算缺陷面积,步骤如下:
(a)统计工件目标图像O的像素数量,记为O1,统计缺陷图像T中的非0像素个数记为O2
(b)计算工件目标面积,找到工件目标图像O中的最高、最低点X1(x1,y1)、X2(x2,y2),最左最右点X3(x3,y3)、X4(x4,y4),根据相机位置关系得到上述4点在另一相机图像的匹配点,分别记为X5(x5,y5)、X6(x6,y6)、X7(x7,y7)和X8(x8,y8),则视差d定义为某一点在两幅图像中相应点的位置差,其中xzn、xyn分别是匹配点对在左右目图像中的横坐标:
d=(xzn-xyn)
由下式计算出左目相机坐标系中某点P的空间坐标(xc,yc,zc),其中bd是左目相机和右目相机的基线距,f表示焦距,原理如图6所示。
计算出四对匹配点所对应的四个空间坐标Xh(xh,yh)、Xs(xs,ys)、Xl(xl,yl)和Xr(xr,yr)分别是最高、最低、最左、最右点,然后使用下式计算出工件目标面积A1
A1=(xh-xs)×(xl-xr)
(c)计算工件缺陷面积,利用下式得到工件缺陷的面积:
设定一个缺陷面积阈值AT,若A1>AT,则认为缺陷面积过大,工件不合格;若A1<AT,则缺陷较小,工件合格。
以上已以较佳实施例公开了本发明,然其并非用以限制本发明,凡采用等同替换或者等效变换方式所获得的技术方案,均落在本发明的保护范围之内。

Claims (9)

1.一种基于双目视觉的金属工件缺陷检测方法,其特征在于,包括以下步骤:
1)提取工件目标图像:
11)首先对双目相机获取到的左目图像与右目图像使用全局匹配算法进行深度粗检测,得到视差图像;
12)标记视差图像中的前景像素点作为工件区域位置检测的生长点,利用双目视觉局部型匹配算法,对原始彩色图像进行角点检测、颜色检测,构建前景区域的视觉显著性特征,再根据前景区域位置检测的生长点位置信息和前景区域视觉显著性特征完成工件目标的检测;
2)检测工件缺陷:
21)采用双三次插值法对工件目标图像进行超分辨率重建;
22)对工件表面缺陷进行检测;(a)全局特征提取:对获取的金属表面图像分别从0°、45°、90°、135°四个方向分析其灰度值分布的情况,得到邻域灰度差算法中的步长与阈值;(b)局部特征分割:选取0°、45°、90°、135°方向对金属表面图像分别进行邻域灰度差分割,分别得到二值化图像T1、T2、T3、T4,则最终缺陷分割结果T=T1|T2|T3|T4
23)计算缺陷面积,判断工件是否合格。
2.根据权利要求1所述的基于双目视觉的金属工件缺陷检测方法,其特征在于,包括以下步骤:在提取工件目标图像之前,还包括对左目相机和右目相机进行标定的步骤。
3.根据权利要求2所述的基于双目视觉的金属工件缺陷检测方法,其特征在于,标定过程包括:
a.将两个相机平行平放形成一个双目相机;
b.获取棋盘模板图像,打印一个具有sm×sn个已知方格大小的棋盘平面作为标定模板,将标定模板放置在双目相机的摄像范围内并多次转动,从而使相机拍摄得到多幅不同的棋盘图像;
c.以棋盘模板左上角为原点,按顺时针的方向,确定角点检测的区域,采用Harris角点检测算法对左目相机和右目相机各幅棋盘标定模板进行检测;
d.计算单应性矩阵H,矩阵H的第ia列用hia表示,定义如下:
<mrow> <mi>H</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>h</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>12</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>13</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>h</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>22</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>23</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>h</mi> <mn>31</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>32</mn> </msub> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <msub> <mi>h</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>3</mn> </msub> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> </mrow>
设R是一个旋转矩阵,R的第ib列向量用rib表示,t是一个三维平移向量,定义如下:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>R</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>r</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>12</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>13</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>r</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>22</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>23</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>r</mi> <mn>31</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>32</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>33</mn> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <msub> <mi>r</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>3</mn> </msub> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>t</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>t</mi> <mi>x</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>t</mi> <mi>y</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>t</mi> <mi>z</mi> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> </mtable> </mfenced>
设ax是摄像机在x方向的焦距,ax是摄像机在y方向的焦距,(u0,v0)是摄像机的主点,A是一个内参矩阵,定义如下:
<mrow> <mi>A</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mi>x</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>u</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>a</mi> <mi>y</mi> </msub> </mtd> <mtd> <msub> <mi>v</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>
设棋盘标定模板上某角点P的世界坐标系为Pw=(Xw,Yw,Zw)T,在图像上的像素点Pu的坐标为Pu=(u,v)T,λ是尺度因子,则Pw和Pu的关系表示为:
<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>u</mi> </mtd> </mtr> <mtr> <mtd> <mi>v</mi> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mi>&amp;lambda;</mi> <mi>A</mi> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <msub> <mi>r</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>3</mn> </msub> </mtd> <mtd> <mi>t</mi> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mi>&amp;lambda;</mi> <mi>A</mi> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <msub> <mi>r</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>2</mn> </msub> </mtd> <mtd> <mi>t</mi> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mi>H</mi> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mo>&amp;lsqb;</mo> <mtable> <mtr> <mtd> <msub> <mi>h</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>h</mi> <mn>3</mn> </msub> </mtd> </mtr> </mtable> <mo>&amp;rsqb;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>
将步骤3中得到的多个角点代入上式,再利用最小二乘法得到每个相机的单应性矩阵H,其中每幅图像对内参矩阵满足以下两个约束条件:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msubsup> <mi>h</mi> <mn>1</mn> <mi>T</mi> </msubsup> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mi>T</mi> </mrow> </msup> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msub> <mi>h</mi> <mn>2</mn> </msub> <mo>=</mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>h</mi> <mn>1</mn> <mi>T</mi> </msubsup> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mi>T</mi> </mrow> </msup> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msub> <mi>h</mi> <mn>1</mn> </msub> <mo>=</mo> <msubsup> <mi>h</mi> <mn>2</mn> <mi>T</mi> </msubsup> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mi>T</mi> </mrow> </msup> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msub> <mi>h</mi> <mn>2</mn> </msub> </mtd> </mtr> </mtable> </mfenced>
其中A-1表示矩阵A的逆矩阵,A-T表示表示矩阵A的逆转置矩阵;
e.计算左目相机和右目相机的内外参数,单应性矩阵由相机的内外参数组成,从单应性矩阵中分解出相机的各个参数;
构建矩阵B,令B=A-TA-1,则矩阵B的定义如下:
<mrow> <mi>B</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>B</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>B</mi> <mn>12</mn> </msub> </mtd> <mtd> <msub> <mi>B</mi> <mn>13</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>B</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>B</mi> <mn>22</mn> </msub> </mtd> <mtd> <msub> <mi>B</mi> <mn>23</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>B</mi> <mn>31</mn> </msub> </mtd> <mtd> <msub> <mi>B</mi> <mn>32</mn> </msub> </mtd> <mtd> <msub> <mi>B</mi> <mn>33</mn> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mfrac> <mn>1</mn> <msubsup> <mi>&amp;alpha;</mi> <mi>x</mi> <mn>2</mn> </msubsup> </mfrac> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mfrac> <msub> <mi>u</mi> <mn>0</mn> </msub> <msubsup> <mi>&amp;alpha;</mi> <mi>x</mi> <mn>2</mn> </msubsup> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mfrac> <mn>1</mn> <msubsup> <mi>&amp;alpha;</mi> <mi>y</mi> <mn>2</mn> </msubsup> </mfrac> </mtd> <mtd> <mrow> <mo>-</mo> <mfrac> <msub> <mi>v</mi> <mn>0</mn> </msub> <msubsup> <mi>&amp;alpha;</mi> <mi>y</mi> <mn>2</mn> </msubsup> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>-</mo> <mfrac> <msub> <mi>u</mi> <mn>0</mn> </msub> <msubsup> <mi>&amp;alpha;</mi> <mi>x</mi> <mn>2</mn> </msubsup> </mfrac> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mfrac> <msub> <mi>v</mi> <mn>0</mn> </msub> <msubsup> <mi>&amp;alpha;</mi> <mi>y</mi> <mn>2</mn> </msubsup> </mfrac> </mrow> </mtd> <mtd> <mrow> <mfrac> <msub> <mi>u</mi> <mn>0</mn> </msub> <msubsup> <mi>&amp;alpha;</mi> <mi>x</mi> <mn>2</mn> </msubsup> </mfrac> <mo>+</mo> <mfrac> <msub> <mi>v</mi> <mn>0</mn> </msub> <msubsup> <mi>&amp;alpha;</mi> <mi>y</mi> <mn>2</mn> </msubsup> </mfrac> <mo>+</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
取矩阵B中的部分参数构成向量vb:
vb=[B11B12B22B13B23B33]T
取矩阵H中的部分参数构建向量vij
vij=[hi1hj1 hi2hj2+hi2hj1 hi2hj2 hi1hj3 hi3hj2+hi2hj2 hi3hj3]
其中向量vij的下标决定从矩阵H中选取参数的位置,则有求出矩阵B,从而得到相机内参αx,αy,u0,v0,进而得到下式,求出相机外参:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>&amp;lambda;</mi> </mfrac> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msub> <mi>h</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>&amp;lambda;</mi> </mfrac> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msub> <mi>h</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>r</mi> <mn>3</mn> </msub> <mo>=</mo> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>&amp;times;</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>t</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mi>&amp;lambda;</mi> </mfrac> <msup> <mi>A</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msub> <mi>h</mi> <mn>3</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>r</mi> <mn>11</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>r</mi> <mn>12</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>r</mi> <mn>13</mn> <mn>2</mn> </msubsup> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>r</mi> <mn>21</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>r</mi> <mn>22</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>r</mi> <mn>23</mn> <mn>2</mn> </msubsup> <mo>=</mo> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced>
f.计算左目相机和右目相机相对位置关系,求出左目相机和右目相机的内参数和外参数后,由下式得到左目相机和右目相机之间的位置关系:
<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>R</mi> <mn>1</mn> </msub> <msubsup> <mi>R</mi> <mn>2</mn> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> <msub> <mi>R</mi> <mn>1</mn> </msub> <msubsup> <mi>R</mi> <mn>2</mn> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <msub> <mi>t</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <msup> <mn>0</mn> <mi>T</mi> </msup> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>R</mi> </mtd> <mtd> <mi>t</mi> </mtd> </mtr> <mtr> <mtd> <msup> <mn>0</mn> <mi>T</mi> </msup> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中,左目相机和右目相机的旋转矩阵及平移向量分别为R1、t1和R2、t2,世界坐标系中的一点Pw=(Xw,Yw,Zw)在左目相机和右目相机坐标系的坐标分别为(X1,Y1,Z1)和(X2,Y2,Z2)。
4.根据权利要求1所述的基于双目视觉的金属工件缺陷检测方法,其特征在于,在所述步骤11)中,包括以下步骤:
(a)匹配代价计算,使用一个矩形代价窗口遍历前景图像,选取中心像素的灰度值作为参考值,将矩形窗口中各像素的灰度值与参考值进行比较,并用0和1来表示灰度值的大小关系,比参考灰度值大的像素灰度值设为0,比参考灰度值小的像素灰度值设为1,变换过程如下:
<mrow> <mi>T</mi> <mrow> <mo>(</mo> <mi>p</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mrow> <mi></mi> <mo>&amp;CircleTimes;</mo> </mrow> <mrow> <mi>q</mi> <mo>=</mo> <msub> <mi>N</mi> <mi>p</mi> </msub> </mrow> </munder> <mi>&amp;xi;</mi> <mo>&amp;lsqb;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>p</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>q</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow>
其中,p表示矩形窗口内的中心像素点,Np表示p的邻域,q表示Np内的点,I(p)、I(q)为点p、q对应的灰度值,符号表示按位连接,T(p)表示以点p为中心的窗口形成的01序列,ξ[I(p),I(q)]是一个比较函数,其满足下式:
<mrow> <mi>&amp;xi;</mi> <mo>&amp;lsqb;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>p</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>q</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>I</mi> <mrow> <mo>(</mo> <mi>q</mi> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>p</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>I</mi> <mrow> <mo>(</mo> <mi>q</mi> <mo>)</mo> </mrow> <mo>&gt;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>p</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
(b)利用滤波器进行代价聚合,构建滤波器核心函数如下式:
<mrow> <msub> <mi>W</mi> <mrow> <mi>i</mi> <mi>c</mi> <mi>j</mi> <mi>c</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>I</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <msup> <mrow> <mo>|</mo> <mi>w</mi> <mo>|</mo> </mrow> <mn>2</mn> </msup> </mfrac> <munder> <mi>&amp;Sigma;</mi> <msub> <mi>w</mi> <mi>k</mi> </msub> </munder> <mo>{</mo> <mn>1</mn> <mo>+</mo> <mfrac> <mrow> <mo>&amp;lsqb;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>i</mi> <mi>c</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>&amp;mu;</mi> <mi>k</mi> </msub> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>j</mi> <mi>c</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>&amp;mu;</mi> <mi>k</mi> </msub> <mo>&amp;rsqb;</mo> </mrow> <mrow> <msubsup> <mi>&amp;sigma;</mi> <mi>k</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>&amp;epsiv;</mi> </mrow> </mfrac> <mo>}</mo> </mrow>
其中,Wicjc(I)为代价聚合值,ic、jc为输入图像I的像素索引,I(ic)、I(jc)为输入图像在I在wk内的像素灰度值,μk分别为输入图像I在wk内的均值和方差,wk为滤波器窗口范围,|w|为窗口内像素个数,ε为控制参数;
(c)使用下式获得初始视差值d0(p),其中C(p,d)为视差值为d时的匹配代价值,表示的是C(p,d)最小时的d0(p)的取值,
<mrow> <msub> <mi>d</mi> <mn>0</mn> </msub> <mrow> <mo>(</mo> <mi>p</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>d</mi> </munder> <mo>&amp;lsqb;</mo> <mi>C</mi> <mrow> <mo>(</mo> <mi>p</mi> <mo>,</mo> <mi>d</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>;</mo> </mrow>
(d)利用区域投票方法提高视差精度,区域投票方法是指在一个局部支持区域内统计视差直方图,并选择出现频率最大的视差值作为某点的最终视差。
5.根据权利要求4所述的基于双目视觉的金属工件缺陷检测方法,其特征在于,在所述步骤d)中,包括以下步骤:
设dL(p)和dR(p)分别为左视差值和右视差值,当p点和其对应点的视差不一致时,则认为p点是遮挡点,并将其视差值标记为0;在p点所属行扫描线上分别寻找左、右第一个非遮挡点,选择较小的视差值作为遮挡点的视差,从而完成遮挡点的填补;最后,采用加权中值滤波器对视差图进行平滑滤波,获得最终的视差图。
6.根据权利要求1所述的基于双目视觉的金属工件缺陷检测方法,其特征在于,在所述步骤12)中,所述角点检测通过比较原像素点与周围圆形邻域像素的灰度值来确定,大于原像素点灰度值的像素点如果组成连续的圆弧,并且弧长大于圆周长的3/4,则判断为角点,同时,对于每个角点均以当前角点为中心形成一个半径为rf的圆形区域,如果当前角点的角点强度不是区域内的最大值则将剔除该角点。
7.根据权利要求1所述的基于双目视觉的金属工件缺陷检测方法,其特征在于,在所述步骤12)中,比较种子区域与邻域区域的色调均值和饱和度均值的差值,如果小于设定的阈值,则进行区域合并,循环执行,直到任何两个区域之间的色调均值和饱和度均值之差均不再小于设定的阈值为止;同时在每一次循环前更新新区域的色调均值和饱和度均值,去掉每个区域原始的邻域区域里已经被合并的区域,保持每个区域与其他区域之间最新的邻域关系;找到前景目标区域的最左、最右点和最高、最低点,并形成一个矩形,即得到工件目标图像W。
8.根据权利要求1所述的基于双目视觉的金属工件缺陷检测方法,其特征在于,在所述步骤22)中,在全局特征提取步骤中,确定各方向阈值的步骤如下:
步骤1.计算当前方向上所有的一维灰度分布曲线的均方差K,其中F(n)为当前维灰度平均值,F(i)为当前维的像素点的灰度值,n为当前维分布包含的像素点数量,定义均方差K为:
<mrow> <mi>K</mi> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msqrt> <mrow> <mo>|</mo> <mrow> <mi>F</mi> <msup> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mi>F</mi> <msup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mo>|</mo> </mrow> </msqrt> </mrow> <mi>n</mi> </mfrac> </mrow>
步骤2.选取均方差K值最大的一维灰度分布曲线作为当前方向上主分布曲线Fo(i),o的取值为0°、45°、90°、135°;
步骤3.依次计算当前维灰度平均值F(n)与当前维所有像素点灰度值F(i)的差值,设mh是所有差值中绝对值最大的差值,imh是mh对应的像素点,标记像素点imh的连续相邻区域像素值超过或低于灰度平均值F(n)的像素点,形成一个标记区域,并将标记区域中的像素点数量记为L,L即被标记区域的步长;
步骤4.根据步长L改变当前方向邻域灰度差分割的步长J,定义步长J如式:
<mrow> <mi>J</mi> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mn>2</mn> </mtd> <mtd> <mrow> <mn>0</mn> <mo>&lt;</mo> <mi>L</mi> <mo>&amp;le;</mo> <mfrac> <mn>2</mn> <mn>3</mn> </mfrac> <mi>n</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>3</mn> </mtd> <mtd> <mrow> <mfrac> <mn>2</mn> <mn>3</mn> </mfrac> <mi>n</mi> <mo>&lt;</mo> <mi>L</mi> <mo>&amp;le;</mo> <mi>n</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
根据差值mh所在的标记区域,改变当前方向邻域灰度差分割的阈值G,定义阈值G如下所示,其中e和m分别为标记区域的起点与终点,
<mrow> <mi>G</mi> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mi>e</mi> </mrow> <mi>m</mi> </munderover> <mo>|</mo> <mi>F</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>F</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> <mi>L</mi> </mfrac> <mo>.</mo> </mrow>
9.根据权利要求4所述的基于双目视觉的金属工件缺陷检测方法,其特征在于,在所述步骤23)中,包括以下步骤:
(a)统计工件目标图像O的像素数量,记为O1,统计缺陷图像T中的非0像素个数记为O2
(b)计算工件目标面积,找到工件目标图像O中的最高、最低点X1(x1,y1)、X2(x2,y2),最左最右点X3(x3,y3)、X4(x4,y4),根据相机位置关系得到上述4点在另一相机图像的匹配点,分别记为X5(x5,y5)、X6(x6,y6)、X7(x7,y7)和X8(x8,y8),则视差d定义为某一点在两幅图像中相应点的位置差,其中xzn、xyn分别是匹配点对在左目图像和右目图像中的横坐标:
d=(xzn-xyn)
由下式计算出左目相机坐标系中某点P的空间坐标(xc,yc,zc),其中bd是左目相机和右目相机的基线距,f表示焦距,
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msup> <mi>x</mi> <mi>c</mi> </msup> <mo>=</mo> <mfrac> <mrow> <mi>b</mi> <mi>d</mi> <mo>&amp;CenterDot;</mo> <msub> <mi>x</mi> <mrow> <mi>z</mi> <mi>n</mi> </mrow> </msub> </mrow> <mi>d</mi> </mfrac> </mtd> </mtr> <mtr> <mtd> <msup> <mi>y</mi> <mi>c</mi> </msup> <mo>=</mo> <mfrac> <mrow> <mi>b</mi> <mi>d</mi> <mo>&amp;CenterDot;</mo> <msub> <mi>y</mi> <mrow> <mi>z</mi> <mi>n</mi> </mrow> </msub> </mrow> <mi>d</mi> </mfrac> </mtd> </mtr> <mtr> <mtd> <msup> <mi>z</mi> <mi>c</mi> </msup> <mo>=</mo> <mfrac> <mrow> <mi>b</mi> <mi>d</mi> <mo>&amp;CenterDot;</mo> <mi>f</mi> </mrow> <mi>d</mi> </mfrac> </mtd> </mtr> </mtable> </mfenced>
计算出四对匹配点所对应的四个空间坐标Xh(xh,yh)、Xs(xs,ys)、Xl(xl,yl)和Xr(xr,yr)分别是最高、最低、最左、最右点,然后使用下式计算出工件目标面积A1
A1=(xh-xs)×(xl-xr)
(c)计算工件缺陷面积,利用下式得到工件缺陷的面积:
<mrow> <msub> <mi>A</mi> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>A</mi> <mn>1</mn> </msub> <mo>&amp;times;</mo> <mfrac> <msub> <mi>O</mi> <mn>1</mn> </msub> <msub> <mi>O</mi> <mn>2</mn> </msub> </mfrac> </mrow>
设定一个缺陷面积阈值AT,若A1>AT,则工件不合格;若A1<AT,则工件合格。
CN201710660900.2A 2017-08-04 2017-08-04 一种基于双目视觉的金属工件缺陷检测方法 Pending CN107248159A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710660900.2A CN107248159A (zh) 2017-08-04 2017-08-04 一种基于双目视觉的金属工件缺陷检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710660900.2A CN107248159A (zh) 2017-08-04 2017-08-04 一种基于双目视觉的金属工件缺陷检测方法

Publications (1)

Publication Number Publication Date
CN107248159A true CN107248159A (zh) 2017-10-13

Family

ID=60013066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710660900.2A Pending CN107248159A (zh) 2017-08-04 2017-08-04 一种基于双目视觉的金属工件缺陷检测方法

Country Status (1)

Country Link
CN (1) CN107248159A (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107886550A (zh) * 2017-11-07 2018-04-06 上海应用技术大学 图像编辑传播方法和系统
CN107909573A (zh) * 2017-12-04 2018-04-13 广东嘉铭智能科技有限公司 金属工件环形表面刀纹检测方法及装置
CN107918939A (zh) * 2017-11-14 2018-04-17 佛山市南海区广工大数控装备协同创新研究院 用于板式家具生产线上的层叠板材大视野定位方法
CN107977931A (zh) * 2017-12-14 2018-05-01 元橡科技(北京)有限公司 利用标定过的多目相机生成超分辨率图像的方法
CN108037085A (zh) * 2017-11-29 2018-05-15 日照职业技术学院 基于光谱特征的金属工件表面缺陷检测方法
CN108279241A (zh) * 2017-10-20 2018-07-13 同济大学 一种基于机器视觉的工件外形检测方法
CN108573221A (zh) * 2018-03-28 2018-09-25 重庆邮电大学 一种基于视觉的机器人目标零件显著性检测方法
CN108760767A (zh) * 2018-05-31 2018-11-06 电子科技大学 基于机器视觉的大尺寸液晶屏缺陷检测方法
CN109163928A (zh) * 2018-08-27 2019-01-08 河海大学常州校区 一种基于双目视觉的无人机智能取水系统
CN110400296A (zh) * 2019-07-19 2019-11-01 重庆邮电大学 连铸坯表面缺陷双目扫描与深度学习融合识别方法及系统
CN110415241A (zh) * 2019-08-02 2019-11-05 同济大学 一种基于计算机视觉的混凝土构件表面质量检测方法
CN111058829A (zh) * 2019-12-05 2020-04-24 中国矿业大学 基于图像处理的岩层分析方法
CN111670454A (zh) * 2018-11-07 2020-09-15 深圳配天智能技术研究院有限公司 超分辨率图像的获取方法及超分辨率图像的获取装置
CN111879789A (zh) * 2020-07-15 2020-11-03 深圳科瑞技术股份有限公司 金属表面缺陷检测方法及系统
CN112233109A (zh) * 2020-11-05 2021-01-15 北京理工大学 一种抗可见光干扰的金属上料视觉分拣方法
CN113012157A (zh) * 2021-05-24 2021-06-22 深圳市菲凡数据科技有限公司 一种设备缺陷视觉检测方法及系统
CN114067197A (zh) * 2021-11-17 2022-02-18 河南大学 一种基于目标检测及双目视觉的管道缺陷识别与定位方法
CN114387271A (zh) * 2022-03-23 2022-04-22 武汉铂雅科技有限公司 基于角点检测的空调塑料接水盘网格缺胶检测方法及系统
CN114742788A (zh) * 2022-04-01 2022-07-12 南通高精数科机械有限公司 一种基于机器视觉的铜排缺陷检测方法及系统
CN114943736A (zh) * 2022-07-21 2022-08-26 山东嘉翔汽车散热器有限公司 一种汽车散热翅片生产质量检测方法及系统
CN115239721A (zh) * 2022-09-22 2022-10-25 武汉艾极涂科技有限公司 一种刀具缺陷修复方法、装置、设备及存储介质
CN115641336A (zh) * 2022-12-23 2023-01-24 无锡康贝电子设备有限公司 一种基于计算机视觉的空调用钣金件缺陷识别方法
CN115933534A (zh) * 2023-02-09 2023-04-07 山东山科世鑫科技有限公司 一种基于物联网的数控智能检测系统及方法
CN117237350A (zh) * 2023-11-14 2023-12-15 青岛三合山精密铸造有限公司 一种铸钢件质量实时检测方法
CN117252878A (zh) * 2023-11-17 2023-12-19 青岛天仁微纳科技有限责任公司 一种纳米压印模具的图像缺陷检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104713885A (zh) * 2015-03-04 2015-06-17 中国人民解放军国防科学技术大学 一种用于pcb板在线检测的结构光辅助双目测量方法
CN105894499A (zh) * 2016-03-25 2016-08-24 华南理工大学 一种基于双目视觉的空间物体三维信息快速检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104713885A (zh) * 2015-03-04 2015-06-17 中国人民解放军国防科学技术大学 一种用于pcb板在线检测的结构光辅助双目测量方法
CN105894499A (zh) * 2016-03-25 2016-08-24 华南理工大学 一种基于双目视觉的空间物体三维信息快速检测方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ZKL99999: "张正友平面标定方法", 《HTTPS://BLOG.CSDN.NET/ZKL99999/ARTICLE/DETAILS/48372203》 *
严雨: "基于双目立体视觉的表观缺陷三维重建检测评定方法", 《万方数据》 *
祝世平等: "基于改进Census变换和动态规划的立体匹配算法", 《光学学报》 *
车娟娟: "基于双目立体视觉的图像面积测量算法与技术", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
马云鹏 等: "金属表面缺陷自适应分割算法", 《仪器仪表学报》 *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279241A (zh) * 2017-10-20 2018-07-13 同济大学 一种基于机器视觉的工件外形检测方法
CN107886550A (zh) * 2017-11-07 2018-04-06 上海应用技术大学 图像编辑传播方法和系统
CN107918939B (zh) * 2017-11-14 2020-03-13 佛山市南海区广工大数控装备协同创新研究院 用于板式家具生产线上的层叠板材大视野定位方法
CN107918939A (zh) * 2017-11-14 2018-04-17 佛山市南海区广工大数控装备协同创新研究院 用于板式家具生产线上的层叠板材大视野定位方法
CN108037085A (zh) * 2017-11-29 2018-05-15 日照职业技术学院 基于光谱特征的金属工件表面缺陷检测方法
CN107909573A (zh) * 2017-12-04 2018-04-13 广东嘉铭智能科技有限公司 金属工件环形表面刀纹检测方法及装置
CN107909573B (zh) * 2017-12-04 2021-09-28 广东嘉铭智能科技有限公司 金属工件环形表面刀纹检测方法及装置
CN107977931A (zh) * 2017-12-14 2018-05-01 元橡科技(北京)有限公司 利用标定过的多目相机生成超分辨率图像的方法
CN108573221A (zh) * 2018-03-28 2018-09-25 重庆邮电大学 一种基于视觉的机器人目标零件显著性检测方法
CN108760767A (zh) * 2018-05-31 2018-11-06 电子科技大学 基于机器视觉的大尺寸液晶屏缺陷检测方法
CN108760767B (zh) * 2018-05-31 2020-07-17 电子科技大学 基于机器视觉的大尺寸液晶屏缺陷检测方法
CN109163928A (zh) * 2018-08-27 2019-01-08 河海大学常州校区 一种基于双目视觉的无人机智能取水系统
CN111670454B (zh) * 2018-11-07 2024-03-01 深圳配天机器人技术有限公司 超分辨率图像的获取方法及超分辨率图像的获取装置
CN111670454A (zh) * 2018-11-07 2020-09-15 深圳配天智能技术研究院有限公司 超分辨率图像的获取方法及超分辨率图像的获取装置
CN110400296A (zh) * 2019-07-19 2019-11-01 重庆邮电大学 连铸坯表面缺陷双目扫描与深度学习融合识别方法及系统
CN110415241A (zh) * 2019-08-02 2019-11-05 同济大学 一种基于计算机视觉的混凝土构件表面质量检测方法
CN111058829B (zh) * 2019-12-05 2021-06-25 中国矿业大学 基于图像处理的岩层分析方法
CN111058829A (zh) * 2019-12-05 2020-04-24 中国矿业大学 基于图像处理的岩层分析方法
CN111879789A (zh) * 2020-07-15 2020-11-03 深圳科瑞技术股份有限公司 金属表面缺陷检测方法及系统
CN112233109A (zh) * 2020-11-05 2021-01-15 北京理工大学 一种抗可见光干扰的金属上料视觉分拣方法
CN112233109B (zh) * 2020-11-05 2022-10-14 北京理工大学 一种抗可见光干扰的金属上料视觉分拣方法
CN113012157B (zh) * 2021-05-24 2021-07-20 深圳市菲凡数据科技有限公司 一种设备缺陷视觉检测方法及系统
CN113012157A (zh) * 2021-05-24 2021-06-22 深圳市菲凡数据科技有限公司 一种设备缺陷视觉检测方法及系统
CN114067197A (zh) * 2021-11-17 2022-02-18 河南大学 一种基于目标检测及双目视觉的管道缺陷识别与定位方法
CN114067197B (zh) * 2021-11-17 2022-11-18 河南大学 一种基于目标检测及双目视觉的管道缺陷识别与定位方法
CN114387271A (zh) * 2022-03-23 2022-04-22 武汉铂雅科技有限公司 基于角点检测的空调塑料接水盘网格缺胶检测方法及系统
CN114387271B (zh) * 2022-03-23 2022-06-10 武汉铂雅科技有限公司 基于角点检测的空调塑料接水盘网格缺胶检测方法及系统
CN114742788A (zh) * 2022-04-01 2022-07-12 南通高精数科机械有限公司 一种基于机器视觉的铜排缺陷检测方法及系统
CN114943736A (zh) * 2022-07-21 2022-08-26 山东嘉翔汽车散热器有限公司 一种汽车散热翅片生产质量检测方法及系统
CN115239721A (zh) * 2022-09-22 2022-10-25 武汉艾极涂科技有限公司 一种刀具缺陷修复方法、装置、设备及存储介质
CN115641336A (zh) * 2022-12-23 2023-01-24 无锡康贝电子设备有限公司 一种基于计算机视觉的空调用钣金件缺陷识别方法
CN115933534A (zh) * 2023-02-09 2023-04-07 山东山科世鑫科技有限公司 一种基于物联网的数控智能检测系统及方法
CN115933534B (zh) * 2023-02-09 2023-11-07 山东山科世鑫科技有限公司 一种基于物联网的数控智能检测系统及方法
CN117237350A (zh) * 2023-11-14 2023-12-15 青岛三合山精密铸造有限公司 一种铸钢件质量实时检测方法
CN117237350B (zh) * 2023-11-14 2024-01-26 青岛三合山精密铸造有限公司 一种铸钢件质量实时检测方法
CN117252878A (zh) * 2023-11-17 2023-12-19 青岛天仁微纳科技有限责任公司 一种纳米压印模具的图像缺陷检测方法
CN117252878B (zh) * 2023-11-17 2024-02-02 青岛天仁微纳科技有限责任公司 一种纳米压印模具的图像缺陷检测方法

Similar Documents

Publication Publication Date Title
CN107248159A (zh) 一种基于双目视觉的金属工件缺陷检测方法
CN104318548B (zh) 一种基于空间稀疏度和sift特征提取的快速图像配准实现方法
CN109859226B (zh) 一种图形分割的棋盘格角点亚像素的检测方法
CN106803286A (zh) 基于多视点图像的虚实遮挡实时处理方法
CN101443817B (zh) 用于确定场景的三维重建时的对应关系的方法和装置
CN107392929B (zh) 一种基于人眼视觉模型的智能化目标检测及尺寸测量方法
CN109711288A (zh) 基于特征金字塔和距离约束fcn的遥感船舶检测方法
CN105335973B (zh) 运用于带钢加工生产线的视觉处理方法
CN105574527B (zh) 一种基于局部特征学习的快速物体检测方法
CN104835175B (zh) 一种基于视觉注意机制的核环境中目标检测方法
CN109211198B (zh) 一种基于三目视觉的智能目标检测和测量系统和方法
CN106651942A (zh) 基于特征点的三维旋转运动检测与旋转轴定位方法
CN109559324B (zh) 一种线阵图像中的目标轮廓检测方法
CN109035276A (zh) 一种图像边缘提取方法、装置及自动驾驶系统
CN104933434A (zh) 一种结合LBP特征提取和surf特征提取方法的图像匹配方法
CN104123554B (zh) 基于mmtd的sift图像特征提取方法
CN107092871A (zh) 基于多尺度多特征融合的遥感影像建筑物检测方法
CN108876723A (zh) 一种灰度目标图像的彩色背景的构建方法
CN108765495B (zh) 一种基于双目视觉检测技术的快速标定方法及系统
CN110189375A (zh) 一种基于单目视觉测量的图像目标识别方法
CN108009556A (zh) 一种基于定点图像分析的河道漂浮物检测方法
CN106295657A (zh) 一种视频数据结构化过程中提取人体高度特征的方法
CN115345881A (zh) 一种基于计算机视觉的路面病害检测方法
CN108961385A (zh) 一种slam构图方法及装置
IL184993A (en) Method for extracting edge in photogrammetry with subpixel accuracy

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171013

RJ01 Rejection of invention patent application after publication