• 沒有找到結果。

基於智慧型裝置之多使用者即時人臉辨識及權限控管研究

N/A
N/A
Protected

Academic year: 2021

Share "基於智慧型裝置之多使用者即時人臉辨識及權限控管研究"

Copied!
70
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:李忠謀 博士. 基於智慧型裝置之多使用者即時人臉辨識及 權限控管研究 Real-time Face Recognition for Multi-user Authentication on Smartphones. 研究生:李鈺新 撰 中華民國 103 年 07.

(2)

(3) 摘要 人臉辨識是電腦視覺裡面一個重要的技術,近幾年由於身分認證,金融卡 認證的需求日益增加,傳統的識別方法如密碼,身分證號碼存在可能的風險, 而人臉辨識應用在智慧型手機上的需求更是日益漸增,像是身分認證,信用卡 認證,手機解鎖,門禁管理,照片庫分類等等,而以手機上不同使用者登入來 說,密碼以及圖形的輸入都存在著可以模仿的風險,所以生理特徵作為辨識的 方法變得更為安全,也有其存在的必要性,現有的方法很多像是指紋,眼球虹 膜,但在這些方法中,人臉辨識所需要的設備最為低價且最容易取得,也相對 便宜。 本研究提出一個有效且快速的流程來辨識人臉,做為手機或平板電腦上的 多使用者權限控管功能,亦可以應用到其他身分辨識的應用上,由於平板電腦 的運算能力相對於一般電腦是較為薄弱的,所以本論文提出特徵擷取運算速度 較快的 noise-resilient LBP 演算法,和特徵群聚法來解決平板電腦上記憶體不足 的問題,研究方法共分成四個部分,一開始做人臉偵測找出人臉位置,再對該 張人臉做影像前處理來克服不同光線的影響,提出 noise-resilient LBP 演算法進 行特徵擷取,由於訓練集人臉特徵過多,因此本研究亦提出特徵群聚法來找出 具有代表性的特徵,最後則是特徵距離相似度計算。 關鍵字:人臉偵測、人臉辨識、認證系統 i.

(4) Abstract Face recognition is one of the important computer vision technology. Face recognition has many possible use, including classification of photos, unlocking/opening of doors, and factory access control. In this research, we proposed a real-time face recognition system for unlocking mobile phones/tablets and for granting access rights to the apps in the phone. Since smartphones and tablets have less computing power and computing resource as a computer, the published face recognition algorithm will not meet the real-time usage requirement. In this research, a fast noise-resilient LBP algorithm is proposed. The recognition procedure has four parts: first, localization of a human face; second, pre-processing of the localized face to reduce the uneven light source effect; third, the proposed noise-resilient LBP algorithm is used for feature extraction; and fourthly, feature clustering is performed to reduced the feature space. The experiments show that the proposed method is effective for real-time recognition of faces for up to 50 registered users in a mobile phone or tablet.. Keyword:Face detection、Face recognition、Authentication system. ii.

(5) 致謝 研究所兩年很快就過去了,很慶幸可以進入師大資工最 VIP 的 VIPLab, 進入這實驗室彷彿等級跟別人不太一樣,高人一等的感覺,走路都有風了。 首先感謝我的指導教授 李忠謀特聘教授,在剛進入實驗室時,就能讓我快 速了解影像處理實驗室的研究方向,和擁有很多學習與磨練的機會,並在還未 進入實驗室時就給我計畫做,使我可以盡早開始進入狀況,也感謝老師不管是 計畫還是研究,都提供許多實質上的資源,使我不缺開發工具。 感謝帶領我做研究的教授 林育慈教授,感謝老師在我研究遇到瓶頸時都會 幫我想解決的辦法,常常教導我要如何做研究,尤其一開始學姐要我們實作別 人的論文時讓我很苦惱,但是慢慢了解,在實作的過程中,不但能理解作者為 何要這樣寫判斷式,也能了解到這篇論文的真正精神,很感謝也很慶幸自己能 被如此美麗又有智慧的老師帶領做研究。 感謝江政杰老師與朱德清博士學長,在每次的實驗室開會時,都能給予台上報 告的同學詳細的指導以及意見,使台下的我們都能清楚地明白台上的同學報告 內容,使我覺得自己在兩年期間內影像處理的能力大增。 感謝計畫夥伴美琪、承嘉,時常一起討論技術問題,每當我遇到 bug 時都 會協助幫忙修改,沒有你們這東西一定是無法完成的,很開心與你們一起共事。 感謝美琪、軒宇、祐生、紹中、國輔、雅淳、怡涵、姿卉、致巽、奕凌、 峻瑋、子婷、信實、晟麟等實驗室的夥伴們,相處的時間雖然不長,但是謝謝 你們在任何方面的包容。 感謝我的家人一路上的實質,與精神上的支持,讓我無後顧之憂的完成學 業,你們的陪伴是我努力的最大動力。 最後感謝 VIPLab 的所有成員,很開心也很幸運自己能加入這個大家庭。. iii.

(6) 目錄 摘要.................................................................................................................................. i Abstract .......................................................................................................................... ii 致謝................................................................................................................................ iii 附圖目錄........................................................................................................................ vi 附表目錄....................................................................................................................... vii 第一章 緒論................................................................................................................. 8 第一節 研究動機................................................................................................. 8 第二節 研究目的................................................................................................. 9 第三節 研究範圍及限制................................................................................... 10 第四節 論文架構............................................................................................... 13 第二章 文獻探討....................................................................................................... 14 第一節 人臉偵測............................................................................................... 14 第二節 人臉辨識............................................................................................... 16 第三節 影像處理實作於 Android platform phone ........................................... 18 第三章 研究方法....................................................................................................... 19 第一節 系統架構與演算法流程....................................................................... 19 第二節 人臉偵測(Face Detection) .................................................................... 22 第三節 影像前處理(Image Pre-Processing) ..................................................... 27 第四節 影像特徵擷取(Image Feature Extraction) ........................................... 29 4.4.1 Image-weight ....................................................................................... 29 4.4.2 LBP(Local Binary Patterns) ................................................................. 30 4.4.3 LBP-like ............................................................................................... 31 4.4.4 Uniform patterns .................................................................................. 33 第五節 特徵群聚(Feature Clustering) .............................................................. 34 第六節 距離相似度計算(Distance Similarity Calculation) ............................. 37 第四章 實驗結果與分析........................................................................................... 38 第一節 實驗目的及方法................................................................................... 38 第二節 實驗影像資料庫................................................................................... 41 第三節 實驗架構............................................................................................... 45 第四節 實驗結果............................................................................................... 49 第五節 討論與分析........................................................................................... 56 4.5.1 靜態測試-採用一次性取完人臉集 ................................................. 56 4.5.2 靜態測試-採用多次性取完人臉集 ................................................. 58 4.5.3 即時取得測試影像........................................................................... 62 第五章. 4.5.4 權重測試........................................................................................... 62 結論............................................................................................................... 63 iv.

(7) 第一節. 結論....................................................................................................... 63. 第二節 未來展望............................................................................................... 64 參考文獻....................................................................................................................... 65. v.

(8) 附圖目錄 圖 圖 圖 圖 圖 圖 圖. 1 正常使用狀況...................................................................................... 11 2 手持裝置與臉的相對位置.................................................................. 11 3 人臉在系統指定的區域內.................................................................. 12 4 人臉不在系統指定的區域內.............................................................. 12 5 Viola 與 Jones 提出的方法之結果[17] .............................................. 16 6 系統示意圖.......................................................................................... 20 7 演算法示意圖...................................................................................... 21. 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 8 Haar-Like Feature [3]........................................................................... 22 9 點x, y的積分影像 ................................................................................ 23 10 Cascade 分類器 ................................................................................ 26 11 影像前處理 ........................................................................................ 28 12 LBP-like 取值方法示意圖 ................................................................ 30 13 LBP 示意圖 ....................................................................................... 31 14 LBP-like 示意圖 ................................................................................ 32 15 LBP-like 取值方法示意圖 ................................................................ 32 16 Uniform patterns 示意圖 ................................................................... 33 17 未使用特徵群聚之特徵比對............................................................ 35. 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 18 特徵群聚............................................................................................ 36 19 使用手持裝置示意圖........................................................................ 39 20 交叉驗證示意圖................................................................................ 41 21 一次性取完人臉集............................................................................ 43 22 多次性取完人臉集............................................................................ 44 23 實驗架構圖(靜態實驗) ..................................................................... 46 24 實驗架構圖(動態實驗) ..................................................................... 47 25 實驗架構圖(權重測試) ..................................................................... 48 26 靜態測試採用一次性取完人臉集資料庫....................................... 50 27 靜態測試採多次性取完人臉集資料庫............................................ 51. 圖 圖 圖 圖 圖. 28 aligment 與 non-aligment 示意圖 ..................................................... 53 29 動態測試實驗結果............................................................................ 54 30 權重測試正確率............................................................................... 55 31 錯誤的測試........................................................................................ 58 32 錯誤的測試集.................................................................................... 60. vi.

