首页 / 专利库 / 电脑图像 / 着色器 / 像素着色器 / 基于融合多视角特征的投影全卷积网络三维模型分割方法

基于融合多视特征的投影全卷积网络三维模型分割方法

阅读:714发布:2020-05-08

专利汇可以提供基于融合多视特征的投影全卷积网络三维模型分割方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了基于融合多视 角 特征的投影全卷积网络三维模型分割方法,包括:步骤1,对输入三维 网格模型 数据集采集数据;步骤2,用融合多视角特征的FCN全卷积网络对模型投影 渲染 图进行语义分割,得到模型在各个视点方向下投影渲染图的 像素 被预测为各个标签的概率;步骤3,对模型在各个视点方向下投影渲染图语义分割概率图进行反投并采用最大视角 池化 ,得到模型面片被预测为各个标签的概率;步骤4,采用Graph Cut图割 算法 进行优化,得到模型面片的最终预测标签。,下面是基于融合多视特征的投影全卷积网络三维模型分割方法专利的具体信息内容。

1.基于融合多视特征的投影全卷积网络三维模型分割方法,其特征在于,包括以下步骤:
步骤1,对输入的三维网格模型数据集采集数据;
步骤2,用融合多视角特征的全卷积网络FCN对三维网格模型投影渲染图进行语义分割,得到三维网格模型在各个视点方向下投影渲染图语义分割概率图;
步骤3,对三维网格模型在各个视点方向下投影渲染图语义分割概率图进行反投并采用最大视角池化,得到三维网格模型面片被预测为各个标签的概率;
步骤4,采用Graph Cut图割算法进行优化,得到三维网格模型面片的最终预测标签;
步骤1包括如下步骤:
步骤1-1,假设输入单个三维网格模型s以及所有面片所属部件的标签集l,从42个固定视点中选择14个视点,使得三维网格模型s的面片覆盖率最大;
步骤1-2,在Lambert光照模型下采集步骤1-1获得的14个视点方向下模型s的投影渲染图集P={p1,p2,…pi,…,p14},其中pi指在第i个视点方向下对模型s采集到的投影渲染图;
步骤1-3,采集14个视点方向下三维网格模型s的面片标签着色图G={g1,g2,…gi,…,g14},其中gi指在第i个视点方向下对模型s采集到的面片真实标签着色图,模型的不同部分对应不同的标签,面片的标签相同表示这些面片属于模型的一个部件,将该模型标签集l中的每一种标签映射为一种特定的颜色,从而对模型s进行着色渲染;
步骤1-4,采集三维网格模型s的面片号与其在14个视点下被投影到图像中像素位置之间的映射关系,为三维网格模型s建立一张映射关系索引表。
2.根据权利要求1所述的方法,其特征在于,步骤1-1包括如下步骤:
步骤1-1-1,对三维网格模型s,其面片集合为F,分别计算42个视点能够看到的面片集合,选择能够看到F中的面片数最多的视点v加入到视点集合V中,同时将视点v能够看到的所有面片号加入到能被V中视点看到的面片集合M中,将能从v视点方向看到的面片集合从F中剔除;
步骤1-1-2,计算除了视点集合V之外的每一个视点能够看到的面片集合,选择能够看到F中的面片数最多的视点μ加入到视点集合V中,同时将视点μ能够看到的所有面片号加入到M中,将能从v视点方向看到的面片集合从F中剔除;
步骤1-1-3,重复步骤1-1-2,直至V中的视点数为14时结束。
3.根据权利要求2所述的方法,其特征在于,步骤1-4中,所述索引表t中按照三维网格模型s文件中的面片号顺序记录映射关系,包括每个面片号分别能被多少个视点看到以及对应的视点编号,每个能见视点下该面片被投影到多少个像素上以及这些像素在图片中的横坐标和纵坐标,索引表t中的这些数据将用于后续的反投过程。
4.根据权利要求3所述的方法,其特征在于,步骤2包括如下步骤:
步骤2-1,将输入的三维网格模型数据集S={STrain,STest}等数量随机地划分为训练集STrain={s1,s2,…si,…,sn}和测试集STest={sn+1,sn+2,…,sn+j,…,sn+m},其中si表示训练集中第i个模型,sn+j表示测试集中第j个模型;
步骤2-2,对于训练集STrain,采集其各个视点方向下的投影渲染图PTrain={P1,P2,…Pi,…,pn}以及面片真实标签着色图GTrain={G1,G2,…Gi,…,gn}输入到全卷积网络中进行训练,得到训练好的融合了多视角特征的全卷积网络,其中Pi指的是训练集STrain中的第i个模型si的14个视角下的投影渲染图集,Gi指的是训练集STrain中的第i个模型si的14个视角下的面片真实标签着色图集;
步骤2-3,对于测试集STest,采集其各个视点方向下的投影渲染图并输入到训练好的全卷积神经网络中,得到三维网格模型在各个视点方向下投影渲染图的像素被标注为各个标签的概率,从而得到各个视点方向下的投影渲染图语义分割的概率图。
5.根据权利要求4所述的方法,其特征在于,步骤2-2包括以下步骤:
步骤2-2-1,输入训练集各个视点方向下的投影渲染图PTrain,并用相应的面片真实标签着色图GTrain做监督训练,经过正向传播的卷积和池化操作后,每个视点下的投影渲染图都被提取为128维的特征向量
步骤2-2-2,在反卷积操作前的全连接层,对各个视角下投影渲染图被提取的128维的特征向量进行最大视角池化,选择各个维度下的最大值组合成一个融合了各个视角特征的
128维的特征向量,将该特征向量通过堆叠的方法得到40×40×128维的特征矩阵,并将该特征矩阵拼接到全连接层的前一层的各个视角下的40×40×512维的特征矩阵之后,形成每个视角下的40×40×640维的特征矩阵;
步骤2-2-3,对每个视角下的40×40×640维的特征矩阵进行反卷积操作,最终经过Softmax多分类器对输入的多维特征向量进行多标签预测,得到对各个视点方向下的投影渲染图语义分割的概率图;
步骤2-2-4,将对像素预测概率最大的标签作为对该像素的预测标签,和对应的面片真实标签着色图对比,计算Loss损失函数,进行反向传播,最终得到训练的融合了多视角特征的全卷积网络。
6.根据权利要求5所述的方法,其特征在于,步骤3包括以下步骤:
步骤3-1,根据步骤1得到的映射关系索引表TTest={tn+1,tn+2,…tn+j,…,tn+m},其中tn+j指的是记录了测试集STest中第j个模型sn+j的面片号与面片在14个视角下被投影到投影渲染图中的像素位置之间的关系的索引表,结合步骤2得到的三维网格模型在各个视点方向下投影渲染图语义分割概率图,通过反投逆向推导得到三维网格模型在各个视角下面片被预测为各个标签的概率;
步骤3-2,对步骤3-1得到的三维网格模型在各个视角下面片被预测为各个标签的概率结果进行最大视角池化,即把面片在各个视角下被预测为一标签的所有概率值的最大值作为该预测为标签的概率值,从而使得每一标签对每一面片都有唯一的预测概率值。
7.根据权利要求6所述的方法,其特征在于,步骤4包含以下步骤:
步骤4-1,根据面片之间是否共边来判断是否相邻,计算得到三维网格模型每一个面片周围相邻的面片集合;
步骤4-2,计算每一个面片分别与相邻的面片几何中心之间的欧式距离和面片之间二面角,即面片法线的夹角;
步骤4-3,按照Graph Cut图割算法计算得到三维网格模型所有面片的最终预测标签。
8.根据权利要求7所述的方法,其特征在于,步骤4-3包括:
设三维网格模型s中,F为模型s的三角面片集合,v和f为模型s的三角面片,lf为面片f的标签,pf(lf)为面片f预测为lf的概率值,面片v∈Nf,Nf为与面片f相邻的面片集合,θfv为面片f和面片v之间的二面角,dfv为面片f中心点和面片v中心点之间的距离,则:
其中,
λ是一个非负常量,用于平衡 和

