基于图像特征提取的生菜形态可视化建模

2015-04-29 21:11孔繁爽等
安徽农业科学 2015年24期
关键词:生菜特征提取可视化

摘要

植物形态可视化技术是实现虚拟农业中关键技术之一。该文对生菜图像进行预处理后,研究图像的各个特征,并提取生菜叶片的R、G、B颜色特征和叶片长度、宽度等特征。基于提取的各个特征,在OpenGL平台上,对生菜进行三维可视化建模,并进行颜色、光照模拟等渲染處理,主要建立了生菜二维图像与三维可视化模型之间的联系,实现生菜的可视化,能够直观地表现生菜的成长状态。将虚拟植物技术应用到农业领域的教学中,能够帮助同学直观地学习理解,对于农业科研、教育有积极作用。

关键词生菜;特征提取;可视化;OpenGL

中图分类号S126;TP391.9文献标识码A文章编号0517-6611(2015)24-265-04

虚拟作物是在计算机上利用相关技术模拟植物在三维空间中生长发育状况的可视化模型。建立植物形态的可视化模型,可以全方位、多层次考察生菜表层的形态、纹理和空间分布关系。这对于探讨生菜组织结构与功能的关系、进行直观形象的生菜研究以及促进现代农业发展有着重要的意义。国外研究人员在计算机辅助模拟植物形态方面进行了大量研究,主要代表有:法国的CIRAD、澳大利亚的 CPAJ、加拿大的 Prusinkiewicz 等人研究室,建立了L系统、迭代函数系统[1]、粒子系统[2]等多种植物生长模型,并开发了多种模拟植物形态的软件,如L-Studio。国内近年也在植物可视化方面有诸多研究,包括基于Nurbs曲面建立了植物叶片静态模型[3];光、水、温度等环境因素对植物可视化的影响[4];大豆根系及辣椒、茄子等作物的生长模拟[5-6]。最近,一些基于机器视觉的特征提取也出现很多[7-9]。

综合国内外现阶段研究现状,多数可视化建模并没有与实测数据进行联系,尤其对于利用静态二维图像建立植物形态可视化模型的研究并不多见。该文利用图像处理相关技术,提取生菜颜色、几何特征,在OpenGL环境下利用从二维图像中获得的特征参数,实现了生菜形态的三维可视化建模。通过二维图像生成三维模型,实现了准确、无损的可视化仿真,可视化模型关键数据来自真实叶片的测量值,符合自然界真实的生物学规律,是对图像的准确重现,对于农业教学、培训有很大的促进帮助作用,能够使人们在模型上进行虚拟实验,学习植物学相关知识。

1 基于二维图像特征的三维建模方法简介

生菜三维可视化建模需要长度、宽度、颜色值等关键参数,这些参数控制生菜的形状与色彩,准确的参数不仅能够使得形态模拟更加准确,而且符合生菜成长的客观规律,能够在一定程度上反映生菜的植物学特性。从图像中可以提取出相应颜色、几何参数,所以该文提出了基于图像特征提取的三维建模方法。

该文根据从图像中提取的颜色特征值、几何特征值作为三维建模的原始参数,主要包括图像的预处理、图像特征提取和可视化建模三部分。图像预处理主要包括图像分割、边缘检测,利用预处理后图像进行特征提取,得到颜色特征值、几何特征值,最后利用获取的特征值进行可视化建模,重点在于如何获得三维建模中所需要的相应特征数据。

2 生菜图像预处理

图像预处理是在图像进行分析之前,对获取的图像进行增强、降噪等处理,以使图像能够更便于分析。该文主要对获取的生菜图像进行分割和边缘轮廓提取。

2.1 图像分割

图像分割是指根据图像的颜色、几何形状、灰度的特征把图像划分成若干个互不相交的区域,图像分割的好坏直接影响到后续特征提取的效果。生菜是典型的绿色植物,颜色特征较背景更明显,因此该文采用文献[10]的绿色作物图像分割方法,提取生菜图像颜色指数后,利用均值漂移算法,对生菜图像进行分割,分割效果如图1所示。由图1可知,分割后生菜图像边缘锯齿状较明显,并不平滑,为了使边缘检测更加准确,对图像进行一次膨胀、腐蚀处理(图2)。

