一种数据驱动的室内场景着色方法转让专利

申请号 : CN201610139954.X

文献号 : CN105809742A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马晗郭延文朱捷夏元轶

申请人 : 南京大学

摘要 :

本发明公开了一种数据驱动的室内场景着色方法,包括建立图像?模型数据库与纹理数据库;对图像?模型数据库中每一类家具的3D模型训练模型分类器;提取图像?模型数据库中家具的颜色主题并建立概率模型;根据建立好的概率模型以及用户输入的颜色主题求解出最优着色方案;使用相应的分类器对输入场景中的每个3D模型进行分割;最后根据得到的着色方案为输入场景中的每个家具赋予相应的材质。

权利要求 :

1.一种数据驱动的室内场景着色方法,其特征在于,包括以下步骤:步骤1,建立数据库:收集不同场景的图像、家具3D模型以及材质样本,对收集到的数据进行处理,建立图像-模型数据库与材质数据库;

步骤2,训练分类器:对图像-模型数据库中的每一类家具的3D模型进行特征提取并训练分类器;

步骤3,建立颜色分布概率模型:对图像-模型数据库中的每一类家具的3D模型建立颜色分布概率模型;

步骤4,求解最优着色方案:根据颜色分布概率模型以及用户输入的场景,通过最优化相应能量方程求解最佳着色方案;

步骤5,分割家具3D模型:使用相应类别的分类器对输入场景中的每个家具3D模型进行分割;

步骤6,添加材质:根据最佳着色方案,为每个家具3D模型赋予相应的材质。

2.如权利要求1所述的一种数据驱动的室内场景着色方法,其特征在于,步骤1包括以下步骤:步骤1-1,收集不同场景的图像,将图像分为3个层次:

第1层次为图像所属的场景类别层次,包括客厅,卧室,餐厅,办公室和会议室;

第2层次为家具类别层次,即图像中的每个家具所属类别;

第3层次为家具组件层次,对于图像中每个家具因为颜色和材质的不同而分为两个以上部分,用不同的标识标记这些部分并记录其材质类别;

保存3个层次的图像数据并构建图像数据库;

步骤1-2,收集家具3D模型,将每个家具3D模型与不同场景的图像中相同类别的家具对应起来,构建层级间的关系,对于不同场景的图像中每类家具的每一种分割,相同类别的每一个家具3D模型进行一次相应的标记,完成图像-模型数据库的构建;

步骤1-3,收集材质样本,每个材质样本对应一种材质类别,与图像标记的第3层次中的材质类别相对应,完成材质数据库的构建。

3.如权利要求2所述的一种数据驱动的室内场景着色方法,其特征在于,步骤2包括以下步骤:步骤2-1,对图像-模型数据库中的每个家具3D模型的每个三角形网格提取局部特征:首先计算曲率、PCA特征、SDF特征、AGD特征、SC特征和spin image特征,再以单个三角形的面积作为权重,通过所有三角形的面积之和进行归一化,将这些特征组成一个特征向量得到最终的局部特征;

步骤2-2,每个家具3D模型由一系列不连通的组件组成,使用高斯曲率、SDF特征和AGD特征对每个组件提取全局特征:首先对每个组件的所有三角形计算高斯曲率、SDF特征和AGD特征,然后计算其加权平均值,中位数,方差,偏斜度,峰度,和直方图一起组成特征向量作为衡量该组件的全局特征,其中加权平均值用三角形面积加权;

步骤2-3,根据得到的局部特征和全局特征,以及步骤1-2标记的模型分割结果,使用JointBoost算法进行训练,得到图像-模型数据库中对应于每一类家具的用于3D模型分割的分类器。

4.如权利要求3所述的一种数据驱动的室内场景着色方法,其特征在于,步骤3包括以下步骤:步骤3-1,对于图像-模型数据库中标记的每个图像中的家具3D模型,通过k-means聚类得到图像中的50个颜色,选取最多的5个颜色,使用由这5个颜色组成的集合作为颜色主题;

步骤3-2,根据图像-模型数据库中的标记的每一类家具的颜色主题,使用高斯混合模型构建该类家具的颜色分布概率模型;对于在至少一张图像中同时出现的每两个类别不同的家具,构建一个高斯混合模型来描述这两类家具的颜色主题之间的关联关系,该高斯混合模型的输入包含了两类家具的各自颜色主题中的一项。

