人臉面部特征提取技術(shù)的研究40FRT41畢業(yè)設(shè)計_第1頁
人臉面部特征提取技術(shù)的研究40FRT41畢業(yè)設(shè)計_第2頁
人臉面部特征提取技術(shù)的研究40FRT41畢業(yè)設(shè)計_第3頁
人臉面部特征提取技術(shù)的研究40FRT41畢業(yè)設(shè)計_第4頁
人臉面部特征提取技術(shù)的研究40FRT41畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、人臉面部特征提取技術(shù)的研究摘 要人臉識別技術(shù)(FRT)是當(dāng)今模式識別和人工智能領(lǐng)域的一個重要研究方向。雖然人臉識別的研究已有很長的歷史,各種人臉識別的技術(shù)也很多,但由于人臉屬于復(fù)雜模式而且容易受表情、膚色和衣著的影響, 目前還沒有一種人臉識別技術(shù)是公認(rèn)快速有效的本文主要討論了人臉識別技術(shù)的一些常用方法,對現(xiàn)有的人臉檢測與定位、人臉特征提取、人臉識別的方法進(jìn)行分析和討論,最后對人臉識別未來的發(fā)展和應(yīng)用做了展望。關(guān)鍵字:人臉識別,特征定位,特征提取ABSTRACTNowadays the face recognition technology (FRT) is a hot issue in the

2、 field of pattern recognition and artificial intelligenceAlthough this research already has a long history and many different recognition methods are proposed,there is still no effective method with low cost an d high precisionHuman face is a complex pattern an d is easily affected by the expression

3、,complexion and clothesIn this paper,some general research are discussed,including methods of face detection and location,features abstraction,and face recognitionThen we analyze and forecast the face recognitions application and its prospectsKeywords: Face Recognition Technology, Face location,F(xiàn)eat

4、ures abstraction第1章 緒 論所謂人臉識別,是指對輸入的人臉圖像或者視頻判斷其中是否存在人臉,如果存在人臉,則進(jìn)一步給出每張人臉的位置、大小和各個主要面部器官的位置信息。并且依據(jù)這些信息,進(jìn)一步提取每張人臉蘊含的身份特征,并將其與已知人臉庫中的人臉進(jìn)行對比,從而識別每張人臉的身份。人臉識別研究涉及的范圍廣泛,內(nèi)容涉及模式識別、計算機視覺、圖像處理、人工智能等方面。人臉識別還涉及到神經(jīng)網(wǎng)絡(luò)等學(xué)科, 也和人腦的認(rèn)識程度緊密相關(guān)。 這諸多因素使得人臉識別成為一項極富挑戰(zhàn)性的課題。1.1人臉識別技術(shù)的研究意義人臉識別是機器視覺和模式識別領(lǐng)域最富有挑戰(zhàn)性的課題之一,同時也具有較為廣泛的應(yīng)

5、用意義。人臉識別技術(shù)是一個非?;钴S的研究領(lǐng)域,它覆蓋了數(shù)字圖像處理、模式識別、計算機視覺、神經(jīng)網(wǎng)絡(luò)、心理學(xué)、生理學(xué)、數(shù)學(xué)等諸多學(xué)科的內(nèi)容。如今,雖然在這方面的研究已取得了一些可喜的成果,但是FRT在實用應(yīng)用中仍面臨著很嚴(yán)峻的問題,因為人臉五官的分布是非常相似的,而且人臉本身又是一個柔性物體,表情、姿態(tài)或發(fā)型、化妝的千變?nèi)f化都給正確識別帶來了相當(dāng)大的麻煩。如何能正確識別大量的人并滿足實時性要求是迫切需要解決的問題。1.2國內(nèi)外的研究現(xiàn)狀 人臉識別系統(tǒng)現(xiàn)在在大多數(shù)領(lǐng)域中起到舉足輕重的作用,尤其是用在機關(guān)單位的安全和考勤、網(wǎng)絡(luò)安全、銀行、海關(guān)邊檢、物業(yè)管理、軍隊安全、智能身份證、智能門禁、司機駕照驗

6、證、計算機登錄系統(tǒng)。我國在這方面也取得了較好的成就,國家863項目“面像檢測與識別核心技術(shù)”通過成果鑒定并初步應(yīng)用,就標(biāo)志著我國在人臉識別這一當(dāng)今熱點科研領(lǐng)域掌握了一定的核心技術(shù)。北京科瑞奇技術(shù)開發(fā)股份有限公司在2002年開發(fā)了一種人臉鑒別系統(tǒng),對人臉圖像進(jìn)行處理,消除了照相機的影響,再對圖像進(jìn)行特征提取和識別。這對于人臉鑒別特別有價值,因為人臉鑒別通常使用正面照,要鑒別的人臉圖像是不同時期拍攝的,使用的照相機不一樣。系統(tǒng)可以接受時間間隔較長的照片,并能達(dá)到較高的識別率,在計算機中庫藏2300人的正面照片,每人一張照片,使用相距1-7年、差別比較大的照片去查詢,首選率可以達(dá)到50%,前20 張

