亚洲男人的天堂2018av,欧美草比,久久久久久免费视频精选,国色天香在线看免费,久久久久亚洲av成人片仓井空

視覺理解,如物體檢測、語義和實例分割以及動作識別等,在人機交互和自動駕駛等領域中有著廣泛的應用并發揮著至關重要的作用。近年來,基于全監督學習的深度視覺理解網絡取得了顯著的性能提升。然而,物體檢測、語義和實例分割以及視頻動作識別等任務的數據標注往往需要耗費大量的人力和時間成本,已成為限制其廣泛應用的一個關鍵因素。弱監督學習作為一種降低數據標注成本的有效方式,有望對緩解這一問題提供可行的解決方案,因而獲得了較多的關注。圍繞視覺弱監督學習,本文將以物體檢測、語義和實例分割以及動作識別為例綜述國內外研究進展,并對其發展方向和應用前景加以討論分析。在簡單回顧通用弱監督學習模型,如多示例學習(multiple instance learning,MIL)和期望—最大化(expectation-maximization,EM)算法的基礎上,針對物體檢測和定位,從多示例學習、類注意力圖機制等方面分別進行總結,并重點回顧了自訓練和監督形式轉換等方法;針對語義分割任務,根據不同粒度的弱監督形式,如邊界框標注、圖像級類別標注、線標注或點標注等,對語義分割研究進展進行總結分析,并主要回顧了基于圖像級別類別標注和邊界框標注的弱監督實例分割方法;針對視頻動作識別,從電影腳本、動作序列、視頻級類別標簽和單幀標簽等弱監督形式,對弱監督視頻動作識別的模型與算法進行回顧,并討論了各種弱監督形式在實際應用中的可行性。在此基礎上,進一步討論視覺弱監督學習面臨的挑戰和發展趨勢,旨在為相關研究提供參考。

//www.cjig.cn/jig/ch/reader/view_abstract.aspx?file_no=20220604&flag=1

近年來,視覺理解技術的快速發展仍主要建立 在監督學習的基礎上。 然而,物體檢測、語義和實例 分割以及視頻動作識別等視覺理解任務往往需要大 量的全標注數據集 D s = {(x, y s )},其中 x 為輸入 樣本,y s是全標注。 例如,對于分割任務,圖像 x 中 包含各種物體,全標注 y s為像素級別的類別標簽。 得益于深度學習技術的快速發展,全監督學習在各 種視覺理解任務中已經取得了巨大成功,如目標檢 測任務中的 YOLO ( you only look once) (Redmon 等,2016 )、 Fast R-CNN ( fast region-based convolutional neural network) (Girshick,2015;He 等,2017; Ren 等,2017 )、 FCOS ( fully convolutional one-stage object detector) (Tian 等,2019)和 DETR ( detection transformer) ( Carion 等,2020 ) 等, 語義分割中的 DeepLab ( Chen 等,2018 )、 PSPNet ( pyramid scene parsing network) (Zhao 等,2017)等。 然而,大規模 數據集的全標注往往要耗費大量的人力成本和時間 成本。 仍以圖像分割為例,為獲取全監督訓練數據 集如 CityScapes (Cordts 等,2016),需人工對圖像進 行像素級別標注。 該數據集中包含 5 000 幅圖像, 使用 LabelMe 軟件(Russell 等,2008)進行精細的像 素級標注,每幅圖像平均需要花費超過 1. 5 h 來保 證標注的質量,人工標注的成本大約是每小時 6 10 美元。 顯然,過高的標注成本制約了語義分割在 其他類別上的更快發展。 無監督生成學習和自監督 學習雖然在很大程度上能夠緩解標注代價,但仍需 要一定數量的全標注數據用于模型微調。 數據標注 作為一種典型勞動密集型工作,已成為關乎當前整 個 AI(artificial intelligence)產業的基礎。 如何有效地降低標注成本或者避免數據標注,同時保證視覺 理解模型的性能,不僅是深度學習未來發展應用的 關鍵問題,同時也是機器學習乃至于人工智能領域 的重要開放問題,在經濟和社會層面上均具有重要 的研究意義。

弱監督學習作為一種降低數據標注成本的有效 方式,有望對緩解這一問題提供可行的解決方案,因 而獲得了較多的關注。 在視覺弱監督學習方法中, 對于樣本 x 僅需提供弱標注 y w構成弱監督數據集 D w = {(x, y w )}。 如對于圖像分割任務,圖像級別 和標注框的弱監督標注,相較于像素級別的標注的 代價顯著降低。 仍以 CityScapes 數據庫為例,一個 邊界框的標注需要 7 s,一個圖像的類別標注只需要 1 s,弱標注相較于像素級的全標注顯著降低了成 本。 視覺弱監督學習旨在利用弱標注數據集 D w , 通過發展有效的學習模型以縮小與全監督模型的性 能差距。 視覺弱監督方法能夠顯著降低標注成本,且 期望接近全監督視覺模型的性能。 因而如何結合深 度學習和視覺數據任務特點發展視覺弱監督學習模型 方法,成為近年來計算機視覺領域的一個研究熱點。

付費5元查看完整內容

相關內容

弱監督學習:監督學習的一種。大致分3類,第一類是不完全監督(incomplete supervision),即,只有訓練集的一個(通常很小的)子集是有標簽的,其他數據則沒有標簽。這種情況發生在各類任務中。例如,在圖像分類任務中,真值標簽由人類標注者給出的。從互聯網上獲取巨量圖片很容易,然而考慮到標記的人工成本,只有一個小子集的圖像能夠被標注。第二類是不確切監督(inexact supervision),即,圖像只有粗粒度的標簽。第三種是不準確的監督(inaccurate supervision),模型給出的標簽不總是真值。出現這種情況的常見原因有,圖片標注者不小心或比較疲倦,或者某些圖片就是難以分類。

摘要

近年來,深度學習在計算機視覺各個領域中的應用成效顯著,新的深度學習方法和深度神經網絡模型不斷涌現,算法性能被不斷刷新。本文著眼于2016年以來的一些典型網絡和模型,對基于深度學習的計算機視覺研究新進展進行綜述。首先總結了針對圖像分類的主流深度神經網絡模型,包括標準模型及輕量化模型等;然后總結了針對不同計算機視覺領域的主流方法和模型,包括目標檢測、圖像分割和圖像超分辨率等;最后總結了深度神經網絡搜索方法。

關鍵詞

深度學習; 目標檢測; 圖像分割; 超分辨率; 計算機視覺

引 言

近20年來,隨著深度學習技術的迅猛發展和圖形處理器(Graphics processing unit, GPU)等硬件計算設備的廣泛普及,深度學習技術幾乎已經應用到計算機視覺的各個領域,如目標檢測、圖像分割、超分辨率重建及人臉識別等,并在圖像搜索、自動駕駛、用戶行為分析、文字識別、虛擬現實和激光雷達等產品中具有不可估量的商業價值和廣闊的應用前景[1]。基于深度學習技術的計算機視覺同時可以對其他學科領域產生深遠的影響,如在計算機圖形學中的動畫仿真和實時渲染技術、材料領域的顯微圖像分析技術、醫學圖像分析處理技術、實時評估師生課堂表現和考場行為的智慧教育、分析運動員比賽表現和技術統計的智能系統等。

深度學習早在1986年就被Dechter[2]引入機器學習領域,2000年Aizenberg等[3]又在機器學習領域引入了人工神經網絡(Artificial neural network,ANN)[4]。深度學習方法由多層組成,用于學習多層次抽象的數據特征[5]。在人工神經網絡領域中,深度學習又被稱為分層學習[6],是一種通過在不同計算階段精確地分配分數來調節網絡激活的技術[4]。深度學習常常用多種抽象結構來學習復雜的映射關系,如2009年蒙特利爾大學的Bengio教授提出的帶隱藏層的ANN[7]等。深度學習技術可以被視作一種表征學習,是機器學習的一個分支。

2005年多倫多大學的Hinton教授團隊試圖用圖模型模擬人類的大腦[8],在文獻[9]中提出了一種逐層貪婪算法來預訓練深度信念網,克服了深度網絡難以訓練的弊端,并用自編碼器降低數據維度[10],開啟了深度學習的熱潮,使其被廣泛應用在語音識別、計算機視覺和自然語言處理等領域。2011—2012年,深度學習技術在語音識別領域中最先取得重大突破,Dahl團隊[11]和Hinton團隊[12]先后將識別錯誤率降至20%~30%。在2012年的ImageNet大規模視覺識別挑戰競賽(ImageNet large scale visual recognition challenge,ILSVRC)中,Hinton的學生提出的AlexNet[13]以超過第二名準確率10%的巨大優勢奪得冠軍,深度學習正式進入了爆發期。近年來各大互聯網科技公司,如Google、Microsoft、Facebook、百度、阿里巴巴和騰訊等也爭相投入大規模深度學習系統的研發中。

