掌桥专利:专业的专利平台
掌桥专利
首页

一种高精度快速图形检测识别方法

文献发布时间:2023-06-19 11:02:01


一种高精度快速图形检测识别方法

技术领域

本发明涉及智能制造领域,尤其是一种采用机器视觉对工件图形进行预处理、边缘检测、关键点选取及拟合、属性参数运算及图形重构的方法,适用于智能制造领域中工件图形检测、识别及重构,具体地说是一种高精度快速图形检测识别方法。

背景技术

本发明以如何快速准确检测识别加工工件为研究对象,基于工件图像,采用机器视觉测量技术对其进行图形测量识别,检测加工工件的尺寸是否合格,快速完成工业现场测量检测任务。

传统人工测量、识别工件的方法效率低,测量成本高,对于复杂工件或大量工件的检测,无法及时完成,而采用机器视觉检测技术能够快速将获取的现场图像或视频信息提供给监控中心,监控中心通过分析、识别找出不合格产品,实现对工件的实时质量分析,显著降低企业的检测成本,为自动化智能制造奠定了良好的基础。

人工检测小型工件时,由于工件尺寸小,不易找到合适的工具测量,测量时不易操作,操作误差比较大;测量大型复杂工件时,也很难找到合适测量工具,采用局部测量后也没有合适拼接手段,测量误差与经验强相关,没有固定工艺流程,总体测量效率低、准确度低。与传统的人工检测图形技术相比,机器视觉检测图形技术具备高精度、高效率的优点,被广泛应用在工件类别的识别以及复杂图形结构工件尺寸的测量检测中。对于小型工件,可以调整摄像机的镜头放大倍数和相机的成像精度,从而达到非常细微尺寸的高精度测量。对于大型工件的测量,该技术可以通过不同角度,从多个方位获取工件的局部图像,并运用图像拼接技术实现对工件完整结构的尺寸测量。对于复杂结构的工件的尺寸测量,机器视觉测量技术通过提取采集工件图像的轮廓特征信息、从而实现对其精确轮廓及尺寸测量。

当前基于机器视觉检测识别加工工件,存在由于受环境干扰而滤波性能偏差,前景、背景区分阈值不合理、易受干扰,曲线拟合方法精度低,从而造成总体检测识别精确度仍较低,且检测速度达不到要求,最终无法有效替代人工检测等问题。

发明内容

本发明的目的是针对传统人工测量或机器视觉检测识别存在的问题,提出一种高精度快速图形检测识别方法,是一种采用机器视觉对工件图形进行增强预处理、边缘检测、关键点选取及拟合、属性参数运算及图形重构的方法,适用于智能制造领域中工件图形检测、识别及重构。

本发明的技术方案是:

一种高精度快速图形检测识别方法,所述的高精度快速图形检测识别方法分为图像拍摄获取、图像增强预处理、边缘检测、关键点选取、曲线拟合、属性参数运算及图形重构七个步骤。

具体的,所述的图像拍摄获取步骤中,选用工业CCD相机,将相机固定到工作台的指定位置,进行相机的标定,获取包括相机的畸变参数和外部的旋转矩阵数据,算出相机的参数矩阵,然后拍摄工件,获得统一像素大小工件图像。

具体的,所述的图像增强预处理步骤中包括顺序进行的整体图像增强步骤和边缘自适应增强步骤。

具体的,所述的整体图像增强步骤具体包括:

1)计算输入工件图像的灰度均值X

2)根据输入工件图像的灰度均值X

3)分别定义子图像X

子图像X

对累积概率密度函数的直方图均衡化处理如下:

f

f

对两个子图像进行均衡化操作,得到整体增强图像Y:

Y=f

具体的,所述的边缘自适应增强步骤中分别采用基于空间和灰度的双高斯滤波方法及其滤波参数的自适应确定;

所述的基于空间和灰度的双高斯滤波方法分别基于空间距离和灰度距离采用3×3矩阵的双高斯卷积核对整体增强的图像进行卷积滤波,具体如下:

(1)计算整体增强图像中任3×3区域内像素值的方差D,具体计算如下:

(2)根据方差D,确定双高斯滤波系数σ

(3)双高斯卷积核计算

f=f

其中,f表示双高斯滤波卷积核,f