7、輸出照片中包含有與輸入照片為同一人的照片的概率可達(dá)70%。美國陸軍實驗室也是利用vc+開發(fā),通過軟件實現(xiàn)的,并且FAR為49%。在美國的進(jìn)行的公開測試中,F(xiàn)AR,為53%。美國國防部高級研究項目署,利用半自動和全自動算法。這種算法需要人工或自動指出圖像中人的兩眼的中心坐標(biāo),然后進(jìn)行識別。在機場開展的測試中,系統(tǒng)發(fā)出的錯誤警報太多,國外的一些高校(卡內(nèi)基梅隆大學(xué)(Carnegie Mellon University)為首,麻省理工大學(xué)(Massachusetts Institute of Technology )等,英國的雷丁大學(xué)(University of Reading)和公司(Vision

8、ics 公司Facelt 人臉識別系統(tǒng)、Viiage 的FaceFINDER 身份驗證系統(tǒng)、Lau Tech 公司Hunter系統(tǒng)、德國的BioID 系統(tǒng)等)的工程研究工作也主要放在公安、刑事方面,在考試驗證系統(tǒng)的實現(xiàn)方面深入研究并不多。1.3本系統(tǒng)研究內(nèi)容本系統(tǒng)主要對人臉的檢測與定位做了深入研究。在人臉檢測部分主要是對圖像進(jìn)行獲取和預(yù)處理。圖像獲取主要是獲取圖像的基本信息,以便對圖像的像素進(jìn)行處理。預(yù)處理的包括對圖像灰度化,中值濾波,對比度變化以及邊緣提取。人臉預(yù)處理過程是計算機人臉識別中一個重要過程。人臉圖像預(yù)處理的好壞對整個系統(tǒng)至關(guān)重要,對人臉預(yù)處理的研究具有非常重要的意義。特征定位是人

9、臉識別的目的是確定單張人臉在圖像中的位置,它通過標(biāo)記人臉區(qū)域 來確定和計算人臉的各器官定位。人臉特征檢測是檢測人臉特征的有無和位置,比如說眼睛、鼻子、鼻孔、嘴巴、嘴唇等的有無和位置。值得指出的是,人臉檢測涉及的方法種類繁多(據(jù)報告可知,用于人臉檢測方法的有150多種),且涉及的知識點較深,并各有特點,所以我們小組將人臉檢測與人臉識別區(qū)分開來,因為后者只是前者一個簡單問題。同時,我們把注意力集中在人臉檢測方法上,而沒有實現(xiàn)與數(shù)據(jù)庫中的人臉匹配問題。1.4目前研究中存在的問題雖然人類的人臉識別能力很強,,能夠記住并辨別上千張不同人臉,可是計算機則困難多了。其表現(xiàn)在:人臉表情豐富;人臉隨年齡增長而變

10、化;人臉?biāo)蓤D像受光照、成像角度及成像距離等影響;而且從二維圖象重建三維人臉是病態(tài)( ill2po sed) 過程,目前尚沒有很好的描述人臉的三維模型。另外,人臉識別還涉及到圖象處理、計算機視覺、模式識別以及神經(jīng)網(wǎng)絡(luò)等學(xué)科,也和人腦的認(rèn)識程度緊密相關(guān)。這諸多因素使得人臉識別成為一項極富挑戰(zhàn)性的課題。第2章 系統(tǒng)需求分析2.1 系統(tǒng)功能需求系統(tǒng)功能主要圍繞人臉檢測和人臉特征定位進(jìn)行設(shè)計,首先該系統(tǒng)會對圖像進(jìn)行人臉檢測,人臉檢測主要是對圖像進(jìn)行預(yù)處理的過程,預(yù)處理這個模塊在整個人臉識別系統(tǒng)的開發(fā)過程中占有很重要的地位。該系統(tǒng)主要是將處理后的人臉圖片進(jìn)行定位,將眼睛、鼻子、嘴巴標(biāo)記出來。功能劃分及描

11、述圖像的處理方法很多,我們可以根據(jù)需要,有選擇地使用各種方法。在確定臉部區(qū)域上,通常使用的方法有膚色提取。膚色提取,則對臉部區(qū)域的獲取則比較準(zhǔn)確,成功率達(dá)到95%以上,并且速度快,減少很多工作。圖像獲取模塊:該模塊主要是從圖片庫中獲取圖片,獲取后的圖片可以在軟件的界面中顯示出來以便進(jìn)行識別。圖像預(yù)處理模塊:圖像預(yù)處理就是對獲取得來的圖像進(jìn)行適當(dāng)?shù)奶幚恚顾哂械奶卣髂軌蛟趫D像中明顯的表現(xiàn)出來。該模塊中的子模塊有如下幾個,下面對它們進(jìn)行概述:中值濾波:在圖像的采集過程中,由于各種因素的影響,圖像中往往會出現(xiàn)一些不規(guī)則的隨機噪聲,如數(shù)據(jù)在傳輸、存儲時發(fā)生的數(shù)據(jù)丟失和損壞等,這些都會影響圖像的質(zhì)量,

