1. 程式人生 > >霧霾太重?深度神經網路教你如何影象去霧

霧霾太重?深度神經網路教你如何影象去霧

導讀


北京城被中度汙染天氣包圍,到處都是灰濛濛一片——霧霾天又來了。從11日起,霧霾天氣就開始出現,根據北京環境監測中心最新預報,這一輪霧霾短期內不會明顯好轉,尤其是今明兩天,北京空氣質量維持在4級中度汙染,霧霾會一直持續到本週日。

霧霾是特定氣候與人類活動相互作用的結果。高密度人口的經濟生產及社會活動會排放大量細顆粒物,一旦排放量超過大氣迴圈和承載能力,懸浮顆粒受靜穩天氣的影響持續積聚,極易出現大範圍的霧霾。

一、影象去霧的核心

現有的影象去霧(Image Dehazing)技術離不開一個簡單的自然模型——大氣散射模型(Atmospheric Scattering Model)。大氣散射模型描述了,在霧霾和光照的共同作用下的成像機制:

陽光在物體表面形成反射光 J(x),反射光在穿過霧霾的過程發生散射,只有部分能量 J(x)t(x) 能到達攝像頭。與此同時,陽光也在懸浮顆粒表面散射形成大氣光 α 被攝像頭接收。因此,攝像頭中的成像 I(x) 可由兩部分組成,透射的物體亮度 J(x)t(x) 和散射的大氣光照 α(1-t(x)):

其中,t(x) 是媒介透射率(medium transmission),顧名思義表示能順利透過霧霾到達攝像頭的比率。因此,透射率跟物體與攝像頭距離 d(x) 成反比,離攝像頭越遠的物體受霧霾影響更大。當距離 d(x) 趨於無窮大時,透射率 t(x) 趨於零,I(x) 趨近於 α,α=maxy∈{x|t(x)≤t0}I(y)。綜上所述,去霧的核心是如何更精確地估計媒介透射率 t(x)。

二、基於人工特徵

手工特徵是傳統機器視覺的基礎,講究的是熟能生巧,依賴的是實踐出真知。通過“觀察→經驗→設計”構建各式各樣的特徵來滿足各式各樣的任務需求。影象去霧技術也是沿著手工特徵逐步地發展起來。

(1)暗通道先驗[2](Dark Channel Prior,DCP)

說起去霧特徵,不得不提起的暗通道先驗(DCP)。大道之行在於簡,DCP作為CVPR 2009的最佳論文,以簡潔有效的先驗假設解決了霧霾濃度估計問題。

觀察發現,清晰影象塊的RGB顏色空間中有一個通道很暗(數值很低甚至接近於零)。因此基於暗通道先驗,霧的濃度可由最暗通道的數值近似表示:

(2)最大對比度[3](Maximum Contrast,MC)

根據大氣散射模型,霧霾會降低物體成像的對比度:Σx‖ΔI(x)‖=tΣx‖ΔJ(x)‖≤Σx‖ΔJ(x)‖。因此,基於這個推論可利用區域性對比度來近似估計霧霾的濃度。同時,也可以通過最大化區域性對比度來還原影象的顏色和能見度。

(3)顏色衰減先驗[4](Color Attenuation Prior,CAP)

顏色衰減先驗(CAP)是一種與暗通道先驗(DCP)相似的先驗特徵。觀察發現霧霾會同時導致影象飽和度的降低和亮度的增加,整體上表現為顏色的衰減。根據顏色衰減先驗,亮度和飽和度的差值被應用於估計霧霾的濃度:

三、基於深度

智慧

人的視覺系統並不需依賴這些顯式的特徵變換,便可以很好地估計霧的濃度和場景的深度。DehazeNet是一個特殊設計的深度卷積網路,利用深度學習去智慧地學習霧霾特徵,解決手工特徵設計的難點和痛點。

(1)   特徵提取(Feature Extraction)

特徵提取有別於傳統卷積神經網路,DehazeNet採用“卷積+Maxout[5]”的結構作為網路第一層:

並且可以證明,“卷積+Maxout”等價於傳統的手工去霧特徵:

當W1是反向(Opposite)濾波器,通道的最大等價於通道的最小值,等價於暗通道先驗(DCP);當W1是環形(Round)濾波器, 等價於對比度提取,等價於最大對比度(MC);當W1同時包含反向(Opposite)濾波器和全通(All-pass)濾波器,等價於RGB到HSV顏色空間轉換,等價於顏色衰減先驗(CAP)。

此外,從機器學習角度看,Maxout是一種樣條函式,具有更強的非線性擬合能力,如下圖(d)。