(4)使用双高斯卷积核f对整体增强的图像进行卷积滤波,获得边缘自适应增强的新图像。即对原始图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素点的灰度值。

具体的,所述的边缘检测包括计算梯度、极大值抑制、迭代法阈值计算和边缘连接步骤,具体过程为:

(1)计算梯度,得到图像梯度的幅值、方位角、边缘方向以及邻域标准差;

图像的幅值:

式中,△x,△y分别表示Sobel水平和垂直算子与原始图像像素进行卷积计算后的灰度差分值;

方位角:

边缘方向角与方位角成正交关系;

邻域标准差:定义为去掉3×3邻域内的最大灰度和最小灰度值的像素点后剩余像素点灰度值的标准差,即:

计算出全图的邻域标准差之后,寻出最大的邻域标准差,以最大值为基准对所有的标准差进行归一化处理;

(2)沿着梯度方向对幅值进行非极大值抑制,保留像素值较高的点,细化边缘:

对图像的每一个像素点(x,y),像素点(x,y)与沿着其对应的梯度方向相邻的两个像素相比,若点(x,y)像素值为最大值,则保留,否则点(x,y)像素值置0;

(3)采用迭代法计算阈值:

a求出图像的最大灰度值和最小灰度值,记为Z

T

b根据阈值T(初始为T

式中,Z

c求出新阈值T=(ZO+ZB)/2;

d循环进行步骤b-c,直至T值不再变化;

e获得前景与背景的最佳区分阈值T:

将得到的阈值T上下调整5%分别作为边缘检测的高、低阈值;

(4)用双阈值算法检测和连接边缘:

将小于低阈值的点置0,将大于高阈值的点标记置1或255;

将小于高阈值、大于低阈值的点使用8连通区域确定:当这些点与高灰度值区域连接时才会被接受,成为边缘点,置1或255,否则置0。

具体的,所述的关键点选取步骤具体流程为:

(1)设置轮廓结束点,计算结束点邻域,即以结束点为圆心、R

(2)记录轮廓开始点X

开始点X

其中

a

(3)计算步长l,

其中R表示点X(x,y)的曲率半径;从该点出发遍历l个像素点找到下一点X(x,y),遍历l个像素点过程中,后一个像素点是前一个像素点处边缘方向上紧邻的点;

(4)如果点X(x,y)进入结束点邻域,选点结束;否则,选择距点X(x,y)前、后各△l处两点B(x

该点X(x,y)曲率半径

其中

a=x(y

(5)如果该点的曲率半径大于800,比较该点与上一记录点边缘方向角大小,若偏差超过10°就记录该点;如果不超过10°就舍弃该点,返回(3)以该点计算新步长寻找下一点;

(6)如果当前点的曲率半径小于800,计算置信度b

其中,σ

若置信度满足要求b

(1)确定BP神经网络的模型;

(2)导入关键点进行模型训练;

(3)得到训练完成的模型,按照模型绘制出边缘轮廓;

其中,导入关键点进行模型训练具体步骤为:

1)网络初始化:根据系统输入输出确定网络输入层节点数n、隐含层节点数l、输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权重w

2)隐含层输出计算:根据输入变量x

f为隐含层激励函数,如

3)输出层输出计算:根据隐含层输出H

4)误差计算:根据网络预测输出O

e

5)权值更新:根据网络预测误差e

w

式中,x

6)阈值更新:根据网络预测误差e

b

根据网络预测误差e

具体的,所述的属性参数运算通过最小二乘方法求取规则图形关键参数。

具体的,所述的图形重构基于拟合的图形轮廓或获得的规则图形关键参数在系统人机界面上进行图形重构。

本发明的有益效果

本发明的一种高精度快速图形检测识别方法,是一种采用机器视觉对工件图形进行预处理、边缘检测、关键点选取及拟合、属性参数运算及图形重构的方法,适用于智能制造领域中工件图形检测、识别及重构。

本发明相机选用工业CCD相机,相较于CMOS相机,CCD相机获取的图片噪声更少,图像质量更高。

本发明的整体图像增强,通过图像灰度均值分割的双直方图均衡化将图片的对比度局部对比度增加,增强了因为光源亮度不足而产生差质量图片的可识别性。

