ECCV 2020最佳论文讲了啥?作者为ImageNet一作、李飞飞高徒邓嘉
蕭簫發自凹非寺
量子位報道公眾號 QbitAI
作為計算機視覺三大頂會之一,備受矚目的 ECCV 2020(歐洲計算機視覺國際會議)最近公布了所有獎項。
其中,最佳論文獎被 ImageNet 一作、李飛飛高徒鄧嘉及其學生摘得。
這篇名為《RAFT: Recurrent All-Pairs Field Transforms for Optical Flow》的論文,究竟講了啥?
一起來學習一下。
視頻中的「光流預測」
在解讀這篇論文前,先來大致回顧一下論文涉及的領域,即光流預測。
光流預測是什么
在計算機視覺中,光流是一個有關物體運動的概念,指在一幀視頻圖像中,代表同一目標的像素點到下一幀的移動量,用向量表示。
根據光流的亮度恒定假設,同一物體在連續的幀間運動時,像素值不變(一只小鳥不會在運動時突然變成鴨或者飛機)。
所以這個運動的過程,就像是光的“流動”過程,簡稱光流,預測光流的過程,就被稱之為光流預測。
應用上,光流通常會用于視頻中的目標跟蹤,例如 TLD 算法。
此外,光流還可以作為視覺里程計和SLAM 同步定位,以及視頻動作識別和視頻插幀等。
先前光流預測法的缺陷
根據是否選取圖像稀疏點(特征明顯,梯度較大),可以將光流預測分為稀疏光流和稠密光流,如下圖左和右。
其中,稀疏光流會選取圖像稀疏點進行光流估計;而在稠密光流里,為了表示方便,會使用不同的顏色和亮度表示光流的大小和方向。
針對這兩種方法,目前有傳統預測和基于深度學習的兩種經典算法。
1、傳統方法:稀疏光流估計算法
求解光流預測算法前,首先要知道孔徑問題。
如圖,從圓孔中觀察移動條紋的變化,發現條紋無論往哪個方向移動,從圓孔來看,移動的變化都是一致的。
例子再通俗一點,看看發廊的旋轉燈,燈上的條紋看起來總在往上走(其實沒有)。
其中一種傳統的 Lucas-Kanade 算法,是求解稀疏光流的方法,選取了一些可逆的像素點估計光流,這些像素點是亮度變化明顯(特征明顯)的角點,借助可逆相關性質,預測光流方向。
2、深度學習方法:FlowNet
FlowNet 是 CNN 用于光流預測算法的經典例子。
在損失設計上,對于每個像素,損失定義為預測的光流值和真值(groundtruth)之間的歐氏距離,稱這種誤差為EPE,全稱 End-Point-Error。
當然,說到這里,不得不提一句光流預測的經典數據集 FlyingChairs(飛椅)。
為了模擬目標的多種運動方式,飛椅數據集將虛擬的椅子疊加到背景圖像中,并將背景圖和椅子用不同的仿射變換,得到對應的另一張圖。
△畫風有點像玩個錘子
這個數據集也成為許多光流預測網絡必備的數據集之一。
然而,上述基于深度學習的經典光流預測算法,存在著幾個缺點,無論怎么優化,這些缺點都會因為框架自身而一直存在。
但在RAFT,這個全稱光流循環全對場變換的框架中,過往的 3 大缺點都被一一解決了:
突破局限,三點創新
第一,先前的框架普遍采用從粗到細的設計,也就是先用低分辨率估算流量,再用高分辨率采樣和調整。
相比之下,RAFT 以高分辨率維護和更新單個固定的光流場。
這種做法帶來了如下幾個突破:低分辨率導致的預測錯誤率降低,錯過小而快速移動目標的概率降低,以及超過 1M 參數的訓練通常需要的迭代次數降低。
第二,先前的框架包括某種形式上的迭代細化,但不限制迭代之間的權重,這就導致了迭代次數的限制。
例如,IRR 使用的 FlowNetS 或 PWC-Net 作為循環單元,前者受網絡大?。▍盗?38M)限制,只能應用 5 次迭代,后者受金字塔等級數限制。
相比之下,RAFT 的更新運算是周期性、輕量級的:這個框架的更新運算器只有 2.7M 個參數,可以迭代 100 多次。
第三,先前框架中的微調模塊,通常只采用普通卷積或相關聯層。
相比之下,更新運算符是新設計,由卷積 GRU 組成,該卷積 GRU 在 4D 多尺度相關聯向量上的表現更加優異。
光流預測的效果
話不多說,先上 RAFT 光流預測的效果圖。
這是在 Sintel 測試集上的效果展示,最左邊是真值,最右邊是 RAFT 預測的光流效果,中間的 VCN 和 IRR-PWC 是此前效果較好的幾種光流預測框架。
可以看出,相較于中間兩個框架的預測效果,RAFT 的預測不僅邊界更清晰,而且運動的大小和方向準確(看顏色)。
此外,在 KITTI 數據集上的預測效果也非常不錯。
圖左的幾輛小車被清楚地預測了出來,而圖右中,駕駛方向不同的車輛也能用不同的顏色(紅、藍)區分標記。
不僅小視頻,在 1080p 的高分辨率視頻(DAVIS 數據集)中,光流預測的效果也非常不錯。
有意思的是,在訓練參數(下圖橫軸)幾乎沒有明顯增加的情況下,RAFT 在一系列光流預測框架中,EPE 誤差(下圖縱軸)做到了最小。
由上圖可見,團隊同時推出了 5.3M 參數量和 1.0M 輕量級的兩個框架,EPE 誤差效果均非常好。
從效果來看,在 KITTI 數據集上,RAFT 的 F1-all 誤差是 5.10%,相比此前的最優結果(6.10%)減少了 16%;在 Sintel 數據集上,RAFT 只有 2.855 像素的端點誤差(End-Point-Error),相比先前的最佳結果(4.098 像素)減少了 30%。
不僅推理效率高,而且泛化能力強,簡直就是光流預測中各方面超越 SOTA 的存在。
那么,RAFT 的框架究竟是怎么設計的呢?
高性能端到端光流網絡架構
從圖中可見,RAFT 框架主要由三個部分構成:特征編碼器、相關聯層(correlation layer)和基于 GRU 的更新運算器。
其中,特征編碼器主要用來從輸入的 2 張圖中提取每個像素的特征,期間也包括一個上下文編碼器,專門用來提取圖 1 的特征。
至于相關聯層,則構建了一個 4D 的W×H×W×H相關聯向量,用于表示所有特征向量對的點積(內積)。當然,這個 4D 向量的后 2 維會被多尺度采樣,用于構建一系列多尺度向量。
下圖是構建相關聯向量的方法,從圖中可見,作者將用了幾個 2D 片段來描述一整個 4D 向量。
在圖 1 的一個特征向量中,構建了圖 2 中所有向量對的點積,從而生成了一個 4D 的W×H×W×H向量(其中,圖 2 的每個像素產生一個 2D 的響應圖)。
這樣,就能用大小為{1,2,4,8}的卷積核對向量進行平均采樣了。
而更新操作器,則通過光流預測,來重復更新光流,以展現這一系列多尺度向量的向量值。
總結歸納一下,RAFT 的框架流程分為三步,對每個像素提取特征,計算所有像素對的相關性,高效迭代更新光流場。
目前,RAFT 框架已經放出了 GitHub 的項目鏈接,想要學習代碼、或者復現的小伙伴們,可以戳文末傳送門~
作者介紹
這篇論文的第一作者是 Zachary Teed。
Zachary Teed 目前在普林斯頓大學讀博,是視覺與學習實驗室的一名成員,導師為鄧嘉。目前的主要研究方向為視頻 3D 重建,包括運動、場景流和 SLAM 中的結構。
此前,他曾獲圣路易斯華盛頓大學的計算機科學學士學位,并在那里取得了 Langsdorf 獎學金和 McKevely 研究獎。
而論文二作,則是普林斯頓大學計算機科學系助理教授鄧嘉。
鄧嘉曾于 2006 年本科畢業于清華大學計算機系,隨后赴美國普林斯頓大學讀博。
2007 年,李飛飛回到他的母校普林斯頓大學任職后便開始啟動 ImageNet 項目,李凱教授作為支撐,將鄧嘉介紹到李飛飛的實驗組中,2012 年鄧嘉于普林斯頓大學獲計算機科學博士學位。
這并非他第一次獲 ECCV 最佳論文獎。
2014 年,鄧嘉就曾憑借論文《Large-Scale Object Classification Using Label Relation Graphs》獲得當年的 ECCV 最佳論文獎,并且是該研究的第一作者。
除此之外,他也是ImageNet論文的第一作者。
傳送門
論文鏈接:
https://arxiv.org/abs/2003.12039
項目鏈接:
https://github.com/princeton-vl/RAFT
總結
以上是生活随笔為你收集整理的ECCV 2020最佳论文讲了啥?作者为ImageNet一作、李飞飞高徒邓嘉的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哦饼干属于什么垃圾啊?
- 下一篇: 墨子名言名句100句(墨子名言)