当前位置:首页 期刊杂志

基于融合颜色信息与深度信息的区域生长算法的物体定位

时间:2024-06-01

于越

摘要:区域生长算法(Region seeds growing, RSG)一般可以通过以下方法实现,输入图像中属于目标物体的一个或多个种子点(seed point)或者一个或多个种子区域,再以该种子点(或区域)为起点,考察邻域像素点,并依照一定的准则将符合要求的邻域点添加进生长区域中,最后将目标物体在图像中呈现的所有像素点结合成一个连通的区域。

关键词:图像分割;物体定位;区域生长算法

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2018)01-0140-01

Kinect感应器可以同时获取色彩与深度信息,本文将结合两种信息进行图像分割以实现物体定位。融合颜色信息与深度信息的区域生长算法进行物体定位的的思路可以总结出三个关键点,依次为种子点选取、生长准则设定以及生长终止条件设定。区域生长算法的固有缺点是会造成过分割,因此需要对具体问题做具体分析。本文在图像分割过程中采用区域生长算法并尽可能利用彩色信息与深度信息针对其三个关键点进行具体应用与优化。

1 种子点自动选择

区域生长的第一步是确定种子点的位置以及种子点的特征,根据自动分割的要求,需要实现种子点的自动选择。针对待抓取物体统一为同一种木头材质的特点,第一反应是通过比较颜色模板,甚至可以直接进行阈值分割,但那样显然太过简单和粗糙:一是不精确;二是不可扩展与优化,不能推广至其他物体的识别;三是不能适应较复杂图像的分割要求。在不同光照环境下得到的图像中,同一物体的色彩是有比较大的区分的,因此希望寻找一种方式表达颜色,能够将同一材质物体的颜色与光照条件区分开。经过对颜色的表达方法的学习,发现HSV颜色空间下颜色的色调可以更好的表示颜色的特征,其中,H代表色调(Hue),S代表饱和度(Saturation),V代表明度(Value)。HSV六角椎体模型表示颜色的示意图如下:

因此,选取种子点前需要先将经过空间变换后的彩色图像由RGB三通道表示转换为由HSV空间下的三通道表示,其计算方式如图1:

(1)

(2)

(3)

由于在OpenCV库中图像存储于8位三通道的矩阵中,即单通道灰度级为0到255,而色调分360°表示,在以图像表示时,需要进行标准化(归一化)。同理,此后若从图像中读取像素值再计算色调值时需要注意换算真实值。提取色调单通道图像表示如图2:

由对比图可以看出,HSV空间中的色调通道可以用来进行一定程度的颜色区分。接下来遍历图像选择符合色调模板的像素点为种子点,为减少程序运行时间,考虑到目标像素点实际必然属于一个区域,因此并不进行所有像素点的遍历,而是隔若干行选取一行进行种子点条件判断。

2 颜色与深度决定的区域生长准则

实际上环境中总会有非目标物体的像素符合种子点选取原则,因此在生长过程中需要选定一些准则对其进行剔除。本文选择的生长准则有二,一是上文提到过的色调要求,其为上下限阈值;二是根据深度信息判断待区分点是否与种子区域属于同一物体。之所以要有第二个条件,一是因为实际图像中物体的色调并非完全独立于光照条件,数值往往为某一范围内的上下波动,这也是色调上下限的来源,存在目标像素色调值波动超出上下限的情况,故不能单纯的依据色调取舍;二是考虑到存在色调相近的干扰物体或者背景,比如在夜间室内环境下,在强光照情况下,圆柱体边缘像素与背景板的色调相近。比如在平面(如陶瓷地板)反光的情况下,如图3,只凭借色调无法对物体下面反光的倒影进行分辨。这些情况下都可以通过对深度值计算得到的点间距设置阈值进行非目标像素的剔除。

由上图可以看到,在物体下方由于地面反光,导致色调趋同,所以仅凭色调条件是无法进行成功的分割的。在颜色阈值的条件限制下,增加深度条件(当邻域点与中心点距离小于或等于5mm时,可认为两点在同一物体上),实际程序执行结果如上图4,图4中球体下方有明显倒影,在分割结果图中也可以看到球體下方有一小块区域被分割出来,然而由于深度条件的限制,下方多余区域并未与球体区域连通,证明在区域生长时色调与深度信息组合可以进行较完整的分割。需要注意的是,由于物体边界仅仅是一条线,而像素点也是有其真实宽度的,图像中得到的物体边界线必然是模糊而位置不确定,所以当尝试获取边界点对应的深度数据时,得到的数据大多数情况下并非真实值,故此处得到的点集分割结果比真实物体在图像中投影得到的点集要小,这是无法避免的。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!