返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 扫码关注

码垛机器人视觉识别的图像分割方法

时间:2017-12-15 来源:机器人在线 阅读:12613

码垛机器人视觉识别的图像分割方法

一幅图像包含有各种信息,如颜色、形状、亮度等,而图像分割的工作就是要根据特定的图像特征,把需要的图像区域从复杂的背景中提取出来,从而获得机器人视觉能够识别的图像信息。常用的图像分割算法有边缘检测法、聚类法阈值法等等。

阈值分割与图像二值化

阈值分割法是基于区域的一种图像分割技术。它应用广泛,易于实现,计算简单,是许多后续处理如特征提取和模式识别之前进行的重要步骤。其基本思想是首先确定一个基准阈值T,然后把一幅图像g(x, y)每个像素点的灰度值与T比较,得到一幅二值图像h(x, y),转换关系为:
 
 

边缘检测

边缘检测在图像处理与机器视觉中有着广泛的应用。对二值图像来说,边缘检测实际上就是在图像中寻找所有符合条件的像素点,即灰度变化十分强烈的点,然后把这些点连接起来,形成图像的轮廓特征。如果图像中边缘能够精确的测量和定位,那么,就意味着实际的物体能够被定位和测量,包括物体的面积、物体的直径、物体的形状等就能被测量。从物理上分析,在现实世界中采集图像,能出现边缘的情况有一下几种:
(1)深度不连续,类似于断崖的形态,会出现一条边缘;
(2)物体的表面方向不连续,如正方体两个不同的面相交就形成了一条边;
(3)物体材料不同,
(4)场景中光照不同
边缘检测首先找到符合条件的边缘点,然后将这些点连接起来,形成一个完整的轮廓。这样就可以使主体图像从背景图像中分离开来,达到后续处理要求。边缘检测方法很多,包括索贝尔算子、普瑞维特算子、拉普拉斯算子。
边缘检测是一种很好的反映图像边缘信息的方法,经过多年的发展,边缘检测方法也有更好的检测效果。但是在实际应用中,检测难点依然存在。例如,当人或机器视角发生变化,或者被测物体前存在遮挡等情况,就需要考虑物体材质等问题的影响,还要考虑透视投影的关系。同时,物体边缘并不总是理想的阶跃边缘,光源的影响、物体边缘的阴影、光的反射都会对边缘检测的效果产生影响。
边缘检测方法有两种形式:一种是通过计算图像亮度信息的一阶导数,得到梯度值来寻找边缘;另一种基于亮度的二阶导数,理论上梯度的局部最大值可以在二阶导数过零点时得到。
Canny算子(或其变体)是非常受欢迎的边缘检测算子,本文同样采用它来进行边缘检测。它的性能稳定,检测效果出众,具有很好的鲁棒性。Canny创造性地提出了用于边缘检测的最优预平滑滤波器,同时为了提高检测的准确性引入了非最大抑制值概念,能够将伪边缘或人们不需要的边缘剔除。另一项创新就是利用双阈值法检测并连接边缘,提高了检测的正确率。Canny边缘检测具体操作流程如下:
为了满足后续处理的精度要求,算法首先对图像进行平滑去噪,利用高斯平滑模板(滤波器)和原始数据做卷积运算如式(3.22所示,得到一个略有模糊的新图像。这样,当噪声经过高斯平滑后的图像影响就会变得很微弱,由此可以很好的达到去噪平滑的目的。
 
 
图3.4为非极大值抑制的原理图。通过分析,我们可以知道,在对像素点作非极大值抑制处理时,要先判断给定点C是否为其邻域内的灰度最大值。实际上,其八邻域内的点都不在考虑范围内,因为只有沿着图中斜线,即C的梯度方向,才有可能出现邻域的局部最大值。这样,只有在梯度方向上的C点、dTmp 1和dTmp2点有可能为局部最大值。然而,我们能够直接得出的只有C点的8邻域的点值,要想求解出dTmp 1和dTmp2这两个点的值就需要进行插值运算。也就是说,可以通过在g1和g2, g3和g4中分别进行插值运算,以得到dTmp 1和dTmp2这两个点的值。从而和C点进行比较。若比较结果,C点是最小的,那就可以明白C点并非这个区域内的最大值。反之,若C点是最大的,那么就可以确定C点为边缘点。
在用极大值抑制法确定完边缘点后,Canny采用滞后阈值法(也称双阈值法)来规避边缘线间断的现象。其原理是,设定一个下限To,设定一个上限T1。在这两者之间的像素点并不能马上确定是否为边缘点,还需要对其八邻域内的点进行分析。如果其八邻域内有一个或多个点的梯度超过上限,那么相连的像素点也会被视为边缘;反之,如果没有,那么就不是边缘点。而如果超过了上限,那么也要将其标记为边缘点。最后一种情况,若是低于下限,那么该点则不被视为边缘点。
用Canny算子对二值图像进行边缘检测的效果如图3. 5所示。
 

二值形态学运算

利用canny算子检测出边缘后,由于边缘不够明显,下一步将采用二值形态学中的膨胀运算来增强边缘。数学形态学(Mathematical Morphology,又称形态学,是基于集合理论、积分几何和网格代数的一种理论,同时也是一门强大的图像分析技术。数学形态学有点类似于滤波操作,所以它还被称为形态学滤波。滤波中用的滤波器C kernel)在这里被称为结构元素,结构元素往往是由一个特殊的形状构成,如:线条、矩形、圆、菱形等。我们把结构元素的中心(Anchor Point)与图像上像素点对齐,然后结构元素覆盖的领域像素就是我们要分析的像素,我们定义一种操作就形成了一种形态学运算。实际上,形态学中最基本的东西就是结构元素。所有的形态学操作都是围绕着结构元素展开,运算结果直接依赖于结构元素采用的具体图形。同时,对集合进行的不同运算,如交、并等运算,都会导致最终运算结果和图形的不同。数学形态学中膨胀的定义为:
 
可以将上述公式理解成把结构元素B平移后使B与E的交集非空的点构成的集合。更形象的,可以认为使用一个结构元素(一般是3×3的大小)从图像的起始点到终点一一进行比对,并对每一个扫描过的像素进行与操作,如果都为0,则该像素为0,否则为1。这样做的结果就是新的图像看起来好像比原始图像胖了一圈,非常适合于扩展边缘检测的细化边缘。图3.6为形态学膨胀后的效果。
 
 工业机器人选型神器
机器人 码垛机器人 技术干货

好的文章,需要您的鼓励

15

  • 最新资讯
  • 最新问答
推荐