筆者在2016年發表“深度卷積神經網絡在計算機視覺中的應用研究綜述”[1],總結了2016年之前深度卷積神經網絡在計算機視覺中的研究成果。本文在文獻[1]的基礎上,重點綜述2016年以后基于深度學習的計算機視覺研究新進展。但為了表述的完整和邏輯的嚴謹,本文與文獻[1]內容有少量重合。

1 通用深度神經網絡模型

本文將解決圖像分類任務的神經網絡模型稱為通用網絡,這類模型通常是解決其他視覺任務的基礎模型。1989年AT&T貝爾實驗室的研究員LeCun通過反向傳播算法成功地訓練了卷積神經網絡[14],這項工作代表了20世紀80年代神經網絡的研究成果。1998年LeCun等基于前人的工作提出了LeNet[15],由2個卷積層和3個全連接層組成,因此也被稱為LeNet?5,其結構如圖1所示。但LeNet?5的復雜度遠遠無法和今天的深度網絡模型相比,性能也相差懸殊,但在當時取得了和支持向量機相媲美的效果,并被廣泛應用于識別手寫數字,受到了廣泛的關注。

圖1 LeNet-5結構示意圖[15]

Fig.1 Structure of LeNet-5[15]

在LeNet提出后,很長一段時間卷積神經網絡并不是計算機視覺領域的主流方法,因為LeNet只在小數據集上表現良好,在規模更大、更真實的數據集上表現一般。由于當時未普及高性能的神經網絡加速硬件設備,卷積神經網絡訓練的時間成本和空間開銷太大。因此在2012年AlexNet[13]提出之前,大多數研究者都采用SIFT[16]、HOG[17]和SURF[18]等手工方法提取特征,并花費大量的精力進行數據整理。

2007年,普林斯頓大學李飛飛團隊基于WordNet的層級結構開始搭建ImageNet數據集[19],通過網絡抓取、人力標注和眾包平臺等各種方式,最終在2009年公開。如今ImageNet數據集包含超過14 000 000張帶標簽的高清圖像、超過22 000個類別。從2010年開始舉辦的ILSVRC圖像分類比賽成為計算機視覺領域的重要賽事,用于評估圖像分類算法的準確率。ILSVRC比賽數據集是ImageNet的一個子集,包含1 000類、數百萬張圖片。來自NEC實驗室的林元慶帶領NEC?UIUC團隊以28.2%的top?5錯誤率贏得了2010年ILSVRC冠軍。2010和2011這兩年的冠軍方案主要采用HOG[17]、LBP[20?21]等算法手動提取特征再輸入到特征向量機進行分類。

2012年的冠軍AlexNet[13]首次將深度學習技術應用到大規模圖像分類領域,證明了深度學習技術學習到的特征可以超越手工設計的特征,開啟了計算機視覺領域中的深度學習熱潮。AlexNet和LeNet結構理念相似,采用5層卷積層和3層全連接層,激活函數用ReLU取代了sigmoid,用dropout方法取代了權重衰減緩解過擬合,結構如圖2所示。AlexNet取得了17.0%的top?5錯誤率。

圖2 AlexNet結構示意圖[13] Fig.2 Structure of AlexNet[13]

2014年的冠軍團隊提出的ZFNet[22]通過反卷積可視化CNN學習到的特征,取得了11.7%的錯誤率。2015年的冠軍團隊Szegedy等提出的GoogLeNet[23]將錯誤率降到了6.7%。GoogLeNet提出了一種Inception模塊,如圖3所示。這種結構基于網絡中的網絡(Network in network,NiN)的思想[24],有4條分支,通過不同尺寸的卷積層和最大池化層并行提取信息,1×11×1卷積層可以顯著減少參數量,降低模型復雜度。GoogLeNet一共使用9個Inception模塊,和全局平均池化層、卷積層及全連接層串聯。Szegedy提出很多改進的Inception版本,陸續使用了Batch Normalization[25]、Label Smoothing[26]和殘差連接[27]等方法。

圖3 Inception模塊示意圖[23] Fig.3 Inception block[23]

2015年的ILSVRC亞軍是由牛津大學視覺幾何團隊提出的VGGNet[28]。VGGNet重復使用了3××3的卷積核和2××2的池化層,將深度網絡加深到16~19層,如圖4所示。

圖4 VGG模塊和VGG結構示意圖 Fig.4 Block and structure of VGG

2016年,微軟亞洲研究院He等提出的ResNet[29]奪得了ILSVRC冠軍,將top?5錯誤率降至3.6%。ResNet最深可達152層,以絕對優勢獲得了目標檢測、分類和定位3個賽道的冠軍。該研究提出了殘差模塊的跳接結構,網絡學習殘差映射f(x)?xfx-x,每1個殘差模塊里有2個相同輸出通道的3××3卷積層,每個卷積層后接1個BN(Batch normalization)層和ReLU激活函數。跳接結構可以使數據更快地向前傳播,保證網絡沿著正確的方向深化,準確率可以不斷提高。ResNet的思想產生了深遠的影響,是深度學習領域的一個重要進步,奠定了訓練更深的深度網絡的基礎,其結構如圖5所示。

圖5 殘差模塊 Fig.5 Residual block

2017年提出的DenseNet[30]和ResNeXt[31]都是受ResNet[29]的啟發。DenseNet的目標不僅僅是學習殘差映射,而且是學習類似泰勒展開的更高階的項。因此DenseNet的跳接結構沒有用加法,而是用了聯結,如圖6所示。

圖6 ResNet和DenseNet結構比較 Fig.6 Structures of ResNet and DenseNet

ResNeXt[31]則是結合了ResNet[29]和Inception v4[27],采用GoogLeNet分組卷積的思想,在簡化的Inception結構中加入殘差連接,并通過一個超參數“基數”調整ResNeXt模塊中分支的數量。這種簡化的Inception結構不需要人工設計每個分支,而是全部采用相同的拓撲結構,結構如圖7所示。ResNeXt在2016年ILSVRC的分類任務上獲得了亞軍。

圖7 ResNet殘差模塊和基數為32的ResNeXt模塊[31] Fig.7 ResNet block and ResNeXt block with cardinality of 32[31]

和ResNeXt同年提出的Xception[32]也是一種基于Inception分組卷積思想的模型。分組卷積的核心思想是將通道拆分成不同大小感受野的子通道,不僅可以提取多尺寸的特征,還可以減少參數量,降低模型復雜度。Xception模塊可以視為一種極端情況的Inception模塊,它的輸入先經過一個1××1的卷積層后進入多個完全相同的3××3卷積層分支,如圖8所示。

圖8 經典及簡化的Inception模塊和Xception模塊[32] Fig.8 Classical and simplified Inception blocks and Xception block[32]

ImageNet數據規模大,圖像類別多,因此在ImageNet上訓練的模型泛化能力較好。如今很多模型都是在ImageNet上預訓練后進行微調,有些模型微調后準確率可以超過只在目標訓練集上訓練模型的20%。受ImageNet自由開放思想的影響,很多科技巨頭也陸續開放了自己的大規模數據集:2018年谷歌發布了Open Image數據集[33],包含了被分為6 000多類的900萬張帶有目標位置信息的圖片;JFT?300M數據集[34]包含300萬張非精確標注的圖像;DeepMind也公開了Kinetics數據集[35?36],包含650 000張人體動作的視頻截圖。這些大規模數據集增強了深度學習模型的泛化能力,為全世界深度學習工作者和數據科學家提供了數據支持,保障了深度學習領域的蓬勃發展。

生成模型可以學習數據中隱含的特征并對數據分布進行建模,它的應用非常廣泛,可以對圖像、文本、語音等不同數據建模真實的分布,然后基于這一分布通過采樣生成新的數據。在深度學習之前就已經有許多生成模型被提出,但由于生成模型往往難以建模,因此科研人員遇到了許多挑戰。變分自編碼器(Variational autoencoder, VAE)[37]是一種當前主流的基于深度學習技術的生成模型,它是對標準自編碼器的一種變形。自編碼器將真實樣本的高級特征通過編碼器映射到低級特征,被稱為隱向量(或潛向量),然后又通過解碼器生成相同樣本的高級特征。標準自編碼器和變分自編碼器的區別在于對隱向量的約束不同。標準自編碼器關注重構損失,即