(9) 附表目錄 表 1 AdaBoost Learning Algorithm[17] ....................................................... 25 表 2 Uniform patterns ................................................................................... 34. vii.

(10) 第一章 第一節. 緒論. 研究動機. 在這個科技日新月異的時代,人們對於科技的需求也越來越多,良好的科技 能提升人們的生活品質也能代替人力做更有效率的處理, 對人們的生活具有很 大的貢獻,隨著各種智慧型裝置的出現,我們不需要花心思去整理資料,記錄行 程,也不需要特地花時間去銀行辦理轉帳和存款的動作,節省了許多的精力和時 間,但是在便利的背後,我們必須要想辦法保護自己的隱私,才不會導致資料外 洩,智慧型裝置上的保護隱私的方法有很多種,像是近幾年流行的人臉辨識[5, 14, 16]、姿勢辨識[8]、以及虹膜辨識[12]等等,皆是利用電腦取代人力肉眼上的直接 辨識,不但方便也能節省人力資源,對於現今社會在許多層面的應用上,帶來更 多的效益。 近幾年由於身分認證,金融卡認證的需求日益增加,傳統的識別方法如密碼,身 分證號碼存在可能的風險,而人臉辨識應用在智慧型手機上的需求更是日益漸增, 像是身分認證,信用卡認證,手機解鎖,門禁管理,照片庫分類等等,而以手機 上不同使用者登入來說,密碼以及圖形的輸入都存在著可以模仿的風險,所以生 理特徵作為辨識的方法變得更為安全,也有其存在的必要性,現有的方法很多像 是指紋[18],眼球虹膜,但在這些方法中,人臉辨識所需要的設備最為低價且最 容易取得,也相對便宜,這也是為什麼人臉辨識的研究一直是很熱門的學問。 8.

(11) 近年來在教育方面上,許多間學校都會購買平板電腦當作教學載具,其中又以 Android platform最為普及,許多學校是整間學校購買一批平板電腦讓許多班級一 起使用,但是有些老師的app不想讓別的班級使用,此時本系統就能應用於此,老 師可以設定有哪些使用者可以使用該app,進而達到權限控管的功能。 由於本多使用者權限控管系統,是執行於Android platform,所以每次在辨識時的 光線或背景可能會不同,所以本篇強調於辨識的速度,以及光線的處理。. 第二節. 研究目的. 由於現在Android platform的普及,常常一整個學校共用一批平板電腦,或是 手機當成教學載具來使用,此時老師不想有些應用程式讓其他班級使用或是其他 學生使用,所以本系統可以讓老師選擇有哪些軟體需要權限控管,當學生執行有 被權限控管的APP時,本系統就會以人臉辨識的方式得知該學生是誰,以及是否 可使用該APP。 本研究提出一個有效的流程來辨識人臉,並做為手機多使用者權限控管的功能, 或其他相關應用,比較難以克服的問題為每次人臉辨識時的,背景,光線都不同, 這樣的問題在一般的辨識方法都不會有太高的辨識率,因此本篇論文即是在克服 這樣的問題。針對這樣的問題本篇論文提出一個有效的前處理流程來克服光線的 問題,並對LBP[14]作改良提出新的特徵擷取來取臉部特徵。. 9.

(12) 第三節. 研究範圍及限制. 本論文以 Android-based 的手機為研究裝置,用手拿起手機並將其前置鏡頭 對著使用者的臉,故本研究需於以下環境及條件之下進行以達到預定之最佳研 究效果。 使用方面: (1) 手機畫面要囊括使用者的整張臉。 (2) 訓練及使用時盡量維持一樣的表情(建議使用無表情),如圖 1 所示 (3) 使用時人臉位置與手機呈現平行狀,並且上下不要落差太多,如圖 2 所示。 (4) 使用時務必讓整張人臉在系統所提示的區域內,且自行移動手機使其畫面 上之紅線在兩眼之間,如圖 3 所示,如果不符合上述兩點,系統將無法裝 取人臉,如圖 4 所示。 系統方面: (1) Android platform 所需之軟硬體需求: . 系統需求:Android 2.2 以上。. . 硬體需求:需有前置鏡頭。. 10.

(13) 圖 1 正常使用狀況. 圖 2 手持裝置與臉的相對位置. 11.

(14) 圖 3 人臉在系統指定的區域內. 圖 4 人臉不在系統指定的區域內. 12.

(15) 第四節. 論文架構. 本論文共分成五個章節,各章節內容簡述如下: . 第一章 緒論 說明本研究論文的研究動機、研究目的、研究範圍的限制以及論文架構。. . 第二章 文獻探討 歸納出常用的幾個人臉偵測方法與人臉辨識方法,並對其做簡介,最後是 Android 上實作影像處理的方法。. . 第三章 研究方法 共分成六個小節,分別為系統架構與流程、人臉偵測、影像前處理、影像 特徵擷取、特徵群聚、距離相似度計算。. . 第四章 實驗結果與分析 分為五小節,分別為實驗目的及方法、實驗影像資料庫、實驗架構、實驗 結果,最後是討論與分析. . 第五章結論 對本篇論文做結論,以及未來展望。. 13.

(16) 第二章. 文獻探討. 在實作人臉辨識上,首先會對整張圖像做人臉偵測,經由人臉偵測所得到 的人臉,再接著做人臉辨識,所以本章文獻探討會著重於人臉偵測與人臉辨識 的相關技術。. 第一節. 人臉偵測. 根據 Yang[19] 的研究指出,人臉偵測的方法大致可分為四類,分別為 Knowledge-Based method、Feature-Based method、Template-Based method 以及 Appearance-Based method。. (1). 基於知識的方法(Knowledge-Based method) Knowledge-Based 是透過描述人臉的外觀型態來當作判斷的依據,像 是利用人臉的眼睛、嘴巴還有鼻子之間的相對位置與距離來建立規則,藉 由這些規則來找尋影像中人臉的區域。若此規則定義條件式過於嚴謹,則 很難符合條件找出人臉,反之,則容易找出非人臉的區域。此方法不適用 於人臉角度傾斜的情形,因為無法一一定出所有規則。. (2). 基於特徵的方法(Feature-Based method) 此方法主要是在人臉中尋找出明顯的特徵來找出影像出人臉的位置, 14.

(17) 像是可以利用臉的輪廓、膚色以及五官等資訊當作特徵來判斷是否為人臉。 以膚色特徵為例, [7, 9]根據色彩模型可以快速地將非膚色部分濾除,減 少影像中需要處理的範圍進而達到執行速度增加,並保留膚色部分進行後 續分析。此方法較不易受到姿勢、視角以及外在環境光線變化的影響,通 常都會結合多種以上特徵來做人臉偵測[1],因為若單獨使用某一特徵,可 能會略顯不足,因為每一種特徵都極易受到外在環境的干擾而影響判斷的 正確率。 (3). 樣板比對的方法(Template-Based method) 此方法是一種比較直觀的方法,主要是定義幾種臉的樣本,特徵主要 是利用多張人臉的輪廓以及五官形狀的特徵定義出一個或多個標準樣本, 如 Brunelli[2]提出的以平均人臉為樣板的方式再與輸入之測試影像逐一進 行比對,計算影像中和樣本之間的相似程度。此方法的優點為簡單容易實 行,但只適用於與樣本相對位置差異不大的影像,無法處理人臉的縮放 (Scale)、姿勢(Position)、旋轉(Rotation)或是扭曲(Skew)的情況。. (4). 基於表像的方法(Appearance-Based method) Appearance-Based 的方法是透過學習、統計數據的方式來做人臉偵測, 將人臉與非人臉的影像作分群,利用人臉的外觀變化透過大量的影像訓練 建立模型。如 Viola 與 Jones[17]提出利用積分影像特徵計算 Haar-Like 15.

(18) Feature,再配合 Adaboots 演算法與 Cascade 分類器來建立人臉偵測模型, 此方法目前廣為人們所用,其優點為快速且辨識率高,但需耗費大量計算 時間以及記憶體空間。. 圖 5 Viola 與 Jones 提出的方法之結果[17]. 第二節. 人臉辨識. 臉辨識的基本流程通常為人臉偵測、影像前處理、特徵擷取、相似度距離計 算,而每個步驟又可因其狀況或需求而有不同的方法,其中人臉辨識較重要的 步驟為特徵擷取,以下將歸類並介紹幾種常用的特徵擷取方法: (1) Eigenface 是指用於機器視覺領域中的人臉識別問題的一組特徵向量。使用特徵臉 進行人臉識別的方法首先由 Sirovich and Kirby (1987)提出,並由 Matthew Turk 和 Alex Pentlan[16]用於人臉分類。該方法被認為是第一種有效的人臉識別方法。 16.

