3D【2】非刚性配准:Optimal Step Nonrigid ICP Algorithms for Surface Registration 阅读笔记
2018-02-06 15:13
801 查看
最近在研究人脸3d重建的内容,配准是训练出一个类似Basel Face Model的一个前期3d数据处理过程。由于从设备扫描出来的3d人脸的顶点个数非常多,而像BFM这样的模型中一个3d face的顶点为53490个点。为了用一个顶点较少的模板来表示一个从设备扫描出来的3d face,我们需要用到配准算法。在3d face的配准中使用的是非刚性配准,意思是模板除了平移,缩放和旋转之外,还可以变形。在配准中,模板是作为source,从设备扫描出来的3d face作为target,配准的目的是找到一个变换(在该论文中是为每个顶点分别找到一个变换矩阵),使得source能够表示target。
该论文提出的非刚性ICP算法可以用来3d face的配准,论文A 3D Morphable Model learnt from 10,000 faces使用的也是该方法。non-rigid ICP算法有三个损失函数,分别是Data loss、Smoothness loss和Landmarks loss。
假设模板S=(V,E)S=(V,E),其中V是顶点,有n个;E是边。另外每个顶点的变换矩阵XiXi大小是3∗43∗4,这样所有顶点的变换矩阵可表示为X=[X1,...,Xn]TX=[X1,...,Xn]T,大小为3*4n。
Data loss:
Ed(X)=∑vi∈Vwidist2(,Xivi)Ed(X)=∑vi∈Vwidist2(T,Xivi)
其中,vivi是模板中的第i个顶点,wiwi为权重。该损失函数计算的时候,需要从3d face(T)中找到与模板顶点i最进的点,然后计算距离。
Smoothness loss:
Es(X)=∑(i,j)∈E||(Xi−Xj)G||2FEs(X)=∑(i,j)∈E||(Xi−Xj)G||F2
其中,G=diag(1,1,1,γ)G=diag(1,1,1,γ),γγ用来权衡旋转和平移。该损失函数的作用是,使变换后的模板尽量平滑。
Landmarks loss:
El(X)=∑(vi,l)∈L||Xivi−l||El(X)=∑(vi,l)∈L||Xivi−l||
其中l是target的特征点,L=(vi1,li),...,(vil,ll)L=(vi1,li),...,(vil,ll)。
整个优化损失函数为:
E=Ed(X)+αEs(X)+βEl(X)E=Ed(X)+αEs(X)+βEl(X)
其中αα的作用:
decreasing vector of real-valued stiffness parameters.
High stiffness parameters force global transformations whereas(整个3d face?)
low values allow for local deformations.(局部,眼镜之类的?)
论文后面是损失函数的矩阵形式,和没有数据部分(3d face的扫描数据一般没有脑袋部分)的补偿。
matlab代码
该论文提出的非刚性ICP算法可以用来3d face的配准,论文A 3D Morphable Model learnt from 10,000 faces使用的也是该方法。non-rigid ICP算法有三个损失函数,分别是Data loss、Smoothness loss和Landmarks loss。
假设模板S=(V,E)S=(V,E),其中V是顶点,有n个;E是边。另外每个顶点的变换矩阵XiXi大小是3∗43∗4,这样所有顶点的变换矩阵可表示为X=[X1,...,Xn]TX=[X1,...,Xn]T,大小为3*4n。
Data loss:
Ed(X)=∑vi∈Vwidist2(,Xivi)Ed(X)=∑vi∈Vwidist2(T,Xivi)
其中,vivi是模板中的第i个顶点,wiwi为权重。该损失函数计算的时候,需要从3d face(T)中找到与模板顶点i最进的点,然后计算距离。
Smoothness loss:
Es(X)=∑(i,j)∈E||(Xi−Xj)G||2FEs(X)=∑(i,j)∈E||(Xi−Xj)G||F2
其中,G=diag(1,1,1,γ)G=diag(1,1,1,γ),γγ用来权衡旋转和平移。该损失函数的作用是,使变换后的模板尽量平滑。
Landmarks loss:
El(X)=∑(vi,l)∈L||Xivi−l||El(X)=∑(vi,l)∈L||Xivi−l||
其中l是target的特征点,L=(vi1,li),...,(vil,ll)L=(vi1,li),...,(vil,ll)。
整个优化损失函数为:
E=Ed(X)+αEs(X)+βEl(X)E=Ed(X)+αEs(X)+βEl(X)
其中αα的作用:
decreasing vector of real-valued stiffness parameters.
High stiffness parameters force global transformations whereas(整个3d face?)
low values allow for local deformations.(局部,眼镜之类的?)
论文后面是损失函数的矩阵形式,和没有数据部分(3d face的扫描数据一般没有脑袋部分)的补偿。
matlab代码
2018.2.24更新:
实验了一下,发现人脸特征点的作用比较大。如果没有人脸特征点的话,配准的结果会很差。该方法的效果还是非常不错的,不过比较耗时。相关文章推荐
- Optimal Step Nonrigid ICP Algorithms for surface registration
- 文献阅读笔记——Non-Associative Higher-Order Markov Networks for Point Cloud Classification
- 图割论文阅读笔记:Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images
- Online algorithms for uploading deferrable big data to the cloud文章阅读笔记
- 《3D Convolutional Neural Networks for Human Action Recognition》论文阅读笔记
- Two-Stream RNN/CNN for Action Recognition in 3D Videos-阅读笔记
- 论文阅读笔记:A 3D Coarse-to-Fine Framework for Automatic Pancreas Segmentation
- present or future: optimal pricing for spot instances文章阅读笔记
- Matching Networks for one Shot Learning 阅读笔记
- 立体匹配文献阅读笔记(一)《A non-local cost aggregation method for stereo matching》12年
- 【论文阅读笔记】A Multi-Task Learning Formulation for Predicting Disease Progression
- Weak Attributes for Large-Scale Image Retrieval 阅读笔记
- 论文阅读笔记之ICML2012::The Landmark Selection Method for Multiple Output Prediction 基于代表性特征选取的多维度回归方法
- 文献阅读——Unsupervised Feature Learning for 3D Scene Labeling
- 阅读笔记(paper+code):Residual Attention Network for Image Classification
- Learning the parts of objects bynon-negative matrix factorization阅读笔记
- A review of 3D/2D registration methods for image-guided interventions(2)
- 论文阅读:3D exemplar-based random walks for tooth segmentation from cone-beam computed tomography images
- 论文阅读笔记:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
- Hierarchical Attention Network for Document Classification阅读笔记