GOOD: A global orthographic object descriptor for 3D object recognition and manipulation
Abstract
提出一种新的特征描述方法(GOOD),通过分析点云,获得特征向量的唯一参考系。
Introduction
Contribution:
- 设计一种新的符号消歧方法,通过分割特征向量确定明确唯一的坐标参考系。
- 一种使用本地参考系计算的新的全局对象描述符,它在描述性、计算时间和内存使用之间提供了很好的权衡。
Local reference frame
局部坐标系对于旋转和平移不变,对噪声具有鲁棒性,对对象的识别有着很重要的作用。
输入一个点云
o
=
p
1
,
p
2
.
.
.
p
m
o= {p_1,p_2...p_m}
o=p1,p2...pm,其中心点可以被定义为:
c
=
1
m
∑
i
=
1
m
p
i
c = \frac{1}{m}\sum_{i=1}^mp_i
c=m1i=1∑mpi
对象的归一协方差矩阵可以定义为:
C
=
1
m
∑
i
=
1
m
(
p
i
−
c
)
(
p
i
−
c
)
T
C = \frac{1}{m}\sum^m_{i=1}(p_i-c)(p_i-c)^T
C=m1i=1∑m(pi−c)(pi−c)T
在C上进行特征值分解:
C
V
=
E
V
CV=EV
CV=EV
其中
v
⃗
=
(
v
1
,
v
2
,
v
3
)
\vec{v}= (v_1,v_2,v_3)
v=(v1,v2,v3),包含了三个特征向量,
E
=
d
i
a
g
(
λ
1
,
λ
2
,
λ
3
)
E = diag(\lambda_1,\lambda_2,\lambda_3)
E=diag(λ1,λ2,λ3),对应为特征值对角矩阵。
由于特征向量定义的方向不是唯一的,这导致在PAC(主干成分分析)中不可重复。
假设从一个选定参考系中开始,选定
v
1
,
v
2
v_1,v_2
v1,v2分别作为x,y轴,根据右手定则,定义z轴为
v
1
×
v
2
v_1\times v_2
v1×v2,这样就可以确定下x轴和y轴的方向,将不确定的方案减少到4个。
为了完成消歧,点云O被放置入局部坐标轴中,因此获得了具有+x和-x的点的数量,被定义为:
S
x
+
=
i
:
x
p
i
>
t
,
S
x
−
=
i
:
x
p
i
<
−
t
,
S_x^+ = i:x_{p_i}>t\quad,S_x^-= i:x_{p_i}<-t,
Sx+=i:xpi>t,Sx−=i:xpi<−t,
t=0.015m,因此在不同的实验中可以将X轴从负改为正,然后将
S
x
S_x
Sx定义为:
S
x
{
+
1
,
∣
S
x
+
∣
≥
∣
S
x
−
∣
−
1
,
o
t
h
e
r
w
i
s
e
S_x \begin{cases} +1, & |S_x^+|\geq|S_x^-|\\ -1, & otherwise \end{cases}
Sx{+1,−1,∣Sx+∣≥∣Sx−∣otherwise
|.|表示参数的点数,对Y轴同样使用相同的计算方法
S
y
S_y
Sy,坐标轴可以被定义为:
s
=
S
x
⋅
S
y
s = S_x\centerdot S_y
s=Sx⋅Sy
s可以是-1或1,当s=-1时,坐标轴的方向需要改变,最终的局部坐标轴(LRF)可以被定义为:
(
s
v
1
,
s
v
2
,
v
1
×
v
1
)
(sv_1,sv_2,v_1\times v_1 )
(sv1,sv2,v1×v1)
消歧过程可视化:
Object descriptor
本节基于LRF(局部坐标轴的)几何中心计算物体的描述符,描述符由三个XOY、XOZ、YOZ三个片面上的投影生成,为了保证不同物体形状之间的比较,每个投影平面内的bin数量必须相同,每个投影平面的长度l都由轴对齐的最大加密包围框确定,通过计算每个坐标轴沿轴的最大值和最小值得到,每个投影面的bin因此被确定下来为n个,每个投影点被定义为
ρ
=
(
α
,
β
)
\rho=(\alpha,\beta)
ρ=(α,β),
α
,
β
\alpha,\beta
α,β分别为到两投影面的距离,对于每行每列的联系可以被定义为:
分布矩阵
M
n
×
n
M_{n\times n}
Mn×n由每个bin中落入的点决定,M中的值被归一化,以保证点云密度的不变。根据惯例,各个分布矩阵被转化成一个向量,
m
1
×
n
2
=
[
M
(
1
,
1
)
,
M
(
1
,
2
)
,
M
(
n
,
n
)
]
m_{1\times n^2}=[M(1,1),M(1,2),M(n,n)]
m1×n2=[M(1,1),M(1,2),M(n,n)],三个投影图的2d分布矩阵被转化成一个3
×
n
2
\times n_2
×n2的向量,如下图所示:
在这篇文章中每个投影的熵计算如下:
H
(
m
)
=
−
∑
i
=
1
n
m
i
l
o
g
2
m
i
H(m)=-\sum^n_{i=1}m_ilog_2m_i
H(m)=−i=1∑nmilog2mi
熵最高的投影图作为描述符的前
n
2
n^2
n2项,对于
n
2
,
2
n
2
−
1
n^2,2n^2-1
n2,2n2−1项则作为方差更小的一项,方差计算公式如下:
σ
2
(
m
)
=
∑
i
=
1
n
(
i
−
μ
m
)
2
m
i
,
μ
m
=
∑
i
=
1
n
2
i
m
i
\sigma^2(m) = \sum_{i=1}^n(i-\mu_m)^2m_i\quad,\mu_m=\sum_{i=1}^{n^2}im_i
σ2(m)=i=1∑n(i−μm)2mi,μm=i=1∑n2imi
方差较小则证明点的分布紧凑,比较接近向量的平均值,方差较大则相反。
通过投影还可获得目标的一些其他特征,下图中展示了可以表达出马克杯的厚度高度的信息。
Experiment
不同数量bin下的实验: