1.一种比较不同植物形态相似度的计算方法,其特征在于:所述计算方法包括以下步骤:
1)从植物的拓扑结构、外围轮廓形状、植物内部细节特征三个方面考虑,定义植物形态相似度的计算公式和计算流程;
假设已计算出植物在n个方面的相似度值,n为正整数,记为特征向量s=(s0,s1,…,sn-1)T,并赋给每种特征相应的权值因子,取值范围(0,1),记为行向量w=(w0,w1,…,wn-1),则加权平均相似度计算公式为:
并用式子(2)求取最终相似度:
(1)、(2)两式中,si∈[0,1],wi>0,a∈[0,1),i为0到n-1的整数,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
3)基于树图编辑距离方法计算两棵植物拓扑结构相似度
3.1树图的轴向退化操作
植物拓扑结构的相似性比较,只考虑分支方式的差异性而不考虑几何形状的差异性;
为尽量扩大分支方式对拓扑相似性比较算法的影响,对树图进行轴向退化操作;轴向退化操作定义为:对于树图T中任一节点v,如果v有且仅有一个后继子节点,同时又存在父节点,则将v从树图中剔除;通过这种方式得到的树图称为轴向退化树;轴向退化操作可剔除树图上各子树树轴方向上多余的节点;
3.2树图编辑映射和映射约束
将源树图Ts经过编辑序列S转化为目标树图Td所需的最小代价,定义为这两棵树间的距离;编辑序列S是由若干插入、删除和替换操作构成,它可由编辑映射直观地描述;编辑映射可用三元组(M,Ts,Td)来表示,其中M={(vi1,wj)|1≤i1≤|Ts|,1≤j≤|Td|};
为保证树图编辑距离操作遵循植物的自然生长规律,对编辑映射设置了三种约束,即树轴映射约束、子树节点数对齐映射约束和子树深度对齐映射约束;假定节点v∈Td,w∈Ts,(v,w)∈M,v和w分别有子节点{v0,v1,v2,…,vn1}和{w0,w1,w2,…,wm1},并且满足关系{v
子树节点数对齐映射约束:在进行子树映射时,该约束要求分别对T[v1],T[v2],…,T[vn1]和T[w1],T[w2],…,T[wm1]按它们的节点数以降序方式进行排序,然后在T[vI]和T[wI]之间按子树的节点数建立独立子树映射;
子树深度对齐映射约束:在进行子树映射时,该约束要求分别对T[v1],T[v2],…,T[vn1]和T[w1],T[w2],…,T[wm1]按它们的子树深度以降序方式排序,然后在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,c)表示该集合的第c个元素;当c>|b(T)|时,取且 其中, 表示空树变成T的代价, 表示T变成空树的代价,|T|表示树图T的节点个数,c>|b(T)|表示访问集合b(T)时下标越界;
根据式(4),通过线性变换将实值距离映射到区间[0,1],从而得到拓扑结构相似度,数值从0至1表示植物拓扑结构相似度逐渐增大;转换公式定义为:
至此,植物树图的拓扑相似度St计算完成;
4)计算出两棵植物在外围轮廓上的相似度
4.1二维轮廓图形相似度计算
将待比较的图形的顶点坐标存放在特征向量V=((x0,y0),(x1,y1),…,(xn2,yn2))中;考虑到图形的平移、旋转及伸缩不变性,需对待比较的目标图形和源图形进行规范化操作;具体方法是:在直角坐标系O-XY中,求出两轮廓顶点集的最小覆盖圆,再对这两个顶点集进行平移操作,使得它们的最小覆盖圆的圆心位于原点处,然后对顶点集进行缩放,使得各自的最小覆盖圆为单位圆;
对描述图形的顶点进行一致化操作;方法是:将最小单位外接圆平均分成若干个面积相同的扇区;如此,每隔弧度2π/K,K为整型常数,就可得到一条从圆心发出的射线;该射线与图形轮廓的相交情况可能有:无交点、有一个或多个交点;如果无交点,则取射线反向延长线上离圆心最近的交点为标记交点;如果射线和轮廓的交点只有一个时,将取该交点为标记交点;如果有多个交点时,则取离圆心最远的交点记为标记交点;分别求出目标图形和源图形的K个标记交点(xdh,ydh)、(xsh,ysh),并依次连接各自的标记交点,可分别获得目标图形的近似轮廓Gd和和源图形的近似轮廓Gs;考虑到图形的对称性,将Gd按x轴翻转180o得到的图形记为Gd’,然后采用欧式距离法求两二维图形的相似度,如下式;
式中,(xdh,ydh)表示Gd的第h个顶点坐标,(xsh,ysh)表示Gs的第h个顶点坐标,(xdh’,ydh’)表示Gd’的第h个顶点坐标;
4.2三维轮廓图形相似度计算
将包含整个植物的三维凸包在X、Y、Z三个面上进行投影,基于二维图形相似度算法逐一计算目标植物和源植物在相同投影面上的投影的相似度,然后整合所有投影的二维相似度值,从而计算出两棵植物在外围轮廓上的相似度;具体步骤如下:Step 1分别提取图形G3d和G3s的特征向量V=((x0,y0,z0),(x1,y1,z1),…,(xn3-1,yn3-1,zn3-1));
Step 2对两个三维图形的顶点集进行平移操作,使得它们最小覆盖球的球心和原点重合,然后对顶点集进行缩放,使得各自的最小覆盖球变为半径为1的单位球;
Step 3将变换后的三维图形点集分别先绕x轴旋转2πk/K弧度,K取偶数,再绕y轴旋转2πu/K弧度,然后从z轴负方向分别对它们投影,以获得目标图形的投影Pdku和源图形的投影Psku;
Step 4利用二维图形相似度计算方法计算相对应的Pdku和Psku的相似度,在所有投影的相似度值中取最大值作为目标图形G3d和源图形G3s的相似度,其计算公式如下:
4.3计算植物在外围轮廓上的相似度
使用能包含整棵树图点集的凸包及包含子树点集的凸包来描述植物的轮廓特征;凸包的三维轮廓点集可通过遍历树图上的顶点的几何信息计算得出;在树图整体点集凸包的相似度计算中,为提高运算效率,对公式(7)进行降维处理:1)对于目标图形树图Td和源图形树图Ts,只绕y轴旋转并从z轴负方向对其进行投影;2)假设根节点所在空间位置为P,树图最小覆盖圆的圆心为O,则应约束PO连线的方向与y轴重合;令Td的凸包图形绕y轴旋转2πe/K并从z轴负方向对其投射得到的投影为Pd0e,Ts的凸包图形绕y轴旋转2πg/K并从z轴负方向对其投射得到的投影为Ps0g,则树图整体点集凸包的相似度可用下式计算:
还进一步考虑了树图的各级非退化完全子树之间的相似性;对于某树图T的一个节点v,用T[v]表示以节点v为根的完全子树,节点集合包括v及其所有子孙节点;如果T[v]在数据结构上没有退化成链表,且节点数大于2,且v至少有一个兄弟节点,则T[v]即为一个非退化完全子树;该树图的0级非退化完全子树为自身T[v1]=T,1级非退化完全子树有T[v2]、T[v3]和T[v4],2级非退化完全子树有T[v5]、T[v6]和T[v7];
假设Td共有0~m4级非退化完全子树,Ts共有0~n4级非退化完全子树;对于某树图T,取其第e级非退化完全子树集合中与T最相似的那个元素记为MS(T,e),则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),最终计算出不同植物结构间的整体相似度。