读文章:Motion from Structure (MfS): Searching for 3D Objects in Cluttered Point Trajectories

来源:互联网 发布:linux 不记录history 编辑:程序博客网 时间:2024/06/04 17:43

本文需要解决的问题是基于序列图像中特征点的跟踪结果识别出3D物体,即通过建立序列图像中得到的特征点跟踪结果与3D模型上特征点的对应关系,实现图像中物体的检测及姿态估计。区别于sfm与motionsegmentation,作者将该问题命名为mfs(motion from structure)。
近年来,针对2D物体的识别得到了广泛地研究,采用特征加分类器的模式,相关的技术取得了长足的进步。作者指出针对2D图像中已知物体3D模型情况下的识别的研究还比较少,仅利用单幅图像信息,这方面的工作在近两年也出了几篇高水平的论文,包含Joseph Lim的iccv13[1]和eccv14[2]、Aubry的cvpr14[3]及cvpr15上的数篇工作[4~7]等,上述工作集中在利用二维物体识别的技术来进行基于3D模型的物体识别及姿态估计,随着DL的发展,在[4,6,7]中均使用了相关技术进行特征的提取,相关算法能够有效实现物体的检测及姿态估计,有些算法还实现了continuous viewpoint estimation(首先得到离散的粗略估计结果,再以此为初值进行求精操作,采用MCMC及其他姿态优化方法等),但此类算法依据的是二维识别技术,因此需要将3D模型向多个虚拟viewpoint投影,得到多幅2D图像,待检测图像与这些图像之间进行检测,得到检测结果及离散的viewpoint估计结果,此类算法的一个主要的难题就是姿态参数的搜索空间可能非常大(即使仅考虑相机外参数,也对应6个参数(Rotation3个、平移3个)),致使处理效率低下,已有文献中也重点对此问题提出了一些改进的措施。文献[1~7]中针对的都是单幅图像中目标的检测及姿态估计,单幅图像可利用的信息毕竟有限,这里介绍的文献[8]针对的是序列图像,利用序列图像中恢复出的运动信息,与3D模型识别alignment,实现检测与姿态估计,且姿态求取中利用的是2D图像中的特征点与3D模型上的特征点对应关系进行求解,得到精确地姿态求解结果(对应continuous viewpoint estimation,由于特征点提取误差等因素存在,求解结果也存在误差),从利用序列图像中运动信息来做2D图像与3D模型之间的 alignment这个事情,这篇文章是开创性的工作。
下面对文章的主要思路进行介绍。
mfs需要解决的问题就是实现2D tracks与3D模型之间的配准,可描述为
WP=MS
其中W为2D图像序列中特征跟踪结果,表示为
W=[■(x_1^1&⋯&x_n^1@⋮&⋱&⋮@x_1^F&⋯&x_n^F )]∈R^(2F×n)
对于F帧图像,x_i^f为第f帧中第i个特征的二维坐标,S∈R^(4×m)为物体3D模型的m个顶点三维齐次坐标,P∈{0,1}^(n×m)表征所有的2D tracks中属于interest object的tracks,M∈R^(2F×4)为投影参数矩阵,对于正射投影,可进一步展开为
M=[■(α^1 M ̅^1&b^1@⋮&⋮@α^F M ̅^F&b^F )]
M ̅^f∈R^(2×3)、b^f∈R^2及α^f分别对应旋转、平移及尺度,易见,建立至少4对2D tracks与3D模型点之间的关系,即可求取M。下图对mfs问题进行图示。

作者在文中对这个问题的难点进行了分析:
(1)针对2D图像序列,进行运动跟踪,可得到多条tracks,mfs需要从中找出对应interest object的tracks,这是一个组合问题,随着tracks的增加,问题求解的复杂度增加,本文中作者的主要工作也就集中在这个对应关系的建立,作者采用两步完成:a.筛选STs,减少tracks的数量,b.提出guided sampling的STs选择策略;
(2)每条tracks对应一个特征点的轨迹,不包含appearance feature,因此tracks与3D模型顶点之间的对应关系就不能通过匹配的策略进行获取,而只能作为组合问题进行求解;
(3)3D模型的自遮挡问题,由于自遮挡的存在,对于被遮挡顶点的处理是多余的,有可能还会引起错误的结果;
(4)tracks之间的相关性,对应同一物体的tracks之间具有相关性,这些相关包含着物体的shape信息,正是mfs的基础。
在进行mfs求解时,作者首先提出两点假设:(1)目标物体的运动是独立的;(2)相机成像模型为正射投影。Mfs求解的关键在于2D tracks与3D模型顶点对应关系的建立,由于直接对2D图像序列进行跟踪,由于复杂纹理的存在,会得到大量的tracks,增加求解的复杂度,首先作者对tracks进行筛选,定义support tracks(STs)为不能表示为同一物体对应的tracks的convex combination(区别于linear combination,排除自身可以表达自己的情况)的tracks,采用SSC(sparse subspace clustering)思想,将STs的筛选表示为
min┬(C,E)⁡〖tr(C)+μf(E)〗
subject to: E=W-WC (7)
1_n^T C=1_n
C≥0_(n×n)
C∈R^(n×n)为convex combination的系数矩阵,E∈R^(2F×n)为误差矩阵,f(∙)为范数,每个独立运动物体对应的tracks构成W的一个子空间,子空间中不能表示成其他tracks的convex combination的tracks为STs,如下图所示,STs对应图中红色矩形,

