说明:
1.此乃本人阅读论文过程中所记录的笔记,由于本人水平有限,难免会出现遗漏重点或表述不清等问题,请各位见谅。同时希望各位指出我的问题,让我发现问题所在,谢谢大家Thanks♪(・ω・)ノ。
2.有些用词根据原文翻译(或是直接用原文),可能语句不通畅。(毕竟我是一个六级考了五次的憨憨)
3.数据处理部分和结论分析部分没有加入,此处主要为了理清文章描述方法的处理流程。
1.重要概念介绍
拉普拉斯-贝尔特拉米算子(Laplace-Beltrami operator,LBO):
给定紧凑的黎曼流形
M
\mathbb{M}
M,空间
L
2
(
M
)
L^2(\mathbb{M})
L2(M)是包含所有光滑且平方可积函数的希尔伯特空间,其内积定义为
<
f
1
,
f
2
>
=
∫
M
f
1
(
x
)
f
2
(
x
)
d
a
(
x
)
<f_1,f_2>=\int_{\mathbb{M}}f_1(x)f_2(x)da(x)
<f1,f2>=∫Mf1(x)f2(x)da(x),其中da(x)表示M上由区域元素定义的黎曼度量。给定二次可微的实值函数
f
:
M
→
R
f:\mathbb{M}\rightarrow\mathbb{R}
f:M→R,则拉普拉斯-贝尔特拉米算子定义为
Δ
M
f
=
−
d
i
v
(
∇
M
f
)
\Delta_{\mathbb{M}}f=-div(\nabla_{\mathbb{M}}f)
ΔMf=−div(∇Mf)
拉普拉斯-贝尔特拉米算子为线性半正定算子,将拉普拉斯算子推广到非欧氏空间。
将其进行离散化。定义实函数
f
:
V
→
R
f:\mathbb{V}\rightarrow\mathbb{R}
f:V→R,其中
V
\mathbb{V}
V表示网格顶点的集合,给出m维向量f=(f(i)),其中第i个分量表示网格的第i个顶点处的函数值。利用有限元法或者有限体素法,在顶点
v
i
v_i
vi处
Δ
M
f
\Delta_{\mathbb{M}}f
ΔMf的值可由下式逼近:
Δ
M
f
≈
1
a
i
∑
j
∼
i
c
o
t
α
i
j
+
c
o
t
β
i
j
2
(
f
(
i
)
−
f
(
j
)
)
\Delta_{\mathbb{M}}f\approx\frac{1}{a_i}\sum_{j\sim i}\frac{cot\alpha_{ij}+cot\beta_{ij}}{2}(f(i)-f(j))
ΔMf≈ai1∑j∼i2cotαij+cotβij(f(i)−f(j))
其中
α
i
j
\alpha_{ij}
αij和
β
i
j
\beta_{ij}
βij分别表示
∠
(
v
i
v
k
1
v
j
)
\angle(v_iv_{k_1}v_j)
∠(vivk1vj)和
∠
(
v
i
v
k
2
v
j
)
\angle(v_iv_{k_2}v_j)
∠(vivk2vj),对应的面
t
α
=
{
v
i
,
v
k
1
,
v
j
}
t^\alpha=\{v_i,v_{k_1},v_j\}
tα={vi,vk1,vj}和
t
α
=
{
v
i
,
v
k
2
,
v
j
}
t^\alpha=\{v_i,v_{k_2},v_j\}
tα={vi,vk2,vj},两个面邻接于边[i,j],
a
i
a_i
ai表示顶点i处的Voronoi单元的面积。
使用谱分析方法,用m×m阶矩阵
L
=
D
−
1
E
L=D^{-1}E
L=D−1E,其中D=diag(
d
i
d_i
di))为正定对角矩阵,
d
i
d_i
di表示顶点i处的Voronoi单元的面积。
E
=
d
i
a
g
(
∑
k
≠
i
c
i
k
)
−
(
c
i
j
)
E=diag(\sum_{k\neq i}c_{ik})-(c_{ij})
E=diag(∑k=icik)−(cij)为稀疏对称矩阵,权重
c
i
j
c_{ij}
cij由如下公式给出
利用特征值方程
E
φ
ℓ
=
λ
ℓ
D
φ
ℓ
E\varphi_\ell=\lambda_\ell D \varphi_\ell
Eφℓ=λℓDφℓ求L的特征值
λ
ℓ
\lambda_\ell
λℓ和特征向量
φ
ℓ
\varphi_\ell
φℓ,对特征值进行升序排序,给出相应的正交特征向量,其中特征向量的正交性由如下D内积定义:
< φ k , φ ℓ > = ∑ i = 1 m d i φ k ( i ) φ ℓ ( i ) = δ k ℓ , <\varphi_k,\varphi_\ell>=\sum_{i=1}^{m}d_{i}\varphi_k(i)\varphi_\ell(i)=\delta_{k\ell}, <φk,φℓ>=∑i=1mdiφk(i)φℓ(i)=δkℓ, ∀ k , ℓ = 1 , . . . , m \forall k,\ell=1,...,m ∀k,ℓ=1,...,m
深度自编码器(Deep auto-encoders):
一种用于重构输入作为输出的神经网络,它使用随机梯度下降的反向传播算法从无标签集中学习特征。如下图所示,一个自编码器包含一个编码器和解码器。
将编码器记作
f
θ
f_\theta
fθ,它将输入向量
x
∈
R
d
x\in\mathbb{R}^d
x∈Rd映射成隐藏层表示
a
∈
R
d
a\in\mathbb{R}^d
a∈Rd,
a
=
f
θ
(
x
)
=
σ
(
W
x
+
b
)
a = f_\theta(x)=\sigma(Wx+b)
a=fθ(x)=σ(Wx+b)
记θ={W,b},其中W∈
R
r
×
d
\mathbb{R}^{r\times d}
Rr×d和
b
′
∈
R
d
b^{'}\in\mathbb{R}^d
b′∈Rd为编码器的权重矩阵和偏移向量,σ为非线性激活函数。
将解码器记作
g
θ
′
g_{\theta^{'}}
gθ′,它将隐藏层表示h映射为输入x的重构
x
^
\hat{x}
x^,
x
^
=
g
θ
′
(
a
)
=
σ
(
W
′
a
+
b
′
)
\hat{x}=g_{\theta^{'}}(a)=\sigma(W^{'}a+b^{'})
x^=gθ′(a)=σ(W′a+b′)
记
θ
′
=
{
W
′
,
b
′
}
.
\theta^{'}=\{W^{'},b^{'}\}.
θ′={W′,b′}.其中
W
′
∈
R
d
×
r
W^{'}\in\mathbb{R}^{d\times r}
W′∈Rd×r和
b
′
∈
R
d
b^{'}\in\mathbb{R}^d
b′∈Rd为解码器的权重矩阵和偏移向量。其中W和
W
′
W^{'}
W′。
由此得到如下最小化目标函数(为了防止数据过拟合,我们加入正则化分量):
£
(
W
,
b
,
b
′
)
=
1
2
∑
i
=
1
N
∥
x
i
−
x
i
^
∥
2
2
+
λ
2
∥
W
∥
F
2
\pounds(W,b,b^{'})=\frac{1}{2}\sum_{i=1}^{N}\|x_i-\hat{x_i}\|_2^2+\frac{\lambda}{2}\|W\|_F^2
£(W,b,b′)=21∑i=1N∥xi−xi^∥22+2λ∥W∥F2
2.解决的问题
从三维模型中获取简洁、几何信息丰富且计算效率高的深度模型感知描述符。
3.处理方法主要步骤
整个处理流程如下图所示:
(1) 低层特征(Low-Level Descriptors)
用谱图小波特征(Spectral Graph Wavelets Signature,SGWS)矩阵生成三维模型的局部描述符。对于给定的解决半径R,顶点j处的SGWS是一个p维向量,如下定义
s
j
=
{
s
Q
(
j
)
∣
Q
=
1
,
.
.
.
,
R
}
s_j=\{s_Q(j)|Q=1,...,R\}
sj={sQ(j)∣Q=1,...,R}
其中
s
Q
(
j
)
s_Q(j)
sQ(j)是顶点j处的模型描述符,解决层Q由下式给出
s
Q
(
j
)
=
{
W
δ
j
(
t
q
,
j
)
∣
q
=
1
,
.
.
.
,
Q
}
∪
{
S
δ
j
(
j
)
}
s_Q(j)=\{W_{\delta_{j}}(t_{q},j)|q=1,...,Q\}\cup\{S_{\delta_{j}(j)}\}
sQ(j)={Wδj(tq,j)∣q=1,...,Q}∪{Sδj(j)}
在每个解决层Q,顶点j处的描述符
s
Q
(
j
)
s_Q(j)
sQ(j)是一个(Q+1)维向量,由谱图小波系数
W
δ
j
(
t
q
,
j
)
W_{\delta_{j}}(t_{q},j)
Wδj(tq,j)和尺度函数系数
S
δ
j
(
j
)
S_{\delta_{j}(j)}
Sδj(j),它们定义如下
W
δ
j
(
t
q
,
j
)
=
∑
ℓ
=
1
m
a
j
2
g
(
t
q
λ
ℓ
)
φ
ℓ
2
(
j
)
,
W_{\delta_{j}}(t_{q},j)=\sum_{\ell=1}^{m}a_{j}^{2}g(t_q\lambda_\ell)\varphi_{\ell}^{2}(j),
Wδj(tq,j)=∑ℓ=1maj2g(tqλℓ)φℓ2(j), q=1,…,Q
S
δ
j
(
j
)
=
∑
ℓ
=
1
m
a
j
2
h
(
λ
ℓ
)
φ
ℓ
2
(
j
)
S_{\delta_{j}(j)}=\sum_{\ell=1}^{m}a_{j}^{2}h(\lambda_{\ell})\varphi_{\ell}^{2}(j)
Sδj(j)=∑ℓ=1maj2h(λℓ)φℓ2(j)
其中g和h分别是谱图小波生成内核和尺度函数。谱图小波生成内核g视作带通滤波器,尺度函数h视作低通滤波器,以此编码网格顶点上的函数低频部分。小波尺度
t
q
(
t
q
>
t
q
+
1
)
t_q(t_q>t_{q+1})
tq(tq>tq+1)在最大尺度
t
1
t_1
t1和最小尺度
t
Q
t_Q
tQ之间在对数下等距选取。
s
j
s_j
sj的维数p由以下公式确定
p
=
(
R
+
1
)
(
R
+
2
)
2
−
1
p=\frac{(R+1)(R+2)}{2}-1
p=2(R+1)(R+2)−1
接下来定义谱图小波特征矩阵
S
=
(
s
1
,
…
,
s
m
)
∈
R
p
×
m
S=(s_1,…,s_m)∈R^{p×m}
S=(s1,…,sm)∈Rp×m,其中
s
i
s_i
si是顶点i的特征,m是网格顶点数目。在该论文中使用了下列三次样条小波函数g和尺度函数h
其中 λ m i n = λ m a x / 20 λ_min=λ_max/20 λmin=λmax/20, γ \gamma γ设置为使h(0)等于g的最大值。最大尺度和最小尺度分别设置为 t 1 = 2 / λ m i n t_1=2/λ_{min} t1=2/λmin和 t Q = 2 / λ m a x t_Q=2/λ_{max} tQ=2/λmax。
(2)中层特征(Mid-level features)
对低层特征应用BoF(Bag of Feature,特征袋)框架构造中间特征。
BoF包含以下四个主要步骤:
特征提取和描述(Feature extraction and description):在BoF范式中,一个三维模型
M
\mathbb{M}
M被视作m个具有相同维数p的局部描述符的集合,其中不同特征向量的阶数不重要。局部描述符分为稠密和稀疏两类,稠密描述符对网格的每个顶点进行计算,稀疏描述符只在有特征检测算法得到的关键点处进行计算。
码书设计(Codebook design):应用K均值算法构建离线字典,得到具有代表性的局部描述符的集合。此处使用内在空间分割算法选取具有代表性的描述符,确保每个模型的每个分割参与生成过程。最后用p×k字典矩阵
V
=
(
v
1
,
…
,
v
k
)
V=(v_1,…,v_k)
V=(v1,…,vk),其中p维向量
v
i
v_i
vi维聚类中心。
特征编码(Feature coding):使用局部约束线性编码(Locality-constrained Linear Coding,LLC)的方式完成。LLC码
u
i
u_i
ui由以下正则化最小二乘法得到
u
i
=
a
r
g
min
1
T
u
i
=
1
∥
s
i
−
V
u
i
∥
2
2
+
λ
∥
d
i
⨀
u
i
∥
2
2
u_i=arg \min\limits_{1^Tu_i=1}\|s_i-Vu_i\|_2^2+\lambda\|d_i\bigodot u_{i}\|_2^2
ui=arg1Tui=1min∥si−Vui∥22+λ∥di⨀ui∥22
其中⨀表示数组元素依次相乘,
d
i
=
e
x
p
(
d
i
s
t
(
s
i
,
V
)
δ
)
d_i=exp(\frac{dist(s_i,V)}δ)
di=exp(δdist(si,V))度量第i个描述符和所有码字的相似度,
δ
\delta
δ用于调整局部适配器的权重衰减速度。(其中
d
i
s
t
(
s
i
,
V
)
=
(
‖
s
i
−
v
1
‖
2
,
…
,
‖
s
i
−
v
k
‖
2
)
dist(s_i,V)=(‖s_i-v_1 ‖_2,…,‖s_i-v_k ‖_2)
dist(si,V)=(‖si−v1‖2,…,‖si−vk‖2))
由此产生k×m的LLC编码矩阵
U
=
(
u
1
,
…
,
u
m
)
。
U=(u_1,…,u_m)。
U=(u1,…,um)。
特征池化(Feature pooling):将前一步得到的结果绘制成直方图h
h
=
U
1
m
=
(
h
r
)
r
=
1
,
.
.
,
k
h=U1_m=(h_r)_{r=1,..,k}
h=U1m=(hr)r=1,..,k
其中
h
r
=
∑
i
=
1
m
u
r
i
h_r=\sum_{i=1}^mu_{ri}
hr=∑i=1muri。
然后由h=P(U)给出特征向量h,其中P为预定义的池化函数,将不同码字的信息汇聚在一个向量中。
引入双调和距离(biharmonic distance)来度量BoF向量间的空间关系。用k×k矩阵F来定义三维模型的深度感知描述符
F
=
U
K
U
T
F=UKU^T
F=UKUT
其中U为LLC编码矩阵,
K
=
(
k
i
j
)
K=(k_{ij})
K=(kij)为m×m阶双调和距离内核矩阵,由LBO算子的特征值和特征向量定义
κ_{ij}=\sum_{\ell=1}m\frac{1}{\lambda_{\ell}{2}}(\varphi_{\ell}(i)-\varphi_{\ell}(j))^2
对于每个三维模型,用F表示它的中层特征,其包含全局描述符。
(3)高层特征(High-level features)
将中层特征作为输入,用深度自编码器学习高级特征。高层特征从深度自编码器的最后一个隐藏层的输出提取,生成r_L维高层特征向量a_L,其中r_L为最后一个隐藏层的神经元数量。
4.特点
(1)用谱图小波描述低层模型描述符。
(2)用BoF框架构造中层特征,使用LLC完成特征编码,并引入双调和距离来度量BoF向量间的空间关系。
(3)实现了一种可用于学习高级特征的自动编码器,可用于三维模型检索任务的深度模型描述符。