人臉識別系統(tǒng)畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1 引 言</b></p><p><b>  1.1課題的背景</b></p><p>  隨著安全入口控制和金融貿(mào)易方面應(yīng)用需要的快速增長,生物統(tǒng)計識別技術(shù)得到了新的重視。目前,微電子和視覺系統(tǒng)方面取得的新進展,使該領(lǐng)域中高性能自動識別技術(shù)的實現(xiàn)代價降低到了可以接受的程度。而面部識別是所有的生物識別方法中應(yīng)用最

2、廣泛的技術(shù)之一,面部識別技術(shù)是一項近年來興起的,但不大為人所知的新技術(shù)。人們更多的是在電影中看到這種技術(shù)的神奇應(yīng)用:警察將偷拍到的嫌疑犯的臉部照片,輸入到電腦中,與警方數(shù)據(jù)庫中的資料進行比對,并找出該嫌疑犯的詳細資料和犯罪記錄。這并非虛構(gòu)的情節(jié)。在國外,面部識別技術(shù)早已被大量使用在國家重要部門以及軍警等安防部門。在國內(nèi),對于面部識別技術(shù)的研究始于上世紀90年代,目前主要應(yīng)用在公安、金融、網(wǎng)絡(luò)安全、物業(yè)管理以及考勤等區(qū)域。</p&g

3、t;<p>  1.2相關(guān)領(lǐng)域研究歷史與現(xiàn)狀</p><p>  現(xiàn)在人臉識別技術(shù)已經(jīng)應(yīng)用在許多領(lǐng)域中,并起到了舉足輕重的作用,人臉識別研究開始于1966年P(guān)RI的Bledsoe的工作,經(jīng)過三十多年的發(fā)展,人臉識別技術(shù)取得了長足的進步, 現(xiàn)在就國內(nèi)外相關(guān)領(lǐng)域研究歷史與現(xiàn)狀來進行展述。</p><p>  (1)國外研究歷史與現(xiàn)狀</p><p>  面

4、部識別研究開始于1966年P(guān)RI的Bledsoe的工作,1990年日本研制的人像識別機,可在1秒鐘內(nèi)中從3500人中識別到你要找的人。1993年,美國國防部高級研究項目署 (Advanced Research Projects Agency)和美國陸軍研究實驗室(Army Research Laboratory)成立了Feret(Face Recognition Technology) 項目組,建立了feret 人臉數(shù)據(jù)庫,用于評價人臉

5、識別算法的性能。</p><p>  美國陸軍實驗室也是利用vc++開發(fā),通過軟件實現(xiàn)的,并且FAR為49%。在美國的進行的公開測試中,F(xiàn)AR,為53%。美國國防部高級研究項目署,利用半自動和全自動算法。這種算法需要人工或自動指出圖像中人的兩眼的中心坐標,然后進行識別。在機場開展的測試中,系統(tǒng)發(fā)出的錯誤警報太多,國外的一些高校(卡內(nèi)基梅隆大學(xué)(Carnegie Mellon University)為首,麻省理工大

6、學(xué)(Massachusetts Institute of Technology )等,英國的雷丁大學(xué)(University of Reading))和公司(Visionics 公司Facelt 人臉識別系統(tǒng)、Viiage 的FaceFINDER 身份驗證系統(tǒng)、Lau Tech 公司Hunter系統(tǒng)、德國的BioID 系統(tǒng)等)的工程研究工作也主要放在公安、刑事方面,在考試驗證系統(tǒng)的實現(xiàn)方面深入研究并不多[7]。</p>&l

7、t;p> ?。?)國內(nèi)研究歷史與現(xiàn)狀</p><p>  人臉識別系統(tǒng)現(xiàn)在在大多數(shù)領(lǐng)域中起到舉足輕重的作用,尤其是用在機關(guān)單位的安全和考勤、網(wǎng)絡(luò)安全、銀行、海關(guān)邊檢、物業(yè)管理、軍隊安全、智能身份證、智能門禁、司機駕照驗證、計算機登錄系統(tǒng)。我國在這方面也取得了較好的成就,國家863項目“面像檢測與識別核心技術(shù)”通過成果鑒定并初步應(yīng)用,就標志著我國在人臉識別這一當今熱點科研領(lǐng)域掌握了一定的核心技術(shù)。北京科瑞奇技

8、術(shù)開發(fā)股份有限公司在2002年開發(fā)了一種人臉鑒別系統(tǒng),對人臉圖像進行處理,消除了照相機的影響,再對圖像進行特征提取和識別。這對于人臉鑒別特別有價值,因為人臉鑒別通常使用正面照,要鑒別的人臉圖像是不同時期拍攝的,使用的照相機不一樣。系統(tǒng)可以接受時間間隔較長的照片,并能達到較高的識別率,在計算機中庫藏2300人的正面照片,每人一張照片,使用相距1--7年、差別比較大的照片去查詢,首選率可以達到50%,前20張輸出照片中包含有與輸入照片為同一

9、人的照片的概率可達70% 。 2005年1月18日,由清華大學(xué)電子系人臉識別課題組負責人蘇光大教授主持承擔的國家"十五"攻關(guān)項目《人臉識別系統(tǒng)》通過了由公安部主持的專家鑒定。鑒定委員會認為,該項技術(shù)處于國內(nèi)領(lǐng)</p><p>  1.3面部識別的研究意義</p><p>  隨著經(jīng)濟社會的日趨發(fā)展,快速有效的自動身份識別的要求日益迫切,這使得面部識別技術(shù)的發(fā)展

10、變得越來越重要。然而,面部識別技術(shù)由于其具有復(fù)雜、難度大且起步晚的特點,當前發(fā)展還不是很成熟,這極大地限制了它的應(yīng)用。</p><p>  面部識別是機器視覺和模式識別領(lǐng)域最富有挑戰(zhàn)性的課題之一,同時也具有較為廣泛的應(yīng)用意義。面部識別技術(shù)是一個非常活躍的研究領(lǐng)域,它覆蓋了數(shù)字圖像處理、模式識別、計算機視覺、神經(jīng)網(wǎng)絡(luò)、心理學(xué)、生理學(xué)、數(shù)學(xué)等諸多學(xué)科的內(nèi)容。如今,雖然在這方面的研究已取得了一些可喜的成果,但是面部的檢

11、測與定位在實際應(yīng)用中仍面臨著很嚴峻的問題,因為人臉五官的分布是非常相似的,而且人臉本身又是一個柔性物體,表情、姿態(tài)或發(fā)型、化妝的千變?nèi)f化都給正確識別帶來了相當大的麻煩。如何能正確識別大量的人臉并滿足實時性要求是迫切需要解決的問題。</p><p>  1.4已有面部檢測方法綜述</p><p>  面部檢測有很多方法,下面從方法論的角度概要性地總結(jié)一下現(xiàn)有的幾種主要面部檢測思想。</

12、p><p>  基于知識的自頂向下的方法</p><p>  這種方法是基于我們在認識人臉的過程中所總結(jié)出來的一些先驗知識,把它們歸結(jié)成為一些復(fù)雜程度由簡而繁的規(guī)則。例如:“正面人臉都包括兩只位置相互對稱的眼睛”、“灰度圖像中眼睛要比臉上其他地方暗”等。找到一系列規(guī)則后,把它們應(yīng)用到輸入圖像中,搜索出符合規(guī)律的人臉區(qū)域。</p><p>  基于人臉特征的自底向上的方法

13、</p><p>  這種思想首先用各種數(shù)字圖像的處理辦法對輸入圖像進行處理,根據(jù)處理結(jié)果提取出來的某些特征與人臉的某些共性特征進行比較,借此來判斷某一區(qū)域是否為人臉。舉例來說,我們可以用數(shù)字圖像處理中常用的提取邊界的方法在輸入圖像中尋找邊界,然后試探哪些邊界能像正面人臉的左邊線、右邊線和發(fā)髻線那樣構(gòu)成人臉的輪廓;還可以利用從圖像中提取出來的色彩和紋理信息與人臉的色彩和紋理模型進行比較,得出可能的人臉區(qū)域。當然各

14、種人臉特征的綜合運用對于提高檢測算法的性能會有很大幫助。</p><p><b>  模板匹配的方法</b></p><p>  首先,建立并存儲一些人臉模板作為標準,可以包括正面人臉或是單獨的眼睛、鼻子、嘴等。利用一些算法來計算各待測區(qū)域與標準模板的相似程度或稱相關(guān)性,利用這一相似程度來判決某一區(qū)域是否為人臉。</p><p><b&g

15、t;  基于人臉外觀的方法</b></p><p>  這種思想是指通過搜集大量的人臉和非人臉樣本作為訓(xùn)練集,用人工神經(jīng)元網(wǎng)絡(luò)、支持向量機(SVM)等方法訓(xùn)練出一個分類器來檢測人臉。這種思想和其他思想的不同之處在于,他并不首先人工的對人臉進行分析或是抽取模板,也不對輸入圖像進行復(fù)雜的處理,而是利用大量的人臉整體外觀用結(jié)構(gòu)化的方法來訓(xùn)練出人臉檢測的分類器。在這一類方法中,特征向量、統(tǒng)計學(xué)、信息學(xué)等思想也

16、得到了運用。</p><p>  上述各種方法都存在著自身的優(yōu)缺點和適用領(lǐng)域,很多學(xué)者在各自所面臨的問題的范圍內(nèi)不斷探索,也發(fā)明了許多卓有成效的檢測算法。但各種檢測算法都存在著效率與性能上的矛盾,即在正確率、魯棒性能等方面更好的算法往往會花費更多的時間及系統(tǒng)消耗[3]。</p><p><b>  1.5本論文目的</b></p><p>  

17、本論文主要對該人臉識別系統(tǒng)進行模塊劃分,并介紹各模塊的功能,重點介紹圖像預(yù)處理模塊,對其內(nèi)的子模塊的功能和算法進行詳細講述,主要介紹光線補償、二值化、直方圖,通過以上處理能夠成功標記出人臉區(qū)域,圖像預(yù)處理模塊在整個系統(tǒng)中起著極其關(guān)鍵的作用,圖像處理的好壞直接影響著后面的定位和識別工作,最后介紹人臉特征標記與定位的方法。</p><p><b>  2 系統(tǒng)分析</b></p>

18、<p><b>  2.1 需求分析</b></p><p>  2.1.1需求分析概述</p><p>  隨著經(jīng)濟社會的日趨發(fā)展,快速有效的自動身份識別的要求日益迫切,這使得面部識別技術(shù)的發(fā)展變得越來越重要。其在安全驗證系統(tǒng)、信用卡驗證、醫(yī)學(xué)、檔案管理、視頻會議、人機交互、系統(tǒng)公安(犯罪識別等)等方面有著巨大的應(yīng)用前景,因此,面部識別技術(shù)越來越成為當前模

19、式識別和人工智能領(lǐng)域的一個研究熱點。然而,面部識別技術(shù)由于其具有復(fù)雜、難度大且起步晚的特點,當前發(fā)展還不是很成熟,這極大地限制了它的應(yīng)用。</p><p>  2.1.2可行性分析</p><p>  面部識別系統(tǒng)現(xiàn)在在大多數(shù)領(lǐng)域中起到舉足輕重的作用,尤其是用在機關(guān)單位的安全和考勤、網(wǎng)絡(luò)安全、銀行、海關(guān)邊檢、物業(yè)管理、軍隊安全、智能身份證、智能門禁、司機駕照驗證、計算機登錄系統(tǒng)。</

20、p><p>  人臉識別系統(tǒng)現(xiàn)在應(yīng)用于許多領(lǐng)域中,但是人臉識別技術(shù)也是一項近年來興起的,且不大為人所知的新技術(shù)。在我國以及其他國家都有大量的學(xué)者正在研究之中,不斷的更新人臉識別技術(shù),以便系統(tǒng)的識別準確率達到新的高度。日后的應(yīng)用前景十分廣闊。</p><p><b>  2.1.3技術(shù)分析</b></p><p>  圖像的處理方法很多,我們可以根據(jù)

21、需要,有選擇地使用各種方法。</p><p>  在確定臉部區(qū)域上,通常使用的方法有膚色提取。膚色提取,則對臉部區(qū)域的獲取則比較準確,成功率達到95%以上,并且速度快,減少很多工作。</p><p>  圖像的亮度變化:由于圖像的亮度在不同環(huán)境的當中,必然受到不同光線的影響,圖像就變得太暗或太亮,我們就要對它的亮度進行調(diào)整,主要采取的措施是對圖像進行光線補償。</p><

22、;p>  去噪聲處理:在圖像的采集過程中,由于各種因素的影響,圖像中往往會出現(xiàn)一些不規(guī)則的隨機噪聲,如數(shù)據(jù)在傳輸、存儲時發(fā)生的數(shù)據(jù)丟失和損壞等,這些都會影響圖像的質(zhì)量,因此需要將圖片進行消除噪聲處理。</p><p>  人臉分割:經(jīng)過光線補償和消除噪聲處理后對圖像進行提取邊界處理,確定出人臉的位置。</p><p>  特征標注:特征標注在人臉識別、驗證和建模中都具有重要意義,因為

23、眼睛、鼻子和嘴巴等特征集中了人臉的大部分信息。對于人臉建模來說,不僅要檢測出這些特征,而且要準確地加以定位。</p><p>  2.2 開發(fā)運行環(huán)境</p><p><b>  2.2.1開發(fā)環(huán)境</b></p><p><b>  (1)硬件環(huán)境</b></p><p>  硬件配置原則:具有可

24、靠性,可用性和安全性,具有完善的技術(shù)支持。能夠滿足個人學(xué)習(xí)和設(shè)計需要。</p><p>  運行軟件所需硬件資源:CPU:800M以上;內(nèi)存:128M以上。</p><p><b>  (2)軟件環(huán)境</b></p><p>  系統(tǒng)軟件配置原則:能夠滿足該軟件的可靠性,可用性和安全性的要求。</p><p>  系統(tǒng)軟

25、件配置方案:配置有持續(xù)工作能力、高穩(wěn)定性、高度可集成的開放是標準的操作系統(tǒng)。配備符合ANSI/ISO標準的高級程序設(shè)計語言處理軟件。如:Visual C++6.0。熟悉C++高級程序設(shè)計語言。</p><p>  2.2.2安裝運行環(huán)境</p><p>  CPU要求:500M及以上</p><p><b>  內(nèi)存:64M以上</b><

26、/p><p>  操作系統(tǒng):Windows系列操作系統(tǒng)</p><p>  支持軟件:Microsoft Visual Studio</p><p>  2.3 開發(fā)工具選擇</p><p>  本次設(shè)計所用的開發(fā)工具是Microsoft Visual C++ 6.0。 Visual C++ 6.0是Microsoft公司推出的一種可視化編程工具

27、。它支持多平臺和交叉平臺的開發(fā),將各種編程工具如編輯器、連接器、調(diào)試器等巧妙的結(jié)合在一起,構(gòu)成一個完美的可視化開發(fā)環(huán)境。用戶無需通過繁雜的編程操作,即可完成Windows下應(yīng)用程序的編輯、編譯、測試和細化等工作。</p><p><b>  3系統(tǒng)總體設(shè)計</b></p><p><b>  3.1 系統(tǒng)規(guī)劃</b></p><

28、;p>  本系統(tǒng)主要研究的對象是圖像,系統(tǒng)應(yīng)該對圖像進行光線補償、二值化、直方圖、標記特征區(qū)域等,每個小模塊的實現(xiàn)都有許多相應(yīng)的算法。下面將本系統(tǒng)采用的算法進行介紹:</p><p>  光線補償 :由于光線原因,所照的圖像可能會存在光線不平衡的情況而造成色彩偏差,為了抵消這種整個圖像中存在的色彩偏差,本系統(tǒng)采用的解決方法是:將整個圖像中的所有像素的亮度從高到低進行排列,取最亮的像素,然后線性放大,使這些像

29、素的平均亮度達到255。實際上就是調(diào)整圖片像素的RGB值,然后將其他像素點按照這個比例依次調(diào)整。</p><p>  消除噪聲處理:在圖像的采集過程中,由于各種因素的影響,圖像中往往會出現(xiàn)一些不規(guī)則的隨機噪聲,如數(shù)據(jù)在傳輸、存儲時發(fā)生的數(shù)據(jù)丟失和損壞等,這些都會影響圖像的質(zhì)量,因此需要將圖片進行消除噪聲處理。本系統(tǒng)采用一種濾波方法萊消除噪聲。</p><p>  二值化:經(jīng)過光線補償和消除

30、噪聲處理的圖像,通過公式計算,是人臉區(qū)域的標記為1,不是人臉區(qū)域的標記為0,使圖像的臉部區(qū)域標記出來。</p><p>  直方圖:使用該模塊的目的是直觀的顯示膚色像素點在灰度級中所占比例的關(guān)系。</p><p>  標記特征區(qū)域:確定人臉的位置之后,首先根據(jù)臉部上灰度級較大的區(qū)域,及先驗知識確定眼睛的位置,再根據(jù)眼睛的位置利用幾何方法確定出鼻子和嘴的位置。</p><

31、p>  3.2 系統(tǒng)流程分析</p><p>  用戶使用這款軟件時,要按照一定的流程來進行操作。首先要打開一張BMP格式的圖片,其中應(yīng)該包括人的臉部,打開圖片之后可以選擇兩種標記人臉的方法,第一種方法要對圖片進行相似度計算目的是為了光線補償,之后是二值化,這時可以看圖像的水平直方圖和垂直直方圖,成功標記出人臉區(qū)域。另一種方法是對圖像進行皮膚區(qū)域和頭發(fā)區(qū)域進行分析,可以查看臉的直方圖和頭發(fā)的直方圖,成功標記

32、出人臉區(qū)域。在標記出人臉區(qū)域之后,可以開始特征標注,首先是邊緣提取,然后確定眼睛的位置,在根據(jù)眼睛的位置標記出鼻子和嘴巴的位置,標記結(jié)束程序也就運行結(jié)束。這樣的流程決定了程序所應(yīng)具有的功能,程序功能流程,如圖3-1所示: </p><p>  圖3-1 系統(tǒng)流程圖</p><p>  3.3 系統(tǒng)總體設(shè)計原則</p><p>  (1)開放性、可擴充性、可靠性原則&

33、lt;/p><p>  開放系統(tǒng)是生產(chǎn)各種計算機產(chǎn)品普遍遵循的原則,遵循這種標準的產(chǎn)品都符合一些公共的、可以相互操作的標準,能夠融洽的在一起工作。開放系統(tǒng)使得各種類型的系統(tǒng)互連簡單、標準統(tǒng)一,容易擴展升級。從而適應(yīng)廣大用戶需求的多變性和產(chǎn)品的更新?lián)Q代。</p><p>  (2)良好的用戶操作界面</p><p>  用戶操作界面美觀、方便、實用,使用戶能在較短的時間內(nèi)

34、掌握其使用方法。</p><p><b>  (3)實用性原則</b></p><p>  任何系統(tǒng)的設(shè)計都要考慮其實用性,系統(tǒng)開發(fā)的目的是為了實現(xiàn)業(yè)務(wù)處理自動化、規(guī)范化,提高工作效率,減輕工作人員的勞動強度,減少開支。</p><p>  (4)工作平臺設(shè)計原則</p><p>  能適應(yīng)不同的操作平臺。</p&

35、gt;<p>  (5)先進、成熟技術(shù)性原則</p><p>  采用較為先進的技術(shù)力量,保證應(yīng)用程序在技術(shù)上具備一定的優(yōu)勢。采用成熟的技術(shù),保證應(yīng)用程序的安全性和可靠性。</p><p><b>  (6)節(jié)省資源原則</b></p><p>  應(yīng)用程序充分利用現(xiàn)有的資源,盡量減少不必要的再投資。</p><

36、;p>  (7)代碼可讀性原則</p><p>  編寫的代碼必須嚴謹易讀,代碼的解釋必須清楚明白,為應(yīng)用程序的再開發(fā)提供應(yīng)盡的責任。</p><p>  3.4 各模塊功能概述</p><p>  下面介紹系統(tǒng)中的各模塊的功能及算法:</p><p>  3.4.1 人臉區(qū)域獲取</p><p>  該系統(tǒng)中圖

37、像里人臉區(qū)域的獲取,主要是根據(jù)膚色來進行獲取,通過膚色非線性分段色彩變換來實現(xiàn)。這一非線性分段色彩變換得到的膚色模型屬于色彩空間中的聚類模型,這一類膚色模型的建立首先要選取一種合適的色彩空間。</p><p>  圖像預(yù)處理就是對獲取得來的圖像進行適當?shù)奶幚恚顾哂械奶卣髂軌蛟趫D像中明顯的表現(xiàn)出來。該模塊中的子模塊有如下4個,下面對它們進行概述:</p><p><b>  (

38、1)光線補償</b></p><p>  因為系統(tǒng)得到的圖片可能會存在光線不平衡的情況,這會影響我們對特征的提取,同時系統(tǒng)中要用到Y(jié)CrCB色彩空間,所以有必要對圖像進行光線補償。盡可能將它的特征在圖像中表現(xiàn)出來。YCrCB是一種色彩空間,它用于視頻系統(tǒng)中,在該色彩空間中,Y分量表示像素的亮度,Cr表示紅色分量,Cb表示藍色分量,通常把Cr和Cb稱為色度。YCrCB色彩空間是以演播室質(zhì)量標準為目標的C

39、C601編碼方案中采用的彩色表示模型。</p><p><b>  (2)消除噪聲處理</b></p><p>  以每一個膚色像素點為中心的5*5鄰域內(nèi)統(tǒng)計膚色像素點的個數(shù),超過半數(shù)時中心點保留為膚色,否則認為是非膚色。</p><p><b>  (3)二值化</b></p><p>  一幅圖

40、像包括目標物體、背景還有噪聲,要想從多值數(shù)字圖像中直接提取出目標物體,最常用的方法就是設(shè)定一個閾值T,用T將圖像的數(shù)據(jù)分成兩部分:大于T的像素群和小于T的像素群。這是研究灰度變換的最特殊的方法,稱為圖像的二值化(BINARIZATION)。圖像的二值化,就是將圖像上的像素點的灰度值設(shè)置為0或255,大于T的像素群設(shè)為255,小于T的像素群設(shè)為0,可以用一個比特表示一個像素,“1”表示黑色,“0”表示白色,當然也可以倒過來表示,這種圖像稱

41、之為二值圖像。這便有利于我們對特征的提取。該設(shè)計中采用組內(nèi)方差和組外方差來實現(xiàn)二值化。也就是將整個圖像呈現(xiàn)出明顯的只有黑和白的視覺效果。以便于分析理解和識別并減少計算量。這有利于我們對特征的提取。</p><p><b>  (4)直方圖</b></p><p>  直方圖均衡化是圖像處理領(lǐng)域中利用圖像直方圖對對比度進行調(diào)整的方法。這種方法通常用來增加許多圖像的局部對

42、比度,尤其是當圖像的有用數(shù)據(jù)的對比度相當接近的時候。通過這種方法,亮度可以更好地在直方圖上分布。這樣就可以用于增強局部的對比度而不影響整體的對比度,直方圖均衡化通過有效地擴展常用的亮度來實現(xiàn)這種功能。直方圖均衡化的目的是使一輸入圖像轉(zhuǎn)換為在每一灰度級上都有相同的象素點數(shù),它的處理的中心思想是把原始圖像的灰度直方圖從比較集中的某個灰度區(qū)間變成在全部灰度范圍內(nèi)的均勻分布,它的研究思路是:通過直方圖變換式來進行直方圖的均衡處理,直方圖變換式是

43、</p><p><b>  (3-1)</b></p><p>  但是直方圖均衡化存在著兩個缺點:</p><p>  1)變換后圖像的灰度級減少,某些細節(jié)消失;</p><p>  2)某些圖像,如直方圖有高峰,經(jīng)處理后對比度不自然的過分增強[3]。</p><p>  3.4.2 特征定位

44、與提取模塊</p><p>  人臉定位是將典型的臉部特征(如眼睛,鼻尖,嘴唇等等)標記出來,在本系統(tǒng)中,定位的特征是眼睛,鼻尖和嘴巴三個。由于眼睛具有對稱性,因此可以很快就能標記出來,而鼻子是在眼睛下面,且嘴巴在鼻子下面,所以只要眼睛標記好,鼻子和嘴巴也能相應(yīng)的標記出來。</p><p>  特征提取按以下4個步驟進行:</p><p> ?。?)提取兩只眼睛的距

45、離</p><p><b>  (2)眼睛的傾角度</b></p><p> ?。?)眼睛、嘴巴的重心</p><p>  (4)用三個十字星標出每一個特征</p><p><b>  4系統(tǒng)詳細設(shè)計</b></p><p>  該軟件最主要的功能就是要能識別出人臉,首先該系

46、統(tǒng)需要對一個BMP人臉圖片進行一系列處理才可進行下一步的工作,該處理過程也稱圖像預(yù)處理。預(yù)處理這個模塊在整個面部識別系統(tǒng)的開發(fā)過程中占有很重要的地位,只有預(yù)處理模塊做得好,才可能很好地完成后面的人臉定位和特征提取這兩大關(guān)鍵模塊。因此本設(shè)計中所要完成的主要功能如下所述:</p><p><b>  圖像獲取功能</b></p><p>  該模塊主要是從圖片庫中獲取圖片

47、,獲取后的圖片可以在軟件的界面中顯示出來,以便進行識別。</p><p><b>  圖像預(yù)處理功能</b></p><p>  該模塊主要包括圖像相似度計算、二值化、標記皮膚區(qū)域和頭發(fā)區(qū)域、直方圖變換等。</p><p><b>  人臉定位功能</b></p><p>  該模塊主要是將處理后的

48、人臉圖片進行定位,將眼睛、鼻子、嘴巴標記出來。</p><p>  4.1 基于膚色的人臉檢測算法</p><p>  4.1.1 色彩空間與色彩空間的聚類</p><p>  根據(jù)計算及色彩理論,對一種顏色而言,在計算機中有不同的表達方式,這樣就形成了各種不同的色彩空間。當然各種色彩空間只不過是色彩在計算機內(nèi)不同的表達形式而已,每一種色彩空間也都有其各自的產(chǎn)生背景

49、、應(yīng)用領(lǐng)域等。主要的色彩空間有以下幾種:</p><p>  (1)RGB格式(紅、綠、藍三基色模型)</p><p>  由于彩色圖像是多光譜圖像的一種特殊情況,對應(yīng)于人類是覺的三基色即紅、綠、藍3個波段,是對人眼的光譜量化性質(zhì)的近似。因此利用R、G、B三基色這3個分量來表征顏色是很自然的一種格式。而且多數(shù)的圖像采集設(shè)備都是以CCD技術(shù)為核心,直接感知色彩的R、G、B這3個分量,這也使得

50、三基色模型成為圖像成像、顯示、打印等設(shè)備的基礎(chǔ),具有十分重要的作用。</p><p>  (2)HIS格式(色度、飽和度、亮度模型)</p><p>  這種格式反應(yīng)了人類觀察色彩的方式,同時也有利于圖像處理。在對色彩信息的利用中,這種格式的優(yōu)點在于它將亮度(I)與反應(yīng)色彩本質(zhì)的特性的兩個參數(shù)——色度(H)和飽和度(S)——分開。在提取一類物體(比如現(xiàn)在研究的人臉)在色彩方面的特性時,經(jīng)常