12、因此需要將圖片進(jìn)行平滑操作以此來消除噪聲?;叶然簣D像灰度化的過程就是把彩色圖像轉(zhuǎn)換為灰度圖像的過程,彩色圖像包含較多人臉特征信息,但是直接作為處理對象會使過程復(fù)雜化相比之下灰度圖像在保留了人臉主要特征信息的基礎(chǔ)上,減少了總信息量。Sobel提取(邊緣提?。翰捎锰荻任⒎咒J化圖像,使噪聲、條紋等得到增強;對圖像中的隨機噪聲也有一定的平滑作用;標(biāo)記人臉的邊緣,使其邊緣顯得粗而亮。對比度增強:對比度增強,就是對圖像的進(jìn)一步處理,將對比度再一次拉開。它針對原始圖像的每一個像素直接對其灰度進(jìn)行處理的,其處理過程主要是通過增強函數(shù)對像素的灰度級進(jìn)行運算并將運算結(jié)果作為該像素的新灰度值來實現(xiàn)的。通過改變選

13、用的增強函數(shù)的解析表達(dá)式就可以得到不同的處理效果。相似度計算:相似度計算是為了判別兩對象的相似程度而設(shè)定的算法,比如文字、指紋、人臉等。為了便于二值化閾值的確定,膚色相似度計算的意義是通過計算出與人臉膚色相近的像素點,確定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一個可計算出閾值的比較值。二值化:通過一些算法,通過一個閾值改變圖像中的像素顏色,令整幅圖像畫面內(nèi)僅有黑白二值,該圖像一般由黑色區(qū)域和白色區(qū)域組成,可以用一個比特表示一個像素,“1”表示黑色,“0”表示白色,以便有利于我們對特征的提取。直方圖:直方圖是圖象處理中一種十分重要的圖象分析工具,它描述了一幅圖像的灰度級內(nèi)容,任何一幅直方圖

14、都包含了豐富的信息。從數(shù)學(xué)上來說圖像直方圖是圖像各個灰度值統(tǒng)計特性與圖像灰度值的函數(shù),它統(tǒng)計了一幅圖像中各個灰度級出現(xiàn)的次數(shù)和概率。 開發(fā)環(huán)境硬件環(huán)境硬件配置原則:具有可靠性,可用性和安全性,具有完善的技術(shù)支持。能夠滿足個人學(xué)習(xí)和設(shè)計需要。運行本軟件所需的硬件資源:CPU: 800M及以上;內(nèi)存: 128M及以上軟件環(huán)境系統(tǒng)軟件配置原則能夠滿足該軟件的可靠性,可用性和安全性的要求系統(tǒng)軟件配置方案 配置有持續(xù)工作能力、高穩(wěn)定性、高度可集成的開放式標(biāo)準(zhǔn)的操作系統(tǒng),如Windows2000,Windows NT,UNIX,Linux等。 配備符合ANSI/ISO標(biāo)準(zhǔn)的高級程序設(shè)計語言處理軟件。如:V

15、isual C+ 6.0。 熟悉C+高級程序設(shè)計語言。 運行環(huán)境(1)硬件環(huán)境CPU:800M以上;內(nèi)存:128 M及以上。(2)軟件環(huán)境可以運行在微軟公司近年來所出的各種操作系統(tǒng)。如Windows 98、Windows Me、Windows 2000、Windows NT等。2.2 可行性分析在開發(fā)該人臉識別軟件之前,我們查詢了前人所寫過的諸多論文以及源程序,在開發(fā)之時,結(jié)合了資料中的算法并揉進(jìn)了自己的一些思想,使程序可以對人臉圖片進(jìn)行簡易識別。操作可行性該人臉識別軟件需要如下的運行環(huán)境:CPU:800M及以上;內(nèi)存:128 M及以上。安裝有Windows 98、Windows Me、Win

16、dows 2000、Windows NT等操作系統(tǒng)中的其中一種。因此,從操作可行性來看,只要系統(tǒng)用戶的硬件軟件設(shè)備滿足以上條件,即可用該人臉識別軟件進(jìn)行人臉的識別。 技術(shù)可行性圖像的處理方法很多,我們可以根據(jù)需要,有選擇地使用各種方法。在確定臉部區(qū)域上,通常使用的方法有膚色提取。膚色提取,則對臉部區(qū)域的獲取則比較準(zhǔn)確,成功率達(dá)到95%以上,并且速度快,減少很多工作。人臉自身變化的挑戰(zhàn):同一個人的人臉圖像因為表情、精神狀態(tài)、健康狀況、姿態(tài)、整容、年齡變化、意外損傷、化妝、眼鏡帽子、頭發(fā)胡須等變化而發(fā)生巨大的變化;外部環(huán)境的挑戰(zhàn):光照環(huán)境條件、攝像設(shè)備、人與攝像設(shè)備的距離角度、圖像存儲質(zhì)量等,都會

17、使人臉圖像發(fā)生教大變化。面隊這些就要求我們進(jìn)一步研究基于人臉膚色提取的算法,提高識別精度,提高識別速度,提高系統(tǒng)的適用性。2.3 預(yù)處理方案選擇設(shè)計方案原則的選擇本應(yīng)用程序的設(shè)計方案原則如下:采用較為先進(jìn)的技術(shù)力量,保證應(yīng)用程序在技術(shù)上具備一定的優(yōu)勢。采用成熟的技術(shù),保證應(yīng)用程序的安全性和可靠性。應(yīng)用程序便于擴展和維護,易于技術(shù)的更新。應(yīng)用程序充分利用現(xiàn)有的資源,盡量減少不必要的再投資。編寫的代碼必須嚴(yán)謹(jǐn)易讀,代碼的解釋必須清楚明白,為應(yīng)用程序的再開發(fā)提供應(yīng)盡的責(zé)任。 圖像文件格式選擇 圖像采集是在Windows操作系統(tǒng)下開發(fā)的,需要了解在此環(huán)境下圖像的存儲、顯示等方面的機制。在Windows

18、操作系統(tǒng)中,任何圖像格式(如.jpeg格式,.gif格式)在系統(tǒng)中顯示之前最終必須轉(zhuǎn)化為位圖格式。BMP圖像文件格式(位圖格式)是微軟公司為其Windows環(huán)境設(shè)置的標(biāo)準(zhǔn)圖像格式,在設(shè)計的過程中,為了定位和特征提取的方便,我們采用的是BMP格式的圖像。 開發(fā)工具選擇本次設(shè)計所用的開發(fā)工具是Microsoft Visual C+ 6.0。 Visual C+ 6.0是Microsoft公司推出的一種可視化編程工具。它支持多平臺和交叉平臺的開發(fā),將各種編程工具如編輯器、連接器、調(diào)試器等巧妙的結(jié)合在一起,構(gòu)成一個完美的可視化開發(fā)環(huán)境。用戶無需通過繁雜的編程操作,即可完成Windows下應(yīng)用程序的編輯

19、、編譯、測試和細(xì)化等工作。算法選擇分析本文主要研究的對象是圖像預(yù)處理模塊,該模塊分為中值濾波、圖像灰度化、相似度計算、二值化每個小模塊的實現(xiàn)都有許多相應(yīng)的算法。下面將本系統(tǒng)采用的算法進(jìn)行介紹:中值濾波:在圖像的采集過程中,由于各種因素的影響,圖像中往往會出現(xiàn)一些不規(guī)則的隨機噪聲,如數(shù)據(jù)在傳輸、存儲時發(fā)生的數(shù)據(jù)丟失和損壞等,這些都會影響圖像的質(zhì)量,因此需要將圖片進(jìn)行平滑操作以此來消除噪聲。但是如果平滑不當(dāng),就會使圖像本身的細(xì)節(jié)如邊界輪廓、線條等變的模糊不清,為了既平滑掉噪聲有盡量保持圖像細(xì)節(jié),本系統(tǒng)采用中值濾波算法處理。圖像灰度化:圖像灰度化是將圖像變成灰色,本系統(tǒng)中采用加權(quán)平均值法來實現(xiàn)圖像的

20、灰度化,這樣可以獲得最合理的灰度圖像。膚色相似度計算:相似度計算是為了判別兩對象的相似程度而設(shè)定的算法,比如文字、指紋、人臉等。為了便于二值化閾值的確定,膚色相似度計算的意義是通過計算出與人臉膚色相近的像素點,確定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一個可計算出閾值的比較值。二值化:通過一些算法,通過一個閾值改變圖像中的像素顏色,令整幅圖像畫面內(nèi)僅有黑白二值,該圖像一般由黑色區(qū)域和白色區(qū)域組成,可以用一個比特表示一個像素,“1”表示黑色,“0”表示白色,以便有利于我們對特征的提取。第3章 系統(tǒng)的概要設(shè)計本章主要介紹系統(tǒng)的結(jié)構(gòu)設(shè)計的流程以及系統(tǒng)各模塊的功能及相關(guān)原理。應(yīng)用程序的總體結(jié)構(gòu)設(shè)

21、計流程圖如圖31所示:圖31總體結(jié)構(gòu)設(shè)計流程圖圖像預(yù)處理的層次圖如圖3-2所示: 圖3-2 預(yù)處理的層次圖人臉定位的層次圖如圖3-3所示: 圖3-3 人臉定位的層次圖3.1 各模塊功能概述以上是該系統(tǒng)的總體結(jié)構(gòu)設(shè)計圖以及圖像預(yù)處理模塊的層次圖。下面介紹系統(tǒng)中的各模塊的具體功能。圖像獲取模塊該模塊主要是從圖片庫中獲取,獲取后的圖片可以在軟件的界面中顯示出來以便進(jìn)行識別。人臉區(qū)域獲取該系統(tǒng)中圖像里人臉區(qū)域的獲取,主要是根據(jù)膚色來進(jìn)行獲取,通過膚色非線形分段色彩變換來實現(xiàn)。這一非線性分段色彩變換得到的膚色模型屬于色彩空間中的聚類模型,這一類膚色模型的建立首先要選取一種合適的色彩空間。圖像預(yù)處理模塊圖

22、像預(yù)處理就是對獲取得來的圖像進(jìn)行適當(dāng)?shù)奶幚?,使它具有的特征能夠在圖像中明顯的表現(xiàn)出來。該模塊中的子模塊有如下幾個,下面對它們進(jìn)行概述: 中值濾波中值濾波將對圖像進(jìn)行平滑處理,在圖像采集過程中,由于各種因素的影響,圖像往往會出現(xiàn)一些不規(guī)則的噪聲,入圖像在傳輸、存儲等都有可能產(chǎn)生數(shù)據(jù)的丟失。從而影響圖像的質(zhì)量。處理噪聲的過程稱為濾波。濾波可以降低圖像的視覺噪聲。 灰度化圖像灰度化的過程就是把彩色圖像轉(zhuǎn)換為灰度圖像的過程,彩色圖像包含較多人臉特征信息,但是直接作為處理對象會使過程復(fù)雜化相比之下灰度圖像在保留了人臉主要特征信息的基礎(chǔ)上,減少了總信息量。 對比度增強對比度增強,就是對圖像的進(jìn)一步處理,將