(2)   多尺度對映(Multi-scale Mapping)與區域性極值(Local Extremum)

多尺度特徵會提高不同解析度下特徵提取的魯棒性。傳統去霧方法中也會採用不同尺度的濾波器(均值、中值、最小值)來增強特徵在不同尺度下的魯棒性。借鑑於GoogLeNet中的inception結構,採用3組不同尺度(3×3,5×5,7×7)的濾波器實現DehazeNet的尺度魯棒性:

區域性極值(MAX Pooling)是深度卷積神經網路的經典操作。區域性極值約束了透射率的區域性一致性,可以有效抑制透射率的估計噪聲。此外,區域性極值也對應於暗通道先驗(DCP)的區域性最小值和最大對比度(MC)的區域性最大值。

(3)   非線性迴歸(Non-linear Regression)

大氣透射率是一個概率(0到1),不可能無窮大,也不可能無窮小。受到Sigmoid和ReLU激勵函式的啟發,提出雙邊糾正線性單元(Bilateral Rectified Linear Unit,BReLU),在雙邊約束的同時,保證區域性的線性。

BReLU的非線性迴歸對應於傳統去霧方法中的邊緣抑制操作(如DCP和CAP)。雙邊約束引入先驗資訊縮小引數搜尋空間,使得網路更加容易訓練;區域性線性避免Sigmoid函式梯度不一致帶來的收斂困難。

DehazeNet基於手工特徵,又超出傳統方法,從人工到智慧。因此,DehazeNet取得了更好的去霧結果,更多的對比實驗和程式碼資源:

參考文獻

[1] Cai B, Xu X, Jia K, et al. DehazeNet: An End-to-End System for Single Image Haze Removal [J]. IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198.

[2] He K, Sun J, Tang X. Single image haze removal using dark channel prior[J]. IEEE transactions on pattern analysis and machine intelligence, 2011, 33(12): 2341-2353.

[3] Tan R T. Visibility in bad weather from a single image[C]//Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. IEEE, 2008: 1-8.

[4] Zhu Q, Mai J, Shao L. A fast single image haze removal algorithm using color attenuation prior[J]. IEEE Transactions on Image Processing, 2015, 24(11): 3522-3533.

[5] Goodfellow I J, Warde-Farley D, Mirza M, et al. Maxout networks[J]. ICML (3), 2013, 28: 1319-1327.

相關推薦

深度神經網路如何影象

導讀 北京城被中度汙染天氣包圍,到處都是灰濛濛一片——霧霾天又來了。從11日起,霧霾天氣就開始出現,根據北京環境監測中心最新預報,這一輪霧霾短期內不會明顯好轉,尤其是今明兩天,北京空氣質量維持在4級中度汙染,霧霾會一直持續到本週日。 霧霾是特定氣候與人類活動相互作用的

基於深度神經網路天退化場景影象可見性增強——Farhan Hussain and Jechang Jeong

