殷琪林 王金偉
摘 要:隨著大數(shù)據(jù)時代的到來,一系列深度學習網(wǎng)絡結構已在圖像處理領域展現(xiàn)出巨大的優(yōu)勢,為了能夠及時跟蹤深度學習在圖像領域的最新發(fā)展,文章針對深度學習在圖像處理領域的相關研究進行綜述。首先介紹深度學習的背景和卷積神經(jīng)網(wǎng)絡的知識,旨在從本質(zhì)上理解深度學習應用在圖像領域的基本模型架構及其優(yōu)化方法;其次主要在圖像識別、取證、檢測三個方向上,具體論述深度學習在圖像領域多個方向上的演變與發(fā)展,其目的在于了解深度學習對具體圖像處理問題的最新研究并掌握多種模型或技術;最后指出深度學習在圖像領域存在的問題以及對未來的展望。
關鍵詞:深度學習;卷積神經(jīng)網(wǎng)絡;算法模型;圖像處理
中圖分類號:G640 文獻標志碼:A 文章編號:2096-000X(2018)09-0072-03
Abstract: With the development of the era of big data, a series of deep learning network structures have shown great advantages in the field of image processing. In order to track the latest development of deep learning of imaging, this paper summarizes the related research in the field of image processing. Firstly, the background of deep learning and the knowledge of convolutional neural networks are introduced to fundamentally understand the basic model architecture and optimization methods of deep learning applied in the image domain. Secondly, the evolution and development of deep learning in multiple directions are discussed from recognition, forensics, and detection to understand the latest research of deep learning on concrete image processing problems and grasp various models or technologies. Finally, the problems faced in the future are analyzed.
Keywords: deep learning; convolutional neural network; algorithm model; image processing
一、概述
在當今飛速發(fā)展的信息時代,數(shù)字圖像作為一種常見且有效的信息載體已滲透到社會生活的每一個角落,致使我們對圖像處理的需求也日益增長。與此同時身處于大數(shù)據(jù)時代,數(shù)字圖像產(chǎn)生的速度和規(guī)模也是非常驚人的,所以針對圖像信息處理任務也相應地被要求具有高效率,高性能和智能化的特點。
特征表達是圖像處理的關鍵,傳統(tǒng)的特征設計需要人工完成,但這種方式過程復雜并對設計者的技術有很高的要求,所以自動化特征設計成了高效圖像處理的迫切需求。
深度學習是新興的機器學習研究領域,旨在研究如何從數(shù)據(jù)中自動地提取多層次特征表示,其核心思想是通過數(shù)據(jù)驅(qū)動的方式,采用一系列的非線性變換,從原始數(shù)據(jù)中提取多層次多角度特征,從而使獲得的特征具有更強的泛化能力和表達能力,這恰好滿足高效圖像處理的需求。為滿足圖像處理問題的各類需求,以卷積神經(jīng)網(wǎng)絡為代表的深度學習理論不斷取得突破,本文結合深度學習基本原理,對其在圖像處理領域的算法,模型甚至方法的演化和創(chuàng)新進行重點論述。
二、深度學習
(一)深度學習的背景
神經(jīng)網(wǎng)絡在二十世紀五十年代被提出,然而礙于當時網(wǎng)絡訓練算法理論欠缺、訓練樣本不足和電腦的計算能力不佳,神經(jīng)網(wǎng)絡發(fā)展遇到瓶頸。隨著云計算、大數(shù)據(jù)時代的到來,計算能力的大幅提高可緩解訓練的低效性,訓練數(shù)據(jù)的大幅增加則可降低過擬合的風險,再結合無監(jiān)督逐層訓練策略和早已提出的BP算法,使得訓練很深層的神經(jīng)網(wǎng)絡變得可能,因此深度學習這個概念開始被人們廣泛關注。
典型的深度學習模型就是很深層的神經(jīng)網(wǎng)絡。多隱層堆疊,每一層都對上一層的輸出進行處理,從而把最初始的輸入與輸出目標之間不太密切的聯(lián)系,轉(zhuǎn)化為更為密切的表示,使得原來僅基于最后一層輸出映射難以完成的任務變?yōu)榭赡?,這種學習模式也可理解為自動的“特征學習”。
(二)卷積神經(jīng)網(wǎng)絡架構
圖像識別是深度學習最早嘗試的領域,其中卷積神經(jīng)網(wǎng)絡發(fā)揮了巨大的作用。
一般卷積神經(jīng)網(wǎng)絡由卷積層,池化層,全連接層這三種類型的層堆疊組成,每個層都有其獨有的特點和作用:
1. 卷積層:提取特征,輸入特征圖X與K個二位濾波器進行卷積運算輸出K個二維特征圖。采用卷積運算有兩點好處:(1)卷積操作可以提取相鄰像素之間的局部關系;(2)卷積操作對圖像上的平移、旋轉(zhuǎn)和尺度等變換具有一定的魯棒性。
2. 池化層:處理卷積層輸出的結果,對輸入的特征圖進行壓縮,一方面使特征圖變小,簡化網(wǎng)絡計算復雜度;另一方面精簡特征圖,提取主要特征,降低特征表達維度的同時,也對平移和扭曲等較小形變具有魯棒性。
3. 全連接層:連接所有特征,將輸出值送給分類器。
(三)基于神經(jīng)網(wǎng)絡的優(yōu)化方法
隨著神經(jīng)網(wǎng)絡模型層數(shù)越來越深,訓練數(shù)據(jù)集越來越大,模型結構越來越復雜,網(wǎng)絡訓練往往會遇到過擬合、梯度消失或爆炸等問題。本節(jié)介紹幾種優(yōu)化神經(jīng)網(wǎng)絡的方法:
1. Dropout:Hinton等人提出了“Dropout”優(yōu)化技術,旨在深度學習網(wǎng)絡的訓練過程中,對神經(jīng)網(wǎng)絡單元按照一定的概率將其暫時從網(wǎng)絡中丟棄。注意是暫時,所以在使用隨機梯度下降方法訓練網(wǎng)絡時,每一個小批量數(shù)據(jù)都在訓練不同的網(wǎng)絡。Dropout方法破壞了節(jié)點之間的相關性,使得網(wǎng)絡能學到更有泛化性的特征,有效防止過擬合。
2. 批量標準化:BN算法由Google在2015年提出,用來訓練深層次神經(jīng)網(wǎng)絡。BN算法可以用來規(guī)范化某些層或者所有層的輸入,從而固定每一層輸入信號的均值與方差,有效防止梯度爆炸或消失問題。
三、深度學習在圖像領域的應用
(一)圖像識別
深度學習技術最先是被應用到圖像識別方向,并取得了引人矚目的效果。Alex等人[1]提出的AlexNet網(wǎng)絡是第一個用于圖像識別的深層卷積神經(jīng)網(wǎng)絡,后續(xù)一系列圖像識別方面的深度學習發(fā)展都是以此為基礎,相比于傳統(tǒng)的CNN結構,AlexNet網(wǎng)絡變得更深更寬,該網(wǎng)絡由5個卷積層和3個全連接層依次疊加組成。AlexNet網(wǎng)絡確立了深度學習(深度卷積網(wǎng)絡)在圖像識別的統(tǒng)治地位,也定義了深度學習模型在圖像處理領域的一般性主體架構——前饋卷積神經(jīng)網(wǎng)絡:卷積層與池化層多樣化相互堆疊作為特征提取器,隨后連接多層全連接層,作為分類器,信息流方向固定而單一。接下來本文將從深度學習在圖像識別方向的主體架構的局部修改和主體變化兩方面論述深度學習的發(fā)展。
1. 網(wǎng)絡結構的局部修改
VGGNet網(wǎng)絡[2]是AlexNet網(wǎng)絡更深更寬的演變。相比于AlexNet網(wǎng)絡,VGGNet網(wǎng)絡局部采用更多的小型卷積核串聯(lián)疊加替換一個大型的卷積核。這樣做不僅取得同樣的卷積效果,還添加了更多的非線性操作,使得網(wǎng)絡能提取到更加豐富的特征,同時參數(shù)量還減少了。VGGNet網(wǎng)絡證明了網(wǎng)絡層次越深提取的特征越豐富圖像識別效果越好。
NIN網(wǎng)絡則在卷積核上做了改變,將單一的線性卷積核換成多層感知機(MLP)。CNN高層特征其實是低層特征通過多種運算的組合,多非線性運算的組合能使高層特征更具泛化性。由于MLP卷積核的存在,NIN網(wǎng)絡的一次卷積操作相當于多個卷積層操作的結果,所以NIN網(wǎng)絡能以較少的層數(shù)達到更深網(wǎng)絡的圖像識別效果。
Google Inception Net網(wǎng)絡,被稱為Inception V1網(wǎng)絡。它借鑒NIN網(wǎng)絡的思想改變了卷積層,新的卷積層也被稱作Inception Module。卷積層被分成了四條并行的卷積操作線路,上層的特征輸入經(jīng)過四條線路操作后通過一個聚合操作合并作為輸出輸入到下一層。Module中大量使用1*1的卷積操作不僅可以跨通道組織信息,提高網(wǎng)絡的表達能力,還可以對輸出通道進行升維和降維,簡化計算過程。Inception V1網(wǎng)絡在獲得豐富特征信息的同時,也增強了對不同輸入尺度的適應性。
以上所提及的用于圖像識別的深度學習模型盡管為了獲得更好的特征表達能力,增加了網(wǎng)絡深度或者復雜了卷積層的操作,但這些都是一些局部結構的改變,網(wǎng)絡的主體架構——前饋卷積神經(jīng)網(wǎng)絡未變,特征圖的流向仍是單一的,一層接著一層,這必然導致隨著網(wǎng)絡深度的增加靠近輸出的深層網(wǎng)絡難以充分獲取淺層網(wǎng)絡的特征圖,圖像識別準確率趨于平穩(wěn)后會出現(xiàn)Degradation[3]現(xiàn)象,反向傳播時淺層網(wǎng)絡收不到深層網(wǎng)絡傳來的梯度,網(wǎng)絡模型難以訓練,這些問題都影響了更深的深度學習模型發(fā)展。
2. 網(wǎng)絡結構的主體變化
為了解決上一節(jié)的問題,He等人[3]提出了ResNet網(wǎng)絡模型,借鑒了Highway Networks通過門閥控制信息流的思想,改變了特征信息的流向,第L層的輸出不再單一的影響L+1的輸出還影響L+2層的輸出,所以每兩層可以組成一個殘差學習塊,殘差塊變相的改變了學習目標。整個ResNet網(wǎng)絡由多個殘差塊堆疊,中間再夾雜著池化層組成,訓練過程中只需學習輸入和輸出的差別,保護了信息完整性,簡化了學習目標和難度。
ResNet網(wǎng)絡的思想對圖像識別領域的深度學習技術影響深遠,具有很強的推廣性。DenseNet網(wǎng)絡[4]就是這種思想的發(fā)展與增強,類似于殘差塊,DenseNet網(wǎng)絡有稠密塊。每一層的輸出都是之后所有層的輸入,并且數(shù)據(jù)聚合采用的是拼接而非ResNet中的相加,保證每一組輸入特征圖維度一致,這種方法更加促進了網(wǎng)絡中信息的交流。DenseNet網(wǎng)絡緩解了梯度消失問題,加強了特征傳播,極大的減少了參數(shù)量。
上述兩種圖像識別的深度學習模型都改變了特征信息流的傳輸方向,可跨層次傳輸,不再是單一的前饋卷積神經(jīng)網(wǎng)絡,使得圖像識別準確率相比于前饋卷積神經(jīng)網(wǎng)絡越來越好,這也符合人類思維判定的方式,結合多方面多層次的概括信息比單方面詳細信息能更好的識別一個物體。
(二)圖像取證
圖像的完整周期包含三個部分:圖像獲取、圖像編碼、圖像編輯。圖像取證的出發(fā)點是通過提取圖像在上述三周期中留下的固有痕跡(指紋特性)來分析和理解圖像的操作歷史。
1. 深度學習的簡單遷移
目前深度學習在圖像取證方向研究還很少。Baroffio等人直接將圖像識別方向的深度學習模型應用到相機源取證問題中,因為圖像在獲取過程中由不同相機拍攝都會留下相應相機的指紋特性,所以他們采用類AlexNet網(wǎng)絡結構的簡單深度學習模型來提取相機的指紋特性并加以分類,取得了94%以上的相機模式分類的準確率。
2. 網(wǎng)絡輸入
圖像取證不同于圖像識別的地方在于識別是區(qū)分圖像內(nèi)容里的差異,肉眼可以察覺到,而取證則是區(qū)分圖像中以微弱信號存在的操作指紋,類間形態(tài)的差異微乎其微,所以對于圖像取證問題一般的深度學習模型不能勝任。因此Chen等人[5]對深度學習模型做出了一些改變,在類AlexNet網(wǎng)絡結構前添加了一個預處理層,放大了取證想要的指紋特征。相比沒有預處理層,實驗結果準確率提升了7.22%。圖像取證的性質(zhì)必然決定了網(wǎng)絡輸入的改變,只有放大了想要提取的指紋特征,深度學習模型才能更好地充當一個特征提取和分類器。
3. 適應取證的結構
針對一般取證問題,圖像的預處理顯然是必不可少的,但額外添加一個預處理層又顯累贅,所以Ni等人[6]提出了一種針對隱寫分析取證的深度學習模型,將預處理整合進網(wǎng)絡結構中。Ni等人用30個空間富模型濾波器初始化第一層卷積核,使得第一層卷積操作兼顧預處理功能。僅管取證問題不同于識別問題,但學習模型由繁到簡是個必然的趨勢,相比于圖像識別,深度學習在圖像取證上的研究才剛剛開始,越來越多適應取證的深度學習模型結構將會被提出,簡化圖像取證的流程。
(三)圖像檢測
圖像檢測相比于圖像識別,不僅要識別出圖片中的物體,還要定位物體處于圖片中什么位置。
1. 多模塊堆疊
RCNN模型[7]是利用深度學習進行圖像檢測的第一個深度學習網(wǎng)絡模型,和圖像取證一樣,在研究的初期,單純的深度學習模型并不能實現(xiàn)檢測的目的。RCNN模型由四個模塊組成:(1)用Selective Search算法使每張圖像生成1K~2K個候選區(qū)域;(2)對每個候選區(qū)域,使用深度學習技術提取特征;(3)將特征送入每一類的SVM分類器,判別是否屬于該類;(4)使用線性回歸器精細修正候選框位置。從中可以看出深度學習模塊只起到了特征提取器的作用,這也是一開始各個領域應用深度學習的出發(fā)點,雖然是簡單的運用,但仍然在目標檢測競賽上取得突破性進展。
2. 模塊合并
緊接著RCNN模型,Girshick相繼提出了fast RCNN模型和faster RCNN模型。后續(xù)模型充分運用了深度學習知識,將所有模塊逐步整合進深度學習模型中,原本各自單獨的模型整合到一體后可以在網(wǎng)絡訓練時相互約束,共同最小化整個網(wǎng)絡的損失函數(shù),推動整個深度學習網(wǎng)絡朝更好的方向發(fā)展。
四、存在的問題與研究展望
深度學習在圖像領域主要以卷積神經(jīng)網(wǎng)絡研究為主,但卷積運算注定整個網(wǎng)絡將會有很大的計算量,導致網(wǎng)絡訓練花費時間非常長,改變卷積運算形式簡化計算復雜度也將會成為一大發(fā)展方向。圖像領域的研究大部分局限于灰度圖像,很少涉及彩色圖像,而四元數(shù)在普通的彩色圖像處理領域已取得顯著地效果,將四元數(shù)和深度學習知識結合起來想必一定能提取到更加豐富的彩色圖像特征,在彩色圖像處理領域取得意想不到的效果,這也是我們團隊一直致力奮斗研究的方向。
參考文獻:
[1]A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems 25, pages 1106-1114, 2012.
[2]Karen Simonyan, Andrew Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition. CoRR abs:1409.1556, 2014.
[3]He, Kaiming, et al. Deep residual learning for image recognition. Proceedings of the IEEE conference on computer vision and pattern recognition,2016.
[4]Huang G, Liu Z, Weinberger K Q, et al. Densely connected convolutional networks. arXiv preprint arXiv:1608.06993, 2016.
[5]Chen J, Kang X, Liu Y, et al. Median Filtering Forensics Based on Convolutional Neural Networks. Signal Processing Letters IEEE, 2015
[6]Ye J, Ni J, Yi Y. Deep learning hierarchical representations for image steganalysis. IEEE Transactions on Information Forensics and Security, 2017, 12(11): 2545-2557.
[7]Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation. Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 580-587.