一种新的大型四肢动物体姿态识别方法

时间:2022-10-07 03:54:51

一种新的大型四肢动物体姿态识别方法

摘要:文中以对鹿体姿态的识别为例,针对鹿体姿态的特点,提出了一种新的可应用于大型四肢动物体姿态识别的方法。首先采用数学形态学的方法对图像进行了处理,获得了鹿体图像的准确轮廓,然后分别用四个椭圆对所获得的图像中鹿的颈部、去除颈部的躯干以及四肢进行拟合,最后利用线性代数的知识分别求出这四个用以表征鹿体姿态信息的椭圆的长短轴长度和方向。

关键词:姿态识别;数学形态学;椭圆拟合

中图分类号:TP391.41 文献标识码:A文章编号:1009-3044(2007)05-11383-02

1 引言

动物体是一个有机的整体,其体形外貌不仅是体躯结构的外部表现也是其内部组织、器官及系统生长发育、生理机能、健康状况的体现[1]。通过获得动物体的形体参数信息了解动物生长发育状况并根据其生长状况及时调整饲料配方来促进其生长发育、增加经济效益的科学化饲养技术早已在饲养业普及,并已成为畜牧业发展的大趋势。

计算机视觉技术无须接触测定对象便可从获取的图像中得到大量参数和信息, 特别适合于动物、植物和农产品等的检测和品质综合评定[2]。为了更好的将计算机视觉检测技术与动物体的形体参数检测紧密的联系在一起以加快畜牧科技的推广步伐,本文以对鹿体的姿态识别为例,就一种新的可应用于大型四肢动物体姿态识别的方法进行探讨。

2 形态学处理

数学形态学(Mathematical Morphology)是一门建立在集论基础上的学科,是几何形态学分析和描述的一个重要的工具。近年来,数学形态学在数字图像处理的应用,引起了许多研究人员的兴趣。它的基本思想是用具有一定形态结构元素去量度和提取图像中的对应形状以达到对图像进行分析和识别的目的。数学形态学可以简化图像数据,保持图像的基本形状不变,同时又去掉了原图像中与研究无关的部分。[3]

随着二值和灰度形态学处理的日趋完善和成熟,其分析结果也更加稳定,因此,我们首先将经过一系列处理后的彩色的鹿图像转化为灰度图像,如图1所示。然后使用阈值将其分割为二值图像,如图2所示。从图2中可以看出,经过阈值分割后,鹿体的边缘虽然较好的保留了下来,但在鹿体的内部出现了孔洞,因此,我们采用形态学中的填充孔洞算法,对鹿体内部的像素点进行规整。将孔洞填充完毕后,利用形态学中的开启算法去除鹿体的小突刺,平滑鹿体的边界,最后用取反算法对图像进行处理,结果如图3所示。

2 鹿体姿态特征提取与表达

2.1 中外文献

在对目标轮廓进行描述这一研究上,中外学者们采取了许多直观而有效的方法。牛轶峰和沈林成采用等腰三角形模板和矩形模板构造了飞机的变形模板,并采用了包括等腰三角形的底边和底角,矩形的两个边长,坐标中心和旋转角在内的七个参数对飞机进行完全的描述。[4]王展等人采用两条抛物线和一个圆来建立人眼的模板,对人眼进行直观的描述。[5]Birchfield用具有几何尺度和位置约束的椭圆弧段对人的头部轮廓进行建模,不仅有效的降低了人体这一非刚性目标的表示复杂度,同时也减少了目标检测的计算量。[6]Lee等人采用七个椭圆表达人的侧面二值化图像的身体的不同部分,每个椭圆用质心等四个特征表示加上整个身体图像的质心高度一共29个特征表示整个人体侧面图像,通过模板匹配的方法进行步态识别。[7]还有Rosales和Sclaroff利用一个圆柱体来合成出人体轮廓,Leung和Yang使用U形边界来描述人体轮廓,Rohr使用14个椭圆柱体来产生人体结构等等。[8]然而,对动物体轮廓表达的研究还鲜见报道。因此,为了降低鹿体这一非刚性目标的表示复杂度,减少目标检测的计算量,我们设计了一种新的、可应用于大型四肢动物体姿态识别的方法,即用椭圆模型对动物体进行拟合的方法。

2.2 椭圆构建

