系統識別號 | U0002-1609201914502600 |
---|---|
DOI | 10.6846/TKU.2019.00468 |
論文名稱(中文) | 基於樹莓派與深度學習實現人臉辨識系統之研究 |
論文名稱(英文) | A Study of Face Recognition Based on Raspberry Pi and Deep Learning |
第三語言論文名稱 | |
校院名稱 | 淡江大學 |
系所名稱(中文) | 資訊工程學系碩士班 |
系所名稱(英文) | Department of Computer Science and Information Engineering |
外國學位學校名稱 | |
外國學位學院名稱 | |
外國學位研究所名稱 | |
學年度 | 107 |
學期 | 2 |
出版年 | 108 |
研究生(中文) | 杜軒宇 |
研究生(英文) | Xuan-Yu Du |
學號 | 605410223 |
學位類別 | 碩士 |
語言別 | 繁體中文 |
第二語言別 | |
口試日期 | 2019-07-18 |
論文頁數 | 101頁 |
口試委員 |
指導教授
-
洪文斌(horng@mail.tku.edu.tw)
委員 - 范俊海 委員 - 彭建文 |
關鍵字(中) |
機器學習 深度學習 主成分分析 支撐向量機 人臉辨識 卷積神經網路 |
關鍵字(英) |
Deep Learning Machine Learning CNN Face Recognition PCA SVM Raspberry Pi |
第三語言關鍵字 | |
學科別分類 | |
中文摘要 |
本論文以樹莓派(Raspberry Pi)為平台,使用電腦視覺函式庫OpenCV與CNN來完成人臉辨識系統。實驗中以公開資料庫Caltech Faces以及The MUCT Face Database進行測試,並以深度學習(Deep Learning)中的CNN來實驗,但是也想知道與傳統機器學習(Machine Learning)之間的差異,所以提出以主成分分析(Principal Components Analysis,PCA)降維後以支撐向量機(Support Vector Machine,SVM)來相互比較。為了追求更精確的辨識成果,在實驗中的資料集在訓練時都以亂數排序的方式進行,總共執行5次不同的亂數排序,最後再將5次的結果平均。Caltech Faces資料庫的實驗結果如下,單獨使用SVM與SVM配合K折交叉驗證法的辨識率分別為98.4%和98.7%,而Keras CNN的辨識率為98.4%;而The MUCT Face Database資料庫的實驗結果如下,單獨使用SVM與SVM配合K折交叉驗證法的辨識率分別為97.5%和97%,而Keras CNN的辨識率為93.5%。 |
英文摘要 |
This research uses OpenCV and convolutional neural networks (CNN) to implement the face recognition system in the Raspberry Pi platform. The experiment uses two public face databases: Caltech and the MUCT face database. In order to see the differences between deep learning (DL) and traditional machine learning (ML) in face recognition, we use CNN in DL and principal components analysis (PCA) and support vector machine (SVM) in ML for comparison, where PCA is used for dimension reduction. We use K-fold cross validation method for computing average recognition rate due to few face samples, where K is 5 in our experiment. The experimental results show that, for the Caltech face database, the recognition rates of SVM only and SVM with K-fold cross validation are 98.4% and 98.7%, respectively; while that of CNN is 98.4%. As of the MUCT face database, the recognition rates of SVM only and SVM with K-fold cross validation are 97.5% and 97.0%, respectively; while that of CNN is 93.5 %. |
第三語言摘要 | |
論文目次 |
目錄 第一章 緒論 1 1.1 研究背景與動機 1 1.2 研究目的 1 1.3 論文架構 2 第二章 文獻探討 3 2.1 人臉偵測 3 2.2 人臉特徵擷取 3 2.3 人臉辨識 4 第三章 相關方法介紹 6 3.1 Raspberry Pi 6 3.2 OpenCV 7 3.3 機器學習 7 3.3.1 機器學習的發展 8 3.3.2 監督式學習 8 3.3.2.1 支援向量機 8 3.3.3 非監督式學習 9 3.3.3.1 主成分分析 10 3.4 K折交叉驗證 11 3.5 深度學習 11 3.5.1 深度學習的發展 12 3.6 卷積神經網路 13 第四章 研究方法 14 4.1 系統架構 14 4.2 人臉資料庫 15 4.3 灰階轉換 16 4.4 人臉偵測 16 4.5 人臉擷取 18 4.6 正規化 18 4.7 特徵提取 19 4.8 人臉辨識 19 4.8.1 機器學習 19 4.8.2 深度學習 20 第五章 研究結果與分析 21 5.1 人臉定位結果 21 5.2 實驗樣本選取 24 5.2.1 機器學習樣本選取 24 5.2.2 深度學習樣本選取 25 5.3 PCA降維 25 5.4 Caltech Faces資料庫人臉辨識實驗 26 5.4.1 機器學習PCA結合SVM(train test split)實驗 27 5.4.2 機器學習PCA結合SVM(K折交叉驗證法)實驗 30 5.4.3 深度學習Keras CNN實驗 33 5.4.4 Caltech Faces資料庫辨識結果分析 37 5.5 The MUCT Face Database資料庫人臉辨識實驗 37 5.5.1 機器學習PCA結合SVM(train test split)實驗 38 5.5.2 機器學習PCA結合SVM(K折交叉驗證)實驗 40 5.5.3 深度學習Keras CNN實驗 43 5.5.4 The MUCT Face Database資料庫人臉辨識實驗結果分析 45 5.6 樹莓派實作 46 5.6.1 人臉蒐集 46 5.6.2 人臉定位擷取與正規化 47 5.6.3 自行蒐集人臉影像實驗 48 5.6.4 實驗結果 50 第六章 結論與未來發展 52 6.1 結論 52 6.2 未來發展 52 參考文獻 53 附錄 58 各別實驗結果詳情 58 Caltech Faces資料庫 58 機器學習PCA結合SVM(train test split)實驗結果 58 機器學習PCA結合SVM(K折交叉驗證法)實驗結果 60 深度學習Keras CNN實驗結果 67 The MUCT Face Database資料庫 69 機器學習PCA結合SVM(train test split)實驗 69 機器學習PCA結合SVM(K折交叉驗證)實驗 72 深度學習Keras CNN實驗 79 附錄:英文論文 85 圖目錄 圖3-1 Raspberry Pi 3 Model B外觀 6 圖3-2 SVM最佳超平面範例 9 圖3-3加入核心函數後的示意圖 9 圖3-4 PCA降維示意圖 10 圖3-5 K折交叉驗證示意圖 11 圖3-6 CNN架構圖 13 圖4-1 系統架構圖 14 圖4-2 彩色影像轉灰階 16 圖4-3人臉定位成功範例 17 圖4-4定位錯誤,把眼睛偵測成人臉 17 圖4-5人臉部分光線較為昏暗,無法偵測到人臉 17 圖4-6 正確擷取出人臉 18 圖4-7 擷取出定位錯誤的影像 18 圖5-1 PCA測試數據無打亂的結果曲線圖 25 圖5-2 PCA測試數據經過打亂的結果曲線圖 26 圖5-3原始影像與提取50個特徵值影像比較圖 26 圖5-4為train test split實驗的混淆矩陣 28 圖5-5 train test split實驗的錯誤影像 29 圖5-6 K折交叉驗證法的混淆矩陣 31 圖5-7 K折交叉驗證法實驗的錯誤影像 33 圖5-8 CNN 模型參數設定 34 圖5-9 Keras CNN訓練結果的圖形 34 圖5-10 Keras CNN 的混淆矩陣 35 圖5-11 Keras CNN實驗錯誤的影像 36 圖5-12 train test split的混淆矩陣 39 圖5-13 train test split實驗辨識錯誤的影像 40 圖5-14 K折交叉驗證的辨識錯誤影像 43 圖5-15 Keras CNN訓練結果曲線圖 43 圖5-16 Keras CNN 實驗的錯誤影像 45 圖5-17資料庫人員影像 47 圖5-18為無法定位的影像 48 圖5-19 實驗流程圖 49 圖5-20辨識正確的情況 50 圖5-21為辨識錯誤 51 表目錄 表4-1 Caltech Faces和The MUCT Face Database資料庫介紹 15 表4-2 CNN各項參數 20 表5-1 Caltech Faces資料庫定位測試結果 22 表5-2 The MUCT Face Database資料庫定位測試結果 23 表5-3 train test split 實驗5次亂數測試結果 27 表5-4 train test split 實驗5次亂數的運行時間結果 28 表5-5 K折交叉驗證法5次亂數變化的實驗結果 30 表5-6 K折交叉驗證法5次亂數的運行時間結果 30 表5-7 Keras CNN 5次亂數變化的實驗結果 35 表5-8 Keras CNN 5次亂數的運行時間結果 35 表5-9 train test split 5次亂數的結果 38 表5-10 train test split 5次亂數的運行時間結果 38 表5-11 K折交叉驗證法5次亂數結果 40 表5-12 K折交叉驗證法5次亂數的運行時間結果 41 表5-13 Keras CNN 5次亂數實驗結果 44 表5-14 Keras CNN法5次亂數的運行時間結果 44 表5-15 樹莓派實驗相關設備及軟體 46 表5-16 CNN模型參數 49 |
參考文獻 |
中文部分 [1] 胡銜之,基於OpenCV實現搜尋影像人臉辨識系統之研究,國立彰化師範大學資訊工程學系碩士論文,2016。 [2] 林庭立,基於人臉五官PCA 之人臉辨識伺服器,大同大學資訊工程研究 所碩士論文,2014。 [3] 柳孟宏,基於ASM人臉校正之多角度人臉辨識,大同大學資訊工程研究所碩士論文,2016。 [4] 葉書妤,基於人臉五官與PCA特徵提取之人臉辨識研究,國立彰化師範大學資訊工程學系碩士論文,2016。 [5] 沈明訢,以階層式深度卷積網路實現少樣本的人臉辨識系統,國立中央大學資訊工程研究所碩士論文,2017。 [6] 維基百科Debian https://zh.wikipedia.org/wiki/Debian [7] 維基百科OpenCV https://zh.wikipedia.org/wiki/OpenCV [8] GUI介面的製作-圖片開啟 http://yester-place.blogspot.com/2008/06/gui.html [9] 維基百科機器學習 https://zh.wikipedia.org/wiki/机器学习 [10] 三分鐘了解機器學習的四個學習方式 https://www.ecloudvalley.com/zh-hant/machine-learning/ [11] 三大類機器學習:監督式、強化式、非監督式 https://ai4dt.wordpress.com/2018/05/25/三大類機器學習:監督式、強化式、非監督式/ [12] 機器學習-支撐向量機(support vector machine, SVM)詳細推導 https://reurl.cc/D16QvN [13] 維基百科支援向量機 https://zh.wikipedia.org/wiki/支援向量機 [14] 維基百科主成分分析 https://zh.wikipedia.org/wiki/主成分分析 [15] scikit-learn: 通过降维方法对数据进行压缩1-主成分分析(PCA) http://www.oceanote.com/machine-learning/scikit-learn/2015/11/15/data-compression-via-dimensionality-reduction-pca.html [16] 維基百科交叉驗證 https://zh.wikipedia.org/wiki/交叉驗證 [17] 機器學習為什麼需要交叉驗證?怎麼使用k-fold cross validation(k-摺疊交叉驗證) https://www.itread01.com/content/1547033769.html [18] 維基百科深度學習 https://zh.wikipedia.org/wiki/深度学习 [19] 陳鍾誠,用十分鐘開始理解深度學習技術 (從dnn.js專案出發) https://www.slideshare.net/ccckmit/ss-69541278 [20] CH.Tseng,初探卷積神經網路 https://chtseng.wordpress.com/2017/09/12/初探卷積神經網路/ [21] 淺析人臉檢測之Haar分類器方法 https://codertw.com/程式語言/561194/ [22] 阿洲的程式教學 [23] 林季穎,基於深度學習之人臉特徵辨識與應用,國立交通大學光電工程學系碩士班碩士論文,2018。 [24] 謝俊彥,基於Raspberry Pi之人臉偵測系統,聖約翰科技大學資訊與通訊系碩士班碩士論文,2016。 [25] 陳 筠,以網格點雲坐標於人臉辨識研究,逢甲大學土地管理碩士班碩士論文,2017。 [26] 黃明愷,應用Raspberry Pi實現即時人臉偵測與辨識系統,國立臺灣海洋 大學機電與機械工程學系碩士論文,2016。 [27] 徐育晨,基於FPGA單晶片及模糊語意影像特徵表示法之車內人臉辨識,國立中正大學電機工程研究所碩士論文,2016。 [28] 廖俊傑,具照度及人臉角度校正之人臉辨識系統,國立雲林科技大學資訊工程系碩士論文,2015。 [29] 陳品均,人臉辨識系統實現於樹莓派之研發,南開科技大學電子工程系碩士論文,2018。 李柏翰,應用人臉辨識技術實作課堂點名系統之研究,明志科技大學電子工程系碩士班碩士論文,2016。 英文部分 [30] P. Viola and M. Jones,“Rapid Object Detection using a Boosted Cascade of Simple Features” In Proceedings of the IEEE Computer Vision and Pattern Recognition (CVPR), pp.511-518, 2001. [31] Rainer. L, J. Maydt,“An Extended Set of Haar-like Features for Rapid Object Detection.”In Proceedings of the IEEE International Conference on Image Processing(ICIP) , Vol. 1, pp. 900-903, 2002. [32] Lufan. L, Zhang. J, Jiawei. F , Shuohao. L, “An Incremental Face Recognition System Based on Deep Learning.”Fifteenth IAPR International Conference on Machine Vision Applications (MVA), pp. 238-241, 2017. [33] Ze. L, Xudong. J, Alex. K, “ Enhance Deep Learning Performance in Face Recognition.”International Conference on Image, Vision and Computing(ICIVC), pp. 244-248, 2017. [34] Musab. C, Ayşegül. U, Özal. Y, Yakup. D,“Face recognition based on convolutional neural network.” International Conference on Modern Electrical and Energy Systems (MEES), pp. 376-379, 2017. [35] Umme. A, Virendra. P. V “Face recognition using modified deep learning neural network.” International Conference on Computing, Communication and Networking Technologies (ICCCNT), 2017 |
論文全文使用權限 |
如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信