對於處理新的視覺任務,則須要額外的數據集,這須要花費大量精力。本文提出了一種域自適應的新方法,該方法能夠比建立附加數據集更輕鬆地合併多個模型。該方法使用glue層和生成模型合併了不一樣領域中的預訓練模型,該模型提供了潛在特徵來訓練glue層而無需其餘數據集。咱們還提出了從預先訓練的模型中經過知識蒸餾建立的生成模型。它還容許重用數據集來建立潛在特徵以訓練膠合層。咱們將此方法應用於弱光條件下的目標檢測。「Dark YOLO」包含兩個模型,「學習如何在黑暗中看」和
YOLO
。與其它方法相比,「Dark YOLO」花費更少的計算資源。node
一、簡介
在光線弱的狀況下進行視覺任務是一個比較困難的課題。Short-Exposure
圖像沒有足夠的特徵進行視覺處理,而圖像的亮度加強會引發噪聲進而影響視覺任務。相比之下,Long-Exposure
圖像也含有噪聲,因爲運動模糊而影響視覺任務。
前人一些工做能夠總結爲如下三點:web
-
一、經過製做附加數據集(好比說 the See-in-the-Dark dataset)的方式來緩解這個問題,讓數據集中儘量的包含多種Exposure狀況下的圖像,可是帶來的弊端就是,須要多餘的人力來解決,同時不是一個 end to end
的模型。 -
二、經過知識蒸餾的方式解決這個問題,相對於構造附加數據集的方式而言是個更好的處理方式; -
三、使用無監督學習的方式來學習 Domain Gap
,進而學到Domain Adaption
特性,進而提高在不一樣Domain之間的適應性,方便Domain的遷移。
二、本文方法
本文主要仍是基於前面提到的知識蒸餾的方法進行的設計,提出了YOLO in the Dark
模型。微信
這裏model A從一個RAW圖片中預測一個RGB圖片,而後model B從RGB圖像中預測目標的位置和類別,完成model A和B的訓練後,以潛在特徵A和B的邊界提取模型fragments。new model由model A和B的以潛在特徵A和B的邊界提取模型fragments經過一層粘合層(Glue Layer)組合而成。
網絡
Glue Layer層能夠將模型fragments中的latent feature A轉換爲latent feature B。SID模型在低光圖像上有比較好的效果,所以對model A使用SID模型。還使用目標檢測模型YOLO對於model B。app
2.一、Domain Adaption的生成模型
經過圖2也能夠看出來訓練Gule Layer須要Domain A+B的數據,然而製做一個這樣的數據集須要很大的功夫,因此做者在這裏選擇了知識蒸餾的方法來定義一個生成模型進而來訓練Gule Layer編輯器
圖3 解釋了知識蒸餾的方案,其中的生成模型輸出的latent feature A
來自於
,SID模型是編解碼的結構,所以生成模型能夠做爲解碼器的映射函數;同時
做爲Teacher Model
同時使用來自SID數據集和
模型的數據樣本對來訓練Student Model
。
svg
使用RGB數據和經過 構造的僞RGB數據訓練模型的損失函數loss爲:函數
同時在訓練的過程當中還定義了Latent Feature(LF) 和LF G1e:性能
這兩個損失函數幫助定義G2e爲G1d的逆函數:學習
(a)是SID網絡結構(基於UNet)。SID編碼器具備與4層特徵相對應的池化scales 。
(b)爲Gule Laye結構。由pool、cat、Conv和BN組成。pool和cat函數有助於收集latent feature。Conv和BN幫助Domain B轉換一個新的latent feature。
圖5顯示了使用SID編碼器的潛在特性從新構建的RGB圖像。(a)展現了使用全部特性重構的圖像。這些圖像的峯值信噪比(PSNR)爲31.81,具備結構特徵相對於原始圖像的類似性(SSIM)爲0.752。(b)、(c)和(d)爲使用較少特徵重建的圖像,去除了高空間頻率信息。這些圖象的質量比圖象(a)的質量差。可是爲了檢測物體,必須識別出物體的具體形狀,所以文章決定使用全部的Latent Feature用於Gule Layer。
圖 6 能夠看出SID模型生成的RGB圖像和 組合的RGB圖像時很是相近的。
同時爲了進一步的優化G2e
模型,文章還使用YOLO的分類輸出特徵向量來優化G2e
,以提高其轉換Domain A->B的性能,具體就是使用餘弦類似度來計算向量之間的損失,最後經過反向傳播進行更新迭代和優化:
2.二、Training environment
圖7(a)顯示了環境的完整視圖,其中點邊界顯示了用於訓練新模型的部分,其中Gule Layer是模型訓練的目標;而訓練該模塊使用的RGB圖像數據便是G2e編碼器經過知識蒸餾的方法獲得的。總體的訓練環境仍是基於原生的YOLO模型,使用和G2e編碼器同樣的RGB數據,這裏使用的是COCO數據集進行訓練。
在訓練期間Gule Layer層會被多個損失函數同時約束,第一個損失函數就是原始YOLO的損失函數;其餘的損失函數都是基於原始YOLO模型的Latent Feature A與YOLO in Dark中的Latent Feature B之間的差別獲得:
總的損失函數爲:
其中 即爲原生YOLO的損失函數。
圖7(b)顯示了驗證期間的數據流。驗證使用與訓練相同的路徑,後者使用RGB數據並評估來自數據集的足夠樣本,以確認Gule Layer的行爲是正確的。
圖7(c)顯示了預測期間的數據流。預測使用另外一條路徑,使用經過編碼器G1e從SID模型傳輸的原始數據。這一階段是爲了評估所提出的黑暗中模型,該模型將改進短曝光原始圖像中的目標檢測。
三、實驗結果
圖8顯示了SID數據集的對象檢測結果。圖8(a)是原始YOLO模型使用亮度加強的RGB圖像獲得的檢測結果。RGB圖像的亮度加強使得原始YOLO模型更容易檢測到目標。所以原始的YOLO模型能夠很好地檢測圖像 中的對象。可是,該模型沒法檢測到圖像 中的目標。這是由於亮度加強增長了噪音,影響了模型的推斷。而本文提出的方法能夠直接檢測RAW圖像中的目標。檢測結果如圖b1和b2所示。圖像c1和c2是標籤,標籤是經過原始YOLO模型使用SID ground truth(長曝光)圖像檢測獲得。在圖像b1中,提出的模型表現得和原始的YOLO模型(圖像a1)同樣好。此外,所提出的模型能夠檢測圖像b2中的目標。
References
[1] YOLO in the Dark - Domain Adaptation Method for Merging Multiple Models
聲明:轉載請說明出處
掃描下方二維碼關注【AI人工智能初學者】公衆號,獲取更多實踐項目源碼和論文解讀,很是期待你個人相遇,讓咱們以夢爲馬,砥礪前行!!!
點「在看」給我一朵小黃花唄
本文分享自微信公衆號 - AI人工智能初學者(ChaucerG)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。