圖像分類是計算機視覺基本任務之一。顧名思義,圖像分類即給定一幅圖像,計算機利用算法找出其所屬的類别标簽。
圖像分類的過程主要包括圖像的預處理、圖像的特征提取以及使用分類器對圖像進行分類,其中圖像的特征提取是至關重要的一步。
深度學習作為機器學習的一個分支,将資料的底層特征組合成抽象的高層特征,其在計算機視覺、自然語言處理等人工智能領域發揮了不可替代的作用。
深度卷積神經網絡模型
本文根據近年來基于DCNN的圖像分類研究發展過程和方向,将深度卷積神經網絡模型分為以下4類:
- 經典的深度卷積神經網絡:增加網絡深度,提升網絡性能為目标;
- 基于注意力機制的深度卷積神經網絡模型:采用注意力機制使網絡模型更關注感興趣的區域;
- 輕量級深度卷積神經網絡模型:過改進模型結構降低網絡參 數量以适應嵌入式、移動式裝置的需求;
- 基于神經架構搜尋的網絡模型:采用神經網絡自動設計DCNN 模型結構,與人工設計DCNN相比更省時省力;
經典的深度卷積神經網絡模型
從 LeNet 到 GoogLeNet
LeNet模型(LeCun 等,1998)是最早提出的卷積神經網絡模型,主要用于MNIST資料集中手寫數字識别。LeNet包含3個卷積層、2個池化層和2個全連接配接層,每個卷積層和全連接配接層均有可訓練的參數,為深度卷積神經網絡的發展奠定了基礎。
AlexNet網絡包含5個卷積層和3個全連接配接層,輸入圖像經過卷積操作和全連接配接層的操作,最後輸入具有1000個節點的Softmax分類器完成圖像分類。該網絡通過使用ReLU作為激活函數,引入局部響應歸一化緩解梯度消失問題,使用資料增強和Dropout技術大大緩解了過拟合問題。
提升網絡性能最直接的方法是增加網絡深度,但随着網絡深度的增加,參數量加大,網絡更易産生過拟合,同時對計算資源的需求也顯著增加。
GoogLeNet采用了Inception-v1子產品,該子產品采用稀疏連接配接降低模型參數量的同時,保證了計算資源的使用效率,在深度達到22層的情況下提升了網絡的性能。Inception-v1包含4條并行的支路,3×3卷積、5×5卷積之前的1×1卷積和3×3最大池化之後的1×1卷積用來減少參數量。
Inception-v2增加了BN層,将5×5卷積分解成兩個3×3卷積,進而減少了參數量。Inception-v3在Inception-v2子產品基礎上進行非對稱卷積分解,如将n×n大小的卷積分解成1×n卷積和n×1卷積的串聯,且n越大,參數量減少得越多。
ResNet 家族
ResNet由堆疊的殘差塊組成,殘差塊結構如圖所示,殘差塊除了包含權重層,還通過越層連接配接将輸入x直接連到輸出上。
ResNet通過堆疊殘差塊使網絡深度達到152層,殘差網絡在圖像分類任務中獲得了較大的成功。ResNet變體可分為4類:
- 深度殘差網絡優化
- 采用新的訓練方法
- 基于增加寬度的變體
- 采用新次元的變體
DenseNet 家族
DenseNet由密集塊組成,密集塊結構如圖所示,密集塊采用前饋的方式将所有層。DenseNet每一層都從其前部所有層獲得輸入并将自己的輸出特征圖傳遞到後部層,這種方式增強了特征重用。
使用注意力機制的網絡
人眼觀看一幅圖像,首先看全局,然後将注意力集中在某個細節,将注意力集中在有價值的部分,忽略價值不大的部分。
SEblock通過顯式地模組化通道之間的互相依賴性來重新校準通道的特征響應,即選擇性地增強有用的通道特征,抑制無用的通道特征。
CBAM子產品包括通道注意力子產品和空間注意力子產品兩部分,輸入特征圖首先輸入通道注意力子產品,分别使用平均池化和最大池化聚集空間資訊生成兩個空間内容描述符,随後兩個空間内容描述符通過一個共享網絡生成通道注意力圖。
輕量級網絡
輕量級網絡是參數量小、計算複雜度低的網絡。典型的輕量級網絡有SqueezeNet、Xception、MobileNet系列和ShuffleNet系列等。
SqueezeNet網絡由fire module組成,分為擠壓卷積層和擴充卷積層兩部分,前者僅包含1×1卷積,後者包含1×1卷積和3×3卷積操作。
MobileNetV1網絡使用了深度可分離卷積,除此之外,還提出了兩個超參數———寬度乘數α和決議乘數ρ,使得其可根據應用的不同選擇不同的模型大小。
架構搜尋的網絡模型
NAS方法可分為3類:
- 基于設計不同搜尋空間的NAS方法
- 基于模型優化的NAS方法
- 其他改進的NAS方法
圖像分類資料集
MNIST資料集
MNIST資料集用來識别手寫數字,從NIST資料集的SD-1和SD-3建構的,其中包含手寫數字的二進制圖像。
NIST資料集将SD-3作為訓練集,将SD-1作為測試集,但SD-3比SD-1更易識别,原因在于SD-3來源于人口調查局雇員,SD-1來源于高中生。在LeNet-5實驗中,訓練集為完整的新訓練集,共60000幅圖像,測試集為新測試集的子集,共10000幅圖像。
ImageNet資料集
ImageNet資料集是具有超過1500萬幅帶标簽的高分辨率圖像的資料集,這些圖像大約屬于22000個類别,這些圖像從網際網路收集并由人工使用亞馬遜的機械土耳其衆包工具貼上标簽。
深度卷積神經網絡模型在ImageNet資料集上進行訓練和測試,衡量模型優劣的名額為top-5錯誤率和top-1錯誤率。ImageNet通常有1000個類别,訓練和測試時,對每幅圖像同時預測5個标簽類别,若預測的5個類别任意之一為該圖像的正确标簽。
CIFAR資料集
CIFAR-10資料集有60000幅彩色圖像,分辨率大小為32×32像素,共10個類别,每個類别包含6000幅圖像。訓練集包含50000幅彩色圖像,測試集包含10000幅彩色圖像。測試集的圖像取自10個類别,每個類别分别取1000幅,剩餘的圖像構成訓練集。
CIFAR-100資料集與CIFAR-10資料集類似,不同的是CIFAR-100資料集有100個類别,每個類别包含600幅圖像,每個類别有500幅訓練圖像和100幅測試圖像。
SVHN資料集
SVHN資料集用來檢測和識别街景圖像中的門牌号,從大量街景圖像的剪裁門牌号圖像中收集,包含超過600000幅小圖像,這些圖像以兩種格式呈現:一種是完整的數字,即原始的、分辨率可變的、彩色的門牌号圖像,每個圖像包括檢測到的數字的轉錄以及字元級邊界框。一種是剪裁數字,圖像尺寸被調整為固定的32×32像素。
SVHN資料集分為3個子集,73257幅圖像用于訓練,26032幅圖像用于測試,531131幅難度稍小的圖像作為額外的訓練資料。