Task-parameterized Gaussian mixture model (TP-GMM)
对于一组示教数据
ξ
\bm{ξ}
ξ,从不同的坐标系去观测它
X
t
(
j
)
=
A
t
,
j
−
1
(
ξ
t
−
b
t
,
j
)
X^{(j)}_t=\bm{A}^{-1}_{t,j}(\bm{ξ}_t-\bm{b}_{t,j})
Xt(j)=At,j−1(ξt−bt,j)
上标
j
j
j 代表坐标系,下标
t
t
t 代表 示教轨迹数据
(
d
a
t
a
p
o
i
n
t
s
)
(datapoints)
(datapoints)的索引,
A
A
A 和
b
b
b 代表坐标系
j
j
j的姿态描述和位置描述。这里假设,最初的示教数据是在0系下,经过坐标变换,变到
j
j
j系下(j 系为观测坐标系,论文中取了两个观测坐标系)。TP-GMM 形式为有
K
K
K个
c
o
m
p
o
n
e
n
t
component
component,其索引为
i
i
i 。
T
P
−
G
M
M
TP-GMM
TP−GMM 具体形式为
{
π
i
,
{
μ
i
(
j
)
,
Σ
i
(
j
)
}
j
=
1
P
}
i
=
1
K
\{{\pi_i,\{μ_i^{(j)},Σ^{(j)}_i}\}^P_{j=1}\}^K_{i=1}
{πi,{μi(j),Σi(j)}j=1P}i=1K
可以看出均值
μ
{μ}
μ 和
Σ
Σ
Σ 方差 的维度为
K
×
P
K×P
K×P。上式由
E
M
EM
EM 算法计算得具体形式:
h
t
,
i
h_{t,i}
ht,i表示数据点
t
t
t 生成于第
i
i
i个
c
o
m
p
o
n
e
n
t
component
component的概率。可以看出
c
o
m
p
o
n
e
n
t
component
component系数是各个坐标系共有的,而均值和方差是在各个坐标系下单独计算。
Task-parameterized Gaussian mixture regression (TP-GMR)
训练出的TP-GMM模型是输入输出( ξ I ξ^I ξI 和 ξ o ξ^o ξo )的联合分布( P P P( ξ I ξ^I ξI, ξ o ξ^o ξo)),对于任务空间中的轨迹数据 ( ξ I ξ^I ξI , ξ o ξ^o ξo ),上标 I 对应(时间)输入维度,O 对应于描述任务空间中路径(位置和方向)的输出维度。接下来通过高斯混合回归计算关于输入输出的条件概率( P P P( ξ t o ξ^o_t ξto| ξ t I ξ^I_t ξtI))分布。计算该条件概率分布等价于估计输出分布 N ( u t o , Σ t o ) N(u^o_t,Σ^o_t) N(uto,Σto)
对于普通的 G M R GMR GMR,进行高斯混合回归的步骤为:
将 GMM 的均值和方差拆成输入输出两部分
计算条件概率
P
P
P(
ξ
t
o
ξ^o_t
ξto|
ξ
t
I
ξ^I_t
ξtI)
假设
t
∈
(
1
,
2....
,
L
)
t \in (1,2....,L)
t∈(1,2....,L),那么
L
L
L 代表示教数据轨迹长度,即每条轨迹有
L
L
L个数据点。上述步骤循环
L
L
L 次,那么我们能得到
L
L
L 个条件概率对应的正太分布
P
(
ξ
t
o
∣
ξ
t
I
)
=
N
(
ξ
t
o
∣
u
t
o
,
Σ
t
o
)
P(\xi^o_t|\xi^I_t)=N(\xi^o_t |u^o_t,Σ^o_t)
P(ξto∣ξtI)=N(ξto∣uto,Σto) 等价
N
(
u
t
o
,
Σ
t
o
)
N(u^o_t,Σ^o_t)
N(uto,Σto),计算每个正太分布的均值,就得到一条长为L的期望轨迹。
对于 T P − G M R TP-GMR TP−GMR, 进行高斯混合回归
我们需要在循环L次的步骤上,再循环
P
P
P 次,
P
P
P 代表坐标系个数,其索引为
j
j
j。那么我们能得到
L
×
P
L×P
L×P 个条件概率对应的正太分布 (
N
(
u
t
o
,
(
j
)
,
Σ
t
o
,
(
j
)
)
N(u^{o,(j)}_{t},Σ^{o,(j)}_{t})
N(uto,(j),Σto,(j))),为了方便表示我们去掉上标
o
o
o,其条件概率分布变为
P
(
ξ
t
o
,
(
j
)
∣
ξ
t
I
,
(
j
)
)
=
P
(
ξ
t
(
j
)
)
=
N
(
u
t
(
j
)
,
Σ
t
(
j
)
)
P(\xi^{o,(j)}_t|\xi^{I,(j)}_t)=P(\xi^{(j)}_t)=N(u^{(j)}_{t},Σ^{(j)}_{t})
P(ξto,(j)∣ξtI,(j))=P(ξt(j))=N(ut(j),Σt(j))
轨迹生成
自此我们得到了一个轨迹在起点系的分布,一个终点系的分布。TP-GMM的最终目的是生成带起点和终点位姿约束的可泛化的曲线。
N
(
u
t
(
j
)
,
Σ
t
(
j
)
)
N(u^{(j)}_{t},Σ^{(j)}_{t})
N(ut(j),Σt(j))仅代表各个坐标系(起点坐标系和终点)下的轨迹分布。为了生成带起点和终点位姿约束的曲线我们设计一种优化方法,即生成期望轨迹
ξ
^
t
,
j
\hat \xi_{t,j}
ξ^t,j 与每个坐标系
(
j
)
(j)
(j) 所期望的分布相一致,其目标函数设计为
ξ
^
t
=
a
r
g
m
i
n
∑
j
=
1
2
(
ξ
^
t
,
j
−
ξ
t
,
j
)
Σ
t
(
j
)
(
ξ
^
t
,
j
−
ξ
t
,
j
)
ξ
t
,
j
=
A
t
,
j
ξ
t
(
j
)
+
b
t
,
j
\hat \xi_t=arg\, min\sum^2_{j=1}(\hat \xi_{t,j}-\xi_{t,j})Σ^{(j)}_{t}(\hat \xi_{t,j}-\xi_{t,j})\\ \xi_{t,j}=A_{t,j}\xi^{(j)}_t+b_{t,j}
ξ^t=argminj=1∑2(ξ^t,j−ξt,j)Σt(j)(ξ^t,j−ξt,j)ξt,j=At,jξt(j)+bt,j
∗ ^* ∗需要注意的是我们要将所有数据换算到一个坐标系下才能使用 ∑ \sum ∑ 符号,请注意此时的 A t , j , b t , j A_{t,j},b_{t,j} At,j,bt,j 由于坐标系是静态的,我们可以写成 A j , b j , j = 2 A_{j},b_{j} ,j=2 Aj,bj,j=2,这两坐标系就是我们需要 generalization 的轨迹的起点和终点
通过对上述方程求导并使其等于零,可以很容易地计算期望轨迹 ( ξ ^ t \hat \xi_t ξ^t 即均值 u t u_t ut) ,用协方差定义的估计误差为 ( Σ t Σ_t Σt) ,同样符合高斯分布 N ( u t , Σ t ) N(u_t,Σ_t) N(ut,Σt)。具体计算为
- 将
L
×
P
L×P
L×P个正太分布 (
N
(
u
t
,
j
o
,
Σ
t
,
j
o
)
N(u^o_{t,j},Σ^o_{t,j})
N(ut,jo,Σt,jo)) 中的均值和方差通过坐标变换从
j
j
j 系变换到
0
0
0系,得
N
(
u
t
,
j
,
Σ
t
,
j
)
N(u_{t,j}, Σ_{t,j})
N(ut,j,Σt,j)。
u t , j = A j u t ( j ) + b j , Σ t , j = A j Σ t ( j ) A j − 1 u_{t,j}=A_{j}u_t^{(j)}+b_{j} \quad , Σ_{t,j}=A_{j} Σ_t^{(j)} A^{-1}_{j} ut,j=Ajut(j)+bj,Σt,j=AjΣt(j)Aj−1 - 计算
G
a
u
s
s
i
a
n
Gaussian
Gaussian
p
r
o
d
u
c
t
product
product
N ( u t , Σ t ) ∝ ∏ j = 0 P N ( u t , j , Σ t , j ) Σ t = ( ∑ j = 1 P Σ t , j − 1 ) − 1 , u t = Σ t ∑ j = 1 P Σ t , j − 1 u t , j \begin{align*} N(u_t,Σ_t)∝\prod \limits_{j=0}^P N(u_{t,j}, Σ_{t,j}) \\ Σ_t=(\sum^P_{j=1}Σ_{t,j}^{-1})^{-1} \quad, \quad u_t=Σ_t\sum^P_{j=1} Σ_{t,j}^{-1}u_{t,j} \end{align*} N(ut,Σt)∝j=0∏PN(ut,j,Σt,j)Σt=(j=1∑PΣt,j−1)−1,ut=Σtj=1∑PΣt,j−1ut,j