2.2 边缘检测与轮廓提取

边缘是图像局部特性的不连续性,是前景物与背景图的交界处,这些部分往往是整幅图像中变化差异最大的地方。边缘处图像的灰度值和亮度都会产生

跳变,数学算法模型中会表现出一阶导的不连续行。因此,利用图像的梯度函数就可以求得图像的边缘[11]。

大部分情况下边缘检测是图像分割一种方法,但是这里边缘检测主要是为了生菜的轮廓提取,在分割的基础上进行边缘检测,使得提取出的生菜轮廓更完整,干扰更少,使下一步几何特征的提取更准确。

主要的边缘检测算子包括sobel算子、prewitt算子、canny算子、robert算子。通过前期大量实验表明,在生菜的轮廓提取中,canny算子所提取的轮廓更加连续、完整(图3),所以最终选取canny算子。

3 生菜叶片特征提取

图像的特征包括颜色特征、几何特征、纹理特征,而影响三维建模准确性的主要是颜色特征和几何特征,所以该文主要提取生菜叶片的颜色特征和几何特征,并不涉及纹理特征。颜色特征提取主要是利用图像分割结果,提取生菜叶片的R、G、B分量值。几何特征提取主要是利用边缘检测结果,提取生菜叶片的长度与宽度值。

43卷24期孔繁爽等基于图像特征提取的生菜形态可视化建模

3.1 颜色特征提取

颜色是图像中很重要的特征,尤其对于描述生菜叶片来讲,颜色特征的准确与否影响可视化建模的真实感程度。图像颜色特征主要有颜色直方图、颜色距、颜色聚合向量等,该文采用颜色的R、G、B分量值。

进行图像分割后,主要对于生菜叶片颜色中R、G、B分量值的提取,以作为图形可视化部分颜色模拟的关键参数。在颜色空间中,颜色是可被度量的,所以可以提取一幅图像中R、G、B 3个分量的具体值,用于调节可视化中各个分色的比例。

3.2 几何特征提取

生菜叶片的几何特征关键参数的提取是后续可视化建模是否准确的关键,通过获取叶片的长度与宽度值来确定生菜的大体轮廓与形状。主要通过和标准图像对比的方法获取准确的相关参数。

3.2.1

参照物与比例尺。为了能够测得准确生菜长度、宽度值,选取一个边长为5 cm的黑色正方形作为参照物,镜头距离正方形正中心30 cm(图4),获取图像后,测得边长像素点数和距离,进而可得长度与像素点数比,作为生菜长度、宽度计算的比例尺。

3.2.2

生菜叶片长度测量。

获取图像比例尺后,则可以测量生菜叶片的几何值。按照图4,以生菜根部为中心,用同像素的相机,镜头距生菜30 cm高度处进行图像获取。根据边缘检测所提取的轮廓,进行长度和宽度的计算。

首先,按照像素点颜色为黑色而统计出所有边缘像素点,并记录其坐标。因为拍照时生菜根部在图像中心,即叶片的根部在图像中心,记录中心点坐标,设图像中心点坐标(a,b),为计算方便,将所有像素点横纵坐标分别减a、b,即以图像中间点为原点建立坐标系(图5),计算所有边缘点到中心点的长度

d=(x)2+(y)2,找到最大的长度值,即为生菜叶片的长度,并记录叶尖像素坐标为L(x1,y1),且可知长度上像素点数,结合“3.2.1”所测比例尺,则可知叶片实际长度。

3.2.3

生菜叶片宽度测量。生菜叶片宽度的获取,主要是從叶尖到叶根,不连续取7个宽度,不连续是因为生菜叶片在靠近叶尖部分变化较快,在靠近叶根部分变化较小甚至基本不变,所以7段宽度大多集中在叶尖部分,且宽度所在直线与长度所在直线垂直(图6)。

在取得长度后,由(0,0)与L(x1,y1),求得长度所在直线斜率