5.如权利要求4所述的一种数据驱动的室内场景着色方法,其特征在于,步骤4包括以下步骤:步骤4-1,为用户输入的场景构建一个马尔科夫随机场MRF模型,将每个家具3D模型看作该MRF模型的一个节点,图像-模型数据库中相同类别家具的图像的颜色主题则为该节点可能的颜色主题,如果数据库中有图像同时包含输入场景中的两个家具,则这两个家具对应的节点之间有一条边,能量方程表示为:E=ED+βES+γEC,

其中ED、ES和EC为三个能量项,分别代表数据项、平滑项和用户约束项,β和γ为用于平衡这三项的权重,数据项ED用于衡量每个家具3D模型的着色方案是否正确,其计算公式为:其中Mi表示第i个家具3D模型,i取值为自然数, 代表用户输入的场景中的第i个家具

3D模型的颜色主题, 为该颜色主题输入高斯混合模型得到的概率值;

平滑项ES用于衡量第i个和第j个家具的着色方案的组合是否正确,计算公式为:其中, 代表第j个家具3D模型的颜色主题, 为将两个颜色主题 和输入描述颜色主题之间关联关系的高斯混合模型得到的概率值;

用户约束项EC用于使整个场景的着色方案与用户输入的颜色主题CU接近,其计算公式为:Z为归一化因子,用于使用户约束项EC与数据项ED有相同的量级,CUK为颜色主题CU的第K项,CMiq为用户输入的场景中的第i个家具3D模型的颜色主题CMi的第q项。

6.如权利要求5所述的一种数据驱动的室内场景着色方法,其特征在于,步骤5包括以下步骤:步骤5-1,对于用户输入场景中的每一个家具3D模型,根据求解着色方案时得到的家具对应的图像标记结果,使用步骤2训练得到的相应的分类器进行分割;

步骤5-2,采用投票策略来最终决定家具3D模型包含的每个组件对应的标签,对于家具

3D模型的每个三角形网格训练一个局部分类器Jl,对于家具3D模型包含的每个组件训练一个全局分类器Jg,则对于组件C其标签为a概率为:其中tn表示组件的第n个三角形,area(tn)表示第n个三角形的面积,S作为归一化因子为组件的面积,λ是决定局部分类器和全局分类器相对重要性的参数,每个组件的最终分割结果为概率最高的标签。

7.如权利要求6所述的一种数据驱动的室内场景着色方法,其特征在于,步骤6包括以下步骤:步骤6-1,对于分割好的家具3D模型中的任意组件部分,根据距离度量D从材质数据库中的相应类型材质中选取前N个最相似的材质,该距离度量公式如下:其中CO和CT分别表示家具3D模型中的组件的颜色主题和材质数据库中材质的颜色主题,COk和CTy分别表示CO中的第k项和CT中的第y项,从得到的N个材质中随机选取一个赋予相应的家具3D模型对应的组件部分。

说明书 :

一种数据驱动的室内场景着色方法

技术领域

[0001] 本发明属于计算机图形学领域,涉及一种数据驱动的室内场景着色方法。

背景技术

[0002] 对于一个由多个家具模型组成的室内场景,目前关于模型的布局摆放等问题的研究已经相对成熟,但关于模型家具以及场景的自动着色还没有很好的进展。而一个场景给人最直观的感觉就来源于颜色,因此模型着色对于构建一个美观和谐的三维场景而言是至关重要的。但是对于一般人而言要选择出组合在一起视觉上和谐的颜色是一个繁琐且耗时的任务,就算是专业的室内装饰设计师或艺术家可以根据其丰富的经验以及直觉来选择配色,为模型一个个上色也是件麻烦的事情。
[0003] 但事实上网络中有着很多设计师设计或摄影师拍摄出来的大量室内场景图像,因此如果能够通过数据驱动的方式,让机器从这些已有的图像中学习,再加上一些用户的指导,就可以为整个场景自动生成赏心悦目且符合用户需求的颜色风格,并自动为模型着色。这样一套方法不仅可以用来模拟生成逼真的室内场景,为装饰设计提供参考,也可以用于游戏场景构建,现实场景模拟等图形方面的应用。

发明内容