本发明在边缘自适应增强过程中分别采用了基于空间和灰度的双高斯滤波方法,综合考虑了位置和灰度值对于中心值的影响,而且其滤波参数根据区域灰度方差自适应调整,不仅能滤除噪声、平滑图像,还能很好的保留图像的边缘信息。

对比传统的将图像灰度最大与最小值的平均数作为图像前景与背景的区分阈值的方法,传统做法仅对图像灰度最大值与最小值取一次平均,忽略了图像的整体信息,容易受噪声干扰,本发明采用阈值迭代计算方法,将图像分为前景与背景,计算出来的阈值是基于图像整体考虑,采用迭代计算图像前景与背景平均灰度而获得的稳定阈值,所以使用本发明的迭代法计算得出的阈值更加实用、精确、可信,抗干扰能力也更强。

本发明基于置信度、曲率半径等信息综合选取关键点,所选关键点不仅更加趋近真实边缘,大大提高了曲线拟合的精度,同时因这些点更具代表性而省去一些不必要的点,从而大大节省了储存空间和曲线拟合时间。

本发明采用bp神经网络加最小二乘法的拟合方法,不仅能够通过神经网络快速得到图形轮廓,也能在一些基础模型图形上通过最小二乘法得到函数以及图形参数,两者相结合,方便后期对图像轮廓进行分析及重构。

附图说明

图1本发明的高精度快速图形检测识别方法流程图

图2本发明的图像增强预处理流程图

图3本发明的边缘检测流程图

图4本发明的关键点选取流程图

图5实施例中工业CCD相机获得的工件图像

图6实施例中卷积滤波示意图

图7实施例中3×3的空间域卷积核图

图8实施例中欧式距离、城市距离和棋盘距离对比图

图9实施例中梯度方向与边缘方向示意图

具体实施方式

结合图1,高精度快速图形检测识别方法分为图像拍摄获取、图像增强预处理、边缘检测、关键点选取、曲线拟合、属性参数运算及图形重构七个步骤。

1、相机选用工业CCD相机,相较于CMOS相机,CCD相机获取的图片噪声更少,图像质量更高。

将相机固定到工作台的指定位置,进行相机的标定,获取相机的畸变参数和外部的旋转矩阵等数据,算出相机的参数矩阵,然后拍摄工件,获得统一1024×768像素大小工件图像,如图5。

2、图像增强预处理

在图像采集过程中由于光源、拍摄角度等原因,获得的图像可能是亮度不够、边缘不清晰,采用整体图像增强的方法提高图像的质量,以便进行进一步的图像识别。图像增强预处理流程如图2所示,主要分为整体图像增强和边缘自适应增强步骤。其中:

(1)整体图像增强

在图像采集过程中由于光源不足的影响会产生质量较差的图像,为了提高这类图像的视觉效果,采用基于灰度图像均值分割的亮度均值稳定性的直方图均衡化算法进行整体图像增强。(该算法的总体目标是在保持灰度图像的亮度均值条件下,自适应增强图像对比度。)