L(X,X')=∥X?X'∥22?X,X'=X-X'22 (1) 式中:XX和X'X'分別為輸入圖像和重構圖像。 變分自編碼器則強迫隱變量服從單位高斯分布,優化如下損失函數

L(X)=Ez~q[lg P(X|z)]?KL(q(z|X)||p(z))?X=Ez~q[lg P(X|z)]-KL(q(z|X)||p(z)) (2) 式中:EE表示期望;z為隱變量;q(z|X)q(z|X)表示隱變量的建議分布,即編碼器輸出的隱變量的分布;p(z)p(z)表示標準高斯分布;P(X|z)P(X|z)表示解碼器分布;KLKL表示KL散度。式(2)等號右邊第1項表示重構圖片的精確度,用均方誤差度量;第2項表示圖片的潛變量分布和單位高斯分布之間的差異,用KL散度來度量。為了優化KL散度,變分自編碼器生成1個均值向量和1個標準差向量用于參數重構。此時在隱向量分布中采樣就可以生成新的圖片。自編碼器和變分自編碼器示意圖如圖9、10所示。

圖9 自編碼器示意圖Fig.9 Autoencoder

圖10 變分自編碼器示意圖 Fig.10 Variational autoencoder

生成對抗網絡(Generative adversarial net, GAN)[38]是另一種十分常見的基于深度學習技術的生成模型,它包括2個同時進行的組件:生成器和判別器,其結構如圖11所示。生成器從隱向量生成圖像,判別器對真偽圖像進行分類,二者相互對抗,互相促進。

圖11 生成對抗網絡示意圖 Fig.11 Generative adversarial net

變分自編碼器和生成對抗網絡近年來有了顯著的發展[39]。在計算機視覺領域中,變分自編碼器和生成對抗網絡已經被廣泛應用于圖像翻譯、超分辨率、目標檢測、視頻生成和圖像分割等領域,具有廣闊的研究價值和應用前景。

2 輕量化網絡

隨著網絡層數的加深,各種深度網絡模型的性能變得越來越好,隨之而來的問題是模型巨大的參數量和緩慢的推理速度,因此輕量化網絡的需求變得愈加強烈。輕量化網絡的設計核心是在盡可能保證模型精度的前提下,降低模型的計算復雜度和空間復雜度,從而使得深度神經網絡可以被部署在計算性能和存儲空間有限的嵌入式邊緣設備上,實現從學術界到工業界的躍遷。在分布式訓練中,小模型使得服務器之間通信產生的帶寬負擔也相對較小。目前學術界和工業界設計輕量化的深度網絡模型主要有4種方法:人工設計的輕量化神經網絡、基于神經網絡架構搜索(Neural architecture search,NAS)的自動設計神經網絡技術、卷積神經網絡壓縮和基于AutoML的自動模型壓縮。

2016年由伯克利和斯坦福的研究者提出的SqueezeNet[40]是最早進行深度模型輕量化的工作之一,其結構如圖12所示。SqueezeNet提出了一種Fire模塊用來減少參數量,其結構如圖13所示。它分成Squeeze和Expand兩部分:Squeeze層只由數個1××1卷積層構成;Expand層則包含數個1××1和3××3卷積層。Fire模塊和Inception模塊的結構很相近,二者都使用了1××1和3××3組合的拓撲結構,在使用了不同尺寸的卷積層后進行連結。在網絡結構上,SqueezeNet借鑒了VGG堆疊的形式,在2層卷積層和池化層中間堆疊了8個Fire模塊。最終SqueezeNet在ImageNet上實現了AlexNet級別的精確度,參數減少到原來的1/501/50。通過使用Deep Compression模型壓縮技術,SqueezeNet的參數量僅有50萬個,約為AlexNet的1/5001/500。

圖12 SqueezeNet網絡結構示意圖[40]

Fig.12 Structure of SqueezeNet[40]

圖13 SqueezeNet的Fire 模塊[40]

Fig.13 Fire block in SqueezeNet[40]

MobileNet[41]是谷歌于2017年提出的輕量化網絡,核心是通過用深度可分離卷積代替標準的卷積。深度可分離卷積將標準卷積拆成1個深度卷積和1個逐點卷積(也就是1××1卷積),可以將計算量降低至原來的1/8~1/91/8~1/9。標準卷積和深度可分離卷積+BN+ReLU結構如圖14所示。

圖14 標準卷積+BN+ReLU網絡和深度可分離卷積+BN+ReLU網絡[41]

Fig.14 Standard convolution+BN+ReLU network and depthwise separable convolution+BN+ReLU network[41]

深度可分離卷積的結構成為了很多輕量化網絡設計的參照,這種結構的有效性自從被Xception[32]證明后成為輕量化網絡設計的主流思想。比MobileNet晚2個月由Face++團隊提出的ShuffleNet[42]基于這一思想,使用了Channel Shuffle和分組卷積。分組卷積的思想最早由AlexNet[13]提出,初衷是為了降低單張GPU的占用,將輸入通道分成相同的幾條分支然后連結,從而減少訓練參數量。之后的Inception模塊將這一思想發揚光大,ResNeXt[31]的成功也證明了分組卷積的有效性。由于分組卷積會讓信息的流通不當,ShuffleNet設計了Channel Shuffle,將各組通道均分并進行混洗,然后依次重新構成特征圖,示意圖如圖15所示。

圖15 Channel Shuffle示意圖[42]

Fig.15 Diagrammatic sketch of Channel Shuffle[42]

圖15中,Channel Shuffle后第2個組卷積GConv2的輸入信息來自各個通道,圖15(c,b)達到了一樣的效果。ShuffleNet模塊的設計借鑒了ResNet bottleneck的結構,如圖16所示。

圖16 ShuffleNet模塊[42] Fig.16 ShuffleNet block[42]

ShuffleNet模塊摒棄了Pointwise卷積,因為對于輸入維度較高的小型網絡,1××1卷積的開銷巨大。例如在ResNeXt模塊中,1××1卷積占據了93.4%的計算量。在網絡拓撲上,SqueezeNet和MobileNet都采用了VGG(Visual geometry group)的堆疊結構,而ShuffleNet采用了ResNet的跳接結構。

2018年,MobileNet和ShuffleNet又相繼提出了改進版本。MobileNet v2[43]結構如圖17所示,采用了效率更高的殘差結構,提出了一種逆殘差模塊,并將MobileNet v1模塊的最后一個ReLU6層改成線性層。ShuffleNet v2[44]用更直接的運算速度評估模型,摒棄了之前如每秒浮點運算次數(FLOPS)等間接的指標。結構上ShuffleNet v2采用了一種Channel Split操作,將輸入的特征圖分到2個分支里,最后通過連結和Channel Shuffle合并分支并輸出。ShuffleNet v1和ShuffleNet v2結構如圖18所示。

圖17 MobileNet v2模塊[43]

Fig.17 MobileNet v2 block[43]

圖18 ShuffleNet v1和ShuffleNet v2結構[44]

Fig.18 Structures of ShuffleNet v1 and ShuffleNet v2[44]

2020年華為諾亞方舟實驗室的團隊提出了GhostNet[45],如圖19所示,可以用更少的參數量提取更多的特征圖。首先對輸入特征圖進行卷積操作,然后進行一系列簡單的線性操作生成特征圖,從而在實現了傳統卷積層效果的同時降低了參數量和計算量。該團隊認為性能較好的主流卷積神經網絡如ResNet?50通常存在大量冗余的特征圖,正是這些特征圖保證了網絡對數據深刻的理解。Ghost模塊用更小的代價模擬了傳統卷積層的效果。

圖19 卷積層和Ghost模塊[45]

Fig.19 Convolutional layer and Ghost module[45]

人工設計的輕量化網絡MobileNet系列[41,43]和ShuffleNet系列[42,44]的基本思想主要是通過分離卷積操作減少運算量,再采用殘差跳接結構和Channel Shuffle等混合通道的操作促進分支間的交流,提高信息利用率。隨著模型規模的擴大,硬件資源變得更加稀缺,在保證精度的前提下壓縮并加速模型將會是經久不衰的熱門研究方向,也是信息化時代發展的必經之路。近年來大量的關于模型壓縮和結構優化的工作不斷涌現,如網絡剪枝[46]、張量分解[47?48]和知識遷移[49]等。輕量化模型的發展有助于深度學習技術的推廣和應用,推動深度學習技術的產業化發展。

3 面向特定任務的深度網絡模型

計算機視覺任務眾多,深度學習最開始在圖像分類實現突破,當前深度學習幾乎深入到了計算機視覺的各個領域。本節將針對目標檢測、圖像分割、圖像超分辨率和神經架構搜索等其他計算機視覺任務簡要總結深度學習方法。

3.1 目標檢測

目標檢測任務作為計算機視覺的基本任務之一,包含物體的分類、定位和檢測。近年來隨著深度學習技術的發展,目標檢測算法已經從基于手工特征的HOG[17]、SIFT[16]及LBP[20?21]等傳統算法轉向了基于深度神經網絡的機器學習技術。自2014年Girshick等提出了R?CNN[50]模型以來,目標檢測就成為了計算機視覺最受人關注的領域之一。在R?CNN之后,Girshick團隊相繼提出了Fast R?CNN[51]、Faster R?CNN[52]等一系列模型,這些模型均將目標檢測問題歸結為如何提出可能包含目標的候選區域和如何對這些區域分類兩個階段,因此這類模型也被稱作兩階段模型。

受當時性能最好的圖像分類網絡,如AlexNet[13]和VGG[28]等的影響,R?CNN系列模型的網絡結構由2個子網組成:第1個子網用普通分類網絡的卷積層提取共享特征;第2個子網的全連接層進行感興趣區域(Region of interest,RoI)的預測和回歸,中間用一個RoI池化層連接。這些網絡的結構在文獻[1]中已做介紹,這里不再贅述。在ResNet[29]、GoogLeNet[23]等性能更強的分類網絡出現后,這種全卷積網絡結構也被應用到了目標檢測任務上。然而,由于卷積層并不能有針對性地保留位置信息,這種全卷積結構的檢測精度遠低于它的分類精度。R?FCN[53]提出了一種位置敏感分數圖來增強網絡對于位置信息的表達能力,提高網絡的檢測精度,其結構如圖20所示。R?FCN[53]在PASCAL VOC 2007數據集上平均精度均值(mean Average precision, mAP)達到了83.6%,單張圖片的推理速度達到170 ms。

圖20 R-FCN結構示意圖[53] Fig.20 Structure of R-FCN[53]

如何準確識別不同尺寸的物體是目標檢測任務的難點之一。圖21(a)中的方法通過對不同尺寸的圖片提取不同尺度特征來增強不同尺度特征的語義信息,但時間和計算成本太高。圖21(b)中的單一特征圖方法即為SPPnet[54]、Fast R?CNN[51]和Faster R?CNN[52]使用的方法,即在最后一層的特征圖上進行預測。盡管速度較快,但包含的語義信息很少,不能準確地預測目標的位置。圖21(c)是SSD[55]采用的多尺度融合方法,從網絡的不同層抽取不同尺度的特征分別進行預測,這種方法不需要額外的計算,但不能很好地提取小目標敏感的淺層高分辨率特征。

圖21 多尺度檢測的常見結構[56] Fig.21 Common structures of multiscale detection[56]

特征金字塔網絡(Feature Pyramid network, FPN)[56]借鑒了ResNet跳接的思想,結合了層間特征融合與多分辨率預測,其結構如圖22所示。文獻[56]將FPN用于Faster R?CNN的區域候選網絡(Region proposal network, RPN),在每層金字塔后面接一個RPN頭。由于輸入了多尺度的特征,因此不需要生成多尺度的錨框,只需要在每個尺度上設置不同的寬高比,并共享參數。以ResNet?101為骨干網絡的Faster R?CNN+FPN在COCO test?dev上[email protected]達到了59.1%,超過不用FPN的Faster R?CNN 3.4%。實驗證明對于基于區域的目標檢測器,該特征金字塔結構的特征提取效果優于單尺度的特征提取效果。

圖22 FPN結構示意圖[56] Fig.22 Structure of FPN[56]

YOLO[57]是單階段模型的代表,它沒有提出候選區域的過程,而是直接將提出候選區域和分類統一為一個邊界框回歸的問題,將整張圖片作為網絡的輸入,在輸出層對邊界框位置信息和類別進行回歸,實現了端到端的學習過程,其示意圖如圖23所示。它首先將圖片縮放并劃分為等分的網格,然后在每張圖片上運行單獨的卷積網絡,最后用非極大值抑制得到最后的預測框。損失函數被分為3部分:坐標誤差、物體誤差和類別誤差。為了平衡類別不均衡和大小物體等帶來的影響,損失函數中添加了權重并將長寬取根號。

圖23 YOLO示意圖[57] Fig.23 Pipeline of YOLO[57]

YOLO的網絡結構借鑒了GoogLeNet的結構,用24層卷積層后接2層全連接層,將Inception模塊替換為類似網中網[24]中的1××1卷積層后接3××3卷積層,并在ImageNet上預訓練,其結構如圖24所示。在PASCAL VOC 07+12數據集上,YOLO在達到最高幀率155 幀/s時mAP可以達到52.7%,在mAP最高達到63.4%時幀率可達45幀/s。YOLO在保證了準確率的同時擁有極高的推理速度,遠超當時的兩階段模型。

圖24 YOLO網絡結構圖[57] Fig.24 Structure of YOLO[57]

YOLOv1的訓練流程簡單,背景誤檢率低,但由于只選擇交并比最高的邊界框作為輸出,每個格子最多只能預測出一個物體。當每個格子包含多個物體時,YOLOv1只能檢測出1個目標。YOLOv2[58]在YOLOv1的基礎上,骨干網絡采用了以VGG16為基礎的Darknet19,使用了批量歸一化緩解了梯度爆炸和消失的問題。YOLOv2借鑒了Faster R?CNN錨框的設計,將YOLOv1的全連接層替換為錨框預測邊界框的位置,解耦了位置和類別的回歸計算。YOLOv2[58]同時采用了多尺度訓練,提升了模型的健壯性。后續的YOLOv3[59]骨干網絡采用了Darknet53,使用了ResNet的跳接結構,并引入了FPN,一定程度上解決了YOLOv2小目標檢測精度較差的問題。YOLOv3在分辨率320 像素×像素×320 像素的輸入上以22 ms的推理時間使得mAP達到28.2%,和當時最好的單階段檢測器SSD達到相同精度,但擁有3倍的推理速度。YOLOv3以51 ms的推理時間使得[email protected]達到57.9%,相較于以198 ms的推理時間[email protected]達到57.5%的RetinaNet[60],精度相近但YOLOv3的速度是RetinaNet[60]的近4倍。

SSD[55]是最早達到兩階段模型精度的單階段模型之一,對后期的單階段工作影響很深,其結構如圖25所示。為解決YOLOv1小目標檢測精度低的問題,基于VGG不同的卷積段采用了多尺度的特征圖,并在每個網格點生成更多的不同大小和長寬比的預測框。SSD在PASCAL VOC 2007數據集上,對于300 像素××300 像素的輸入mAP達到了74.3%,512 像素××512 像素的輸入mAP達到了76.9%。在COCO trainval35k數據集上預訓練再在PASCAL VOC 07+12上微調后,SSD最終mAP達到了81.6%。

圖25 SSD網絡結構圖[55] Fig.25 Structure of SSD[55]

和兩階段模型相比,單階段模型只需要進行一次類別預測和位置回歸,因此卷積運算的共享程度更高,擁有更快的速度和更小的內存占用。最新的單階段模型如FCOS[61]、VFNet[62]等工作已經可以達到接近兩階段模型精度,同時擁有更好的實時性,更適合在移動端部署。

目標檢測技術從傳統的手工特征算法到如今的深度學習算法,精度越來越高的同時速度也越來越快。在過去幾年中,工業界已經出現了成熟的基于目標檢測技術的應用,如人臉檢測識別、行人檢測、交通信號檢測、文本檢測和遙感目標檢測等。這些應用不僅便利了人們的生活,也為學術界提供了啟發和指導。

在未來的研究工作中,小目標檢測和視頻目標檢測依舊是研究的熱點問題。同時,為了加快推理速度并在移動端嵌入式設備部署模型,目標檢測的輕量化一直備受工業界的關注。在采集到多模態的信息(如文字、圖像、點云等)后,如何通過更好的信息融合來提高檢測性能也是未來的一個重點研究方向。

3.2 圖像分割

本文的圖像分割指圖像語義分割任務,其要求將整張圖片的所有像素分類為預先定義的多個類別之一。由于是像素級的稠密分類任務,相比圖像分類和目標檢測更加困難,是圖像處理和計算機視覺中的一個重要課題,在場景理解、醫學圖像分析、機器人感知及視頻監控等領域有著廣泛的應用。近年來,由于深度學習技術在計算機視覺領域應用中取得的成功,人們也進行了大量的工作研究基于深度學習模型的圖像分割方法。

U?Net[63]和全卷積網絡(Fully convolutional network, FCN)[64]都是在2015年提出的網絡,啟發了后來的很多圖像分割和目標檢測的工作。FCN已在文獻[1]中進行介紹,此處不再贅述。U?Net最初是一個用于醫學圖像分割的卷積神經網絡,分別贏得了ISBI 2015細胞追蹤挑戰賽和齲齒檢測挑戰賽的冠軍。U?Net可視為一個編碼器?解碼器結構,編碼器有4個子模塊,每個子模塊通過一個最大池化層下采樣,解碼器再通過上采樣的4個子模塊增大分辨率直到與輸入圖像的分辨率保持一致,其結構如圖26所示。由于卷積采用的是Valid模式,實際輸出圖像的分辨率低于輸入圖像的分辨率。U?Net網絡同時還采取了跳接結構(即圖26中的灰色箭頭),將上采樣結果與編碼器中具有相同分辨率的子模塊的輸出進行連接,作為解碼器中下一個子模塊的輸入。

圖26 U-Net結構示意圖[63] Fig.26 Structure of U-Net[63]

由于人體結構相對固定,分割目標在圖像內的分布很有規律,醫學圖像大多語義明確,需要低分辨率的信息用于目標物體的識別。同時醫學圖像形態復雜,往往要求高精度的分割,需要高分辨率的信息用于精準分割。U?Net融合了高低分辨率的信息,因此對醫學圖像分割的效果很好。

Mask R?CNN[65]是R?CNN團隊的又一次探索,他們在之前Faster R?CNN[52]的基礎上,將其擴展到更精細的像素級別的分類,從而從目標檢測領域拓展到圖像分割領域。通過使用RoIAlign代替RoIPooling,得到更好的定位效果,并在Faster R?CNN上添加了二進制的Mask,表征像素是否在目標范圍內完成圖像分割的任務。Mask R?CNN網絡結構圖和分支結構圖如圖27、28所示。 圖27 Mask R-CNN網絡示意圖[65]Fig.27 Structure of Mask R-CNN[65] 圖28 Mask R-CNN分支示意圖[65]Fig.28 Structure of Mask R-CNN’s branches[65]

深度卷積神經網絡中池化層和上采樣層的設計對于圖像分割的設計有致命缺陷。因為參數不可學習,而且池化會導致像素的空間信息和內部的數據結構丟失,上采樣也無法重建小物體信息,因此圖像分割的精度一直處于瓶頸。針對這一問題,2016年的DeepLab[66]又提出了一種空洞卷積,避免了池化層帶來的信息損失,并使用全連接的條件隨機場(Conditional random field, CRF)優化分割精度,其結構如圖29所示。

圖29 空洞卷積示意圖(卷積核尺寸為3,輸入步長為2,輸出步長為1)[66] Fig.29 Dilated convolution (kernel size=3, input stride=2, output stride=1)[66]

空洞卷積可以在避免使用池化層損失信息的情況下增大感受野,同時不增加參數數量。作為后處理,DeepLabv1將每個像素點作為節點,像素之間的關系作為節點間的連線,構成一個條件隨機場,再用一個二元勢函數描述像素點之間的關系,將相似像素分配相同的標簽,從而在分割邊界取得良好的效果。DeepLabv1速度很快,幀率達到8 幀/s,在PASCAL VOC 2012數據集上平均交并比(Mean intersection over union,mIoU)達到了71.6%,它的“深度卷積神經網絡+條件隨機場”結構對之后很多工作產生了深遠的影響。

2017年劍橋大學提出的SegNet[67]的主要動機是針對道路和室內場景理解,設計一個像素級別的圖像分割網絡,同時保證內存和計算時間方面上的高效。SegNet采用“編碼器?解碼器”的全卷積結構,編碼網絡采用VGG16[28]的卷積層,解碼器從相應的編碼器獲取最大池化索引后上采樣,產生稀疏特征映射。復用池化索引減少了端到端訓練的參數量,并改善了邊界的劃分。SegNet在道路場景分割數據集CamVid 11 Road Class Segmentation[68]上mIoU達到60.1%, 邊界F1得分(Boundary F1 score,BF) 達到46.84%;在室內場景分割數據集SUN RGB?D Indoor Scenes[69]上幾乎所有當時的深層網絡結構都表現不佳,但SegNet依然在絕大多數的指標上超過了其他網絡。SegNet結構如圖30所示。

圖30 SegNet結構示意圖[67] Fig.30 Structure of SegNet[67]

2017年香港中文大學提出了PSPNet[70],該網絡采用金字塔池化模塊,用大小為1××1、2××2、3××3和6××6的4層金字塔分別提取不同尺度的信息,然后通過雙線性插值恢復長寬,把不同層的特征連結起來得到全局信息,這種結構比全局池化更具有代表性,融合了多尺度的信息。PSPNet在PASCAL VOC 2012數據集上mIoU達到了82.6%,在MS COCO數據集上預訓練后達到85.4%。PSPNet結構如圖31所示。

圖31 PSPNet結構示意圖[70] Fig.31 Structure of PSPNet[70]

DeepLabv2[71]在DeepLabv1[66]和PSPNet[70]的基礎上用ResNet101代替VGG16,并提出了一種帶有空洞卷積的空間金字塔池化模塊(Atrous spatial Pyramid pooling, ASPP),用多尺度的方法以不同的速率并行地提取特征圖信息,極大地增加了感受野,其結構如圖32所示。DeepLabv2使用不同的學習率,相比DeepLabv1, mIoU達到了79.7%,提升了8.1%,但二者都使用了全連接條件隨機場模塊。

圖32 空洞空間金字塔池化示意圖[71] Fig.32 Structure of ASPP[71]

DeepLabv3[72]重新審視了空洞卷積的作用,將其級聯模塊應用在ResNet最后一個模塊之后。不使用空洞卷積和使用空洞卷積的級聯模塊示意圖如圖33所示。

圖33 不使用和使用空洞卷積的級聯模塊示意圖[72] Fig.33 Structures of cascade modules without and with atrous convolution[72]

DeepLabv3改進了ASPP模塊,應用BN層,并將DeepLabv2中Rate=24的3××3卷積模塊替換為1××1卷積模塊和全局池化模塊,克服了像素點相對距離增大時有效權重減少的問題。DeepLabv3去掉了后處理的DenseCRF模塊,并最終在PASCAL VOC 2012數據集上mIoU達到了86.9%,相較DeepLabv2進一步提升了7.2%。改進的ASPP模塊示意圖如圖34所示。

圖34 改進的ASPP模塊示意圖[72] Fig.34 Improved ASPP module[72]

DeepLabv3+[73]相對于DeepLabv3,采用了“編碼器?解碼器”的結構,編碼器中包含豐富的語義信息,解碼器則輸出圖像的邊緣細節信息。空間金字塔池化模塊,“編碼器?解碼器”結構和帶有空洞卷積的“編碼器?解碼器”結構如圖35所示,DeepLabv3+結構如圖36所示。

圖35 DeepLabv3+使用了空間金字塔池化模塊,“編碼器-解碼器”結構和空洞卷積[73] Fig.35 DeepLabv3+ employing spatial Pyramid pooling, encoder-decoder and atrous convolution[73]

圖36 DeepLabv3+示意圖[73] Fig.36 Structure of DeepLabv3+[73]

DeepLabv3+將之前的骨干網絡ResNet101替換為Xception,并結合深度可分離卷積的思想提出了空洞深度可分離卷積,在減少參數量的同時進一步增大感受野。和DeepLabv3一樣,DeepLabv3+也沒有使用DenseCRF后處理模塊。最終DeepLabv3+在PASCAL VOC 2012數據集上mIoU達到了89.0%,相較DeepLabv3提升了2.1%。深度卷積、逐點卷積和空洞深度可分離卷積示意圖如圖37所示。

圖37 空洞深度可分離卷積示意圖[73] Fig.37 Structure of atrous depthwise separable convolution[73]

2019年曠視科技提出了一種名為DFANet[74]的高效CNN架構,通過子網和子級聯的方式聚合多尺度特征,極大地減少了參數量,其結構如圖38所示。DFANet采用“編碼器?解碼器”結構,解碼器的骨干網絡采用3個改良的輕量級Xception融合結構,編碼器則是一個高效的上采樣模塊,用于融合高層和底層的語義信息。在CityScapes[75]測試數據集上,對于1 024像素××1 024像素的輸入圖片,DFANet在一塊NVIDIA Titan X上mIoU達到71.3%,FLOPS僅為3.4××109,幀率達到100 幀/s;在CamVid[68]測試數據集上,對于960像素××720像素的輸入圖片,DFANet在8 ms的計算時間內mIoU達到64.7%,幀率達到120 幀/s。

圖38 DFANet結構示意圖[74] Fig.38 Structure of DFANet[74]

2020年筆者提出一種輕量級網絡LRNNet[76]。其中分解卷積塊FCB(圖39(a))利用1××3和3××1的空間分解卷積處理短距離特征,并利用空洞深度分離卷積處理遠距離特征,實現了參數量和計算量更少、深度更快、準確率更高的特征提取;高效的簡化Non?Local模塊LRN(圖39(b))利用區域主奇異向量作為Non?Local模塊的Key和Value,在降低Non?Local模塊的計算量和內存占用的同時,保持其處理遠距離關聯的效果。在Cityscapes[75]測試集上,LRNNet的mIoU達到了72.2%,而網絡僅有68萬個參數,并在1張GTX 1080Ti卡上達到71 幀/s的推理速度;在CamVid[68]測試集上,對于360像素××480像素的輸入,LRNNet的mIoU達到了69.2%,參數量也為68萬個,在1張GTX 1080Ti卡上幀率達到76.5 幀/s。

圖39 LRNNet中的FCB和LRN模塊[76] Fig.39 FCB and LRN modules in LRNNet[76]

圖像分割是像素級的稠密分類任務,在搜集數據集時需要真值標注每個像素,但由于這個要求極其耗時且非常昂貴,許多研究人員開始用弱監督學習和半監督學習的方法訓練網絡。常見的弱標注有圖像類別標簽、邊界框、顯著圖和類激活圖(Class activation map,CAM)等。

2015年谷歌和UCLA團隊的工作[77]是最早開始研究基于弱監督學習技術的圖像分割算法之一。該工作基于DeepLab模型[66],研究了弱標注(類別標簽、邊界框等)與少量強標注(像素級標簽)和大量弱標注混合對DCNN圖像分割模型的影響,并在半監督和弱監督的設定下提出了一種期望最大化方法(Expectation?maximization,EM)。這項工作證實了僅使用圖像級標簽的弱標注存在性能差距,而在半監督設定下使用少量強標注和大量弱標注混合可以獲得優越的性能,在MS COCO數據集上使用5 000張強標注圖片和118 287張弱標注圖片mIoU超過70%。

盡管類別標簽的獲取成本很低,但這類標注信息僅僅標明某類目標存在,不能表示出目標的位置和形狀,這往往會導致分割效果不夠理想,存在邊界模糊等問題。當出現目標遮擋的情況時,僅使用圖像級標簽獲取完整的目標邊界會更加困難。為了補充監督信息中缺少的位置和形狀信息,使用圖像的顯著性信息是一種常見的手段。文獻[78]提出了一個僅使用類別標簽和顯著圖信息的圖像分割模型,其結構如圖40所示。該模型將圖像的顯著圖定義為一個人最有可能先看到的目標的二進制掩膜,用預訓練的目標檢測網絡提取出顯著性區域,通過種子信息確定目標的類別和位置。該工作同樣基于DeepLab[66]的網絡結構,提出的模型測試精度mIoU達到56.7%,實現了全監督模型80%的性能。

圖40 高層信息指導的圖像分割網絡結構圖[78] Fig.40 High-level guided segmentation architecture[78]

定位線索的另一個流行的選擇是使用CAM。主流的弱監督方法通過將CAM作為分割種子,突出局部的顯著部分,然后逐漸生長直到覆蓋整個目標區域,從而補充了缺失的目標形狀信息。2018年提出的AffinityNet[79]結合了類別標簽和CAM信息,首先計算圖像的CAM作為監督源訓練AffinityNet,通過構建圖像的語義相似度矩陣,結合隨機游走進行擴散,不斷獎勵或懲罰從而修改CAM,最終恢復出目標的形狀。AffinityNet流程如圖41所示。

圖41 AffinityNet流程示意圖[79] Fig.41 Pipeline of AffinityNet[79]

深度學習技術在圖像分割領域取得了顯著成就,但仍然面臨不小的挑戰。當前的大規模數據集如MS COCO[80]和PASCAL VOC[81]并不能滿足工業界的需求,而具有多目標和重疊目標的數據集對于圖像分割而言更具有應用價值,這可以使得圖像分割技術更好地處理密集目標場景和現實生活中常見的重疊目標場景。基于小樣本學習技術的圖像分割算法同樣具有廣闊的前景,因為在許多應用領域,例如醫學圖像分析領域,獲取學習樣本的成本較高,難度也較大。圖像分割技術的實時性也是一個難題,目前大多數模型并不能達到實時性的要求,但在很多應用場景下,速度的重要性遠高于精度。

3.3 超分辨率

超分辨率技術是計算機視覺領域提高圖像和視頻分辨率的重要處理技術之一,研究如何將低分辨率的圖像或圖像序列恢復出具有更多細節信息的高分辨率圖像或圖像序列,在高清電視、監控視頻、醫學成像、遙感衛星成像、顯微成像及老舊圖像視頻修復等領域有著重要的應用價值。傳統上超分辨率屬于底層視覺領域,但本文敘述順序從圖像分類、目標檢測、圖像分割到超分辨率,輸出逐級復雜,依次為圖像標簽、目標位置和類別標簽、與輸入同大小的分割圖、比輸入圖像大的高分辨率圖像等。與前幾個任務不同,超分辨率需要生成和恢復輸入中不存在的信息。

超分辨率的概念最早出現在光學領域,1952年Francia第一次提出了用于提高光學分辨率的超分辨率的概念[82]。1964年前后,Harris[83]和Goodman[84]分別提出了后來稱為Harris?Goodman頻譜外推的方法,這被認為是最早的圖像復原方法,但這種技術只能在一些理想情況下進行仿真,實際效果不太理想,因此并未得到推廣。1984年Tsai等[85]首次利用單幅低分辨率圖像的頻域信息重建出高分辨率圖像后,超分辨率重建技術才得到廣泛的認可和應用,如今它已經成為圖像增強和計算機視覺領域中最重要的研究方向之一。

傳統的超分辨率方法包括基于預測、基于邊緣、基于統計、基于塊和基于稀疏表示等方法。根據輸入輸出的不同,超分辨率問題可以分為基于重建的超分辨率問題、視頻超分辨率問題和單幅圖像超分辨率問題。根據是否依賴訓練樣本,超分辨率問題則又可以分為增強邊緣的超分辨率問題(無訓練樣本) 和基于學習的超分辨率問題 (有訓練樣本)。

最簡單、應用最廣泛的經典單幅圖像超分辨率方法是插值法,包括Lanczos、Bicubic、Bilinear和Nearest等,這種方法操作簡單、實施性好,但并不能恢復出清晰的邊緣和細節信息,因此很多其他用于增強細節的傳統算法相繼被提出。文獻[86]提出了基于塊的方法,也被稱為基于鄰域嵌入的方法。這種方法使用流形學習中的局部線性嵌入,假設高、低維度中圖像塊的線性關系可以保持,用低分辨率圖像的特征(梯度等)重構高分辨率圖像。文獻[87?88]提出了基于稀疏表示的方法,也被成為字典學習。這種方法將低分辨率圖像和高分辨率圖像表示為字典DD與原子αα,高分辨率圖像可表示為x=Dhighx=Dhigh,低分辨率圖像為y=Dlowy=Dlow,假設不同分辨率的同一幅圖像的原子αα,在訓練完字典DhighDhigh和DlowDlow后,用低分辨率的圖像得到αα,隨后得到重構的高清圖像。基于學習的超分辨率技術[89]如圖42所示,上、下采樣方法示意圖[90]如圖43所示。

圖42 基于學習的超分辨率技術[89] Fig.42 Learning-based super-resolution[89]

圖43 超分辨率問題中的上采樣和下采樣方法[90] Fig.43 Upsampling and downsampling in super-resolution[90]

經典的超分辨率方法要求研究者具備深厚的相關領域先驗知識。隨著深度學習技術的興起,用神經網絡方法重建的圖像質量超過了傳統方法,速度也更快,這使得大批學者轉向對深度學習技術在超分辨率領域的應用研究。香港中文大學Dong等于2015年首次將卷積神經網絡用于單幅圖像超分辨率重建,提出了SRCNN[91],該網絡僅僅用了3個卷積層,利用傳統稀疏編碼,依次進行圖像塊提取、非線性映射和圖像重建,實現了從低分辨率圖像到高分辨率圖像的端到端映射,流程圖如圖44所示。SRCNN激活函數采用ReLU,損失函數采用均方誤差。

圖44 SRCNN流程圖[91] Fig.44 Pipeline of SRCNN[91]

2016年Dong團隊在之前SRCNN的基礎上提出了更快、實時性更好的FSRCNN[92],在原始網絡的最后加入反卷積層放大尺寸,摒棄了Bicubic插值方法,使用了更多的映射層和更小的卷積核,改變了特征維度,并共享其中的映射層,FSRCNN改進示意圖如圖45所示。訓練時FSRCNN只需要微調最后的反卷積層,因此訓練速度很快。FSRCNN激活函數采用PReLU,損失函數仍采用均方誤差。

圖45 FSRCNN對SRCNN的改進[92] Fig.45 FSRCNN’s improvement on SRCNN[92]

2016年提出的ESPCN[93]在SRCNN基礎上進一步提高了速度,其結構如圖46所示。該工作提出了一種亞像素卷積層,可以直接在低分辨率圖像上提取特征,從而避免在高分辨率圖像上進行卷積,降低了計算復雜度。ESPCN激活函數采用tanh,損失函數仍然采用均方誤差。

圖46 ESPCN示意圖[93] Fig.46 Structure of ESPCN[93]

SRCNN的網絡輸入是經過上采樣的低分辨率圖像,計算復雜度很高,因此FSRCNN和ESPCN都選擇在網絡末端上采樣以降低計算復雜度。但如果在上采樣后沒有足夠深的網絡提取特征,圖像信息就會損失。為了更好地使用更深的網絡,很多工作引入了殘差網絡。2016年首爾國立大學Kim等提出的VDSR[94]是第一個引入全局殘差的模型,其結構如圖47所示。Kim等指出,高低分辨率圖像攜帶的低頻信息很相近,因此事實上網絡只需要學習高頻信息之間的殘差即可。VSDR思想啟發了很多之后利用殘差結構的工作。

圖47 VSDR網絡結構圖[94] Fig.47 Structure of VSDR[94]

CARN[95]是NTIRE2018超分辨率挑戰賽的冠軍方案,該方案使用全局和局部級聯,將ResNet的殘差塊替換成級聯模塊和1×11×1卷積模塊組合,并提出了一種殘差?E模塊,可以提升CARN的效率。CARN的改進如圖48所示,其局部級聯模塊如圖49所示。

圖48 CARN對于ResNet的改進[95] Fig.48 Improvement of CARN based on ResNet[95]

圖49 殘差-E模塊與其他常見模塊的對比[95] Fig.49 Comparison between residual-E block and other common blocks[95]

EDVR[96]是商湯科技2019年提出的一種用于視頻修復的通用框架,在NITRE 2019 的4個賽道中均以較大的優勢獲得了冠軍。視頻修復任務包括超分辨率、去噪聲等任務,早期的研究者們簡單地將視頻修復視作圖像修復的延伸,幀間冗余的時間信息并沒能被充分利用。EDVR通過增強的可變形卷積網絡實現視頻的修復和增強,適用于各種視頻修復任務,如超分辨率、去模糊等任務。EDVR框架示意圖如圖50所示。

圖50 EVDR框架示意圖[96] Fig.50 Pipeline of EDVR[96]

EDVR提出了PCD(Pyramid, cascading and deformable)對齊模塊和TSA(Temporal and spatial attention)融合模塊,其結構如圖51所示。PCD模塊受TDAN[97]的啟發,用一種金字塔結構從低尺度到高尺度使用可變形卷積將每個相鄰幀與參考幀對齊。TSA模塊則用于在多個對齊的特征層之間融合信息,通過計算每個相鄰幀與參考幀特征之間的元素相關性引入時間注意力機制,相關系數代表每個位置上相鄰幀特征信息量的大小。在融合時間特征后進一步應用空間注意力機制,從而更有效地利用跨通道空間信息。

圖51 EVDR中的PCD模塊和 TSA模塊[96] Fig.51 PCD and TSA modules in EVDR[96]

三維卷積是一種常見的利用視頻時空間信息的方法,但這種方法往往復雜度較高,限制了模型的深度。2019年提出的FSTRN[98]通過使用一種快速時空間殘差模塊將三維卷積用于視頻超分辨率任務,將每個三維濾波器分解為2個維數更低的3位濾波器乘積,從而降低復雜度,實現更深的網絡和更好的性能。此外,FSTRN還提出了一種跨空間殘差學習方法,直接連接低分辨率空間和高分辨率空間,減輕了特征融合和上采樣部分的計算負擔。FSTRN結構如圖52所示。

圖52 FSTRN結構示意圖[98] Fig.52 Pipeline of FSTRN[98]

隨著深度學習技術的興起,近20年來超分辨率領域發展迅速,出現了很多具有優異性能的模型,但距離實際應用還有一定的距離。圖像配準技術對于多幀圖像超分辨率的重建效果至關重要,目前還沒有成熟的解決方案。另一個難點則是大量未知的密集計算限制了視頻超分辨率重建的計算效率,難以達到實時性的要求。超分辨率算法的魯棒性和可遷移性仍然是下階段的研究熱點,現有的評價標準,如均方誤差、峰值噪聲比、結構相似性等還不能客觀地衡量重建效果,有時甚至會出現和人眼視覺相違背的情況。

4 神經架構搜索

深度學習技術在圖像分類、語音識別及機器翻譯等諸多領域上取得了舉世矚目的成功,可以自動地學習數據信息,讓研究人員擺脫特征工程,這離不開GoogLeNet、ResNet等經典的深度神經網絡模型。然而一個具有優異性能的網絡結構往往需要花費研究人員大量的時間資金投入,同時需要具備扎實的專業知識和豐富的經驗。因此人們開始研究讓機器代替人類,根據數據集和算法自動設計網絡結構。神經架構搜索技術(Neural architecture search,NAS)設計的模型如今已經在很多任務上取得了超過人工設計深度模型的性能,如圖像分割領域的Auto?DeepLab[99],目標檢測領域的NAS?FPN[100]。神經架構搜索技術是機器學習自動化(Automated machine learning,AutoML)的子領域,代表了機器學習未來發展的方向。神經架構搜索技術的流程如圖53所示,首先從一個搜索空間中通過某種策略搜索候選網絡架構,然后對其精度、速度等指標進行評估,通過迭代不斷優化直到找到最優的網絡架構。

圖53 神經架構搜索流程圖

Fig.53 Pipeline of NAS

搜索空間內定義了優化問題的變量,如網絡架構參數和超參數,這些變量決定了模型的性能。常見的網絡架構有鏈式結構和分支結構等,每一個節點的網絡架構參數包括卷積層、池化層和激活函數等,超參數包括卷積的尺寸、步長、加法或連結等。典型的網絡架構[101]如圖54所示。

圖54 網絡架構[101]

Fig.54 Network architecture[101]

搜索策略被用于探索神經架構空間,常見的策略包括隨機搜索、貝葉斯優化、遺傳算法、強化學習[102?103]和梯度算法等,其中強化學習、遺傳算法及梯度算法是目前主流的搜索策略。在性能評估時,由于訓練和驗證的時間成本較高,因此常常需要采用評估策略降低評估成本,如減少迭代次數、在訓練集的子集上訓練、減少卷積核數量等,但這些策略往往會導致一些偏差,可能會對最終的優劣次序產生影響。更高級的策略包括權重共享、通過迭代時的表現推斷最終性能以及通過模塊預測網絡性能等方法。

DARTS[104]是第一個基于連續松弛的搜索空間的神經網絡架構技術。早期傳統的NAS方法如NasNet[105]、PNAS[106]和ENAS[107]等大多在離散不可微的搜索空間上應用強化學習、進化算法等搜索策略,由于搜索空間內待搜索的參數不可導,因此一個性能優異的模型往往需要耗費大量的計算資源和時間成本。事實上,當時的研究者們將神經架構搜索技術視為一個在離散空間上的黑箱優化問題,每次架構的迭代優化都需要性能評估,效率十分低下。而DARTS使用了松弛連續的結構表示,使用梯度下降優化網絡在驗證集上的性能,實現了端到端的網絡搜索,大大減少了迭代次數,把搜索時間從數千個GPU日降低到數個GPU日。

DARTS流程如圖55所示。其中:圖(a)表示邊上的初始未知操作;圖(b)在每條邊上放置候選操作的組合,連續松弛搜索空間,不斷放寬搜索條件;圖(c)通過解決一個雙層規劃問題聯合優化混合概率與網絡權重;圖(d)用學到的混合概率求得最終的網絡架構。DARTS是一種簡單的NAS方法,適用于CNN和RNN,在CIFAR?10數據集[108]上用4個GPU日達到了2.76%的測試誤差,參數量僅有330萬個;在PTB數據集[109]上用1個GPU日以2 300萬個的參數量達到了55.7%的測試困惑度,達到了當時的最好性能。在CIFAR?10數據集上搜索出來的模型架構在ImageNet[19]數據集上以470萬個的參數量達到8.7%的top?5錯誤率,在PTB數據集上搜索出來的模型架構在WikiText?2數據集[110]上以3 300萬個的參數量達到69.6%的困惑度,優于很多手工設計的輕量化模型。

圖55 DARTS流程示意圖[104]

Fig.55 Pipeline of DARTS[104]

基于DARTS,一系列改進算法被相繼提出。在DARTS中,搜索在一個有8個單元的網絡上進行,搜索出來的架構通過堆疊在一個具有20個單元的網絡上被評估,但深度網絡和淺層網絡的結構往往不同。例如,在代理數據集(如CIFAR?10數據集)上搜索出來的網絡架構可能在目標數據集(如ImageNet數據集)上表現不理想。2019年華為諾亞方舟實驗室提出P?DARTS[111],針對這一問題(被稱為Depth Gap)提出了一種漸進式搜索的方法,如圖56所示。搜索網絡的深度從最初的5個單元增加到中期的11個和后期的17個,而候選操作的數量(用不同的顏色表示)相應地從5個減少到4個和2個。在上一階段得分最低的操作將被丟棄,最后結合分數和可能的附加規則確定最終架構[111]。

圖56 P-DARTS流程示意圖[111]

Fig.56 Pipeline of P-DARTS[111]

2019年MIT提出ProxylessNAS[112],針對DARTS只能在小型代理數據集上搜索而在大型數據集上則會出現顯存爆炸的問題提出了無代理神經架構搜索技術,在訓練時二值化路徑,用和DARTS雙層規劃類似的思想聯合訓練權重參數和架構參數,從而達到降低顯存的目的,并首次提出針對不同的硬件平臺搜索滿足特定時延的神經網絡架構方法。ProxylessNAS不再采用搜索單元然后堆疊達到更深網絡的方法,而是選擇主干網絡,如MobileNet[41]、ShuffleNet[42]等。ProxylessNAS在CIFAR?10數據集上以僅570萬個的參數量達到2.08%的測試誤差。ProxylessNAS示意圖如圖57所示。

圖57 ProxylessNAS示意圖[112]

Fig.57 Pipeline of ProxylessNAS[112]

當迭代次數過大后,DARTS設計出的網絡架構會包含很多跳接結構,使得性能變得很差,稱為DARTS的坍塌。2020年諾亞方舟實驗室提出的DARTS+[113]通過引入早停機制,即當一個正常單元出現2個或2個以上的跳接結構時就停止搜索,縮短了DARTS搜索的時間,極大地提高了DARTS的性能,其示意圖如圖58所示。

圖58 DARTS+中的早停機制示意圖[113]

Fig.58 Early Stopping in DARTS+[113]

2020年商湯研究院提出的隨機神經架構搜索SNAS[114]也是一種可微的端到端方法,但與DARTS相比,SNAS將NAS重新表述為在一個單元中搜索空間的聯合分布參數優化問題,直接優化損失函數,偏差更小。在同一輪反向傳播中SNAS同時訓練操作參數和架構參數,并提出了一種新的搜索梯度。相比基于強化學習的神經架構搜索技術,SNAS優化相同的目標函數,但更高效地只使用訓練損失作為獎勵。

PC?DARTS[115]是華為諾亞方舟實驗室2020年提出的NAS技術,在P?DARTS[111]的基礎上設計了部分通道連接機制,每次只有一部分通道進行操作搜索,這節省了訓練需要的顯存,減少了計算量,并采用邊正則化降低由于操作搜索不全造成的不確定性。PC?DARTS在CIFAR?10數據集[108]上用0.1個GPU日達到了2.57%的測試誤差,參數量僅有360萬個;在ImageNet數據集[19]上用3.8個GPU日以530萬個的參數量達到了7.3%的top?5錯誤率,取得了更快更好的搜索效果。PC?DARTS結構如圖59所示。

圖59 PC-DARTS結構示意圖[115]

Fig.59 Structure of PC-DARTS[115]

當前的神經架構搜索技術大多被用于圖像分類任務,這促使許多研究人員試圖設計出更好的人工網絡。但一方面由于搜索空間的定義被局限在現有的網絡結構設計經驗中,使得NAS設計出的網絡很難與人工網絡有本質上的區別。另一方面,NAS技術設計的網絡可解釋性很差,由于研究人員采用的數據增強、搜索空間、訓練方法及正則化策略等方法常常不同,這使得NAS設計出的架構很難被復現,不同網絡架構的性能也難以比較。由此可見,神經架構搜索領域仍然存在很多挑戰,如何解決這些問題將會是下一階段的熱門研究方向之一。

5 結束語

深度學習技術近年來在計算機視覺中的目標檢測、圖像分割、超分辨率和模型壓縮等任務上都取得了卓越的成績,充分證明了它的價值和潛力。然而深度學習領域仍然有不少難題無法解決,如對數據的依賴性強、模型難以在不同領域之間直接遷移、深度學習模型的可解釋性不強等,如何攻克這些難題將是下一階段的發展方向。為了追求極致的性能,很多科技巨頭投入了巨大的人力財力搭建巨型模型,如OpenAI發布的擁有1 750億個參數的GPT?3,谷歌發布的擁有1.6萬億個參數的Switch Transformer,快手發布的擁有1.9萬億個參數的推薦精排模型,這些模型需要大量的訓練時間和計算資源,如何設計計算硬件、系統和算法來加速訓練是一項新的挑戰。深度學習技術嚴重依賴大規模帶標簽的數據集,因此無監督學習技術、自監督技術,例如表示學習、預訓練模型等,仍然是重要的研究方向。同時深度學習技術帶來的安全隱患也引起了重視,如何在保護用戶隱私的前提下優化分布式訓練是另一個具有潛力的研究方向。

付費5元查看完整內容

近年來隨著計算機視覺領域的不斷發展,三維場景的語義分割和形狀補全受到學術界和工業界的廣泛關注.其中,語義場景補全是這一領域的新興研究,該研究以同時預測三維場景的空間布局和語義標簽為目標,在近幾年得到快速發展.本文對近些年該領域提出的基于RGB-D圖像的方法進行了分類和總結.根據有無使用深度學習將語義場景補全方法劃分為傳統方法和基于深度學習的方法兩大類.其中,對于基于深度學習的方法,根據輸入數據類型將其劃分為基于單一深度圖像的方法和基于彩色圖像聯合深度圖像的方法.在對已有方法分類和概述的基礎上,本文對語義場景補全任務所使用的相關數據集進行了整理,并分析了現有方法的實驗結果.最后,本文總結了該領域面臨的挑戰和發展前景.

付費5元查看完整內容

隨著卷積神經網絡(Convolutional Neural Network,CNN)的不斷發展,目標檢測作為計算機視覺中最基本的技術,已取得了令人矚目的進展。介紹了強監督目標檢測算法對數據集標注精度要求高的現狀。對基于弱監督學習的目標檢測算法進行研究,按照不同的特征處理方法將該算法歸為四類,并分析比較了各類算法的優缺點。通過實驗比

較了各類基于弱監督學習的目標檢測算法的檢測精度,并將其與主流的強監督目標檢測算法進行了比較。展望了基于弱監督學習的目標檢測算法未來的研究熱點。

//cea.ceaj.org/CN/abstract/abstract39825.shtml

付費5元查看完整內容

行人檢測技術在智能交通系統,智能安防監控等領域表現出了極高的應用價值,已經成為計算機視覺領域的重要研究方向之一。得益于深度學習的飛速發展,基于深度卷積神經網絡的通用目標檢測模型被不斷擴展應用到行人檢測領域,并取得了良好的性能。但是由于行人目標內在的特殊性、復雜性,特別是考慮到復雜場景下的行人遮擋、尺度變化等問題,深度學習方法也面臨著嚴峻的挑戰。本文針對上述問題,以基于深度學習的行人檢測技術為研究對象,在充分調研文獻的基礎上,分別從基于錨點框、基于無錨點框以及通用技術改進(例如損失函數,非極大值抑制等)三個角度,對各類行人檢測算法進行細分,并選取具有代表性的方法進行詳細介紹和對比分析。此外,本文對行人檢測的通用數據集進行了詳細的介紹,對該領域先進算法的性能進行了對比分析,對行人檢測中待解決的問題與未來的研究方向做出預測和展望。

//www.cjig.cn/jig/ch/reader/view_abstract.aspx?flag=2&file_no=2020&journal_id=jig

付費5元查看完整內容

摘要 隨著深度學習算法在圖像分割領域的成功應用,在圖像實例分割方向上涌現出一大批優秀的算法架構.這些架構在分割效果、運行速度等方面都超越了傳統方法.本文圍繞圖像實例分割技術的最新研究進展,對現階段經典網絡架構和前沿網絡架構進行梳理總結,結合常用數據集和權威評價指標對各個架構的分割效果進行比較和分析.最后,對目前圖像實例分割技術面臨的挑戰以及可能的發展趨勢進行了展望.

//www.ejournal.org.cn/CN/abstract/abstract12215.shtml

付費5元查看完整內容

在計算機視覺領域中,語義分割是場景解析和行為識別的關鍵任務,基于深度卷積神經網絡的圖像語義分割方法已經取得突破性進展。語義分割的任務是對圖像中的每一個像素分配所屬的類別標簽,屬于像素級的圖像理解。目標檢測僅定位目標的邊界框,而語義分割需要分割出圖像中的目標。本文首先分析和描述了語義分割領域存在的困難和挑戰,介紹了語義分割算法性能評價的常用數據集和客觀評測指標。然后,歸納和總結了現階段主流的基于深度卷積神經網絡的圖像語義分割方法的國內外研究現狀,依據網絡訓練是否需要像素級的標注圖像,將現有方法分為基于監督學習的語義分割和基于弱監督學習的語義分割兩類,詳細闡述并分析這兩類方法各自的優勢和不足。本文在PASCAL VOC(pattern analysis, statistical modelling and computational learning visual object classes)2012數據集上比較了部分監督學習和弱監督學習的語義分割模型,并給出了監督學習模型和弱監督學習模型中的最優方法,以及對應的MIoU(mean intersection-over-union)。最后,指出了圖像語義分割領域未來可能的熱點方向。

//www.cjig.cn/jig/ch/reader/view_abstract.aspx?file_no=20200601&flag=1

付費5元查看完整內容
北京阿比特科技有限公司