基于Hough变换的视觉识别方法在教学分拣机器人中的应用研究
2020-12-28贾经之李玉强邹子超周玉峰姜鸿鹏李皓洋
贾经之 李玉强 邹子超 周玉峰 姜鸿鹏 李皓洋
摘要:对于高校来说,教学分拣机器人能够有效满足有关课程的示范教学与实验要求,因此教学分拣机器人在高校中广泛应用。在视觉识别过程中,机器人通过对摄像头拍摄的照片进行图像预处理、特征提取以及图像匹配,从而能够准确分拣托盘上的物品。利用Hough变换对教学分拣机器人进行分析研究,设计出一种能够减少对电脑配置要求的视觉识别教学分拣机器人。通过对摄像头拍摄的照片进行预处理,将图像分别进行中值滤波,利用Hough变换获取照片中的有效信息。这样设计出的教学分拣机器人在满足其原本功能的前提下,尽量简化了所应用的算法,使其对电脑配置的以降低以及计算速度有了进一步的提高。
关键词:视觉识别;Hough变换;二值化
引言
现如今我国制造业飞速发展,企业在竞争中保持逐步稳定发展前进,首先需要解决的就是人工成本、产品效率和质量问题。当今世界各行业的趋势都是在朝着人工智能方向发展。可以看出,人工智能行业的出现对于提高生产效率、降低生产成本以及提高设备利用率等方面有了极大的提高。
同样针对学校也是相同的。针对目前为止,为了降低学校设备成本,增强实用性,我们设计研发一种低成本的视觉识别教学分拣机器人。该机器人可以作为一种开方式特征的实训实验平台,可以用来完成机器人技术、图像技术、数字信号处理等课程的实训实验,使学生的综合能力得到提高。一台教学分拣机器人相当于一个试验平台,能够充分发设备的功能,并且在设计过程中考虑到成本问题,使之能进行大规模普及,具有良好的应用前景。
1.教学分拣机器人的设计研究
现如今随着时代的发展,人工智能领域也变得更加先进。为此,为更接近人类行动以及使机器人更加智能化,我们设计研究了一个通过摄像头进行拍照,计算机进行抓取图像特征信息,从而将物料的特征信息以及位置进行确定。基于视觉识别文字、颜色、形状的机器人。
机器人通过对摄像头拍摄的图片进行处理,才能获取到想要的图片。在接收到摄像头拍摄的图片之后,首先将图像转化成灰度图,从而利用中值滤波将图像中的噪声等外界环境干扰进行过滤去除,采用大津法二值化处理图像,进一步将灰度图中的目标和背景进行划分,从而使得机器人能够更快更好地将物体进行识别、分拣。
2教学分拣机器人的图像处理
2.1图像预处理
由于摄像机拍摄出来的图片需要被后续的视觉识别所使用,为避免图像收到外界干扰,例如,光照,噪声、使得获得的图像信息获取不全,因此需要對图像进行处理。
一切波形都可以由许多简单,但频率、振幅不同的正弦曲线叠加得到。对于图像来说,就是将其从空间域转到频率域,从一维图像转变为二维。摄像头所拍摄出来的一系列图片通过傅里叶变换便可拆解得到一系列不同的正弦曲线。通过分析处理这一系列的曲线,便可以得到所需的相应数据。因此需要进行图像的平滑化。
在这里采用的是中值滤波。由于中值滤波是一种非线性平滑滤波,它能在消除噪声的同时很好的保持图像的边缘,便于获取图像的轮廓。同时中值滤波的算法比较简单,对硬件要求相对较低。
2.2中值滤波
首先对摄像机拍摄的图像转化成灰度图。之后在图像中寻找到3*3的矩阵,其中含有九个像素点,我们将这九个像素点进行排序,最后将这个矩阵的中心点赋值为这九个像素的中值。
mid[(1&1&1@1&1&1@1&1&1)]
g=median[(x-1,y-1)+f(x,y-1)+f(x-1,y)+f(x,y)+f(x+1,y)+f(x+1,y+1)+f(x,y+1)+f(x+1,y+1) ]
2.3图像二值化
由于照相机所拍摄的图片收到环境影响较大,因此要将所得到的灰度图进行二值化,进一步改善图像的质量,能够使得我们获得图像轮廓得到的更加清晰,便于后序的识别与分拣。
为了对图像进行高效的算法,我们采用OTSU算法进行计算。
OTSU算法的基本原理是将图像划分为背景和目标两部分,通过计算得到一个最佳阈值,将图像中的目标和背景进行对比、区分,从而确定图像中的背景和目标。其优点在于计算简单,能够减少环境对于图像处理的影响因子,例如图像亮度和对比度,便于我们很好的识别。
其算法编写
假设图像有M级灰度(0,1,2,3,4,5……M),图像中的像素点总数为N(N=sum N(i))。我们将图像分为两部分。第一部分的像素总额为N_1,第二部分的像素总额为N_2。
背景像素占比w_1=N1/Sum
前景像素占比w_2=1-w_1=N_2/Sum=1-N_1/Sum
背景的平均灰度值μ_1=∑_(i=0)^t?〖i*Pr(i|C_0 ) 〗=∑_(i=0)^t?〖i*Pi/∑_(i=0)^t?Pi〗=μ(t)/w_1
前景的灰度平均值μ_2=∑_(i=t+1)^(M-1)?〖i*Pr(i|C_0 ) 〗=∑_(i=t+1)^(M-1)?〖i*Pi/∑_(i=t+1)^(M-1)?Pi〗=(μ-μ(t))/w_2
0~M灰度区间的灰度累计值μ=μ_1 〖*w〗_1+μ_2 〖*w〗_2
类间方差:g=w_1*〖(μ-μ_1)〗^2+w_2*〖(μ-μ_2)〗^2
将上式代入得:g=〖w_1*w_2*(μ_1-μ_1 )〗^2
当类间方差达到最大值时,便得到最佳的阈值,从而将背景和目标得到划分,便于识别观察。
2.4二值图像快速细化算法
所谓图像的细化是将图像中的线条的像素进行一个整合,将其像素数进行减少,使图像的数据量也得到减小,得到图像的骨架,为我们后续的图像识别减少了难度,便于我们获取处理信息。
在此采用迭代算法Hilditch算法,对图像进行接下来的处理。该算法详细如下。
在一副图像中的一个3x3的区域,我们将其每一个区域标记为一个像素,p1.p2.p3……p9,如下图所示。如果区域中的任何一个像素P满足我们如下所要求的六個条件,我们则可以对他进行标记。
x_4 x_3 x_2
x_5 p x_1
x_6 x_7 x_8
Hilditch细化算法的步骤为:
对图像从左向右从上向下迭代每个像素,是为一个迭代周期,在每个迭代周期中,对于一个像素p,如果它同时满足6个条件,则标记它。假设背景值为0,前景值为1,则:
6个条件为:
(1)p为1,即p不是背景;
(2)x_1,x_3,x_5,x_7不全部为1;
(3)x_1-x_8中,至少有2个为1(若只有1个为1,则是线段的端点。若没有为1的,则为孤立点);
(4)p的8联通连结数为1,此时p为可删去点;
(5)假设x_3被标记删除,x_3=0,p的联通连接数为1;
(6)假设x_5被标记删除,x_5=0,p的联通连接数为1。
在当前迭代周期结束时,则把所有标记的像素的值设为背景值,如果某次迭代周期中不存在标记点(即满足6个条件的像素),则算法结束。
2.5Hough变换
Hough其原理是将影像空间中的曲线变换到参数空间那种,通过检测参数空间中的极值点,确定出该曲线的描述参数,从而提取影像中的规则曲线。其优点在于在转换过程中,其抗干扰能力强,能够减少环境对处理分析照片的影响,尤其是噪声影响。同时在处理图像边界曲线时,不论是曲线出现尖点还是隔断,Hough都可以很好的进行处理。
在Hough变换过程中,它将正常的y=kx+b,转化到极坐标系中ρ=xcosθ+ysinθ。参数空间中的每一个点都对应着空间中的一条直线。
在Hough变换处理中,累加过程的模型表示如下。
首先,直线参数ρ_H和θ_H通过下面关系式定义:
ρ_H=x cos?〖θ_H 〗+y sin?〖θ_H 〗
接着用一个判决核来计算累加器中的判决结果,鲁棒判决核如下:
接着用一个判决核来计算累加器中的判决结果,鲁棒判决核如下:
K_R (ξ)={█(1-(2ξ^2)/ω^2 +ξ^4/ω^4 ,|ξ|≤ω@ 0 , else)}
最后累加部分由下面积分给出:
A(ρ)=∫?K((ξ-ρ)/ω) P(ξ)dξ
3利用机器视觉对目标进行检测分析
在经过一系列的处理之后,我们需要利用机器视觉对处理后的最终图像进行检测分析,对边缘周长、面积、角度等各个因素进行分析计算。在进行区分不同图形时,我们可以根据其边缘曲线变化角度来区分各个不同的图形,采用角度法进行分辨,比如三角形和长方形,角度具有明显的区别。再例如长方形和正方形,不仅通过角度,还能进行分析各个边的长度来进行辅助区分。这样可以大大简化计算机分析的过程,降低误差。同时能够更加快速合理的查找匹配图形,更快地挑选出不同的图形。
4.1识别系统程序模块
4.2结论
数字图像处理技术在生活中的许多方面都有了很多的应用。本文以数字图像处理技术为基础,对教学分拣机器人所涉及到的视觉处理识别方面进行了分析研究,创造了自己的一套视觉识别系统,并在合理的分析过程中,在满足了使用者的要求,使系统算法尽可能简单,大大降低了对电脑配置的要求。该系统还可应用于日常手机电脑文字识别等方面。
参考文献:
章毓晋.图像处理和技术分析[M].北京:清华大学出版社,1999.
吴立德.计算机视觉.上海,复旦大学出版社,1993
李伟,张长胜,冯广,刘贺翔,刘锐.基于图像处理的指针式表盘自动读取系统设计[J].电子科技,2018,31(06):24-26+35.