采集到的的工件图像统一为1024×768像素大小。(首先,根据输入工件图像灰度均值X

首先,计算输入工件图像的灰度均值X

接着,分别定义子图像X

子图像X

对累积概率密度函数的直方图均衡化处理方式如下:

f

f

对两个子图像进行均衡化操作,得到整体增强图像Y:

Y=f

(2)边缘自适应增强

双高斯滤波

对于直方图均衡化过后的图像,先使用滤波的方法抑制图像噪声。本次设计采用3×3矩阵的双高斯卷积核对图像进行卷积滤波。

卷积滤波如图6所示,对于原始图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。滤波后的图像依然为1024×768像素大小。

考虑图像的值域相似度,对邻域内各个点到中心点的权值进行优化,然后将计算后的核函数与图像矩阵做卷积运算。主要的思路是如果两侧的像素值相差较大,那么对应的权重会降低,所以相似一边的邻域权重影响更大。

双高斯滤波的原理就是一个与空间距离相关高斯函数与一个灰度距离相关的高斯函数相乘。

空间距离:指的是当前点(x,y)与中心点的图像上的像素距离,图7是一个3×3的空间域卷积核图。

空间域卷积核:

各个位置权重值的计算为:

其中,基于空间距离的高斯滤波最重要的参数就是高斯分布的标准差σ

σ

σ

传统的高斯滤波算法是人为选取固定的标准差,这样对于图像离散程度较大或较小的区域没有一个好的滤波效果,所以本次设计引入区域内像素值的方差来动态调整标准差σ

3×3区域内像素值的方差用D表示,具体计算如下:

此时,不同区域的空间域高斯滤波标准差σ

灰度距离:指的是当前点(x,y)与中心点灰度的差的绝对值。灰度值高斯卷积核:

各个位置权重值的计算:

其中gray(x

灰度域高斯滤波卷积核的效果是由标准差σ

传统的灰度域高斯滤波整张图像使用一个固定的σ

上式基于方差D适当调整σ

双高斯滤波卷积核由灰度卷积核和空间卷积核相乘得到。其卷积核系数由以下公式决定:

f=f

其中,f表示双高斯滤波卷积核,f

在图像灰度值变化很小的平坦区域,对应的灰度域权重接近于1,此时空间域权重起主要作用,相当于进行空间高斯模糊;在图像灰度值变化较大的边缘区域,空间域权重不变,而灰度域权重变大,从而增强了边缘的信息。

3、边缘检测

边缘检测流程图如图3所示,主要可以包括计算梯度和幅值、极大值抑制、迭代法阈值计算和边缘连接等步骤。

(1)计算梯度,得到图像梯度的幅值、方位角、边缘方向以及邻域标准差。

使用Sobel算子来计算梯度,Sobel算子主要用于获得数字图像的一阶梯度,是一种离散性差分算子。Sobel算子考虑了水平、垂直和两个对角共计4个方向的梯度加权求和,是一个3×3矩阵的梯度算子。

结合图8,Sobel算子采取的像素距离是一种城市距离,而非通常的欧式距离,对角相邻像素的距离为2。Sobel选取距离的反比作为权重,对像素点f(x,y)而言,分别对x和y方向进行加权计算。取

利用Sobel水平和垂直算子与原始图像像素进行卷积计算后的灰度差分近似值△x,△y:

△x=G(x,y)*Sobel

△y=G(x,y)*Sobel

图像的幅值:

方位角

结合图9,边缘方向角与方位角成正交关系。

(在对图像进行边缘识别之前计算图像各个像素点的邻域标准差,邻域标准差的定义是为了计算边缘检测到的各个点的置信度。

由于工件的边缘是图像灰度急剧变化的区域,其不仅表现为局部梯度值较大,同时也表现为边缘两侧的灰度存在差异,这种差异可以用边缘像素邻域内的标准差来表示。)

邻域标准差定义为去掉3×3邻域内的最大灰度和最小灰度值的像素点后剩余像素点灰度值的标准差,即:

(例如图像上一点及其邻域灰度值为

计算出全图的邻域标准差之后,寻出最大的邻域标准差,以最大值为基准对所有的标准差进行归一化处理,(这里计算的标准差将用于计算置信度。)

(2)沿着梯度方向对幅值进行非极大值抑制,保留像素值较高的点,细化边缘

对图像的每一个像素点(x,y),像素点(x,y)与沿着其对应的梯度方向相邻的两个像素相比,若点(x,y)像素值为最大值,则保留,否则点(x,y)像素值置0。

(3)采用迭代法计算阈值:

(迭代法计算阈值的优势在于将前景与背景分开,计算得出的阈值更精确、可信,抗扰性更强,对不同工件图像的适应性好。)

迭代法阈值计算步骤:

a求出图像的最大灰度值和最小灰度值,记为Z

T

b根据阈值T(初始为T

式中,Z

c求出新阈值T=(ZO+ZB)/2;

d循环进行步骤b-c,直至T值不再变化;

e获得前景与背景的最佳区分阈值T:

将得到的阈值T上下调整5%分别作为边缘检测的高、低阈值;

(4)用双阈值算法检测和连接边缘。

将小于低阈值的点置0,将大于高阈值的点标记置1或255(或者相反,将低的置1,高的置0,根据实际处理的图形选择方法)。

将小于高阈值、大于低阈值的点使用8连通区域确定:当这些点与高灰度值区域连接时才会被接受,成为边缘点,置1或255,否则置0。

4、关键点选取:

在曲线拟合之前要选取合适数量的点进行拟合,选出的点少了或者没有选取到具有代表性的点都会使得最终拟合出来的曲线不是最佳曲线;选取的点多了则会增加模型计算的时间复杂度,不能实现快速性。所以本次设计选择使用曲率半径和置信度来等步长选取像素点。1、关键点选取步骤具体流程为:

(1)设置轮廓结束点,计算结束点邻域,即以结束点为圆心、R

(2)记录轮廓开始点X

开始点X

其中

a

(3)计算步长l,

其中R表示点X(x,y)的曲率半径;从该点出发遍历l个像素点找到下一点X(x,y),遍历l个像素点过程中,后一个像素点是前一个像素点处边缘方向上紧邻的点。

(4)如果点X(x,y)进入结束点邻域,选点结束;否则,选择距点X(x,y)前、后各△l处两点B(x

该点X(x,y)曲率半径

其中

a=x(y

(5)如果该点的曲率半径大于800,比较该点与上一记录点边缘方向角大小,若偏差超过10°就记录该点;如果不超过10°就舍弃该点,返回(3)以该点计算新步长寻找下一点。

(6)如果当前点的曲率半径小于800,计算置信度b

其中,σ

若置信度满足要求b

5、曲线拟合

通过之前标记的角点、根据曲率半径大小按步长取置信度较高的点来进行下一步的曲线拟合。

使用BP神经网络进行曲线拟合,得到一个合适的轮廓图形,在界面上绘制出来。以点到拟合曲线距离的平方和最小标准来衡量拟合精度。具体过程为:

(1)确定BP神经网络的模型

(2)导入关键点进行模型训练

(3)得到训练完成的模型,按照模型绘制出边缘轮廓

BP神经网络需要确定节点数,激励函数,阈值,误差反馈等数据。

输入数据,经过权重加成后与阈值比较进行调整,调整后的数据经过激励函数输出到下一层,直到最后输出值,如果输出层不能得到期望输出,就将误差信号反向传播,将误差分摊给各层的单元,根据误差动态调整各单元的连接权重。

这样通过周而复始的正向传播和反向调节,直到输出信号的误差满足精度时停止学习,训练结束。

神经网络训练的整体步骤:

1)网络初始化。根据系统输入输出确定网络输入层节点数n、隐含层节点数l、输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权重w

2)隐含层输出计算。根据输入变量x

f为隐含层激励函数,如

3)输出层输出计算。根据隐含层输出H

4)误差计算。根据网络预测输出O

e

5)权值更新。根据网络预测误差e

w

式中,x

6)阈值更新。根据网络预测误差e