23、對比度再一次拉開。使圖象原本模糊的邊緣變得清晰。 Sobel邊緣提取Sobel提取的優(yōu)點:采用梯度微分銳化圖像,同樣使噪聲、條紋等得到增強,Soble算子則在一定程度上克服了這個問題:由于引入了平均因素,因而對圖像中的隨機噪聲有一定的平滑作用;由于它是相隔兩行或兩列之差分,故邊緣兩側(cè)之元素得到了增強,故邊緣顯得粗而亮。 相似度計算相似度計算是為了判別兩對象的相似程度而設(shè)定的算法,比如文字、指紋、人臉等。為了便于二值化閾值的確定,膚色相似度計算的意義是通過計算出與人臉膚色相近的像素點,確定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一個可計算出閾值的比較值。 二值化二值化的目的是將采集獲得的多層

24、次灰度圖像處理成二值圖像,以便于分析理解和識別并減少計算量。二值化就是通過一些算法,通過一個閾值改變圖像中的像素顏色,令整幅圖像畫面內(nèi)僅有黑白二值,該圖像一般由黑色區(qū)域和白色區(qū)域組成,可以用一個比特表示一個像素,“1”表示黑色,“0”表示白色,當(dāng)然也可以倒過來表示,這種圖像稱之為二值圖像。這便有利于我們對特征的提取。該設(shè)計中采用組內(nèi)方差和組外方差來實現(xiàn)二值化。圖像模塊定位對候選特征進(jìn)行篩選時,首先割據(jù)顏色信息提出那些偽特征。然后用PCA模板和幾何特征確定眼睛和嘴巴。 顏色篩選無論是眼睛還是嘴巴,都位于人臉的非膚色區(qū)域。而且眼睛的顏色是黑暗分明,利用這些知道可以淘汰很多候選,減少PCA驗證的負(fù)擔(dān)

