1.一种比较不同植物形态相似度的计算机方法,其特征在于:所述计算方法包括以下步骤:
1)从植物的拓扑结构、外围轮廓形状、植物内部细节特征三个方面考虑,定义植物形态相似度的计算公式和计算流程假设已计算出植物在n(n为正整数)个方面(如拓扑相似度、外观轮廓相似度、多种内T
部细节特征相似度)的相似度值,记为特征向量s=(s0,s1,…,sn-1),并赋给每种特征相应的权值因子(取值范围(0,1]),记为行向量w=(w0,w1,…,wn-1),则加权平均相似度计算公式为:并用式子(2)求取最终相似度:
(1)、(2)两式中,si∈[0,1],wi>0,a∈[0,1),i为1到n的整数,a为经验常数,Sm=max{s0,s1,…,sn-1}。
本发明考虑了植物七个方面的特征相似度,分别是:拓扑结构相似度St、外围廓形状相似度S3g、主干上枝条的平均轴向角相似度Sa、一级侧枝与主干的直径比相似度Sd、整体宽高比相似度Swh、二级侧枝与一级侧枝间的轴向角均值相似度Sa1、一级侧枝与主干的截面积比相似度Ss1。对这七个方面的特征相似度分别赋以权值:wt,w3g,wa,wd,wwh,wa1,ws1,权值的取之值范围为(0,1)。记Sm=max{St,S3g,Sa,Sd,Swh,Sa1,Ss1}, 为附带权值因子的七个特征相似度的加权平均值。则根据式(2)可得植物形态相似度计算公式为:
2)分别使用树图表示待比较的目标植物和源植物在计算机中的抽象
树图G定义为顶点V和边E的集合,记为G={V,E}。其中,顶点仅表示节间(不包括叶子、花朵、果实等其它器官)。如果没有特别说明,下文节点也表示树图顶点。节点的几何要素包括直径d、节间长l、轴向角θ、旋转角φ。边则表示节点之间的连接方式,用有序对(v1,v2)表示(其中v1和v2表示顶点)。节点间的连接方式有两种:前驱关系(用‘<’表示)和分支关系(用‘+’表示)。对于关系v1
对于关系v1+v2,可称v2是v1的分支子节点或侧生节点。另外,用T[v]表示以节点v为根的完全子树(节点集合包括v及其所有子孙节点),用|T|表示树图T的节点个数。
3)基于树图编辑距离方法计算两棵植物拓扑结构间的相似度
3.1树图的轴向退化操作
植物拓扑结构的相似性比较,只考虑分支方式的差异性而不考虑几何形状的差异性。
为尽量扩大分支方式对拓扑相似性比较算法的影响,对树图进行轴向退化操作。轴向退化操作定义为:对于树图T中任一节点v,如果v有且仅有一个后继子节点,同时又存在父节点,则将v从树图中剔除。通过这种方式得到的树图称为轴向退化树。轴向退化操作可剔除树图上各子树树轴方向上多余的节点。
3.2树图编辑映射和映射约束
将源树图Ts经过编辑序列S转化为目标树图Td所需的最小代价,定义为这两棵树间的距离。编辑序列S是由若干插入、删除和替换操作构成(如图4),它可由编辑映射直观地描述。编辑映射可用三元组(M,Ts,Td)来表示,其中M={(vi,wj)|1≤i≤|Ts|,1≤j≤|Td|}。
为保证树图编辑距离操作遵循植物的自然生长规律,本发明对编辑映射设置了三种约束,即树轴映射约束、子树节点数对齐映射约束和子树深度对齐映射约束。假定节点v∈Td,w∈Ts,(v,w)∈M,v和w分别有子节点{v0,v1,v2,…,vn}和{w0,w1,w2,…,wm},并且满足关系{v
子树节点数对齐映射约束:在进行子树映射时,该约束要求分别对T[v1],T[v2],…,T[vn]和T[w1],T[w2],…,T[wm]按它们的节点数以降序方式进行排序,然后在T[vi]和T[wi]之间按子树的节点数建立独立子树映射。
子树深度对齐映射约束:在进行子树映射时,该约束要求分别对T[v1],T[v2],…,T[vn]和T[w1],T[w2],…,T[wm]按它们的子树深度以降序方式排序,然后在T[vi]和T[wi]之间按子树的深度建立独立子树映射。
3.3拓扑相似度的计算
设置待比较的两个树图中的一个为目标树Td,另一个为源树Ts。分别求Td和Ts的轴向退化树图,然后将Td的节点按照节点映射M进行若干次插入、删除和替换操作后变换为Ts所需的总代价Dt(Td,Ts)定义为:式 中,
p(T)表示树图T根节点的后继节点(非分支节点);b(T)表示树图T根节点的分支节点集合,且b(T)的元素按其对应子树的节点数。用b(T,i)表示该集合的第i个元素;当i>|b(T)|时,取 且 其中, 表示空树变成(删除节点)T的代价, 表示T变成(插入节点)空树的代价,|T|表示树图T的节点个数,i>|b(T)|表示访问集合b(T)时下标越界。
根据式(4),通过线性变换将实值距离映射到区间[0,1],从而得到拓扑结构的相似度值(数值从0至1表示植物拓扑结构间的相似度逐渐增大)。转换公式定义为:至此,植物树图的拓扑相似度St计算完成。
4)计算出两棵植物在外围轮廓上的相似度
4.1二维轮廓图形相似度计算
将待比较的图形的顶点坐标存放在特征向量V=((x0,y0),(x1,y1),…,(xn,yn))中。考虑到图形的平移、旋转及伸缩不变性,需对待比较的目标图形和源图形进行规范化操作。具体方法是:在直角坐标系O-XY中,求出两轮廓顶点集的最小覆盖圆,再对这两个顶点集进行平移操作,使得它们的最小覆盖圆的圆心位于原点处,然后对顶点集进行缩放,使得各自的最小覆盖圆为单位圆(半径为1)。
对描述图形的顶点进行一致化操作。方法是:将上述最小单位外接圆平均分成若干个面积相同的扇区(如图6)。如此,每隔弧度2π/K(K为整型常数)就可得到一条从圆心发出的射线。该射线与图形轮廓的相交情况可能有:无交点、有一个或多个交点。如果无交点,则取该射线反向延长线上离圆心最近的交点为标记交点。如果射线和轮廓的交点只有一个时,将取该交点为标记交点;如果有多个交点时,则取离圆心最远的交点记为标记交点。分别求出目标图形和源图形的K个标记交点(xdi,ydi)、(xsi,ysi),并依次连接各自的标记交点,可分别获得目标图形的近似轮廓Gd和和源图形的近似轮廓Gs。考虑到图形的对称性,将Gd按x轴翻转180°得到的图形记为Gd’,然后采用欧式距离法求两二维图形的相似度,如下式。
式中,(xdi,ydi)表示Gd的第i个顶点坐标,(xsi,ysi)表示Gs的第i个顶点坐标,(xdi’,ydi’)表示Gd’的第i个顶点坐标。
4.2三维轮廓图形相似度计算
将包含整个植株的三维凸包在X、Y、Z三个面上进行投影,基于二维图形相似度算法逐一计算目标植物和源植物在相同投影面上的投影的相似度,然后整合所有投影的二维相似度值,从而计算出两棵植物在外围轮廓上的相似度。具体步骤如下:Step1分 别 提 取 图 形 G3d 和 G3s 的 特 征 向 量 V=((x0,y0,z0),(x1,y1,z1),…,(xn-1,yn-1,zn-1))。
Step2对上述两个三维图形的顶点集进行平移操作,使得它们最小覆盖球的球心和原点重合,然后对顶点集进行缩放,使得各自的最小覆盖球变为单位球(半径为1)。
Step3将变换后的三维图形点集分别先绕x轴旋转2πi/K(K取偶数)弧度,再绕y轴旋转2πj/K弧度,然后从z轴负方向分别对它们投影,以获得目标图形的投影Pdij和源图形的投影Psij。
Step4利用二维图形相似度计算方法计算相对应的Pdij和Psij的相似度,在所有投影的相似度值中取最大值作为目标图形G3d和源图形G3s的相似度,其计算公式如下:
4.3计算植物外观轮廓相似度
使用能包含整棵树图点集的凸包及包含子树点集的凸包来描述植物的轮廓特征。凸包的三维轮廓点集可通过遍历树图上的顶点的几何信息计算得出。在树图整体点集凸包的相似度计算中,为提高运算效率,对公式(7)进行降维处理:1)对于目标图形(树图Td)和源图形(树图Ts),只绕y轴旋转并从z轴负方向对其进行投影;2)假设根节点所在空间位置为P,树图最小覆盖圆的圆心为O,则应约束PO连线的方向与y轴重合。令Td的凸包图形绕y轴旋转2πi/K并从z轴负方向对其投射得到的投影为Pd0i,Ts的凸包图形绕y轴旋转
2πj/K并从z轴负方向对其投射得到的投影为Ps0j,则树图整体点集凸包的相似度可用下式计算:本发明还进一步考虑了树图的各级非退化完全子树之间的相似性。对于某树图T的一个节点v,用T[v]表示以节点v为根的完全子树(节点集合包括v及其所有子孙节点)。如果T[v]在数据结构上没有退化成链表,且节点数大于2,且v至少有一个兄弟节点,则T[v]即为一个非退化完全子树。如图7所示,该树图的0级非退化完全子树为自身T[v1]=T,1级非退化完全子树有T[v2]、T[v3]和T[v4],2级非退化完全子树有T[v5]、T[v6]和T[v7]。
假设Td共有0~m级非退化完全子树,Ts共有0~i级非退化完全子树。对于某树图T,取其第i级非退化完全子树集合中与T最相似的那个元素记为MS(T,i),则Td和Ts最终的几何轮廓相似度值计算公式为:
5)计算植物内部细节特征的相似度
本发明综合考虑各级子树的几何属性,如主干上枝条的平均轴向角Sa、一级侧枝与主干的直径比Sd、整体宽高比Swh、二级侧枝与一级侧枝的平均轴向角Sa1、一级侧枝与主干的横截面积比Ss1,从而计算出植物几何细节的相似度。上述参数都是实值参数,本发明给出对两正数参数x和y的相似度计算方法。不妨设x≥y,则参数x和y的相似度计算方法定义为:例如两树Td和Ts的轴向角均值分别为θd和θs,根据式(10)即可得出轴向角相似度Sa为:Sa(Td,Ts)=s(θd,θs) (11)
上式所得结果的范围是[0,1]。当相似度值为0时,表示这两个参数因子完全不相似,为1时则表示他们完全相同。所以,相似度值越大,表示待比较的两参数越相似。
采用类似的方法获得公式(3)中其它内部细节特征的相似度Sd,Swh,Sa1,Ss1。
6)计算最终的植物形态相似度
融合上述植株多特征信息,如植物的拓扑结构、外围轮廓形状、植物内部细节特征,利用所求出的各种细节的相似度值,结合公式(5)、(9)和权值因子,根据步骤(1)定义的公式(3),最终计算出不同植物结构间的整体相似度。