b

根据网络预测误差e

6、属性参数运算

属性参数运算通过最小二乘方法求取规则图形关键参数。

最小二乘法:对于一些特殊情况下的图形,如圆形、椭圆、矩形等,除了绘制出轮廓之外,还可以将具体的函数使用最小二乘法拟合出来,将圆心、半径、周长等特有的属性值计算出来。由一系列的点近似的落在一个曲线函数上,依据这些数据估算出函数的参数。最小二乘法拟合要求的是满足这些点到曲线的距离的平方和最小的函数参数。

最小二乘法拟合圆,圆方程一般写为:

(x-x

这里选择使用点到圆心的距离的平方和最小的解析值作为圆心和半径,其中:

这个比较难计算,可以求

f=∑((x

这个式子也能满足需求,计算相对来说要简单的多。定义一个辅助函数

g(x,y)=(x

那么上面的式子可以表示为:

f=∑g(x

依照最小二乘法的步骤,可知f取极值时对应以下的条件:

由于R不为0,所以

∑g(x

剩下的两个式子:

即:

设:

u

u

v

v

展开

∑(u

∑(u

定义:

S

S

S

S

S

S

S

那么上面的式子等于:

这样就可以求出u

也就可以算出x,y了,再根据

7、人机交互界面图形重构

在人机交互界面重绘工件图形,显示检测出来的轮廓和宽度或者半径等属性值。

相关技术
  • 一种高精度快速图形检测识别方法
  • 一种基于鼠标和触控设备的特需几何图形的快速识别方法
技术分类

06120112772525