一种采用草图创建三维模型的方法

文档序号:6599635阅读:305来源:国知局
专利名称:一种采用草图创建三维模型的方法
技术领域
本发明涉及一种图形分析与解释的方法,属于计算机软件和计算机图形学技术领域,具体地说,是一种运用草图解析、深度恢复和三维重建等过程将自由绘制的草图直接转 换成三维数字模型的一种采用草图创建三维模型的方法。
背景技术
计算机技术的发展给工程设计领域带来了一系列革命性变化,三维模型已成为当 前工程应用领域的主流,它不仅拓展了设计过创意的作用空间,而且超越了传统设计技术 的表现局限,还缩短了产品设计与建模欣赏间的空间间隔。然而,三维模型给设计带来巨大 便利的同时也带来模型创建的诸多不便。现行的三维模型创建方法主要有两种一种是利 用诸如Maya和AutoCAD等三维造型商业系统提供的诸如参数化或变量模型等建模工具来 构造三维模型,但这些系统的功能基本上是以大量预定义对象和指令按钮的WIMP方式为 用户提供构思细节定型后的结果表达,其复杂而又专业化的操作流程对大多数非计算机专 业的设计师而言是巨大的挑战;另一种则是利用三维扫描设备或测量设备来直接获取实物 的三维模型,但这种方式不仅代价昂贵又依赖于已存物体,而且其庞大的信息量需要进行 复杂的后期处理,获取的三维模型也往往无法直接为设计所利用。事实上,计算机技术并未 改变设计师对传统纸笔环境或对等数字环境下草图绘制这一模型设计方式的偏爱,绘制草 图依然是人类一种直接而快速的思想表达和交流方式,也是设计师进行形体设计最方便的 平台,因此,理想的三维模型创建方式是手绘草图交互,这样既能支持设计创意的“头脑风 暴式”流畅表达,又能捕捉设计师心中的三维模型信息,还能实现设计创作过程“创意平面 化表达”与“内容三维化呈现”有效连接。基于手绘草图的三维模型生成技术的核心问题是“从图画中获取三维形状 (ShapeFrom Drawings) ”,S卩如何从二维平面草图中恢复物体的三维信息。这个问题面临 的主要困难在于与给定二维图画相匹配的三维模型信息具有不唯一性(一对多映射)。由 于图像和视频等数字媒体中对象或场景的三维信息是通过投影以二维形式呈现的,因此, “从二维平面中获得(三维)深度信息”也是计算机视觉领域的一个基本问题,这一领域解 决这个问题的典型方法是从X生成形状技术(shape from X :X代表视频、阴影、纹理、聚焦 和光流等视觉特征),一些以图像导引的草绘系统采用此原理来支持用户通过在多个标准 正交构造平面上的草图像轮廓来生成三维线架模型。但是,手绘草图是以粗略形状来创建 三维模型,而不强调形体构成的细节信息,且多视角手绘草图方式不符合用户的日常绘制 习惯。已有采用单幅草图创建三维模型的方法主要有如下几类第一类方法是如文 献 lZeleznik,Robert C.,Herndon,Kenneth P.,Hughes,John F.,1996. SKETCH :an interfacefor sketching 3D scenes. In Rushmeier, Holly (Ed.), SIGGRAPH' 96.Addison Wesley, pp. 163-170所述的符号系统,这种方法建立在在线手势识别技术基础上,将三维 几何体用典型视角投影的二维形状特征(相当于形状符号)表示,用户手绘草图与这些形状特征对应即可获得对应的几何体。第二种方法是如文献4 Ymg C,Sharon D,vmde Panne Μ. Sketch-based modeling of parameterized objects. In !Proceedings of eurographics workshopon sketch-based interfaces and modeling(SBIM^ 05),2005. 所述的基于模板方法,它将用户绘制草图的各线条与模板进行匹配计算,根据匹配结果有 模板信息指导各部分组件的三维生成,并从草图笔画获取重建的相关参数。这种方法将用 户的绘制方式限制在系统内部定义的模板下,无法有效支持用户的自由绘制,模板所定义 的绘制方式有时也不符合用户的绘制习惯,且模板的定义和添加十分困难。第三类方法是 如文献 2 LipsonH, Shpitalni M. Optimization-based reconstruction of a 3d object from a single freehand linedrawing. In :ACM SIGGRAPH 2007 courses, 2007.所述的 优化方法,这种方法将手绘草图上的边解释为几何体在相应投影下的边界轮廓,然后利用 诸如平行、垂直等潜在几何约束条件建立各顶点深度数据目标方程,再应用最优化技术对 目标方程进行优化以得到各顶点的深度数据,最终给出几何体的最可接受的解释。这种方 法要求用户绘制包括被遮挡的隐线在内的所有轮廓线。第四类方法是如文献3 Varley, P.A. C. , Martin, R. R. , Suzuki, H. 2004. Can machines interpret line drawings ? In Hughes, John F. , Jorge, JoaquimA. (Eds. ), EUROGRAPHICS Workshop on Sketch-Based Interfaces and Modeling.所述的线标注方法,与第二类方法相比,它无需用户绘制遮挡 轮廓,而将草图中的边分凹边、凸边和遮挡边,再应用计算机视觉中的线标记算法给出草图 各顶点和轮廓边界的一个合理解释,从而恢复各顶点的深度数据,但线标记算法将三维模 型限定在“三面角”结构(即所有面元均为平面,所有角都由三个面相交形成)。概括起来,手绘草图是三维模型创建的有效方式,但已有基于单幅草图的三维模 型创建方法主要采用表达形体轮廓线的手绘草图,且要么对用户绘制的限制过多,如符号 系统和基于模板方法限制在系统定义的图形中;要么需用户在复杂优化过程中提供多种结 果进行选择,如优化方法或线标注方法由系统内部定义的选择标准提供多个结果,这些由 纯轮廓线产生的结果可能与用户期望存在很大差异。显然,这些方式不能支持用户较自由 地进行形体设计。实际应用中,用户在利用单幅手绘草图表达三维物体时,往往会绘制一些 阴影线等辅助线索来表明其三维效果,而现有的基于手绘草图的三维创建方法并没有充分 利用这些线索,因此,如何将这些线索与形体轮廓线有机结合并为用户提供自由的草图绘 制方式是手绘草图交互创建三维模型面临的重要课题。

