蓋榮麗,蔡建榮,王詩宇,倉 艷,陳 娜
1(大連大學 信息工程學院,大連 116622) 2(中國科學院大學,北京 100049) 3(中國科學院 沈陽計算技術研究所,沈陽 110168)
作為計算機視覺領域的一個重要分支,圖像識別研究始于上個世紀40年代,60年代隨著人工智能的出現而得到了迅速發展.在過去的幾十年間,圖像識別的應用領域已經覆蓋了軍事、安全、生物醫學、農業、自動化等人類社會生活的許多方面.傳統的圖像識別方法有:反向傳播算法[1]、貝葉斯分類法[2]等.這些傳統的識別方法主要提取像素級的低級特征且需要人為進行預處理操作,影響了圖像的識別精度.人類視覺的處理過程將對圖像內容的理解轉化為對低層特征的語義理解,并將其逐層映射到高層領域,深度學習很好地模擬了該過程[3].因此,利用深度學習方法進行圖像識別將大大地提高圖像識別準確率.
圖像識別是區分不同類別的圖像,卷積神經網絡(Convo-lutional Neural Network,CNN)是完成圖像識別任務的最佳算法之一[4],設計卷積神經網絡的目的就是模仿人類的學習模式,通過對輸入樣本的訓練與測試,由簡到深地提取特征來區分樣本.神經網絡可降低圖像分類誤差,得到高識別率.文章從算法運用方面指出卷積神經網絡在各領域圖像識別中的優點和缺點,為今后更深一步研究提供參考.
卷積神經網絡[4]是一種前饋多層網絡,信息的流動只有一個方向,即從輸入到輸出,每個層使用一組卷積核執行多個轉換.CNN模型主要包含卷積層、池化層、全連接層.以CNN模型為基礎,將多層卷積和多層池化結合產生新的網絡模型,可提高網絡結構的準確度.經典的卷積神經網絡模型有GoogLeNet、AlexNet、VGGNet等[5].
利用CNN進行圖像識別將圖像直接輸入到模型,不需要傳統算法中的預處理和特征提取過程就可以保留圖片本身的結構,從而降低模型處理復雜度.與其他神經網絡的不同之處在于,CNN中存在一層或多層中的矩陣乘法運算被替換成卷積運算,其利用多層神經網絡和圖像局部性的優點減少了大量參數,提高模型訓練速度.最初CNN被廣泛應用于目標識別任務,目前在目標跟蹤、姿態估計、文本檢測與識別、視覺顯著性檢測、動作識別、場景標記等任務中也表現出了出色的性能.
CNN的基本結構為特征提取層和特征映射層.通過層間的感受野相連,提取局部特征.特征映射結構主要是使用Sigmoid函數對卷積神經網絡進行操作,保證其位移不變性.卷積層是CNN中最基本的也是最重要的一層,基本上是對給定圖像的像素矩陣進行卷積或乘法,以生成給定圖像的激活映射(activation map),連接一個計算層,該計算層求得局部平均和二次提取特征,該操作減小了特征分辨率.卷積神經網絡LeNet-5的模型結構如圖1所示.