k=y1/x1,长度所在直线为l∶y=kx,则7段宽度所在直线斜率为-1/k。取直线l1∶y=(k+1)x和l2∶y=(k-1)x,设叶片所在区域像素点集合{(xi,yi)},可限定对于任意(xi,yi)在2条直线之间,且与叶尖坐标同象限。

在此集合中找到以下2个关键点,①距离l∶y=kx直线距离最远点MAX,②叶尖点L与坐标原点的中点(x1/2,y1/2),并从像素点集合中找到点(p,q),使此像素点与中点所确定的直线斜率为-1/k,记点(p,q)为HALF。2个关键点是生菜可视化建模中最关键的数据。

最后以MAX为基准点,在叶片点集中找到距离相对减小的另外5个边缘点,共计7点,对找到关键点标记如图7所示。

设其中任意1个为(c,d),则宽度所在直线为l4∶(y-d)=-1/k(x-c),在叶片下半部分所在集合中找到在直线上的点(e,f),使得(e,f)满足l4,则宽度为

L=(e-c)2+(f-d)2。以此类推,则可求出所有7段宽度值。

在所有像素点的集合中除去第1片叶子所在区域像素点集合,即可得剩余叶片像素点集合,为方便计算,按照“3.2.2”“3.2.3”,可以重设坐标轴,重复以上方法,依次找到第2片叶子的长度、区域、7段宽度。以此类推,即可求出所有叶片几何特征值。

4 基于Nurbs曲面的生菜叶片形态可视化

4.1 Nurbs曲面

Nurbs曲面建立在非有理贝塞尔方法与非有理B样条方法的基础上,不仅可以精确表示规则曲线与曲面,同时可把规则曲面和自由曲面统一在一起,并且权因子出现,有利于曲线和曲面形状的修改[12],所以选取Nurbs曲面作为生菜形态可视化建模的工具。

Nurbs曲面定义为:

S(u,v)=∑ni=0 ∑mj=0Wi,jPi,jNi,p(u)Ni,q(v)

∑ni=0 ∑mj=0Wi,jNi,p(u)Ni,q(v)

0≤u,v≤1

(Ⅰ)

式中,Pi,j为控制顶点,Wi,j为与控制点相联系的权因子,Ni,p(u)和Ni,q(v)分别为B样条基函数。

4.2 生菜形态的几何建模

利用Nurbs曲面绘制生菜叶片的关键是对于控制点的选取。由生菜长宽比可知,生菜叶片更趋近于矩形,且长度远大于宽度,对于生菜宽度的控制尤为重要,所以对于每个叶片,选取7行5列共计35个控制点来控制生菜叶片的大体形状。最终通过图像处理获取生菜长度与7段宽度来确定控制点的具体位置。

在OpenGL中,封装了绘制Nurbs曲面的常用函数,利用OpenGL函数库所提供函数生成一个Nurbs曲面的具体方法与关键过程如下:

(1)创建曲面对象theNurb1=gluNewNurbsRenderer();

(2)控制点改变,通过长度与7段宽度值,计算出所有控制点位置;

(3)曲面绘制开始gluBeginSurface(theNurb1);

(4)具体绘制Nurbs曲面gluNurbsSurface(theNurb1,10,knots,10,knots,5*3,3, &points[0][0][0],5, 5,GL_MAP2_VERTEX_3),其中&points[0][0][0]为控制点;

(5)曲面绘制结束 gluEndSurface(theNurb1)。

取得结果如图8所示:

4.3 生菜叶片的真实感技术

4.3.1

颜色渲染。利用图像处理在RGB空间中提取的红色、绿色、蓝色分量值,通过glColor()函数来设置生菜叶片颜色,颜色参数来自生菜真实图像,使得颜色更加逼真。

4.3.2

随机扭曲处理。

由于图像提供的控制点坐标是在二

维空间中,且生菜叶片较其他叶片来说,弯曲程度较大,所以该文根据生菜叶片不同位置宽度不同的扭曲变化程度,分别

设定7个随机控制函数来控制7排共35个控制点的z坐标,以更真实地模拟生菜叶片。

4.3.3

