本发明涉及机器视觉领域,具体涉及果蔬采摘机器人的图像识别与测量算法,特别是对类圆型蘑菇的视觉原位测量方法。
背景技术:
工厂化种植的蘑菇营养丰富,由于蘑菇的市场价格与尺寸大小有关,有必要对蘑菇进行选择性采摘,工人爬高就地,昼夜采摘,劳动强度大,亟需研究一种能够替代工人进行蘑菇原位在线测量、采摘的智能蘑菇采摘机器人设备。
工厂化蘑菇种植环境潮湿,光照暗弱不匀,每一间菇房里有2个蘑菇架,每一个菇架有6层,每一层有18个菇床,采摘机器人沿着菇架自动滑行、停靠、升降于菇床旁边,机械臂呈s型遍历菇床,安装在机械臂末端的相机沿途采集菇床视频流,通过图像处理算法实现蘑菇的快速定位与原位测量,为机械臂规划运动轨迹提供参数。
蘑菇的快速定位与原位测量算法有以下三个难点:(1)菇床上土壤里拌有大量菌丝,蘑菇与土壤的灰度没有显著的差异。现有的研究主要采用二维彩色相机,基于灰度阈值法成功地去除了与蘑菇灰度差异明显的土壤背景,基于harris纹理特征比较成功地去除了与蘑菇灰度近似的土壤背景,但没有去除拌有大面积菌丝的土壤背景。(2)土壤中出茬的蘑菇非结构化生长,呈现各个方向的倾斜、粘连。已有的研究通常基于距离图像、分水岭算法等矩阵运算识别粘连蘑菇,计算开销大,对重叠蘑菇的识别效果欠佳。(3)蘑菇快速定位与原位测量的准确性。前人在蘑菇的定位、测量、成熟度和损伤判别等应用研究中,基于二维图像坐标系和椭圆拟合测量蘑菇的尺寸不精确。
技术实现要素:
针对已有技术存在的不足,本发明提供了一种基于rgb-d相机的粘连蘑菇视觉原位测量方法。
本发明所采用的技术方案,步骤如下:
步骤1,蘑菇图像采集:采用rgb-d相机连续采集深度视频流;
步骤2,蘑菇图像分割:对采集到的每一帧深度图像进行动态阈值分割,以去除土壤背景,提取蘑菇连通域并平滑边缘;
步骤3,粘连蘑菇识别:对提取的蘑菇连通域用八邻域跟踪法顺序遍历其边界轮廓b,基于圆形拟合初步检测其圆心和半径,顺序提取圆心周围1.3倍半径范围内的边界点轮廓sub_b并转换到极坐标下,在找到的粘连点之间进行去噪、插补,进而获取单体蘑菇边界轮廓的二维坐标;
步骤4,蘑菇原位测量:校准相机坐标系,基于陶瓷圆板验证原位测量方法的精度,由此计算相机世界坐标系中单体蘑菇的位置、直径、偏倾角。
进一步,所述步骤2中对采集到的图像进行动态阈值分割的过程为:
步骤2.1:计算深度图像中非0像素灰度值的均值,取大于这个均值的菇床区域,对这些区域像素的深度值进行标记;
步骤2.2:统计每个深度值出现的频率,取频率最大的深度为土壤深度,自适应地选择动态阈值,对深度图像进行二值化。
进一步,所述步骤3中圆形拟合的过程为:
步骤3.1,检测圆心:标记二值图里的连通域并通过canny边缘检测算法检测其边缘点,绘出所有边缘点的法线,设定阈值为30,法线交汇点处的累加法线数量大于该阈值的点即为圆心,canny边缘检测算法的步骤如下:
对原始数据与高斯平滑模板作卷积以降噪,寻找梯度,检测水平、垂直以及对角线方向的边缘,从原始图像生成了图像中每个点亮度梯度图以及亮度梯度的方向以寻找强度梯度,通过滞后阈值得到二值图像,一个获得亚像素精度边缘的改进实现是在梯度方向检测二阶方向导数的过零点:
它在梯度方向的三阶方向导数满足符号条件:
其中:lx,ly…lyyy表示用高斯核平滑原始图像得到的尺度空间计算得到的偏导数,得到的边缘片断是连续曲线;
步骤3.2,推导半径:计算某一圆心到所有边缘点的距离,并定最小半径阈值、最大半径阈值和最小圆心距,在所限定的半径范围内对待检测圆进行半径排序并依次计数,设定计数阈值为30,投票数大于该阈值的半径为检测出的圆半径。
与现有技术相比,本发明的有益效果是,针对工厂化蘑菇种植模式,本发明方法能够快速识别与测量粘连蘑菇,误差小,运行时间短,实时性较高。
附图说明
图1是基于rgb-d相机的粘连蘑菇视觉原位测量流程图。
图2是蘑菇图像分割。
图3是粘连蘑菇识别,其中,图3a为圆形拟合后的图像,图3b为准确拟合单体蘑菇边界的图像。
具体实施方式
本发明专利具体流程图如图1所示,下面结合附图对本发明专利的具体步骤作进一步的说明。
1、蘑菇图像采集
本发明采用rgb-d相机连续采集图像,视频采集速度为60帧/秒。
2、蘑菇图像分割
本专利对图像首先计算深度图像中非0像素灰度值的均值,大于该均值代表土壤表面点云的灰度值,用其众数代表土壤表面点云的深度值,从土壤中拔地而起的蘑菇高度至少20mm,设定动态阈值,对深度图像进行二值化,确保提取出特定直径的蘑菇区域,对二值图进行形态学开运算、高斯滤波等边缘平滑处理,致使0噪声也落在蘑菇边界轮廓上。结果如图2所示。
3、粘连蘑菇识别
对提取的连通域用八邻域跟踪法顺序遍历其边界轮廓b,基于圆形拟合初步检测其圆心和半径,顺序提取圆心周围1.3倍半径范围内的边界点轮廓sub_b并转换到极坐标下,在找到的粘连点之间进行去噪、插补,进而获取单体蘑菇边界轮廓的二维坐标。粘连蘑菇识别效果如图3所示。
圆形拟合的算法步骤如下:
检测圆心。标记二值图里的连通域并通过canny边缘检测算法检测其边缘点,绘出所有边缘点的法线,设定阈值为30,法线交汇点处的累加法线数量大于该阈值的点即为圆心,canny边缘检测算法的步骤如下:
对原始数据与高斯平滑模板作卷积以降噪,寻找梯度,检测水平、垂直以及对角线方向的边缘,从原始图像生成了图像中每个点亮度梯度图以及亮度梯度的方向以寻找强度梯度,通过滞后阈值得到二值图像,一个获得亚像素精度边缘的改进实现是在梯度方向检测二阶方向导数的过零点:
它在梯度方向的三阶方向导数满足符号条件:
其中:lx,ly…lyyy表示用高斯核平滑原始图像得到的尺度空间计算得到的偏导数,得到的边缘片断是连续曲线。
推导半径。计算某一圆心到所有边缘点的距离,并定最小半径阈值、最大半径阈值和最小圆心距,在所限定的半径范围内对待检测圆进行半径排序并依次计数,设定计数阈值为30,投票数大于该阈值的半径为检测出的圆半径。
4、蘑菇原位测量
校准相机的世界坐标系,验证相机世界坐标系下原位测量陶瓷圆板的圆心位置、直径、偏向角和倾斜角的精度。