[0004] 发明目的:本发明所要解决的问题是针对现有技术的不足,提供一种数据驱动的室内场景着色方法,从而自动地为室内场景及其中的模型家具进行着色。
[0005] 技术方案:本发明公开了一种数据驱动的室内场景着色方法,其核心在于为场景中的每个家具求解最优的着色方案,并根据图像对家具网格进行分割,从而给各部分赋予相应的材质,包括以下步骤:
[0006] 步骤1,建立数据库:收集不同场景的图像、家具3D模型以及材质样本,对收集到的数据进行处理,建立图像-模型数据库与材质数据库;
[0007] 步骤2,训练分类器:对图像-模型数据库中的每一类家具的3D模型进行特征提取并训练分类器;
[0008] 步骤3,建立颜色分布概率模型:对图像-模型数据库中的每一类家具的3D模型建立颜色分布概率模型;
[0009] 步骤4,求解最优着色方案:根据颜色分布概率模型以及用户输入的场景,通过最优化相应能量方程求解最佳着色方案;
[0010] 步骤5,分割家具3D模型:使用相应类别的分类器对输入场景中的每个家具3D模型进行分割;
[0011] 步骤6,添加材质:根据最佳着色方案,为每个家具3D模型赋予相应的材质。
[0012] 其中,步骤1包括以下步骤:
[0013] 步骤1-1,收集不同场景的图像,将图像分为3个层次:
[0014] 第1层次为图像所属的场景类别层次,包括客厅,卧室,餐厅,办公室和会议室;
[0015] 第2层次为家具类别层次,即图像中的每个家具所属类别,如沙发,椅子,桌子,床等等;
[0016] 第3层次为家具组件层次,对于图像中每个家具因为颜色和材质的不同而分为两个以上部分,如一个椅子可能分为木质的椅子框架和布的坐垫,用不同的标识标记这些部分并记录其材质类别。以上过程通过使用自行编写的软件实现,保存3个层次的图像数据并构建图像数据库;
[0017] 步骤1-2,收集家具3D模型,将每个家具3D模型与不同场景的图像中相同类别的家具对应起来,构建层级间的关系,对于不同场景的图像中每类家具的每一种分割,所述分割即不同图片中对同一类家具在家具组件层次上的标记结果也可能不同,相同类别的每一个家具3D模型也进行一次相应的标记,即为模型中与图片标记对应的部分的所有三角形赋予相应的标签,完成图像-模型数据库的构建;
[0018] 步骤1-3,收集材质样本,每个材质样本对应一种材质类别,与图像标记的第3个层次中的材质类别相对应,完成材质数据库的构建。
[0019] 步骤2包括以下步骤:
[0020] 步骤2-1,对图像-模型数据库中的每个家具3D模型的每个三角形网格提取局部特征:首先计算曲率(此处曲率指一个三角形网格的两个主曲率,这两个主曲率的乘积为高斯曲率)、PCA特征(Principal Component Analysis,主成分分析,参考文章Learning3d mesh segmentation and labeling)、SDF特征(shape diameter function,形状直径函数,参考文章Consistent mesh partitioning and skeletonisation using the shape diameter function)、AGD特征(average geodesic distance,平均测地线距离,参考文章Topology matching for fully automatic similarity estimation of 3d shapes)、SC特征(shape contexts,形状脉络,参考文章Shape matching and object recognition using shape contexts)和spin image特征(旋转图像特征,参考文章Using spin images for efficient object recognition in cluttered 3d scenes),再以单个三角形的面积作为权重,通过所有三角形的面积之和进行归一化,即:
[0021]
[0022] f为计算出的一种特征,s为该三角形的面积,sum为所有三角形的面积之和,F为归一化后的特征,将上述这些特征组成一个特征向量得到最终的局部特征;
[0023] 步骤2-2,每个家具3D模型由一系列不连通的组件组成,比如一个椅子的模型通常是由几个组件组成,可以分为椅子背,椅子扶手,椅子座和椅子腿,这些不同的组件相互之间是不连通的,但并不知道每一个组件究竟是什么。使用高斯曲率、SDF特征和AGD特征对每个组件提取全局特征:首先对每个组件的所有三角形计算高斯曲率、SDF特征和AGD特征,然后计算其加权平均值,中位数,方差,偏斜度,峰度,和直方图一起组成特征向量作为衡量该组件的全局特征,其中加权平均值用三角形面积加权。
[0024] 步骤2-3,根据得到的局部特征和全局特征,以及步骤1-2标记的模型分割结果,使用JointBoost算法(参考文章Sharing Visual Features for Multiclass and Multiview Object Detection)进行训练,得到图像-模型数据库中对应于每一类家具的用于3D模型分割的分类器。
[0025] 步骤3包括以下步骤:
[0026] 步骤3-1,对于图像-模型数据库中标记的每个图像中的家具3D模型,通过k-means(k-均值算法,k取值为50)聚类得到图像的50个颜色,选取最多的5个颜色,使用由这5个颜色组成的集合作为颜色主题来衡量该家具在图像中对应区域的颜色;
[0027] 步骤3-2,根据图像-模型数据库中的标记的每一类家具的颜色主题,使用高斯混合模型(GMM,Gaussian Mixture Model)构建该类家具的颜色分布概率模型。因单一的GMM不足以表示颜色分布,所以采用5个GMM,每个GMM表示颜色主题5个颜色其中的一项的分布,颜色主题的概率为5个GMM之积。对于在至少一张图像中同时出现的每两个类别不同的家具,构建一个高斯混合模型GMM来描述这两类家具的颜色主题之间的关联关系。该高斯混合模型GMM的输入包含了两类家具的各自颜色主题中的一项。
[0028] 步骤4包括以下步骤:
[0029] 步骤4-1,为用户输入的场景构建一个马尔科夫随机场MRF(Markov Random Field)模型,将每个家具3D模型看作该MRF模型的一个节点,图像-模型数据库中相同类别家具的图像的颜色主题则为该节点可能的颜色主题,如果数据库中有图像同时包含输入场景中的两个家具,则这两个家具对应的节点之间有一条边,能量方程表示为:
[0030] E=ED+βES+γEC,
[0031] 其中ED、ES和EC为三个能量项(下标D、S和C分别表示英文单词data、smooth和constrain),分别代表数据项、平滑项和用户约束项,β和γ为用于平衡这三项的权重,[0032] 数据项ED用于衡量每个家具3D模型的着色方案是否正确,即是否常见,越不常见的颜色主题对应的概率值越小,其计算公式为:
[0033]
[0034] 其中Mi表示第i个家具3D模型,i取值为自然数, 代表用户输入的场景中的第i个家具3D模型的颜色主题, 为该颜色主题输入高斯混合模型得到的概率值;
[0035] 平滑项ES用于衡量第i个和第j个家具的着色方案的组合是否正确,计算公式为:
[0036]
[0037] 其中, 代表第j个家具3D模型的颜色主题, 为将两个颜色主题 和输入描述颜色主题之间关联关系的高斯混合模型得到的概率值;
[0038] 用户约束项EC用于使整个场景的着色方案与用户输入的颜色主题CU接近,其计算公式为:
[0039]
[0040] Z为归一化因子,用于使用户约束项EC与数据项ED有相同的量级,CUk为颜色主题CU的第k项,CMiq为用户输入的场景中的第i个家具3D模型的颜色主题CMi的第q项。
[0041] 对于上述能量方程,要求出使其最大化的解是一个高维度,非凸组合优化的问题。这里使用了马尔科夫链蒙特卡洛(MCMC)采样法来得到整个场景的全局最优解。
[0042] 步骤5包括以下步骤:
[0043] 步骤5-1,对于用户输入场景中的每一个家具3D模型,根据求解着色方案时得到的家具对应的图像标记结果(求解出的一个模型的着色方案是数据库中对应的某张图片中的一个物体的颜色,按照这个物体的标记选择对应的分类器对模型分割),使用步骤2训练得到的相应的分类器进行分割;
[0044] 步骤5-2,采用投票策略来最终决定家具3D模型包含的每个组件对应的标签,对于家具3D模型(一个模型可以分成多个组件,一个组件又可以分为多个三角形,根本上讲模型由多边形组成,就是一个多边形网格,组件和模型都是由三角形组成的)的每个三角形网格训练一个局部分类器Jl(下标l表示局部分类器local),对于家具3D模型包含的每个组件训练一个全局分类器Jg(全局分类器的输入为组件的全局特征,分类器的输出为每一个标签的概率值),则对于组件C其标签为a概率为:
[0045]
[0046] 其中tn表示组件的第i个三角形,area(tn)表示第n个三角形的面积,S作为归一化因子为组件的面积,λ是决定局部分类器和全局分类器相关重要性的参数。每个组件的最终分割结果为概率最高的标签。
[0047] 步骤6包括以下步骤:
[0048] 步骤6-1,对于分割好的家具3D模型中的任意组件部分,根据距离度量D从材质数据库中的相应类型材质中选取前N个最相似的材质,N一般取值为10。该距离度量公式如下:
[0049]
[0050] 其中CO和CT分别表示家具3D模型中的组件的颜色主题和材质数据库中材质的颜色主题,COk和CTy分别表示CO中的第k项和CT中的第y项,,表示。从得到的N个材质中随机选取一个赋予相应的家具3D模型对应的组件部分。
[0051] 有益效果:
[0052] 1)本发明提出的一种数据驱动的室内场景着色方法具有高度的自动性,整个生成着色方案的过程中无需用户进行手动交互。
[0053] 3)本发明实现了着色的有效性。本发明采用数据驱动的方法,利用大量专业设计师设计出来的室内场景图像进行学习,确保了能够生成和谐的颜色方案。
[0054] 2)本发明实现了模型的准确分割和着色的多样性。对于一个家具模型不仅可以分割成多个不同部分赋予不同的颜色和相应的材质,也可以根据目标颜色方案的不同而产生不同的分割方案,大大丰富了着色结果的多样性。