区别于SSC,这里不要求解出W中的subspace,只关注C,另外这里考虑的是convex combination,不是linear combination,由于1_n^T C=1_n,C≥0_(n×n),SSC目标函数中的‖C‖_1为常数n,无需考虑,最终的优化结果中tr(C)为一个二值向量,表征tracks是否为STs,记上述问题的求解结果为C^*及E^*,加入约束diag(C)后对应的结果为E ̂,则c_ii^*、μ及f(e ̂_i )之间的关系满足
c_ii^*∈{■({0} f(e ̂_i )<μ^(-1)@[0,1] f(e ̂_i )<μ^(-1)@{1} otherwise)┤
文章作者给出了证明,依据上述优化问题的目标函数及约束,易推得,并且作者指出对于任意μ,对于上述最优化问题,都存在一个diag(C)为二值向量的最优解,μ在c_ii^*的求解过程中扮演阈值的角色,给定μ即可求得c_ii^*,在实际操作中,作者首先求解出E ̂,依据实现设定的STs的数量,按照f(e ̂_i )的大小顺序选取STs。选取的STs构成了2D图像中物体对应的convex hull。
针对每帧图像,最低需要4对STs与3D模型顶点的对应求解投影参数(8个参数,每个对应列两个方程,文中选取4对),由于不能使用appearance feature信息进行匹配配对,这里采用组合的策略,文中对STs的选择也进行了设计(Guided sampling),最理想的情况是选取的STs数据同一个object,由于假设了目标物体的运动是独立的,因此STs只能表示同一subspace(同一物体)的non-STs,因此ST i与ST j属于同一object的概率可通过i与j共同表示的non-STs的数量的来衡量,为了将所有的non-STs用STs来表示,作者利用了C^*的特殊结构,C^*对角线上为1对应ST,由Markov chain理论,
C ̂=lim┬(t→∞)⁡〖(C^* )^t 〗 (9)
即为non-STs用STs表示的系数矩阵。在ST i已被选择的情况下,ST j被选择的概率依据i与j之间的Jaccard similarity进行度量,
Pr(i→j)={■(1/z_i (∑_(k=1)^n▒min(d_(i,k),d_(j,k) ) )/(∑_(k=1)^n▒max(d_(i,k),d_(j,k) ) ) i≠j@0 i=j)┤ (10)
其中z_i为归一化因子,d_(i,k)={■(1 c ̂_(i^',k)>0@0 otherwise)┤,i^'为ST i在W中的索引,依据guided sampling方法,实现4个STs的选择,针对3D模型上的顶点,采用均匀采样的模式随机选择。
建立了4对对应关系后,估计出它们之间的投影变换参数M(文中作者采用的为仿射模型),依据M将3D模型投影到2D图像上,求取其convex hull π^f (MS),一个优的M,重投影的convex hull π^f (MS)应求取M所用到的STs张成convex hull π^f (W_M )尽量重合,如下图所示,

W_M为W中落在span(M)中列构成的矩阵,表示成最优化问题如下,
max┬M⁡∑_(f=1)^F▒Area(π^f (MS)∩π^f (W_M ))/Area(conv(π^f (MS)∪π^f (W_M ))) (6)
subject to: M ̅^f M ̅^fT=I_2,f=1,2,….,F
conv(∙)求取输入点集的convex hull。依据4对应关系求得M后,带入(6)保留使得(6)取得最大值的M,迭代求解。求得正确地M后,依据MS与W中的远近确定P。整个算法的流程如下图所示。

在具体的实施过程中,f(∙)为l_1范数,采用Gurobi optimizer求解(7),针对(9)没有采用特征值分解求取C ̂,直接求得(C^* )^1000作为C ̂,在d_(i,k)计算中,大部分c ̂_(i^',k)都大于0,比较阈值设置为2/p,p为STs的数量,ST的sampling中采用然欧美walker,避免选择已被选中过的ST。
下面给出文章的部分可视处理结果。



参考文献
[1]Parsing IKEA Objects: Fine Pose Estimation. Joseph J. Lim, Hamed Pirsiavash, Antonio Torralba. iccv13.
[2]FPM: Fine pose Parts-based Model with 3D CAD models. Joseph J. Lim, Aditya Khosla, Antonio Torralba. eccv14.
[3]Seeing 3D Chairs: Exemplar Part-Based 2D-3D Alignment Using a Large Dataset of CAD Models . Aubry M, Maturana D, Efros A A, Russell B C, Sivic J. cvpr14.
[4]Learning descriptors for object recognition and 3D pose estimation. Wohlhart, Paul, Lepetit, Vincent. Cvpr15.
[5]LMI-based 2D-3D registration: From uncalibrated images to Euclidean scene. Paudel, Danda Pani, Habed, Adlane, Demonceaux, Cedric, Vasseur, Pascal. Cvpr15.
[6]A coarse-to-fine model for 3D pose estimation and sub-category recognition. Mottaghi, R, Xiang, Yu, Savarese, S. cvpr15.
[7]Enriching object detection with 2D-3D registration and continuous viewpoint estimation. Choy, Christopher Bongsoo, Stark, Michael, Corbett-Davies, Sam Savarese, Silvio. Cvpr15.
[8]Motion from Structure (MfS): Searching for 3D Objects in Cluttered Point Trajectories. Jayakorn Vongkulbhisal, Ricardo Cabral, Fernando De la Torre, João P. Costeira. Cvpr16.

1 0