光照渲染。光照对于模拟三维真实感图形非常重要,如果没有光照,所制作的三维图形就没有立体感,和二维图形基本没有区别[13]。在OpenGL中光照渲染具体步骤如下:

(1)为光照模型指定材质参数glMaterialfv();

(2)设置光源参数glLightfv();

(3)设置光照模型参数glLightModeli();

(4)激活光照glEnable()。

4.3.4

纹理映射。真实的生菜叶片上有复杂的纹理结构,纹理结构的模拟对生菜可视化模型最终的信息表达有着至关重要的作用。该研究采用纹理贴图的方式来实现生菜叶片的纹理映射,所贴图片来自图像的分割结果,能够很大程度上实现生菜叶片的重现。具体过程如下:

(1)载入纹理,即生菜图像分割结果;

(2)创建纹理 glGenTextures ();

(3)生成纹理 glTexImage2D ()。

进行以上4步处理后,就能够从形态、色彩方面真实模拟生菜叶片,效果如图9所示。

4.4 生菜植株的可视化

基于上述结果,可生成多个生菜叶片,对于每个生菜叶片增加属性:叶片角度,在每次生成1个生菜叶片后,通过重置坐标轴进而绘制下1片叶子,多次之后即可最终实现整株生菜的可视化建模(图10) 。

5小结

虚拟植物技术在景观、教学等领域应用广泛。尤其教学方式日益趋于多元化,多媒体教学的利用越来越广泛,虚拟植物的研究能够帮助同学直观地学习理解,对于农业科研、教育有积极作用。该文主要利用静态图像所提取出的颜色特征值和几何特征值,在OpenGL环境下利用Nurbs曲线模拟生菜的形态,能够生动形象地模拟出生菜某时刻的成长状态,符合生菜真实的植物学特性,而图像特征提取与可视化建模的有机结合对研究生菜生长模型与虚拟植物技术有一定积极作用与理论参考价值,并且为研究符合成长规律的动态可视化模型提供有效方法。

参考文献

[1]

ROOM P M,MAILLETTE L,HANAN J S.Module and metamer dynamics and virtual plants[J].Advances in Ecological Research,1994,25:105-157.

[2] REEVES W T,BLAU R.Approximate and probabilististic algorithms for shading and rendingstructured particle system[J].Computer Graphics,1985,19(3):313-322.

[3] 刘莹莹,刘哲,杨焱.基于NURBS的植物叶片几何建模[J].北京农学院学报,2008,23(4):63-66.

[4] 叶飞.环境因素影响下的植物可视化模型研究[D].重庆:重庆大学,2007.

[5] 钟南,罗锡文,秦琴.基于生长函数的大豆根系生长的三维可视化模拟[J].农业工程学报,2008,24(7):151-154.

[6] 刘骥.植物生长模拟与可视化研究[D].重庆:重庆大学,2009.

[7] 刘长青,陈兵旗.基于机器视觉的玉米果穗参数的图像测量方法[J].农业工程学报,2014,30(6):131-138 .

[8] 李文勇,李明,陈梅香,等.基于机器视觉的作物多姿态害虫特征提取与分类方法[J].农业工程学报,2014,30(14):154-161.

[9] 刘太磊.相机标定与三维重建相关技术研究[D].南京:南京信息工程大學,2012.

[10] 伍艳莲,赵力,姜海燕,等.基于改进均值漂移算法的绿色作物图像分割方法[J].农业工程学报,2014,30(24):161-167.

[11] 黄佳.基于OPENCV的计算机视觉技术研究[D].上海:华东理工大学,2012.

[12] 高斌.曲面造型中NURBS曲面曲线离散及显示算法的研究与实现[D].杭州:浙江大学,2002.

[13] 和平鸽工作室.OpenGL三维图形系统开发与实用技术[M].清华大学出版社,重庆大学出版社,2003.

猜你喜欢
生菜特征提取可视化
基于CiteSpace的足三里穴研究可视化分析
脆嫩爽口的生菜
基于Power BI的油田注水运行动态分析与可视化展示
生菜怎么吃更健康
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
生菜?你爱吃圆的还是散叶儿的?
生菜有道