三维物体追踪笔记(1)-基于边缘的三维物体追踪——理论、公式推导与实现

本文详细介绍了基于边缘检测的三维物体追踪方法,从轮廓建模到模型求导,深入探讨了链式分解、子模块计算,特别关注了x处和xpe处像素值对位姿的求导。并提到了工程实现中优化算法,如LM算法的参数调整对追踪效果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 基于边缘检测的三维跟踪建模

三维物体追踪是已知图像中某个物体在已知一系列空间三维点位置(或者是一个3D 模型面片集)的信息下,将这些点通过一个恰到好处的位姿(R,t)进行转换后投影到图像上。问题的求解目标是这个位姿(R,t),难点是并不知道这些三维点对应图像上的哪些像素点。

假如已知这个3D模型在图像对应物体具有清晰轮廓,特别是物体与背景之间有较好的灰度值区分度的(比如白色桌子上放一本MVG书),就可以利用基于边缘检测的三维物体跟踪。

令:x是重投影回去的轮廓(以下简称轮廓)上的离散点,x表示二维点。此处为方便起见,先命名x对应的三维点的坐标为(X,Y,Z)(X,Y,Z)(X,Y,Z)

令:x在垂直于轮廓方向且向内的相邻点为xpex_{pe}xpe,平行于轮廓的相邻点为xpax_{pa}xpa

由于基于边缘检测的三维物体跟踪的最重要的特点是:垂直于边缘方向的梯度大,平行于边缘方向的梯度小,于是有:

E=12∑line∈contour∑x∈line(I(x)−I(xpa))2+(I(x)−I(xpe)−256)2E =\frac{1}{2} \sum_{line\in contour}\sum_{x \in line}(I(x)-I(x_{pa}))^2+(I(x) - I(x_{pe}) - 256)^2E=21linecontourxline(I(x)I(xpa))2+(I(x)I(xpe)256)2

其中∣I(x)−I(xpa)∣|I(x) - I(x_{pa})|I(x)I(xpa)表示梯度。

后者(256−I(x)−I(xpe))2(256-I(x) - I(x_{pe}))^2(256I(x)I(xpe))2让候选点到边缘的梯度(即I(x)−I(xpe)I(x) - I(x_{pe})I(x)I(xpe))尽可能大(那样对应的E才会小)。灰度值最大值一般为256。

由于前者对结果的影响很小,因此我们考虑后者即可:

E=12∑line∈contour∑xi∈line((I(xi)−I(xipe)−256)2E =\frac{1}{2} \sum_{line\in contour}\sum_{x_i \in line}((I(x_i) - I(x_i{pe}) - 256)^2E=21linecontourxiline((I(xi)I(xipe)256)2

**注:**在实验室常用做法中使用的是根据该marker是黑色还是白色而决定使用:

Ei=12(I(x)−I(xppe)+256)2(白色)E_i = \frac{1}{2}(I(x)-I(x_{p_{pe}}) + 256) ^2(白色)Ei=21(I(x)I(xppe)+256)2

还是Ei=12(I(x)−I(xpe)−256)2(黑色)E_i = \frac{1}{2}(I(x)-I(x_{pe}) - 256)^2(黑色)Ei=21(I(x)I(xpe)256)2,以便让像素差更接近与0.(我们以下假设是黑色)

2. 基于模型求导

2.1 链式分解

fi=(I(xi)−I(xipe)−256)f_i = (I(x_i) - I(x_i{pe}) - 256)fi=(I(xi)I(xipe)256),则E=12fTf=12[f1f2…fn][f1f2…fn]E=\frac {1}{2}f^Tf= \frac{1}{2} \begin{bmatrix} f_1& f_2&…&f_n\end{bmatrix}\begin{bmatrix} f_1\\ f_2\\…\\f_n\end{bmatrix}E=21fTf=21[f1f2fn]f1f2fn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值