基于挤压物体图像的三维建模方法及系统的制作方法
【专利摘要】本发明公开了一种基于挤压物体图像的三维建模方法及系统,该方法包括:提取待建模物体图像的边缘曲线,根据所述边缘曲线获取所述待建模物体图像的底面轮廓,确定所述待建模物体的棱;确定所述棱的三维方向;根据所述棱的三维方向,获取所述待建模物体的三维空间位置,并通过所述待建模物体的三维空间位置构建所述待建模物体的模型。该方法利用挤压物体的二维图像对图像中的挤压类物体进行三维建模,以拓宽从单张图像建模方法的应用场合,同时增强其实用性。
【专利说明】基于挤压物体图像的三维建模方法及系统
【技术领域】
[0001]本发明涉及计算机图形【技术领域】,具体涉及一种基于挤压物体图像的三维建模方法及系统。
【背景技术】
[0002]三维模型建模是计算机图形学【技术领域】的重要组成部分。随着数码相机和互联网公开图像库的普及,一种常见的建模方法便是利用单张图像对图像中的物体进行重新建模。尽管人类的视觉系统可以很容易感知出二维图片中物体的三维几何形状,但仅凭计算机算法还是很难从单张图片中恢复出准确可用的三维模型。因此将用户的意图与计算机算法有效结合并设计友好的用户界面就显得尤为重要。
[0003]目前一种技术方案要求用户输入三维的辅助信息。需要用户直接在图像上输入深度图信息,以此来帮助恢复场景。这类方法所需的用户交互不仅十分耗时,而且对于初学者用户来说也很具挑战性。鉴于让用户输入三维信息的困难性,另一种方案改为令用户描画图像中物体的二维轮廓图,在此基础上通过计算机算法来重建三维模型。描画完整的二维轮廓图是一项冗长繁重而且容易出错的任务。为了简化用户的输入,一些技术方案允许用户只提供一个粗略的轮廓草图,并利用该轮廓草图从已有的模型数据库中检索类似的模型,尽管这些技术方案使用起来很便利,但它们无法准确恢复出与图片中物体相同的三维模型。
[0004]综上,目前能够准确从图像中创建的物体类型还很有限,针对现有带棱的一些挤压类物体,通过上述方法并不能够准确建模。
【发明内容】
[0005]针对现有技术中的缺陷,本发明提供了一种基于挤压物体图像的三维建模方法及系统,实现了利用挤压物体的二维图像对图像中的挤压类物体进行三维建模。
[0006]第一方面,本发明提供一种基于挤压物体图像的三维建模方法,包括:
[0007]提取待建模物体图像的边缘曲线,根据所述边缘曲线获取所述待建模物体图像的底面轮廓,确定所述待建模物体的棱;
[0008]确定所述棱的三维方向;
[0009]根据所述棱的三维方向,获取所述待建模物体的三维空间位置,并通过所述待建模物体的三维空间位置构建所述待建模物体的模型。
[0010]可选的,所述确定所述棱的三维方向,包括:
[0011]对所述棱所在的三维方向采样,得到所述三维方向的初值;
[0012]获取所述底面轮廓中的直线段及采样点;
[0013]通过所述底面轮廓中的直线段及采样点对所述三维方向的初值进行优化,并确定所述棱的三维方向。
[0014]可选的,利用所述底面轮廓中的直线段及采样点通过方向准则对所述三维方向的初值进行优化;
[0015]所述方向准则包括:平行准则、垂直准则、局部对称准则和图像匹配准则。
[0016]可选的,所述方法还包括:
[0017]若所述待建模物体由单个挤压形体组成,则根据所述棱的三维方向,获取所述待建模物体的三维空间位置;
[0018]若所述待建模物体由多个挤压形体组成,则根据已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,或者,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置;
[0019]检测所述多个挤压形体的棱的三维方向的垂直及平行关系,获取所述多个挤压形体间的相对位置关系,构建所述待建模物体的模型。
[0020]可选的,所述若所述待建模物体由多个挤压形体组成,则根据已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,或者,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置,包括:
[0021]若所述待建模物体由多个挤压形体组成,且由已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,则根据建模后的多个挤压形体通过优化获取多个挤压形体的三维空间位置;
[0022]若所述待建模物体由多个挤压形体组成,且由已建模后的挤压形体经三维平移、旋转、和/或镜面对称得不到待建模物体的其他挤压形体,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置。
[0023]可选的,所述对所述三维方向的初值进行优化,并确定所述棱的三维方向,用于使构建后的所述待建模物体的挤压形体的底面形状与所述待建模物体图像满足平行、垂直、和/或对称的关系,同时使构建后的所述待建模物体的挤压形体的顶面投影的平面图像与所述待建模物体图像一致。
[0024]可选的,所述根据建模后的多个挤压形体通过优化获取多个挤压形体的三维空间位置,用于使经三维平移、旋转、和/或镜面对称变换后的挤压形体的底面形状与所述待建模物体图像满足平行、垂直、和/或对称的关系,同时使构建后的所述待建模物体的挤压形体的顶面投影和底面投影的平面图像均与所述待建模物体图像一致。
[0025]第二方面,本发明还提供了一种基于挤压物体图像的三维建模系统,包括:
[0026]提取模块,用于提取待建模物体图像的边缘曲线,根据所述边缘曲线获取所述待建模物体图像的底面轮廓,确定所述待建模物体的棱;
[0027]确认模块,用于确定所述棱的三维方向;
[0028]模型构建模块,用于通过所述棱的三维方向,获取所述待建模物体的三维空间位置,并构建所述待建模物体的模型。
[0029]可选的,所述确认模块,用于:
[0030]对所述棱所在的三维方向采样,得到所述三维方向的初值;
[0031]获取所述底面轮廓中的直线段及采样点;
[0032]通过所述底面轮廓中的直线段及采样点对所述三维方向的初值进行优化,并确定所述棱的三维方向。
[0033]可选的,所述模型构建模块,用于:
[0034]在所述待建模物体由单个挤压形体组成时,根据所述棱的三维方向,获取所述待建模物体的三维空间位置;
[0035]在所述待建模物体由多个挤压形体组成是,根据已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,或者,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置;
[0036]检测所述多个挤压形体的棱的三维方向的垂直及平行关系,获取所述多个挤压形体间的相对位置关系,构建所述待建模物体的模型。
[0037]由上述技术方案可知,本发明提供的一种挤压物体图像的三维建模方法及系统,该方法利用挤压物体的二维图像对图像中的挤压类物体进行三维建模,以拓宽从单张图像建模方法的应用场合,同时增强其实用性。
【专利附图】
【附图说明】
[0038]图1为本发明一实施例提供的基于挤压物体图像的三维建模方法的流程示意图;
[0039]图2本发明另一实施例提供的基于挤压物体图像的三维建模方法的流程示意图;
[0040]图3为本发明一实施例提供的基于挤压物体图像的三维建模系统的结构示意图。
【具体实施方式】
[0041]下面结合附图,对发明的【具体实施方式】作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0042]本发明具体涉及基于挤压类物体的二维图像进行三维建模的方法和系统,所谓挤压类物体,是指由一“底面”沿着垂直于该底面的方向,挤压一段距离所形成的物体,与挤压方向平行的线段族称为“棱”,由于由单个或者多个挤压形体组成的物体在生活中比较常见,因此对该类物体的三维建模具有十分重要的意义。
[0043]图1示出了本发明实施例提供的一种基于挤压物体图像的三维建模方法,如图1所示,上述三维建模方法包括如下步骤:
[0044]101、提取待建模物体图像的边缘曲线,根据所述边缘曲线获取所述待建模物体图像的底面轮廓,确定所述待建模物体的棱。
[0045]举例来说,上述步骤具体包括,首先提取已进行相机校准的图像,在上述图像中提取图像的边缘信息,将提取出的边缘信息连接成连续的边缘曲线;根据所述边缘曲线获取所述待建模物体图像的底面轮廓,在底面轮廓曲率较大处检测在底面轮廓之外的直线段,将该条线段定义为待建模物体的棱,即底面轮廓尖角处的直线段定义为待建模物体的棱。
[0046]102、确定所述棱的三维方向;
[0047]在具体应用中,利用所述底面轮廓中的直线段及采样点通过方向准则对所述三维方向的初值进行优化。
[0048]举例来说,上述步骤102还包括图1中未出的子步骤:
[0049]1021、对所述棱所在的三维方向采样,得到所述三维方向的初值;
[0050]举例来说,对棱所在的潜在三维方向进行采样,记录采样过程中得到的最佳方向。
[0051]1022、获取所述底面轮廓中的直线段及采样点;
[0052]上述步骤具体是指,在底面轮廓中检测直线段,同时对底面轮廓进行点采样,记录底面轮廓中的直线段及采样点。
[0053]1023、通过所述底面轮廓中的直线段及采样点对所述三维方向的初值进行优化,并确定所述棱的三维方向。
[0054]在具体应用中,利用所述底面轮廓中的直线段及采样点通过方向准则对所述三维方向的初值进行优化;
[0055]其中方向准则包括:平行准则、垂直准则、局部对称准则和图像匹配准则。
[0056]上述优化用于使构建后的所述待建模物体的挤压形体的底面形状与所述待建模物体图像满足平行、垂直、和/或对称的关系,同时使构建后的所述待建模物体的挤压形体的顶面投影的平面图像与所述待建模物体图像一致。
[0057]103、根据所述棱的三维方向,获取所述待建模物体的三维空间位置,并通过所述待建模物体的三维空间位置构建所述待建模物体的模型。
[0058]举例来说,上述待建模物体可以包括单个挤压形体,也可以包括多个挤压形体。根据棱的三维方向,计算该挤压形体的三维空间位置,并构建对应的三角网格模型,同时结合图像获取该三角网格的纹理信息。
[0059]上述方法还包括图1中未示出的步骤104-106:
[0060]104、若所述待建模物体由单个挤压形体组成,则根据所述棱的三维方向,获取所述待建模物体的三维空间位置。
[0061]举例来说,若输入图像中待建模的物体只由单个挤压形体组成,则建模过程完成。
[0062]105、若所述待建模物体由多个挤压形体组成,则根据已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,或者,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置。
[0063]举例来说,若所述待建模物体由多个挤压形体组成,且由已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,则根据建模后的多个挤压形体通过优化获取多个挤压形体的三维空间位置;
[0064]上述优化用于使经三维平移、旋转、和/或镜面对称变换后的挤压形体的底面形状与所述待建模物体图像满足平行、垂直、和/或对称的关系,同时使构建后的所述待建模物体的挤压形体的顶面投影和底面投影的平面图像均与所述待建模物体图像一致。
[0065]若所述待建模物体由多个挤压形体组成,且由已建模后的挤压形体经三维平移、旋转、和/或镜面对称得不到待建模物体的其他挤压形体,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置。
[0066]若所有的挤压形体部分均已得到,则建模完成。
[0067]106、检测所述多个挤压形体的棱的三维方向的垂直及平行关系,获取所述多个挤压形体间的相对位置关系,构建所述待建模物体的模型。
[0068]举例来说,上述构建后的所述待建模物体的模型投影后的平面图像与所述提取待建模物体图像一致。
[0069]上述方法能够快捷的从单张图像获得该图像的三维模型,该方法利用图像中挤压物体的底面投影形状及挤压方向,可以建模出底面形状复杂的挤压物体,本方法适用场景广泛,同时,该方法结合简洁的优化目标设计,能够较快的获取挤压物体图像的三维模型,具有较强的实用性。
[0070]其中,上述步骤中由棱的三维方向确定挤压形体三维空间位置的方法为:以棱的三维方向作为法线方向确定该挤压形体的三维底平面,接着将图像平面上的底面轮廓反向投影到该三维底平面,以确定此挤压形体的三维底面的形状和空间位置,最后将该挤压形体的底面沿着棱的三维方向平移(平移的距离为棱的长度),便得到了该挤压形体的顶面的空间位置,整个挤压形体的基本几何及位置信息也由此确定。构建三角网格模型的方法为:首先对已经得到的挤压形体的底面和顶面做三角剖分,由此就得到了底面和顶面的三角网格;接着用一组三角形条带将底面和顶面连接起来,便得到了整体的三角网格模型。计算三角网格模型纹理信息的方法为:将原始输入图像当作一块纹理,把如前述得到的三角网格模型的每个三维顶点投影至图像平面,对应的颜色值就作为该顶点的纹理颜色,对应的图像坐标则作为该顶点的纹理坐标。
[0071]为了更清楚的说明上述方法,本发明采用如下步骤更进一步的说明。
[0072]图2示出了本发明实施例提供的一种基于挤压物体图像的三维建模方法,如图2所示,上述三维建模方法具体包括如下步骤:
[0073]201:获取已进行相机校准的图像;
[0074]202:提取待建模物体图像的边缘信息,接着将提取出的边缘信息连接成连续的边缘曲线;
[0075]203:根据所述边缘曲线获取所述待建模物体图像的底面轮廓,得到底面轮廓后,在底面轮廓的尖角处检测直线段,并将该直线段作为该挤压形体的棱;
[0076]204:在底面轮廓中检测直线段,同时对底面轮廓进行点采样,记录检测出的直线段和离散采样点;
[0077]205:对棱所在的三维方向进行采样,记录采样过程中得到的最佳方向;
[0078]对棱所在的三维方向采样时,理论上需要在图像平面负方向的整个半球上采样,但由于棱在图像上的二维投影方向给出了限制条件,实际只需在该半球的一个四分之一圆弧上采样。对于每一个采样方向,均根据该方向计算出对应的三维底面和顶面的形状及三维位置。选取最佳方向准则是使得对应的三维底面形状尽可能规则(即尽可能多出现平行、垂直和局部对称关系),同时使得三维顶面形状投影回图像平面后的轮廓与原始图像轮廓尽可能贴近。具体的各项准则的定义如下:
[0079]平行准则:
【权利要求】
1.一种基于挤压物体图像的三维建模方法,其特征在于,包括: 提取待建模物体图像的边缘曲线,根据所述边缘曲线获取所述待建模物体图像的底面轮廓,确定所述待建模物体的棱; 确定所述棱的三维方向; 根据所述棱的三维方向,获取所述待建模物体的三维空间位置,并通过所述待建模物体的三维空间位置构建所述待建模物体的模型。
2.根据权利要求1所述的方法,其特征在于,所述确定所述棱的三维方向,包括: 对所述棱所在的三维方向采样,得到所述三维方向的初值; 获取所述底面轮廓中的直线段及采样点; 通过所述底面轮廓中的直线段及采样点对所述三维方向的初值进行优化,并获取所述棱的三维方向。
3.根据权利要求2所述的方法,其特征在于,利用所述底面轮廓中的直线段及采样点通过方向准则对所述三维方向的初值进行优化; 所述方向准则包括:平行准则、垂直准则、局部对称准则和图像匹配准则。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 若所述待建模物体由单个挤压形体组成,则根据所述棱的三维方向,获取所述待建模物体的三维空间位置; 若所述待建模物体由多个挤压形体组成,则根据已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,或者,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置; 检测所述多个挤压形体的棱的三维方向的垂直及平行关系,获取所述多个挤压形体间的相对位置关系,构建所述待建模物体的模型。
5.根据权利要求4所述的方法,其特征在于,所述若所述待建模物体由多个挤压形体组成,则根据已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置,包括: 若所述待建模物体由多个挤压形体组成,且由已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,则根据建模后的多个挤压形体通过优化获取多个挤压形体的三维空间位置; 若所述待建模物体由多个挤压形体组成,且由已建模后的挤压形体经三维平移、旋转、和/或镜面对称得不到待建模物体的其他挤压形体,或者,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置。
6.根据权利要求3所述的方法,其特征在于,所述对所述三维方向的初值进行优化,并确定所述棱的三维方向,用于使构建后的所述待建模物体的挤压形体的底面形状与所述待建模物体图像满足平行、垂直、和/或对称的关系,同时使构建后的所述待建模物体的挤压形体的顶面投影的平面图像与所述待建模物体图像一致。
7.根据权利要求5所述的方法,其特征在于,所述根据建模后的多个挤压形体通过优化获取多个挤压形体的三维空间位置,用于使经三维平移、旋转、和/或镜面对称变换后的挤压形体的底面形状与所述待建模物体图像满足平行、垂直、和/或对称的关系,同时使构建后的所述待建模物体的挤压形体的顶面投影和底面投影的平面图像均与所述待建模物体图像一致。
8.一种基于挤压物体图像的三维建模系统,其特征在于,包括: 提取模块,用于提取待建模物体图像的边缘曲线,根据所述边缘曲线获取所述待建模物体图像的底面轮廓,确定所述待建模物体的棱; 确认模块,用于确定所述棱的三维方向; 模型构建模块,用于通过所述棱的三维方向,获取所述待建模物体的三维空间位置,并构建所述待建模物体的模型。
9.根据权利要求8所述的系统,其特征在于,所述确认模块,用于: 对所述棱所在的三维方向采样,得到所述三维方向的初值; 获取所述底面轮廓中的直线段及采样点; 通过所述底面轮廓中的直线段及采样点对所述三维方向的初值进行优化,并确定所述棱的三维方向。
10.根据权利要求8所述的系统,其特征在于,所述模型构建模块,用于: 在所述待建模物体由单个挤压形体组成时,根据所述棱的三维方向,获取所述待建模物体的三维空间位置; 在所述待建模物体由多个挤压形体组成是,根据已建模后的挤压形体经三维平移、旋转、和/或镜面对称均可得到待建模物体的其他挤压形体,或者,根据待建模物体图像其他部分的底面轮廓及其对应的棱,并通过所述棱的三维方向,获取所述其他多个挤压形体的三维空间位置; 检测所述多个挤压形体的棱的三维方向的垂直及平行关系,获取所述多个挤压形体间的相对位置关系,构建所述待建模物体的模型。
【文档编号】G06F17/50GK104200525SQ201410462662
【公开日】2014年12月10日 申请日期:2014年9月12日 优先权日:2014年9月12日
【发明者】胡事民, 曹炎培, 居涛, 付钊 申请人:清华大学