说明书全文

基于融合多视特征的投影全卷积网络三维模型分割方法

技术领域

[0001] 本发明属于计算机图像处理计算机图形学领域,尤其涉及基于融合多视角特征的投影全卷积网络三维模型分割方法。

背景技术

[0002] 近些年,随着越来越多的3D建模软件的出现,以及深度传感器,如Kinect等,被广泛应用于采集深度数据的平台上,三维模型数据在互联网上出现了爆炸式增长,3D模型也出现了大量的表现形式,如点体素、面片等。这种趋势使得3D模型的分析成为了热点的研究领域。目前,图像分析领域的研究已经取得了丰硕的成果,深度学习框架的引入更是进一步提升了效果。然而,2D图像上的卷积操作无法直接应用于3D模型上,使得将深度学习的方法应用于3D模型的分析变得困难重重。因此,大量的3D模型分析方法依赖于手调的描述子提取特征。尽管最近出现了将3D模型数据组织成中间表示形式,如树、图等数据结构,使得卷积操作变得可行,然而这种结构很难完整地保持原有的面片或点之间的邻接关系。此外,这些方法对模型密性、对齐等的要求则进一步制约了方法的普适性。
[0003] 虽然3D模型的语义分割问题很基础,但是它却十分有挑战性,有以下几点原因:
[0004] 1、属于同一部件的各种模棱两可的模型部分必须被正确的标注为同一语义标签;
[0005] 2、准确地探测模型部件的边缘经常需要更细微的几何信息;
[0006] 3、局部和全局特征必须被结合起来分析才能实现更好的分割结果;
[0007] 4、分析方法必须对噪声、降采样以及同类模型的多样性具有鲁棒性。
[0008] 近些年,3D模型的语义分割领域蓬勃发展,出现了无监督的传统方法和有监督的数据驱动的方法两大类别。
[0009] 无监督的方法,如文献1Huang,Qixing,V.Koltun,and L.Guibas.Joint shape segmentation with linear programming.ACM,2011:1-12.;R.Hu,L.Fan,and L.Liu.Co-segmentation of 3d shapes via subspace clustering.Computer Graphics Forum,31(5):1703-1713,2012.、文献2M.Meng,J.Xia,J.Luo,and Y.He.Unsupervised co-segmentation for 3d shapes using iterative multi-label optimization.Computer-Aided Design,45(2):312-320,2013.、文献3O.Sidi,O.van Kaick,Y.Kleiman,H.Zhang,and D.Cohen-Or.Unsupervised co-segmentation of a set of shapes  via descriptor-space spectral clustering.In SIGGRAPH Asia Conference,page 1,2011.、文献4K.Xu,H.Li,H.Zhang,D.Cohen-Or,Y.Xiong,and Z.-Q.Cheng.Style-content separation by anisotropic part scales.Acm Transactions on Graphics,29(6):184,
2010.等借助于已有的模型集的先验知识来进行联合分割或者协同分割。文献5V.Kreavoy,D.Julius,and A.Sheffer.Model composition from interchangeable components.In Conference on Computer Graphics&Applications,pages 129-138,2007.采用匹配已有模型集的方法。而文献6K.Xu,H.Li,H.Zhang,D.Cohen-Or,Y.Xiong,and  Z.-
Q.Cheng.Style-content separation by anisotropic part scales.Acm Transactions on Graphics,29(6):184,2010.则采用聚类的方法。但是这些无监督的方法仅对模型比较相似的模型集有效,不具有很好的泛化能
[0010] 有监督的方法则从带标签的训练数据集中提取特征,然后用训练好的模型对测试数据集进行语义分割。文献7E.Kalogerakis,A.Hertzmann,and K.Singh.Learning 3d mesh segmentation and labeling.Acm Transactions on Graphics,29(4):102,2010.训练了一个Conditional Random Field(CRF)分类器来进行语义分割。文献8Z.Xie,K.Xu,L.Liu,and Y.Xiong.3d shape segmentation and labeling via extreme learning machine.Computer Graphics Forum,33(5):85-95,2014.通过训练Extreme Learning Machine(ELM)来对未知模型进行协同分割。文献9K.Guo,D.Zou,and X.Chen.3d mesh labeling via deep convolutional neural networks.ACM Transactions on Graphics,35(1):3,Dec.2015.通过提取模型的每一个三角面片的几何特征,然后将Convolutional Networks Neural(CNN)应用于这些特征,从而成功地解决了卷积神经网络不能直接应用于三维模型的问题,然而这种方法要求模型结构必须是流型的,并且一些手调的用于提取模型特征的描述子则制约了效果的进一步提升。文献10B.Graham  and L.van  der Maaten.Submanifold sparse convolutional networks.2017.、文献11C.R.Qi,H.Su,K.Mo,and L.J.Guibas.Pointnet:Deep learning on point  sets for 3d 
classification and segmentation.2016.、文献12P.S.Wang,Y.Liu,Y.X.Guo,C.Y.Sun,and X.Tong.O-cnn:Octree-based convolutional neural networks for 3d shape analysis.Acm Transactions on Graphics,36(4):72,2017.、文献13L.Yi,H.Su,X.Guo,and L.Guibas.Syncspeccnn:Synchronized spectral  cnn for  3d shape 
segmentation.2016.等方法通过将三维模型转化为体素、树、图、谱空间等中间结构,再应用深度学习框架预测模型面片或者点云的标签,取得了不错的效果,然而依然没有解决中间形式无法完整地保留模型元素之间的邻接关系,并且体素和点云的表示形式不够实用。
文献14Xu,Haotian,M.Dong,and Z.Zhong."Directionally Convolutional Networks for 
3D Shape Segmentation."International Conference on Computer Vision 2017.提出了双流神经网络框架共同完成3D模型的分割任务,一个CNN以模型面片法线作为输入,用于提取较低层次的特征,另一个CNN以模型面片之间的距离直方图作为输入,用于提取较高层次的特征,此外,还创造性地提出了寻找基于面片之间邻接关系的不同尺度的邻域的方法,解决了直接在3D模型上进行卷积的难题,也使得该框架既能适用于网格模型,也能应用于点云模型,PSB小数据集上的实验也证明取得了不错的效果,然而该方法要求模型是水密的,因此制约了该方法的普适性。
[0011] 由于深度学习在图像分析领域大获成功,并且图像数据集的规模也远高于目前已有的3D模型数据集,如PSB、ShapeNet等,基于多视角投影图像语义分割和反投方法的3D模型语义分割方法便成了解决以上难题的途径之一。文献15Y.Wang,M.Gong,T.Wang,D.Cohen-Or,H.Zhang,and  B.Chen.Projective analysis  for  3d shape segmentation.Acm Transactions on Graphics,32(6):192,2013.首次采用将3D模型投影到2D图片空间中分析,通过传统的协同分割方法完成对投影图像的语义分割标注,然后再反投回3D模型上,提供了一种解决全新3D模型语义分割问题的思路,准确率因受到小数据集的传统协同分割方法的制约而无法达到满意的水平。文献16E.Kalogerakis,M.Averkiou,S.Maji,and S.Chaudhuri.3d shape segmentation with projective convolutional networks.2016.精心设计了视角选择,提升了视角可见面片的覆盖率,并且将在图像语义分割领域效果很好的Fully Convolutional Networks(FCNs)应用于投影渲染图的语义分割标注,然后再用CRF优化进一步提升准确率,实现了3D模型面片级的端到端的预测。但是该方法的视角选择过于耗时、结尾用CRF训练优化则延长了整个框架的训练时间,实用性较低。