附图说明

[0055] 图1为本发明方法的基本流程图。
[0056] 图2为颜色主题示意图。
[0057] 图3为一个简单室内场景的MRF模型示意图。
[0058] 图4a为一个输入场景。
[0059] 图4b为根据一个着色方案着色的效果图。
[0060] 图5a~图5c为对不同场景使用不同着色方案着色的效果图。

具体实施方式

[0061] 实施例1
[0062] 本方法的流程图如图1所示,分为六大过程:首先是建立图像-模型数据库与纹理数据库;然后是对图像-模型数据库中每一类家具的3D模型训练模型分类器;然后是提取图像-模型数据库中家具的颜色主题并建立概率模型;然后是根据建立好的概率模型以及用户输入的颜色主题求解出最优着色方案;然后是使用相应的分类器对输入场景中的每个3D模型进行分割;最后是根据得到的着色方案为输入场景中的每个家具赋予相应的材质。
[0063] 具体地说,如图1所示,本发明公开了一种数据驱动的室内场景着色方法,主要包括以下几个步骤:步骤1,建立数据库:收集不同场景的图像、家具3D模型以及材质样本,对收集到的数据进行处理,建立图像-模型数据库与材质数据库;
[0064] 步骤2,训练分类器:对图像-模型数据库中的每一类家具的3D模型进行特征提取并训练分类器;
[0065] 步骤3,建立颜色分布概率模型:对图像-模型数据库中的每一类家具的3D模型建立颜色分布概率模型;
[0066] 步骤4,求解最优着色方案:根据颜色分布概率模型以及用户输入的场景,通过最优化相应能量方程求解最佳着色方案;
[0067] 步骤5,分割家具3D模型:使用相应类别的分类器对输入场景中的每个家具3D模型进行分割;
[0068] 步骤6,添加材质:根据最佳着色方案,为每个家具3D模型赋予相应的材质。
[0069] 其中,步骤1包括以下步骤:
[0070] 步骤1-1,收集不同场景的图像,将图像分为3个层次:
[0071] 第1层次为图像所属的场景类别层次,包括客厅,卧室,餐厅,办公室和会议室;
[0072] 第2层次为家具类别层次,即图像中的每个家具所属类别,如沙发,椅子,桌子,床等等;
[0073] 第3层次为家具组件层次,对于图像中每个家具因为颜色和材质的不同而分为两个以上部分,如一个椅子可能分为木质的椅子框架和布的坐垫,用不同的标识标记这些部分并记录其材质类别。以上过程通过使用自行编写的软件实现,保存3个层次的图像数据并构建图像数据库;
[0074] 步骤1-2,收集家具3D模型,将每个家具3D模型与不同场景的图像中相同类别的家具对应起来,构建层级间的关系,对于不同场景的图像中每类家具的每一种分割,即不同图片中对同一类家具在家具组件层次上的标记结果也可能不同,相同类别的每一个家具3D模型也进行一次相应的标记,即为模型中与图片标记对应的部分的所有三角形赋予相应的标签,完成图像-模型数据库的构建;
[0075] 步骤1-3,收集材质样本,每个材质样本对应一种材质类别,与图像标记的第3个层次中的材质类别相对应,完成材质数据库的构建。
[0076] 步骤2包括以下步骤:
[0077] 步骤2-1,对图像-模型数据库中的每个家具3D模型的每个三角形网格提取局部特征:首先计算曲率、PCA特征(Principal Component Analysis,主成分分析,参考文章Learning 3d mesh segmentation and labeling)、SDF特征(shape diameter function,形状直径函数,参考文章Consistent mesh partitioning and skeletonisation using the shape diameter function)、AGD特征(average geodesic distance,平均测地线距离,参考文章Topology matching for fully automatic similarity estimation of 3d shapes)、SC特征(shape contexts,形状脉络,参考文章Shape matching and object recognition using shape contexts)和spin image特征(旋转图像特征,参考文章Using spin images for efficient object recognition in cluttered 3d scenes),再以单个三角形的面积作为权重,通过所有三角形的面积之和进行归一化,即
[0078]
[0079] f为计算出的一种特征,s为该三角形的面积,sum为所有三角形的面积之和,F为归一化后的特征,将上述这些特征组成一个特征向量得到最终的局部特征;
[0080] 步骤2-2,每个家具3D模型由一系列不连通的组件组成,比如一个椅子的模型通常是由几个组件组成,可以分为椅子背,椅子扶手,椅子座和椅子腿,这些不同的组件相互之间是不连通的,但并不知道每一个组件究竟是什么。使用高斯曲率、SDF特征和AGD特征对每个组件提取全局特征:首先对每个组件的所有三角形计算高斯曲率、SDF特征和AGD特征,然后计算其加权平均值,中位数,方差,偏斜度,峰度,和直方图一起组成特征向量作为衡量该组件的全局特征,其中加权平均值用三角形面积加权;
[0081] 步骤2-3,根据得到的局部特征和全局特征,以及步骤1-2标记的模型分割结果,使用JointBoost算法(参考文章Sharing Visual Features for Multiclass and Multiview Object Detection)进行训练,得到图像-模型数据库中对应于每一类家具的用于3D模型分割的分类器。
[0082] 步骤3包括以下步骤:
[0083] 步骤3-1,对于图像-模型数据库中标记的每个图像中的家具3D模型,通过k-means(k-均值算法,k取值为50)聚类得到图像的50个颜色,选取最多的5个颜色,使用由这5个颜色组成的集合作为颜色主题来衡量该家具在图像中对应区域的颜色;如图2所示,由左至右RGB三个通道的值依次为195,190,172;90,61,42;30,29,31;96,52,22;166,136,106(由于本发明的特性,该附图只能以图片形式提供)。
[0084] 步骤3-2,根据图像-模型数据库中的标记的每一类家具的颜色主题,使用高斯混合模型(GMM,Gaussian Mixture Model)构建该类家具的颜色分布概率模型。因单一的GMM不足以表示颜色分布,所以采用5个GMM,每个GMM表示颜色主题5个颜色其中的一项的分布,颜色主题的概率为5个GMM之积。对于在至少一张图像中同时出现的每两个类别不同的家具,构建一个高斯混合模型GMM来描述这两类家具的颜色主题之间的关联关系。该高斯混合模型GMM的输入包含了两类家具的各自颜色主题中的一项。
[0085] 步骤4包括以下步骤:
[0086] 步骤4-1,为用户输入的场景构建一个马尔科夫随机场MRF(Markov Random Field)模型,将每个家具3D模型看作该MRF模型的一个节点,图像-模型数据库中相同类别家具的图像的颜色主题则为该节点可能的颜色主题,如果数据库中有图像同时包含输入场景中的两个家具,则这两个家具对应的节点之间有一条边,如图3所示,假设用户输入的场景中有墙,地板,桌子,椅子和地毯这5种物体,则图模型中的每一个节点代表这些物体,并且在数据库中有图片同时出现了这些物体中任何两种物体的组合,因此这5个节点互相连接。能量方程表示为:
[0087] E=ED+βES+γEC,
[0088] 其中ED、ES和EC为三个能量项(下标D、S和C分别表示英文单词data、smooth和constrain),分别代表数据项、平滑项和用户约束项,β和γ为用于平衡这三项的权重,数据项ED用于衡量每个家具3D模型的着色方案是否正确,即是否常见,越不常见的颜色主题对应的概率值越小,其计算公式为:
[0089]
[0090] 其中Mi表示第i个家具3D模型,i取值为自然数, 代表用户输入的场景中的第i个家具3D模型的颜色主题, 为该颜色主题输入高斯混合模型得到的概率值;即平滑项ES用于衡量第i个和第j个家具的着色方案的组合是否正确,计算公式为:
[0091]
[0092] 其中, 代表第j个家具3D模型的颜色主题, 为将两个颜色主题 和输入描述颜色主题之间关联关系的高斯混合模型得到的概率值,
[0093] 用户约束项EC用于使整个场景的着色方案与用户输入的颜色主题CU接近,其计算公式为:
[0094]
[0095] Z为归一化因子,用于使用户约束项EC与数据项ED有相同的量级,CUk为颜色主题CU的第k项,CMiq为用户输入的场景中的第i个家具3D模型的颜色主题CMi的第q项。
[0096] 对于上述能量方程,要求出使其最大化的解是一个高维度,非凸组合优化的问题。这里使用了马尔科夫链蒙特卡洛(MCMC)采样法来得到整个场景的全局最优解。
[0097] 步骤5包括以下步骤:
[0098] 步骤5-1,对于用户输入场景中的每一个家具3D模型,根据求解着色方案时得到的家具对应的图像标记结果,使用步骤2训练得到的相应的分类器进行分割;
[0099] 步骤5-2,采用投票策略来最终决定家具3D模型包含的每个组件对应的标签,对于家具3D模型的每个三角形网格训练一个局部分类器Jl,对于家具3D模型包含的每个组件训练一个全局分类器Jg,则对于组件C其标签为a概率为:
[0100]
[0101] 其中tn表示组件的第i个三角形,area(tn)表示第n个三角形的面积,S作为归一化因子为组件的面积,λ是决定局部分类器和全局分类器相关重要性的参数。每个组件的最终分割结果为概率最高的标签。
[0102] 步骤6包括以下步骤:
[0103] 步骤6-1,对于分割好的家具3D模型中的任意组件部分,根据距离度量D从材质数据库中的相应类型材质中选取前N个最相似的材质,N一般取值为10。该距离度量公式如下:
[0104]
[0105] 其中CO和CT分别表示家具3D模型中的组件的颜色主题和材质数据库中材质的颜色主题,COk和CTy分别表示CO中的第k项和CT中的第y项,从得到的N个材质中随机选取一个赋予相应的家具3D模型对应的组件部分。
[0106] 实施例2
[0107] 本实施例的实施硬件环境是:Intel酷睿i5-4590 3.3GHz,8G内存,软件环境是MicrosoftVisual Studio2010、MicrosoftWindows7Professional和3ds max2012。输入模型来源于网络。
[0108] 本发明公开了一种数据驱动的室内场景着色方法,其核心在于为场景中的每个家具求解最优的着色方案,并根据图像对家具网格进行分割,从而给各部分赋予相应的材质,包括以下步骤:
[0109] 步骤1,数据库建立:从网络上收集图像、模型以及材质样本,对收集到的数据进行处理建立起图像-模型数据库与纹理数据库;
[0110] 步骤2,训练模型分类器:对图像-模型数据库中的每一类家具的3D模型进行特征提取并训练分类器;
[0111] 步骤3,建立图像家具概率模型:根据从图像中提取出的颜色主题,对图像-模型数据库中的每一类家具建立颜色主题的分布概率模型;
[0112] 步骤4,最优着色方案求解:根据由图像-模型数据库建立起的概率模型以及用户输入通过最优化相应能量方程求解最佳着色方案;
[0113] 步骤5,3D模型分割:使用相应类别的分类器对输入场景中的每个3D模型进行分割;
[0114] 步骤6,家具材质添加:根据求解得到的着色方案,为每个家具赋予相应的材质。
[0115] 输入的三维模型室内场景如图4a所示,模型分割过程中λ取值为0.4,β和γ的取值在1~10之间。用户输入的颜色主题以及着色以及渲染之后的结果如图4b所示,可以看出整个场景的颜色与用户输入的颜色主题十分接近,整个场景的颜色也显得自然和谐。图5a、图5b和图5c为其他场景的着色结果。
[0116] 本发明提供了一种数据驱动的室内场景着色方法,通过数据驱动的方式,构建了图像-模型数据库,以家具为单位对模型进行分割,构建MRF模型求出最优解。具有自动化,模型分割准确,模型分割和着色多样化的特点,并能保证生成视觉上和谐的配色方案。