25、。 雙眼的定位把篩選過的特征區(qū)域兩兩配對,再用PCA模扳進(jìn)行嚴(yán)整,就可以得到真正的雙眼大使,PCA嚴(yán)整有時候難以區(qū)分眉毛與眼睛,所以還要用一些幾何特性進(jìn)一步篩選,由于假定姿態(tài)是正的,雙眼必定位于人臉的上半部分,他們的連線是近似水平的,而且他們的中心比眉毛低,運用這些判據(jù),可以區(qū)分眉毛和眼睛。 鼻子的定位在確定了眼睛的位置以后,鼻子的位置基本確定,以眼睛的瞳距為1來計算,鼻子到兩眼中心的距離為0.7到1。在這附近搜索顏色較深的區(qū)域,大致能得到鼻孔的位置(有的側(cè)面圖一個鼻孔基本不可見,也就無法檢測出來了)。然后在兩鼻孔上訪一定范圍內(nèi)(鼻孔的距離的1/2左右)找亮度最高的點作為鼻尖。 嘴巴的定位找到

26、雙眼之后,可以在它們的下方搜索候選特征區(qū)域,尋找非膚色面積較大、近似位于雙眼對稱的候選作為嘴巴。然后根據(jù)先驗知識調(diào)整嘴巴的大小。第4章 系統(tǒng)詳細(xì)設(shè)計本章主要對圖像處理這一模塊進(jìn)行詳細(xì)介紹,對其子模塊所用到的算法及具體實現(xiàn)進(jìn)行詳細(xì)講述。4.1 系統(tǒng)的運行流程圖對圖片進(jìn)行光線補償、將圖片變成灰色、實現(xiàn)圖片對比度增強,二值化變換等一系列預(yù)處理。將處理好的人臉圖片進(jìn)行定位,標(biāo)出眼睛、鼻尖和嘴巴。啟動本系統(tǒng),進(jìn)入人臉識別系統(tǒng)界面。點擊打開圖象,選取所需要的圖片圖4-1 系統(tǒng)流程圖4.2 圖像處理詳細(xì)設(shè)計圖像灰度化彩色圖像包含較多人臉特征信息,但是直接作為處理對象會使過程復(fù)雜化。相比之下灰度圖像在保留了人