51、需要了解其在某一色彩空間的聚類特性,而這一聚類特性往往體現(xiàn)在色彩的本質(zhì)特性上,且經(jīng)常受到光照明暗等條件的干擾影響。光照明暗給物體顏色帶來的直接影響就是亮度分量,若能將亮度分量從色彩中提取出來,而只用反應(yīng)色彩本質(zhì)特性的色度、飽和度來進行聚類分析,會獲得比較好的效果。這也正是HIS格式在色彩圖像處理和計算機視覺的研究中經(jīng)常被使用的原因。</p><p>  (3)YCbCr(YUV)格式</p><

52、;p>  這種色彩空間是以演播室質(zhì)量標準為目標的CCIR601編碼方案中采用的彩色標識模型,被廣泛的應(yīng)用在電視的色彩顯示等領(lǐng)域中。它同樣具有HIS格式中將亮度分量分離的優(yōu)點,但由于他可以從RGB格式線性變化得到,所以直接應(yīng)用于物體色彩聚類分析的情況不多,相比之下,在其基礎(chǔ)上的變換模型的應(yīng)用更為普遍。在人臉檢測中也常常用到Y(jié)CrCb空間,因為一般的圖像都是基于RGB空間的,在RGB空間里人臉的膚色受亮度影響相當大,所以膚色點很難從非

53、膚色點中分離出來,也就是說在此空間經(jīng)過處理后,膚色點是離散的點,中間嵌有很多非膚色,這為膚色區(qū)域標定(人臉標定、眼睛等)帶來了難題。如果把RGB轉(zhuǎn)為YCrCb空間的話,可以忽略Y(亮度)的影響,因為該空間受亮度影響很小,膚色會產(chǎn)生很好的類聚。這樣就把三維的空間變?yōu)槎S的CrCb,膚色點會形成一定得形狀,如:人臉的話會看到一個人臉的區(qū)域,手臂的話會看到一條手臂的形態(tài),對處理模式識別很有好處,根據(jù)經(jīng)驗?zāi)滁c的CrCb值滿足:133≤Cr≤17

54、3,77≤Cb≤127 那么該點被認為是膚色點,其他的就為非膚色點。</p><p>  4.1.2 膚色模型</p><p>  (1)光線補償(Lighting Compensation)處理</p><p>  光線補償想法的提出主要是考慮到膚色等色彩信息經(jīng)常受到光源顏色、圖像采集設(shè)備的色彩偏差等因素的影響,在整體上偏離本質(zhì)色彩而向某一方向移動,即我們通常所說

55、的色彩偏冷、偏暖,照片偏黃、偏藍等。這種現(xiàn)象在藝術(shù)照片中更為常見。</p><p>  針對實際圖像中光照過亮、過暗等情況,提出了一種光線補償方法。通過將圖像亮度灰度范圍內(nèi)的兩端區(qū)域進行壓縮,降低過亮和過暗區(qū)域的對比度;再用對數(shù)函數(shù)做非線性變換函數(shù),使變換后圖像的對比度增加。該方法能夠?qū)^亮、過暗以及中間區(qū)域的像素灰度值進行修正,為后續(xù)的膚色分割、人臉檢測奠定基礎(chǔ)。</p><p>  為

56、了抵消整個圖像中存在著的色彩偏差,將整個圖像中所有像素的亮度(是經(jīng)過了非線性γ——校正后的亮度)從高到低進行排列,取最亮的像素,就將他們的亮度作為“參考白”(Reference White),即將它的色彩的R、G、B分量值都調(diào)整為最大的255。整幅圖像的其他像素點的色彩值也都按這一調(diào)整尺度進行變換。</p><p>  (2)非線性分段色彩變換(Nonlinear Color Transformation)<

57、;/p><p>  這一非線性分段色彩變換得到的膚色模型屬于色彩空間中的聚類模型,這一類膚色模型的建立首先要選取一種合適的色彩空間。YCbCr色彩空間具有如下一些優(yōu)點。</p><p> ?、資CbCr色彩格式具有與人類視覺感知過程相類似的構(gòu)成原理。</p><p> ?、赮CbCr色彩格式被廣泛地應(yīng)用在電視顯示等領(lǐng)域中,也是許多視頻壓縮編碼如MPEG、JPEG等標準中

58、普遍采用的色彩表示格式。</p><p>  ③YCbCr色彩格式具有與HIS等其他一些色彩格式相類似的將色彩中的亮度分量分離出來的優(yōu)點。</p><p>  ④相比HIS等其他一些色彩格式,YCbCr色彩格式的計算過程和空間坐標表示形式比較簡單。</p><p> ?、菰囼灲Y(jié)果表明在YCbCr色彩空間中膚色的聚類特性比較好。</p><p>

59、;  同時,正如前面所分析的那樣,YCbCr色彩格式直接由RGB色彩格式通過線性變換得到,所以其亮度分量Y并不是完全獨立于色度信息而存在的,膚色的聚類區(qū)域也是隨亮度分量的不同而呈現(xiàn)非線性變化的趨勢。</p><p>  在YCbCr色彩空間中,膚色聚類是呈兩頭尖的紡錘形狀,也就是在Y值較大和較小的部分,膚色聚類區(qū)域也隨之縮減。簡單地排除Y分類,按照傳統(tǒng)的做法在二維的Cb—Cr子平面中尋求膚色的聚類區(qū)域是不可行的,

60、必須考慮Y之不同造成的影響,從而對YCbCr色彩格式進行非線性分段色彩變換。</p><p>  用4個邊界來限制膚色聚類區(qū)域可以很好地適應(yīng)亮度過明或過暗的區(qū)域,從而使膚色模型的魯棒性大大提高。</p><p>  經(jīng)過了非線性分段色彩變換得到的色彩空間我們用YCb′Cr′來表示。YCbCr坐標空間到Y(jié)Cb′Cr′坐標空間的變換過程推導(dǎo)如下。</p><p> ?。?/p>

61、1)將膚色區(qū)域的中軸線分別用Cb(Y)和Cr(Y)來表示,可以得到 Cb(Y)和Cr (Y)的表達式為:</p><p>  108+(Ki-Y)*(118-108)/(Ki-Ymin) if(Y<Ki)</p><p>  Cb(Y) = </p><p

62、>  108+(Y-Kh)*(118-108)/(Ymax-Kh) if(Kh<Y)</p><p><b> ?。?-1)</b></p><p>  154+(Ki-Y)*(154-144)/(Ki-Ymin) if(Y<Ki)</p><p>  Cr(Y) =

63、 </p><p>  154+(Y-Kh)*(154-132)/(Ymax-Kh) if(Kh<Y)</p><p>  其中, Ki和Kh為常量,即非線性分段色彩變換的分段域值,分別為: Ki=125, Kh =128。Ymax和Ymin也是常數(shù),它們是實驗數(shù)據(jù)的得到的膚色聚類區(qū)域中Y分量的最小和最大值:</p><p&