(19) 這些特徵向量是從高維矢量空間的人臉圖像的協方差矩陣計算而來。. (2) Fisherface 基於線性鑑別分析(Linear Discriminant Analysis)思想而演變過來的。 線性鑑別分析方法的目的是從高維特徵空間中提取出最具有鑑別能力的低 維特徵,並在 1998 年時被 W.Zhao[5]應用於人臉辨識上。. (3) Local Binary Patterns 局部二值模式在紋理分類問題上是一個非常強大的特徵,於 2006 年被 應用於人臉特徵的描述[14];如果局部二值模式特徵與方向梯度直方圖結合, 則可以在一些集合上十分有效的提升檢測效果。局部二值模式是一個簡單但 非常有效的紋理運算符。它將各個像素與其附近的像素進行比較,並把結果 保存為二進制。由於其辨別力強大和計算簡單,局部二值模式紋理算子已經 在不同的場景下得到應用。LBP 最重要的屬性是對諸如光照變化等造成的 灰度變化的魯棒性。它的另外一個重要特性是它的計算簡單,這使得它可以 對圖像進行實時分析,由於其快速且準確,不少研究針對其運算子做修改進 而達到不同需求如[3, 6, 11]。. 17.

(20) 第三節. 影像處理實作於 Android platform phone. 在 Android platform phone 上實作影像處理通常用 Java 語言去實現,但 由於 Java 會先轉 Java bytecode,所以速度會比不用轉的語言稍微慢一點,所 以有些應用會用 C 語言去實作,在透過 JNI(Java Native Interface)這個 Framework 使 Java 去調用 C 寫好的 function,讓複雜的計算給 C 語言執行。 在參考[13]所提出的語言速度的比較後,在本篇論文的人臉偵測是調用 C Function 為之,人臉辨識則是用 java 進行計算。. 18.

(21) 第三章. 研究方法. 本章節共分為五個小節:第一小節為本系統的架構,第二節為人臉偵測,第 三小節為影像前處裡,第四小節為影像特徵擷取,第五小節為特徵分類,第六 小節為特徵距離相似度計算。. 第一節. 系統架構與演算法流程. 本節會介紹系統架構與本論文所用的演算法流程圖,本系統架構如圖 6 所 示,安裝完本系統後,點擊手持裝置上面任一項 APP 後會立即跳出人臉辨識的 視窗,使用者將其對準臉,系統就會開始判斷使用者的身分,如果該使用者有 可以使用該 APP 的權限,那麼就會進入 APP,如果沒有則不能進入。. 圖 7 為演算法流程,首先要先對每個使用者取取訓練人臉集,從手持裝前鏡頭 所取到的原始影像要先對其做人臉偵測,取出人臉後再接著做特徵擷取,將所 有人臉影像的特徵取出來後,由於數量過多,所以要對其做分類,取出具代表 性的特徵,接著測試時的測試影像也是做一樣的流程,最後再跟訓練集的特徵 做距離相似度計算,即可知道該測試使用者身分。. 19.

(22) 點擊某 APP 後, 系統立即跳出人 臉辨識頁面。. 系統開始判斷使 用者為何人. 該使用者有權限進 入此 APP,所以可 使用該 APP。. V. X 該使用者無權限進 入此 APP,所以不 可使用該 APP。. 圖 6 系統示意圖 20.

(23) Training frame. Testing frame. Face Detection. Image Pre-Processing RGB to grayscale. Gamma correction. Difference of Gaussian. Image Feature Extraction Using LBP feature. or. Use LBP-like feature. Feature Classification. Distance Similarity Calculation. 圖 7 演算法示意圖. 21.

(24) 第二節. 人臉偵測(Face Detection). 本系統一開始需要先請使用者拿著手機,對著前置竟頭若干秒,使系統可 以擷取使用者的臉,當作訓練資料,而擷取人臉的演法用的是 Viola 與 Jones [17] 所提出的方法來做人臉偵測,利用 Integral Image 快速算出大量 Haar-Like Feature 的值,AdaBoost 演算法在每一回合的訓練中選取最重要的 Haar-Like Feature,多個 Haar-Like Feature 組合起來成一個強分類器,配合 Cascade 分類 器的概念,便可快速過濾掉非人臉的圖片,最後留下的即為人臉影像。 圖 8 為 Viola 與 Jones[17]所使用的 Haar-Like Feature,這些 feature 的大小 都不相同,但是白色面積和灰色面積都會一樣大,這些 feature 會像 filter 一樣, 在每一張影像中移動並且計算白色面積像素值的加總減去灰色面積像素值的加 總,由於 Haar-Like feature 的數量相當龐大,因此 Viola 與 Jones[17]提出利用 Integral Image 演算法來加快計算每個 Feature 的值。. 圖 8 Haar-Like Feature [3] 22.

(25) ii(x, y)=∑𝑥 ′≤𝑥,𝑦 ′≤𝑦 𝑖(𝑥 ′ , 𝑦 ′ ). (1). 對於一張輸入影像 I,𝑖𝑖(𝑥, 𝑦)表示點(𝑥, 𝑦)的積分影像,𝑖(𝑥, 𝑦)為點(𝑥, 𝑦)的灰階 像素值,如圖 9 綠色面積為點(𝑥, 𝑦)的積分影像。. 圖 9 點(x, y)的積分影像. 根據遞迴的方式: s(x, y)=s(s, y-1)+i(x, y) ii(x, y)=ii(x-1, y)+s(x, y). (2) (3). s(x, y)表示該行x到y灰階質的總和,s(x, -1)=0且ii(-1, y)=0,積分影像就可從原 始影像中得到。. 要訓練的影像分為人臉與非人臉兩類,分別有多張影像,在初步時的權重 值皆相同,會隨著每回合的訓練而有所不同。假使要挑選 T 個 feature,AdaBoost 演算法首先將所有權重值做正規化使得所有的值加起來為 1,接著會在每回合 挑選一個能使得錯誤最小的 feature 並記錄其參數,最後則會更新權重值,共做 T 個回合。每個 feature 可視為一個弱分類器,將這 T 個弱分類器組合起來便可 成為一個強分類器,藉由每個 feature 對影像進行投票,決定此張影像是否為人 23.

(26) 臉,由於每個 feature 的權重值皆不相同,因此只有當權重值的加總過半時,才 認可為一張人臉,詳細的演算法如表 1。. 24.