27、臉主要特征信息的基礎(chǔ)上,減少了總信息量。算法思想 灰度化的處理方法主要有3種:最大值法:使RGB的值等于3值中的最大一值,即, 式(4.1)最大值法會完成亮度很高的灰度。 平均值法:取R,G,B的平均值,即, 式(4.2)平均值法會完成比較柔和的灰度。 加權(quán)平均值法:根據(jù)重要性或其他指標(biāo)給R,G,B賦予不同的權(quán)值,并使RGB的加權(quán)值平均,即, 式(4.3)其中,分別為R,G,B的權(quán)值。實驗和理論推導(dǎo)證明當(dāng) 時,即當(dāng), 式(4.4) 式(4.5)時,能得到最合理的灰度圖像。具體實現(xiàn)灰度化功能 在明白了灰度化的原理之后,就可進(jìn)行編碼來實現(xiàn)該功能。在編輯界面中添加一個按鈕控件,將其命名為灰度化,并其

28、ID號設(shè)為IDC_BTHD, 對應(yīng)文件CFaceDetectDlgCpp中的函數(shù)OnBthd()實現(xiàn). 現(xiàn)該模塊的核心代碼如下:/編寫就算像素點灰度值的函數(shù)int CPreProcess:CalGray1(int blue,int green,int red)/利用灰度計算公式int ColorGray=(int)(green * 59 + red * 30 + blue * 11) / 100);/將像素值限制在0到255if (ColorGray255)ColorGray=255;return ColorGray;/編寫OnBtGray()函數(shù)/獲取紅色分量int ColorRed=m_t

29、OriPixelArrayij.rgbRed;/獲取綠色分量int ColorGreen=m_tOriPixelArrayij.rgbGreen;/獲取藍(lán)色分量 int ColorBlue=m_tOriPixelArrayij.rgbBlue;/調(diào)用函數(shù),計算灰度值int cgray=method3-CalGray1(ColorBlue ,ColorGreen , ColorRed ) ;/顯示灰度圖像m_tResPixelArrayij.rgbBlue = m_tResPixelArrayij.rgbGreen = m_tResPixelArrayij.rgbRed =cgray;/重置位圖

30、MakeBitMap( );/method3是定義的一個函數(shù)指針,定義如下:CPreProcess *method3;/初始化如下method3 = new CPreProcess(m_tOriPixelArray,m_nWndWidth,m_nWndHeight);圖像灰度化效果: 圖4-2 圖像灰度化4.2.2 灰度變換按照一定的規(guī)律修改像素的灰度值,使圖像的亮度或者對比度發(fā)生改變,使之更易于分辨,達(dá)到更好的視覺效果。具體實現(xiàn)功能進(jìn)行編碼來實現(xiàn)該功能:在編輯界面中添加一個滑動條控件和文本編輯器,將其命名為灰度化變換,并其ID號分別設(shè)為IDC_SLIDER1, IDC_EDIT1,對應(yīng)文件C

31、FaceDetectDlgCpp中的函數(shù)OnReleasedcaptureSlider1()和OnChangeEdit1()實現(xiàn)。打開ClassWizard的Member Variables標(biāo)簽,給每個控件添加所需的成員變量,參數(shù)如下:表4.1 空間ID號變量類型變量名范圍和大小IDC_SLIDER1CSliderCtrlm_SliderIDC_EDIT1intm_Gray0255在滑動條的消息處理函數(shù)OnReleasedcaptureSlider1()中設(shè)置滑動條的值使它等于文本編輯框的初始值。代碼為:/設(shè)置滑動條的初始值m_Slider.SetPos(m_Gray); /刷新界面Updat

