基于深度神经网络和稀疏自编码器的三维关键点检测方法与流程

文档序号:12064842阅读:168来源:国知局
基于深度神经网络和稀疏自编码器的三维关键点检测方法与流程

本发明属于三维计算机视觉技术领域,具体涉及一种基于深度神经网络和稀疏自编码器的三维关键点检测方法。



背景技术:

三维关键点检测是三维计算机视觉中的重要内容,广泛应用于如目标注册与匹配,三维形状检索,网格分割和简化等各种应用之中。研究者们在过去的几十年中提出了多种检测三维关键点的方法,其中绝大部分是基于几何的方法。Godila和Wagan对二维的Scale Invariant Feature Transform(SIFT)算法进行扩展,提出三维SIFT关键点检测算法。Holte利用Difference-of-Normals(DoN)算子进行三维关键点检测。Castellani根据三维网格模型的视觉显著性原则,提出了一种能检测出鲁棒的三维关键点检测算法。此外,还有部分算法利用拉普拉斯光谱的方法在拉普拉斯光谱域而非实域进行三维关键点检测。

基于几何的三维关键点检测方法缺乏足够的灵活性,因此难以满足广大应用的需求。该类方法常常定义三维网格模型表面上在各个方向剧烈变化的点为三维关键点,但是在一些场景下,这些点可能是噪声或者是三维网格模型中一些不重要的琐碎细节。此外,当需要考虑到三维网格模型语义信息的时候,基于几何的方法几乎不能处理这类问题。基于以上原因,越来越多的研究者开始致力于寻找一种新的框架进行三维关键点检测。

近些年,一些研究者提出使用机器学习的方法来进行三维关键点检测,该类方法在一定程度上能解决基于几何的三维关键点检测方法的不足。Teran和Mordohai利用随机森林作为分类器来进行三维关键点检测(Teran,L.,Mordohai,P.:3d interest point detection via discriminative learning.In:Proceedings of the 13th European Conference on Computer Vision Conference on Computer Vision,Zurich,Switzerland(Sept 2014))。在该方法中,几种基于几何的三维关键点检测方法被用来产生训练样本和测试样本的特征属性。Creusot利用线性判别分析(LDA)和AdaBoost两种方式从三维人脸模型中检测三维关键点。Salti和Tombari把三维关键点检测问题归结为一个二维分类问题,其分类的标准在于一个点是否能正确地与一个预定义的三维描述子成功匹配(Salti,S.,Tombari,F.,Spezialetti,R.,Stefano,L.D.:Learning a descriptor-specific 3d keypoint detector.In:Computer Vision(ICCV),2015IEEE International Conference on,Dec 2015,2318-2326)。

然而,上述这些算法大都仅仅使用局部信息来产生特征属性,缺乏类似于拉普拉斯光谱这样的全局信息。



技术实现要素:

针对上述存在问题或不足,为能够更有效地、鲁棒地和稳定地检测出三维网格模型中的关键点,本发明提供了一种基于深度神经网络和稀疏自编码器的三维关键点检测方法。

具体技术方案如下:

步骤1、从三维网格模型数据库中选取训练集和测试集,并从训练集中选取正负样本点:

选取的训练集和测试集互不重叠,且三维网格模型具有由人工标记生成的三维关键点。对于训练集中的每一个三维网格模型,选取全部由人工标记生成的三维关键点为正样本点,其余的为负样本点。

步骤2、为正负样本点形成特征属性,构建特征属性集:

利用三维网格模型在多尺度空间中的局部信息和全局信息来形成样本点的特征属性。

所述局部信息包含三部分:1)被测点的周围邻域点到被测点切平面的欧式距离fd,2)被测点与其周围领域点的法向量之间的夹角fθ,3)四种曲面曲率fc:最大主曲率、最小主曲率、高斯曲率和均值曲率。所述全局信息为拉普拉斯光谱信息fls

对于三维网格模型M(x,y,z)中的任意一点v,令f为其特征属性,则:

f=[f0,f1,f2,...,fΩ]T (1)

fi=[fd,fθ,fc,fls],i=0,1,2,...,Ω (2)

其中fi,i=0,1,2,...,Ω表示三维网格模型M(x,y,z)在尺度i所对应的特征属性信息,fi包含三类局部信息fd、fθ、fc和全局信息fls。三维网格模型M(x,y,z)在尺寸空间中的演化表示为:

Mδ(x,y,z)=M(x,y,z)*G(x,y,z,δ) (3)

其中δ∈{0,ε,2ε,...,Ωε}为三维高斯滤波器的标准差,ε为完全包围三维网格模型的最小立方体的主对角线长度的0.3%,δ=0表示该演化模型为初始三维网格模型M(x,y,z),*是卷积运算符。