64、gt;  Ymin=16, Ymax =235</p><p> ?。?)同樣,將膚色區(qū)域的寬度分別用Wcb(Y)和Wcr(Y)來表示,這也是一個分段函數(shù),其表達式為:</p><p>  WLci+(Y-Ymin)*(Wci- WLci)/(Ki-Ymin) if(Y<Ki)</p><p>  Wci(Y)=

65、 (4-2)</p><p>  WHci+(Ymax-Y)*(Wci- WHci)/(Ymax-Kh) if(Kh<Y)</p><p>  其中i代表b或r,Ki、Kh、Ymin和Ymax同(1)中的數(shù)據(jù)。Wc、WLc和WHc也是常數(shù)他們分別為:</p><p>  Wcb=46.97

66、,WLcb=23,WHcb=14</p><p>  Wcr=38.76,WLcr=20,WHcr=10</p><p> ?。?)最后,根據(jù)上面的結(jié)果得到如下的非線性分段色彩變換公式:</p><p> ?。–i(Y)- Ci(Y))*Wci/ Wci(Y)+ Ci(Y)if(Y<Ki)or(Kh<Y) </p><

67、;p>  Ci′(Y) = (4-3)</p><p>  Ci(Y) if(Y∈[Ki,Kh])</p><p>  按照傳統(tǒng)的方法,可以用一個橢圓來近似膚色區(qū)域。我們得到它的解析表達式為:</p><p>  (x

68、-ecx)2/a2+(y-ecy)2/b2=1,</p><p>  其中,xcosθsinθCb′-cx</p><p>  y -cosθsinθCr′-cy (4-4)</p><p>  解析式中的常量分別為:</p><p>  cx=109.38,cy=152.02<

69、/p><p>  ecx=1.60,ecy=2.41</p><p>  a=25.39,b=14.03</p><p>  4.1.3 人臉區(qū)域分割</p><p><b>  (1)系統(tǒng)結(jié)構(gòu)圖</b></p><p>  人臉區(qū)域分割的系統(tǒng)結(jié)構(gòu)圖如圖4-1所示。</p>

70、;<p>  圖4-1 系統(tǒng)示意圖</p><p>  在上面的示意圖中,輸出的一系列矩形就將取代原來的整幅圖像作為后面的人臉檢測算法的輸入。對于這些矩形的要求如下。</p><p>  ①這一系列矩形應(yīng)該盡可能的包含待檢測圖像中的所有人臉</p><p>  對于距離較近或者是有接觸多個人連,分割后得到的膚色區(qū)域自然距離較近或者是連在一起,這時可以用

71、一個矩形區(qū)域覆蓋它們。不漏檢、不降低正確率是整個膚色分割與處理的前提,也是人臉區(qū)域分割算法的首要前提。根據(jù)前面對膚色模型的分析,無論什么樣的膚色模型都存在著判斷失誤的現(xiàn)象,所以算法輸出的一系列矩形應(yīng)該盡量包含所有的人臉區(qū)域便顯得尤為重要。</p><p>  ②這一系列矩形應(yīng)該少包含非膚色區(qū)域</p><p>  即相對原來的整幅圖像,經(jīng)過膚色分割與處理后的這一系列矩形的大小要明顯小于原來

72、的整幅圖像。這也正是膚色分割預(yù)處理能夠提高人臉檢測算法的時間效率的原因,也是膚色分割預(yù)處理能夠降低誤報率的關(guān)鍵。</p><p> ?。?)人臉區(qū)域分割算法</p><p>  根據(jù)上面對膚色區(qū)域分割算法結(jié)果的要求,也就是對于算法本身的要求,本系統(tǒng)采用了如下的人臉區(qū)域分割算法。</p><p>  物體分割方法大體上有3大類方法:基于像素的方法,基于邊界的方法和基于

73、區(qū)域的方法。利用膚色模型像素點的提取相當于已經(jīng)應(yīng)用了基于像素的方法,在此基礎(chǔ)上要將這一個個分散的膚色像素點構(gòu)成一個個人臉區(qū)域,再用這些人臉區(qū)域的外接矩形來表征它們?;谶吔绲姆椒ㄓ捎谔幚淼南袼財?shù)量相對較少,各像素點間的相鄰關(guān)系也相對簡單,所以處理起來的速度要比基于區(qū)域的方法快;但另一方面,由于基于邊界的方法是從局部特性來求圖像整體的分割,因此在全局宏觀性質(zhì)的考慮上不如基于區(qū)域的方法。</p><p>  本程序采

74、用將基于邊界的方法和基于區(qū)域的方法相結(jié)合的算法:基于邊界的方法主要用于前期初始矩形序列的產(chǎn)生,爭取快速的得到包含人臉區(qū)域的外接矩形;然后用基于區(qū)域的方法,全局考慮,對初始矩形序列進行區(qū)域歸并,得到最終的輸出矩形。算法的流程如圖4-2所示。</p><p>  圖4-2 區(qū)域分割算法流程圖</p><p>  解釋以上的算法流程的主要步驟。</p><p><b

75、> ?、偃ピ肼曁幚?lt;/b></p><p>  在完全沒有先驗知識的情況下,對于一些獨立的膚色像素點,想將它們歸為一個個人臉區(qū)域,很自然會想到找連通區(qū)的方法。屬于同一個人臉區(qū)域的膚色像素點應(yīng)該是相互連通的;反之,一個人臉區(qū)域也應(yīng)該是由一些連通的膚色像素點構(gòu)成的。但由于噪聲普遍存在于數(shù)字圖像中,還有基于膚色模型的分割結(jié)果存在判斷失誤的情況,都會在連通的人臉區(qū)域中產(chǎn)生非膚色的噪聲。所以進行人臉區(qū)域分

76、割之前要進行去噪聲或者濾波的處理。</p><p>  本程序采用了一種基于像素“密度”的濾波方法來去除噪聲。這是一種類似“卷積”的濾波方法。直觀地講,就是在以每一個膚色像素為中心的5*5領(lǐng)域內(nèi)統(tǒng)計膚色像素的個數(shù),超過半數(shù)時中心點保留為膚色,否則認為是非膚色。</p><p> ?、谔崛∵吔?、對邊界的連通關(guān)系作處理并由邊界的連通性和閉合性得到初始的一系列矩形</p><

77、p>  在得到了是否是膚色的相當于是二值化的圖像以后,我們就可以提取出每一個人臉區(qū)域的邊界。為提高人臉區(qū)域提取算法的速度,本程序采用如下的膚色區(qū)域邊界提取算法:掃描圖像一遍,將與非膚色像素點相鄰的膚色像素點提取出來作為膚色區(qū)域的邊界。顯而易見,經(jīng)過了膚色分割以及去噪聲處理后的圖像提取出來的邊界都是各自閉合的,即每一段邊界都是首尾相接的,各自包圍著一個個的連通的膚色區(qū)域。</p><p>  由上面所述的邊界

