卷積神經網絡去霧去雨方法
標題:A Convolutional Network for Joint Deraining and Dehazing from A Single Image for Autonomous Driving in Rain
作者:Hao Sun, Marcelo H. Ang Jr. and Daniela Rus
來源:IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS),2019
一.傳統圖像處理算法
目前已知的方案有兩種。第一種是基於圖像增強的方法,這類方法是對被降質的圖像進行增強,改善圖像的質量。這種方法優勢在於可以應用已有的成熟圖像處理算法,可以對常用的圖像算法進行針對性的運用和改良,增強圖像的對比度,突出圖像中景物的特征和有價值的信息。但是,這種方法可能會造成圖像部分信息的損失,使圖像失真。第二類是基於物理模型的方法,這種方法通過研究大氣懸浮顆粒對光的散射作用,建立大氣散射模型,了解圖像退化的物理機理,並反演復原出未降質前的圖像。這是一類專門針對霧天圖像的圖像復原的方法,復原出來的圖像效果真實,貼近降質前景物原景,對復雜場景的圖像處理效果較好,圖像信息得到較完整的保存。
霧圖模型
I(x) ——待去霧的圖像
J(x)——無霧圖像
A——全球大氣光成分
t——折射率(大氣傳遞系數)
暗通道先驗
在無霧圖像中,每一個局部區域都很有可能會有陰影,或者是純顏色的東西,又或者是黑色的東西。因此,每一個局部區域都很有可能有至少一個顏色通道會有很低的值。把這個統計規律叫做Dark Channel Prior。
暗通道定義
表示彩色圖像的每個通道
Ω(x)表示以像素X為中心的一個窗口
意義:首先求出每個像素RGB分量中的最小值,存入一副和原始圖像大小相同的灰度圖中,然后再對這幅灰度圖進行最小值濾波
計算折射率
右邊第二項其實就是有霧圖像的暗通道。
由於空間透視現象/濃淡遠近,部分霧的存在有助於我們感知距離和深度,加權值修正:
估計大氣光
1)選取暗通道圖像暗通道最亮的0.1%的像素(一般來說,這些像素表示霧濃度最大的地方)
2)取輸入圖像里面這些像素對應的像素里面最亮的作為大氣光
注:選中的像素未必是全圖最亮的,而且要比選取全圖最亮的方式魯棒性更好。
去霧
大致就是這個流程:
1)求圖像暗通道
2)利用暗通道計算出折射率
3)利用暗通道估計大氣光
4)代回霧圖公式去霧
二.深度學習卷積神經網絡算法
在該文中,作者關注利用單一街景圖像,對雨中的自動駕駛車輛進行去雨的任務。作者開發了一個以雨天圖像為輸入的卷積神經網絡,並且可以從雨痕及雨痕積累造成的大氣遮擋效應(霾、霧、靄)中,直接恢復干凈的圖像。該文提出了一個包含不同雨強、方向和模糊程度的合成街景圖像數據集,用於訓練和評估。作者根據合成數據集對該文方法進行了定性和定量的評價。實驗表明,該文模型優於現有方法的模型。同時還在真實數據上定性地測試了該文的方法。該模型速度較快,對於1024_512的圖像只需要0.05s的時間,還可以與現有的基於圖像用於雨中自動駕駛的高級感知算法無縫集成。實驗結果表明,該方法可以很大程度上提升雨中自動駕駛的語義分割和目標檢測性能。
圖1 該文的去雨去霧方法的效果對比,左圖為原始圖像,右圖為處理后圖像
圖2 該文方法的神經網絡架構圖,左側為K1分支,右側為K2分支。
圖3 合成數據集上不同方法的性能對比,從左到右依次為:雨天輸入圖像,Fu等人的方法,RESCAN,AOD-Net,該文方法,干凈的真實圖像。
圖4 該文方法在真實世界圖像上的表現
圖5 語義分割表現,從左到右依次為:雨天輸入圖像,對雨天圖像進行PSPNet網絡語義分割,對該文方法處理后圖像進行PSPNet網絡語義分割,對真實圖像進行PSPNet網絡語義分割。
圖6 目標檢測表現,從左到右依次為:雨天輸入圖像,對雨天圖像進行YOLOv3網絡目標檢測,對該文方法處理后圖像進行YOLOv3網絡目標檢測,對真實圖像進行YOLOv3網絡目標檢測。