发明内容
发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种采用草 图创建三维模型的方法,该方法支持用户以绘制的单幅草图的方式直接创建三维模型。技术方案本发明公开了一种采用草图创建三维模型的方法,其特征在于,包括以 下步骤步骤一,草图解析将待处理的草图的笔画分为作为对象轮廓的图元笔画和作为 三维效果的线索笔画,并分别进行图元识别和线索识别;步骤二,深度信息恢复利用图元邻接关系检测实现对象单元的识别,从而构建对 象单元集恢复各对象单元的深度信息;步骤三,隐藏线判别并补全在绘制线索指导下判别并补全各对象构成单元的隐藏线,生成完整的三维对象单元;步骤四,三维模型重建使用几何拓扑关系拼接对象单元重建目标对象模型。本发明步骤一中包括以下步骤采用基于几何属性的草图识别方法,将草图笔画集S分为图元笔画集Sm和线索笔画集S。,其中,几何属性包括笔画闭包矩形面积A和笔画密度P,所述矩形面积A = aXb, 所述笔画密度P = 1/A,a为闭包矩形的长、b为闭包矩形的宽,1为笔画长度,笔画密度大 于设定阈值的笔画识别为线索笔画,构成线索笔画集Sc ;对图元笔画集Sm中的笔画进行笔画分割;对笔画分割后的各部分进行图元笔画类型识别,将各部分笔画分为直线段、椭圆 和圆弧三类,并略去椭圆笔画,将圆弧连接首尾端点做直线段处理,从而将图元笔画集Sm中 的笔画分为一组线段集;构建图元笔画图结构Gn= {V, E},其中V为线段的顶点集,包含顶点的坐标值,E 为线段集,包含各边的长度值和方向值,修正顶点的坐标值使图元笔画集Sm中的线段满足 相邻、T型交、平行、等长或共线关系。所述笔画分割的策略是选择笔画中相对曲率较大的采样点作为分割点,第i个采
样点的相对曲率计算公式为
<formula>formula see original document page 6</formula><formula>formula see original document page 6</formula>其中,Pi表示笔画中第i个采样点,k表示计算相对曲率的窗口大小(一般取值范 围为3-10,本发明中取4),j为求和变量,L^m表示以点Pi_k和点pi+k为端点的直线段, Dis (Pj,Li-k,i+k)
表示点Pj到直线L^i+k的距离,Len(Li^itk)表示直线段L^pk的长度。本发明步骤二中采用条件规则生成方法表示对象的几何构成,并在线索笔画指导 下利用图元笔画集Sm中线段之间的相邻、平行、等长或者共线关系实现对象单元识别,包括 以下步骤对图元笔画图结构Gn中的线段集进行组合,构建对象单元图结构G。= (Μ,Ω), 其中,M表示对象单元集,该集合中每一个对象由图元笔画图结构Gn线段集中的线段组合构 成,Ω表示两两对象单元之间的拓扑关系;所述条件规则生成方法包括以下步骤将目标模型分为一组对象单元几何体,每 一几何体均有一元属性值,包括各边尺寸和三维中心位置,两两几何体之间带有二元属性 值,表示几何体之间的拓扑位置关系;对象单元几何体在草图中分线元、面元和体元三种表 示,其中,线元在二维表现为一条线段,表示三维空间中的一个细长长方体;面元在二维表 现为平行四边形,表示三维空间中的一个矩形薄板;块元在二维表现为共享同一顶点的三 个不同方向的面元,表示三维空间中的一个长方体;对象识别过程包含如下三条形状构成 规则包围线索笔画的最小平行四边形为面元;未被面元引用的图元笔画为线元;共享同 一顶点的三个面元组合为块元。本发明步骤三中在线索笔画的形状构成规则指导下,根据对象单元的几何属性自 动判别和补全对象单元的隐藏线,生成完整的三维对象单元,即使对象单元图结构G。中的 不完整的对象单元通过补齐隐藏线完整化,在补齐隐藏线时,首先闭合不封闭的面元,通过 延长不闭合的顶点和平移已有边生成完整的平行四边形,以补齐面元的隐藏线,然后补齐块元,通过平移已有边生成完整的三个面元,并添加块元自身被遮挡的顶点以构建完整的块元信息。本发明步骤四中根据各对象单元之间的拓扑关系,采用几何拼接方法完成对象三 维模型的重建,包括以下步骤从图元笔画图结构6,中提取对象单元图结构G。中每一线元、 面元与块元所对应几何体的各边尺寸属性值,完成对象单元三维参数计算;设定任意一几 何体的三维中心位置为原点,迭代搜索对象单元图结构Gc中与已知三维中心位置的几何体 有拓扑关系的对象单元几何体,通过拓扑关系属性计算各几何体的三维中心位置,完成对 象单元几何拼接。有益效果本发明具有以下优点1、允许利用手绘草图绘制对象透视投影轮廓的 同时使用某些阴影线等辅助线索表达三维效果,提高了绘制方式的自然性和自由度;2、采 用条件规则生成方法表示对象的几何构成,将对象模型看成是由线、面和块等基本图元构 成,提高了对象表示的通用性,避免了符号系统或模板定义对图形构成的限制;3、本发明中 隐藏线判别和补全方法的引入,既可作为对对象单元识别结果的优化和检验,也简化了后 续三维重建过程。


