图像处理之深度学习
針對模糊圖像的處理,個人覺得主要分兩條路,一種是自我激發型,另外一種屬于外部學習型。接下來我們一起學習這兩條路的具體方式。
第一種 自我激發型
基于圖像處理的方法,如圖像增強和圖像復原,以及曾經很火的超分辨率算法。都是在不增加額外信息的前提下的實現方式。?
?
1. 圖像增強
圖像增強是圖像預處理中非常重要且常用的一種方法,圖像增強不考慮圖像質量下降的原因,只是選擇地突出圖像中感興趣的特征,抑制其它不需要的特征,主要目的就是提高圖像的視覺效果。先上一張示例圖:?
?
?
?
圖像增強中常見的幾種具體處理方法為:
直方圖均衡
在圖像處理中,圖像直方圖表示了圖像中像素灰度值的分布情況。為使圖像變得清晰,增大反差,凸顯圖像細節,通常希望圖像灰度的分布從暗到亮大致均勻。直方圖均衡就是把那些直方圖分布不均勻的圖像(如大部分像素灰度集中分布在某一段)經過一種函數變換,使之成一幅具有均勻灰度分布的新圖像,其灰度直方圖的動態范圍擴大。用于直方均衡化的變換函數不是統一的,它是輸入圖像直方圖的積分,即累積分布函數。
灰度變換
灰度變換可使圖像動態范圍增大,對比度得到擴展,使圖像清晰、特征明顯,是圖像增強的重要手段之一。它主要利用圖像的點運算來修正像素灰度,由輸入像素點的灰度值確定相應輸出像素點的灰度值,可以看作是“從像素到像素”的變換操作,不改變圖像內的空間關系。像素灰度級的改變是根據輸入圖像f(x,y)灰度值和輸出圖像g(x,y)灰度值之間的轉換函數g(x,y)=T[f(x,y)]進行的。?
灰度變換包含的方法很多,如逆反處理、閾值變換、灰度拉伸、灰度切分、灰度級修正、動態范圍調整等。
圖像平滑
在空間域中進行平滑濾波技術主要用于消除圖像中的噪聲,主要有鄰域平均法、中值濾波法等等。這種局部平均的方法在削弱噪聲的同時,常常會帶來圖像細節信息的損失。?
鄰域平均,也稱均值濾波,對于給定的圖像f(x,y)中的每個像素點(x,y),它所在鄰域S中所有M個像素灰度值平均值為其濾波輸出,即用一像素鄰域內所有像素的灰度平均值來代替該像素原來的灰度。?
中值濾波,對于給定像素點(x,y)所在領域S中的n個像素值數值{f1,f2,…,fn},將它們按大小進行有序排列,位于中間位置的那個像素數值稱為這n個數值的中值。某像素點中值濾波后的輸出等于該像素點鄰域中所有像素灰度的中值。中值濾波是一種非線性濾波,運算簡單,實現方便,而且能較好的保護邊界。
圖像銳化
采集圖像變得模糊的原因往往是圖像受到了平均或者積分運算,因此,如果對其進行微分運算,就可以使邊緣等細節信息變得清晰。這就是在空間域中的圖像銳化處理,其的基本方法是對圖像進行微分處理,并且將運算結果與原圖像疊加。從頻域中來看,銳化或微分運算意味著對高頻分量的提升。常見的連續變量的微分運算有一階的梯度運算、二階的拉普拉斯算子運算,它們分別對應離散變量的一階差分和二階差分運算。
2. 圖像復原
?
?
其目標是對退化(傳播過程中的噪聲啊,大氣擾動啊好多原因)的圖像進行處理,盡可能獲得未退化的原始圖像。如果把退化過程當一個黑匣子(系統H),圖片經過這個系統變成了一個較爛的圖。這類原因可能是光學系統的像差或離焦、攝像系統與被攝物之間的相對運動、電子或光學系統的噪聲和介于攝像系統與被攝像物間的大氣湍流等。圖像復原常用二種方法。當不知道圖像本身的性質時,可以建立退化源的數學模型,然后施行復原算法除去或減少退化源的影響。當有了關于圖像本身的先驗知識時,可以建立原始圖像的模型,然后在觀測到的退化圖像中通過檢測原始圖像而復原圖像。?
?
3. 圖像超分辨率 ?
一張圖我們想腦補細節信息好難,但是相似的多幅圖我們就能互相腦洞了。所以,我們可以通過一系列相似的低分辨圖來共同腦補出一張高清晰圖啊,有了這一張犯罪人的臉,我就可以畫通緝令了啊。。。?
超分辨率復原技術的目的就是要在提高圖像質量的同時恢復成像系統截止頻率之外的信息,重建高于系統分辨率的圖像。繼續說超分辨,它其實就是根據多幅低質量的圖片間的關系以及一些先驗知識來重構一個高分辨的圖片。示例圖如下:?
第二種 外部學習型
外部學習型,就如同照葫蘆畫瓢一樣的道理。其算法主要是深度學習中的卷積神經網絡,我們在待處理信息量不可擴充的前提下(即模糊的圖像本身就未包含場景中的細節信息),可以借助海量的同類數據或相似數據訓練一個神經網絡,然后讓神經網絡獲得對圖像內容進行理解、判斷和預測的功能,這時候,再把待處理的模糊圖像輸入,神經網絡就會自動為其添加細節,盡管這種添加僅僅是一種概率層面的預測,并非一定準確。
本文介紹一種在灰度圖像復原成彩色RGB圖像方面的代表性工作:《全局和局部圖像的聯合端到端學習圖像自動著色并且同時進行分類》。利用神經網絡給黑白圖像上色,使其變為彩色圖像。稍作解釋,黑白圖像,實際上只有一個通道的信息,即灰度信息。彩色圖像,則為RGB圖像(其他顏色空間不一一列舉,僅以RGB為例講解),有三個通道的信息。彩色圖像轉換為黑白圖像極其簡單,屬于有損壓縮數據;反之則很難,因為數據不會憑空增多。
搭建一個神經網絡,給一張黑白圖像,然后提供大量與其相同年代的彩色圖像作為訓練數據(色調比較接近),然后輸入黑白圖像,人工智能按照之前的訓練結果為其上色,輸出彩色圖像,先來看一張效果圖:?
本文工作?
? 用戶無干預的灰度圖像著色方法。?
? 一個新穎的端到端網絡,聯合學習圖像的全局和局部特征。?
? 一種利用分類標簽提高性能的學習方法。?
? 基于利用全局特征的風格轉換技術。?
? 通過用戶研究和許多不同的例子深入評估模型,包括百年的黑白照片。
著色框架?
?
模型框架包括四個主要組件:低級特征提取網絡,中級特征提取網絡,全局特征提取網絡和著色網絡。 這些部件都以端對端的方式緊密耦合和訓練。 模型的輸出是圖像的色度,其與亮度融合以形成輸出圖像。?
?
與另外兩個工作對比
? Gustav Larsson, Michael Maire, and Gregory Shakhnarovich. Learning Representations for Automatic Colorization. In ECCV 2016.?
?Richard Zhang, Phillip Isola, and Alexei A. Efros. Colorful Image Colorization. In ECCV 2016.
參考文獻:
網頁:?
http://hi.cs.waseda.ac.jp/~iizuka/projects/colorization/extra.html
代碼:?
https://github.com/satoshiiizuka/siggraph2016_colorization
論文2:??
http://richzhang.github.io/colorization/
在線demo:?
http://demos.algorithmia.com/colorize-photos/
總結
- 上一篇: JS中排除重复元素
- 下一篇: 金庸小说人物关系表年表