发明内容

[0012] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种新的有效的3D模型语义分割标注方法。
[0013] 技术方案:本发明公开了一种基于融合多视角特征的投影全卷积网络的三维模型分割方法,该方法用于对3D模型的各个部件进行语义分割标注,包括以下步骤:
[0014] 步骤1,对输入的三维网格模型数据集采集数据;
[0015] 步骤2,用融合多视角特征的全卷积网络FCN(Fully Connected Network)对三维网格模型投影渲染图进行语义分割,得到三维网格模型在各个视点方向下投影渲染图语义分割概率图;
[0016] 步骤3,对三维网格模型在各个视点方向下投影渲染图语义分割概率图进行反投并采用最大视角池化,得到三维网格模型面片被预测为各个标签的概率;
[0017] 步骤4,采用Graph Cut图割算法进行优化,得到三维网格模型面片的最终预测标签。
[0018] 步骤1包括如下步骤:
[0019] 步骤1-1,假设输入单个三维网格模型s(格式为.off,记录了三维模型所有顶点的坐标以及每个三角面片的三个顶点的索引号,该三维模型s取自包含了16种类型3D模型的ShapeNetCore标准3D模型语义分割数据集)以及所有面片所属部件的标签集l(格式为.seg,记录了模型每个三角面片所属部件种类的标签),从42个固定视点中选择14个视点,使得三维网格模型s的面片覆盖率最大,实验中发现14个视点既使得模型面片覆盖率在90%以上,又能兼顾到硬件GPU额性能;
[0020] 步骤1-2,在Lambert(兰伯特漫反射光照模型)光照模型下采集步骤1-1获得的14个视点方向下模型s的投影渲染图集P={p1,p2,…pi,…,p14},其中pi指在第i个视点方向下对模型s采集到的投影渲染图;
[0021] 步骤1-3,采集14个视点方向下三维网格模型s的面片标签着色图G={g1,g2,…gi,…,g14},其中gi指在第i个视点方向下对模型s采集到的面片真实标签着色图,模型的不同部分对应不同的标签,面片的标签相同表示这些面片属于模型的一个部件,将该模型标签集l中的每一种标签映射为一种特定的颜色,从而对模型s进行着色渲染,G用于监督神经网络的训练以及和最终预测的标签比较计算准确率(在神经网络训练的过程中需要输入P和G,其中G用来监督训练过程,在测试过程中只需输入P而不需要将G输入到神经网络中);
[0022] 步骤1-4,采集三维网格模型s的面片号与其在14个视点下被投影到图像中像素位置之间的映射关系,为三维网格模型s建立一张映射关系索引表t。
[0023] 其中,步骤1-1包括如下步骤:
[0024] 步骤1-1-1,对三维网格模型s,其面片集合为F,分别计算42个视点能够看到的面片集合,选择能够看到F中的面片数最多的视点v加入到视点集合V中,同时将视点v能够看到的所有面片号加入到能被V中视点看到的面片集合M中,将能从v视点方向看到的面片集合从F中剔除;
[0025] 步骤1-1-2,计算除了视点集合V之外的每一个视点能够看到的面片集合,选择能够看到F中的面片数最多的视点μ加入到视点集合V中,同时将视点μ能够看到的所有面片号加入到M中,将能从v视点方向看到的面片集合从F中剔除;
[0026] 步骤1-1-3,重复步骤1-1-2,直至V中的视点数为14时结束。
[0027] 在步骤1-4中,所述索引表t中按照三维网格模型s文件中的面片号顺序记录映射关系,包括每个面片号分别能被多少个视点看到以及对应的视点编号,每个能见视点下该面片被投影到多少个像素上以及这些像素在图片中的横坐标和纵坐标,索引表t中的这些数据将用于后续的反投过程。
[0028] 步骤2包括如下步骤:
[0029] 步骤2-1,将输入的三维网格模型数据集S={STrain,STest}等数量随机地划分为训练集STrain={s1,s2,…si,…,sn}和测试集STest={sn+1,sn+2,…,sn+j,…,sn+m},其中si表示训练集中第i个模型,sn+j表示测试集中第j个模型;
[0030] 步骤2-2,对于训练集STrain,采集其各个视点方向下的投影渲染图PTrain={P1,P2,…Pi,…,pn}以及面片真实标签着色图GTrain={G1,G2,…Gi,…,gn}输入到全卷积网络中进行训练,得到训练好的融合了多视角特征的全卷积网络,其中Pi指的是训练集STrain中的第i个模型si的14个视角下的投影渲染图集,Gi指的是训练集STrain中的第i个模型si的14个视角下的面片真实标签着色图集;
[0031] 步骤2-3,对于测试集STest,采集其各个视点方向下的投影渲染图并输入到训练好的全卷积神经网络中,得到三维网格模型在各个视点方向下投影渲染图的像素被标注为各个标签的概率,从而得到各个视点方向下的投影渲染图语义分割的概率图。
[0032] 其中,步骤2-2包括以下步骤:
[0033] 步骤2-2-1,输入训练集各个视点方向下的投影渲染图PTrain,并用相应的面片真实标签着色图GTrain做监督训练,经过正向传播的卷积和池化操作后,每个视点下的投影渲染图都被提取为128维的特征向量
[0034] 步骤2-2-2,在反卷积操作前的全连接层(Fully Connected Layer),对各个视角下投影渲染图被提取的128维的特征向量进行最大视角池化,选择各个维度下的最大值组合成一个融合了各个视角特征的128维的特征向量,将该特征向量通过堆叠的方法得到40×40×128维的特征矩阵,并将该特征矩阵拼接到全连接层的前一层的各个视角下的40×40×512维的特征矩阵之后,形成每个视角下的40×40×640维的特征矩阵;
[0035] 步骤2-2-3,对每个视角下的40×40×640维的特征矩阵进行反卷积操作,最终经过机器学习领域常见的Softmax多分类器对输入的多维特征向量进行多标签预测,得到对各个视点方向下的投影渲染图语义分割的概率图;
[0036] 步骤2-2-4,将对像素预测概率最大的标签作为对该像素的预测标签,和对应的面片真实标签着色图对比,计算Loss损失函数,进行反向传播,最终得到训练的融合了多视角特征的全卷积网络。
[0037] 步骤3包括以下步骤:
[0038] 步骤3-1,根据步骤1得到的映射关系索引表TTest={tn+1,tn+2,…tn+j,…,tn+m},其中tn+j指的是记录了测试集STest中第j个模型sn+j的面片号与面片在14个视角下被投影到投影渲染图中的像素位置之间的关系的索引表,结合步骤2得到的三维网格模型在各个视点方向下投影渲染图语义分割概率图,通过反投逆向推导得到三维网格模型在各个视角下面片被预测为各个标签的概率,反投的具体过程详见具体实施方式部分;
[0039] 步骤3-2,对步骤3-1得到的三维网格模型在各个视角下面片被预测为各个标签的概率结果进行最大视角池化,即把面片在各个视角下被预测为一标签的所有概率值的最大值作为该预测为标签的概率值,从而使得每一标签对每一面片都有唯一的预测概率值。
[0040] 步骤4包含以下步骤:
[0041] 步骤4-1,根据面片之间是否共边来判断是否相邻,计算得到三维网格模型每一个面片周围相邻的面片集合;
[0042] 步骤4-2,计算每一个面片分别与相邻的面片几何中心之间的欧式距离和面片之间二面角,即面片法线的夹角;
[0043] 步骤4-3,按照Graph Cut图割算法计算得到三维网格模型所有面片的最终预测标签。步骤4-3包括:
[0044] 设三维网格模型s中,F为模型s的三角面片集合,v和f为模型s的三角面片,lf为面片f的标签,pf(lf)为面片f预测为lf的概率值,面片v∈Nf,Nf为与面片f相邻的面片集合,θfv为面片f和面片v之间的二面角,dfυ为面片f中心点和面片v中心点之间的距离,则:
[0045]
[0046] 其中,
[0047]
[0048]
[0049] λ是一个非负常量,用于平衡 和 在本发明中根据经验设λ=50;如果将一个标签lf赋予面片f,并且lf对应的Pf(lf)值很小的话, 将会得到一个较大的惩罚;而 则会惩罚相邻的三角面片标签之间的平滑性,当相邻的两个三角面片夹角很小或者距离很小并且标签不一致时,会得到一个较大的惩罚项,从而完成对模型所有面片{lf,f∈F}的语义分割标注。
[0050] 本发明的方法致力于解决将3D模型分割成带标签的语义部分。基于模型的组成部分来对模型进行分析和推理在计算机视觉机器人虚拟现实等领域被大量应用,如混合模型分析、目标检测与跟踪、3D重建、格迁移、机器人漫游和抓取等,这也使得这项工作变得十分有意义。
[0051] 有益效果:本发明方法受启发于先采用全卷积网络对模型二维投影渲染图进行语义分割,然后通过反投影方法将像素的语义标签映射回三维模型三角面片的方法。在整个过程中,该方法提升了模型多视角投影渲染图、面片真实标签着色图和面片与其在各视点下被投影的像素位置之间映射关系的采集效率,并修改了全卷积神经网络,在全连接层中融合了多视角的特征,从而进一步提升了投影图语义分割标注的效果。整个方法体系高效而实用。本发明方法优化了采集3D模型投影渲染图过程中的视点选择,既兼顾了视点可见面片覆盖率和效率,并且设计了一种紧凑的数据结构用于存储3D模型面片和它在各视点方向下被投影到投影渲染图中像素的位置之间的映射关系。此外,对全卷积网络FCN做了修改,保证整个框架既能提取局部特征,也能提取融合了多视角的全局特征,从而进一步提升了3D模型语义分割标注的效果。附图说明
[0052] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
[0053] 图1a为未分割的原始模型。
[0054] 图1b为语义分割后的标签着色渲染结果。
[0055] 图2为本发明方法的体系框架图。
[0056] 图3为本发明中视点选择过程中42个固定视点的位置设置图。
[0057] 图4a以飞机模型为例展示了本发明中模型数据采集过程中的视点选择图。
[0058] 图4b以飞机模型为例展示了本发明中模型数据采集过程中的投影渲染图。
[0059] 图4c以飞机模型为例展示了本发明中模型数据采集过程中的面片真实标签着色图。
[0060] 图5为本发明中记录模型各个面片号与其在各个视点方向下投影到投影渲染图中的像素位置之间的映射关系的数据结构说明图。
[0061] 图6为本发明方法与其它方法的语义分割效果渲染图对比。
[0062] 图7为本发明流程图