Visibility Enhancement of Scene Images Degraded by Foggy Weather Conditions with Deep Neural Networks 摘要 如今,許多基於攝像頭的高階駕駛員輔助系統( ADA

【火爐煉AI】深度學習003-構建並訓練深度神經網路模型

【火爐煉AI】深度學習003-構建並訓練深度神經網路模型 (本文所使用的Python庫和版本號: Python 3.6, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2 ) 前面我們講解過單層神經網路模型,發現它結構簡單,難以解決一些實際的比較複雜的問題,故而現

#####好好好好####Keras深度神經網路訓練分類模型的四種方法

Github程式碼: Keras樣例解析 歡迎光臨我的部落格:https://gaussic.github.io/2017/03/03/imdb-sentiment-classification/ (轉載請註明出處:https://gaussic.github.io) Keras的官方E

估算深度神經網路的最優學習率

學習率如何影響訓練? 深度學習模型通常由隨機梯度下降演算法進行訓練。隨機梯度下降演算法有許多變形:例如 Adam、RMSProp、Adagrad 等等。這些演算法都需要你設定學習率。學習率決定了在一個小批量(mini-batch)中權重在梯度方向要移動多遠。 如果學習率很低,訓練會變得更

深度學習資料整理(深度神經網路理解)

https://blog.csdn.net/tiandijun/article/details/25192155   近這兩年裡deep learning技術在影象識別和跟蹤等方面有很大的突破,是一大研究熱點,裡面涉及的數學理論和應用技術很值得深入研究,這系列部落格總結了

深度神經網路的多工學習概覽(An Overview of Multi-task Learning in Deep Neural Networks)

譯自:http://sebastianruder.com/multi-task/ 1. 前言 在機器學習中,我們通常關心優化某一特定指標,不管這個指標是一個標準值,還是企業KPI。為了達到這個目標,我們訓練單一模型或多個模型集合來完成指定得任務。然後,我們通過精細調參,來改進模型直至效能不再

基於深度神經網路的說話人嵌入式端到端揚聲器驗證

DEEP NEURAL NETWORK-BASED SPEAKER EMBEDDINGS FOR END-TO-END SPEAKER VERIFICATION 基於深度神經網路的說話人嵌入式端到端揚聲器驗證   David Snyder *,Pegah Ghahremani,

一種利用語音深度神經網路進行語音識別的新方案

A NOVEL SCHEME FOR SPEAKER RECOGNITION USING A PHONETICALLY-AWARE DEEP NEURAL NETWORK Yun Lei Nicolas Scheffer Luciana Ferrer Mitchell McLaren 美國加

深度神經網路,適用於小型指令碼文字相關的語音驗證

DEEP NEURAL NETWORKS FOR SMALL FOOTPRINT TEXT-DEPENDENT SPEAKER VERIFICATION d-ivector系統優於i-ivector系統。 我們還嘗試了DNN培訓的不同配置。如果沒有maxo

【電腦科學】【2016】【含部分原始碼】深度神經網路及其實現

本文為捷克布拉格查理大學(作者:Bc. Ján Vojt)的碩士論文,共104頁。 深度神經網路是一種有效且通用的模型,能夠完成各種各樣的任務。本文主要研究了三種不同型別的深度神經網路——多層感知器、卷積神經網路和深度置信網路。所有討論的網路模型都是在並行硬體上實現的,並且針對網路

深度神經網路-keras-調參經驗

keras搬磚系列-調參經驗 1,觀察loss勝於觀察準確率,loss設計要比較合理,對比訓練集和驗證集的loss 2,relu可以很好的防止梯度彌散的問題,當然最後一層啟用函式儘量別用relu,如果分類則用softmax 3,BatchNorm 可以大大加快訓練速度和模型的

對基於深度神經網路的Auto Encoder用於異常檢測的一些思考

一、前言     現實中,大部分資料都是無標籤的,人和動物多數情況下都是通過無監督學習獲取概念,故而無監督學習擁有廣闊的業務場景。舉幾個場景:網路流量是正常流量還是攻擊流量、視訊中的人的行為是否正常、運維中伺服器狀態是否異常等等。有監督學習的做法是給樣本標出label,那麼標

基於深度神經網路的embeddding來構建推薦系統

在之前的部落格中,我主要介紹了embedding用於處理類別特徵的應用,其實,在學術界和工業界上,embedding的應用還有很多,比如在推薦系統中的應用。本篇部落格就介紹瞭如何利用embedding來構建一個圖書的推薦系統。 本文主要譯自《Building a Recommendation S

深度神經網路搭建馬賽克神器,高清無碼效果感人

目錄 專案背景 適用範圍 使用方法 專案背景 相信一提起馬賽克這個東西,不少小夥伴都痛心疾首,雖然最近幾年也頻繁傳出有在研發去除馬賽克的軟體,一直沒有成品問世。不過最近一位程式設計師及經過不斷努力終於完成了這款軟體。 據悉這位程式設計師“deeppomf

神經網路6_CNN(卷積神經網路)、RNN(迴圈神經網路)、DNN(深度神經網路)概念區分理解

 sklearn實戰-乳腺癌細胞資料探勘(部落格主親自錄製視訊教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm

深度神經網路優化論文總結

1、HanS, Mao H, Dally W J. Deep Compression: Compressing Deep NeuralNetworks with Pruning, Trained Quantization and Huffman Coding[J].Fiber, 2015,

深度神經網路

深度神經網路 摘要:深度學習是近年來計算機人工智慧領域非常火的研究方向,其相比傳統的淺層機器學習而言能夠挖掘出更多隱含的特徵。深度學習現如今已經廣泛的應用與計算機視覺、自然語言處理等領域,因此作為計算機專業人工智慧的學習者,學習和研究深度學習是一項必修課。   神經網路作為作為深度學

最新深度神經網路演算法機器學習深度學系列

深度神經網路演算法機器學習深度學系列視訊教程 (基礎1)Python程式入門視訊 課程Python介紹_壓縮 環境配置 配置Python環境 以及資料型別 字串String和變數 資料型別2整型_字串 資料結構列表 列表List元組tuple對比 元組 詞典 函式 函式 控制流 控制流 控制流 控制

如何利用Keras中的權重約束減少深度神經網路中的過擬合

                                          &nb