当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于Mean Shift的三维网格模型关键点检测方法技术

技术编号:3798598 阅读:255 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于Mean?Shift的三维网格模型关键点检测方法,该方法包含步骤如下:对三维模型表面上的每一个顶点算出其平均曲率;建立一个布尔型的标志位数组,用于标记三维模型各个顶点访问情况;扫描数组,从中找到第一个取值为false的元素,找到,将该顶点设置为“当前顶点”,并将相应的数组元素设置为true;未找到,则整个关键点检测过程完成;搜索与顶点的距离不超过h的顶点集合;计算出当前顶点的mean?shift向量,该向量用于指示以当前顶点为起始的前进方向;计算下一顶点的位置;在三维模型的顶点集中找到距离最近的顶点,直至遍历所有顶点。本发明专利技术能够较为准确地找到符合人类视觉特性的关键点,并对噪声有较好的鲁棒性。

【技术实现步骤摘要】

本专利技术涉及一种网格模型关键点检测方法,具体是涉及一种基于Mean Shift的三维网格模型关键点检测方法。
技术介绍
随着计算机图形技术以及硬件设备技术的不断发展,三维网格模型在不同的领 域中得到了越来越多的应用。因此,如何对三维网格模型进行高效的分析处理成为了工 业界一个急需解决的问题。 在三维模型的分析处理技术中,关键点检测目前仍是研究领域的一个未曾涉足 的研究点,但是该项技术具有广泛的应用前景,例如可以利用该项技术来选择三维模型 的最佳观察视点(viewpoint),也可以用于引导模型的分割,还可以用于三维模型的模糊 检索。
技术实现思路
专利技术目的本专利技术的目的是为了解决现有技术的不足,提供一种基于Mean Shift 的三维网格模型关键点检测方法。 技术方案为了实现以上目的,本专利技术所述的一种基于Mean Shift的三维网格模型关键点检测方法,其特征在于该方法包含步骤如下 (a)对三维模型表面上的每一个顶点V算出其平均曲率C(V);(b)建立一个类型为布尔型的标志位数组ArrVisited,该数组的大小与三维模型的顶点个数相同,用于标记三维模型各个顶点访问情况; (d)扫描数组ArrVisited,从中找到第一个取值为false的元素,找到,将该顶点 设置为"当前顶点",用v表示,并将相应的ArrVisitied元素设置为trae;未找到取值为 false的元素,则整个关键点检测过程完成。(d)搜索与顶点v的距离不超过h的顶点集合Sh(v),其中参数h可由用户指定; (e)计算出属于顶点集合Sh(v)中的当前顶点v的mean shift向量,该向量用于指 示以当前顶点v为起始的前进方向; (f)计算下一顶点V'的位置; (g)在三维模型的顶点集中找到与v'距离最近的顶点v",直至遍历顶点集合 Sh(v)中的所有顶点。步骤(a)中每一个顶点用一个四维的向量来表示5 =〖^ vy V: C(v)f ; 其中前三个分量表示该顶点的位置,而最后一个分量表示该顶点处的曲率值。 步骤(b)中数组元素ArrVisitied表示三维模型第i个顶点的标志信息,取值为 false表示该 点尚未被访问过,取值为true则表示该顶点已被访问过。初始时该数组的 元素全部取值为false 。 步骤(d)中根据如下距离公式搜索与顶点v的距离不超过h的顶点集合Sh(v)= {x|x G V, dist(v, x)《h}; 虚sf(£,,) = ^/(i-,),','(i一-) 其中f和,为步骤(l)所述的四维实数向量,W为如下所示的对角矩阵<formula>formula see original document page 5</formula> 其中、和Or都是参数,由用户指定,通常为0.3和0.7。 步骤(e)当前顶点v的mean shift向量运用如下公式计算 其中n为顶点v的所有h-邻居构成的集合中元素的个数。 步骤(f)中运用如下公式计算下一顶点的位置 v' = v+Mh(v)。 步骤(g)中在三维模型的顶点集中找到与v'距离最近的顶点v",判断v"是 否为当前顶点V本身,如果是,顶点V便是三维模型的关键点,然后执行步骤(C);如果 V"不是当前顶点v本身,将v"设置为当前的顶点,然后执行步骤(d)。有益效果本专利技术提出了一种基于Mean Shift的三维网格模型关键点检测方法,具有如下的优点本专利技术能够较为准确地找到符合人类视觉特性的关键点,如凸起 或者凹下比较明显的位置;对噪声有较好的鲁棒性。附图说明 图1为给出了本专利技术的流程图。 具体实施例方式下面结合附图和具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说 明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术 的各种等价形式的修改均落于本申请所附权利要求所限定的范围。 图l为本专利技术的流程图,具体执行步骤如下。 步骤1计算出三维网格模型各个顶点的平均曲率。 步骤2设置一个访问标志位数组ArrVisited,该数组用于标记三维模型各个顶点 是否已被访问过,初始值均设置为false,表示尚未访问过。 步骤3从ArrVisited数组中找到第一个为false的元素,并且将相应的顶点设置为 "当前顶点"v。 步骤4判断当前顶点v是否存在,如果不存在,则结束整个流程,否则执行步骤5。 步骤5将当前顶点v的访问标志位设置为trae。 步骤6从三维模型中找到与当前顶点距离不超过h的顶点集合Sh(V)。这里的距离公式如下所示 函'对(i,,) = # 一 ,),',' -刃 , 其中,f和f为步骤(l)所述的四维实数向量,W为如下所示的对角矩阵、00G、000000、◎00 步骤7计算当前顶点v的Mean Shift向量,该向量指示了关键点以当前顶点v为起始的前进方向。, 步骤8采用如下的公式计算下一顶点的位置 v' = v+Mh(v) 。 步骤9从三维模型中找到与v'最近的顶点v"。 步骤10判断v"是否为当前顶点v,如果是,则执行步骤12,否则执行步骤11。 步骤ll将顶点v"设置为当前顶点v,然后跳到步骤6。 步骤12将当前顶点v设置为关键点,然后执行步骤3。权利要求,其特征在于该方法包含步骤如下(a)对三维模型表面上的每一个顶点v算出其平均曲率C(v);(b)建立一个类型为布尔型的标志位数组ArrVisited,该数组的大小与三维模型的顶点个数相同,用于标记三维模型各个顶点访问情况;(c)扫描数组ArrVisited,从中找到第一个取值为false的元素,如果找到,将该顶点设置为“当前顶点”,用v表示,并将相应的ArrVisitied元素设置为true;如果未找到取值为false的元素,则整个关键点检测过程完成;(d)搜索与顶点v的距离不超过h的顶点集合Sh(v);(e)计算出属于顶点集合Sh(v)中的当前顶点v的mean shift向量,该向量用于指示以当前顶点v为起始的前进方向;(f)计算出下一顶点v’的位置;(g)在三维模型的顶点集中找到与v’距离最近的顶点v”,直至遍历顶点集合Sh(v)中的所有顶点。2. 根据权利要求1所述的,其特 征在于步骤(a)中每一个顶点用一个四维的向量来表示其中前三个分量表示该顶点的位置,而最后一个分量表示该顶点处的曲率值。3. 根据权利要求1所述的,其特 征在于步骤(b)中数组元素ArrVisitied表示三维模型第i个顶点的标志信息,取值为 false表示该顶点尚未被访问过,取值为true则表示该顶点已被访问过,初始时该数组的 元素全部取值为false。4. 根据权利要求1所述的,其特 征在于步骤(d)中根据如下距离公式搜索与顶点v的距离不超过h的顶点集合<formula>formula see original document page 2</formula>其中5和,为所述的四维向量,W为如下所示的对角矩阵<formula>formula see original document page 2</formula>5.根据权利要求1所述的 一 种基于Mean Shift的本文档来自技高网...

【技术保护点】
一种基于Mean Shift的三维网格模型关键点检测方法,其特征在于:该方法包含步骤如下:  (a)对三维模型表面上的每一个顶点v算出其平均曲率C(v);  (b)建立一个类型为布尔型的标志位数组ArrVisited,该数组的大小与三维模型的顶点个数相同,用于标记三维模型各个顶点访问情况;  (c)扫描数组ArrVisited,从中找到第一个取值为false的元素,如果找到,将该顶点设置为“当前顶点”,用v表示,并将相应的ArrVisitied元素设置为true;如果未找到取值为false的元素,则整个关键点检测过程完成;  (d)搜索与顶点v的距离不超过h的顶点集合S↓[h](v);  (e)计算出属于顶点集合S↓[h](v)中的当前顶点v的mean shift向量,该向量用于指示以当前顶点v为起始的前进方向;  (f)计算出下一顶点v’的位置;  (g)在三维模型的顶点集中找到与v’距离最近的顶点v”,直至遍历顶点集合S↓[h](v)中的所有顶点。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨育彬林金杰
申请(专利权)人:南京大学
类型:发明
国别省市:84[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1