三维网格模型由一系列点和其连接关系所构成。如图3所示,对三维网格模型中的任意 一点v,令Vk(v),k=1,2,3,4,5为其周围的k-环邻域点,n为其法向量。令vkj为Vk(v)中的第j个点,nkj为其法向量。则点vkj到点v所对应的切平面的欧式距离dkj为:

点vkj与点v法向量之间的夹角为:

其中,(xv,yv,zv)为点v的坐标,(xkj,ykj,zkj)为点vkj的坐标。令其中Nk为Vk(v)中点的个数。则fd和fθ为:

fd=[max(dk),min(dk),max(dk)-min(dk),mean(dk),var(dk),harmmean(dk)] (7)

fθ=[max(θk),min(θk),max(θk)-min(θk),mean(θk),var(θk),harmmean(θk)] (8)

其中,mean(·)、var(·)和harmmean(·)分别表示算术平均、方差和调和平均。fc由四种曲率构成:

其中c1为最小主曲率、c2为最大主曲率,(c1+c2)/2为均值曲率,c1c2为高斯曲率。

三维网格模型的拉普拉斯矩阵是一个对称矩阵并且可以分解为:

L=BΛBT (10)

其中Λ=Diag{λf,1≤f≤Ψ}是一个对角矩阵且里面的元素是按照升序排列,λf是三维网格模型的拉普拉斯矩阵的特征值。正交矩阵B的列向量为相应的特征矢量,Ψ为三维网格模型中点的总数。拉普拉斯光谱定义为:

H(f)={λf,1≤f≤Ψ} (11)

采用对数-拉普拉斯光谱获取全局信息。对数-拉普拉斯光谱L(f)定义为:

L(f)=log(H(f)) (12)

光谱的不规则性R(f)被用来获取网格显著性:

R(f)=|L(f)-JΓ(f)*L(f)| (13)

其中,是一个1×Γ的矢量。通过如下公式:

把光谱的不规则性从光谱域转换到实域。其中R1=Diag{exp(R(f)):1≤f≤Ψ}为对角矩阵,为Hadamard积,W为权值矩阵,其中

令s为S的元素,则:

fls=[max(sk),min(sk),max(sk)-min(sk),mean(sk),var(sk),harmmean(sk)] (17)

步骤3、利用步骤2构建好的特征属性集和对应的标签集训练稀疏自编码器和深度神经网络:

稀疏自编码器是自编码器的一个变体,通过在自编码器的隐层部分添加稀疏性限制而得到。图2(a)展示了一个自编码器的基本结构。

首先训练三个稀疏自编码器,然后把这三个稀疏自编码器的编码部分提取出来级联在一起,形成一个深度稀疏自编码器,然后训练一层逻辑回归层来处理深度稀疏自编码器编码后输出的特征。

深度神经网络回归模型由深度稀疏自编码器和上述逻辑回归层级联构成,图2(b)展示了本发明方法中的深度神经网络回归模型的基本结构。

最后应用反向传播算法作用于深度神经网络回归模型实现精调的效果。

步骤4、利用步骤3得到的深度神经网络回归模型对三维网格模型进行预测并得到相应的显著性响应图:

采用步骤2中同样的方法对测试集中三维网格模型的每一个点形成特征属性,并用步骤3得到的深度神经网络回归模型对该点进行预测,得到一个回归值。再得到三维网格模型中所有点的回归值,以其构成该三维网格模型的显著性响应图。

步骤5、根据步骤4得到的显著性响应图得到三维关键点:

选取显著性响应图中具有局部极大值的点作为三维关键点。对于三维网格模型中的每一个点,如果该点的显著性响应值比其周围5-环邻域内点的显著性响应值都大,则该点为三维关键点。否则,该点就不是三维关键点。

本发明通过:1、使用深度神经网络结合稀疏自编码器作为回归模型来进行三维关键点检测;2、利用三维网格模型在多尺度空间中的局部和全局信息来形成特征属性,使尽可能多的信息被利用来检测三维关键点;3、引入多层稀疏自编码器可以有效地发现这些局部和全局信息之间的相关性并形成这些信息的高级特征表示形式,以便对其进行回归。能够有效地、鲁棒地和稳定地检测出三维网格模型中的关键点。

综上所述,相对现有的三维关键点检测方法,本发明的方法能有效地、鲁棒地和稳定地检测出三维网格模型中的关键点。

附图说明

图1为本发明中三维关键点检测方法的流程图;

图2(a)为自编码器的结构图,图2(b)为本发明的深度神经网络回归模型;

图3为飞机三维网格模型及其局部放大示意图;

图4为使用本发明方法检测到椅子三维网格模型的三维关键点;

图5为使用本发明检测三维视频序列在不同帧中得到的关键点;