圖1 卷積神經網絡LeNet-5模型結構圖[6]
基于卷積神經網絡的圖像識別技術由于提取特征能力強、識別精度高以及實施性強等優點,在人臉識別、人體動作識別、醫療圖像、農作物病蟲害等方面運用廣泛,從2012年提出的AlexNet到2014年谷歌提出的GoogleNet圖像分類錯誤率在數據集ImageNet上由16.4%降到6.7%.2015年,微軟研究員提出PReLU-Nets[7]模型在ImageNet數據集上使得圖像分類錯誤率降為4.94%,該模型成為第一次人臉識別錯誤率較低的模型.以下列舉了卷積神經網絡在人臉識別、人體動作識別、醫療圖像處理、農業病蟲害識別等領域的應用.
人臉識別(Face Recognition,FR)技術利用計算機學習通過人臉特征來提取個人信息,由于穩定性好從而逐漸運用到監控系統、智能支付、公安系統等應用中.
人臉檢測自動檢測人眼、鼻子等部位的輪廓點等人臉特征點,從而實現人臉關鍵點的高精度識別和定位,許佳等人提出了基于深度學習的人臉識別定位方法來使人臉關鍵點識別的應用性變強[8].
傳統的人臉識別方法主要分為基于統計、知識兩大類,如基于模版匹配等方法.人臉識別大多采用視頻進行檢測,由于人臉的表情、姿態、年齡、位置等引起的類內變化以及外界光照、背景等身份不同引起的類間變化從而影響視頻檢測人臉的精度,因此基于視頻的人臉識別仍然是一個重大的挑戰.為了提高人臉識別率,需要增強人臉特征對這些因素的魯棒性[9].
采用聚合模型可以基于視頻對人臉進行檢測,Peng[10]等提出了基于幾何特征的聚合方法,參考每個幀的重要性和幀與幀在特征空間中的幾何關系.基于注意力的聚合網絡在所有幀中沿著每個特征維度自適應地對特征進行加權,能夠自適應地、細粒度地度量特征在所有幀中的重要性.
由于視頻中存在圖像模糊、表情姿態動態變化的情況,會導致識別精度較低.基于卷積神經網絡改進的模型可以解決這一問題.Zhao[11]提出了一種端到端的可訓練級聯網絡RDCFace,網絡可以學習校正和對準參數,從而在不需要監控人臉標志點和畸變參數的情況下獲得更好的人臉識別性能.
在實際情況下,人臉數據集是高度不平衡的,類的樣本數量差異巨大,Liu等人[12]提出了Margin Softmax損失來自適應地調整不同類的Margin.Liu[13]等提出了Fair Loss,每個類通過深度Q學習(Deep Q-Learning)來學習一個自適應的Margin.Li[14]等人提出一種加權E-Margin損失用于獲取具有高區分度的人臉識別特征.基于卷積神經網絡的模型在人臉識別領域的運用,可以極大地提高檢測精度.在人臉識別方向的發展中,解決上述存在的問題,會更有利于進一步研究.在復雜背景中,人臉由于物體、人臉間的遮擋,使得識別難度增強,為提高背景復雜下人臉的識別度,在訓練過程中,局部遮擋人臉識別可以擺脫這一限制,何芳州等人提出了一種低秩稀疏與網絡學習的人臉識別算法,使得遮擋噪聲的敏感性降低,提高了復雜環境中人臉識別的可靠性和實時性[15].
人臉識別是一種流行而有效的生物識別認證形式,可用于訪問基于用戶的系統.但是人臉識別技術的一個缺點就是偽裝者可以通過向傳感器展示有效的用戶照片來訪問系統,使得人臉識別系統面臨著各種類型的人臉欺騙攻擊(face spoof attack),如打印攻擊(print-attack)、重放攻擊(replay-attack)、3D掩碼攻擊(3D mask attack)[16].
視頻中人體動作識別就是在視頻內容和行為類型之間建立對應關系.傳統的人體動作識別方法分為基于人體運動信息的特征提取方法[17]和基于時空興趣點的特征提取方法[18,19]兩大類.特征提取過程劃分為特征提取與后續動作識別兩個階段.深度學習端到端的訓練方法可以對特征提取與后續的分類識別進行統一訓練與學習.
原始視頻存在冗余信息,Yang[20]等提出了一種時空注意力卷積神經網絡(STA-CNN),能夠自動選擇有區別的時間段、聚焦到信息空間區域,將時間注意力機制和空間注意力機制結合到卷積網絡對視頻動作識別.
CNN善于捕獲局部特征,處理長時依賴問題效果不佳,而RNN尤其是LSTM在處理長時依賴問題時表現出巨大的優勢,Zhao等[21]將改進的注意力CNN和RNN相結合來解決動作識別任務.
動作識別任務普遍出現在視頻檢測中,設計一種輕量級網絡進行視頻動作識別降低時空信息的建模能力,Li等[22]結合時間卷積與空間卷積提出一種時空協同卷積模型(STC-Conv)來降低模型復雜度、提高計算效率.實驗結果表明該模型的性能優于3D-CNNs、計算成本甚至比2D-CNNs還低.
Roig[23]等針對缺少對行為相關的上下文信息的檢測和理解能力,為此提出基于動作、場景、物體和聲音特征的多模態系統和金字塔結構分層特征組合方法.實驗表明多模態特征有效地提高人體動作識別能力.
近年來,人體動作識別取得了相當大的進展,但是由于遮擋、攝像機移動、光照變化、背景的復雜多樣、受試者動作類似等原因,要準確地識別視頻序列中的動作仍然具有挑戰性.
醫學圖像種類繁多、分辨率低、人體結構復雜,在一定程度上限制了醫生對患者做出有效診斷.當前臨床影像診斷主要是人工閱片,但效率低下,且肉眼閱片方法存在較高的假陽性結果.卷積神經網絡模型是醫學影像中預測早起疾病癥狀的重要方式,通過有監督與無監督的算法對一些特定標準的數據集進行預測,其在醫學領域發揮的作用日益突出.
采用醫學圖像分割識別感興趣區域(ROI)內部或輪廓的像素或像素集,是對人體器官的醫學圖像進行精準有效地分割時實現疾病診斷的關鍵步驟.Tang[24]等人提出一種在自動上下文方案中使用多階段UNet(MS-Unet)的框架來精確地端到端分割皮膚損傷.焦慶磊等[25]提出LSFNet模型來實現肺結節的檢測,在分類時融合位置和尺寸信息過程中實現對輸入圖片進行肺部實例分割.
Zhou等[26]提出一種基于CNN的醫學運動圖像智能識別算法.極值學習機引用到CNN中,將融合后的特征訓練為CNN的輸入信息.該算法的人工特征與深度學習特征互補,從不同的角度描述了醫學圖像的人體運動信息.
Hu等[27]提出一種多核深度卷積(MD-Conv)模型用于胸部X線圖像疾病自動診斷,能夠利用多尺度核函數學習多尺度特征,運用于醫學圖像自動診.
Mohamed等[28]構建CNN模型,在大型數據集上區分“散射密度”和“異質密度”兩種類型的乳腺密度.為評估分類性能,在乳房X光圖像數據集上,去除可能分類不正確的圖像,實驗表明該模型在兩種乳腺密度類別方面具有非常優異分類性能.表1列舉了一些深度學習在醫療上的應用.