32、eData(true); 在滑動條的消息處理函數(shù)OnReleasedcaptureSlider1()中進(jìn)行灰度化變換,將滑動條的值賦給灰度,并將其控制在【0,255】之間。代碼為:cgray+=m_Gray; if (cgray255) cgray=255; m_tResPixelArrayij.rgbBlue = m_tResPixelArrayij.rgbGreen =m_tResPixelArrayij.rgbRed =cgray; MakeBitMap();/重置位圖MakeBitMap();的主要代碼 CClientDC ClientDC(pDCShow-GetWindow();if

33、(m_pResMap!=NULL) delete m_pResMap;m_pResMap=new CBitmap();m_pResMap-CreateCompatibleBitmap(&ClientDC,m_nWndWidth,m_nWndHeight);CDC dc;dc.CreateCompatibleDC(&ClientDC);dc.SelectObject(m_pResMap);for(int i=0; im_nWndHeight; i+)for(int j=0; jCalSobel(col,row); 式(4.9)/對計算的值進(jìn)行限制 if (temp255) temp=255; /

34、重置像素 m_tResPixelArrayij.rgbBlue = m_tResPixelArrayij.rgbGreen = m_tResPixelArrayij.rgbRed =temp; MakeBitMap();CClientDC ClientDC(pDCShow-GetWindow();if(m_pResMap!=NULL) delete m_pResMap;m_pResMap=new CBitmap();m_pResMap-CreateCompatibleBitmap(&ClientDC,m_nWndWidth,m_nWndHeight);CDC dc;dc.CreateCompa

35、tibleDC(&ClientDC);dc.SelectObject(m_pResMap);for(int i=0; im_nWndHeight; i+)for(int j=0; jm_nWndWidth; j+)dc.SetPixelV(j,i,RGB(m_tResPixelArrayij.rgbRed,m_tResPixelArrayij.rgbGreen,m_tResPixelArrayij.rgbBlue);dc.DeleteDC();MyDraw();效果圖 圖4-5 sobel邊緣提取 對比度增強(1)進(jìn)行編碼來實現(xiàn)該功能:在編輯界面中添加一個滑動條控件和文本編輯器,將其命名為灰度

36、化變換,并其ID號分別設(shè)為IDC_SLIDER2, IDC_EDIT2,對應(yīng)文件CFaceDetectDlgCpp中的函數(shù)OnReleasedcaptureSlider2()和OnChangeEdit2()實現(xiàn)。打開ClassWizard的Member Variables標(biāo)簽,給每個控件添加所需的成員變量,參數(shù)如下:表4.2空間ID號變量類型變量名范圍和大小IDC_SLIDER1CSliderCtrlm_Slider2IDC_EDIT1intm_Degree0255 在滑動條的消息處理函數(shù)OnReleasedcaptureSlider2()中設(shè)置滑動條的值使它等于文本編輯框的初始值。代碼為:f

37、or (int i=0;im_nWndHeight;i+) for (int j=0;j127)r+=red;else r-=red;if (g127)g+=green;else g-=green;if (b127)b+=blue;elseb-=blue; if (r 255) r = 255; if (r 255) g = 255; if (g 255) b = 255; if (b 0) b = 0; m_tResPixelArrayij.rgbRed=r;m_tResPixelArrayij.rgbGreen=g;m_tResPixelArrayij.rgbBlue=b; MakeBit

38、Map(); UpdateData(true);(2) 效果圖圖4-6 原圖像圖4-6 對比度增強后效果圖第5章 系統(tǒng)綜合與測試5.1 系統(tǒng)綜合人臉識別應(yīng)用程序采用Visual C6.0作為開發(fā)工具,利用MFC采用面向?qū)ο蟮姆椒ǎ肅+語言編寫程序。將面向?qū)ο蟮木幊碳夹g(shù)直接應(yīng)用于圖像處理知識,并按功能進(jìn)行細(xì)化,建立通用的類,從而減少了繁瑣性,增加代碼的可重用性和可移植性,提高了效率。本設(shè)計中建立的多層次類結(jié)構(gòu)都是可以修改和維護的。所有的類都是開放的,可以向其中添加新方法以支持新功能,而不會對原有功能構(gòu)成任何威脅。本設(shè)計中建立的多層次類結(jié)構(gòu)都是可以修改和維護的。所有的類都是開放的,可以向其中添加

39、新方法以支持新功能,而不會對原有功能構(gòu)成任何威脅。5.2 結(jié)構(gòu)設(shè)計圖像預(yù)處理設(shè)計: 表5.1函 數(shù)功 能OnBtGray()圖象灰度化CalGray1(int,int,int)計算圖象的灰度值OnChangeEdit1( )設(shè)置滑動條的初始值OnReleasedcaptureSlider( )改變灰度變化MakeBitMap( )重置位圖SetRange()設(shè)置滑動條的范圍GetPos( )得到滑動條的值SetPos()設(shè)置滑動條的值OnBUTTONSobel( )實現(xiàn)Sobel邊緣提取OnCustomdrawSlider1( )將滑動條的消息映射給文本框各成員函數(shù)解析函數(shù)名稱 : OnBtG

40、ray參數(shù) : CSliderCtrl m_Slider - 灰度滑動條的值 int m_Gray - 編輯框的值返回值 : void說明 : 該函數(shù)將編輯框的值映射給滑動條函數(shù)名稱 : CalGray1參數(shù) : int Blue - 待求點像素的藍(lán)色值 int Green - 待求點像素的綠色值int Red - 待求點像素的紅色值返回值 : int - 待求點的灰度值說明 : 該函數(shù)計算某像素點的灰度值函數(shù)名稱 : OnChangeEdit1參數(shù) : CSliderCtrl m_Slider - 灰度滑動條的值 int m_Gray - 編輯框的值返回值 : void說明 : 該函數(shù)將編輯

41、框的值映射給滑動條函數(shù)名稱 : OnReleasedcaptureSlider參數(shù) : void返回值 : void說明 : 該函數(shù)將編輯框的值映射給滑動條函數(shù)名稱 : MakeBitMap參數(shù) : void返回值 : void說明 : 重新設(shè)置位圖函數(shù)名稱 : SetRange 參數(shù) : int nMin -灰度滑動條的最小值 int nMax-灰度滑動條的最大值 BOOL bRedraw 返回值 : void說明 : 設(shè)置滑動條的最大最小值,確定滑動條的范圍函數(shù)名稱 : GetPos 參數(shù) : void返回值 : void說明 : 得到滑動條的當(dāng)前值函數(shù)名稱 : SetPos 參數(shù) : i

42、nt nPos -設(shè)置滑動條的值返回值 : void說明 : 設(shè)置滑動條的值函數(shù)名稱 : OnBUTTONSobel 參數(shù) : void返回值 : void說明 : 設(shè)置滑動條的值5.3 系統(tǒng)測試測試是為了找出程序的錯誤。正如測試的規(guī)則所確定的一樣:測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;成功的測試是發(fā)現(xiàn)了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。本系統(tǒng)主要由圖像處理、人臉定位、特征提取組成,而圖像處理對于后面的工作結(jié)果好壞起著至關(guān)重要的作用,因此從軟件開發(fā)的最初階段我們就要對軟件進(jìn)行不斷的測試,對圖像處理模塊中的各個子模塊進(jìn)行測試以便檢測經(jīng)過

43、處理后的圖像效果是否達(dá)到預(yù)期的效果。下面對圖像處理模塊的測試過程進(jìn)行描述:圖像處理模塊 :該模塊分為、圖像變成灰色、對比度變換、實現(xiàn)圖像對比度增強、Sboel邊緣提取。對該模塊進(jìn)行測試的方法是:采用多張24位的彩色圖像來進(jìn)行逐一測試,看這些圖片經(jīng)過處理后是否達(dá)到預(yù)期的效果,如圖像灰度化模塊的檢測則需看所測的彩色圖片是否變成灰色;而灰度變換就是為了調(diào)試圖像最適合的灰度級。圖像對比度增強是為了將圖像的特征一步一步顯現(xiàn)出來,在測試的過程中,用含人臉的圖片進(jìn)行檢測看是否圖像的特征顯示出來的是否足夠明顯。 測試原則1、應(yīng)當(dāng)把“盡早地和不斷地進(jìn)行軟件測試”作為軟件開發(fā)者的座右銘。2、測試用例應(yīng)由測試輸入數(shù)

44、據(jù)和與之對應(yīng)的預(yù)期輸出結(jié)果兩部分組成。3、程序員應(yīng)避免檢查自己的程序。(注意不是指對程序的調(diào)試)4、在設(shè)計測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。不合理的輸入條件是指異常的,臨界的,可能引起問題異變的輸入條件。5、充分注意測試中的群集現(xiàn)象。經(jīng)驗表明,測試后程序殘存的錯誤數(shù)目與該程序中以發(fā)現(xiàn)的錯誤數(shù)目或檢錯率成正比。應(yīng)該對錯誤群集的程序段進(jìn)行重點測試。6、嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。測試計劃應(yīng)包括:所測軟件的功能,輸入和輸出,測試內(nèi)容,各項測試的進(jìn)度安排,資源要求,測試資料,測試工具,測試用例的選擇,測試的控制方法和過程,系統(tǒng)的組裝方式,跟蹤規(guī)則,調(diào)試規(guī)則,以及回歸測試的規(guī)定等等以及評價標(biāo)準(zhǔn)。7、應(yīng)當(dāng)對每一個測試結(jié)果做全面的檢查。8、妥善保存測試計劃,測試用例,出錯統(tǒng)計和最終分析報告,為維護提供方便。知道了測試的目的和測試的原則之后,現(xiàn)在進(jìn)行軟件的具體測試,對軟件的功能實現(xiàn)進(jìn)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論