78、提取算法得到的膚色區(qū)域邊界,這樣的邊界上點和點之間的相鄰關(guān)系是遵循四連通原則的,即在以一個像素點為中心的3*3領(lǐng)域內(nèi),按照上、下、左、右4個方向來跟蹤邊界。直觀的稱這種邊界為“原始四連通邊界”。</p><p>  但是,后邊的尋找初始的人臉區(qū)域外接矩形的算法是基于邊界的,所以邊界點數(shù)目越少越有利于提高算法性能。而且過多冗余的邊界點也會給基于邊界找外接矩形的方法帶來更多可能失誤的情況。例如:過于接近的邊界點會導(dǎo)致

79、不應(yīng)該出現(xiàn)的小矩形的出現(xiàn);2*2的小正方形中的4個像素點如果都是邊界點就會導(dǎo)致邊界跟蹤失敗。所以需要對“原始四連通邊界”上的像素點在進一步處理,拋棄不與膚色像素點相鄰的邊界點。這樣一來,冗余的邊界點被減少,邊界相鄰關(guān)系也更加簡答,利用四連通原則來判斷邊界的連通和閉合關(guān)系就會減少失誤和跟蹤失敗的現(xiàn)象。</p><p>  這樣做以后,就可以由邊界的連通性和閉合性來找每一段邊界的外接矩形?;谌缦聨讞l論據(jù),可以知道“

80、簡化四連通邊界”得到的外接矩形可以找到人臉區(qū)域的外接矩形。</p><p>  論據(jù)一:如果找到的“簡化四連通邊界”是閉合的,則顯然閉合區(qū)域的外接矩形就是膚色區(qū)域的外接矩形。閉合的“簡化四連通邊界”內(nèi)部還可能存在閉合的或者不閉合的“簡化四連通邊界”,也就是說可能還存在連通的非膚色區(qū)域,但考慮到預(yù)處理的前提是盡可能包括膚色即人臉區(qū)域,所以在沒有其他先驗知識的情況下,應(yīng)該講這樣的膚色區(qū)域用一個矩形包圍起來,參加后面的

81、人臉檢測。另外,在前面對膚色模型的分析中也可以清楚地看到,由于高光等影響,人臉的額頭、顴骨等處經(jīng)常被誤檢為不是膚色,而周圍的以一個環(huán)狀區(qū)域被誤檢的可能性就小的多,所以更應(yīng)該將這種膚色區(qū)域中間包圍非膚色區(qū)域的情況用一個大的外接矩形包圍起來參加后面的人臉檢測,才能保證不漏檢。</p><p>  論據(jù)二:由于受到噪聲和邊界提取并不完全精確等因素的影響,找到的“簡化四連通邊界”也并不一定都是閉合的。但即使這樣,每一個連

82、通的膚色區(qū)域的邊界也一定是有一些不閉合的“簡化四連通邊界”段組成,這些邊界段各自的外接矩形一定是相互接觸或有重疊的,在后面的區(qū)域歸并算法中將對這樣的情況進行處理,用這些矩形的公共外接矩形來包圍整個區(qū)域,顯然這樣得到的一個公共外接矩形也是原膚色區(qū)域應(yīng)有的、正確的外接矩形。下面就是由邊界的連通性和閉合性得到的初始的一系列矩形即提取人臉區(qū)域外接矩形的具體算法。</p><p>  第1步:給每一個邊界點增加一個標志域:

83、“邊界跟蹤的起始點”、“已檢測過的邊界點”和“未檢測過的邊界點”。</p><p>  第2步:在圖像中的邊界點中從下到上、從左到右尋找一個未檢測過的邊界點,即標志域為“未檢測過的邊界點”的點。如果找得到,將其標志域改為“邊界跟蹤點的起始點”,為這一新的跟蹤建立一個外接矩形,初始化其上、下、左、右4個邊界,轉(zhuǎn)第3步;若找不到轉(zhuǎn)第7步。</p><p>  第3步:從這一“邊界跟蹤的起始點”

84、開始,按照四連通的原則,在其上、下、左、右的4個鄰接點中尋找“未檢測過的邊界點”,因為不存在孤立的邊界點,所以這個點一定能找到,將其標志域改為“已檢測過的邊界點”,并將其作為當前操作點,轉(zhuǎn)第4步。</p><p>  第4步:從當前操作點開始,按照四連通的原則,在其上、下、左、右的4個鄰接點中尋找“未檢測過的邊界點”或“邊界跟蹤的起始點”。如果找到,轉(zhuǎn)第5步;否則轉(zhuǎn)第6步。</p><p>

85、;  第5步:如果新找到的點是“未檢測過的邊界點”,則將其標志域改為“已檢測過的邊界點”,將其作為當前操作點,再轉(zhuǎn)回第4步。如果新找到的點是“邊界跟蹤的起始點”,要判斷這一點與當前操作點是否“互相找到對方”,如果是,仍以原來那個當前操作點開始,轉(zhuǎn)回第4步;如果不是,將“邊界跟蹤的起始點”的標志域改為“已檢測過的邊界點”,并轉(zhuǎn)第6步。</p><p>  第6步:將第2步中建立的外接矩形的四個邊界值確定,并轉(zhuǎn)第2步

86、尋找新的人臉區(qū)域。</p><p>  第7步:整個圖像中的人臉區(qū)域?qū)ふ彝戤叄玫搅艘幌盗型饨泳匦巍?lt;/p><p>  在算法中每找到一個新的“未檢測過的邊界點”就判斷其坐標值能否改變外接矩形4個邊的位置,這樣所有的邊界點找完,外接矩形也就自然確定下來。</p><p>  ·將初始的矩形序列進行歸并處理</p><p>  前面

87、分析過,基于邊界的人臉區(qū)域分割方法有快速、便捷的優(yōu)點,但它是從局部特性出發(fā),沒有考慮圖像整體因素,會造成得到的初始的矩形序列中的矩形相互覆蓋、重疊等現(xiàn)象,所以要對這一初始矩形序列進行歸并處理。尤其可能出現(xiàn)一個封閉的膚色連通區(qū)的邊界被跟蹤成了幾小段的情況,所以這一步的歸并處理也顯得必不可少。</p><p>  具體的歸并原則如下:</p><p>  第1步:當一個矩形完全包圍另一個矩形時

88、,拋棄內(nèi)部的矩形。</p><p>  第2步:當兩個矩形的邊界接觸或兩個矩形出現(xiàn)重疊現(xiàn)象時,用這兩個矩形公共的外接矩形來代替這兩個矩形。</p><p>  第3步:經(jīng)過以上兩步歸并得到的矩形,如果其尺寸小于系統(tǒng)默認最小尺寸即20*20像素,也將其拋棄。</p><p>  經(jīng)過這樣的歸并處理以后,就可以得到最終的輸出矩形,即膚色分割處理的最終結(jié)果。 []<

