摘要
目前基于3D傳感器的數(shù)據(jù)集及其缺陷:
- NYU:只有室內(nèi)的照片
- Make3D:訓(xùn)練集小
- KITTI:稀疏采樣
論文中的數(shù)據(jù)集:
基于對運動中獲取的結(jié)構(gòu)和多視點立體(MVS)進行建模來處理多視點網(wǎng)絡(luò)圖片——任意數(shù)據(jù)源谋币,基于此方法產(chǎn)生一個叫Megadepth的規(guī)模很大的深度圖片數(shù)據(jù)集清钥。
來自MVS數(shù)據(jù)的挑戰(zhàn):包含噪聲和不可重構(gòu)的實體柜候,因此本文中提出了一種新的數(shù)據(jù)清洗的方法
在本文提出的數(shù)據(jù)集——Megadepth上訓(xùn)練的模型表現(xiàn)出了很強的泛化性能(即使在在Make3D税灌、KITTI和DIW等舊的數(shù)據(jù)集(訓(xùn)練中并沒有用到)上也有好多額表現(xiàn))
介紹
相對于預(yù)測場景實體的3D形狀鳄炉,單點深度估計是一個不受約束的問題,采用深度學(xué)習(xí)的方法解決的話需要大量的訓(xùn)練數(shù)據(jù)纸颜,然而RGB-D圖像對的采集非常困難的烁,現(xiàn)有方法存在著嚴重的缺陷,例如:
- RGB-D傳感器:被限制在室內(nèi)使用
- Laser scanners:基于此技術(shù)的典型數(shù)據(jù)集有Make3D和KITTI迟赃,但是這種設(shè)備操作相當麻煩陪拘,同時產(chǎn)生的只是稀疏的深度映射(LIDAR),此外Make3D和KITTI都是特定場景下的數(shù)據(jù)集(分別是大學(xué)校園纤壁、汽車上)
本文中采用幾乎沒有人合法限制的數(shù)據(jù)源構(gòu)建數(shù)據(jù)集來解決上面的問題(有重復(fù)視點的網(wǎng)絡(luò)圖片)左刽,這樣采用從運用中獲取結(jié)構(gòu)和多視點立體技術(shù)可以自動地產(chǎn)生稠密的深度圖片。用以上的系統(tǒng)的輸出作為機器學(xué)習(xí)方法的輸入來解決單點深度估計問題酌媒。
本文的貢獻:
- 第一次采用Internet SFM+MVS數(shù)據(jù)來解決單點深度估計問題欠痴。
- 構(gòu)建并提出了一個無限制數(shù)據(jù)源迄靠、大容量的深度圖像數(shù)據(jù)集——Megadepth
- 針對MVS圖片,提出了新的數(shù)據(jù)清洗的方法
- 基于Megadepth訓(xùn)練模型的新的損失函數(shù)
相關(guān)工作
- 單點深度估計:一個標準的方法是收集RGB-D圖像對喇辽,然后訓(xùn)練模型掌挚,訓(xùn)練好的模型就可以用來估計RGB圖像的深度信息。這些模型一般在比較小的訓(xùn)練集上訓(xùn)練(NYU菩咨、Make3D吠式、KITTI)
Novotny等人基于從視屏中利用SfM+MVS構(gòu)建的3D模型訓(xùn)練了一個網(wǎng)絡(luò)來學(xué)習(xí)單個實體的3D形狀。
通過視圖合成旦委,多視點場景也可以作為單點深度估計模型訓(xùn)練的潛在數(shù)據(jù)源,但它僅僅是一個深度信息的替代雏亚,往往不能產(chǎn)生高質(zhì)量的深度信息缨硝。 - 相對深度估計:獲取圖像深度信息的另一個方法是人工標注圖像深度,但是人工標注絕對深度是一個挑戰(zhàn)罢低,人類比較擅長標注相對深度查辩。相對深度對于估計深度順序是有用的(因此文中也從圖片中自動集成了相對深度信息),但是僅僅通過相對深度學(xué)習(xí)的深度信息估計歐氏深度的精確度很有限网持。
- 估計網(wǎng)絡(luò)圖片的深度信息:SfM和MVS技術(shù)的發(fā)展推動了此項任務(wù)的進步宜岛。已經(jīng)有人通過檢索和SfM從單張圖片中構(gòu)建3D模型,也有人利用以上技術(shù)注冊一張圖片到現(xiàn)有的3D模型中來推導(dǎo)深度信息功舀。但是前人的工作中需要或者提前在每個位置有詳細的3D模型或者運行時構(gòu)建它們萍倡。在本文的工作中采用SfM+MVS訓(xùn)練網(wǎng)絡(luò)去產(chǎn)生新的位置和場景。
MegaDepth數(shù)據(jù)集
- 從Flickr下載網(wǎng)絡(luò)圖片——拍照效果非常好的地標
- 采用最先進的SFM和MVS方法重構(gòu)地標為3D模型辟汰,這將為張圖片產(chǎn)生SfM模型和稠密深度映射列敲,但這些深度映射有大量的噪聲和奇異值。
針對以上問題的處理:1)2)通過語意分割產(chǎn)生相對深度數(shù)據(jù)
圖片校準和重構(gòu)
通過COLMAP為收集的每張圖片構(gòu)建3D模型帖汞。COLMAP是最先進的SfM系統(tǒng)——重構(gòu)相機位姿和稀疏點云戴而,和MVS系統(tǒng)——稠密深度映射。COLMAP可以為每張重構(gòu)的圖片I產(chǎn)生一個深度映射D和諸如:相機參數(shù)翩蘸、稀疏SfM點所意、camera visibility
改善深度映射
COLMAP產(chǎn)生的原始深度映射包含很多奇異值(產(chǎn)生原因:移動實體、噪聲深度不連續(xù)催首、背景深度融合進前景實體)扶踊,因此需要進行深度映射的改善
- 首先,采用在深度估計上更穩(wěn)定的基于COLMAP的改善的MVS算法郎任。COLMAP迭代地計算深度信息姻檀,每次迭代中,盡量保證相鄰像素深度映射的幾何穩(wěn)定性涝滴。保證該穩(wěn)定性的一個方法是給背景預(yù)測一致的深度绣版,一個壞的影響就是背景深度會吃掉前景實體胶台。為了克服這個影響,COLMAP的每次迭代中杂抽,比較每個像素值更新前后的深度值诈唬,并選擇最近(最小)的深度值缩麸,接著采用中值濾波器刪除掉不穩(wěn)定的深度值(平滑)铸磅。
- 然后,采用語意分割的方法強化和過濾(實體感知過濾器)深度映射杭朱,并且產(chǎn)生額外的相對深度數(shù)據(jù)阅仔。
通過語意分割進行深度強化
MVS方法在有多個種類的實體的當場景中有不好的表現(xiàn),但是如果可以知道圖像中的語意分布弧械,則可以減小多實體的影響八酒,或者至少可以確定有問題的像素位置,而深度學(xué)習(xí)在語意分割中具有良好的表現(xiàn)刃唐。
語意分割在構(gòu)建我們提出的數(shù)據(jù)集過程中有三個主要的作用1)移除前景區(qū)域中的偽MVS深度羞迷;2)通過分割作為區(qū)分每張圖片是提供絕對深度信息或者相對深度信息的指標;3)通過組合語意信息和MVS深度自動地標注相對深度關(guān)系画饥,標注的這些數(shù)據(jù)有助于訓(xùn)練MVS不能夠重構(gòu)的區(qū)域衔瓮。
- 語意過濾:對于每張圖片,采用PSPNet進行語意分割抖甘,并把像素按語意分為三個子集:
1)前景實體:包括一些經(jīng)常出現(xiàn)在前景中的實體热鞍,有靜態(tài)前景和動態(tài)前景。
2)背景實體:包括建筑衔彻、山等碍现。
3)天空:在深度過濾中填空需要特殊處理
語意分類后没炒,為了克服移動實體(人)造成的偽深度篱竭,文中對圖片中每個連通區(qū)域進行處理:如果<50%的像素有重構(gòu)的深度信息,將移除該區(qū)域中的所有深度信息绑咱。此外為了克服填空的影響悴晰,文中還去掉了在填空區(qū)域中的重構(gòu)深度慢睡。
- 絕對深度 VS 相對深度
雖然每類3D實體有上千種場景圖,但它們深度圖的質(zhì)量是不一樣的铡溪,因此將訓(xùn)練數(shù)據(jù)集限制在一個具有該質(zhì)量深度圖的子集內(nèi)是有用的漂辐。具體的,考察一張圖片棕硫,如果>30%的像素由可靠的深度值組成髓涯,則保留它作為學(xué)習(xí)絕對深度信息的訓(xùn)練數(shù)據(jù)集樣本,這個評價指標將保留那些沒有大的移動前景實體的樣本哈扮。不被用作學(xué)習(xí)絕對深度訓(xùn)練集的樣本將有另一個的用途:自動生成學(xué)習(xí)相對深度關(guān)系的訓(xùn)練集纬纪。 - 自動相對深度標注:
來自網(wǎng)絡(luò)的圖片中蚓再,如果包含一些移動的實體、不易被MVS重構(gòu)的實體包各,如果我們僅僅采用前文構(gòu)建的數(shù)據(jù)集訓(xùn)練模型摘仅,將會缺少這些實體的的ground truth深度。為了解決這個問題问畅,我們采用了一個新的基于3D幾何信息和語意分割的方法為我們的訓(xùn)練圖片(不屬于絕對深度模型訓(xùn)練集的圖片)自動地提取相對深度標簽娃属,具體方法如下:
對于上面提到的每張圖片,計算兩個區(qū)域:F_ord(前景:基于語意信息)护姆、B_ord(背景:基于3D幾何信息矾端, 也包含在整張圖片深度范圍的后四分位數(shù)以上深度可靠深度信息),F(xiàn)_ord中的每個像素一定比B_ord中的每個像素更接近相機卵皂。
創(chuàng)建數(shù)據(jù)集
數(shù)據(jù)集中包含了有稠密3D重構(gòu)的世界各地地標的200個模型秩铆,同時呈現(xiàn)了15萬的重構(gòu)圖片。過濾后保留了13萬張可用圖片渐裂,在這13萬張圖片中有大約10萬為絕對深度數(shù)據(jù)豺旬,3萬張為相對深度數(shù)據(jù)钠惩。再加上A. Knapitsch, J. Park等人用過的數(shù)據(jù)集柒凉,構(gòu)成了完整的Megadepth
深度估計網(wǎng)絡(luò)
網(wǎng)絡(luò)結(jié)構(gòu):對比了VGG,“hourglass” network篓跛,和ResNet膝捞,最后確定了使用hourglass作為深度預(yù)測模型
- 損失函數(shù)
SFM+MVS確定的的深度的尺度是不確定的,所以并不能直接拿預(yù)測深度和ground truth進行比較愧沟。但是深度對的相對深度的尺度是確定的(此處也可以是對數(shù)域中的利率蔬咬,就是估計的深度先取對數(shù),再進行成對比較沐寺,比值的尺度是確定的)林艘。基于上面的考慮混坞,文中處理的是對數(shù)域的深度狐援,并且用一個不隨尺度改變(深度對的比率)的損失函數(shù)進行訓(xùn)練。
尺度不變部分(data term):在線性時間內(nèi)計算所有對數(shù)深度對之間區(qū)別的均方誤差究孕。
這里用表示預(yù)測對數(shù)深度啥酱、用
表示對數(shù)ground truth深度。
和
表示i位置對應(yīng)的對數(shù)深度值厨诸。這里定義
镶殷,并且定義:
上式中n表示ground truth深度數(shù)據(jù)中合法深度的個數(shù)。
多尺度微酬、尺度不變梯度匹配部分(grad term):為了在訓(xùn)練過程中在獎勵更平滑的梯度變化的同時懲罰更尖銳的深度不連續(xù)性绘趋,文中用了一個多尺度颤陶、尺度不變的梯度匹配子作為損失函數(shù)的一部分,其定義為:預(yù)測和ground truth深度數(shù)據(jù)之間對數(shù)深度的梯度區(qū)別的
懲罰項:
上式中:是對數(shù)深度區(qū)別矩陣中位置為i尺度為k的值埋心,由于損失是在多尺度下計算的指郁,
可以捕獲不同尺度圖像的深度梯度。文中使用的尺度有4個尺度拷呆。
具有魯棒性的相對深度損失(ord term):相對深度損失部分闲坎,捕獲的是前文中自動生成的相對深度關(guān)系誤差。
對于相對深度數(shù)據(jù)集中的每張圖片茬斧,在訓(xùn)練過程中腰懂,文中選取單個像素對(i, j)项秉,其中i像素和j像素或者在前景中或者在
中绣溜,
的設(shè)計如下,它對少數(shù)的不正確的相對深度關(guān)系對是魯棒的娄蔼。
其中怖喻,
就是前文中自動標注的i和j之間的相對深度關(guān)系, 如果
則i像素比j像素離鏡頭更遠岁诉,否則
锚沸,c是一個常數(shù),它的作用是是
是連續(xù)的涕癣。訓(xùn)練過程中對于一張圖片哗蜈,如果文中的自動標注方法認為圖中的一個像素對有相似的深度順序,則
鼓勵該點對之間的深度差最大(并且是有序的)坠韩,在訓(xùn)練過程中,基于交叉驗證距潘,文中設(shè)定
。
評估
評估的目的是回答下面的三個問題:
- 在MD數(shù)據(jù)集上訓(xùn)練的模型怎樣泛化到新的訓(xùn)練中沒有用到過的網(wǎng)絡(luò)照片中只搁。
- 文中提出的深度數(shù)據(jù)處理的重要性音比,文中的損失函數(shù)的各部分的重要性。
- 在MD數(shù)據(jù)集上訓(xùn)練的模型在其他數(shù)據(jù)集上的泛化能力如何好
要回答以上的三個問題氢惋,文中設(shè)計了多個實驗內(nèi)容——在一個數(shù)據(jù)集上訓(xùn)練洞翩,在其他數(shù)據(jù)集上測試,以此來展示MD數(shù)據(jù)集訓(xùn)練的網(wǎng)絡(luò)的強大的泛化能力明肮。
實驗過程中也說明了文中提出的深度數(shù)據(jù)強化策略在實現(xiàn)泛化能力上的必要性菱农;同時說明了文中提出的損失函數(shù)在預(yù)測的數(shù)量和質(zhì)量上都提高了預(yù)測表現(xiàn)。
實驗設(shè)計:從MD數(shù)據(jù)集的200個重構(gòu)模型中柿估,隨機選擇46個作為測試集循未,在剩余的154個重構(gòu)模型中,隨機的將每個模型的所有圖片分成訓(xùn)練集和驗證集,其中訓(xùn)練集占96%的妖,測試集占4%绣檬,在驗證過程中設(shè)置、
嫂粟。實驗時采用pytorch實現(xiàn)模型娇未,采用Adam算法調(diào)參,以32的批量大小訓(xùn)練了20個epochs
為了比較的公平性星虹,在所有的實驗中訓(xùn)練和驗證都采用MD作為數(shù)據(jù)集零抬,文中通過MD數(shù)據(jù)集一共訓(xùn)練了4個模型并計算了平均錯誤率。
在MD測試集上模型的簡化測試和評估
下面介紹在MD數(shù)據(jù)集上測試通過MD數(shù)據(jù)集訓(xùn)練的模型的實驗過程宽涌。
評價指標:為了量化估計平夜,采用了兩個尺度不變的錯誤度量方法(SfM不具有尺度特性)。
第一個是:scale-invariant RMSE卸亮,公式如下:
第二個是:SDR——SfM Disagreement Rate忽妒,公式如下:
上式中的是像素對(有用于比較的SfM深度的像素對)的集合,n是滿足條件像素對的個數(shù)兼贸,ord(.段直,.)是一個可以表示三種深度關(guān)系(更遠、更近溶诞、同樣深度)的映射鸯檬,具體如下:
文中也定義了和
分別為
和
的反對(預(yù)測深度關(guān)系和SfM深度關(guān)系不同)率。文中的實驗中設(shè)置
來容忍SfM深度點中深度的不確定性很澄。為了提高效率文中只在所有的SfM深度數(shù)據(jù)集中采樣一個子集來計算誤差京闰。
不同的網(wǎng)絡(luò)和損失函數(shù)對實驗結(jié)果的影響:文中共嘗試了三種主流的網(wǎng)絡(luò)來預(yù)測深度颜及,分別為VGG甩苛、hourglass、ResNet ,來測試文中提出的損失函數(shù)在三種網(wǎng)絡(luò)中和現(xiàn)有損失函數(shù)(Eigen el al)的比較結(jié)果俏站。
文中還以他們提出的損失函數(shù)中的單個部分的組合為損失函數(shù)分別訓(xùn)練了神經(jīng)網(wǎng)絡(luò)讯蒲,最終的結(jié)果顯示,以文中提出的損失函數(shù)(data_term+grad_term+ord_term)訓(xùn)練的網(wǎng)絡(luò)的泛化能力最強肄扎。并且在不同的組合中墨林,hourglass網(wǎng)絡(luò)和其他網(wǎng)絡(luò)相比,效果最好犯祠。
值得一提的是:損失函數(shù)中增加部分可以很大程度上提高
和
實驗結(jié)果表明文中提出的損失函數(shù)可以有效地保護深度數(shù)據(jù)中的原始結(jié)構(gòu)旭等,同時可以有效地捕獲距離較近實體(人和電線桿)之間的深度差距。
文中還通過在KITTI衡载、Make3D搔耕、DIW三個數(shù)據(jù)集上測試來比較在MD數(shù)據(jù)集上訓(xùn)練的模型在采用和不采用文中提出的深度強化方法時的預(yù)測表現(xiàn)。實驗結(jié)果表明痰娱,在原始的MVS數(shù)據(jù)集上訓(xùn)練的模型泛化能力并不是特別好弃榨,證明了文中提出的深度強化方法的有效性菩收。