根据动物体解剖学知识,大型四肢动物的身体结构可按其身体比例分成若干个部位,所以,我们可将经过形态学处理后的结果图像中的鹿按其身体比例分成头部、颈部、去除颈部的躯干和四肢五个部分,由于鹿的头部对整个鹿体姿态判别的影响不大,为了减少计算量,我们只需分别用四个椭圆对鹿的颈部、去除颈部的躯干、前肢和后肢这四个部分进行拟合即可,具体拟合方法如下:

(1)在形态学处理后的结果图像中建立如图4所示的二维坐标系。因为是在鹿体内部构建椭圆,椭圆的圆心点必在鹿体内部,我们定义结果图像中鹿体区域为椭圆构建的可行区域,鹿体以外的背景区域为非可行区域;

(2)给定一个起始点P0(xmin,ymin),判断Pn点是否在可行区域内,如果不在,则沿y轴方向向上搜索下一个点P1。如果P0在可行区域内,则以P0为圆心在可行区域范围内构建最大的椭圆,构建完毕,沿y轴搜索下一个点P1;

(3)令P1为P0,重新进行第2步骤的操作;

(4)一直沿y轴搜索到ymax,则设Pn(xmin+1,ymin),重复步骤3的操作;

(5)重复以上步骤沿x轴搜索到xmax,遍历区域内的像素,椭圆构建完毕。

在我们所构建的椭圆中,面积最大的椭圆我们即认为它所拟合的是鹿体去除颈部的躯干。我们以此椭圆的圆心为原点建立一个新的二维坐标系O’,并将具有一定间距的四肢进行了填充以便于对四肢的下一步拟合,如图5所示。坐标系O’为用于判别鹿体其它部位的参照坐标系。在鹿体处于标准站姿的状态下,用于拟合鹿的颈部、前肢和后肢的椭圆应分别处于参照坐标系O’的第二、三和四象限。拟合后的鹿体图像如图6所示。

图5 参考坐标图 图6 拟合图

2.3 参数求解

对于鹿体中任意一个椭圆区域I(x,y),其椭圆区域的质心为:

该协方差距阵的特征值λ1,λ2与对应的特征向量v1,v2指示椭圆的长短轴的长度和方向。特征值之比l与长轴的方向a如下:

x表示单位矢量(1,0),则对于每一帧的姿态特征矢量可以用

f(ri)=(xi,yi,li,ai),i=1,...,4 (7)

表示上面的16个特征,加上整个鹿体的质心y坐标共有17个特征表示一帧鹿体姿态图像,以此17个特征作为鹿体姿态识别的特征。

3 实验结果与讨论

本文用椭圆去表征鹿体的各个部位的原因是椭圆较其它图形不仅可以更贴切的对鹿体进行描述,而且能够有效地降低鹿体这一非刚性目标的表示复杂度,减小了目标检测的计算量。

当鹿吃草时,其姿态较标准站姿的不同之处主要在于用来拟合颈部和前肢的椭圆均位于参考坐标系O’的第三象限,而当鹿回头时,其主要变化为拟合颈部的椭圆长短轴的长度比例l发生较大的改变,当鹿体侧卧时,位于参考坐标系O’的第三、四象限的椭圆长轴方向a发生了很大变化并且面积变得非常小。由此可见,用椭圆去拟合鹿体的各个部位不仅有助于识别鹿体的姿态,而且椭圆长短轴的大小还携带着鹿体胖瘦以及鹿腿分开大小等信息。

图7展示了几幅比较有代表性的鹿的姿态参考坐标图和拟合图,实验结果表明,本方法可以对鹿的各种姿态进行较为正确的识别,识别的准确率高达95%以上。需要指出的是,本方法在非常嘈杂的背景下也存在一定的误检测,这一点还有待于进一步改进。

图7 鹿体检测结果

4 结语

本文提出了一种新的鹿体姿态识别方法,前期利用数学形态学知识对鹿的图像进行了处理,然后分别用四个椭圆对鹿的颈部、去除颈部的躯干、前肢和后肢进行拟合,最后将所获得的椭圆参数作为鹿体姿态的判别依据。此外,本文所提出的鹿体姿态识别方法还可以应用到其他大型四肢动物的姿态识别中,为实现动物体的无接触检测技术打下了基础。

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:JDBC编程结果集的分页显示 下一篇:使用任务驱动法进行计算机课教学