89、/p><p>  4.1.4 具體實現(xiàn)</p><p>  基于人臉膚色模型,采用了兩種方法來檢測人臉區(qū)域。</p><p> ?。?)基于相似度的方法</p><p>  首先定義r=R/(R+G+B),b=B/(R+G+B),這樣把三維的RGB降為二維。而在這個二維平面上,膚色的區(qū)域相對很集中,可以用高斯分布來描述這種分布。</p>

90、;<p>  那么可以采用訓(xùn)練的方法來計算得到一個分布中心,然后根據(jù)所考察的像素離該中心的遠近得到一個和膚色相似的度,繼而得到一個原圖的相似度分布圖,再按照一定的規(guī)則對該分布圖二值化,以最終確定膚色的區(qū)域。訓(xùn)練的時候,需要確定的是均值M和方差C。如下面的公式:</p><p>  M=E(x),C=E((x-M)(x-M)T)x=[r,b]T (

91、4-5)</p><p>  程序中提供了訓(xùn)練參數(shù)的功能,可以用訓(xùn)練的參數(shù)取代默認參數(shù)。計算相似度時,采用公式P(r,b)=exp[-0.5(x-m)TC-1(x-m)]。</p><p><b>  核心代碼如下:</b></p><p>  //////////////////////////////////////////////////

92、//////////////</p><p><b>  //計算相似度</b></p><p>  ////////////////////////////////////////////////////////////////</p><p>  for(i=0; i<m_nHeight; i++)</p><p&

93、gt;<b>  {</b></p><p>  for(j=0; j<m_nWidth; j++)</p><p><b>  {</b></p><p>  double x1,x2;</p><p>  TCbCr temp = CalCbCr(m_pSourceData[i][j].r

94、gbRed,m_pSourceData[i][j].rgbGreen,m_pSourceData[i][j].rgbBlue);</p><p>  x1 = temp.Cb-bmean;</p><p>  x2 = temp.Cr-rmean;</p><p><b>  double t;</b></p><p>

95、  t = x1*(x1*brcov[1][1]-x2*brcov[1][0])+x2*(-x1*brcov[0][1]+x2*brcov[0][0]);</p><p>  t /= (brcov[0][0]*brcov[1][1]-brcov[0][1]*brcov[1][0]);</p><p>  t /= (-2);</p><p>  m_pLikeli

96、HoodArray[i][j] = exp(t);</p><p><b>  }</b></p><p><b>  }</b></p><p>  filter(m_pLikeliHoodArray,m_nWidth,m_nHeight);</p><p>  double max = 0.0;

97、</p><p>  for(i=0; i<m_nHeight; i++)</p><p>  for(j=0; j<m_nWidth; j++)</p><p>  if(m_pLikeliHoodArray[i][j] > max) </p><p>  max = m_pLikeliHoodArray[i][j];&l

98、t;/p><p>  圖4-3 相似度計算圖</p><p>  /////////////////////////////////////////////////////////////////////////</p><p><b>  //二值化圖像</b></p><p>  ////////////////////

99、/////////////////////////////////////////////////////</p><p>  for(i=0; i<m_nHeight; i++)</p><p>  for(j=0; j<m_nWidth; j++)</p><p><b>  {</b></p><p>

100、  if(m_pLikeliHoodArray[i][j]>k*0.1+0.05)</p><p>  m_pBinaryArray[i][j] = 1;</p><p><b>  else</b></p><p>  m_pBinaryArray[i][j] = 0;</p><p><b>  }&

101、lt;/b></p><p><b>  圖4-4 二值化圖</b></p><p> ?。?)基于皮膚區(qū)域、頭發(fā)區(qū)域的方法</p><p>  r=R/R+G+B,g=G/R+G+B,Y=0.30R+0.59G+0.11B (4-6)</p><p>  其中RGB為原圖像素的值。那么,當滿足如下條

102、件時:</p><p>  0.333<r<0.664</p><p>  0.246<g<0.398 (4-7) </p><p><b>  r>g</b></p><p>  g≥0.5-0.5r</p><p> 

103、 該區(qū)域可能是膚色的顏色。同時,當Y<40是,該區(qū)域可能使頭發(fā)的顏色。那么原圖就可以劃分為3種區(qū)域:皮膚、頭發(fā)、背景。然后那些上面是頭發(fā),下面是膚色的區(qū)域,并且滿足面積大于一定的域值,這樣的區(qū)域可能就是人臉。對大多數(shù)圖這樣的效果還可以,但是如果背景的顏色也接近膚色,就叫難判斷了。</p><p><b>  核心代碼如下:</b></p><p>  /////

104、/////////////////////////////////////////////////////////////////</p><p>  // 標記臉和頭發(fā)的位置</p><p>  //////////////////////////////////////////////////////////////////////</p><p>  for(

105、i=0;i<m_nHeight;i++)</p><p>  for(j=0;j<m_nWidth ;j++)</p><p><b>  {</b></p><p>  double r,g,Y,temp;</p><p>  temp = m_pSourceData[i][j].rgbGreen</

106、p><p>  +m_pSourceData[i][j].rgbRed</p><p>  +m_pSourceData[i][j].rgbBlue;</p><p>  r = (double)m_pSourceData[i][j].rgbRed/temp;</p><p>  g = (double)m_pSourceData[i][j].r

107、gbGreen/temp;</p><p>  Y = 0.30*m_pSourceData[i][j].rgbRed+0.59*m_pSourceData[i][j].rgbGreen</p><p>  +0.11*m_pSourceData[i][j].rgbBlue;</p><p>  if(g<0.398 && g > 0.2

108、46 && r<0.664 && r>0.333 && r>g && g>=0.5*(1-r))</p><p><b>  {</b></p><p>  m_pBinaryArray[i][j] = 0; //臉的位置</p><p><b>

109、;  }</b></p><p>  else if(Y<40)</p><p><b>  {</b></p><p>  m_pBinaryArray[i][j] = 1; //頭發(fā)位置</p><p><b>  }</b></p><p><

110、b>  else</b></p><p><b>  {</b></p><p>  m_pBinaryArray[i][j] = 2; //什么也不是</p><p><b>  }</b></p><p><b>  }</b></p>&

111、lt;p>  圖4-5 臉和頭發(fā)計算圖</p><p>  4.2 人臉特征的檢測</p><p>  特征檢測在人臉識別、驗證和建模中都具有重要的意義,因為眼睛、鼻子和嘴巴等特征集中了人臉的大部分信息。對于人臉建模來說,不僅要檢測出這些特征,而且要準確地加以定位。</p><p>  下面介紹人臉特征檢測算法。</p><p>  圖

112、4-6給出人臉特征檢測的流程</p><p>  圖4-6 人臉特征檢測的流程圖</p><p>  4.2.1 候選特征的提取</p><p>  假設(shè)人臉的姿態(tài)比較正,那么人臉上的特征是水平邊緣集中的區(qū)域??梢栽诘头直媛氏绿崛∷竭吘?,然后找到人臉區(qū)域內(nèi)富含這些邊緣的連通區(qū),作為人臉特征的候選區(qū)域。</p><p>  這些區(qū)域的位置和大

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論