董亮 段正泰 龔彬



【摘要】 ? ?圖像物體分類與檢測是計算機視覺研究中的兩個重要的基本問題,也是圖像分割、物體跟蹤、行為分析等其他高層視覺任務的基礎。為最大限度的發揮深度學習算法的性能,有必要對不同的深度學習算法進行評估,從而進行不同數據集識別方法的最優選擇。本文基于CIFAR10和MNIST數據集,采用LeNet網絡和VGG網絡進行圖像識別,并比較各算法的效率、準確率、召回率等性能差異,進而對兩種算法進行對比和分析。
【關鍵詞】 ? ?模式識別 ? ?深度學習 ? ?卷積神經網絡 ? ?LeNet ? ?VGG
引言
計算機視覺作為人工智能的一個重要分支,其顯著的研究成果已逐漸應用于人們的實際生活中,如人臉識別、目標追蹤等。而圖像分類是計算機視覺中的一個基礎問題,如何高效準確的實現圖像分類具有重要的研究意義和實用價值。與傳統神經網絡相比,卷積神經網絡可通過局部感受野和權值共享機制大幅降低網絡結構的參數數量[1],并且能夠通過池化操作有效降低特征維度,同時可有效改善網絡的泛化能力。因此,卷積神經網絡被廣泛應用在大規模圖像數據集的分類與識別中。近年來,Alex Krizhevsky等提出了AlexNet模型,該模型引入全新的深層結構,將錯誤率從25%以上降低到了15%,顛覆了圖像識別領域[2];2014年,VGG團隊提出通過小卷積核增加網絡的深度,減少網絡參數量[3]。大量研究實驗表明,CNN是一種具有層次結構的學習模型,其在特征提取、特征選擇以及分類等問題上具有突出的優勢,可有效提高人圖像識別的準確率和穩健性。
一、數據集的準備
1.1 MNIST數據集
手寫數字識別數據集(MNIST)包含60000條訓練數據和10000條測試數據[4]。數據集中每一條數據均由feature(數字圖像)和lebels(標簽)組成。如圖1所示,每個圖像都是固定大小(28x28像素),其值為0到1。每個圖像都被平展并轉換為784(28*28)個特征的一維numpy數組。
1.2 CIFAR10數據集
CIFAR-10[5]是由Hinton的學生Alex Krizhevsky和Ilya Sutskever整理的一個用于識別普適物體的小型數據集。一共包含10個類別的RGB彩色圖片,如圖2所示。圖片的尺寸為32×32,數據集中一共有50000張訓練圖片和10000張測試圖片。
二、算法設計
2.1數據預處理
Pytorch框架對MNIST和CIFAR10數據集進行了封裝。以MNIST數據集為例,每幅圖像是長度784的一維數組,而卷積網絡直接從彩色或灰度圖像中提取特征,通過transforms.ToTensor()方法轉化為tensor。每一個數據labels是One-Hot-Encoding格式,而模型輸出層共有10個神經元,因此需將數據labels轉換為對應0-9的數字。每次訓練并不是讀取所有數據同時進行訓練,而是讀取一個batch數據進行訓練。
2.2 Lenet神經網絡
LeNet神經網絡[6]模型,該模型共有7層(不包含輸入),每層都包含可訓練參數;每個層有多個Feature Map,每個Feature Map通過一種卷積濾波器提取輸入的一種特征,每個FeatureMap有多個神經元。
2.3 VGGNet神經網絡
VGGNet是由牛津大學視覺幾何小組(Visual Geometry Group,VGG)提出的一種深度卷積網絡結構[7]。
模型特點為:
①整個網絡都是用了同樣大小的卷積核尺寸3*3和最大池化尺寸2*2;
②兩個3*3的卷積串聯相當于1個5*5的卷積層,感受野大小為5*5(如圖8所示)。同樣,3個3*3卷積層串聯的效果相當于1個7*7的卷積層。這樣的連接方式使得網絡的參數更少,而且多層的激活函數(前者可以使用三次ReLU激活函數,而后者只有一次)令網絡對特征的學習能力更強。
三、實驗與分析
3.1實驗環境
本文所有實驗均在Windows10操作系統的計算機上進行,計算機配置為Intel Core i7-8750H CPU、主頻2.20GHz、內存8.0GB、實驗所用編譯器為Pycharm,編程語言為Python,所用到的依賴庫為Pytorch 1.1.0,Tochversion 0.3.0,Numpy 1.17.4和Opencv 3.4.1。
3.2算法對比與分析
3.2.1 LeNet和VGGNet識別CIFAR10數據集
在識別CIFAR10數據集方面,LeNet在數據集迭代不同次數時,兩算法在不同時期準確率比較如下圖3所示,VGGNet的79.1%明顯優于LeNet的66.1%,且在收斂速度上也明顯優于LeNet。由此可得出以下結論:
①幾個小濾波器(3x3)卷積層的組合比一個大濾波器(5x5或7x7)卷積層好。
②通過不斷加深網絡結構可以提升性能。
3.2.2 LeNet識別MNIST數據集
在識別MNIST數據集方面,LeNet在數據集迭代不同次數時,由圖4所示實驗結果可知,應用同一LeNet網絡分別對CIFAR10數據集和MNIST數據集的訓練效果存在明顯差異,訓練準確率由CIFAR10的66.1%提高到MNIST的98.2%。由此可得出以下結論:
相對于灰度圖的MNIST數據集,顯然具有RGB3通道的彩色CIFAR10數據集訓練難度要高很多,且在收斂速度上明顯慢于MNIST。
四、總結
本文基于CNN卷積神經網絡,介紹分析了LeNet和VGGNet兩個經典神經網絡,并將兩網絡應用在CIFAR10和MNIST兩類圖像識別數據集上,通過控制迭代次數,得出有效結論。本文實驗結果表明,在對同一數據集進行訓練時,幾個小濾波器卷積層的組合比一個大濾波器卷積層好,且網絡結構越深效果越好;在應用同一網絡對不同數據集訓練時,灰度圖數據集在收斂速度和準確率方面明顯優于彩色圖,也反映出彩色圖片在訓練時的難度之大。
因此,在訓練諸如MNIST的簡單數據集合時,可以采用簡單的全連接層網絡即可達到較高的準確率;此外,在搭建卷積神經網絡時,適當的增加網絡深度,可以有效提高訓練準確率。下一步將通過加寬加深網絡結構,對現有算法進行改進,進一步提高檢測精度,以適用于更為復雜的數據環境。
參 ?考 ?文 ?獻
[1]呂剛,郝平,盛建榮.一種改進的深度神經網絡在小圖像分類中的應用研究[J].計算機應用與軟件,2014,31(4):182-184.
[2]侯宇昆.卷積神經網絡概述[J].中國新通信,2017,19(9):45-45.
[3]趙秦敏.基于哈希編碼的圖像檢索算法研究[D].成都:電子科技大學,2017
[4]林大貴.TensorFlow Keras 深度學習人工智能實踐應用[M].北京:清華大學出版社,2018:254-270
[5] Alex Krizhevsky.The CIFAR-10 dataset[EB/OL].http://www.cs.toronto.edu/~kriz/cifar.html,2009.
[6] Lécun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[7] Simonyan, Karen, and Andrew Zisserman. “Very deep convolutional networks for large-scale image recognition.” arXiv preprint arXiv:1409.1556 (2014).
董亮,出生1976年10月,性別:男,民族:漢族、籍貫:吉林 職務(現任云南特殊教育職業學院院長,計算機應用碩士,副教授,研究方向:計算機軟件系統架構,人工智能,模式識別技術