?

基于Matlab的人臉識別實現

2020-10-21 12:24趙宇
大東方 2020年3期
關鍵詞:人臉識別

趙宇

摘 要:人臉識別是模式識別和機器視覺領域非常重要的一個課題,具有重要的理論價值和廣泛的應用場景。采用人臉識別演繹模式識別和機器視覺中一些重要的概念和算法,能夠使學生理論聯系實際,培養利用理論知識解決實際工程問題的能力。利用 Matlab GUI 組件,設計實現了能夠與用戶交互人臉識別教學平臺,其中包括圖像讀寫,預處理,特征提取和特征匹配等模塊,較好的展示了人臉識別的主要步驟,使學生直觀的掌握人臉識別的相關概念、理論和算法。

關鍵詞:人臉識別;Matlab;GUI

一、緒論

1.1 ?研究背景

在進行人工智能的研究中,人們一直想做的事情就是讓機器具有像人類一樣的思考能力,以及識別事物、處理事物的能力,因此從解剖學、心理學、行為感知學等各個角度來探求人類的思維機制、以及感知事物、處理事物的機制,并努力將這些機制用于實踐,如各種智能機器人的研制。人臉圖像的機器識別研究就是在這種背景下興起的,因為人們發現許多對于人類而言可以輕易做到的事情,而讓機器來實現卻很難,如人臉圖像的識別,語音識別,自然語言理解等。如果能夠開發出具有像人類一樣的機器識別機制,就能夠逐步地了解人類是如何存儲信息,并進行處理的,從而最終了解人類的思維機制。

同時,進行人臉圖像識別研究也具有很大的使用價依。如同人的指紋一樣,人臉也具有唯一性,也可用來鑒別一個人的身份?,F在己有實用的計算機自動指紋識別系統面世,并在安檢等部門得到應用,但還沒有通用成熟的人臉自動識別系統出現。人臉圖像的自動識別系統較之指紋識別系統、DNA鑒定等更具方便性,因為它取樣方便,可以不接觸目標就進行識別,從而開發研究的實際意義更大。并且與指紋圖像不同的是,人臉圖像受很多因素的干擾:人臉表情的多樣性;以及外在的成像過程中的光照,圖像尺寸,旋轉,姿勢變化等。使得同一個人,在不同的環境下拍攝所得到的人臉圖像不同,有時更會有很大的差別,給識別帶來很大難度。因此在各種干擾條件下實現人臉圖像的識別,也就更具有挑戰性。

國外對于人臉圖像識別的研究較早,現己有實用系統面世,只是對于成像條件要求較苛刻,應用范圍也就較窄,國內也有許多科研機構從事這方而的研究,并己取得許多成果。

1.2 ?人臉圖像識別的應用前景

人臉圖像識別除了具有重大的理論價值以及極富挑戰性外,還其有許多潛在的應用前景,利用人臉圖像來進行身份驗證,可以不與目標相接觸就取得樣本圖像,而其它的身份驗證手段,如指紋、眼睛虹膜等必須通過與目標接觸或相當接近來取得樣木,在某些場合,這些識別手段就會有不便之處。

1.3 ?識別系統的構成

人類似乎具有“與生俱來”的人臉識別能力,賦予計算機同樣的能力是人類的夢想之一,這就是所謂的“人臉識別”系統。假設我們把照相機、攝像頭、掃描儀等看作計算機的“眼睛”,數字圖像可以看作計算機觀察到的“影像”,那么AFR賦予計算機根據其所“看到”的人臉圖片來判斷人物身份的能力。

1.3.1 ?人臉圖像的獲取

一般來說,圖像的獲取都是通過攝像頭攝取,但攝取的圖像可以是真人,也可以是人臉的圖片或者為了相對簡單,可以不考慮通過攝像頭來攝取頭像,而是直接給定要識別的圖像。

1.3.2 ?人臉的檢測

人臉檢測的任務是判斷靜態圖像中是否存在人臉。若存在人臉,給出其在圖像中的坐標位置、人臉區域大小等信息。而人臉跟蹤則需要進一步輸出所檢測到的人臉位置、大小等狀態隨時間的連續變化情況。

1.3.3 ?特征提取

通過人臉特征點的檢測與標定可以確定人臉圖像中顯著特征點的位置(如眼睛、眉毛、鼻子、嘴巴等器官),同時還可以得到這些器官及其面部輪廓的形狀信息的描述。

根據人臉特征點檢測與標定的結果,通過某些運算得到人臉特征的描述(這些特征包括:全局特征和局部特征,顯式特征和統計特征等)。

二、圖像處理的Matlab實現

圖像是人類獲取信息、表達信息和傳遞信息的重要手段。利用計算機對圖像進行去除噪聲、增強、復原、分割、提取特征等的理論、方法和技術稱為數字圖像處理。數字圖像處理技術已經成為信息科學、計算機科學、工程科學、地球科學等諸多方面的學者研究圖像的有效工具。數字圖像處理主要包括圖像變換、圖像增強、圖像編碼、圖像復原、圖像重建、圖像識別以及圖像理解等內容。

2.1 ?圖像處理的基本操作

讀取和顯示圖像可以通過imread()和imshow()來實現;圖像的輸出用imwrite()函數就可以很方便的把圖像輸出到硬盤上;另外還可以用imcrop()、imrisize()、imrotate()等來實現圖像的裁剪、縮放和旋轉等功能。

2.2 ?圖像類型的轉換

Matlab支持多種圖像類型,但在某些圖像操作中,對圖像的類型有要求,所以要涉及到對圖像類型進行轉換。Matlab圖像處理工具箱為我們提供了不同圖像類型相互轉換的大量函數,如mat2gray()函數可以將矩陣轉換為灰度圖像,rgb2gray()轉換RGB圖像或顏色映像表為灰度圖像。在類型轉換的時候,我們還經常遇到數據類型不匹配的情況,針對這種情況,Matlab工具箱中,也給我們提供了各種數據類型之間的轉換函數,如double()就是把數據轉換為雙精度類型的函數。

2.3 ?圖像增強

圖像增強的目的是為了改善圖像的視覺效果,提高圖像的清晰度和工藝的適應性,以及便于人與計算機的分析和處理,以滿足圖像復制或再現的要求。圖像增強的方法分為空域法和頻域法兩大類,空域法主要是對圖像中的各個像素點進行操作;而頻域法是在圖像的某個變換域內對整個圖像進行操作,并修改變換后的系數,如傅立葉變換、DCT變換等的系數,然后再進行反變換,便可得到處理后的圖像。

2.4 ?邊緣檢測

數字圖像的邊緣檢測是圖像分割、目標區域識別、區域形狀提取等圖像分析領域十分重要的基礎,也是圖像識別中提取圖像特征的一個重要屬性。邊緣檢測算子可以檢查每個像素的鄰域并對灰度變化率進行量化,也包括對方向的確定,其中大多數是基于方向導數掩模求卷積的方法。常用的有Sobel算子,Prewitt算子,Roberts算子,Log算子等。Matlab工具箱中提供的edge()函數可以進行邊緣檢測,在其參數里面,可以根據需要選擇合適的算子及其參數。

(作者單位:河北大學 生命科學學院)

猜你喜歡
人臉識別
人臉識別的“國標”來了
中科視拓開放商業版本人臉識別算法
人臉識別好用但不能濫用
榮耀暢玩7C:人臉識別
iPhoneX來了!
“人臉識別”人工智能測謊儀研發成功
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合