聯合編譯:陳圳、章敏、Blake
摘要
數據驅動方法在邊緣檢測領域已被證明是有效的,且在最近的基準測試中取得了頂尖的成績。然而,目前所有數據驅動的邊緣檢測都要求以手工標註區域分割或對象邊界的方式對訓練過程進行監督。特別是,人類標註者會標記出那些語義上有意義的邊緣,然後將這些邊緣用於訓練。對於學習準確檢測邊緣來說,這種強的高水平監督真的必要嗎?在本文中我們展示了一種簡單但有效的無監督訓練邊緣檢測的方法。為此我們利用了圖像運動來進行。更特別地的是我們的方法唯一輸入是幀之間的嘈雜半稠密匹配。我們從對邊緣的(圖像梯度)初步知識開始,在提高運動估計和邊緣檢測之間來輪流切換。通過使用龐大的視頻數據素材,用我們的無監督方法訓練出的邊緣檢測器已接近用完全監督方法訓練的同類邊緣檢測器(差異在 3-5% 範圍內)。最後,當將深度神經網絡應用到這些邊緣識別器時,我們的方法為對象檢測提供了一種嶄新的預訓練模式。
1.引言
人類視覺系統很容易感知識別圖像的突出邊緣。突出邊緣對於如光流、物體檢測、物體建議等分類任務相當有用,所以建造同樣視覺能力的機器系統對邊緣檢測也應該很有趣。然而,以往的嘗試都表明邊緣檢測相當有難度,早期的方法大多依靠於亮度和色彩梯度等低階指令。優化架構雖然能提高測試結果,但準確度仍然明顯低於人類表現。
由人類標記邊界組成的BSDS數據集,在邊緣檢測的關鍵轉變上奠定了基礎。與其他倚靠複雜手工特性不同,Doll´ar等人提出了一種數據驅動、監督型的方法用來學習檢測邊緣。現在的邊緣檢測器都是基於這個理念建造的,並潛在推動技術往使用更加精密的學習範例方向發展。
然而,現有的數據驅動方法都要求嚴格的訓練監督。特別是像BSDS一樣的數據集,人類標記者通過他們的圖像構築經驗來標記語義上有意義的邊緣。另外,最近的邊緣檢測器使用ImageNet來預先訓練。在本文中,我們來進行探討:目標級監督對於邊緣檢測是否不可替代?另外,邊緣檢測能在完全無人類監督下進行嗎?
我們提出使用運動取代人類監督來訓練邊緣檢測器。運動邊界是圖像邊界的一部分,如圖1所示。因為圖像邊界能夠用來獲得正面的訓練樣本。另一方面,在離運動邊界較遠的未知可能也包含圖像邊界。幸運的是,因為邊緣很少,簡單的對隨機位置取樣也能提供很少錯誤的負面訓練結果。因此通過對假設準確動作預估,我們能夠為邊緣檢測獲得無限的訓練數據。
圖1
確實,光學流動和邊緣檢測時緊緊耦合在一起的。最新,Revaud等人提出了EpicFlow,給出一個具體的邊界地圖和框架之間的半稠密匹配,EpicFlow生成稠密的補充匹配結果,這符合最新的結果預期。
這個想法啟發了我們的方法,我們一開始僅使用半稠密來匹配框架和基準圖片(簡單的圖像梯度)。然後
在計算匹配流動和最佳圖像邊緣之間反覆進行運算,在大量視頻數據的訓練下,我們獲得高度精密的正向反饋和隨機負向反饋,我們使用這些數據對我們的檢測器進行提高,我們的結果如圖2所示。
圖2
我們對結構化邊緣(SE)和整體化邊緣(HE)進行了試驗。SE是基於構築架構,HE是基於深度網絡。SE更快,HE更準確。兩種檢測器都實現了目前最佳的結果。本文主要的結果是,通過使用我們的無監督方法進行訓練,這兩種都實現了完全監督訓練下的同等表現。
最後,我們證明這是能夠作為一種新穎的針對深度網絡的無監督預訓練方法。特別的是,當將一種神經網絡微調用來物體檢測時,使用權重學習邊緣檢測比使用隨機已有權重表現要好。雖然結果還很初步,但我們相信這是未來探索一個很有希望的方向。
2.相關工作
邊緣檢測:
早期的邊緣檢測器是使用圖像梯度和質感梯度手工設計的。相關性強的是這些邊緣檢測器是數據導向訓練的。在加入多重分類、特性學習、衰減、結果預測和深度學習後,這些問題都得到較好堅決。這些方法都要求嚴格的訓練監督,在這個工作中我們探索無監督學習是否能被替代(針對我們的實驗談論)
光學流動:
全面回顧已超出我們的研究能力,我們主要是研究利用少數匹配和圖像邊緣做評價的方法。特別是我們運用邊緣反饋,從稀到密的匹配添加來進行密集動作的描述。我們的關注點不在視覺估計,我們更加關注在沒有人類監督下進行的邊緣和邊緣評價結果的聯合。
利用運動進行知覺分類。在人類視覺中,運動在分類和物體識別中起著至關重要的作用。Ostrovsky等人利用視力剛恢復的人來進行視覺技巧研究,結果顯示運動提示對於物體分類和識別能力十分重要。我們的研究也是受此啟發:旨在利用運動提示研究邊緣探測器。
利用視頻進行研究:把視頻作為視覺學習表現的監督信號是最近興起的方法,例如,把提高相鄰視頻的相似性,學習連續幀的潛在表現,或是學著預測消失的或是未來的幀。Wang和Gupta利用物體追蹤並加強被追蹤幀在視頻中的相似性,而不是通過簡單加強視頻中連續幀的相似性。結果網絡很容易做出正常評價和物體探測。正如我們所展示的那樣,我們的方法可作為一個新穎無監督且先於訓練的體系。但是在之前的方法中,訓練目標僅僅是作為一個代理去鼓勵網絡學會一個有用的表達,我們最初的目標是訓練邊緣探測器,而學會表達僅僅是一個意外結果。
3.從視頻中學習邊緣
我們最開始是使用電腦視覺中的標準工具製作一些簡單的提示,例如點對應和圖像梯度。我們使用DeepMatching去獲得連續兩幀(I,I』)之間的半稠密匹配。為匹配成功DeepMatching會計算不同部分和規模之間的聯繫。但與其名字剛好相反的是,此方法並未涉及到深度學習。在本文剩餘部分,我們會完善M的匹配結果。
我們提倡使用在圖2和算法1中提到的迭代過程。梯度級僅是圖像邊緣的粗略估計,因此可作為一個合理的起始點。在接下來的部分中我們更加詳細地討論此過程。
3.1 方法細節
EpicFlow
EpicFlow作為圖像對輸入(I,I'),圖像之間的半稠密匹配M和第一幀的邊緣圖E。它能有效地計算出由E決定的在M中所有像素和匹配點之間的近似測地距離。對於每一個像素,測地距被用於尋找與K最接近的匹配,以及由加權組合的運動矢量決定的源像素運動。最後的優化是是使用最小的能量變化產生高精度的邊緣保護流向圖。我們會為讀者提供更多細節。
運動邊緣檢測
在給定的光流估計中進行運動邊緣檢測極具挑戰性,如圖3。Weinzaepfel等人表示基於流動圖的簡單梯度計算,結果往往不太理想,且對於運動邊緣檢測不提倡使用以數據驅動的方法。在本項研究中,我們會使用一個相對簡單但效果驚人的方法。我們使用基於圖像邊緣訓練過的邊緣檢測器,為進行運動邊緣評估把(圖像)邊緣檢測器運用於有顏色編碼的流向圖。通過色彩,高度及飽和度對流動動向進行編碼,把光流映射的2D流量矢變成3D的顏色空間。動作邊緣經此編碼變得十分清晰(我們嘗試過其他顏色空間但HSV表現最好)。在有顏色的流向圖使用邊緣探測器,能讓我們簡單了解運動邊緣檢測機制。
圖3.運動邊緣檢測的解釋。(a)輸入圖片。(b)基於輸入圖片添加顏色。(c)通過運用邊緣檢測器計算運動邊緣。(d)經校對後的邊緣。經校對後的邊緣可作為訓練邊緣檢測的監督信號。
運動邊緣校對
從流向計算出的運動邊緣與圖像邊緣有些許不符。我們發現這會對訓練造成不利影響,尤其對於HE來說,其產生的邊緣較厚。為校對運動邊緣,我們使用簡單的探索方法:在運用非最大化的抑制和闕值後,我們把在彩色圖像中探測到的超像素和運動邊緣進行校對。尤其,我們利用涵蓋90%圖像邊緣的SLIC超像素,使用雙向匹配(同樣也適用於BSDS評價中)對運動和邊緣的超像素進行匹配。經匹配的運動邊緣像素會轉移到超像素邊緣位置,而為匹配的運動邊緣會被丟棄。這一改良(如圖3d)能幫助我們過濾邊緣不清楚的圖像進而精準定位。
我們強調我們的目標並不是探測所有的邊緣。對於訓練只需一小部分精準判斷。但是由於校準過程,我們的取樣會稍有偏移。特別一些缺少對應圖像邊緣的運動邊緣會經常缺失。而此缺陷和表現的影響會在第4部分進行討論。
訓練:經校對過的運動邊緣圖能作為訓練邊緣探測器的監督信號。陽性是在有準確率較高的地方進行取樣。陰性是統一從有教小臨界值的運動邊緣中進行取樣。但並未考慮運動邊緣的模糊的地方。如我們將會展示一樣,如此收集的樣本對於訓練來說會是一個將強的監督信號。
視頻數據集
對於訓練,我們會聯合來自兩個不同部分的視頻數據集:視頻分割標準(VSB)和YouTube物體數據集。我們使用這兩個數據集中的所有高清視頻(100+155)。省略掉Youtube物體數據集中的解釋。視頻的收集將會超過500K,對於邊緣檢測的訓練來說已足夠。
幀過濾。在給定的大量數據中,我們運用探測的方法選擇對於運動評估來說最清楚的幀。首先我們會使用ORB廣義匹配(計算很快)在連續幀之間安裝單應矩陣。接著省去匹配度不高的幀,運動較慢(最大移位<2像素),運動較廣(平均移位>15像素),或是全局平移移動。這些探索方法移除了光流不可靠或是包含運動邊緣較少的幀。在所有試驗中我們使用修剪過的50K左右的幀。
3.2 邊緣檢測器的細節
我們使用分別基於樹狀和深層網絡的結構化邊緣(SE)和整體化邊緣(HE)探測器進行試驗。SE因其準確度高且速度快被廣泛運用,例如,流向評估和物體建議。HE方法更新但取得的效果不錯。當使用未經監督的體系進行研究時,這兩種方法的表現與在監督環境下的表現結果一致。
結構化的邊緣(SE)
SE是通過提取較低水平的圖像特徵,如顏色和梯度渠道,進行邊緣預測。這一方法通過結構化標籤學習決策流程以決定在每一節點的相應功能。在測試中,每一個決定都為相應的節點輸入。最終的圖像是由每一個節點的重合部分構成的,而由此方法的結果也會很好。我們在訓練中也會使用相同的參數。這一樹狀體系會有8個分支,每一分支最深會有64層。每一樹狀是由隨機選擇的106數據集進行訓練,而這一數據集的陰性和陽性部分數量都一樣。在訓練中,我們把地區邊緣節點轉化為分割任務,就如SE計算邊緣相關部分一樣。我們會捨棄未跨越整個邊緣的部分。在訓練中的每一次迭代,樹狀系統都能從相互摩擦中有所收穫。在測試時,為達到最好效果我們會在各範圍運行SE。
整體邊緣化(HE)
HE使用改良的VGG-16網絡系統且帶有跳層之間的聯繫和深層監督。實施過程如下。我們會去掉所有的連接層,留下匯聚層,結果是結構只剩下13層迴旋層和4層匯聚層。通過附加線性分類器(1×1卷積)跳層能實施為各階段的最後一個轉化層,他們的結果都是用於產生最後的圖像。在我們的實施中,我們去除了最深層次的監督(每一層都有不同的缺失函數)因為我們發現單一的函數缺失所受懲罰較小,更易用於訓練。
我們用調整過的且在ImageNet進行過訓練的網絡和隨機初始化的網絡進行試驗。對於調整,我們使用參數為學習率1e-6,重量衰變.0002,動量.9和批量10。從摩擦中進行學習時,我們在每一個卷積塊的終點加上批量化層。這加速了訓練也提高了匯聚。我們同樣也提高了學習率(1e-5),重量衰減(.0005)。每一次迭代會對網絡進行40次訓練,這減少了一半的學習率。與SE不同,我們能從之前的迭代中重複使用網絡作為後續迭代的起點。
4.試驗和結果
我們對於每一個任務都使用2種不同的邊緣檢測器(SE,HE)且提供較為廣泛的標準。我們的主要研究成果是,只用視頻進行訓練的圖像邊緣檢測器與全面監督的訓練模式相比,實現的成果更好。作為研究方法的副成果,我們同樣產生了具有競爭力的光流動和運動邊緣結果。最後,我們展示了使用視頻的網絡在物體檢測方面有所提高。
4.1運動邊界檢測
雖然我們的重點不是運動邊界檢測,但運動邊界作為我們唯一的監督信息來源,識別它是非常重要的。因此我們的第一個實驗是基於運動邊界的。
表1.基於VSB的運動邊界結果。
我們用視頻分割基準(VSB),以20幀為單位,注釋地面真實運動的邊界。我們在測試集中282個注釋的幀上報告了結果(刪除沒有運動邊界的幀並且將每個視頻最後的幀作為所需的3幀),使用了三種標準的指標進行評估:固定輪廓閾值(ODS),每幅圖像的最佳閾值(OIS),和平均精度(AP)。考慮到高精準度規則,我們引入了額外的措施:精度為召回的20%。非最大抑制適用於評估先前所有的運動邊界。
表1中報告了四種基線的結果以及我們方法中最後一次迭代的運動邊界GT(SE/HE-IMAGE).
這些基線包括:圖像邊界(SE/HE-IMAGE),光流的梯度幅值(EPLCFLOW),一種結合運動信息和超像素分割的方法(GaLasso ),以及最近的一個數據驅動的監督方法(WEINZAEPFEL)。
我們的方法,雖然簡單,但在20%召回中具有66∼67精度,僅略差於[ 43 ],即使它沒有受過針對運動邊界檢測的訓練。它在高精度規則方面基本上比它的基線好的多。雖然我們的目標不是運動邊界檢測本身,但該結果是很重要的,因為它使我們能夠獲得高質量的正樣本,它能用於訓練圖像邊界檢測器。
4.2 圖像邊界檢測
我們下一步調查了邊界檢測的性能。結果的報告基於伯克利分割數據集和基準(BSDS),它由200個訓練,100個驗證,和200個測試圖像組成。每一個圖像都注釋了地面實況邊界。我們再一次用同樣的三個標準的指標:固定輪廓閾值(ODS),每幅圖像的最佳閾值(OIS),平均精度(AP),進行了精度評估。
圖像邊界檢測是否可以被訓練用於運動邊界?我們的第一個實驗驗了這個問題。我們在VSB(591圖像)中使用了所有可利用的地面實況邊界,來訓練SE和HE。結果在表2中(SE-VSB,HE-VSB)。對於這兩種方法,與用圖像邊界監督(SE-BSDS,HE-BSDS)訓練相比,結果都是在2到4點ODS。我們的結果表明:使用運動邊界進行圖像邊界檢測的學習是可行的。
我們接下來展示了使用視頻作為監督信號的結果(SE-VIDEO,HE-VIDEO)。相比於監督情況下.746(SEBSDS),SE-VIDEO實現了.724ODS。HE的結果相似(.748和。785)。如結果所示,使用視頻監督達到了競爭的結果(3%到5%之間)。有趣的是,從視頻學習略勝了使用地面實況運動邊界訓練。我們認為這是最小規模的VSB。
表2BSDS測試集的邊界檢測結果。我們提供了使用了三種標準指標:BSDS, VSB, and
VIDEO (非監督)訓練SE和HE的結果。HE在ImageNet上使用了VGG網絡進行預訓練,HE†表明網絡是從零開始訓練的。
對於HE,我們實驗開始於一個ImageNet預訓練模型和從零開始訓練(HE†)。HE在整個訓練場景中大大受益於在ImageNet的預訓練。這是令人鼓舞的,因為它意味著對象級知識,對於邊界檢測是有用的。另一方面,我們的視頻監督方案同樣在ImageNet預訓練中受益,因此,這意味著,在我們目前的設置沒有訓練出模型的全部潛力。
為了探討性能如何演化,圖4中,對於兩種方法,我們在每一次迭代中都設置了ODS分數。在迭代0中Raw圖像梯度為。543ODS(未展示)。隨著大多數的收益進入第一次迭代,我們的迭代過程從圖像梯度中提供了顯著的改善。4次迭代之後,性能達到飽和(最後一次迭代,我們對SE使用了4百萬的樣本,對HE使用了80次訓練,略微增加精度)。
圖4.在迭代上收斂ODS和AEE。
圖5中我們提供了可視化的邊界結果(在NMS之前)。SE損失了一些薄弱的邊界,但邊界仍然很好地對準圖像內容。由於使用向下採用卷積特徵圖,HE一般會產生較厚的邊界,這使它很難產生尖銳的圖像邊界。結果HE-VIDEO/HE†-VIDEO,有著比HEBSDS/HE†-BSDS更厚的邊界,可能是由於抽樣策略用於運動邊界訓練。使用視頻訓練時,我們也觀察到,邊界檢測的輸出好的區域更少,並且更趨向於丟失薄弱的邊界,這可能導致很大的性能差異。
4.3光流
我們在Middlebury和MPISintel數據集檢測光流。Middlebury被廣泛的使用,並且用很小的位移,組成複雜的運動。Sintel是從動畫序列,大位移特徵和挑戰性的光照場景中獲得的。我們使用了Sintel的「最終」版本,並且用公共的地面實況在訓練集中測試。由於目標是測試產生邊界的質量,我們只集中於EpicFlow的版本,和SInte如CVPR2015l,最高性能的方法。
圖5 5個樣本圖片邊界檢測結果的說明(和[11]中使用的一樣),前兩排展示了原始圖片和地面實況。第二和第三排是使用BSDS或VIDEO訓練SE的結果。剩下的圖顯示了變型的HE在BSDS或者VIDEO中的結果。HE†表明網絡是從零開始訓練的。
表3.不同版本邊界圖EpicFlow的精準度。
表3顯示了在Sintel和Middleburry使用不同邊界圖時,EpicFlow的平均終點誤差(AEE)。大部分的邊界圖在Sintel引發了相同的結果(AEE在3.6~3.8附近)。特別是,使用SE-BSDS邊界的原始EpicFLow;有SE-VIDEO邊界的結果幾乎是一樣的。上面的結果是從HE-BSDS中獲得的,而HE-VDEO和HE†-VIDEO結果稍差。在Middleburry中方法的排名是相似的。
作為上限,我們還介紹了給定地面實況(GT)動作邊界的EpicFlow。精準度僅僅略微的優於最好的學習邊界圖。這意味著當前給定的匹配中EpicFlow的性能達到飽和。
最後,圖4中每一幀我們都將AEE設置在Sintel上。所有的方法都提高了初始流量(AEE 4.016,不顯示),在幾次幾次迭代之後結果再次飽和。
4.4目標檢測
最後,我們測試了用於邊界檢測的無監督訓練方案,能否被用於預訓練目標檢測網絡。
最近一個很有趣的問題,強監督對於學習目標檢測的良好視覺代表,是否必不可少。儘管不是工作的重點,我們證明了我們的方案同樣可以用於網絡初始化。
在該實驗中,我們使用了HE†邊界檢測器(未經過ImageNet預訓練)。鑑於[39]中的建議,實驗使用了 PASCAL VOC 2007 and the Fast R-CNN目標檢測器。結果通過了主集合平均準確率(mAP)評估。我們使用了兩種網絡對比結果。VGG和ZF,以及四個訓練方案:無預訓練,在 BSDS (HE†-BSDS)上預訓練,以及使用視頻(HE†-VIDEO)預訓練。使用40K迭代訓練-Val集微調所有的網絡(從零開始時120K迭代)。表4中總結了結果。
表4.在 PASCAL VOC2007測試中使用VGG(左)和ZF(右)的目標檢測結果。
VGG結果:我們嘗試在VOC中從零開始訓練VGG,但沒得到有用的結果。甚至在120K迭代後檢測的性能仍然很低(~15mAP)。在BSDS上預訓練網絡邊界檢測時,我們在PASCAL上的性能達到了42.1mAP。有趣的是,使用視頻訓練時,我們看到了mAP中超過了兩個點的提高(儘管同樣的網絡差於邊界檢測)。
ZF結果:我們也進行這樣的實驗,訓練一個更小的只有5個卷積層的ZF網絡。我們微調網絡邊界檢測,以便調整不同層之間的輸出。由於ImageNet預訓練,調整了ZF網絡的Faet R-CNN在PASCAL中性能達到了58.6mAP,而沒有預訓練,mAP則下降到38.2。目標檢測預訓練,無論有無監督,在從零開始訓練中性能都提高了~3mAP。
綜上所述,我們總結出,目標檢測預訓練,可以提高訓練從零開始檢測器的性能(無論有無監督)。然而。ImageNet預訓練本質上仍取得更好的效果。
4.5局限
在目標檢測方面,無監督訓練為什麼沒有比監督訓練表現更好?理論上,一個足夠大的視頻集,應該提供一個無限制的訓練集,並且在這足夠大的集合中邊界檢測器的性能,應該優於那些更小的監督訓練集。然而,有很多問題普遍的限制了性能。(1)在薄弱的邊界方面,現存的流方法缺少精準度,另外,我們的調整方案也移除了薄弱的邊界。因此,薄弱邊界從我們的訓練集中遺失了。(2)進一步提高圖片邊界不會改善光流,見表1.我們猜想,幀之間的匹配是EpicFlow的限制因素,而且直到他們提高,在當前方案中的光流和邊界也不會改善。(3)訓練受到噪音標籤幹擾,在特殊情況下,遺失了重要的標籤,消極的標籤,如果沒有妥善處理,會控制後期階段的梯度。
無監督學習方案是否捕獲了目標級信息?目標的定義由它的邊界決定,相反很多的邊界只能被目標的知識識別。我們在邊界和目標檢測的結果,支撐了這個聯繫:一方面,ImageNet預訓練對於邊界檢測是有用的,或許因為它在網絡中注入了目標級的信息。另一方面。預訓練一個邊界檢測網絡改善了目標檢測。原則上,邊界網絡需要學習高級別的波形信息,這或許可以解釋預訓練的效果。然而,我們注意到在整個情景中,ImageNet的預訓練仍然有益於邊界檢測。而且,在目標檢測方面ImageNet預訓練本質上仍然優於視頻預訓練。顯然,在捕獲目標等級信息方面,當前的無監督方案沒有和ImageNet預訓練一樣好的效果。
5.討論
本文中,我們提出在沒有明確監督時從視頻中獲得運動邊界以便學習邊界檢測。
我們開發了一個迭代過程,使用邊界結果交替更新光流之間的關係,並且學習基於光流的邊界檢測器,使精準度和流得以增加。
我們論文的主要結果是邊界檢測器在訓練使用我們的無監督方案後,能達到和完全監督訓練一樣級別的性能。
此外,我們證明了我們的方法可以用於深度網絡的新型無監督預訓練方案。儘管預訓練的結果不理想,我們堅信它是未來探索中一個非常有前途的方向。
從長遠來看我們堅信,當無監督的方法可以訪問無限的數據時,邊界檢測的無監督學習有潛力勝過監督訓練,而我們的工作是該方向非常重要的第一步。
via FAIR CVPR 2016
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。