(27) 表 1 AdaBoost Learning Algorithm[17] . Given example images (x1 , y1 ), . . . , (xn , yn ) where yi = 0, 1 for negative and positive examples respectively.. . 1. 1. Initialize weights w1,i = 2m , 2l for yi =0 ,1 respectively, where m and l are the number of negatives and positives respectively.. . For t = 1, . . . , T : wt,i. 1. Normalize the weights, wt,i ← ∑n. j=1 wt,j. 2. Select the best weak classifier with respect to the weighted error ϵt =minf,p,θ ∑i w i |h(x i , f, p, θ) − y i |. A weak classifier h(x i , f, p, θ) thus consists of a feature (f), a threshold (θ) and a polarity (p) indicating the direction of the inequality: 1 0. h(x i , f, p, θ) = {. if pf(x) < 𝑝θ otherwise. 3. Define ht (x) = h(x t , ft , pt , θt ) where ft , pt , and θt are the minimizes of ϵt . 4. Update the weights: 1−ei. w t+1,i = w t,i βt. where ei = 0 if example xi is classified correctly, ei = 1 otherwise, and ϵ. βt = (1−ϵt ). t. . The final strong classifier is : C(x) = {. 1. 1. ∑Tt=1 αt ht (x) ≥ ∑Tt=1 αt 2. 0. otherwise. 1. where αt = logβ. t. 25.

(28) Cascade 分類器的概念可以讓 AdaBoost 演算法更有效的進行。將所有 feature 分成好幾層分類器,每一層的分類器皆會濾掉非人臉的影像,再將剩下 的影像交給下一層分類器處理,如此一來最後留下來的則為人臉的影像,如圖 10。再節點 1 先進行第一次的人臉判斷,若成功辨識為人臉(T 代表辨識成功, F 代表辨識失敗),則在往下一個節點 2 進行第二階層之判斷,依此類推。 Cascade 分類器最主要的概念為愈前面的分類器其辨識度愈低,可以快速過濾 掉一大半非人臉的影像,越後面的分類器辨識度越高,雖然影像較難處理,但 要判斷的影像數量已不如前面的多了,因此可以加快辨識的速度以提高其效 能。. 圖 10 Cascade 分類器. 26.

(29) 第三節. 影像前處理(Image Pre-Processing). 從上個章節中會取得人臉的影像,此時的人臉影像為彩色影像,因為只需 要灰階的部分,所以會先將影像轉為灰階,因為在人臉識別中,光線所引起的 各種變化都會使辨識率下降,所以第三節的部分目的就是解決這個問題,因此 本論文前處理包含三個部分,依序執行的順序分別為灰階化,Gamma correction, Difference of Gaussian (DoG),下面將會依序介紹這幾像演算法的目的及用途。. (1) 灰階化 因為只需要灰階的部分,所以先對彩色影像作灰階化,公式如下: I = R × 0.299 + G × 0.587 + B × 0.114. (4). 其中 I 是由彩色影像經過上式所轉成的灰階化影像,R 為彩色影像中特定 像素的紅色值,G 為綠色值,B 為藍色值。 (2) Gamma correction 光線不均勻的問題往往是影像辨識的一大挑戰,因此本研究在得到灰階影 像時,為了減少光線所造成的影響,通過增強陰影處或是降低太亮的區域 的灰階值,把整灰階圖做一個非線性的變換,公式如下: I(𝑥) = 𝑥 𝛾 , 𝛾 ∈ [0,1]. (5). 其中I為灰階影像,x 為灰階影像 I 中的灰階值,𝛾為非線性調整的係數。. 27.

(30) (3) Difference of Gaussian (DoG) 由於 Gamma correction 無法完整的去除光線造成的整體灰階值的差異,因 此對圖像進行 DOG 濾波,過濾掉高頻的部分,保留低頻的部分,達到減 少雜訊的效果,將該圖像做兩次高斯濾波並相減,公式如下: 1. I(x, y) = I(x, y) ∗ (. 2𝜋𝜎1 2. 𝑒. −. (𝑥2 +𝑦2 ) (2𝜎1 2 ). −. 1 2𝜋𝜎2 2. 𝑒. −. (𝑥2 +𝑦2 ) (2𝜎2 2 ). ). ( 6). 其中I(x, y)為灰階影像 I 中(x,y)位置的灰階值,𝜎 是常態分佈的標準偏差, 本研究根據實驗結果將𝜎1 設為 1,𝜎2 設為 2 時有較好的效果。. 影像前處理過程如下圖 11:. 原圖. 灰階化. Gamma Correction. Difference of Gaussian. 此流程圖依序為先將原圖做灰階化,在做 Gamma Correction,最後再做 Difference of Gaussian。. 圖 11 影像前處理. 28.

(31) 第四節. 影像特徵擷取(Image Feature Extraction). 在經過影像前處理後,接著要對影像做特徵擷取,好用來做影像的比對, 因為考慮到要同時兼顧辨識速度以及辨識正確率,所以本論文選用了 LBP(Local Binary Patterns)[14]這個演算法去提擷取特徵,以及對該演算做出修 改的 LBP-like 這個演算法去擷取特徵,由於 LBP 取特徵的方法是把毎個像素依 序跟鄰近像素的關係放成直方圖,所以整張圖片做 LBP 會造成被有些特定區域 干擾,所以本論文有先將人臉圖片做區塊分割,在對每個區塊做取特徵。. 4.4.1 Image-weight 由於不管是訓練資料集或測試資料集,在做取特徵之前都會先將人臉做區 塊分割,但此時就會發現有些區塊可能會每次都不一樣(例如背景等等)且非重 要特徵,這個可能就會造成誤判,所以本論文把這些非特徵區塊的權重值調低, 在本論文實驗中權重值為 0~1,如下圖 12 可見:藍色區塊即為非特徵區塊,因 此把他權重值設低,以免干擾整體辨識率,本實驗中將非特徵區塊權重值設為 0.1,其餘區塊為 1。. 29.

(32) 圖 12 LBP-like 取值方法示意圖. 4.4.2 LBP(Local Binary Patterns) 描述圖像局部紋理特徵的 LBPP,R 運算式(7) 𝑃−1. 𝐿𝐵𝑃𝑃,𝑅 = ∑𝑃=0 𝑠(𝑔𝑝 − 𝑔𝑐 )2𝑝. ( 7). 1, 𝑔𝑝 ≥ 𝑔𝑐 其中: 𝑠(𝑔𝑝 − 𝑔𝑐 ) = { ,𝑔𝑐 表示灰階影像 I 中位置(𝑥𝑐 , 𝑦𝑐 )處的灰 0, 𝑔𝑝 < 𝑔𝑐 階值,𝑔𝑝 表示分布在中心為(𝑥𝑐 , 𝑦𝑐 )半徑為 R 的圓周上的灰階值,共有 P 個。 下圖 13 為圖像經由 LBP 後的示意圖:. 30.

(33) 84 98 20. 1 1 0. 44 54 80. 1. 57 7. 1 0 0. 12. Binary: 11010011 Decimal:211. 1. 對整張灰階圖中每個位置的灰階值做取 LBP 特徵值的動作,在用該灰階值鄰 近的灰階值跟其比較大小,若較大或相等則設為 1,否則設為 0,再將這些值 依順時鐘編碼,得到一組 binary code,最後再將其轉為 decimal,最後這個 decimal 就是該位置的特徵值。. 圖 13 LBP 示意圖. 圖像上每個像素點都做此操作,並用將所有值用直方圖統計,因為 8-bit 的範圍 0~255、所以此直方圖的橫軸範圍為 0~255,而直方圖的縱軸為該特徵值的統計 個數,所以一張圖會有一個直方圖,而這直方圖就是用來表示該圖的特徵直方 圖。. 4.4.3 LBP-like 為了除去雜訊的干擾,本研究修改 LBP,提出 LBP-like 演算法。原本的 LBP 是去比較某像素值跟鄰近像素值,若較大或者相等則設為 1,否則設為 0, 這種方法可能會被雜訊干擾,進而影響到正確率,所以這邊將其改良為讓中心 像素值增加一個範圍,並對 LBP 運算式多設一個值,算式如下 𝑃−1. 𝐿𝐵𝑃𝑃,𝑅 = ∑𝑃=0 𝑠(𝑔𝑝 − 𝑔𝑐 )3𝑝. ( 8). 1, 𝑔𝑝 ≥ 𝑔𝑐 + 𝑡 其中: 𝑠(𝑔𝑝 − 𝑔𝑐 ) = {. 0, |𝑔𝑝 − 𝑔𝑐 | < t −1, 𝑔𝑝 ≤ 𝑔𝑐 − 𝑡 31. ,𝑔𝑐 表示灰階影像 I 中位置.

(34) (𝑥𝑐 , 𝑦𝑐 )處的灰階值,𝑔𝑝 表示均勻分布在中心為(𝑥𝑐 , 𝑦𝑐 )半徑為 R 的圓周上的灰階 值,共有 P 個,t 表示該中心點像素所增加的範圍。 下圖為圖 14 像經由 LBP-like 後的示意圖. 對整張灰階圖中每個位置的灰階值做取 LBP 特徵值的動作,在用該灰階值鄰 近的灰階值跟其比較大小,這邊例子中心灰階值為 54,t 假設為 5 此時得到一 個範圍[ 54-t , 54+t ],如果鄰近的灰階值大於此範圍則設為 1,小於則設為-1, 在這範圍內則設為 0,再將這些值依順時鐘編碼,得到一組 code。. 圖 14 LBP-like 示意圖 但此做法在計算值方圖時會造成橫軸過長,浪費過多記憶體,以及效能,所以 將其改為如下圖 15 所示: 1 1 0. Code: 1100(-1)(-1)00. 0 1 1. 0. 0. 0. 0. Upper Code: 11000000. 0 0 0. 0 -1 -1 0 0 0 0. 0. Lower Code: 00001100. 0 1 1. Upper Code:將原本 code: 1100(-1)(-1)00 中的 1 保持不變,其他的部分改為,此時 1 代表 周圍的像素值比中心高 Lower Code:將原本 code:1100(-1)(-1)00 中的-1 保持不變,並改為 1,其他的部分改為 0, 此時 1 代表周圍像素值比中心點低 所以 Upper Code 以及 Lower Code 皆可轉換為範圍為 0~255 的 decimal。. 圖 15 LBP-like 32 取值方法示意圖.

(35) 圖像上每個像素點都做此操作,並用將所有特徵用直方圖統計,因為 8-bit 的範 圍 0~255、所以此直方圖的橫軸範圍為 0~255,而直方圖的縱軸為該特徵值的 統計個數,所以一張圖會有一個直方圖,而這直方圖就是用來表示該圖的特徵 直方圖。. 4.4.4. Uniform patterns. Ojala et al[15]提出,LBP 8bit code 中,只需要留下該字串 0-1 和 1-0 最多 只出現一次的值,如圖所示,總共有 58 個值符合該情況,且這 58 種最具代表 性,其他的可能是雜訊或是不重要的特徵,並且經過 Uniform patterns 這個過程, 可以減少取特徵時的時間以及減少程式執行時的記憶體消耗。. LBP 8 bit code:. 0~1or 1~0 的變 回有 6 次,所 以不符合。. LBP 8 bit code:. 0~1or 1~0 的變 回有 2,所以符 合。. 圖 16 Uniform patterns 示意圖. 33.

(36) 下表為 0~255 中符合該性質的數字:. 表 2 Uniform patterns 0. 1. 2. 3. 4. 6. 7. 8. 12. 14. 15. 16. 24. 28. 30. 31. 32. 48. 56. 60. 62. 63. 64. 96. 112. 120. 124. 126. 127. 128. 129. 131. 135. 143. 159. 191. 192. 193. 195. 199. 207. 223. 224. 225. 227. 231. 239. 240. 241. 243. 247. 248. 249. 251. 252. 253. 254. 255. 第五節. 特徵群聚(Feature Clustering). 實際上在所有訓練集特徵取出來後,會先將其存入資料庫,接著有測試集 要開始測試時,就從資料庫把訓練集撈出來,接著去一一比對訓練集的特徵, 但問題是訓練集過於龐大,每次使用者在開 APP 時系統就要去撈取大量訓練特 徵集,並讓測試集及一一去跟所有訓練集做距離計算,示意圖如圖 17 所示,這 樣一來會耗時過久,造成使用者等待過久。所以在每一個使用者的訓練集做完 特徵擷取之後這邊再把該群做特徵群聚,將具代表性的特徵取出來用來跟測試 集做比對,如此一來測試集就不用跟每一個使用者的所有訓練集的特徵做比對, 34.

(37) 只需要跟群聚完後具有代表性的特徵做比對,如此一來不但從資料庫提取資料 的時間減短,比對特徵的時間也會大為縮減。. 共 50 群. 每群 99 個. Tom1. Tom. Tom2. Tom99. 訓練人 臉集. Win1. Win. Win2. Win99. lyt1. lyt. lyt2. lyt99. 圖 17 未使用特徵群聚之特徵比對. 35. 每張測試集的特徵 都要跟所有訓練集 的特徵做比對. test.

(38) 本論文用的特徵群聚法為 k-means[10],此實驗中 k 設為 m,分群時的初始中心 點為隨機選擇,但是會再去判斷初始時的中心點兩兩之間距離要大於一個值, 如果沒有就在隨機選擇一次,執行 k-means 的次數為直到中心點變化小於一個 特定值,所以會得到 m 群特徵集合,再根據每個集合內特徵數量多寡,用 knn[4] 的方法去取出離中心點前 k 個特徵當做該類的代表特徵,這邊 k 設為該類群數 量的四分之一,特徵群聚演算法如下圖 18:. 共 m 個特徵點. 𝒎𝟏 個. 𝒎𝟐 個. 𝒎𝟑 個. 對所有特徵點 執行 k-means。 k:根據實驗 k 設 為 3.. 用 KNN 取出離 中心點前 k 個 特徵當做該群 代表。 k:表示該群數 量總數的 1/4.. 圖 18 特徵群聚. 36.

(39) 第六節. 距離相似度計算(Distance Similarity Calculation). 將訓練集中的影像依序做完前處理、特徵擷取、特徵分類後便可以開始做 相似度距離計算,計算該測試影像為哪一個人,本篇論文所使用的相似度距離 計算方法為 Chi-squared distance。 將圖像分割為若干個區塊,並對每個做 LBP 特徵直方圖,再用𝑥 2 距離來計 算該特徵的相似度,公式如下: 𝑥 2 (𝑞, 𝑤) = ∑𝑖. (𝑞𝑖 −𝑤𝑖 )2 𝑞𝑖 +𝑤𝑖. ( 9). 其中 𝑞, 𝑤 分別為兩張圖中各個區塊的 LBP 特徵直方圖的集合,𝑞𝑖 為𝑞中 第 i 個 LBP 特徵直方圖,i 為區塊個數, 𝑞𝑖 , 𝑤𝑖 = [𝑢1 , 𝑢2 , 𝑢3 … … … , 𝑢𝑧 ], |𝑞𝑖 | = 255 ,0 ≤ u < 區塊的寬度 ∗ 區塊的長度 。. 37.

(40) 第四章 實驗結果與分析 在此章節中,將驗證本研究所提出的演算法流程的正確率,並針對其結果 做討論,4.1 節會先介紹實驗的目的與方法,有哪些不同的實驗需要驗證。4.2 節將根據不同需求的人臉資料庫來做討論。4.3 節會將本論文演算法針對不同資 料庫所得的結果做說明。在最後 4.4 節會將整個實驗結果做一個分析與討論。 本論文開發環境為 eclipse,使用 java 撰寫,執行系統為 android2.2 以上版 本,人臉偵測核心使用 Viola 與 Jones [3]的 Cascade AdaBoost 演算法,並調用 C function 來做實現。. 第一節. 實驗目的及方法. 由於用在手持裝置上的人臉辨識系統常常會因為每次要使用開系統時所在 地點的光線不同,而造成影像上的差別,所以本實驗會分兩種資料庫下去做驗 證,此部分將在 4.2 節做討論,實驗環境不能在陽光過強或過弱的地方,因為 這種狀況絕大多數現有的中低階前置鏡頭像機都無法將影像擷取的太好,所以 許多影像處理演算法也無法處理,所以上述情況不在本實驗討論範圍內。 實驗環境為一般光線變化不要太大的空間即可,一開始需要擷取使用者的 人臉當作訓練集,擷取方法示意圖如下圖 19:. 38.

(41) 圖 19 使用手持裝置示意圖. 將手機拿起至臉的前方,手機盡量與人保持平行,且將手機拿正,而手機畫面 上會有一個橢圓型的區域,請移動手機駛人臉能包覆在橢圓形區域內,且螢幕 上還會有一條紅線,請自行移動調整手機使紅線位於雙眼中間(鼻梁上方),如 上圖 19 所示。. 實驗會分為靜態測試,動態測試,權重測試: 靜態測試的目的除了驗證演算法流程的正確性,其目的是為找到影像大小與正 確率的權衡點,也就是說影像大小到多少後其正確率會趨近於相等,因為越大 的影像會造成辨識時間過長,以至於不能達到即時的效果。 經由靜態測試結果可以得知何種影像大小為滿足權衡點的影像大小,再用該影 像大小當作動態測試與權重測試的影像大小。 39.

(42) . 靜態測試:將所得到的人臉集分為訓練集與測試集,並採用交叉驗證的方式 去做驗證,目的在於驗證本論文演算法以及找出影像大小與正確率的權衡 點。. . 動態測試:先將一開始所得到的人臉進行上述幾章所提及的演算法,接著在 以即時的方式取得測試者人臉,在測試時手機上會即時顯示出該測試者之 身分,這部分也就是實際在使用時的情況,目的在於驗證本論文演算法對 於即時取得測試者人臉的正確率。. . 權重測試:驗證實際在使用 APP 時,如果在每隔一段時間跟使用者拿取訓練 集加入現有訓練集的情況下是否會提高辨識的準確度。. 為了要求測試時的公平性,這邊使用了交叉驗證來驗證此演算法正確率,所謂 交叉驗證就是是一種統計學上將數據樣本切割成較小子集的實用方法。於是可 以先在一個子集上做分析, 而其它子集則用來做後續對此分析的確認及驗證。 一開始的子集被稱為訓練集。而其它的子集則被稱為驗證集或測試集。 示意圖如下圖 20:. 40.

(43) 第1次. Training set. Training set. Testing set. 第2次. Training set. 第3次. Training set. Testing set. Training set. 第K次. Testing set. Training set. Training set. Testing set. Training set. 將所有 dataset 分成 K 分子集,拿 K-1 個子集當作訓練集,剩下的 那個當測試集,且訓練集不可與測試集有交集,每次測試時不可 選取同一個測試集,所以這項演算法會跑 K 次。. 圖 20 交叉驗證示意圖. 第二節. 實驗影像資料庫. 為了驗證本系統的可用性以及該演算法流程的正確性,本論文針對兩點下 去做考量: (1) 品質考量:由於不可能對很多人長期分批取人臉集,所以這部分鎖定在少人 的情況下,由於該人每次取人臉的時候,該人臉可能會有些差異,所以預 41.

(44) 估在測試時可以有較大的測試集的變化容忍度。 (2) 多量考量,由於訓練人數眾多,所以在取訓練人臉集時會一次性取完, 但是缺點是測試集的變化容忍度會偏低。 可辨識人數. 取訓練集的時間. 測試集可容忍的變化. 品質. 少. 長期分批取. 多. 多量. 多. 一次特定時間內. 少. 並且由於本論文目的是解決不同使用時機所造成的光線變化,所以本論文中用 到兩種資料庫用來驗證 . 一次性取完人臉集,一次取 99 張,且每張擁有 10 種影像大小。此部分有 50 位使用者。. . 多次性取完人臉集,一次 6 張,共 11 次,每次不同時間點,不同背景,且 每張擁有 10 種影像大小。,此部分有 20 位使用者。. 42.

(45) 人臉像素高、準確度可能會高、但是辨識速度慢,或是人臉像素低、準確度可 能變低,但是速度變快,所以會測試各種不同像素值的人臉,本實驗使用 10 種影像 size 分別為:240x320、216x288、192x256、168x224、144x192、120x160、 96x128、72x96、48x64、24x32。. 50 人. 99 張 圖 21 一次性取完人臉集. 43.

(46) 20 人. 66 張 圖 22 多次性取完人臉集. 44.

(47) 第三節. 實驗架構. 這部分要討論的是整個實驗的架構,以及有哪些實驗須要執行,第一節所 提到的靜態測試,動態測試與權重測試。 1.. 先用靜態測試去驗證何種演算法搭配可以達到好的結果,以及不同影像大 小所需的辨識時間與正確率,此時靜態測試會得出一個結果,在用這個結 果去執行動態測試與權重測試,實驗架構圖如圖 23。. 2.. 動態測試則用靜態測試所得的結果去測試要輸入多少張影像才能答達到正 確率與使用者習慣的權衡點,所謂使用者習慣為使用者在使用該 app 進行 辨識時所能容忍的辨識時間,實驗架構圖如圖 24。. 3.. 權重測試則是將前幾個禮拜所得到的人臉集當訓練集,後幾個禮拜的人臉 集當測試集,並對時間越晚的禮拜所得到的人臉增加其權限,實驗架構圖 如圖 25。. 45.

(48) 靜態測試. 一次性取完人臉集,共 50 人 實驗 1-1. 實驗 1-2. 實驗 1-3. 實驗 1-4. 前處理. 無. 有. 無. 有. 特徵取法. LBP. LBP. LBP-like. LBP-like. 多次性取完人臉集,共 20 人 實驗 2-1. 實驗 2-2. 實驗 2-3. 實驗 2-4. 前處理. 無. 有. 無. 有. 特徵取法. LBP. LBP. LBP-like. LBP-like. 每種都需要在 10 種影像大小下做測試 圖 23 實驗架構圖(靜態實驗). 46.

(49) 動態測試. 人臉一定要很對準 中間紅線. 人臉可以稍微偏離 中間紅線. 根據靜態測試的實 驗 1-1~2-4 結果所得 的方法。. 根據靜態測試的實 驗 1-1~2-4 結果所得 的方法。. 需要多少張測試影 像才能達到權衡點. 需要多少張測試影 像才能達到權衡點. 圖 24 實驗架構圖(動態實驗). 47. 即時取測試 者的人臉當 測試集. 根據靜態測 試結果,得知 要使用何種 取特徵方法.

(50) 權重測試. Fix-weight. Variable -weight. Week1. 4. 4. Week2. 4. 5. Week3. 4. 6. Week4. 4. 7. Week5. 4. 8. Week6. 4. 9. Week7. 4. 10. Week8. 4. 4. Week9. 4. 4. Week10. 4. 4. Week11. 4. 4. T1 T2 T3 T4 T5 T6 T7. Test. Fix-weight:每個禮拜所取張數都為相同(4 張) Variable-weight:越後面的星期則取得的張數越多張 T1:取 week1 當作訓練集,week8~11 當作測試集。 T2:取 week1~week2 當作訓練集,week8~11 當作測試集。 T3:取 week1~week3 當作訓練集,week8~11 當作測試集。 T4:取 week1~week4 當作訓練集,week8~11 當作測試集。 T5:取 week1~week5 當作訓練集,week8~11 當作測試集。 T6:取 week1~week6 當作訓練集,week8~11 當作測試集。 T7:取 week1~week7 當作訓練集,week8~11 當作測試集。. 圖 25 實驗架構圖(權重測試). 48.

(51) 第四節. 實驗結果. 根據第三節的實驗架構,這節將一一驗證其正確率。 1. 靜態測試 首先探討的是靜態測試採用一次性取完人臉集資料庫的部分,下面會列出四種 實驗的結果圖,並且每次採用交叉驗證,所以將人臉資料集切割成三等份,其 中 3 分之 2 當做訓練集,剩下的 3 分之 1 做為測試集,由於切成三等份,所以 會有三次正確率,計算方法如下: 𝐴𝑖 =. 判斷錯誤的張數 總測試張數. × 100%. (10). 其中, 測試總張數為 1650 張(33 ×50),i 為 1~3,𝐴𝑖 為第 i 次的正確率。 因為交叉驗證的需求將資料集切割為三等份,總正確率算法如下: 𝐴 =. ∑𝑖=3 𝑖=1 𝐴𝑖 3. (11). 𝐴為交叉驗證的總正確率。. 下圖該實驗結果,其中 NPP_LBP 為無前處理,特徵擷取使用 LBP,PP_LBP 為有前處理,特徵擷取使用 LBP,NPP_LBP-like 為無前處理,特徵擷取使用 LBP-like,PP_LBP-like 為有前處理,特徵擷取使用 LBP-like。. 49.

(52) 100 90 80 70 60 正確率% 50. 實驗1-1(NPP_LBP). 40. 實驗1-2(PP_LBP). 30. 實驗1-3(NPP_LBP-like). 20. 實驗1-4(PP_LBP-like). 10 0. 影像大小. 圖 26 靜態測試採用一次性取完人臉集資料庫 從結果觀察得知,4 種實驗正確率極為相似,但是用本論文的方法有些微的改 善,因為此資料集的特性所以在不同演算法的情況下正確率都會不錯,並且在 影像大小為 96x128 之後的正確率會趨近於相等,代表我們只需要用到最大影像 為 96x128 即可達到權衡點。. 接著探討的是靜態測試採多次性取完人臉集資料庫的部分,下面會列出四 種實驗的結果圖,並且每次採用交叉驗證,所以將人臉資料集切割成三等份, 其中 3 分之 2 當做訓練集,剩下的 3 分之 1 做為測試集,由於切成三等份,所 以會有三次正確率,計算方法如下: 𝐴𝑖 =. 判斷錯誤的張數 總測試張數. × 100%. (12). 其中, 測試總張數為 880 張(44 × 20),i 為 1~3,𝐴𝑖 為第 i 次的正確率。 50.

(53) 因為交叉驗證的需求將資料集切割為三等份,總正確率算法如下: 𝐴 =. ∑𝑖=3 𝑖=1 𝐴𝑖 3. (13). 𝐴為交叉驗證的總正確率。. 下圖該實驗結果,其中 NPP_LBP 為無前處理,特徵擷取使用 LBP,PP_LBP 為有前處理,特徵擷取使用 LBP,NPP_LBP-like 為無前處理,特徵擷取使用 LBP-like,PP_LBP-like 為有前處理,特徵擷取使用 LBP-like。. 90 80 70. 60 50. 正確率%. 實驗2-1(NPP_LBP) 40. 實驗2-2(PP_LBP). 30. 實驗2-3(NPP_LBP-like). 20. 實驗2-4(PP_LBP-like). 10 0. 影像大小. 圖 27 靜態測試採多次性取完人臉集資料庫 從實驗結果得知,用了本論文所提的 PP 與 noise-resilient LBP 演算法(實驗 2-4) 後其正確率有明顯的上升,並且在影像大小為 96x128 之後可達權衡點,此時正 確率為 84.55%。 51.

(54) 2.動態測試實驗結果 根據靜態測試-採用多次性取完人臉集與靜態測試-採用一次性取完人臉集的實 驗結果與分析發現,在使用本論文的演算法流程後其正確率都有明顯上升,2 個實驗中絕大多數都是在影像 size 為 96x128 之後的正確率會趨近於相等,但 有些大於 96x128 的會稍微下降,但並不適下降太多,下降的原因可能是因為由 於圖像太精細而導致在訓練的過程中造成 overfitting,並且就實驗 2-4 與 1-4 來 看,size 為 96x128 時都有最高的正確率,由於本論文優先考量為在不失正確率 的情況下還能有較好的正確率,因而在本小節實驗中,會使用本論文的影像前 處理演演算法與 LBP-like 以及 size 為 96x128 做為實驗參數,資料庫使用多次 性取完人臉集資料庫。 此部分正確率算法為,在即時取得測試集時,輸入 f 張影像,用多數決定的方 式,看這些 f 張測試影像中,屬於哪個訓練集的某群最多,那就說這個測試者 身分為誰。 舉例來說,假設輸入測試影像為 5 張,其中 3 張判斷為 A 使用者,1 張判斷為 B 使用者,1 張判斷為 C 使用者,此時 A 得票率最高,那就可以說該測試者身 分為 A 使用者。 在本實驗中,f 設為 5,10,15,20,25,30。 此部分為兩種如圖 28 所示,第一種為人臉在測試時其臉對準(aligment)手機畫 52.

(55) 面上的紅線,使紅線要在雙眼之間,判別式如式(14): 滿足 𝑑𝐿 − 𝑑𝑅 <. 𝑑𝐿 +𝑑𝑅 10. (14). 其中𝑑𝐿 為左邊眼睛中心點到螢幕上紅線的距離,𝑑𝑅 為右邊眼睛中心點到螢幕上 紅線的距離。 第二種(non-aligment)則可以稍微有誤差,判別式如下式(15): 滿足 𝑑𝐿 − 𝑑𝑅 <. 𝑑𝐿 +𝑑𝑅 5. (15). 其中𝑑𝐿 為左邊眼睛中心點到螢幕上紅線的距離,𝑑𝑅 為右邊眼睛中心點到螢幕上 紅線的距離。. 圖 28 aligment 與 non-aligment 示意圖. 53.

(56) 正確率如下圖 29 所示 100 90 80 70 60 正確率% 50. aligment. 40. non-aligment. 30 20 10 0 5. 10. 15. 20. 25. 30. 測試影像張數. 圖 29 動態測試實驗結果. 從結果觀察可發現,在測試影像 10 張以前,有對準(aligment)的其況下正確率 會比較高,沒對準(non-aligment)會較低,但隨著測試張數越來越多,其正確率 會趨近於相等,從觀使用者可以發現在使用有對準(aligment)的情況下,限制條 件會較為嚴格,使用者必須要去對準紅線,而沒對準(non-aligment)因為限制條 件較為寬鬆,所以使用者會慢慢的讓自己的臉在區域內,所以才會導致一開始 正確率較低,但隨著使用者自己調整(測試影像越多張),其正確率就會趨近於 有對準(aligment)的情形。. 54.

(57) 3.權重測試 本測試要探討的是在每個特定時間去得的人臉集情況下,有加入權重與沒 加入權重的情形下的差別性,個別會有 7 個正確率(w1~w7),第一個為使用第 一個時間點的人臉作為訓練集,第 8~11 時間點作為測試集,第二個為使用的 1~2 個時間點的人臉作為訓練集,第 8~11 時間點作為測試集,以此類推,其正 確率如圖 29: 100 90 80. 70 60 正確率% 50. Variable-weight. 40. Fix-weight. 30 20 10 0 1. 2. 3. 4. 5. 6. 7. 訓練集個數(採用的星期數量). 圖 30 權重測試正確率 從結果觀察可以發現,有調整權重的情況下(越後面輸入的訓練集使其權重越高) 的正確率會高於固定權重的正確率,這點符合實際使用情況,因為如果越後面 得到的使用者人臉,代表跟目前要測試的使用者人臉會較為相像,所以讓越後 面得到的使用者人臉權重升高的話,其正確率也會提高。. 55.

(58) 第五節. 討論與分析. 本節將會對第四節所得到的實驗數據做分析,分成下列四個小節進行探 討。. 4.5.1 1.. 靜態測試-採用一次性取完人臉集. 針對有(實驗 1-1)無(實驗 1-2)前處理的情況下,特徵使用 LBP 的分析 實驗 1-1 正確率最高的為大小為 144x192 與 168x224 的 99.39%,並且 從實驗數據圖上來看從 72x96 之後的正確率就已經趨近為相等,而實驗 1-2 為實驗 1-1 加了影像前處理後的實驗,正確率最高的為大小為 168x224 的 99.33%,並且與實驗 1-1 一樣在 72x96 後的小大其正確率也已經趨近於相 等,所以實驗 1-1 與 1-2 在使用靜態測試-採用一次性取完人臉集的資料庫 下無法證明本論文使用的影像前處理在人臉辨識上的正確率提升。. 2.. 針對有(實驗 1-3)無(實驗 1-4)前處理的情況下,特徵使用 LBP-like 的分析 實驗 1-3 正確率最高的為大小為 96x128 的 99.39%,並且從實驗數據 圖上來看從 72x96 之後的正確率就已經趨近為相等,而實驗 1-4 為實驗 1-3 加了影像前處理後的實驗,正確率最高的為大小為 96x128 的 99.51%,並 且與實驗 1-3 一樣在 72x96 後的小大其正確率也已經趨近於相等,所以實 驗 1-3 與 1-4 在使用靜態測試-採用一次性取完人臉集的資料庫下無法證明 本論文使用的影像前處理在人臉辨識上的正確率提升。. 3.. 針對特徵取法為 LBP(實驗 1-2)與 LBP-like(實驗 1-4)的差別作分析 56.

(59) 實驗 1-2 與實驗 1-4 的差別在於 1-4 使用的特徵擷取為 LBP-like,實驗 1-3 正確率最高的為大小為 168x224 的 99.33%,並且從實驗數據圖上來看 從 72x96 之後的正確率就已經趨近為相等,而實驗 1-4 正確率最高的為大 小為 96x128 的 99.51%,並且與在實驗 1-2 一樣在 72x96 後的小大其正確 率也已經趨近於相等,但是實驗 1-4 影像 size 小的情況下正確率還能較高, 所以本論文所使用的 LBP-like 在使用靜態測試-採用一次性取完人臉集的 資料庫下有些微的感善,但改善影效益不大。 4.. 總結 由於使用的是靜態測試-採用一次性取完人臉集的資料庫,而這資料庫 強調的是多量的考量,也就是說目的要能辨識出多位使用者,但取訓練集 的次數只有一次,所以每個人的人臉集變化不會太大,所以在本部分的實 驗上不會有太大的差距,但是根據實驗結果還是可以觀察出套用本論文方 法後有一些改善。. 5.. 錯誤討論 根據一次性取完人臉集的特性,訓練集的每個人的人臉集其變化是不 會太大,所以這部分的實驗結果都是不錯的,正確率大都落在 99%,但還 是會有一些錯誤的測試集,這邊將一部分取出來做討論,錯誤人臉集如下 圖 30:. 57.

(60) 正 常. 錯 誤. 圖 31 錯誤的測試 由上圖 30 觀察可見,錯誤的人臉集通常為: . 表情跟大部分其他張很不同。. . 剛好閉上眼睛的瞬間被系統將人臉擷取出來。. 但是這是特例的情況,因為本實驗要求使用者在訓練跟測試時盡量不要有 表情,並且因為本實驗所使用的特徵擷取方法,所以如果閉眼或是表情變 化過大,會造成取的值有明顯的不同,因為 LBP 是跟每個像素值得周圍做 比較,來取得一連串的特徵值。. 4.5.2 1.. 靜態測試-採用多次性取完人臉集. 針對有(實驗 2-1)無(實驗 2-2)前處理的情況下,特徵使用 LBP 的分析 實驗 2-1 正確率最高的為大小為 96x128 的 70.25%,並且從實驗數據 圖上來看從 96x128 之後的正確率就已經趨近為相等,而實驗 2-2 為實驗 58.

(61) 2-1 加了影像前處理後的實驗,正確率最高的為大小為 240x320 的 76.74%, 並且與實驗 2-1 一樣在 96x128 後的小大其正確率也已經趨近於相等,所以 實驗 2-1 與 2-2 在使用靜態測試-採用多次性取完人臉集的資料庫下可以發 現在臉辨識上的正確率有些微的提升。 2.. 針對有(實驗 2-3)無(實驗 2-4)前處理的情況下,特使用 LBP-like 的分析 實驗 2-3 正確率最高的為大小為 96x128 的 73.4%,並且從實驗數據圖 上來看從 96x128 之後的正確率就已經趨近為相等,而實驗 2-4 為實驗 2-3 加了影像前處理後的實驗,正確率最高的為大小為 96x128 的 84.5%,並且 與實驗 2-3 一樣在 96x128 後的小大其正確率也已經趨近於相等,所以實驗 2-3 與 2-4 在使用靜態測試-採用多次性取完人臉集的資料庫下可以發現本 論文使用的影像前處理在人臉辨識上的正確率提升。. 3.. 針對特徵取法為 LBP(實驗 2-2)與 LBP-like(實驗 2-4)的差別作分析 實驗 2-2 與實驗 2-4 的差別在於 2-4 使用的特徵擷取為 LBP-like,實驗 2-3 正確率最高的為大小為 240x320 的 76.4%,並且從實驗數據圖上來看從 96x128 之後的正確率就已經趨近為相等,而實驗 2-4 正確率最高的為大小 為 96x128 的 84.55%,並且與在實驗 2-2 一樣在 96x128 後的小大其正確率 也已經趨近於相等,但是實驗 2-4 影像 size 小的情況下正確率還能較高, 所以本論文所使用的 LBP-like 在使用靜態測試-採用多次性取完人臉集資 料庫下正確率有明顯的上升。 59.

(62) 4.. 總結 由於使用的是靜態測試-採用多次性取完人臉集資料庫,而這資料庫強 調的是品質的考量,也就是說目的要可以判斷同一位使用者在不同環境進 行測試,但是總使用人數是較少的,所以每個人的人臉集變化會較為明顯, 所以在本實驗上可以發現使用本論文的方法後正確率有明顯的提升。. 5.. 錯誤討論 根據多次性取完人臉集的特性,訓練集的每個人的人臉集其變化會根 據訓練的時間不同而有所變化,所以這部分的實驗結果會稍微比一次性取 完人臉集的正確率還低一些,最高約 84%左右,這邊將一部分的錯誤人臉 取出來做討論,錯誤人臉集如下圖 31:. 正 常. 錯 誤. 圖 32 錯誤的測試集. 60.

(63) 由於是多次性取人臉當成訓練集,所以在取影像時會不同的地方如下: (1) 背景:每次人臉所在的背景可能會有所不同,導致於可能造成特徵誤判, 雖然本論文有用切割區塊分權重的方式來降低背景所造成的影響,但 由於切割區塊為矩形,所以有些區域無法考慮到,導致在取 LBP 特徵 時取錯,所以還是會造成些微的誤判。 (2) 光線:根據取訓練人臉時間的不同,光線也會有所不同,但透過本論文 的演算法流程,此問題不會造成太大的影響。 (3) 表情:剛好閉上眼睛的瞬間被系統將人臉擷取出來,但是這是特例的情 況,因為本實驗要求使用者在訓練跟測試時盡量不要有表情,並且因 為本實驗所使用的特徵擷取方法,所以如果閉眼或是表情變化過大, 會造成取的值有明顯的不同,因為 LBP 是跟每個像素值得周圍做比較, 來取得一連串的特徵值。 (4) 過曝:一開啟系統時,就會馬上開啟前鏡頭,但由於光線過強,硬體的 感光元件還無法適應光線,就會造成影像過亮,這問題只需要等個幾 秒讓鏡頭適應光線便可以解決。 這部分會錯誤是因為過曝的影像,通常會使大部分的輪廓,紋理消失, 而這兩種人臉特徵又是主要的人臉辨識依據,所以會造成後面的特徵 擷取取出來的結果是錯誤的。. 61.

(64) 4.5.3 即時取得測試影像 從動態實驗的實驗結果來看,有對準(aligment)手機螢幕上的紅線跟沒對準 (non-aligment)時的正確率在輸入測試影像為 5 張時差別會比較多,有對準的明 顯正確率比較高,接著在 10~15 張測試影像時會趨近於相等,16~25 時有對準 的又會比較高,最後則又趨近於相等,從兩者的正確率觀察可得知,在一開始 時才會差別比較大,後面則會越來越小,但是要經過 25 張以後才會趨近於相等, 因為該實驗的目的是找到在真實使用時使用者須盯著螢幕多長的時間才能成功 辨識,如果用不用對準當作真實使用的情形可能會造成使用者等待時間過長, 所以由實驗結果我們選擇對準的方式當作實際使用情形,並解取輸入 15 張用來 投票決定該使用者的身分,在本實驗中處理一張影像時間約 0.13 秒。. 4.5.4 權重測試 從實驗結果來看,可以發現在只取前兩個星期的人臉當作訓練資料集時, 正確率會趨近於相等,但是有加入權重的會稍微高一些,隨著採用的星期量越 多,越可以發現有加入權重的正確率會呈現上升的情形,這點符合實際的使用 狀況,因為越後面取得的影像會跟使用者當下的長相較為接近,所以如果越後 面的星期所採用的人臉讓他權限高一些,則其正確率是會上升的。. 62.

(65) 第五章 第一節. 結論. 結論. 本論文實作出一個於手機上使用人臉辨識的應用程式權限控管,經由手機 前鏡頭取得影像,在擷取出人臉,接著套用本研究所提出之演算法流程,再用 兩種需求考量的資料庫下去做驗證,皆可以證明本論文之方法可用性。 在過去研究中,人臉辨識已經趨近於成熟,但是往往其限制都是為需要使 用者將臉靠在某儀器上,並且需要高解析度,並擁有效能良好的 server 端做運 算來達到即時辨識,而本實驗的設備為任何手機或平板,也就是說效能不會太 好,但經由本論文所提出之演算法,在手機或平板上所用的低解析度前鏡頭還 是能達到即時辨識且不失正確率。 並且考慮到實際的使用其況,手機如果一開啟就到資料庫載入過多資料, 會造成速度變慢,造成使用上的困擾,所以本論文使用一個特徵分類的分法, 將眾多特徵中拿取最具有代表性的特徵,這樣不但速度上升,並且辨識的時間 也會減少,另一方面,由於考慮到實際使用狀況,該系統會固定一段時間就跟 使用者索取人臉當作訓練集,並讓越晚輸入的人臉集權重增加,這樣一來不但 增加安全性,經過實驗的驗證這一點也增加了辨識率。. 63.

(66) 第二節. 未來展望. 本論文提出的方法還是有其限制,像是辨識與訓練時人臉都要在系統劃出 的橢圓形區域內,並讓雙眼中間在紅色中線上,且上下左右不可偏移過大,光 線不可差異過多,因為是用於手機或平板上,所以這些限制會使使用者覺得不 方便,所以這些都是本研究日後要克服的問題。 隨機手持智慧型裝置的普及,以及其安全需求,用人臉辨識來控管手機應用程 式必定會更為實用以及安全。 (1) 個人:可以設定讓某些應用程式開啟時需要人臉認證,像是密碼解鎖,筆劃 解鎖,圖形解鎖,都有可能遭別人記下方式,而人臉是特有的生理特徵, 所以會比較安全,且不需要使用者花心思去記東西。 (2) 多人:舉例來說,現在許多學校是所有班級共用一批平板電腦,此時不同班 級的老師就可以設定某些特定應用程式學生才能使用,進而達到權限控管 的效果。. 64.

(67) 參考文獻 [1]H. Arof, F. Ahmad, and N. M. Shah, "Face localization for facial features extraction using a symmetrical filter and linear Hough transform," Artificial Life and Robotics vol. 12, pp. 157-160 2008. [2]R. Brunelli and T. Poggio, "Face recognition: features versus templates," in IEEE Transactions on Pattern Analysis and Machine Intelligence, 1993, pp. 1042-1052. [3]L. Chen, S. o. Comput, S. Eng, B. Univ, C. Beijing, Y.-H. Wang, et al., "Face recognition with statistical Local Binary Patterns," in International Conference on Machine Learning and Cybernetics, Baoding, 2009, pp. 2433 - 2439. [4]E. H. Han and G. K. a. V. Kumar, Text categorization using weight adjusted k-Nearest Neighbor classification, Pacific-Asia Conference on Knowledge Discovery and Data Mining, 2001. [5]K. Etemad and R. Chellappa, "Discriminant Analysis for Recognition of Human Face Images," Journal of the Optical Society of America A, vol. 14, pp. 1724-1733, 1997. [6]P. Hong, S. o. Autom, S. Univ, C. Nanjing, X. Si-Yu, J. Li-Zuo, et al., "Illumination invariant face recognition based on improved Local Binary 65.

(68) Pattern," in Control Conference (CCC), 2011 30th Chinese, Yantai, 2011, pp. 3268 - 3272. [7]C. Lin, "Face detection in complicated backgrounds and different illumination conditions by using YCbCr color space and neural network," Pattern Recognition Letters, vol. 28, pp. 2190-2200, 2007. [8]Y. Liu and Y. Jia, "A Robust Hand Tracking and Gesture Recognition Method for Wearable Visual Interfaces and Its Applications," in IEEE First Symposium on Multi-Agent Security and Survivability, 2004, pp. 472-475. [9]K. M, Kryszczuk, and A. Drygajło, "Color correction for face detection based on human visual perception metaphor," in in Proc. of the Workshop on Multimodal User Authentica-tion, 2003, pp. 138--143. [10]J. B. MacQueen, "Some Methods for classification and Analysis of Multivariate Observations," ed: Proc. Fifth Berkeley Symp. on Math. Statist. and Prob, 1967, pp. 281-297. [11]J. Meng, S. o. C. S. Technol, D. Dalian Univ. of Technol., China, Y. Gao, X. Wang, and T. Lin, "Face Recognition based on Local Binary Patterns with Threshold," in 2010 IEEE International Conference on Granular Computing (GrC), San Jose, CA, 2010, pp. 352 - 356. [12]W. R.P, S. Corp, and N. Princeton, "Iris recognition: an emerging biometric 66.

(69) technology," in Proc.IEEE (Special Issue on Automated Biometrics), 1997, pp. 1348-1363. [13]K. M. b. Saipullah, A. Anuar, N. A. b. Ismail;, and Y. Soo, "Real-time video processing using native programming on Android platform," in Signal Processing and its Applications (CSPA), Melaka, 2012, pp. 276 - 281. [14]Timo Ahonen, Student;Abdenour, and H. M. Pietika¨inen, "Face Description with Local Binary Patterns: Application to Face Recognition," IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 2037 - 2041, 2006. [15]O. M. Timo, PietikaÈ inen;Topi MaÈ enpaÈ a;, "Multiresolution gray-scale and rotation invariant texture classification with local binary patterns," IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 971 - 987, 2002. [16]M. Turk and A. Pentland, "Eigenfaces for recognition," in IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Maui, HI, 1991, pp. 586-591. [17]P. Viola and M. J. Jones, "Robust real-time face detection," International journal of computer vision, vol. 57, pp. 137-154, 2004. [18]A. Wahab, S.H.Chin, and E. C. Tan, "Novel approach to automated fingerprint recognition," in Vision, Image and Signal Processing, 1998, pp. 160 - 166. 67.

(70) [19]M.-H. Yang, D. Kriegman, and N. Ahuja, "Detecting faces in images: a survey," in IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, pp. 34-58.. 68.

(71)

參考文獻

相關文件

- A viewing activity on the positive attitude towards challenges, followed by a discussion on the challenges students face, how to deal with.

Tekalp, “Frontal-View Face Detection and Facial Feature Extraction Using Color, Shape and Symmetry Based Cost Functions,” Pattern Recognition Letters, vol.. Fujibayashi,

Trace of display recognition and mental state inference in a video labelled as undecided from the DVD [5]: (top) selected frames from the video sampled every 1 second; (middle) head

Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp... Annealed

Soille, “Watershed in Digital Spaces: An Efficient Algorithm Based on Immersion Simulations,” IEEE Transactions on Pattern Analysis and Machine Intelligence,

Zhang, “A flexible new technique for camera calibration,” IEEE Tran- scations on Pattern Analysis and Machine Intelligence,

When? Where? What? A Real-Time System for Detecting and Tracking People.’’ Proc. International Conference on Face and Gesture Recognotion, April, pp. Pentland, “Pfinder:

Jones, &#34;Rapid Object Detection Using a Boosted Cascade of Simple Features,&#34; IEEE Computer Society Conference on Computer Vision and Pattern Recognition,