[論文筆記] Monocular Pose Estimation of 3D Objects using Temporally Consistent Local Color Histograms

本文主要是介绍[論文筆記] Monocular Pose Estimation of 3D Objects using Temporally Consistent Local Color Histograms,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Real-Time Monocular Pose Estimation of 3D Objects using Temporally Consistent Local Color Histograms

這是小弟第一篇論文筆記,將來應該會每週更新一篇論文筆記,自己還很菜,文中有些基礎部分知識還沒理解的部分會略過,有機會的話會再補足,若內文有錯誤還請各位多多包涵不吝指正。


背景介紹:

實踐中通常會希望單台相機而不是設置多台相機使其硬體要求以及校準拼接的成本達到最低,針對以往的影像姿態及目標辨識中幾個較難克服的議題:occlusion(目標受到部分阻擋物)cluttered backgrounds(複雜場景使目標混淆)large scale change(畫面變化快速)等問題,本文中介紹了一個抓取輪廓後採取顏色分布作為前景以及背景機率的判斷方法來達到pose的tracking以及detection並在上述問題中達到了較為robust的效果並且在計算上耗費的時間較短。

步驟大致上可以分為四個步驟:ProjectionSegmentationPose TrackingPose Detection


Projection:

首先會在畫面中尋找各個feature point 然後再將各點連線形成數個triangular mesh(三角近似平面網)來描述目標在現實中的形狀。

投影在相機座標下二維成像畫面座標為: x=π(KT(X~))R2 x = π ( K T ( X ~ ) ) ∈ R 2
X:=(Xn,Yn,Zn)TR3, n=1...N X := ( X n , Y n , Z n ) T ∈ R 3 , n = 1. . . N

  • X X 為三維世界座標下的代表第n個三角近似平面的位置點
  • N N 為三角近似平面的數量
  • Zn Z n 為與座標基準點的距離

X~=(X,Y,Z,1)TR3 X ~ = ( X , Y , Z , 1 ) T ∈ R 3 , 為 X X 座標的齊性表示法,多一個元素來表示的目的為令矩陣能達到相乘向量後能夠加上另一常數向量,其物理意義為空間中兩點平移量。

在三維空間中需要以不同的位置上看到的位置是相對的,在將三維座標投影至二維成像平面之前需要使座標統一,撇除distortion的問題,三維空間中不同基準點產生的座標若互相轉換時,需要考量的物理效應為Rotation(旋轉)Translation(平移),此轉換過程為雖然是非線性的轉換,但仍透過齊性的矩陣來表示其過程,即notation中的 T T ,過程如下圖示:
这里写图片描述
T=[R3×3O1×3Tr3×11]4×4 T = [ R 3 × 3 T r 3 × 1 O 1 × 3 1 ] 4 × 4      R R 代表Rotation, Tr T r 代表Translation的block, T矩陣的element稱為extrinsic parameters

此外, 真實世界在投影至相機的過程中會有distortion的狀況, 矩陣 K K 的作用為一將其位置做Calibration(修正)K 的element稱為intrinsic parameters,其係數通常取決於distortion的種類,而distortion通常取決於相機本身的特性,而 K K 內部組成因其過程較為複雜在此先省略。
这里写图片描述

这里写图片描述
π(X)=(Xn/Zn,Yn/Zn,1)TR2

X~ X ~ 經過 K K T 之後的結果為相機座標下且已經過修正的四維位置向量, π(.) π ( . ) 為表示將三維空間投影至二維空間並藉由平面與座標基準點的比例來做scaling修正。

以上內容為參考Robust Real-Time Visual Tracking using Pixel-Wise Posteriors


Segmentation:

这里写图片描述
在pose tracking之前需要建立contour(目標投影在二維影像的輪廓)來作為區分foreground(前景)以及background(背景)的依據,其核心思想為透過局部區域偵測不同 Xn X n local color histogram(圖像中不同偵測地區的顏色分布),透過Robust Real-Time Visual Tracking using Pixel-Wise Posteriors提及的方法來抓住高度重疊的部分偵測能量的方法來抓取輪廓,其參考論文中,region-based相較於參考整個區域,對於初始化曲線位置的判斷較為robust,且具有抗噪特性,對於噪聲較不敏感,每個輪廓點在自己的局部區域內能夠最小化局部能量,進而忽略其他较遠的地方可能出现的灰度不均匀狀況。


Pose Tracking:

方法為參考PWP3D- Real-time Segmentation and Tracking of 3D Objects及作者過去的發表Robust Real-Time Visual Tracking using Pixel-Wise Posteriors。

在平面上目標的contour建立起來後,目標在整個相機座標二維成像下的樣貌已大抵確立,而整個pose tracking的過程是利用「每個位置上顏色分布的條件下是否為前景的機率」做為目標物的依據來進行追蹤,其3D形狀的依據為被判斷為contour內外與輪廓的遠近,即點至輪廓切線的垂直距離,來作為距離成像遠近的估計量值。
这里写图片描述

其計算距離的定義為Level-Set Pose Embedding:
这里写图片描述
如上述,落在背景距離為正,落在前景距離為負。



除了輪廓與形狀之外,亦須判斷其估計的合理性:
P(Φ|I)=xΩ(He(Φ(x))Pf+(1He(Φ(x)))Pb) P ( Φ | I ) = ∏ x ∈ Ω ( H e ( Φ ( x ) ) P f + ( 1 − H e ( Φ ( x ) ) ) P b ) ,
其中, He(Φ(x))Pf+(1He(Φ(x))Pb H e ( Φ ( x ) ) P f + ( 1 − H e ( Φ ( x ) ) P b 代表的是在現在偵測的影像條件下該位置對應在距離輪廓為 Φ Φ 的機率,而每個位置點的機率為獨立,則其所有位置點為前後景事件的交集,即為現在影像是否如預測的機率。

  • He(.) H e ( . ) Heaviside step function, 一般可看作為一普通step function或是sigmoid,而參考論文中定義為: He(x)=(1/π)(atan(bx)+π/2) H e ( x ) = ( 1 / π ) ( − a t a n ( b · x ) + π / 2 ) , x x 為前景時  He(Φ)  H e ( Φ ) 為1,反之則為0。

  • Pf, Pb P f , P b 為在該像素 xn x n 中對應到顏色條件下是否為前景亦或是後景的機率,可記作 P(Mf|y), P(Mb|y) ,  P ( M f | y ) , P ( M b | y ) , 其中 MfMb M f , M b 為前景及後景的事件, y=Ic(x) y = I c ( x ) , y y 代表的是color pixel,成像上的一個顏色點。

而上述的機率可以作為一測量依據來判斷現在的contour是否為真正目標的輪廓,文中Cross Entropy作為一指標:
以取預測機率的對數,以量級作為其判斷依據:
E(Φ)=log(P(Φ|I))=xΩ(He(Φ(x))Pf+(1He(Φ(x)))Pb) E ( Φ ) = − l o g ( P ( Φ | I ) ) = − ∑ x ∈ Ω ( H e ( Φ ( x ) ) P f + ( 1 − H e ( Φ ( x ) ) ) P b )
設置一 threshold t t h r e s h o l d t ,若 E/|Ω|>t E / | Ω | > t , 表示其各點 Pf P f 以及 Pb P b 所形成的交集機率過小,則判定該pose tracking已經lost,此時前一刻的frame已不可信賴,需要使用不依賴記憶性的pose detection。

另外, P(Mf|y), P(Mb|y) P ( M f | y ) , P ( M b | y ) 等條件機率的求得方法,內文使用的是Bayes Theorem,貝氏定理通常用於求解難以求得的條件機率,但若欲求條件與事件交換時可求解的已知機率與沒有條件考量的機率可得的狀況作為依據,可以現有經驗去推估其結果。
这里写图片描述
其中 xΩ(He(Φ(x)) ∑ x ∈ Ω ( H e ( Φ ( x ) ) 所代表的物理意義為前景像素的數量,原因為在contour內與之的距離 Φ(x)>0 Φ ( x ) > 0 ,而作為階函數的輸入則為1,反之則為0。

文中介紹的tracking所需要上一刻frame,則在於求取 likelihood  P(Mf|y)P(Mb|y) l i k e l i h o o d P ( M f | y ) 及 P ( M b | y ) ,使用的是一假設Temporal Consistency條件下的近似疊代式:

Pt(Mi|y)=αiPt(Mi|y)+(1αi)Pt1(Mi|y) P t ( M i | y ) = α i P t ( M i | y ) + ( 1 − α i ) P t − 1 ( M i | y ) ,   if,b i ∈ f , b , αi α i 為一自訂參數(learning rate)

藉著疊代上一刻結果的方法來預測下一刻,自己嘗試對其物理意義作一些直觀的猜測,應可看作是linear interpolation近似的結果,從時間一致性字面上來看,在時間間隔很短的狀況下下一刻與上一刻之間的 likelihood l i k e l i h o o d 與實際上下一刻的 likelihood l i k e l i h o o d 非常相近。
这里写图片描述




以上為自己近期該篇論文的心得記錄,剩下的部分, optimization algorithm以及pose detection自己的基礎尚且不夠沒能看懂看完,之後有機會會再補上。

这篇关于[論文筆記] Monocular Pose Estimation of 3D Objects using Temporally Consistent Local Color Histograms的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/242839

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

三色标记(Tri-color marking)

维基百科部分 原文 https://en.wikipedia.org/wiki/Tracing_garbage_collection#TRI-COLOR Because of these performance problems, most modern tracing garbage collectors implement some variant of the tri-color ma

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

WPF入门到跪下 第十三章 3D绘图 - 3D绘图基础

3D绘图基础 四大要点 WPF中的3D绘图涉及4个要点: 视口,用来驻留3D内容3D对象照亮部分或整个3D场景的光源摄像机,提供在3D场景中进行观察的视点 一、视口 要展示3D内容,首先需要一个容器来装载3D内容。在WPF中,这个容器就是Viewport3D(3D视口),它继承自FrameworkElement,因此可以像其他元素那样在XAML中使用。 Viewport3D与其他元素相

HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 翻译

HumanNeRF:单目视频中运动人物的自由视点绘制 引言。我们介绍了一种自由视点渲染方法- HumanNeRF -它适用于一个给定的单眼视频ofa人类执行复杂的身体运动,例如,从YouTube的视频。我们的方法可以在任何帧暂停视频,并从任意新的摄像机视点或甚至针对该特定帧和身体姿势的完整360度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的照片级真实感细节,如从输入视频中可能

Android studio jar包多层嵌套,Add library '__local_aars__:...@jar' to classpath问题

在添加jar包,早app下的build.gradle中的 implementation files('libs/jar包的名字.jar') 修改为 api files('libs/jar包的名字.jar') implementation 单层引用,只引用当前jar包层, api 多层引用,应用当前jar包层,已经jar包引用的jar包层