CVPR 2018 | 商湯科技論文詳解:立體匹配神經網絡的自適應訓練
CVPR 2018正在美國鹽湖城如火如荼舉行,今天我們還將為大家分享一篇論文解讀。以下是在計算攝影領域,商湯科技發表的一篇論文,該工作通過挖掘立體匹配神經網路自身有利的特性,實現立體匹配神經網絡在新場景下的自適應訓練。基于本工作的訓練方法已應用到商湯科技的雙攝解決方案中。本文由商湯科技研究員龐家昊與商湯科技研究院副總監孫文秀等共同完成。
論文:Zoom and Learn: Generalizing Deep Stereo Matching to Novel Domains
作者:Jiahao Pang, Wenxiu Sun, Chengxi Yang, Jimmy Ren, Ruichao Xiao, Jin Zeng, Liang Lin
論文鏈接:
https://arxiv.org/pdf/1803.06641簡介
雙目立體匹配是計算機視覺中的經典問題:給定一組校準好的雙目視圖(主圖與輔圖),立體匹配旨在尋找主圖每一像素在輔圖中的對應點并得到對應的視差,從而估計視圖中所有像素的深度信息(如圖1所示)。
圖一:立體匹配示意圖
雙目立體匹配在許多領域有著重要的應用價值,例如,通過智能手機的雙攝模組模擬單反拍照的背景虛化效果,需要立體匹配算法計算出準確的深度圖;在輔助駕駛的場景中,有效的立體匹配算法能夠提供準確可靠的深度信息以保證駕駛的安全性。隨著深度學習技術的不斷發展,在特定場景下,神經網絡在立體匹配問題上已經達到了優異的性能。然而,若將某一特定場景下(如駕駛場景)訓練的立體匹配網絡直接應用到另一場景(如人像)下,其效果會大打折扣;另一方面,采集新場景下準確的深度標注信息需要相當繁瑣且昂貴的資源。
為解決此問題,本文提出了Zoom and Learn(ZOLE)方法,其結合了立體匹配網絡的性質及傳統方法中的圖拉普拉斯正則化,使立體匹配神經網絡在缺少新場景標注信息的情況下,實現自適應訓練,使其能被有效地應用到新場景之下(如圖2所示)。
圖2:(由左至右)主圖、由合成數據訓練的
網絡結果(第二、三列)、本文的結果
多尺度觀察
得益于深度學習技術的迅猛發展,在特定場景下(如駕駛場景),卷積神經網絡已在雙目匹配問題上優異的匹配精度。但若把適用于特定場景下的立體匹配網絡直接應用至另一場景中,其結果往往難以接受;另一方面,要采集新場景下準確的深度信息也并不容易。
為解決此問題,現有的工作通常利用左右一致性檢測實現半監督或無監督的立體匹配網絡訓練。然而,在實際場景下,主圖與輔圖的成像性質往往并不一致(色調、白平衡、噪聲等),使得基于左右一致性檢測的方法難以有效泛化至新場景。
不同于現有的方法,一方面本方案僅需要新場景下的一系列主輔圖作為訓練數據,而不需要新場景中正確的視差圖來監督網絡的學習;另一方面,本工作基于立體匹配網絡在不同輸入尺度下的不同表現實現自適應訓練。
圖3:兩種不同應用匹配網絡的方案
具體地,假設一個已經在舊場景下訓練好的立體匹配神經網絡S,那么對于某一組新場景下的主輔圖,若直接將其輸入到神經網絡中,可以得到新場景的視差圖(記作D)。若將輸入圖像上采樣r倍,再將上采樣后的主輔圖輸入到神經網絡中,并將神經網絡的輸出縮小r倍,可以得到另一視差圖(稱作D'),D'與D有著同樣的尺寸(如圖3所示)。本文作者發現,與D相比,通常地D'擁有更為豐富的高頻細節(如圖4所示)。
圖4:不同尺度下得到的視差圖,第一行為對應的主圖
然而,更大的放大倍數r并不一定意味著更好的結果,由表1可見,輸入主輔圖放大到一定程度后,得到的視差圖精度開始下降。
表1:
將KITTI數據集的主輔圖放大到不同分辨率后
輸入匹配網絡得到的性能指標(數字越小越好)
導致該現象的原因是,將輸入圖像放大等價于讓立體匹配算法在亞像素的精度下進行匹配(更高的顆粒度),于是能產生更多的高頻細節;然而,神經網絡等價的感受野也會相應變小,換句話說,網絡變得相對“短視”了,因此當r達到一定數值后,匹配精度開始變差。
為了在沒有新場景標注的情況下也能實現神經網絡的訓練,本文作者提出讓神經網絡不斷學習自身在高顆粒度下輸出的高頻細節,這也是本方法的名稱Zoom and Learn (簡稱ZOLE)的含義。
先放大,再學習
為方便敘述,設想已有一個預先在計算機合成數據(舊場景)上訓練好的立體匹配網絡S,以及舊場景下的訓練數據(大量計算機合成的主輔圖與對應的視差圖),同時有一系列真實拍攝的人像主輔圖(新場景),但并無對應的視差圖。本文目標是對網絡S進行自適應訓練,使其能適用于日常生活中拍攝的人像圖像。
本文算法的總體流程是,把計算機合成數據(有已知的視差圖)和人像數據(沒有視差圖)混合在一起,讓立體匹配網絡迭代地進行訓練。在每一個訓練批次,將前述兩種數據混合在一起,對于計算機合成的數據(舊場景)采用通常的方式進行有監督的訓練;對于人像數據(新場景),則按照前述方法用網絡S計算對應的高顆粒度視差圖,以其作為當前的偽標注對網絡進行有監督訓練。
除此之外,為防止匹配網絡學習到一些錯誤的細節,對于新場景數據,本文引入了經典方法中的圖拉普拉斯正則化(Graph Laplacian Regularization)作為神經網絡訓練時的損失函數,從而引導神經網絡有選擇地學習高顆粒度輸出中有意義的圖像細節。
實驗結果
下面展示將在FlyingThings3D數據集(計算機合成數據)上訓練的立體匹配網絡自適應到人像場景中(如圖5所示),可見相比起原來的網絡,經過自適應訓練后的網絡在人像數據上能產生更準確的視差圖及更豐富的細節。
圖5:
(由左至右)主圖、原來網絡的結果
及自適應后的網絡結果
表2展示了立體匹配的定量分析結果。由于自行采集的人像數據并無真實的視差圖信息,本文先計算視差圖,并用其及輔圖合成出一張左圖,然后計算合成的左圖與真正的左圖的PSNR和SSIM,以此估量自適應訓練后的立體匹配神經網絡在新場景下的性能(如表2所示),可見本文提出的方法在兩項指標上均大有提升。
表2:
原網絡及自適應后的網絡
在人像數據集與計算機合成數據集上的表現
結論
本文提出了一種立體匹配神經網絡自適應訓練方法——Zoom and Learn (ZOLE)。
首先,本文作者觀察并分析了立體匹配神經網絡在不同輸入尺度下的性質,發現將主輔圖上采樣后輸入到網絡中能得到在原有的尺度上所沒有的高頻細節。本文利用這個有利的特性,使神經網絡在原尺度下也能產生更多細節,提出讓神經網絡學習自身的高顆粒度輸出,同時采用了經典方法中的圖拉普拉斯正則化約束神經網絡的結果,使其有選擇性地學習有用的細節。
實驗表明,本方法可以有效地將某單一場景下訓練的立體匹配網絡泛化至不同場景。此外,進一步的實驗也展示本文算法在光流估計及圖像分割上也能帶來性能的提升。