具体实施方式

[0063] 下面结合附图及实施例对本发明做进一步说明。
[0064] 如图7所示,本发明公开了基于融合多视角特征的投影全卷积网络三维模型分割方法,本发明采集对待分割的三维模型迭代选择14个视点,使这些视点方向下可见面片的覆盖率最大化;对该模型采集各个视点方向下的投影渲染图和面片真实标签着色图,并记录模型面片号与其投影后在图片中像素位置之间的映射关系;将模型训练集的多视角投影渲染图和面片真实标签着色图输入到全卷积网络中进行训练,将模型测试集的多视角投影渲染图输入训练好的全卷积网络,得到各视点方向下的投影渲染图的像素标签预测概率图;根据之前记录的面片号与其在各视点下被投影的像素位置之间的映射关系,对全卷积网络输出的像素标签预测概率图采用反投的方法,确定模型面片在各个视点方向下被预测为各个标签的概率,进行最大视角池化,即各个视角下被预测为某一标签的所有概率值中的最大概率作为面片被预测为该标签的概率,得到每一面片被预测为各个标签的概率值;再采用图割优化算法确定模型所有面片的最终预测标签。
[0065] 对于给定的某一类3D模型集S={STrain,STest},等数量随机地划分为训练集STrain={s1,s2,…si,…,sn}和测试集STest={sn+1,sn+2,…,sn+j,…,sn+m},其中Si表示训练集中第i个模型,sn+j表示测试集中第j个模型,本发明经过如下步骤,完成对测试集STest内的模型的语义分割标注,目标任务如图1a所示,流程图如图2所示:
[0066] 具体包括以下步骤:
[0067] 步骤1,对输入的三维网格模型数据集采集数据;
[0068] 步骤2,用融合多视角特征的全卷积网络FCN(Fully Connected Network)对三维网格模型投影渲染图进行语义分割,得到三维网格模型在各个视点方向下投影渲染图语义分割概率图;
[0069] 步骤3,对三维网格模型在各个视点方向下投影渲染图语义分割概率图进行反投并采用最大视角池化,得到三维网格模型面片被预测为各个标签的概率;
[0070] 步骤4,采用Graph Cut图割算法进行优化,得到三维网格模型面片的最终预测标签。
[0071] 步骤1包括如下步骤:
[0072] 步骤1-1,假设输入单个三维网格模型s(格式为.off,记录了三维模型所有顶点的坐标以及每个三角面片的三个顶点的索引号,该三维模型s取自包含了16种类型3D模型的ShapeNetCore标准3D模型语义分割数据集)以及所有面片所属部件的标签集l(格式为.seg,记录了模型每个三角面片所属部件种类的标签),从42个固定视点(位置如图3所示)中选择14个视点,使得三维网格模型s的面片覆盖率最大,实验中发现14个视点既使得模型面片覆盖率在90%以上,又能兼顾到硬件GPU额性能;
[0073] 步骤1-2,在Lambert(兰伯特漫反射光照模型)光照模型下采集步骤1-1获得的14个视点方向下模型s的投影渲染图集P={p1,p2,…pi,…,p14},其中pi指在第i个视点方向下对模型s采集到的投影渲染图;
[0074] 步骤1-3,采集14个视点方向下三维网格模型s的面片标签着色图G={g1,g2,…gi,…,g14},其中gi指在第i个视点方向下对模型s采集到的面片真实标签着色图,模型的不同部分对应不同的标签,面片的标签相同表示这些面片属于模型的一个部件,将该模型标签集l中的每一种标签映射为一种特定的颜色,从而对模型s进行着色渲染,G用于监督神经网络的训练以及和最终预测的标签比较计算准确率(在神经网络训练的过程中需要输入P和G,其中G用来监督训练过程,在测试过程中只需输入P而不需要将G输入到神经网络中);
[0075] 步骤1-4,采集三维网格模型s的面片号与其在14个视点下被投影到图像中像素的位置之间的映射关系,为三维网格模型s建立一张映射关系索引表t(t的数据结构详见图5)。该过程如图4a、图4b和图4c所示。
[0076] 其中,步骤1-1包括如下步骤:
[0077] 步骤1-1-1,对三维网格模型s,其面片集合为F,分别计算42个视点能够看到的面片集合,选择能够看到F中的面片数最多的视点v加入到视点集合V中,同时将视点v能够看到的所有面片号加入到能被V中视点看到的面片集合M中,将能从v视点方向看到的面片集合从F中剔除;
[0078] 步骤1-1-2,计算除了视点集合V之外的每一个视点能够看到的面片集合,选择能够看到F中的面片数最多的视点μ加入到视点集合V中,同时将视点μ能够看到的所有面片号加入到M中,将能从v视点方向看到的面片集合从F中剔除;
[0079] 步骤1-1-3,重复步骤1-1-2,直至V中的视点数为14时结束。
[0080] 在步骤1-4中,所述索引表t中按照三维网格模型s文件中的面片号顺序记录映射关系,包括每个面片号分别能被多少个视点看到以及对应的视点编号,每个能见视点下该面片被投影到多少个像素上以及这些像素在图片中的横坐标和纵坐标,索引表t中的这些数据将用于后续的反投过程。
[0081] 步骤2包括如下步骤:
[0082] 步骤2-1,将输入的三维网格模型数据集S={STrain,STest}等数量随机地划分为训练集STrain={s1,s2,…si,…,sn}和测试集STest={sn+1,sn+2,…,sn+j,…,sn+m},其中si表示训练集中第i个模型,sn+j表示测试集中第j个模型;
[0083] 步骤2-2,对于训练集STrain,采集其各个视点方向下的投影渲染图PTrain={P1,P2,…Pi,…,pn}以及面片真实标签着色图GTrain={G1,G2,…Gi,…,gn}输入到全卷积网络中进行训练,得到训练好的融合了多视角特征的全卷积网络,其中Pi指的是训练集STrain中的第i个模型si的14个视角下的投影渲染图集,Gi指的是训练集STrain中的第i个模型si的14个视角下的面片真实标签着色图集;
[0084] 步骤2-3,对于测试集STest,采集其各个视点方向下的投影渲染图并输入到训练好的全卷积神经网络中,得到三维网格模型在各个视点方向下投影渲染图的像素被标注为各个标签的概率,从而得到各个视点方向下的投影渲染图语义分割的概率图。
[0085] 其中,步骤2-2包括以下步骤:
[0086] 步骤2-2-1,输入训练集各个视点方向下的投影渲染图PTrain,并用相应的面片真实标签着色图GTrain做监督训练,经过正向传播的卷积和池化操作后,每个视点下的投影渲染图都被提取为128维的特征向量;
[0087] 步骤2-2-2,如图2所示,在反卷积操作前的全连接层(Fully Connected Layer),对各个视角下投影渲染图被提取的128维的特征向量进行最大视角池化,选择各个维度下的最大值组合成一个融合了各个视角特征的128维的特征向量,将该特征向量通过堆叠的方法得到40×40×128维的特征矩阵,并将该特征矩阵拼接到全连接层的前一层的各个视角下的40×40×512维的特征矩阵之后,形成每个视角下的40×40×640维的特征矩阵;
[0088] 步骤2-2-3,对每个视角下的40×40×640维的特征矩阵进行反卷积操作,最终经过机器学习领域常见的Softmax多分类器对输入的多维特征向量进行多标签预测,得到对各个视点方向下的投影渲染图语义分割的概率图;
[0089] 步骤2-2-4,将对像素预测概率最大的标签作为对该像素的预测标签,和对应的面片真实标签着色图对比,计算Loss损失函数,进行反向传播,最终得到训练的融合了多视角特征的全卷积网络。
[0090] 步骤3包括以下步骤:
[0091] 步骤3-1,根据步骤1得到的映射关系索引表TTest={tn+1,tn+2,…tn+j,…,tn+m},其中tn+j指的是记录了测试集STest中第j个模型sn+j的面片号与面片在14个视角下被投影到投影渲染图中的像素位置之间的关系的索引表,结合步骤2得到的三维网格模型在各个视点方向下投影渲染图语义分割概率图,通过反投逆向推导得到三维网格模型在各个视角下面片被预测为各个标签的概率,反投的具体过程详见具体实施方式部分;
[0092] 步骤3-2,对步骤3-1得到的三维网格模型在各个视角下面片被预测为各个标签的概率结果进行最大视角池化,即把面片在各个视角下被预测为一标签的所有概率值的最大值作为该预测为标签的概率值,从而使得每一标签对每一面片都有唯一的预测概率值。
[0093] 步骤4包含以下步骤:
[0094] 步骤4-1,根据面片之间是否共边来判断是否相邻,计算得到三维网格模型每一个面片周围相邻的面片集合;
[0095] 步骤4-2,计算每一个面片分别与相邻的面片几何中心之间的欧式距离和面片之间二面角,即面片法线的夹角;
[0096] 步骤4-3,按照Graph Cut图割算法计算得到三维网格模型所有面片的最终预测标签。步骤4-3包括:
[0097] 设三维网格模型s中,F为模型s的三角面片集合,v和f为模型s的三角面片,lf为面片f的标签,pf(lf)为面片f预测为lf的概率值,面片v∈Nf,Nf为与面片f相邻的面片集合,θfv为面片f和面片v之间的二面角,dfv为面片f中心点和面片v中心点之间的距离,则:
[0098]
[0099] 其中,
[0100]
[0101]
[0102] λ是一个非负常量,用于平衡 和 在本发明中根据经验设λ=50;如果将一个标签lf赋予面片f,并且lf对应的pf(lf)值很小的话, 将会得到一个较大的惩罚;而 则会惩罚相邻的三角面片标签之间的平滑性,当相邻的两个三角面片夹角很小或者距离很小并且标签不一致时,会得到一个较大的惩罚项,从而完成对模型所有面片{lf,f∈F}的语义分割标注。
[0103] 实施例
[0104] 本发明的目标任务如图1a和图1b所示,图1a为未分割的原始模型,图1b为语义分割后的标签着色渲染结果,整个方法的结构体系如图2所示。下面根据实施例说明本发明的各个步骤。
[0105] 步骤(1),对输入的三维网格模型数据集S采集数据。以模型s为例具体分为以下几个步骤:
[0106] 步骤(1.1),选择从42个固定视点中选择14个视点,使得模型面片覆盖率最大;
[0107] 步骤(1.1.1),设置42个固定视点,如图3所示,视点距离坐标原点的距离取决于能否将模型所有视点方向下的投影图尽可能地填充渲染窗口,本文实验渲染窗口大小设置为320×320,单位为像素。视点在竖直向上和竖直向下两个方向上各有一个视点,其余的按照竖直扇面方向每隔30度,水平方向上每隔45度各一个视点,共计42个视点。对于模型s,它的面片集合为F,分别计算42个视点能看到的面片集合,选择能够看到F中的面片数最多的视点v加入到视点集合V中,同时将v能够看到的所有面片号加入到能被V中视点看到的面片集合M中,同时将能从视点v方向看到的面片集合从F中剔除;
[0108] 步骤(1.1.2),计算除了视点集合V之外的每一个视点能看到的面片集合,选择能够看到F中的面片数最多的视点μ加入到视点集合V中,同时将μ能够看到的所有面片号加入到M中,同时将能从视点μ方向看到的面片集合从F中剔除;
[0109] 步骤(1.1.3),重复步骤(1.1.2),直至V中的视点数为14结束。
[0110] 步骤(1.2),在Lambert(兰伯特漫反射光照模型)光照模型下采集步骤1-1获得的14个视点方向下模型s的投影渲染图集P={p1,p2,…pi,…,p14},其中pi指在第i个视点方向下对模型s采集到的投影渲染图,图片的宽和高均为320像素,格式为jpg,以某个视角下的渲染结果为例,如图4b所示。
[0111] 步骤(1.3),采集14个视点方向下三维网格模型s的面片标签着色图G={g1,g2,…gi,…,g14},其中gi指在第i个视点方向下对模型s采集到的面片真实标签着色图,图片的宽和高均为320像素,格式为png,以某个视角为例,结果如图4c所示,模型的不同部分对应不同的标签,面片的标签相同表示这些面片属于模型的一个部件,将该模型标签集l中的每一种标签映射为一种特定的颜色(比如红色),从而对模型s进行着色渲染,G用于监督神经网络的训练以及和最终预测的标签比较计算准确率(在神经网络训练的过程中需要输入P和G,其中G用来监督训练过程,在测试过程中只需输入P而不需要将G输入到神经网络中)。
[0112] 步骤(1.4),对模型s采集模型面片号与其在14个视点下被投影到图像中像素的位置之间的映射关系,建立一张映射关系索引表t,如图5所示:Trianglei表示模型的第i个面片,VisualNumi表示该面片能被几个视角所见,VisualNumj表示该面片能被看见的视点编号(取值范围为1-42),PixelNum表示该面片在该视点方向下被投影到多少个像素上,xk表示像素的横坐标,yk表示像素的纵坐标。因此,模型s的所有面片在各个视点方向下被投影到哪些像素上都能被记录,并且是以压缩存储的方式。
[0113] 步骤(2),用融合多视角特征的全卷积网络FCN框架对模型投影渲染图进行语义分割,得到模型在各个视点方向下投影渲染图的像素被预测为各个标签的概率,如图2所示。
[0114] 步骤(2.1),将输入的三维网格模型数据集S={STrain,STest}等数量随机地划分为训练集STrain={s1,s2,…si,…,sn}和测试集STest={sn+1,sn+2,…,sn+j,…,sn+m},其中si表示训练集中第i个模型,sn+j表示测试集中第j个模型;
[0115] 步骤(2.2),对于训练集STrain,采集其各个视点方向下的投影渲染图PTrain={P1,P2,…Pi,…,pn}以及面片真实标签着色图GTrain={G1,G2,…Gi,…,gn}输入到全卷积网络中进行训练,得到训练好的融合了多视角特征的全卷积网络,其中Pi指的是训练集STrain中的第i个模型si的14个视角下的投影渲染图集,Gi指的是训练集STrain中的第i个模型si的14个视角下的面片真实标签着色图集,该步骤具体又可以分为如下步骤:
[0116] 步骤(2.2.1),输入训练集各个视点方向下的投影渲染图PTrain,并用相应的面片真实标签着色图GTrain做监督训练,经过正向传播的卷积和池化操作后,每个视点下的投影渲染图都被提取为128维的特征向量;
[0117] 步骤(2.2.2),如图2所示,在反卷积操作前的全连接层(Fully Connected Layer),对各个视角下投影渲染图被提取的128维的特征向量进行最大视角池化,选择各个维度下的最大值组合成一个融合了各个视角特征的128维的特征向量,将该特征向量通过堆叠的方法得到40×40×128维的特征矩阵,并将该特征矩阵拼接到全连接层的前一层的各个视角下的40×40×512维的特征矩阵之后,形成每个视角下的40×40×640维的特征矩阵;
[0118] 步骤(2.2.3),对每个视角下的40×40×640维的特征矩阵进行反卷积操作,最终经过机器学习领域常见的Softmax多分类器对输入的多维特征向量进行多标签预测,得到对各个视点方向下的投影渲染图语义分割的概率图。
[0119] 步骤(2.2.4),将对像素预测概率最大的标签作为对该像素的预测标签,和对应的面片真实标签着色图对比,计算Loss损失函数,进行反向传播,最终得到训练的融合了多视角特征的全卷积网络。
[0120] 步骤(2.3),对于测试集STest,采集其各个视点方向下的投影渲染图并输入到训练好的全卷积神经网络中,得到三维网格模型在各个视点方向下投影渲染图的像素被标注为各个标签的概率,从而得到各个视点方向下的投影渲染图语义分割的概率图,测试过程主要包含以下步骤:
[0121] 步骤(2.3.1),把测试模型集在各个视点方向下的投影渲染图集PTest输入到已训练好的融合了多视角特征的全卷积网络;
[0122] 步骤(2.3.2),输出测试模型集在各个视点方向下的投影渲染图集PTest语义分割的概率图。
[0123] 步骤(3),对测试模型集中的模型在各个视点方向下投影渲染图语义分割概率图进行反投并采用平均视角池化,得到模型面片被预测为各个标签的概率。
[0124] 步骤(3.1),以测试过程的测试集PTest为例,根据步骤1得到的映射关系索引表TTest={tn+1,tn+2,…tn+j,…,tn+m},其中tn+j指的是记录了测试集STest中第j个模型sn+j的面片号与面片在14个视角下被投影到投影渲染图中的像素位置之间的关系的索引表,结合步骤(2)得到的三维网格模型在各个视点方向下投影渲染图语义分割概率图,通过反投逆向推导得到三维网格模型在各个视角下面片被预测为各个标签的概率,反投的具体过程详见具体实施方式部分;
[0125] 步骤(3.2),对步骤(3.1)得到的在各个视点下模型面片被预测为各个标签的概率结果进行最大视角池化,即把面片在各个视角下被预测为某一标签的所有概率值的最大值作为该预测为标签的概率值,从而使得每一标签对每一面片都有唯一的预测概率值。如果把最大概率对应的标签作为该面片的标签,得到优化前的粗分割结果,渲染结果如图2中的Raw Labled Shape所示,在部件边缘和部件内部均出现误分割或者错分割的情况,因此需要进一步优化提升面片标注的准确率。
[0126] 步骤(4),采用Graph Cut图割算法进行优化,得到模型面片的最终预测标签。
[0127] 步骤(4.1),根据面片之间是否共边来判断是否相邻,计算得到模型每一个面片f周围相邻的面片集合Nf;
[0128] 步骤(4.2),计算每一个面片分别与相邻的面片几何中心之间的欧式距离和面片之间二面角,也即面片法线的夹角;
[0129] 步骤(4.3),采用Graph Cut图割算法计算得到模型所有面片的最终预测标签:
[0130] 设三维网格模型s的三角面片集合为F,v和f为模型s的三角面片,lf为面片f的标签,pf(lf)为面片f预测为lf的概率值,面片v∈Nf,Nf为与面片f相邻的面片集合,θfv为面片f和面片v之间的二面角,dfυ为面片f中心点和面片v中心点之间的距离,则:
[0131]
[0132] 其中,
[0133]
[0134]
[0135] λ是一个非负常量,用于平衡 和 在本实验中根据经验设λ=50;如果将一个标签lf赋予面片f,并且lf对应的pf(lf)值很小的话, 将会得到一个较大的惩罚;而 则会惩罚相邻的三角面片标签之间的平滑性,当相邻的两个三角面片夹角很小或者距离很小并且标签不一致时,会得到一个较大的惩罚项,从而完成对模型所有面片{lf,f∈F}的语义分割标注。
[0136] 结果分析
[0137] 本发明方法的实验环境参数如下:
[0138] 1)对模型进行数据采集以及反投并渲染过程的实验平台参数为Windows10 64位操作系统、Intel(R)Core(TM)i5-3470CPU 3.20GHz、内存10GB,采用C++编程语言,并结合OpenGL和OpenCV第三方开源库来实现,编程开发环境为Visual Studio 2015;
[0139] 2)对融合了多视角特征的FCN全卷积网络的训练和测试过程的实验平台参数为Windows10 64位操作系统、Intel(R)Core(TM)i7-5820K CPU 3.30GHz、内存64GB,显卡为Titan X GPU 12GB采用Python编程语言,并采用了Caffe第三方开源库来实现。
[0140] 本发明方法与传统方法ShapeBoost、文献9中的方法(简称Guo et al.)、文献16中的方法(简称ShapePFCN)的对比实验结果(如表1和表2所示)分析如下:
[0141] 在公认的三维模型语义分割标准数据集ShapeNetCore的16个类类别的模型集上进行了实验,每一类的数据集的类别名称如表1第一列所示,其中各类别名称含义为Airplane(飞机)、Bag(包)、Cap(帽子)、Car(汽车)、Chair(椅子)、Earphone(机)、Guitar(吉他)、Knife(刀)、Lamp(灯)、Laptop(便携式电脑)、Motorbike(摩托车)、Mug(克杯)、Pistol(手枪)、Rocket(火箭)、Skateboard(滑板)、Table(桌子);训练集和测试集的划分如表1第二列所示;语义分割标注效果渲染图对比如图6所示;语义分割标注准确率对比如表1和表2所示。
[0142] 如图6所示,本发明的方法和ShapePFCN各有优劣。如表1和表2的准确率对比(表1展示了本发明方法与其它方法在ShapeNetCore数据集上语义分割标注准确率对比,表2展示了本发明方法与其它方法在ShapeNetCore数据集上语义分割标注准确率统计对比)所示,本发明的方法部分领先于ShapePFCN方法,并且在Category Avg(类别准确率的平均)和Dataset Avg(整个数据集的平均准确率)上均超过了ShapePFCN方法,在大于3个标签类别的模型分类结果上,本发明方法也不逊色。
[0143] 表1
[0144]
[0145] 表2
[0146]   ShapeBoost Guo et al. ShapePFCN 本发明方法Category Avg. 83.10 78.7 88.7 88.8
Category Avg.(>3labels) 74.8 69.6 84.9 86.4
Dataset Avg. 80.4 74.7 88.0 89.0
Dataset Avg.(>3labels) 74.2 68.7 84.5 86.2
[0147] 在自对比实验中,分别去掉全卷积网络FCN框架中的特征融合和Graph Cut优化,与最终的实验结果准确率对比如表三所示,标明特征融合和Graph Cut优化能够显著提升模型最终的语义分割标注准确率。
[0148] 此外,本发明的方法的视角数相比于ShapePFCN的22左右降为14个,采集的图像尺寸也由768×768降至320×320,并且视点选择方法更高效快捷以及可操作性更强。最后的Graph Cut图割优化算法也不需要像ShapePFCN方法中的条件随机场CRF(Conditional Random Field)那样训练。更重要的是本发明的方法不需要采集模型的深度信息,因此更具有普适性和可操作性。正是在全卷积网络FCN框架中引入了多视角特征融合这一技术,使得本发明的方法在这些较低约束条件下能够取得较好的效果。表3展示了本发明方法最终结果与分别去掉全卷积网络FCN中的多视角特征融合和Graph Cut优化后结果的对比。
[0149] 表3
[0150]
[0151]
[0152] 本发明提供了基于融合多视角特征的投影全卷积网络三维模型分割方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