[論文閱讀] Rotation Equivariant Siamese Networks for Tracking

How哥
5 min readJun 24, 2021

--

追蹤會旋轉的物件

CVPR 2021的論文

Introduction

旋轉,是對於視覺的物件追蹤中的大難題之一。我們都知道 CNN 有平移不變的性質,但卻沒辦法解決旋轉的問題。

這篇論文發現如果有物體在被追蹤時有旋轉,可能會造成追蹤失誤,為了避免這種錯誤,他們提出了一個網路叫做 RE-SiamNets 的孿生網路,他能在兩幀之間粗估物件的旋轉量及方向,透過驗證, RE-SiamNets 真的能有效追蹤旋轉物件

如上圖我們得知,先經過 Encoder 再旋轉後的 feature 和先經過旋轉再經過 Encoder 的 feature 有些不同,這表示由 CNN 組成的 Encoder 並不能很好的處理旋轉問題

也許有人會想用 data augmentation 來解決這個問題,但作者也提到,由於不知道物件會怎麼樣旋轉,如果用 data augmentation 就要花上很多時間來生成各種不同角度的圖片,資料量一變多,訓練起來也相當費時

這篇論文旨在如何讓模型學習追蹤旋轉後的物件,且不用大量的 data augmentation

Challenges of tracking

現在有很多追蹤器只使用孿生網路的來追蹤任一物件,用的方法是察看跟前幾個 frame 的相似程度做對比,用內積的方式來對 template feature 和 candidate feature 來做比較,有些追蹤器甚至捨棄了 online updating (意思是查看自己之前的 frame),轉而去學習更強健的 feature。

在視覺追蹤中有很多困難,其中大多跟演算法有關係,比如說要如何去應對明暗變化、目標的平面旋轉、立體旋轉、物件被遮擋等問題。雖然現在有很多新的模型使用大型資料集和深度 CNN 來展現強大的進步以及辨識能力,但目標被遮擋和旋轉仍然有待被解決

Equivariant CNNs

在追蹤物件的過程中,物件不但會平移以外,還會有旋轉,有可能指是平面的旋轉,也有可能是立體方向的旋轉,除非在 CNN 網路架構中有調整,不然都會導致訓練時的偏差

SiamRPN++中,有提出一種訓練方法,只能訓練時可以修除平移時 feature 的偏差,但卻還沒有人討論過物件旋轉時應該要怎麼做,這篇論文主要是要解決這個問題

Rotation Equivariant CNNs

底下的算式是這篇論文想要達成的目標

function f 代表 convolutional neural network,psi 下標 g 代表 group of transformation (很多不同的角度轉換),作者希望把物件轉換後丟入 convolution 和先把物件丟入 convolution 再進行轉換後結果的 feature是相同的

上圖顯示一個 template frame 經過 rotation equivariant convolutions可以產生不同角度的 feature ,再把這些 feature maps 拿去跟 target frame 運算(cross correlation),最後做 group max pooling 就能得到它跟哪一個角度的 feature 比較相近

底下是它的步驟

第三點鐘提到的 rotation-equivariant modules,在 pytorch 中的套件有時現出來,連結 https://github.com/QUVA-Lab/e2cnn

Experiment

在實驗上,作者們提出一個資料及 ROB (Rotating Objects Benchmark),富含 35 部影片,超過 10,000 個 label 和 15 種不同的物件

結論

花了很多時間看這篇論文,結果中間的數學式子很多都看不懂,作者還有用到一個叫做 steerable filter 的網路來訓練一串 weight,維持旋轉後 feature 的不變性,結果我查Equivariant Steerable CNNs 這篇論文,竟然高達58頁,真的快要吐血,我也沒辦法用中間的數學式子來推斷它的貢獻是什麼,也沒有提供程式碼,處處碰壁,這可能是我看過最難看的論文了,有興趣的可以透過底下的連結去看,那些所謂奇怪的數學式子,未來有看懂我會繼續補充這篇文章

--

--

How哥
How哥

Written by How哥

台灣科技大學資工所研究生,把有趣的電腦視覺論文整理上來,希望能幫助到有需要的人,聯絡信箱 b10515007@gmail.com

No responses yet