高反光件的视觉识别问题

首先是解决一套工厂里面的油盖壳自动分拣设备视觉识别故障的问题。设备是19年开发的,具体的工作流程是轨道小车带着油盖壳进行运输,并推到对应的两个工位上,用两个工位上方的相机进行模板匹配和定位(如图所示),之后用一个机械臂用吸盘进行抓取,并把抓取到的油盖壳挂到一个循环移动的挂钩上(其实是直接在plc里面设的延时,撞上去挂上)。由于不同型号的油盖壳尺寸高度都不一致,有50多种型号,机械臂就是每一个型号都示教走一遍,识别到了哪个型号,就根据之前示教的程序加上视觉得到的偏移量用吸盘去抓取。机械臂末端装了一个激光测距仪,应该是用于防碰撞。然后问题是视觉上出现了模板匹配错误的问题,导致抓取不了。到我到的时候大概已经有半年用不了了。

两个工位上相机拍摄的油盖壳图片

从图片可以看出来反光很严重,这是因为它是从工件正上方进行打光,加上金属材质,镜面反射会很严重。一般这种为了避免反光,应该侧面低角度打光,减少镜面反射。很自然就想到是否是打光方式选择的问题,导致模板匹配不上。但考虑到它已经正常运行数年,又要了一些软件的图片,自己回去尝试了一下。

现场软件图片

由图可以看见他那个模板特征提取的是一些十分杂乱的边缘。回去试图复现他们那个软件提取特征来模板匹配的方法,想着用canny这些边缘检测,结果都不对,最后用简单二值化复现了出来。原理也很简单,正上方打光,凸出来的,和光源正对的平面部分反光严重,呈白色。凹进去的地方镜面反射少一些,相对就呈黑色,用这个把外面的方形形状和中间盖子的圆形形状提取出来,进而模板匹配。那提不出来应该就是二值化的阈值的问题,就是实际的二值化提出来的和做模板时二值化提出来的不一样,那大概率就是光源出了问题。后面去现场找,果然是光源的问题,光源老化,光源上面差不多一半的灯珠都坏了。后面换了和原来光源照度差不多的光源就恢复正常了。

后面再一次遇到反光相关的是解决别人做一个机械臂拧螺丝项目时遇到的视觉相关的问题。他是想要用深度相机把工件上螺母的位置给提取出来,然后用机械臂去拧。方法也很简单,就是提取边缘然后hough找圆,如图所示。但去了实际现场,发现由于角度限制,机械臂没法正面拍,只能侧着拍。而侧着拍时,就遇到了一个问题,那就是由于是斜着拍的,里面的拍不到,提取边缘的时候就会把螺母的半个外侧和半个内侧给提出来,如图所示,成了一个椭圆,就无法提取到准确位置来让机械臂工作。

理想状况下的提取效果

现场拍摄角度限制

实际提取圆的效果

这时就考虑到螺母反光的问题,外侧反光呈白色,内侧则呈黑色,正好深度相机也能获取对应彩色图,就在原有深度图基础上,再获取对应的彩色图,简单用彩色图的灰度阈值把深度图提取到的内侧和外侧的边缘分离开,然后再用半个圆的边缘来拟合,这样得到一个精准的位置,解决了问题。

还有一个则是听说来的,做焊接机器人这块的,用线激光进行焊缝跟踪,但需先获取焊缝的起点和终点,再进行跟踪。为了自动提取出需要焊接的焊缝区域,用补光灯打在工件上面,提取出的黑的区域就是凹陷的区域,以此来提取出焊缝。据说效果不错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值