表1 深度學習在醫療圖像中的部分研究應用
利用最前沿的技術對醫療圖像進行分析研究有著重要的研究價值,可以幫助醫生快速地做出診斷.
病蟲害是農業領域面臨的最大的挑戰,傳統病蟲害檢測方法依靠農民的經驗或者專家指導.由于農作物類型復雜、生長階段不均等因素導致農作物圖像特征提取困難,檢測率低下.隨著卷積神經網絡的發展,目前科研工作者已經將其廣泛運用于病蟲害識別檢測、植物和農作物的識別、雜草的檢測與分類等多項研究.
針對水稻的主要害蟲褐飛虱體積小、數量多,難以檢測的問題,He等[41]提出一種兩層均為Faster RCNN的檢測算法,兩層采用不同的特征提取網絡,將該兩層檢測算法的檢測結果與用YOLOv3的檢測結果進行比較,發現前者的平均召回率要比后者高24.8%,對于不同的年齡段的褐飛虱,兩層檢測算法的平均召回率要比YOLO-v3高38%,實驗結果表明該方法具有一定的有效性.因為AlexNet模型參數多、特征尺度單一,Zhang等[42]提出一種將擴張卷積(dilated convolution)與全局池化(global pooling)相結合的全局池化擴張卷積神經網絡(GPDCNN)用于黃瓜病蟲害識別,該模型相比CNN和AlexNet,在計算復雜度沒有增加的情況下,通過用全局池化層代替全連接層增加了卷積感受野且不丟失判別式.Bollis等[43]設計了一個在顯著性映射指導下的弱監督學習過程來自動選擇圖像中的ROI,這樣大大地減少標注任務,并將其用于柑橘作物病蟲害識別中,因缺少數據,創建了一個CPB數據集,在兩大數據集IP102[44]和CPB上實驗取得了不錯的效果.Turkoglu等[45]將LSTM與預訓練的CNN模型進行組合形成MLP-CNNs用于植物病蟲害檢測.在遷移學習過程中用AlexNet、GoogleNet、DenseNet201模型進行特征提取,后將這些特征輸入到LSTM層,構建魯棒的蘋果病蟲害檢測雜交模型,實驗結果相當于或優于預訓練的模型.
卷積神經網絡模型的快速發展使得農作物病蟲害識別取得了一定成績.由于實際農田中攝像機的稀疏性,所獲取的圖像往往模糊不清,且現有技術主要基于清晰、高分辨率的圖像數據集上訓練的,對于低分辨率圖像的識別效果不佳.農作物病蟲害種類多,每種病蟲害對應的數據集比較少,因為需要為每種病蟲害建立一定數量、一定規模的病蟲害圖像數據集.
卷積神經網絡在計算機視覺方面的應用,包括圖像的分類識別、視頻識別等都有著明顯的優勢,在語音識別方面也取得了突破性的進展,但是圖像識別在實際運用中仍然存在一些挑戰,值得研究者進一步探討研究與解決.
1)圖像是識別的基礎數據,圖像識別中首要的挑戰就是模糊圖像、受環境影響的圖像(如受光線、噪聲影響)、遮擋的圖像等情況.雖然前人提出了各種各樣的技術來盡可能地減少這種挑戰,但是這些問題依然存在于計算機視覺任務中.
2)卷積神經網絡在檢測中需要對數據進行標注,一個模型的訓練過程中往往需要大量手工標注的數據,隨著大規模數據量的涌現,無標簽的未知數據占絕大多數,為這些數據做標簽已經變得不夠現實了,而且找專家來標注數據是非常昂貴的.這個時候我們就要學會從無標注的數據里面進行學習,現有的研究方法包括生成對抗網絡、主動學習(Active Learning)[46]等.
3)非歐空間數據不存在平移不變性,采用圖卷積神經網絡可以處理圖數據.在該領域中,目前存在的主要方法為譜方法和空間方法,研究表明,雖然圖卷積神經網絡取得了一定的成果,但仍然有很多問題需要解決[47].
4)目前在深度學習中訓練網絡模型需要大量的數據樣本,如何在少量樣本情況下即保證識別精度又能大大提高網絡的訓練速度是很多研究者的一個重要目標.數據擴充(Data Augmentation)是一項非常重要的技術,其可以從現有的數據中產生更多的有用數據.神經網絡中Dropout的引入使得樣本不足的條件下也能夠比較高的識別率,文獻[48]提出采用滑動窗口技術增加訓練數據的方法.Chen等人[49]提出了一種GridMask的數據擴增策略,該策略刪除均勻分布的區域,最后形成網絡形狀,使用此形狀刪除信息比設置完全隨機位置更加有效.
總之,CNN目前還存在很多待解決的問題,這些問題不影響在各領域中圖像識別的運用和發展.仍然是研究的一大熱點.