今天分享的主题是揭秘机器视觉中的深度学习。
一、机器视觉简介
机器视觉简单说就是基于图像的工业自动化检测。
机器视觉的硬件组成主要包括五部分:
1、光源:简单理解就是灯,常见的是LED,机器中常见的也有日光灯等高亮的灯,色温等都有很大的影响。
2、镜头:比较具有代表性。常见就是普通的镜头组,代表呈现的光学系统。
3、相机:传感器。
4、采集卡:针对传统相机,现在很多存在返卡。
5、运算平台:通常来说,机器视觉的运算平台就是一个PC,只不过用的是工业控制机。工控机是一个很结实、扛燥的PC。除此之外,也有一些是小型的嵌入式设备;或运算平台和相机结合在一起,也就是智能相机。
常见的应用例子:
计数、包装印刷、纺织品、电子产品等的表面检测、运动定位、尺寸测量、OCR
机器视觉行业近几年的发展
在2000年以后才兴起的;
在2008年,金融危机波折,使得整个行业受很大影响;
近年人工智能复兴,又进入了上升期。
项目开发流程:
需求、系统、算法、软件、投产生产
与计算机视觉、图像处理的区别:
机器视觉的理解很多,这里从狭义的基于图像的工业自动化检测。光机电系统化、项目定制化。光机电系统化、项目定制化
计算机视觉更为广义,对场景的理解。
图像处理:底层技术,不管是计算机视觉还是机器视觉都用到很多图像处理的技巧。
二、深度学习在机器视觉行业的应用
深度学习
一般是指多层的卷积神经网络(图像)或者循环神经网络(语言或语音)在我的这次分享中,机器视觉专指深度的卷积神经网络或者是以这个为基础的其他一些算法。
模式
:卷积层+基础层,或者重复很多次,形成全连接,然后输出
核心
:多层次的卷积和非线性的激活
主要优化方法
:梯度负反馈
有效性的反馈
:基于目标数据的优化和充足的计算能力
涉及难点
:根据需求定义一个合适的损失函数
机器视觉行业
从产品上划分(如图)
机器视觉行业企业
从历史沿革上划分
传统机器视觉公司:大恒、凌云、微视(之前的很多从业走出繁衍)
大型制造集团北京的机器视觉子公司:海康、大华
人工智能浪潮下的创业企业
国际上:美国、加拿大、日本、德国
机器视觉软件生态(如图)
ViDi
随着深度学习的兴起而诞生
主要分三个组件
绿色:针对分类问题
蓝色:针对定位问题和识别问题,检测或计数的目标在哪等
红色:缺陷检测
具体实现;
绿色模块(如图)
蓝色模块(如图)
红色模块(如图)
例子:TensorFlow的Faster R-CNN(如图)
作用:无代码或者少代码的实现物体检测,可以迅速上手,且潜力巨大;在与训练模型上做不需要几周几个月,一天即得;简单切换训练数据,迅速验证概念可行性
三、展望
深度学习的发展趋势与局限:
1、深度学习在图像处理方面是一种特征提取方法,是一种优化方法
2、在算法开发的各个流程,都还可以显著提升效果
3、受运算性能局限,网络不能无限加深,近期学术上研究的热点是提高效率,缩小体积同时还能保证一定的性能。现在几乎各大厂商都在推出带有AI引擎的芯片来终端市场,就是想把深度学习赋能到生活中去
4、深度学习的应用领域还在不断拓展
5、非监督,少样本甚至单样本效果还不理想
6、深度学习虽然很强大,但也只是算法,物理上拿不到的信息,深度学习也变不出魔法
机器视觉行业发展
1、以深度学习为基础,一些应用上会出现规模化市场
2、对运算能力的需求还会继续增加
3、新一代的智能相机必备AI引擎
4、中高端定制化市场暂时还难以被深度学习攻破,但会受益于深度学习带来的提高
以上就是本次线上直播的主要内容,相信你对该领域的知识已经有了一定的认识。想了解更多更详细内容的小伙伴们,可以关注服务号:FMI飞马网,点击菜单栏飞马直播,即可进行学习。
基于机器视觉的工业机器人定位系统!
建立了一个主动机器视觉定位系统,用于工业机器人对零件工位的精确定位。
采用基于区域的匹配和形状特征识别相结合的图像处理方法,该方法经过阈值和形状判据,识别出物体特征。经实验验证,该方法能够快速准确地得到物体的边界和质心,进行数据识别和计算,再结合机器人运动学原理控制机器人实时运动以消除此误差,满足工业机器人自定位的要求。
1. 引言
目前工业机器人仅能在严格定义的结构化环境中执行预定指令动作,缺乏对环境的感知与应变能力,这极大地限制了机器人的应用。利用机器人的视觉控制,不需要预先对工业机器人的运动轨迹进行示教或离线编程,可节约大量的编程时间,提高生产效率和加工质量。
Hagger 等人提出通过基于机器人末端与目标物体之间的误差进行视觉反馈的方法;Mezouar 等人提出通过图像空间的路径规划和基于图像的控制方法 。国内这方面主要应用于焊接机器人对焊缝的跟踪。
本文利用基于位置的视觉伺服思想,以六自由度垂直关节型喷涂机器人为载体,提出一种基于机器视觉的工业机器人自定位控制方法,解决了机器人末端实际位置与期望位置相距较远的问题,改善了喷涂机器人的定位精度。
2. 视觉定位系统的组成
机器人视觉定位系统构成如图 1 所示,在关节型机器人末端安装喷涂工具、单个摄像机,使工件能完全出现在摄像机的图像中。系统包括摄像机系统和控制系统:
(1)摄像机系统:
由单个摄像机和计算机(包括图像采集卡)组成,负责视觉图像的采集和机器视觉算法;
(2)控制系统:
由计算机和控制箱组成,用来控制机器人末端的实际位置;经 CCD 摄像机对工作区进行拍摄,计算机通过本文使用的图像识别方法,提取跟踪特征,进行数据识别和计算,通过逆运动学求解得到机器人各关节位置误差值,最后控制高精度的末端执行机构,调整机器人的位姿。
图1 喷涂机器人视觉定位系统组成
3. 视觉定位系统工作原理
3.1 视觉定位系统的工作原理
使用 CCD 摄像机和1394 系列采集卡,将视频信号输入计算机,并对其快速处理。首先选取被跟踪物体的局部图像,该步骤相当于离线学习的过程,在图像中建立坐标系以及训练系统寻找跟踪物。学习结束后,图像卡不停地采集图像,提取跟踪特征,进行数据识别和计算,通过逆运动学求解得到机器人各关节位置给定值,最后控制高精度的末端执行机构,调整机器人的位姿。工作流程如图2 所示。
图 2 视觉定位系统软件流程图
3.2 基于区域的匹配
本文采用的就是基于区域的相关匹配方法。它是把一幅图像中的某一点的灰度领域作为模板,在另一幅图像中搜索具有相同(或相似)灰度值分布的对应点领域,从而实现两幅图像的匹配。在基于区域相关的算法中,要匹配的元素是固定尺寸的图像窗口,相似准则是两幅图像中窗口间的相关性度量。当搜索区域中的元素使相似性准则最大化时,则认为元素是匹配的。
定义P (i, j) P 是模板图像中一点,取以P (i, j) P 为中心的某一邻域作为相关窗口K ,大小为(2w +1),假设K 在原始图中,水平方向平移Δu ,垂直方向平移Δu 后,K 所覆盖下的那块搜索区域叫做子图S k ,若K 和S k 相同,则它们的差为零,否则不为零。由此定义K 和S k 的相关函数为:
当D(K, S k )达到最小,K 与S k 达到最佳匹配。
3.3 图像的特征提取
工作台上的工件与工作台背景在颜色方面具有很大的差别,即工件呈现为黑色,将这一信息作为识别工件的重要特征。
工件的边缘处灰度有急剧的变化,可以以此判断出工件的边界点。采用扫描线的方法,扫描方向上灰度剧变的像素点就是边界点。最后,通过最小二乘法把找到的边界点拟合出圆周,并计算出圆心位置。
3.4 实验与分析
实验目的是通过机器视觉,快速识别出工件的特征(这里是圆孔的圆心)。
(1)首先在原始图像(图3)选取被跟踪工件的局部图像作为模板图像template(图4)。
(2)以局部图像template 为模板,在原始图像中进行基于区域的匹配,并以template 的左
下角为原点,建立坐标系。然后定义一个搜索区域ROI(region of interest),根据要提取的特征选择区域的形状,这里选择环形区域。搜索区域必须包含全部目标特征。在ROI 中提取工件的特征,如图3 所示。
图 3 圆心识别
该步骤相当于离线学习的过程。每次使用前只需要学习一次即可。通过离线学习,系统得到ROI 与工件的相对位置关系,以便实时识别中工件出现偏移、翻转等,ROI 都可以准确出现在合适位置。
(3)离线学习后,视觉系统经过区域匹配、阀值分割和边缘提取等步骤找到需要识别的特征(这里是圆孔的圆点),如图4 所示。
图4 实时识别
(3)离线学习后,视觉系统经过区域匹配、阀值分割和边缘提取等步骤找到需要识别的特征(这里是圆孔的圆点),如图4 所示。
3.5 结果分析如下:
(1)识别率分析:第一步通过离线学习,训练提取形状特征。第二步使用离线学习得到的坐标关系,实时跟踪工件,得到需要跟踪的形状特征信息。只要离线学习恰当,目标特征就准确识别并且得到相关信息。
(2)实时处理结果分析:图像采集卡的采集速度是25 帧/s,每幅图采集时间为40ms。摄像头采集一幅图像需要20ms,该图像处理的速度为10ms/幅。通过程序优化,在采集的同时进行图像处理,而且图像处理的速度比采集的时间要短,就避免了图像的失真和抖动。在物体运动不超过极限速度时,能够较准确地找到圆心的位置。
4. 空间坐标的获取
由一幅图像得到的信息是二维信息,程序中使用的坐标是以像素为单位的,机器人在空间运动需要将图像的信息换算成三维空间坐标。其计算过程如下:
(1)以工件上圆孔的圆心为机器人定位基准,A(X ,Y, Z)圆心的世界坐标。当圆心与视觉图像的中心重合时,机器人定位完成。
(2)标定摄像机,得到投影矩阵ce M ,即图像中两个像素间的距离与世界坐标系的转换关系。
(3)摄像机拍摄图像后,经过特征识别得到圆心在图像中坐标a(x, y),计算出与图像中心的偏移量Δx、Δy。
(4)以A(X ,Y, Z)为基准,按照下式计算机器人末端的世界坐标B(X ',Y ', Z'):其中,Mc是摄像机与机器人末端的坐标转换参数。
注意,本文使用单目视觉,所以这里假设 Z 坐标不变;如果使用双目视觉,就可以通过立体视觉计算出Z’。
5. 误差分析与补偿
本项目的喷涂机器人是六自由度的旋转关节操作臂,与Unimation PUMA560相似,关节4、5、6 的轴线相互垂直,且相交与一点。应用参考文献3 的方法计算如下:
(1)通过机器视觉可以得到机器人末端的空间位置坐标B(X ',Y ', Z')。
(2)确定机器人的连杆参数表,如下表: