[論文筆記] 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定制引擎Myway简介

我写的面向web元宇宙轻量级系列引擎中的另外一个,在线3D定制引擎Myway 3D。 用于在线商品定制,比如个性化服装的定制、日常用品(如杯子)、家装(被套)等物品的在线定制。 特性列表: 可更换衣服款式,按需定制更换模型可实时更改材质颜色可实时添加文本,并可实时修改大小、颜色和角度,支持自定义字体可实时添加艺术图标,并可实时修改大小、颜色和角度,支持翻转、各种对齐可更改衣服图案,按需求定制

brew install opencv@2 时报错 Error: Can't create update lock in /usr/local/var/homebrew/locks!

解决方案,报错里已经说明了: 我的解决方案: sudo chown -R "$USER":admin /usr/local   stackoverflow上的答案 I was able to solve the problem by using chown on the folder: sudo chown -R "$USER":admin /usr/local Also you'

BD错误集锦1——[Hive]ERROR StatusLogger No log4j2 configuration file found. Using default configuration:

错误描述:在使用IDEA进行jdbc方式连接到hive数据仓库时,出现以下错误:                ERROR StatusLogger No log4j2 configuration file found. 问题原因:缺少log4j2.xml文件   <?xml version="1.0" encoding="UTF-8"?><Configuration><Appender

POLYGON Horror Carnival - Low Poly 3D Art by Synty

465 个独特的预设模型 一个正在运行的摩天轮和旋转木马 包括10个示例脚本,让嘉年华栩栩如生 ◼ 描述◼ 欢迎来到恐怖嘉年华。这个地方曾经有诱人的音乐,现在却有着令人不安的旋律,暗示着其中令人不安的惊喜。 这场险恶的盛会的真正核心在于演示场景。它使用3D低多边形资源构建,具有来自不祥的狂欢帐篷、摊位、摩天轮、旋转木马等游戏开发资源。它是疯狂人物与毫无戒心的寻求刺激者玩捉迷藏游戏的完美狩猎场。

自动驾驶---Perception之Lidar点云3D检测

1 背景         Lidar点云技术的出现是基于摄影测量技术的发展、计算机及高新技术的推动以及全球定位系统和惯性导航系统的发展,使得通过激光束获取高精度的三维数据成为可能。随着技术的不断进步和应用领域的拓展,Lidar点云技术将在测绘、遥感、环境监测、机器人等领域发挥越来越重要的作用。         目前全球范围内纯视觉方案的车企主要包括特斯拉和集越,在达到同等性能的前提下,纯视觉方

3D模型相关生成

3D模型相关生成 1. DreamFusion Model DreamFusion Model 是一种将文本描述转化为三维模型的技术。你可以想象它是一个“魔法翻译器”,你告诉它一个场景或物体的描述,比如“一个飞翔的龙”,它就能生成一个相应的 3D 模型。 原理: 文本到图像生成:DreamFusion 首先将文本描述转化为一系列可能的 2D 图像。这部分利用了预训练的扩散模型(如 DALL

初学WebGL,使用Three.js开发第一个3d场景示例

使用Three.js 开发3d场景   在图书馆偶然撞见《Three.js开发指南》一书,便试着捣鼓一翻,现将第一个示例的部分代码、注解和相关方法的API记录在此。因为此书发行时是Three.js r69版本,所以当前部分代码有所修改,且所有方法和参数以官方最新版本Three.js r90为准。 <!doctype html><html lang="en"><head><meta char

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览(一)问题的提出(二)文章工作 二、理论背景(一)密度比估计DRE(二)去噪扩散模型 三、方法(一)推导分类和去噪之间的关系(二)组合训练方法(三)一步精确的似然计算 四、实验(一)使用两种损失对于实现最佳分类器的重要性(二)去噪结果、图像质量和负对数似然 论文:Classification Diffusion Models: Revitalizing

论文阅读--Efficient Hybrid Zoom using Camera Fusion on Mobile Phones

这是谷歌影像团队 2023 年发表在 Siggraph Asia 上的一篇文章,主要介绍的是利用多摄融合的思路进行变焦。 单反相机因为卓越的硬件性能,可以非常方便的实现光学变焦。不过目前的智能手机,受制于物理空间的限制,还不能做到像单反一样的光学变焦。目前主流的智能手机,都是采用多摄的设计,一般来说一个主摄搭配一个长焦,为了实现主摄与长焦之间的变焦,目前都是采用数字变焦的方式,数字变焦相比于光学

在WinCE的C#编程中,需要静态调用C++的动态库,需要添加using System.Runtime.InteropServices

using System.Runtime.InteropServices;         [DllImport("Win32DLL.dll", EntryPoint = "WriteREG_SZToRegTCHAR")]         private static extern bool WriteREG_SZToRegTCHAR(int iFlag, string regKeyP