下面结合附图和具体实施方式
对本发明做更进一步的具体说明,本发明的上述和 /或其他方面的优点将会变得更加清楚。图Ia和图Ib为本发明的一个应用实施例示意图。图2是本发明的处理流程示意图。
具体实施例方式本发明公开了一种采用草图创建三维模型的方法,包括以下步骤步骤一,草图解析将待处理的草图的笔画分为作为对象轮廓的图元笔画和作为 三维效果的线索笔画,并分别进行图元识别和线索识别;步骤二,深度信息恢复利用图元邻接关系检测实现对象单元的识别,从而构建对 象单元集恢复各对象单元的深度信息;步骤三,隐藏线判别并补全在绘制线索指导下判别并补全各对象构成单元的隐 藏线,生成完整的三维对象单元;步骤四,三维模型重建使用几何拓扑关系拼接对象单元重建目标对象模型。更具体地说,本发明让用户采用数字图形输入环境提交的手绘草图,其实施主要 涉及草图解析、深度恢复和三维重建三大关键技术,其处理流程如图2所示。手绘草图解析 是将用户提交的手绘草图笔画分为作为对象轮廓的图元笔画和作为三维效果的线索笔画, 并分别识别处理;深度信息恢复这是利用图元邻接关系并在绘制线索笔画的指导下完成对 象单元的识别并恢复各对象单元的深度信息;隐藏线判别和补全则是在绘制线索笔画的指 导下判别并补全各对象构成单元的隐藏线,生成完整的三维对象单元;三维模型重构是用 几何拓扑关系拼接对象单元以重建目标对象模型。下面分别介绍各实施例部分的主要流 程1、草图解析
草图解析模块首先需要对草图上的笔画进行分类处理,本发明将草图笔画分为图 元笔画和线索笔画两类,然后分别对图元笔画和图元笔画进行处理。1. 1笔画处理/分类 用户绘制草图时,除了绘制必须的模型轮廓线条,还可能绘制一定成分的线索笔 画,这些线索不仅有助于体现三维效果,而且经有效识别之后,能辅助对整张草图进行解 析,以消除建模过程的歧义性。用户提交的草图是一张矢量图S(矢量图,在数学上定义为 一系列由线连接的点,它与位像相对应),表现为基本笔划的序列,可表示为(SiIi = 1,...,η),其中Si为用户绘制的一笔,即每次起笔和抬笔之间所绘的一笔,笔画所含的点采 样连续,表示为(P」j = 1,...,m),其中,Pi表示笔画中第i个采样点。由于用户在同一笔 中不会同时绘制线索和模型轮廓线,因此本发明可对用户所绘的每一笔进行分类,本发明 将用户所绘的笔画分为如下两类1).图元笔画表示实际三维模型上存在的线条;2).线 索笔画辅助表达用户设计意图的笔画,实际的三维空间不存在这些线条,笔画分类过程如 下输入原始草图S输出图元笔画集SM,线索笔画集S。,初始均为空。具体包括以下步骤步骤1 取原始草图S中一个笔画Si ;步骤2 对该笔进行笔画分割;步骤3 若该笔无拐点,判断其为直线,则将笔画Si压入图元笔画集SM,跳至步骤1 判断下一笔;步骤4 计算笔画密度P = 1/A,其中1为笔画长度,A为笔画矩形凸包面积;步骤5 若笔画密度P大于某一阈值P !(所述阈值P ! 一般设为0. 018-0. 022,本 实施例取0. 02),则将笔画Si压入线索笔画集S。,否则将笔画Si压入图元笔画集Sm ;步骤6 跳至步骤1判断下一笔。1. 2图元识别对图元笔画集Sm的处理类似于其他现有的草图处理方法,该模块的处理目标是 对图元笔画集Sm中的每一笔进行滤噪、笔画分割和拟合等处理,最后将图元笔画集Sm转换 为一个规整化的图结构G= (V,E),其中,V= {Vi|i = 1,...,NV}为顶点集,E= IeiIi = 1,...,Ne}为线段集,其中(1)每一顶点Vi = (C,λ )为一个二元组,其中,c = (x, y)表示其二维坐标,χ表 示X轴坐标,y表示Y轴坐标,λ表示顶点类型属性,其值由与其相连边的数目与所呈形状 确定。(2)每一线段力=(vi; V2, a, 1) 一个四元组,其中,V1为起始端点,V2为末端端点, a为该线段的倾角,1为该线段的长度。为了给用户的绘制提供一定程度的自由性,本发明允许将相邻的线段一笔绘制。 为了进行有效的解析,本发明需要寻找该相邻两线段的断点。根据相邻线段的方向关系的 不同,分为线段平行和两线段不平行两种情况处理。对于不平行的情况,本发明通过计算用 户连续绘制一笔每一点的相对曲率,将相对曲率大于某一固定阈值的点(所述阈值一般取 值范围为0. 5-0. 7,本实施例中取0. 6)作为拐点,实现对笔画的分割;对于平行的情况,由于此时前后两线段构成了一条线段,因此无法仅根据该线段寻找断点,本发明根据全局线段的相互位置关系(T型交关系)的检测结果计算其断点。首先,本发明对图元笔画集Sm进行预处理,主要包括冗余点消除、聚点消除和曲线 闭合误差校正,并利用相对曲率计算进行笔画分割,从而将图元笔画集Sm的图元笔画分割为若干部分,从而建立相应的笔画集L = (Ii I i = 1,. . .,NJ,其中Ii为一笔画,可由两个端点Vil和vi2确定。笔画集L中所有笔画的端点构成笔画集L的端点集P= {vn,vi2|i = 1,...,NJ,由此可得到草图的一个初始草结构G。= {P,L}。本发明识别笔画集L中每一笔笔画的类型。图元笔画分类识别过程如下输入初始草结构G。= {P,L};输出初始草结构G。. L每一笔画的基本类型(线段、弧、椭圆的一种)具体包括以下步骤步骤1 计算包含笔画的最小外接矩形,如果该矩形的高宽比小于某一预设阈值 (如0. 1),则判断笔画为线段,转步骤6 ;步骤2 根据笔画首尾相邻情况判断笔画是否为封闭性笔画,若闭合,则判断笔画为椭圆,转步骤6;步骤3 将笔画进行椭圆弧拟合,计算长短轴长度、弧的起始和终止角度;步骤4:如果笔画的椭圆弧拟合结果中起始角度和终止角度差值小于某一阈值 (如0. 35* π ),且长轴较大,则判断笔画为线段,转步骤6 ;步骤5 如果笔画的弧段拟合结果中起始角度和终止角度差值在一定某预设阈值区间内(如区间
),判断笔画为弧段,步骤6 ;步骤6 返回结果,算法退出。由于本发明所建模型为多面体模型,只包含直线段,因此根据识别结果,本发明略 去初始草结构G。. L中的椭圆笔画,并将识别为弧段的笔画取首尾两端点作为线段的两 个端点,由此将初始草结构G。转化为所需的图元笔画图结构Gn= {V,Ε},由于用户绘 制的草图含有许多模糊信息,本发明通过草图规整化处理优化顶点坐标,从而将一张粗糙的草图转化为一张与所建目标模型投影一致的线画图,由此,本发明可计算图元笔画图结构Gn. E中各线段的几何属性值,包括倾角和长度,此外,本发明可计算图元笔画图结构Gn. V 中各个顶点的λ属性值,该属性描述了连接该顶点的边的形状信息,不同的λ属性在三维 空间中有不同的解释,本发明使用了六种结点类型。其中,I型结点仅有一条边与之相连;L 型结点有两条边与之相连,为面的一角;T型结点在三维空间中反映出边包含的关系,或者来自于面遮挡现象;Y型结点连接三个面,可作为一个立方体的标记;E结点连接两个面;X 型结点是多个面的公共顶点。1. 3线索判别用户绘制的线索笔画种类繁多,如阴影、涂鸦、波浪线等等,各类有着不同的语义解释。本发明根据笔画自身的形状特征去判别线索的种类,用以辅助之后的对象单元识别。 本发明根据线索笔画的凸包面积和笔画密度对线索笔画分类,线索笔画类型分类过程如 下输入线索笔画集Sc;输出线索笔画集Sc每一笔画的线索类型;
具体包括以下步骤步骤1 计算每一笔画的矩形凸包及其面积A ;步骤2 计算笔画密度P = 1/A,其中1为笔画长度,A为笔画矩形凸包面积;步骤3 根据笔画矩形凸包面积A和笔画密度P判别线索类型。2、深度恢复在对草图的基本图元和线索进行基本处理之后,本发明需要将二维基本图元的线段映射到三维空间,即发现其深度信息,本发明首先检测二维基本图元线段之间的相邻位 置关系,然后利用线索辅助对对象单元的识别,最后由于用户未添加被遮挡的线段,本发明 根据几何属性识别并补齐隐藏的线段。2. 1图元邻接关系检测图元之间的关系计算是实现从二维空间到三维空间映射的基础,本发明根据图元 线段的顶点的坐标属性,判断线段两两之间的位置关系。本发明包含如下五种位置关系属 性(1)相邻如果两线段存在某一对端点(不属于同一线段)的距离小于某一阈值 (所述阈值一般取值范围为10-15个像素距离,本实施例中取14个像素距离),则两线段为 相邻关系。(2) T型交如果某一直线的端点位于另一条线段上,则两线段为T型交关系,当两 线段I1, I2满足该关系时,不失一般性,设线段I1的端点P1位于线段I2上,则以端点P1为 断点将线段I2分割为两部分。(3)平行如果两线段倾角差小于某一阈值(所述阈值一般取值范围为10-15度, 本实施例中取13度),则两线段为平行关系,平行关系为一个等价关系,假定最终草图共 有Np组平行线,则笔画集L可根据平行关系给出其一个划分,表示为平行关系划分集Lp = {LPi I i = 1, · · · , Np}。(4)共线两线段I1, I2为共线关系当且仅当该两条线段平行且相邻或者存在另 一条线段I3与该两条线段I1和I2均为共线关系,共线关系为一等价关系,可利用传递闭包 计算方法得到全局的线段共线关系。根据共线关系,可将笔画集L划分为共线关系划分集 Ls = {LSi i = 1,· · ·,Ns},其中,Ns为共线关系划分集合总数,因为共线关系是一种特殊的 平行关系,因此平行关系划分集Lp和共线关系划分集Ls之间有如下关系
Z57 c LPj ο(5)等长和以往草图处理方法不同,本发明不检测线段的长度,因为用户绘制的 草图是十分粗糙的,所提取的尺寸信息的偏差很大,因此,本发明利用“平行线所夹的平行 线段长度相等”这一几何法则,确定线段之间是否满足等长关系,本发明中等长关系只可能 存在于平行且不相邻的线段之间,为一个等价关系。两线段是否等长可根据建立各个方向 下的等高点集C= ICiIi = 1,...,NP}进行判断,其中Np为整张草图的平行线组数,相对于 每一组平行线LPi,Ci定义如下 Ι7 = 1,···, }为顶点集P关于关系Ri的商集,其中,关系Ri定义为(PvP2)SRi ^lllBl2, (I1 e Lpi Λ I2 e Lpi) Λ (I1, I2 共线)Λ (Pl,P2 各为 I1, I2 的端点)本发明根据计算得到的等高点集C判断线段之间的等长关系,线段等长关系判断如下输入初始草结构G。= {P,L},平行关系划分集Lp= {LPi|i = 1,...,NP},共 线关系划分集 Ls= {LSi|i = 1,...,NS}输出等长关系划分集Ll= {Lu|i = 1,...,NJ,其中,队为等长关系划分集合总 数步骤1,计算顶点划分Ci,构成等高点集C ;步骤11,取共线关系划分集Ls中某一元素Lsj,若、,取下一元素;步骤12,若划分Lsj只有一条直线1,其端点为Pl,p2,则新建一划分Pn= (Pl,P2) 加入顶点划分Ci,转步骤11 ;步骤13,取划分Lsj所有直线对I1, I2,其端点为Pl,p2, p3, P4,在顶点划分Ci中已 有元素搜索该四个端点,若存在于不同的顶点划分集中,则合并该顶点集,并将不存在的顶 点并入该集合;若均不存在,新建一划分Pn = (Pl, P2, P3, P4)加入顶点划分Ci ;步骤14,取共线关系划分集Ls下一元素,转步骤11继续判断;步骤2 取平行关系划分集Lp中一个划分LPi,若其中只含一条线段,则取下一划 分;步骤3 取划分Lpi —组不共线的直线对I1, 12,其端点分别为pn,P12和P21,P22,若 3j φ i3k3l, ((Al' Pn} C Cj .Pk λ {ρη ,p22}cz Cj ({ρη,ρ22} cz Cj .Pk a{Pu, p2i} ^Cj-Pl),则直
线对I1, I2等长,在等长关系划分集k已有元素中搜索直线对I1, 12,若存在于不同的划分 集,则合并划分集;若仅有一个存在,设直线I1存在,将直线I2加入直线I1所属的划分集; 否则新建一个划分Lu = (I1, I2)加入等长关系划分集k ;步骤4 转步骤2判断下一个划分。
最后,为了使线段与线段之间的位置关系精确化,系统需要对草图进行规整化操 作,即修正顶点的坐标值使图元笔画集Sm中的线段满足相邻、T型交、平行、等长或共线关 系,其过程详细描述如下输入初始草结构G。= {P,L},平行关系划分集LP,共线关系划分集Ls,等长 关系划分集k输出图元笔画图结构Gn = {V, E}步骤1 利用T型交关系分割边步骤2 统一平行关系划分集Lp中每一划分中的边的倾角步骤3 统一等长关系划分集k中每一划分中的边的长度步骤4 重新计算所有顶点的二维坐标步骤41 从图元笔画图结构Gn. E中取出一边1,令1. V1. c = (0,0);步骤42计算 1. V2. c = l. V1. c+α X (1. lXcos(l. a),1. lXsin(l. a)),其中 α 为 起始点标志,由起点计算末点α = 1,否则α = -1 ;步骤43 深度优先顺序搜索图元笔画图结构Gn. E的所有线段,已知相邻线段的端 点坐标和边的倾角与长度,使用步骤42中的公式计算新端点的坐标,并得到所有端点的坐 标;步骤44 计算初始草结构重心点 。= Σ G。. P. Pi. c/IG。. P I和图元笔画图结构 重心点 ν=Σ Gn. V. Vi. C/|Gn.V
步骤45 图元笔画图结构Gn. V中每一点ν的坐标偏移 。_ Ν ;步骤46 ;将图元笔画图结构Gn. V坐标相同的点设为同一点,修改相应的边端点信 息;2. 2对象单元识别在对图元关系进行检测后,本发明对图元线段进行组合以构成基本的构造元素, 所述元素在三维空间中对应着一个独立的实体模型,即计算对象的基本构成单元,本发明 定义了如下三种基本元素1、线元二维表现为一条线段,表示三维空间中的一个细长长方体;2、面元二维表现为平行四边形,表示三维空间中的一个矩形薄板;3、块元二维表现为共享同一顶点的三个不同方向的面元,表示三维空间中的一 个长方体,此时,该长方体有三个面被遮挡。该模块的目标是配合线索笔画集Sc将图元笔画图结构Gn. E中的线段进行组合,每 一个组合部分为上述三种基元之一,从而识别出最终模型的构成要素及各要素之间的位置 关系,即给出一种对象单元图结构Gc = (Μ,Ω ),该图结构定义如下1). M = Imi I i = 1,...,
M| },其中,Hii = {lji = 1, ... , ImiI, Ii e Gn. Ε} ;2) · Ω = Iri | i = 1,· · ·,| Ω |},其中, ri = {relation},本发明定义了 18种关系属性,这些关系基本涵盖了多面体模型基元拼接 的常见情况。在对象单元识别中,面元的识别最为重要,这是因为1)块元由三个面元构成,其 识别依赖于面元的识别;2)草图绘制中,线元的线段不属于任何一个面元,因此未构成面 元的线段均为线元,代表独立的实体。因此,面的提取是这一部分的核心问题。针对这一问 题,以往方法通过检测草图中的闭合区域,以此作为面,但是本发明处理的草图含有独立的 线元,并且不绘制被遮挡的线段,这两种情况均不满足闭合区域条件,因此,通过闭合检测 无法有效解析本发明处理的草图对象。而在实际的绘制图中,用户为了表现模型的三维效果,常在面上使用了线索线对其进行标识,本发明可利用线索笔画集S。识别面元,进而识别 线元和块元。线索笔画集Sc中的每一笔线索笔画sCi均对应一个面元m,并且线索笔画sCi 的每一采样点均在面元m的内部,因此,寻找线索笔画sCi对应的面元等价于寻找包含该笔 画的最小闭合区域,且该闭合区域满足如下两个条件1)闭合区域为一平行四边形;2)区域边界上的边只可能为两种情况之一模型线或者目标模型上的遮挡边,即若该区域边界存在某一边未被绘制,同时该边不被其他面所遮挡,则该区域不是该笔线索 笔画Sci对应的面元。本发明使用独特设计的贪心算法提取构成草图中的某一面元的线段集,即每次从候选边集中依所定规则选择最优边作为下一边界线段,直到面闭合或无候选边为止,面元 识别算法如下输入图元笔画图结构Gn= {V,E},平行关系划分集LP,线索笔画集S。;输出面元序列MFace = {mFi I i = 1,...,NF},其中 mFi = (IjIj = 1,· · ·,|mFi|, Ij e Gn. Ε};具体包括步骤1,取线索笔画集S。中某一笔画Sc= {Pi = (xi; Yi) |i = 1, ... , I sc| },计算线索笔画平均点F = Σ SC. Pi/1 Sc ι ; 步骤2,计算图元笔画图结构Gn. E中各边与线索笔画平均点F的距离,并按距离升 序排序;步骤3,使用贪心算法提取面元mF,所述贪心算法包括步骤31 步骤39 步骤31,按升序取边1= (Vl,V2,a,l),压入面元%,记初始边Is = 1 ;步骤32,建立候选边集,搜索与边1相邻于顶点V2的边,设候选边集为 {V,——,In' },另一端端点集为 Iv1' , ... ,Vn' };步骤33,以初始边首端点1. V1为原点,初始边1为χ轴,线索笔画平均点i所在半 面为y正半平面,计算候选边集中的边倾角,结果记为{a/ , . . . , an' },同样的计算线段 1. V1F的倾角记为S ;步骤34,选择满足如下条件的边(a/ > a) Λ (min fabs(aj' 5)),为1/,若面 元%中含有两个方向的边,而边1/不与该两方向平行,则从候选边集中去除该边,继续选 择,直到选出与该两方向的平行边1/为止,将边1/压入面元%,若候选边集空,转步骤 37 ;步骤35,若所选边和初始边Is相邻于顶点V1,则面闭合,转步骤38 ;步骤36,记1 = 1/,转步骤32继续跟踪边界;步骤37依照平行四边形规则,补边使该区域闭合,判断所补边是否被已提取的面 元遮挡,若无遮挡,则清空面元mF,转步骤31按序取下一边开始跟踪;步骤38,判断线索笔画S。中每一点是否均在区域内,若有一点在区域外,则清空面 元%,转步骤31按序取下一边开始跟踪;步骤39,将面元mF压入面元序列MFace ;步骤4,取线索笔画集S。下一笔转1提取面元。在得到面元序列Mf_之后,搜索图元笔画图结构Gn. E未被引用的线段,这些线段 各自构成线元序列Mlim。由于每一个块元由三个面元构成,因此需要从面元序列MFace提取可构成块元的面 元,并补齐块元所对应长方体中被遮挡的三个面。由于组成块元的三个面元共享同一个顶 点,则该顶点至少连接三条线段,其形呈Y型,因此,该种顶点和块元是一一对应的关系,本 发明首先识别草图潜在的Y型点,该类顶点的λ值为Υ、Χ或T之一;然后由此组合面元成 块元,块元识别算法如下输入图元笔画图结构Gn = {V, Ε},平行关系划分集LP,面元序列Mf_ ;输出块元序列Mbox = {mBi I i = 1,· · ·,Nb},其中 mBi = {mFJ | 1 彡 j 彡 3,mFJ e MFacJ ;步骤1,识别块元Y型点,结果存入块元Y型点序列Yust ;步骤11,计算图元笔画图结构Gn. V中各个顶点在面元序列Mf_被引用的次数;步骤12,取被引用次数大于2且λ属性为Y的顶点,将该类型顶点压入块元Y型 点序列Yust ;步骤13,取被引用次数大于2且λ属性为X或T的顶点ν,依照以识别的Y型点 的形状,给顶点ν加线段连接,判断所加线段是否被引用顶点ν的面元遮挡,如果该线段被 遮挡,且可见边已构成面元,则将顶点V压入块元Y型点序列Yust ;步骤2,组合已识别面元,将面元关联到每一个Y型点上;
步骤21,取块元Y型点序列Yust中一点V,计算与其相邻的呈Y型的三条线段,将 其中的可见线集记为L。b;步骤22,计算引用块元Y型点ν的面元序列Mfv,从中选取引用可见线集L。b中两条 线段的面元mFv压入块元mBv,并从面元序列MFa。e中去除面元mFv ; 步骤23,将块元mBv加入块元序列MB。X。由此,本发明得到了各单元序列MF_,Mline, Mbm,构成对象单元集Gc. M0最后,本发 明计算对象单元图结构边集G。. Ω,即对象单元之间的拓扑关系,根据基元之间顶点与边连 接关系和基元自身属性的不同,本发明定义了 18种拓扑关系属性,包括1)线元与线元之间同向相邻,异向相邻;2)线元与面元之间角点重合(线在面元平面内),角点重合(线位于面元法方 向),边T型交(线在面元平面内),边T型交(线位于面元法方向);3)线元与块元之间角点重合,边T型交;4)面元与面元之间边重合,边包含(同向),边包含(异向),点相邻(同向),点 相邻(异向);5)面元与块元之间边T型交,边重合,点相邻;6)块元与块元之间边重合,点相邻。2. 3隐藏线判别/补全由于实际绘制时,用户不绘制被遮挡的线段或部分线段,为了能够进行有效的三 维重建,本发明需要计算模型被遮挡的部分。在绘制中,被遮挡的部分源于T型点,该类节 点导致如下三种情况1)面元不闭合该种情况可利用平行四边形生成规则,通过平移对边补齐被遮挡 的边;2)块元的某些面不完整或者某些面完全没有绘制该种情况下先补齐不闭合的 面,然后利用Y型点对应的三条线段补齐三个面元,最后通过面的平移补齐余下的三个面;3)线元的连接关系错误这种情况可尝试延长线元的T型端点,直到与某基元的 隐线相交为止。隐线重建算法首先处理面元不闭合的情况,然后补齐块元,最后处理线元的连接 关系错误情况,隐线重建过程如下输入图元笔画图结构Gn,对象单元图结构Gc输出重建隐线的图元笔画图结构Gn'和重建隐线的对象单元图结构(V步骤1,初始化 Gn' = Gn, Gc' = Gc;步骤2,闭合不完整的面元。步骤21,从重建隐线的对象单元图结构中的面元集(V .MF_和块元中的面元集 Gc' .MB。x.mB 中搜索不闭合的面元 m' = {1/ j = 1, . . . , |m' };步骤22,检测面元m'的角点(1/和lj+1 ‘方向不同,其公共顶点为角点);步骤23,根据角点数目的不同应用平行四边形生成规则补齐面元的不完整部分;步骤24,转步骤21判断下一个面元;步骤3,补齐块元步骤31,取重建隐线的对象单元图结构中的块元集(V .Mbm中一块元mB';
步骤32,若块元mB'中所含面元数少于3,则步骤321,取该块的Y型点,并计算相对应的三条线段,记为线段组I1, I2, I3;步骤322,取线段组I1, 12,I3—组线段对I1 ‘,I2',若块元mB'中无面元同时包 含线段对1/,I2',则以线段对1/,I2'为边,该Y型点为顶点,建立平行四边形区域,记 该区域为mM加入块元mB';步骤323,转步骤322取下一线段对判断;步骤33取块元 < 的Y型点Vy,并计算相对应的三条线段,记为线段组I1,12,13, 除Y型点Vy的另一端的端点集为端点组Vl,V2,V3,计算块元mB'中三个面元上Y型点Vy的 对角点为角点组ν/ ,V2' ,V3';步骤34,新建顶点ν= (ν/ ^+V1-C-VrC, ‘ Y')为块元被遮挡的顶点加入重 建隐线的图元笔画图结构G/ .V;步骤 35,新建边 1/ = (ν/ , ν, slopeAngle (ν/ ν), |ν/ ν|)加入重建隐线的 图元笔画图结构G/ .E,其中,slopeAngle (ν/ ν)表示线段ν/ ν的倾角;步骤36,由顶点ν和边1/新建三面元加入块元mB';步骤4,识别T型交节点,延长判断和隐线的相交,改变该T型交节点位置,补齐线 段的隐藏部分。3、三维重建经过深度恢复模块的处理,本发明得到了重建隐线的对象单元图结构(V,该结 构提供了目标模型所构成的基本要素及其两两之间的位置关系,因此,三维重建只需从草 图中提取相应的尺寸等信息构建各个基本元素,最后根据各个元素之间的位置关系拼接各 个元素以构成目标模型。整个三维重建过程如下输入重建隐线的图元笔画图结构Gn',重建隐线的对象单元图结构(V输出目标模型步骤1,对象单元三维信息计算从重建隐线的图元笔画图结构Gn'提取线段的长 度参数以定义重建隐线的对象单元图结构(V各元素的尺寸信息;步骤2,对象单元几何拼接根据重建隐线的对象单元图结构(V . Ω的属性拼接 相邻元素,实现对模型的重建。本发明中,如图Ia所示的输入的手绘草图平面透视图,通过本发明所述的创建三 维模型的方法,处理成如图Ib所述的三维模型空间立体图。本发明提供了一种采用草图创建三维模型的方法的思路及方法,具体实现该技术 方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域 的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改 进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加 以实现。
权利要求
一种采用草图创建三维模型的方法,其特征在于,包括以下步骤步骤一,草图解析将待处理的草图的笔画分为作为对象轮廓的图元笔画和作为三维效果的线索笔画,并分别进行图元识别和线索识别;步骤二,深度信息恢复根据图元识别进行图元邻接关系检测,并根据图元邻接关系检测和线索判别实现对象单元的识别,从而构建对象单元集恢复各对象单元的深度信息;步骤三,隐藏线判别并补全在绘制线索指导下判别并补全各对象构成单元的隐藏线,生成完整的三维对象单元;步骤四,三维模型重建根据几何拓扑关系进行对象单元几何拼接重建目标对象模型。
2.根据权利要求1所述的一种采用草图创建三维模型的方法,其特征在于,步骤一中, 包括以下步骤采用基于几何属性的草图识别方法,将草图笔画集S分为图元笔画集Sm和线索笔画集 Sc,其中,几何属性包括笔画闭包矩形面积A和笔画密度P,所述矩形面积A = aXb,所述 笔画密度P = 1/A,a为闭包矩形的长、b为闭包矩形的宽,1为笔画长度,笔画密度大于设 定阈值的笔画识别为线索笔画,构成线索笔画集Sc;对图元笔画集Sm中的笔画进行笔画分割;对笔画分割后的各部分进行图元笔画类型识别,将各部分笔画分为直线段、椭圆和圆 弧三类,并略去椭圆笔画,将圆弧连接首尾端点做直线段处理,从而将图元笔画集Sm中的笔 画分为一组线段集;构建图元笔画图结构Gn= {V, E},其中V为线段的顶点集,包含顶点的坐标值,E为线 段集,包含各边的长度值和方向值,修正顶点的坐标值使图元笔画集Sm中的线段满足相邻、 T型交、平行、等长或共线关系。
3.根据权利要求2所述的一种采用草图创建三维模型的方法,其特征在于,步骤二中, 采用条件规则生成方法表示对象的几何构成,并根据图元邻接关系检测和线索判别实现对 象单元的识别,包括以下步骤对图元笔画图结构Gn中的线段集进行组合,构建对象单元图 结构ge= (μ, Ω),其中,m表示对象单元集,该集合中每一个对象由图元笔画图结构6,线 段集中的线段组合构成,Ω表示两两对象单元之间的拓扑关系;所述条件规则生成方法包括以下步骤将目标模型分为一组对象单元几何体,每一几 何体均有一元属性值,包括各边尺寸和三维中心位置,两两几何体之间带有二元属性值,表 示几何体之间的拓扑位置关系;对象单元几何体在草图中分线元、面元和体元三种表示, 其中,线元在二维表现为一条线段,表示三维空间中的一个细长长方体;面元在二维表现为 平行四边形,表示三维空间中的一个矩形薄板;块元在二维表现为共享同一顶点的三个不 同方向的面元,表示三维空间中的一个长方体;对象识别过程包含如下三条形状构成规则 包围线索笔画的最小平行四边形为面元;未被面元引用的图元笔画为线元;共享同一顶点 的三个面元组合为块元。
4.根据权利要求3所述的一种采用草图创建三维模型的方法,其特征在于,步骤三中, 根据对象单元的几何属性判别和补全对象单元的隐藏线,生成完整的三维对象单元,即使 对象单元图结构G。中的不完整的对象单元通过补齐隐藏线完整化,在补齐隐藏线时,首先 闭合不封闭的面元,通过延长不闭合的顶点和平移已有边生成完整的平行四边形,以补齐 面元的隐藏线,然后补齐块元,通过平移已有边生成完整的三个面元,并添加块元自身被遮挡的顶点以构建完整的块元信息。
5.根据权利要求4所述的一种采用草图创建三维模型的方法,其特征在于,步骤四中, 根据几何拓扑关系进行对象单元几何拼接重建目标对象模型,包括以下步骤从图元笔画 图结构Gn中提取对象单元图结构G。中每一线元、面元与块元所对应几何体的各边尺寸属性 值,完成对象单元三维参数计算;设定任意一几何体的三维中心位置为原点,迭代搜索对象 单元图结构G。中与已知三维中心位置的几何体有拓扑关系的对象单元几何体,通过拓扑关 系属性计算各几何体的三维中心位置,完成对象单元几何拼接。
6.根据权利要求2所述的一种采用草图创建三维模型的方法,其特征在于,所述笔画 分割的策略是选择笔画中相对曲率较大的采样点作为分割点,第i个采样点的相对曲率计 算公式为<formula>formula see original document page 3</formula>其中,Pi表示笔画中第i个采样点,k表示计算相对曲率的窗口大小,j为求和变量, Li-k, i+k表示以点Pi-k和点Pi+k为端点的直线段,DiS (Pj, Li_k, i+k)表示点Pj到直线Li_k, i+k的 距离,Len (Li_k, i+k)表示直线段Li^pk的长度。
全文摘要
本发明公开了一种采用草图创建三维模型的方法,包括以下步骤将手绘草图笔画分为作为对象轮廓的图元笔画和作为三维效果的线索笔画,并分别识别处理,并对图元笔画进行规整化处理;采用条件规则生成方法表示对象的几何构成,并在绘制线索指导下利用图元邻接关系实现规则驱动推理,完成对象单元识别并恢复各对象单元的深度信息;在绘制线索规则指导下,根据对象单元的几何属性自动判别和补全对象单元的隐藏线,生成完整的三维对象单元;根据各对象单元之间的拓扑关系,采用几何拼接方法完成对象三维模型的重建。本发明利用手绘草图绘制对象透视投影轮廓的同时使用阴影线等辅助线索表达三维效果,提高了绘制自由度。
文档编号G06T17/00GK101799937SQ20101013067
公开日2010年8月11日 申请日期2010年3月23日 优先权日2010年3月23日
发明者孙正兴, 宋沫飞, 张岩 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1