淺談基于PCA算法的人臉識別的圖片搜索引擎論文
人臉識別算法是指在檢測到人臉并定位面部關(guān)鍵特征點(diǎn)之后,主要的人臉區(qū)域就可以被裁剪出來,經(jīng)過預(yù)處理之后,饋入后端的識別算法。識別算法要完成人臉特征的提取,并與庫存的已知人臉進(jìn)行比對,完成最終的分類。以下是學(xué)習(xí)啦小編為大家精心準(zhǔn)備的:淺談基于PCA算法的人臉識別的圖片搜索引擎相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
淺談基于PCA算法的人臉識別的圖片搜索引擎全文如下:
1 概述
搜索引擎完成的主要功能是關(guān)鍵詞的匹配及網(wǎng)絡(luò)上節(jié)點(diǎn)的遍歷查找,而本文針對人臉識別的圖片搜索引擎同樣利用特征匹配實(shí)現(xiàn)以人臉找相似人臉的搜索引擎。本文對人臉識別算法的分析主要從主成分分析法(PCA)入手,對其中的缺陷進(jìn)行改進(jìn)并應(yīng)用于人臉圖片搜索引擎的實(shí)現(xiàn)中。在主成分分析法中利用降維的思想提取主要特征,經(jīng)過線性變換及奇異值分解得到特征向量從而得到特征臉。在搜索引擎的實(shí)現(xiàn)中主要利用的是在網(wǎng)絡(luò)上節(jié)點(diǎn)的遍歷以找到匹配信息并顯示的技術(shù)。
2人臉識別算法的分析
人臉識別算法的重點(diǎn)在于對于圖片的特征提取和分析,一張圖片的分辨率決定了圖片劃分的精度,為了提取有效特征,比如眼、口、鼻,可以將整張圖像利用橫縱軸劃分,利用多幅圖片,提取特征形成特征向量,表征標(biāo)準(zhǔn)人臉的組成。本次使用ORL人臉數(shù)據(jù)庫作為樣本進(jìn)行PCA算法的驗(yàn)證及分析。
2.1基于PCA人臉識別算法的分析
PCA(主成分分析)和LDA(線性鑒別分析)是兩種降維方法,經(jīng)過基本的測試和分析,PCA算法對于圖片識別的正確性很高,對于人臉表情和輕微顫抖也有很好的健壯性(本文的測試實(shí)驗(yàn)建立在ORL人臉庫上)。
P C A 方法由T u r k 和P e n t l a d 提出, 它是基于Karhunen-Loeve變換(即K-L變換),主要用于建模方法中常用的數(shù)據(jù)降維,由于一幅圖像由像素組成,基于像素在行列方向上的劃分形成矩陣或看成一個矢量,構(gòu)成原始的圖像空間,因此PCA算法同樣也應(yīng)用于人臉識別的領(lǐng)域——PCA算法在處理人臉等圖像識別問題時,遵循如下過程:將圖像矩陣轉(zhuǎn)化為圖像向量,對原始圖像向量進(jìn)行線性分析標(biāo)準(zhǔn)化后得到標(biāo)準(zhǔn)化矩陣根據(jù)方差確定影響最大的向量即為第一主成分類似前面過程得到第二主成分以此類推。完整的人臉識別的過程包括:讀入人臉庫;形成特征臉(即特征向量)子空間,對圖像進(jìn)行降維獲取特征值,把兩組圖像投影到由K-L變換得到的子空間上,利用對圖像的這種投影間的某種度量來確定圖像間的相似度;選擇一定的距離函數(shù)進(jìn)行識別。提取主要的特征向量進(jìn)行圖像重建,根據(jù)圖像重建結(jié)果得出相似程度與提取原始圖像向量的關(guān)系。
2.2對于不同條件對特征提取的影響
2.2.1依據(jù)圖像重建,得出利用特征向量的多少及原始圖片的成像清晰度(包括角度、光線、傾斜程度)都對重建結(jié)果有很大影響。這是人臉識別的關(guān)鍵性問題,本文通過圖片預(yù)處理來解決一部分問題,比原先未處理的圖片重建效果好了很多,擬合性也高了很多。
2.2.2對于PCA算法,要求訓(xùn)練集必須大于測試集。即要搜索的人臉圖片必須在數(shù)據(jù)庫中存在至少一張圖片才能得到好的重建效果,否則不能實(shí)現(xiàn)。PCA算法可以對訓(xùn)練樣本內(nèi)的圖片重建效果很好。表示使用特征向量進(jìn)行人臉重建得出的一組人臉圖像。
第一、二組表示訓(xùn)練樣本中的重建結(jié)果,第三組表示訓(xùn)練樣本外的重建結(jié)果,從中可以看出,訓(xùn)練樣本內(nèi)的效果在特征向量大于等于100時基本得到了很好的重建效果,基本還原原始圖片,而訓(xùn)練樣本外重建的效果只能得到關(guān)鍵部位例如五官的大致位置和形狀,重建效果不是特別好。
2.3基于影響因素對PCA算法的改進(jìn)
通過增加訓(xùn)練,集中不同人臉圖片的數(shù)量,增加關(guān)鍵部位例如五官的豐富性,使獲得的平均臉更具有廣泛性和代表性,對于不同圖片的外在差異性通過圖片預(yù)處理(例如:灰度處理)從而產(chǎn)生顏色、紋理差異性較小的圖片,再使用PCA算法進(jìn)行降維得到的特征向量來重建的人臉圖片具有更好的擬合性,如此得到的特征向量相比沒有做預(yù)處理圖片有較好的重建效果。
3 Ubuntu下搜索引擎的搭建
3.1準(zhǔn)備工作
為了提高安全性,由于Ubuntu系統(tǒng)下可選擇用戶權(quán)限使得人臉庫的可靠性更高,本文選擇在Ubuntu下完成人臉?biāo)阉饕娴膶?shí)現(xiàn)。在Ubuntu系統(tǒng)下通過命令行下載安裝CMake、OpenCV,同時利用CMake對OpenCV進(jìn)行編譯;配置php的imagick-3.2.擴(kuò)展和imagemagick擴(kuò)展為圖片處理做準(zhǔn)備,再配置好face_detect即php使用OpenCV的擴(kuò)展函數(shù);由于使用PHP作為開發(fā)環(huán)境,下載安裝LAMP(Linux、Apache、Mysql和PHP),將搭建搜索引擎的環(huán)境配置好。
3.2前臺設(shè)計
搜索引擎主要以網(wǎng)頁的形式與用戶交互,是與用戶交互的接口的主要界面,主要有以下功能:實(shí)現(xiàn)人臉圖片的檢索和匹配功能(button、input元素),同時可以從本地上傳圖片(可預(yù)覽)至網(wǎng)頁客戶端(input元素),使得本地圖片與系統(tǒng)中相似圖片得以匹配并顯示給用戶。設(shè)計框架搭建前臺界面,利用html、css與JS語言實(shí)現(xiàn)界面設(shè)計,html和css完成界面風(fēng)格設(shè)計,JS實(shí)現(xiàn)動態(tài)頁面效果(例如預(yù)覽圖片的動態(tài)顯示等),布局主要采用分欄形式,整體風(fēng)格簡約便于用戶使用。
3.3后臺實(shí)現(xiàn)
基于代碼的后臺主要使用php語言實(shí)現(xiàn)具體功能,包括:實(shí)現(xiàn)人臉圖片的檢索和匹配功能,同時可以從本地上傳圖片至網(wǎng)頁客戶端且用戶可以預(yù)覽,通過用戶點(diǎn)擊搜索按鈕使得本地圖片與網(wǎng)絡(luò)中相似圖片得以匹配并將匹配圖片顯示給用戶。
通過spider技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)上html文檔的遍歷,可采用廣度優(yōu)先算法——在訪問一個網(wǎng)絡(luò)節(jié)點(diǎn)后一次訪問相鄰的網(wǎng)絡(luò)節(jié)點(diǎn)直到將網(wǎng)絡(luò)中所有節(jié)點(diǎn)全部遍歷。對于圖片匹配與傳統(tǒng)的搜索引擎的文字匹配是類似的,利用PCA算法將圖片抽象成特征向量并與www中的html文檔中為圖片格式的元素進(jìn)行匹配,通過建立索引的方式實(shí)現(xiàn)人臉圖片的查找與匹配,從而顯示給用戶。
4 結(jié)語
本文主要探討如何用php語言來實(shí)現(xiàn)搜索引擎中人臉圖片識別匹配的功能。由于在Ubuntu系統(tǒng)中可以保障人臉信息的安全性,本文的搜索引擎實(shí)現(xiàn)在Ubuntu系統(tǒng)下完成。該搜索引擎中對于人臉識別部分使用了穩(wěn)定可靠的PCA算法,搜索引擎本身采用網(wǎng)絡(luò)爬蟲進(jìn)行索引匹配,雖然基礎(chǔ),但給用戶檢索人臉圖片帶來一定的方便,實(shí)現(xiàn)了圖片搜索、匹配等一些常用的功能,但是系統(tǒng)還可以進(jìn)一步完善。
由于現(xiàn)在信息大爆炸,在各個領(lǐng)域中對于信息的私有性有著很大的需求,因此,本次研究與實(shí)踐還有待進(jìn)一步完善:(1)檢索圖片不僅僅局限于人臉圖片,而擴(kuò)展為包括風(fēng)景、物品等圖片的檢索;(2)優(yōu)化PCA算法,使用基于PCA算法的優(yōu)化算法例如Eigenface(其方法基于本文研究的PCA算法),可能會得到更好的結(jié)果;(3)不僅僅局限在搜索引擎,可以擴(kuò)展到手機(jī)APP,使得人臉識別得到更好的應(yīng)用。