图6为本发明与其余5种三维关键点检测方法的性能对比图;图(a)为数据库A测试集中关于IOU评价指标的性能曲线图;图(b)为数据库B测试集中关于IOU评价指标的性能曲线图。

附图标记:待测点v;1-环邻域点V1;2-环邻域点V2;3-环邻域点V3;4-环邻域点V4;5-环邻域点V5

具体实施方式

下面结合附图和具体实例对本发明方法作进一步的详细说明,实例的目标是通过三维网格模型关键点检测结果验证本发明所述方法的有效性。

在实施过程中,我们以文献(Dutagaci,H.,Cheung,C.P.,Godil,A.:Evaluation of 3d interest point detection techniques via human-generated ground truth.The Visual Computer 28(9)(2012)901-917)中的三维网格模型数据库作为训练和测试数据集。

训练深度神经网络阶段的具体实施方式:

步骤1、从三维网格模型数据库中选取训练集和测试集,并从训练集中选取正负样本点:

该三维网格模型数据库分为数据库A和数据库B两个部分,数据库A包含24个三维网格模型,由23个人进行标定生成三维关键点Ground truth。数据库B包含43个三维网格模型,由16个人进行标定生成Ground truth。分别选择数据库A和数据库B的三分之二作为训练集,其余的作为测试集。

对于数据库A训练集中的每一个三维网格模型,选取参数σ∈{0.01,0.02,...,0.1}和参数n∈{11,12,...,22}所对应的Ground truth为正样本,其余的点为负样本。正样本总数为17115,负样本总数为148565。对于数据库B训练集中的每一个三维网格模型,选取参数σ∈{0.01,0.02,...,0.1}和参数n∈{8,9,...,15}所对应的Ground truth为正样本,其余的点为负样本。正样本总数为18427,负样本总数为222034。

步骤2、为正负样本点形成特征属性:

对于训练集中的每一个三维网格模型,首先计算该模型在尺度空间中的表示,然后计算该模型中的每一个样本点在尺度i=0,1,2,...,Ω中的信息,本发明中Ω的值为6。局部信息fd、fθ与fc可分别通过如下公式进行计算:

fd=[max(dk),min(dk),max(dk)-min(dk),mean(dk),var(dk),harmmean(dk)]

fθ=[max(θk),min(θk),max(θk)-min(θk),mean(θk),var(θk),harmmean(θk)]

全局信息fls通过计算对数-拉普拉斯光谱在光谱域的不规则性得到:

R(f)=|L(f)-JΓ(f)*L(f)|

其中中的Γ为9。全局信息(fls)为:

fls=[max(sk),min(sk),max(sk)-min(sk),mean(sk),var(sk),harmmean(sk)]

最终该三维网格模型中的每一个样本点的特征属性为:

f=[f0,f1,f2,...,f6]T

fi=[fd,fθ,fc,fls],i=0,1,2,...,6

样本维度大小为665。

步骤3、利用构建好的特征属性集和对应的标签集训练稀疏自编码器和深度神经网络:

使用步骤1和步骤2得到的特征属性集和对应的标签集训练稀疏自编码器和深度神经网络,其相关参数设置如下表所示:

其中ρ为稀疏自编码器的稀疏性参数,β控制稀疏自编码器的代价函数中稀疏惩罚项的权重。

检测三维关键点阶段:

步骤4、利用训练好的深度神经网络回归模型对三维网格模型进行预测并得到其显著性响应图:

对于测试集中的每一个三维网格模型而言,以椅子三维网格模型为例。首先按照步骤2中的方法得到其在尺度空间中的表示,然后为每一个点计算特征属性。利用训练好的深度神经网络回归模型对椅子三维网格模型上的每一个点进行预测。对于每一个点而言,深度神经网络的输出为一个值为0到1之间的回归值,输出值越靠近1表示该值越可能为三维关键点,反之亦然。所有这些输出值共同构成了椅子三维网格模型的显著性响应图。

步骤5、根据显著性响应图得到三维关键点:

选取椅子三维网格模型的显著性响应图中具有局部极大值的点作为椅子三维网格模型的三维关键点。对于椅子三维网格模型中的每一个点,如果该点的显著性响应值比其周围5-环邻域内点的显著性响应值都大,则该点为三维关键点。否则,该点就不是三维关键点。图4展示了使用本发明的方法检测出的椅子三维网格模型的三维关键点。

图5展示了使用本发明方法检测出的行人三维测试序列中不同帧下的三维关键点分布。

图6展示了本发明方法同其余5种三维关键点检测方法的性能对比图,评价指标为IOU准则(L.Teran and P.Mordohai,“3d interest point detection via discriminativ learning,”in European Conference on Computer Vision.Zurich,Switzerland,Sept 2014),图6(a)展示了6种算法在数据库A测试集中的性能曲线图,图6(b)展示了6种算法在数据库B测试集中的性能曲线图。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1