用更精確的泰勒級數近似改善光流估計
在電腦視覺領域,光流(Optical Flow)是一個至關重要的概念。它指的是圖像中像素的移動模式,這種技術可以幫助機器理解場景中的物體如何運動,從而應用於無人駕駛、動作識別、影片編碼等領域。
在一篇近期發表的文章PDTE: Pyramidal deep Taylor expansion for optical flow estimation中,研究者提出了一種新的金字塔架構,能納入泰勒級數的高次項,從而改善了光流演算法的表現。本文將深入淺出地介紹光流的基本概念、傳統方法的挑戰、PDTE的原理與優勢,以及它的應用場景。
回顧經典光流方程式
在光流演算法的兩大類型──differential(微分)與pattern matching(區塊匹配)中,微分類型要做的第一件事就是要推導出經典光流方程式IxVx+IyVy=-It,在推導過程中,由於圖像的完整梯度無法直接求得,必須使用泰勒級數將其展開,並只保留能輕易求值的第一項,捨去高次項,在這個過程中就產生了誤差,且由於一次微分的計算方式只和目標位置的相鄰像素有關,在實際光流大於1像素許多時該估計就可能會失準。為了解決該問題,試著納入泰勒級數中的更多項就是方法之一,困難在於高次項所需要的高次微分難以直接由圖像取得。
數學推導
在開始推導前,我們先來看兩個基本的式子,首先是:
I_{1}=I_{2}+\Delta I\Rightarrow \Delta I=I_{1}-I_{2}
這邊I代表圖片image,\Delta I就是想要算的光流。
然後是泰勒級數:
f(x)=f(x_{0})+\frac{f^{'}(x_{0})}{1!}(x-x_{0})+\frac{f^{''}(x_{0})}{2!}(x-x_{0})^{2}+\cdots+\frac{f^{n}(x_{0})}{n!}(x-x_{0})^{n}+o(x-x_{0})^{n}
也可以稍微整理一下寫成:
f(x)\approx f(x_{0})+\sum_{n=1}^{n}\frac{f^{n}(x_{0})}{n!}(x-x_{0})^{n}\Rightarrow \sum_{n=1}^{n}\frac{f^{n}(x_{0})}{n!}(x-x_{0})^{n}\approx f(x)-f(x_{0})
然後,如果我們把x當成時間維度,就可以令f(x)=I_{1}, f(x_{0})=I_{2},得到:
\Delta I\approx \sum_{n=1}^{n}\frac{f^{n}(x_{0})}{n!}(x-x_{0})^{n}
再來,需要近一步進行符號變換和式子結構的整理,其中令g_{out}^{n}=f^{n}(x_{0})(x-x_{0})^{n},於是:
\Delta I\approx \frac{f^{'}(x_{0})}{1!}(x-x_{0})+\frac{f^{''}(x_{0})}{2!}(x-x_{0})^{2}+\dots+\frac{f^{n}(x_{0})}{n!}(x-x_{0})^{n}=\frac{1}{1}g_{out}+\frac{1}{1\times 2}g_{out}^{2}+\dots+\frac{1}{1\times 2\times\dots\times n}g_{out}^{n}
然後把分母的階乘一個一個拿出來,寫成一層包一層,類似遞回的形式:
\Delta I=\frac{1}{1}(g_{out}+\frac{1}{2}(g_{out}^{2}+\frac{1}{3}(g_{out}^{3}+\dots +\frac{1}{n}g_{out}^{n})))
到這裡,已經能從遞迴形式看出與金字塔技巧的層層傳遞結構頗為類似了,而g_{out}^{n}其實就是原始金字塔第n層的輸出,然後就可以寫出改進的金字塔架構中,第n層的輸出是:
l_{out}^{n-1}=g_{out}^{n-1}+\frac{1}{n}g_{out}^{n}
到這裡,研究者已經證明了只要在每層金字塔中,加上n分之一倍的上一層金字塔輸出,就能將納入泰勒級數的高次項納入考量,且金字塔越多層,能納入的就越多項。
測試結果
研究者提出的是一種新的金字塔結構,若想真正運作,其中還需要填入一種既有的光流演算法,他們實際使用的是GMA演算法,此外也可以填如其他種演算法。為了測試此架構的表現,他們測試了五種資料集,包括FlyingChairs (FC)、FlyingThings3D (FT)、Sintel (S) KITTI2015 (K)、HD1K (H),這裡只舉其中一個例子:(附圖)
圖中,研究者用虛線框出並放大了值得關注的區域,在該區域內各種演算法的表現有較明顯的差異,而使用了PDTE架構的演算法能偵測到其他演算法難以偵測到的某些光流。
總而言之,PDTE的優點主要有三方面:
1.準確率更高:相比於單純使用RAFT和GMA等演算法,運用了PDTE架構的誤差更小。
2.更好的形狀保持能力:物體邊緣更加清晰,細節保持更好。
3.較快的收斂速度:當填入的演算法是深度學習類型時,在訓練時能夠更快完成。
結論
PDTE方法是一種創新的光流估計技術,它基於泰勒展開理論,提出了改良的金字塔架構,能夠提高準確性、保持形狀並提供更好的可解釋性。儘管目前 PDTE 仍然需要較高的計算資源,但未來隨著計算能力的提升,它有望成為光流估計的新標準。
撰稿人:劉徹
參考資料
Zifan Zhu, Qing An, Chen Huang, Zhenghua Huang, Likun Huang, Hao Fang. PDTE: Pyramidal deep Taylor expansion for optical flow estimation. Pattern Recognition Letters, Volume 180, 2024, Pages 107-112, ISSN 0167-8655
留言
張貼留言