首页 > 范文大全 > 正文

基于Kinect的温室番茄盆栽茎干检测与分割

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Kinect的温室番茄盆栽茎干检测与分割范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要 立体视觉系统能够得到图像的深度信息,可以很好地将植物前景与温室的背景分开。茎干是植物的骨架,也是识别植株的重要特征。通过采用基于kinect的立体视觉系统对温室盆栽植物的茎干进行检测和分割。通过细化算法、Hough变换、基于直方图的统计方法及Otsu算法在深度图像上进行植物茎干检测,从而分割植物的茎干。最后基于OpenGL图形平台,实现了番茄植株个体的形态可视化,从而为番茄植株生长的可视化奠定了技术基础。

关键词 Kinect;细化算法;Otsu算法;温室番茄盆栽茎干分割

中图分类号 TP391.41 文献标识码 A 文章编号 1007-5739(2014)03-0336-03

温室作物生长过程的数字化和可视化,是温室环境调控技术的重要基础和条件,对提高设施农业产业的经济效益具有重大意义。数字农业是集农业科学、环境科学、计算机技术、通信技术和网络技术等众多技术于一体的高新技术系统,也是现代农业发展的新模式[1-2]。伴随着计算机软硬件和图形图像处理技术的快速发展,计算机视觉技术在数字农业中的应用越来越广,从而使得用计算机视觉技术实现农作物的数字化成像与可视化成为可能。数字化就是采用图像传感器对目标进行成像与采集,可视化则把所采集到的图像信息在设备上进行直观的呈现[3-4]。然而现在对温室作物信息的采集主要是通过采用昂贵的图像采集设备来完成的,比如CCD摄像机、激光扫描仪、双目设备等,而且有些设备得到的图像信息容易受到光线的影响。为此,本文以温室番茄盆栽作物为研究对象,提出了一种基于Kinect立体视觉系统的作物茎干特征提取与分析算法。最后基于分割得到的茎干,在OpenGL图形平台中绘制番茄植株茎干的三维形态,然后再加上一些叶片、果实从而形成番茄植株的拓扑结构,最终实现番茄植株的可视化。

1 图像采集与预处理

1.1 Kinect简介

Kinect是微软公司研制的一款体感外设,它是一种3D体感摄影机。其主要特点及功能:Kinect底部为多点阵列麦克风,可以输入声音并能够过滤环境噪声;RGB摄像头,可以进行图像捕获;2个深度传感器,由红外线投影机加单色CMOS传感器组成,使得设备能识别3D空间;底座有机械转动功能,可以让摄像头拍摄到的范围更广[1,5]。

Kinect能够处理30帧/s的深度信息,每帧有640×480像素,每个像素16位,而实际有效位只有13位,纵向角度范围43°,横向57°,深度探测范围在1.2~3.8 m为最佳[1]。

1.2 图像采集和预处理

图像采集与预处理的硬件系统由运行Windows 7的PC、Kinect、支架、供电和传输线组成。软件平台是Microsoft Visual Studio 2010和OpenCV库与PrimeSense公司开发的OpenNI库。通过Kinect的彩色感应镜头与深度感应镜头,能够同时获得温室盆栽的彩色图像与深度图像。图1a是Kinect彩色感应镜头获得的温室番茄盆栽的彩色图像。

图1a是从Kinect得到的植株彩色图像,虽然清晰但是图像中同时也含有许多杂乱的背景。Kinect可以获得物体到镜头的距离(深度),可以利用这一特点对彩色图像和深度图像进行合并处理。图1b是Kinect得到的深度图像,其中橙色表示距离摄像头0.8~1.5 m的部分。将彩色图像中位于深度图像除橙色外的区域去除,就得到了图1c,这样就可以消除目标盆栽植株以外的大部分干扰。但是Kinect的精度限制造成了图1c中的植株存在一些不连续的地方。

2 温室盆栽的茎干检测

2.1 深度图像细化

为了检测出盆栽的茎干,首先对深度图像进行细化。细化就是求取图像骨架,以骨架代替该图像。本文采用的细化方法是Zhang并行细化算法,它是一种比较实用的算法,具有速度快和保持细化后曲线的连通性等优点[6]。

对图1b进行Zhang并行细化算法后得到的二值图像如图1d所示,其中有效像素为白色,背景为黑色像素。

2.2 Hough变换检测茎干

在图1d中的二值图像可以看出盆栽的茎干被细化成1条线段,因此要想检测出茎干,只需要对线段进行检测。本文中采用概率型Hough变换算法来检测线段[7]。

在细化以后的二值图像中,采用概率型Hough变换算法检测盆栽茎干。为了使结果更清晰易见,将检测到的线段在深度图像中标记出来,线段颜色为浅蓝色,线段的端点用黄色标记(图1e)。注意到Hough算子在花盆处检测到了大量的线段,这些线段属于误检测,不应该纳入到茎干的范畴中,在本小节剩下的部分中将主要介绍如何去除这些不符合需要的线段,并保留真正的茎干线段。

2.3 消除误检测茎干

如果以铅垂线为轴,盆栽的冠层和花盆的横截面积要比主茎干处的大,因此盆栽的宽度从上到下呈现由大到小再到大的特点。这个“大―小―大”的特征与双峰直方图的“峰―谷―峰”特征类似。因此,考虑利用Otsu算法来定位茎干较多的“谷底”区域,从而滤除不符合要求的线段。具体步骤如下:①找出盆栽植物的中轴线(图1f)。②以盆栽植物中轴线为分界线建立网格系统(图1f),如果有一定数量的橙色像素落入某个格子,则认为格子有效。③以网格列号为横坐标,中轴线处为坐标原点,确定网格系统中每行的左右两端到盆栽中轴线最远的有效格子的坐标,并取绝对值。记录每行的这个值,建立以铅垂线为横轴的直方图(图2)。

图2中的直方图大致是一个双峰直方图,但直方图的某些地方并不是很平滑,因此采用中值滤波算法对直方图进行处理。处理后的结果如图3所示。

中值滤波处理后的直方图比较平滑,便于后续算法处理。笔者发现待检测的盆栽茎干的主体部分正好位于直方图的谷底区域,因此只要确定了波谷的位置,就能更准确地检测出茎干。Otsu算法称为大津法,也称为最大类间方差法,是一种著名的类间阈值确定方法。首先假定形成直方图的数据分成2类,然后计算类间方差的最大值,得到最优分类阈值[8-10]。其最优阈值所在位置接近双峰直方图的波谷,能够较好地将波峰区分出来。