畢業(yè)論文--人臉檢測(cè)系統(tǒng)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩105頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  中文題目:人臉檢測(cè)系統(tǒng)設(shè)計(jì)</p><p>  外文題目:FACE DETECTION SYSTEM</p><p>  畢業(yè)設(shè)計(jì)(論文)共100頁(yè)(其中:外文文獻(xiàn)及譯文14頁(yè))圖紙共 0 張</p><p>  完成日期 2015年6月 答辯日期 2015年6月</p><p><b>  摘要&

2、lt;/b></p><p>  本項(xiàng)目致力于完成Microsoft Visual Studio 2010平臺(tái)下的人臉檢測(cè)與定位系統(tǒng),人臉檢測(cè)定位的算法基于基于膚色相似度算法。本設(shè)計(jì)主要完成的工作包括求膚色的相似概率、二值化、水平與垂直方向的投影、人臉特征(眼睛、眉毛、嘴巴和鼻子)的提取、精確定位人臉區(qū)域。系統(tǒng)對(duì)于提升人臉檢測(cè)的準(zhǔn)確率具有指導(dǎo)意義,</p><p>  設(shè)計(jì)

3、了基于膚色的人臉檢測(cè)和定位系統(tǒng)。 采用了臉部皮膚之間相似度的方法以及二值化方法,使用了基于邊界方法和基于區(qū)域方法相結(jié)合的算法, 提取了眼睛、嘴和鼻子等關(guān)鍵特征,最終較好地實(shí)現(xiàn)了人臉定位。 在Microsoft Windows平臺(tái)上,利用Microsoft Visual Studio 2010 開發(fā)了軟件。</p><p>  對(duì)于清晰的正面人臉圖,該系統(tǒng)能夠做出正確地檢測(cè)定位并提取出特征。 </p

4、><p>  關(guān)鍵詞:圖像分割;人臉定位;膚色;人臉檢測(cè);特征提取</p><p><b>  Abstract</b></p><p>  This topic devotes to completing the detection and localization system of the person face under the Mic

5、rosoft Visual Studio 2010 platforms, and the detection localization algorithm of the person face limit to basing on the skin color similarity algorithm. The topic must complete similarity computation, binary image p

6、rocessing, vertical histogram, horizontal histogram and extracting person face characteristic (eye, mouth and nose). This topic emphasize application of skin color model similarity </p><p>  In this paper, t

7、he authors have presented an algorithm and designed a system for face detection and location based on complexion. By strengthening the contrast between face features and by adopting binary image processing method, the sy

8、stem has improved the preprocessing effect; and by using boundary-based algorithm plus region-based algorithm , the system has realized face location through the extraction of the features of eyes, nose and mouth. Taking

9、 advantages of Microsoft Visual Studio 2010,</p><p>  Production of this paper have definite application value.Experiment results prove that the system is valid in detecting.</p><p>  Key w

10、ords: image segmentation; face localization; complexion; face detection; feature ex-traction</p><p><b>  目錄</b></p><p><b>  0 前言1</b></p><p><b>  1

11、問(wèn)題定義2</b></p><p>  1.1 系統(tǒng)名稱2</p><p>  1.2 項(xiàng)目目標(biāo)2</p><p>  1.3 項(xiàng)目范圍3</p><p>  1.4 可行性研究階段經(jīng)費(fèi)估算3</p><p>  2 可行性研究4</p><p>  2.1

12、系統(tǒng)目標(biāo)4</p><p>  2.2 可行性分析4</p><p>  2.2.1 可行性分析的目的4</p><p>  2.2.2 技術(shù)可行性4</p><p>  2.2.3 經(jīng)濟(jì)可行性5</p><p>  2.2.4 操作可行性5</p><p>  2.2.5

13、 法律可行性5</p><p>  2.2.6 可行性研究結(jié)論5</p><p>  3 人臉檢測(cè)系統(tǒng)需求分析6</p><p>  3.1 人臉檢測(cè)系統(tǒng)需求6</p><p>  3.1.1 人臉檢測(cè)系統(tǒng)功能需求6</p><p>  3.1.2 人臉檢測(cè)系統(tǒng)環(huán)境需求7</p>

14、<p>  3.1.3 人臉檢測(cè)系統(tǒng)可靠性需求7</p><p>  3.1.4 人臉檢測(cè)安全保密需求8</p><p>  3.1.5 人臉檢測(cè)系統(tǒng)用戶界面需求8</p><p>  3.1.6 人臉檢測(cè)系統(tǒng)資源使用需求9</p><p>  3.2 人臉檢測(cè)系統(tǒng)需求分析9</p><p&g

15、t;  3.2.1 人臉檢測(cè)系統(tǒng)分析用例模型9</p><p>  3.2.2 人臉檢測(cè)用例描述11</p><p>  3.3 系統(tǒng)用例活動(dòng)圖設(shè)計(jì)13</p><p>  4 系統(tǒng)分析17</p><p>  4.1 人臉檢測(cè)系統(tǒng)對(duì)象模型設(shè)計(jì)18</p><p>  4.1.1 實(shí)體類分析19

16、</p><p>  4.1.2 邊界類分析22</p><p>  4.1.3 控制類分析23</p><p>  4.2 人臉檢測(cè)系統(tǒng)動(dòng)態(tài)模型設(shè)計(jì)23</p><p>  4.3 人臉檢測(cè)系統(tǒng)功能模型設(shè)計(jì)24</p><p>  5 系統(tǒng)設(shè)計(jì)25</p><p>  5.

17、1 實(shí)體類設(shè)計(jì)26</p><p>  5.1.1 文件類設(shè)計(jì)26</p><p>  5.1.2 預(yù)處理類27</p><p>  5.1.3 特征提取類30</p><p>  5.2 邊界類設(shè)計(jì)36</p><p>  5.3 控制類設(shè)計(jì)36</p><p><

18、;b>  6 編碼36</b></p><p>  6.1 編程工具的選擇37</p><p>  6.2 變量及函數(shù)命名規(guī)則37</p><p>  6.2.1 變量名設(shè)計(jì)原則37</p><p>  6.2.2 變量設(shè)計(jì)37</p><p>  7 測(cè)試設(shè)計(jì)38</p&

19、gt;<p>  7.1 系統(tǒng)測(cè)試的基本原則39</p><p>  7.2 人臉檢測(cè)系統(tǒng)單元測(cè)試39</p><p>  7.3 人臉檢測(cè)系統(tǒng)測(cè)試結(jié)論45</p><p>  7.3.1 軟件能力45</p><p>  7.3.2 軟件缺陷46</p><p>  8 系統(tǒng)使用說(shuō)

20、明46</p><p>  8.1 系統(tǒng)運(yùn)行環(huán)境47</p><p>  8.2 系統(tǒng)安裝指南47</p><p><b>  9 結(jié)束語(yǔ)47</b></p><p><b>  致謝48</b></p><p><b>  參考文獻(xiàn)49</

21、b></p><p>  附錄A 中文譯文50</p><p>  附錄B 英文原文56</p><p>  附錄C 核心代碼64</p><p><b>  0 前言</b></p><p>  當(dāng)今世界網(wǎng)絡(luò)信息技術(shù)迅猛發(fā)展,人們需要不斷的提高安全知識(shí)。用數(shù)字來(lái)表示身份逐漸成為網(wǎng)絡(luò)

22、信息時(shí)代的一大特點(diǎn)。因此,保護(hù)信息安全的同時(shí)鑒別一個(gè)人的身份就成為了社會(huì)的關(guān)鍵性問(wèn)題。</p><p>  身份確認(rèn)是當(dāng)今社會(huì)必不可少的。例如,針對(duì)個(gè)人而言,銀行的取款機(jī)需要密碼確認(rèn),上班也需要打卡,個(gè)人身份的確定也需要身份證、學(xué)生證等相關(guān)證件,在網(wǎng)上購(gòu)物的話,付款時(shí)也需要密碼和短信來(lái)進(jìn)行確認(rèn)。但是,身份證、鑰匙、密碼等傳統(tǒng)的身份認(rèn)證方式存在很大的弊端。鑰匙、身份證等很容易偽造出來(lái),而且如果不小心丟失被他人拾取很

23、容易造成財(cái)產(chǎn)損失。另外,對(duì)社會(huì)而言,恐怖組織日益猖獗,恐怖事件每年都會(huì)發(fā)生很多,各個(gè)國(guó)家需要更加準(zhǔn)確、方便的身份確認(rèn)方式來(lái)保護(hù)國(guó)家安全。此時(shí)就需要一種不易丟失、不易偽造、可以永久保存、便于隨身攜帶的身份確認(rèn)方式。正是在這種情況下,人臉識(shí)別技術(shù)應(yīng)運(yùn)而生。</p><p>  人臉檢測(cè)是生物特征鑒別技術(shù)的一個(gè)主要方向,與其他生物特征相比,人臉檢測(cè)具有主動(dòng)性、非侵犯性和用戶友好性等許多優(yōu)點(diǎn)。人臉檢測(cè)技術(shù)可以被應(yīng)用在多種

24、不同的安全領(lǐng)域:證件中的身份認(rèn)證;樓宇進(jìn)出的安全控制;重要場(chǎng)所中的安全檢測(cè)和監(jiān)控;智能卡中的身份認(rèn)證。另外,人臉檢測(cè)技術(shù)在信息安全領(lǐng)域(計(jì)算機(jī)的登錄控制,應(yīng)用程序安全使用、數(shù)據(jù)庫(kù)安全訪問(wèn)和文件加密,實(shí)現(xiàn)局域網(wǎng)和廣域網(wǎng)的安全控制,保護(hù)電子商務(wù)的安全性)也有著巨大的潛在應(yīng)用價(jià)值。其次,人臉檢測(cè)技術(shù)可以用于創(chuàng)建友好自然的人機(jī)交互方式。最后,人臉檢測(cè)技術(shù)還可以用于圖像庫(kù)檢索,在大型人臉庫(kù)中檢索出與索引人臉相同或相近的人臉?;谌四樀纳矸蓁b別具有

25、重大的應(yīng)用價(jià)值,成功的人臉檢測(cè)系統(tǒng)將形成數(shù)十億元的巨大市場(chǎng)。</p><p>  人臉檢測(cè)技術(shù)是新興的身份確認(rèn)技術(shù),不但在學(xué)術(shù)研究方面,有巨大的價(jià)值,而且在經(jīng)濟(jì)飛速發(fā)展的現(xiàn)代社會(huì),人臉檢測(cè)技術(shù)將會(huì)有更大的市場(chǎng)需求。有報(bào)告顯示,身份證、鑰匙、密碼等傳統(tǒng)的身份認(rèn)證方式最后都將會(huì)被人檢測(cè)別等生物識(shí)別方式取代。</p><p><b>  1 問(wèn)題定義</b></p&

26、gt;<p>  近年來(lái),人臉檢測(cè)技術(shù)得到了極大的發(fā)展,但到目前為止,還沒(méi)有一種徹底解決問(wèn)題的辦法,只能是使檢測(cè)技術(shù)越來(lái)越完善。本設(shè)計(jì)將會(huì)運(yùn)用面向?qū)ο蟮乃枷雽?duì)人臉檢測(cè)系統(tǒng)進(jìn)行開發(fā)。</p><p><b>  1.1 系統(tǒng)名稱</b></p><p><b> ?、?系統(tǒng)名稱</b></p><p><

27、;b>  人臉檢測(cè)系統(tǒng)</b></p><p><b> ?、?作用</b></p><p>  現(xiàn)今視頻監(jiān)控正在迅速普及,眾多的視頻監(jiān)控應(yīng)用都需要一種遠(yuǎn)距離、用戶不配合狀態(tài)下快速獲取人臉信息的技術(shù),以便遠(yuǎn)距離快速確認(rèn)身份,做出及時(shí)處理。人臉識(shí)別技術(shù)無(wú)疑是最佳的選擇,采用人臉識(shí)別技術(shù)可以從圖象中查找出人臉,并與數(shù)據(jù)庫(kù)進(jìn)行實(shí)時(shí)比對(duì),從而實(shí)現(xiàn)快速身份識(shí)別

28、。其中,人臉檢測(cè)是人臉識(shí)別必不可少的一部分。</p><p><b>  1.2 項(xiàng)目目標(biāo)</b></p><p>  此畢業(yè)設(shè)計(jì)題目是人臉檢測(cè)系統(tǒng)的實(shí)現(xiàn)。人臉檢測(cè)系統(tǒng)總體上分為四部分:圖像獲取、預(yù)處理、特征提取和人臉面部特征區(qū)域標(biāo)識(shí)定位等。圖像獲取部分主要是將需要進(jìn)行處理圖像讀取到系統(tǒng)中來(lái),獲取圖像的基本信息,以便對(duì)圖像的像素進(jìn)行處理。預(yù)處理部分主要是對(duì)圖像圖像獲

29、取預(yù)處理模塊,包括圖像灰度化、均值濾波、以及邊緣提取。人臉預(yù)處理過(guò)程是計(jì)算機(jī)人臉識(shí)別中一個(gè)重要過(guò)程。人臉圖像預(yù)處理的好壞對(duì)整個(gè)系統(tǒng)至關(guān)重要,對(duì)人臉預(yù)處理的研究具有非常重要的意義。特征提取通過(guò)標(biāo)記人臉區(qū)域來(lái)確定和計(jì)算人臉的各器官的位置,比如眼睛、眉毛、鼻子、嘴巴。人臉面部特征區(qū)域標(biāo)識(shí)定位在確認(rèn)特征點(diǎn)之后,根據(jù)五官的位置重新定位更加精確的人臉位置。</p><p>  本項(xiàng)目主要是為了打好基礎(chǔ),學(xué)習(xí)一些人臉檢測(cè)的知識(shí)

30、,以便在日后更好的學(xué)習(xí)人臉識(shí)別的高級(jí)知識(shí)。</p><p><b>  1.3 項(xiàng)目范圍</b></p><p>  本項(xiàng)目主要對(duì)人臉的檢測(cè)與定位進(jìn)行設(shè)計(jì)與開發(fā),人臉檢測(cè)作為模式識(shí)別的一種,一般可以分為人臉檢測(cè)及定位,人臉特征提取技術(shù)和人臉重新定位等。</p><p>  一個(gè)基本的人臉檢測(cè)過(guò)程包括以下幾個(gè)方面,人臉初步檢測(cè),特征提取和人臉重

31、新定位。圖1-1是人臉檢測(cè)過(guò)程的幾個(gè)步驟,它的基本任務(wù)是對(duì)待檢測(cè)圖像進(jìn)行檢測(cè),分割,然后在所分割出來(lái)的相關(guān)人臉區(qū)域進(jìn)行特征提取,最后從新確定人臉區(qū)域。在基本的人臉檢測(cè)研究基礎(chǔ)之上可以進(jìn)行更深層次的研究。</p><p>  圖1-1人臉檢測(cè)過(guò)程</p><p>  Figure 1-1 Face recognition process</p><p>  1.4

32、可行性研究階段經(jīng)費(fèi)估算</p><p>  本項(xiàng)目建立的目的主要是提高本人的編程能力和學(xué)習(xí)能力,需要實(shí)現(xiàn)的算法都已經(jīng)非常成熟了,遇到的困難只需要查閱資料、請(qǐng)教老師,所以基本不需要經(jīng)費(fèi)。</p><p><b>  2 可行性研究</b></p><p>  在可行性研究中,將從技術(shù)、經(jīng)濟(jì)、等方面的基本要求和開發(fā)人員兩個(gè)方面分析人臉檢測(cè)系統(tǒng)能否

33、實(shí)現(xiàn)。其中包括技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性、法律可行性等。</p><p><b>  2.1 系統(tǒng)目標(biāo)</b></p><p>  本系統(tǒng)將實(shí)現(xiàn)以下功能:</p><p> ?。?)在圖片中初步確定出人臉區(qū)域;</p><p> ?。?)標(biāo)記出人臉的特征(例如:眼睛、眉毛、鼻子、嘴巴);</p>

34、<p> ?。?)根據(jù)標(biāo)記的特征點(diǎn),確定精確的人臉區(qū)域。</p><p>  2.2 可行性分析</p><p>  2.2.1 可行性分析的目的</p><p>  在開發(fā)人臉檢測(cè)系統(tǒng)中,將有很多困難,這些困難將可能直接導(dǎo)致系統(tǒng)的開發(fā)失敗。為了避免盲目的開發(fā),我們需要對(duì)次項(xiàng)目的可行性進(jìn)行研究。結(jié)合資金、時(shí)間和環(huán)境等各方面的制約條件,對(duì)人臉檢測(cè)系統(tǒng)是否

35、能夠解決檢測(cè)中存在的問(wèn)題,是否能夠帶來(lái)預(yù)期的效果和價(jià)值做出正確的評(píng)估。</p><p>  2.2.2 技術(shù)可行性</p><p>  人臉檢測(cè)技術(shù)就是判斷圖像中是否存在人臉。如果存在,確定出人臉的大小和位置等,并且需要將人臉與背景分離出來(lái)。人臉檢測(cè)的方法主要有三類:基于知識(shí)、模板匹配和基于統(tǒng)計(jì)學(xué)方法。本系統(tǒng)使用的是基于知識(shí)的方法,下面將著重講述人臉檢測(cè)的方法。</p>&

36、lt;p>  基于知識(shí)是通過(guò)抽取灰度和幾何特征形成一定規(guī)則,然后檢驗(yàn)這些規(guī)則是否符合人臉先驗(yàn)知識(shí)的方法。此方法相對(duì)其他方法而言比較簡(jiǎn)單,并且計(jì)算速度相對(duì)較快,運(yùn)算時(shí)間較小,所以在人臉檢測(cè)中最為常用。在確定臉部區(qū)域上,通常使用的方法是膚色模型法。膚色提取,則對(duì)臉部區(qū)域的獲取則比較準(zhǔn)確,成功率達(dá)到95%以上,并且速度快,減少很多工作。</p><p>  在確定人臉之后,根據(jù)人臉的面部結(jié)構(gòu)特點(diǎn),就可以確定出眼睛

37、、眉毛、嘴巴和鼻子等特征了。 </p><p>  人臉檢測(cè)的算法已經(jīng)非常成熟了。目前主要的難題就是是我的編程能力能否實(shí)現(xiàn)這些算法。在大學(xué)階段,我學(xué)習(xí)了一系列編程語(yǔ)言,并且掌握的比價(jià)扎實(shí),我相信只要肯下功夫,這些算法還是可以實(shí)現(xiàn)的。</p><p>  綜上所述,本系統(tǒng)在技術(shù)方面是完全可現(xiàn)的。</p><p>  2.2.3 經(jīng)濟(jì)可行性</p>&l

38、t;p>  人臉檢測(cè)系統(tǒng)開發(fā)是圍繞教師科研項(xiàng)目,本科畢業(yè)設(shè)計(jì)主要是為了提高編程水平,所以不需要投入資金,只需要一臺(tái)電腦即可。自己找參考書和上網(wǎng)查一些資料就可以完成此系統(tǒng)的開發(fā)并能達(dá)到最終的需求。</p><p>  2.2.4 操作可行性</p><p>  此軟件開發(fā)主要為了學(xué)習(xí),用戶需求明確,調(diào)研方便。開發(fā)算法現(xiàn)在已經(jīng)比較成熟,實(shí)現(xiàn)性也是比較好,主要遇到的是編碼過(guò)程中的問(wèn)題,只

39、需查閱資料或請(qǐng)教老師便可解決。</p><p>  2.2.5 法律可行性</p><p>  本系統(tǒng)的設(shè)計(jì)與開發(fā),出發(fā)點(diǎn)是基于對(duì)大學(xué)四年來(lái)所學(xué)知識(shí)的綜合運(yùn)用,以及擴(kuò)充本人在人臉檢測(cè)領(lǐng)域的專業(yè)知識(shí),提高編程水平,整個(gè)開發(fā)過(guò)程沒(méi)有涉及合同、責(zé)任等與法律有關(guān)的方面。</p><p>  2.2.6 可行性研究結(jié)論</p><p>  綜上所述

40、,本系統(tǒng)投資少、收益大,且運(yùn)行操作簡(jiǎn)單易學(xué),從技術(shù),操作,經(jīng)濟(jì)和法律等方面可行。具備了開發(fā)的可行性。</p><p>  3 人臉檢測(cè)系統(tǒng)需求分析</p><p>  上一章已經(jīng)論證人臉檢測(cè)系統(tǒng)是完全可以實(shí)現(xiàn),下面將從系統(tǒng)需求的角度對(duì)人臉檢測(cè)系統(tǒng)做需求分析。</p><p>  3.1 人臉檢測(cè)系統(tǒng)需求</p><p>  3.1.1

41、人臉檢測(cè)系統(tǒng)功能需求</p><p>  人臉檢測(cè)系統(tǒng)的主要功能是能夠在給定圖像中檢測(cè)出人臉區(qū)域。本系統(tǒng)讀取已有的圖像,然后要對(duì)獲取到的圖像進(jìn)行“預(yù)處理”,根據(jù)預(yù)處理后圖像,將圖像中的人臉初步識(shí)別出來(lái),然后在識(shí)別出來(lái)的人臉區(qū)域中,確定人臉五官的位置,提取出相應(yīng)的特征。最后根據(jù)五官的位置重新確定出更加準(zhǔn)確的人臉區(qū)域。 </p><p>  系統(tǒng)的主要功能有圖像獲取功能、圖像預(yù)處理功能、特征提

42、取功能以及檢測(cè)功能。下面分析各個(gè)部分主要功能。</p><p>  1. 圖像獲取功能:圖像獲取部分主要是將需要進(jìn)行處理圖像讀取到系統(tǒng)中來(lái),獲取圖像的基本信息,以便對(duì)圖像的像素進(jìn)行處理。</p><p>  圖像預(yù)處理功能:圖像的質(zhì)量好壞對(duì)檢測(cè)人臉的效率和結(jié)果有著很大的影響。有的圖像是在光線比較強(qiáng)的情況下拍攝的,有的是光線比較弱的情況下拍攝的,人的膚色也有差別,臉部不同地方的顏色也不一樣。

43、因此就需要預(yù)處理進(jìn)行轉(zhuǎn)換,方便進(jìn)行檢測(cè)。其過(guò)程如圖3-1。</p><p>  3. 特征提取功能:特征提取是臉識(shí)別的關(guān)鍵一步,提取出的特征值是用來(lái)人臉匹配的,特征值的質(zhì)量直接影響匹配的準(zhǔn)確性。</p><p> ?、?用方框初步標(biāo)記處人臉區(qū)域;</p><p> ?、?對(duì)人臉區(qū)域進(jìn)行邊緣提??;</p><p> ?、?根據(jù)邊緣提取結(jié)果、人臉

44、先驗(yàn)知識(shí)及膚色標(biāo)記眼睛特征點(diǎn);</p><p> ?、?根據(jù)人臉先驗(yàn)知識(shí)與膚色特征標(biāo)記出嘴巴與鼻子特征點(diǎn)。</p><p>  4. 人臉檢測(cè)功能:根據(jù)人臉五官的特征重新標(biāo)記出人臉區(qū)域。</p><p>  圖3-1圖像預(yù)處理功能</p><p>  Figure 3-1 Image preprocessing function</p&

45、gt;<p>  3.1.2 人臉檢測(cè)系統(tǒng)環(huán)境需求</p><p><b>  ⒈ 硬件環(huán)境:</b></p><p>  CPU      最低要求 500 兆赫 (MHz) 及以上</p><p>  內(nèi)存  

46、60;  最低 RAM 要求1G</p><p>  硬盤     需要 2G 以上的可用空間</p><p><b>  2. 軟件環(huán)境:</b></p><p>  可以運(yùn)行在微軟公司近年來(lái)所出的各種操作系統(tǒng)。如Windows 20

47、00/XP,window 7及以上等。</p><p>  3.1.3 人臉檢測(cè)系統(tǒng)可靠性需求</p><p>  在給定的時(shí)間內(nèi)(一般為全天運(yùn)行),系統(tǒng)均能完成所要求功能的性能指標(biāo)。</p><p>  3.1.4 人臉檢測(cè)安全保密需求</p><p>  為防止病毒入侵導(dǎo)致數(shù)據(jù)丟失及非法訪問(wèn)的問(wèn)題,需要設(shè)置身份驗(yàn)證、訪問(wèn)控制及用戶權(quán)限

48、等,這些都是系統(tǒng)安全性需求的具體細(xì)化。</p><p>  3.1.5 人臉檢測(cè)系統(tǒng)用戶界面需求</p><p>  本系統(tǒng)主要是為了學(xué)習(xí),界面設(shè)計(jì)不宜過(guò)于復(fù)雜,所以本系統(tǒng)界面簡(jiǎn)潔,操作提示明顯,使所有類型的用戶均能迅速上手使用系統(tǒng)。大體的界面規(guī)劃如圖3-2,其中主窗口的左半部分用來(lái)放置相應(yīng)的按鍵,右半部分放置獲取和處理后的圖片。</p><p><b>

49、;  圖3-2 界面</b></p><p>  Figure 3-2 Interface</p><p>  3.1.6 人臉檢測(cè)系統(tǒng)資源使用需求</p><p>  雖然算法本身時(shí)間復(fù)雜度不高,每張圖片的獲取、預(yù)處理和特征提取的時(shí)間都很短,但是當(dāng)需要多個(gè)圖片在同一時(shí)間段處理時(shí),占用的系統(tǒng)資源就相對(duì)較大了,所以本系統(tǒng)預(yù)計(jì)占用的資源還是比較大的。<

50、;/p><p>  3.2 人臉檢測(cè)系統(tǒng)需求分析</p><p>  本小節(jié)將從人臉檢測(cè)系統(tǒng)需求的角度確定相應(yīng)的用例模型。</p><p>  3.2.1 人臉檢測(cè)系統(tǒng)分析用例模型</p><p>  UML提供的用例圖可以進(jìn)行需求分析與建立功能模型功能。用例圖包含的圖符圖如表3-1。</p><p><b>

51、;  表3-1 用例圖符</b></p><p>  Table 3-1 use case Symbols</p><p>  根據(jù)系統(tǒng)需求分析,總結(jié)出以下用例模型:</p><p>  圖像獲取用例模型:此模型是用戶將需要處理的圖像讀取到系統(tǒng)中,并在相應(yīng)位置顯示出來(lái)。</p><p>  預(yù)處理用例模型:此模型是用戶對(duì)讀取到系統(tǒng)

52、的圖像進(jìn)行預(yù)處理操作。</p><p>  特征提取用例模型:此模型是用戶在處理后的圖片上進(jìn)行人臉標(biāo)記和特征提取等操作。</p><p>  人臉檢測(cè)模型:根據(jù)所提取五官的特征,重新定位人臉面部特征區(qū)。</p><p>  圖 3-3 人臉檢測(cè)用例圖</p><p>  Figure 3-3 Face detection case diagr

53、am</p><p>  3.2.2 人臉檢測(cè)用例描述</p><p>  本小節(jié)分析系統(tǒng)的用例描述,在這小節(jié)中包含:圖像獲取的用例描述、預(yù)處理的的用例描述、特征提取的用例描述、人臉檢測(cè)的用例描述等。</p><p> ?、?圖像獲取的用例描述</p><p>  圖3-4圖像獲取的用例描述圖</p><p>  F

54、igure 3-4 The use case description diagram of opening file</p><p>  2. 預(yù)處理的用例描述</p><p>  圖3-5預(yù)處理的用例描述圖</p><p>  Figure 3-5 Use case description diagrams for preprocessing</p>

55、<p>  3. 特征提取的用例描述</p><p>  圖3-6特征提取的用例描述圖</p><p>  Figure 3-6 The use case description graph of feature extraction</p><p>  4. 人臉檢測(cè)的用例描述</p><p>  圖3-7人臉檢測(cè)的用例描述

56、圖</p><p>  Figure 3-7 The use case description graph of Face detection</p><p>  3.3 系統(tǒng)用例活動(dòng)圖設(shè)計(jì)</p><p>  此部分將依次介紹人臉檢測(cè)系統(tǒng)的用例活動(dòng)圖?;顒?dòng)圖圖符如表3-2。</p><p>  表3-2 活動(dòng)圖符介紹表</p&g

57、t;<p>  Table 3-2 Events icon description table</p><p>  文件獲取的用例活動(dòng)圖</p><p>  用戶將以有的圖像文件讀取到系統(tǒng)中,并在主界面顯示出來(lái)。</p><p>  圖3-8圖像獲取用例的活動(dòng)圖</p><p>  Figure 3-8 Activity dia

58、gram of the image acquisition case</p><p>  圖像預(yù)處理的用例活動(dòng)圖</p><p>  系統(tǒng)對(duì)用戶讀取的圖片進(jìn)行灰度化、濾波、二值化等操作。</p><p>  圖3-9 預(yù)處理用例的活動(dòng)圖</p><p>  Figure 3-9Activity diagram of the preproces

59、s case</p><p>  3. 特種提取的用例活動(dòng)圖</p><p>  圖像預(yù)處理后,系統(tǒng)就可以根據(jù)處理后的信息來(lái)進(jìn)行人臉區(qū)域的初步確定,確定好人臉區(qū)域后,根據(jù)先驗(yàn)知識(shí)可以確定人臉五官的特征。</p><p>  圖3-9特征提取用例的活動(dòng)圖</p><p>  Figure 3-9 Activity diagram of fe

60、ature extraction case</p><p>  人臉檢測(cè)的用例活動(dòng)圖</p><p>  特征提取之后,由于人的五官都已經(jīng)確定出來(lái),所以圖像中一定會(huì)有人臉存在,根據(jù)五官的位置就可以重新確定出人臉面部區(qū)域。</p><p>  圖3-9 人臉檢測(cè)的用例活動(dòng)圖</p><p>  Figure 3-9 activity diag

61、ram for face detection</p><p><b>  4 系統(tǒng)分析</b></p><p>  本章節(jié)主要通過(guò)對(duì)象模型、動(dòng)態(tài)模型以及功能模型三個(gè)方面來(lái)描述《人臉檢測(cè)系統(tǒng)》的設(shè)計(jì)。</p><p>  4.1 人臉檢測(cè)系統(tǒng)對(duì)象模型設(shè)計(jì)</p><p>  根據(jù)系統(tǒng)需求分析,總結(jié)出以下對(duì)象模型:<

62、;/p><p>  1. 文件類(CDib):用來(lái)控制圖像的獲取、存儲(chǔ)。</p><p>  2. 預(yù)處理類(CSimiliarHood):用來(lái)對(duì)圖像進(jìn)行求取膚色相似度,濾波,二值化等預(yù)處理操作。</p><p>  3. 人特征提取類(CFaceDetectDlg):根據(jù)預(yù)處理的圖像,初步定位人臉區(qū)域,在定位五官的位置,最后重新精確定位人臉區(qū)域。</p>

63、;<p>  4. 用戶類(user):識(shí)別使用程序的用戶。</p><p>  以每個(gè)對(duì)象為基礎(chǔ)設(shè)計(jì)出的類圖如圖4-1.其中:特征提取類繼承CDialog類,其他的類直接繼承CObject。</p><p>  圖4-1人臉檢測(cè)類關(guān)系圖</p><p>  Figure 4-1 Face detection class diagram</p&

64、gt;<p>  4.1.1 實(shí)體類分析</p><p>  實(shí)體類主要有圖像獲取類、預(yù)處理類、特征提取類和用戶類等。這幾個(gè)類之間相互獨(dú)立,只有當(dāng)上一個(gè)類實(shí)例化的對(duì)象執(zhí)行完之后,下一個(gè)類實(shí)例化的對(duì)象才能執(zhí)行。下面將依次分析實(shí)體類。</p><p><b>  圖像獲取類分析</b></p><p>  圖像獲取類主要功能就是待檢

65、測(cè)圖片讀取系統(tǒng)中,現(xiàn)設(shè)計(jì)如下函數(shù),成員變量來(lái)完成此功能。</p><p>  圖4-2CDib類類圖</p><p>  Figure 4-2 The CDib class diagram</p><p>  Dib文件類主要有2個(gè)成員變量和8個(gè)成員函數(shù),其中:</p><p><b> ?、?成員變量:</b><

66、/p><p>  bmpFileHeader,用來(lái)識(shí)別文件的格式;</p><p>  bmpINFOHEADER,用來(lái)讀取文件信息。</p><p><b> ?、?成員函數(shù)</b></p><p>  函數(shù)GetBiBitCount()返回圖片每個(gè)像素所占的位數(shù);</p><p>  函數(shù)GetW

67、idth()返回圖片寬度;函數(shù)GetHeight()返回圖片高度;</p><p>  函數(shù)Open()打開相應(yīng)路徑下的BMP文件;</p><p>  函數(shù)Save()保存文件函數(shù);</p><p>  Colse()將打開的文件關(guān)閉。</p><p><b>  2. 預(yù)處理類分析</b></p>&l

68、t;p>  預(yù)處理類主要是為了方便特征提取功能。現(xiàn)設(shè)計(jì)如下成員變量和成員函數(shù),以實(shí)現(xiàn)該功能。</p><p>  CSimilarHood預(yù)處理類主要包含4個(gè)成員變量和4個(gè)成員函數(shù):</p><p><b>  成員變量:</b></p><p>  m_pSourceData用來(lái)存儲(chǔ)原始圖像的像素值;</p><p&

69、gt;  m_pLikeliHoodArray用來(lái)存儲(chǔ)每個(gè)像素相與膚色相似程度的概率;</p><p>  m_pBinaryArray用來(lái)存儲(chǔ)二值化后的信息。</p><p><b>  成員函數(shù):</b></p><p>  函數(shù)CalCbCr()將圖片從RGB空間轉(zhuǎn)換到Y(jié)CbCr空間;</p><p>  函

70、數(shù)CalLikeHood()在YCbCr空間下求出與皮膚相近的概率;</p><p>  函數(shù)filter();對(duì)圖像進(jìn)行均值濾波;</p><p>  函數(shù)CalBinary()對(duì)求得的相似度圖像進(jìn)行二值化處理。</p><p>  圖4-3 CSimilarHood類類圖</p><p>  Figure 4-3 The CSimilar

71、Hoodclass diagram</p><p>  3. 特征提取類分析</p><p>  CFaceDetectDlg特征提取類主要25個(gè)成員函數(shù)和7個(gè)函數(shù)。</p><p>  變量主要分兩類:一類用來(lái)確定特征提取是否成功,另一類是存儲(chǔ)特征點(diǎn)的信息。根據(jù)字面意思就可以區(qū)分主要有:兩個(gè)眼睛的眼角和中間位置,兩個(gè)眉毛的眼角和中間位置,鼻子中間和兩邊,嘴巴的中間

72、位置和兩個(gè)嘴角。</p><p><b>  函數(shù)部分:</b></p><p>  函數(shù)LoadOriPixel()的功能是將原圖中的數(shù)像素值讀取出來(lái);</p><p>  函數(shù)DoLOG()的功能是在特定區(qū)域內(nèi)進(jìn)行邊緣提??;</p><p>  函數(shù)SetPixelArray()的功能是將像素矩陣設(shè)成特定的值;<

73、;/p><p>  函數(shù)MakeBitMap()的功能是將處理好的圖片顯示出來(lái);</p><p>  函數(shù)CopyBitMap()的功能是將一個(gè)矩陣拷貝到另一個(gè)矩陣;</p><p>  函數(shù)DrawCross()在特定位置話出十字用來(lái)標(biāo)記;</p><p>  函數(shù)MyDraw()在特定區(qū)域顯示圖片。</p><p> 

74、 圖4-4CFaceDetectDlg類類圖</p><p>  Figure 4-4 The CFaceDetectDlg class diagram</p><p>  4.1.2 邊界類分析</p><p>  本系統(tǒng)共有三個(gè)邊界類,主窗口,按鈕,和用來(lái)顯示圖片的控件。</p><p>  只需在主窗口顯示圖片并在相應(yīng)位置用對(duì)話框提示

75、即可,所以主要的邊界類是用戶界面類。用戶需要與系統(tǒng)進(jìn)行交互,一個(gè)用戶友好的系統(tǒng)通常都采用只管的圖形可視化界面,因此需要定義系統(tǒng)的用戶界面類。由于本系統(tǒng)使用mfc編寫,主界面由系統(tǒng)生成,對(duì)話框只需調(diào)用系統(tǒng)函數(shù)。所以本系統(tǒng)共有三個(gè)邊界類,主窗口,按鈕,和用來(lái)顯示圖片的控件。</p><p><b>  圖4-5對(duì)話框類圖</b></p><p>  Figure 4-5T

76、he boundary class diagram</p><p>  4.1.3 控制類分析</p><p><b>  圖4-6 控制類圖</b></p><p>  Fig 4-6 The control class diagram</p><p>  系統(tǒng)需要有一個(gè)類實(shí)現(xiàn)對(duì)于各種用戶命令的控制響應(yīng),來(lái)完成用戶想

77、完成的命令。在MFC中自帶的CCmdTarget類,所有能夠進(jìn)行消息處理的類都是基于CCmdTarget類的,也就是說(shuō),CCmdTarget類是所有可以進(jìn)行消息處理的父類。CCmdTarget類是MFC處理命令消息的基礎(chǔ)和核心。</p><p>  4.2 人臉檢測(cè)系統(tǒng)動(dòng)態(tài)模型設(shè)計(jì)</p><p>  用戶打開軟件進(jìn)入到主界面,在主界面上點(diǎn)擊打開文件按鈕,系統(tǒng)將獲取需文件信息,進(jìn)行文件的

78、預(yù)處理工作,然后系統(tǒng)將處理后的文件信息傳入到特征提取類中,在這個(gè)過(guò)程中,將會(huì)有求取相似度、二值化、濾波等過(guò)程,然后系統(tǒng)會(huì)圖像進(jìn)行特征提取,根據(jù)一定的算法確定面部區(qū)域,將五官標(biāo)記出來(lái),最后重新確定面部區(qū)域。</p><p>  圖4-7人臉檢測(cè)系統(tǒng)的用例時(shí)序圖</p><p>  Figure 4-7 Timing diagram of face recognition</p>

79、<p>  4.3 人臉檢測(cè)系統(tǒng)功能模型設(shè)計(jì)</p><p>  根據(jù)需求分析和技術(shù)可行性,人臉檢測(cè)系統(tǒng)分為細(xì)分為以下功能:圖像獲取、圖像灰度化、均值濾波、二值化、標(biāo)記人臉區(qū)域、特征提取、人臉檢測(cè)功能等等。</p><p>  圖4-8人臉檢測(cè)系統(tǒng)功能模型</p><p>  Figure 4-8 Functional model of face r

80、ecognition system</p><p><b>  5 系統(tǒng)設(shè)計(jì)</b></p><p>  5.1 實(shí)體類設(shè)計(jì)</p><p>  構(gòu)思運(yùn)用人臉檢測(cè)及定位技術(shù)包括閾值分割,特征點(diǎn)提取技術(shù)等設(shè)計(jì)一個(gè)系統(tǒng),系統(tǒng)主要實(shí)現(xiàn)人臉圖像相似度處理、圖像二值化、去噪、對(duì)人臉進(jìn)行水平投影和垂直投影、用方框標(biāo)記出人臉位置;對(duì)人臉區(qū)域進(jìn)行邊緣提??;

81、根據(jù)邊緣提取結(jié)果和先驗(yàn)知識(shí)進(jìn)行特征提取。</p><p>  5.1.1 文件類設(shè)計(jì)</p><p>  1. 問(wèn)題:如何實(shí)現(xiàn)圖像的獲取,存儲(chǔ)。</p><p>  2. 思路:由于設(shè)計(jì)本系統(tǒng)的目的是學(xué)習(xí)人臉檢測(cè)知識(shí),同時(shí)為了簡(jiǎn)化開發(fā)過(guò)程,所以直接使用BMP格式的圖片作為源文件。</p><p>  BMP(全稱Bitmap)是Window

82、s操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式,使用非常廣。它采用位映射存儲(chǔ)格式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP文件所占用的空間很大。BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲(chǔ)數(shù)據(jù)時(shí),圖像的掃描方式是按從左到右、從下到上的順序。由于BMP文件格式是Windows數(shù)據(jù)的一種標(biāo)準(zhǔn),因此在Windows環(huán)境中運(yùn)行的圖形圖像軟件都支持BMP圖像格式。BMP位圖文件是由4個(gè)部分組成:位圖文件頭、位圖信

83、息頭、調(diào)色板和像素?cái)?shù)據(jù)。如下圖所示。</p><p><b>  圖5-1位圖文件頭</b></p><p>  Figure 5-1Bitmap Header</p><p>  為了方便本程序使用24位位圖,并根據(jù)位圖的格式將圖片信息讀取到內(nèi)存中,為以后求相似度、二值化等操作做準(zhǔn)備。</p><p>  通過(guò)以上分析

84、,設(shè)計(jì)出如下成員變量和成員函數(shù),</p><p><b> ?、?成員變量:</b></p><p>  bmpFileHeader,用來(lái)識(shí)別文件的格式;</p><p>  bmpINFOHEADER,用來(lái)讀取文件信息。</p><p><b> ?、?成員函數(shù)</b></p>&l

85、t;p>  Int GetBiBitCount()獲取圖片每個(gè)像素所占的位數(shù);</p><p>  LONG GetWidth() 獲取圖片寬度;</p><p>  LONG GetHeight() 獲取圖片高度;</p><p>  BOOL Open() 打開相應(yīng)路徑下的BMP文件,若成功返回ture,否則返回false;</p>

86、<p>  BOOL Save() 保存文件函數(shù),若成功返回true,否則返回false;</p><p>  Void Colse()將打開的文件關(guān)閉。</p><p>  5.1.2 預(yù)處理類</p><p>  問(wèn)題:如何對(duì)圖像處理才能檢測(cè)出人臉區(qū)域。</p><p>  思路:因?yàn)樵谌四槄^(qū)域中有大量的皮膚,對(duì)于彩色

87、圖像的人臉檢測(cè),膚色檢測(cè)是最簡(jiǎn)單最有效的,所以本系統(tǒng)采用基于膚色的人臉檢測(cè)方法。利用圖像的色彩信息,在特定的顏色空間下構(gòu)造膚色模型,此方法在不同的角度均能檢測(cè)到人臉,具備一定的穩(wěn)定性,不受尺寸、表情和人臉姿態(tài)變化的影響。人臉檢測(cè)及定位實(shí)現(xiàn)具體步驟如下:</p><p>  轉(zhuǎn)換顏色空間和膚色模型;</p><p><b>  得到相似度灰度圖;</b></p&g

88、t;<p>  根據(jù)相似度灰度圖對(duì)圖像二值化處理;</p><p>  垂直投影和水平投影;</p><p><b>  標(biāo)記人臉區(qū)域。</b></p><p>  由于人臉的膚色分布具是聚類性的,并且很容易受到光照影響。不同的光強(qiáng)之下,雖然物體的亮度可能產(chǎn)生較大差異,但是它的顏色的具有很強(qiáng)的穩(wěn)定性,基本保持不變,所以由于光照的影

89、響,通常把圖像的顏色空間從RGB轉(zhuǎn)換到亮度與色度分離的顏色空間,例如,歸一之后的RGB、HSV或YCbCr,。因?yàn)樵谏{(diào)飽和度上,不同人種的膚色基本保持不變,膚色的差異存在于亮度而不是色度。所以本系統(tǒng)使用YCbCr空間。</p><p>  在YCbCr顏色空間下,Y(亮度分量)和量色度分量Cb與Cr基本分離,所以適合膚色聚類。除此之外YCbCr顏色空間還有其他良好的特性:</p><p>

90、;  該空間具有與人類世界感知過(guò)程相類似的構(gòu)成原理;</p><p>  在電視顯示領(lǐng)域中,YCbCr顏色空間被廣泛地應(yīng)用;</p><p>  YCbCr與RGB之間的轉(zhuǎn)換為線性,且計(jì)算簡(jiǎn)單,避免了非線性空間的奇異性;</p><p>  YCbCr顏色空間是離散的;</p><p>  大多數(shù)情況下,彩色圖像都是在RGB顏色空間下的。而Y

91、CbCr也是有RGB顏色空間下轉(zhuǎn)換的,由于轉(zhuǎn)換方式是線性的。</p><p>  在確定好顏色空間選好之后,下一步工作就是在此顏色空間建立膚色模型。常用的膚色模型有直方圖模型、橢圓模型和高斯模型。這里我們用高斯模型來(lái)實(shí)現(xiàn)本程序。</p><p>  高斯模型利用的是統(tǒng)計(jì)學(xué)原理。人體的膚色符合正態(tài)分布下的隨機(jī)樣本。由于高斯分布的數(shù)學(xué)表達(dá)式十分的簡(jiǎn)單,因此高斯模型使用非常方便,并且十分廣泛。通

92、過(guò)統(tǒng)計(jì)分析,預(yù)測(cè)出高斯分布的參數(shù),或著通過(guò)統(tǒng)計(jì)直接求出顏色空間的每個(gè)分量。這種方法分為兩步:首先確定參數(shù),其次利用該模型來(lái)判斷待測(cè)像素是否為膚色。</p><p>  本系統(tǒng)選擇在YCbCr空間下結(jié)合高斯模型對(duì)人臉膚色區(qū)域進(jìn)行分割,最終得出灰度圖。具體分割算法如下:</p><p><b>  獲取圖像;</b></p><p>  獲取像每一

93、像素R,G,B分量值;</p><p>  轉(zhuǎn)換到Y(jié)CbCr空間下,并且計(jì)算Cb,Cr值;</p><p>  求取該點(diǎn)像素與膚色相似的概率;</p><p>  濾波,消除膚色區(qū)域中被誤判為非膚色點(diǎn);</p><p><b>  得到相似度灰度圖。</b></p><p>  其中求相似度計(jì)算公

94、式如下:</p><p><b> ?。?-1)</b></p><p>  其中x為樣本像素值,C為是協(xié)方差矩陣,m=E(x)為平均值。</p><p>  第二步,相似度之后,其灰度值在[0,255],不能區(qū)分人臉膚色區(qū)域,此時(shí)就需要選取適當(dāng)?shù)拈撝?,?duì)灰度圖進(jìn)行二值化處理。目前有很多確定閾值的方法,本系統(tǒng)選用的自適應(yīng)閾值分割法。</p

95、><p>  區(qū)域增長(zhǎng)的自適應(yīng)閾值是逐步計(jì)算得到的,一般迭代5次,其閾值的變化是與相似度有所聯(lián)系的。每次減小一定的膚色相似度就會(huì)得到更多的膚色區(qū)域。區(qū)域增長(zhǎng)逐步變小,當(dāng)相似度小于每一個(gè)值時(shí),增長(zhǎng)量會(huì)突然增大,因?yàn)閷⒋罅康姆悄w色區(qū)域包括進(jìn)來(lái)。二值化流程圖如圖5-2。</p><p>  圖5-2二值化流程圖</p><p>  Figure 5-2 Binarizatio

96、n flowchart</p><p>  根據(jù)以上分析設(shè)計(jì)出如下成員變量和成員函數(shù):</p><p><b>  成員變量:</b></p><p>  m_pSourceData 用來(lái)存儲(chǔ)原始圖像的像素值;</p><p>  m_pLikeliHoodArray 用來(lái)存儲(chǔ)每個(gè)像素相與膚色相似程度的概率;<

97、;/p><p>  m_pBinaryArray 用來(lái)存儲(chǔ)二值化后的信息。</p><p><b>  成員函數(shù):</b></p><p>  TCbCr CalCbCr(int R,int G,int B) 將圖片從RGB空間轉(zhuǎn)換到Y(jié)CbCr空間,其中參數(shù)R,G,B表示RBG顏色空間的顏色分量;</p><p>  vo

98、id CalLikeHood() 在YCbCr空間下求出與皮膚相近的概率;</p><p>  void filter(double** source,int m_nWidth,int m_nHeight);;對(duì)圖像進(jìn)行均值濾波,其中,source表示需要處理圖像的(矩陣),m_nWidth和m_nHeight表示矩陣的長(zhǎng)和寬;</p><p>  bool CalBinary(); 對(duì)求

99、得的相似度圖像進(jìn)行二值化處理,若成功返回true。</p><p>  5.1.3 特征提取類</p><p>  問(wèn)題:如何對(duì)已經(jīng)處理好的圖像進(jìn)行人臉區(qū)域粗識(shí)、五官的定位和人臉區(qū)域的精確定位。</p><p>  思路:特征提取就是為了確定五官的位置及其特征,但是在提取特征之前,需要確定人臉區(qū)域。下面介紹人臉</p><p> ?。?)人

100、臉左右兩邊的膚色點(diǎn)個(gè)數(shù)約為人臉垂直方向膚色點(diǎn)最大值的0.2 ~ 0.3倍;</p><p>  (2)人臉上邊界膚色點(diǎn)個(gè)數(shù)為人臉區(qū)域?qū)挾鹊?.5倍; </p><p> ?。?)人臉區(qū)域高度約為人臉區(qū)域?qū)挾鹊?.5倍。</p><p>  首先估計(jì)人臉的左右邊界,具體算法如下:</p><p> ?。?)將人臉像垂直方向投影,搜索最大值cou

101、nt,該點(diǎn)記為pos; </p><p> ?。?)從pos 開始往左邊搜索第一次具有小于0.2 count的x 坐標(biāo)記為left ; </p><p>  (3)pos開始往左邊搜索第一次具有小于0.3 count的x 坐標(biāo)記為right 。</p><p>  接著計(jì)算人臉的上下邊界,具體算法如下: </p><p> ?。?)從上往下搜

102、索,得到第一次大于0.5 ( right -left)的y 坐標(biāo)作為上邊界top;</p><p> ?。?)將top + 1.5 ( right -left) 作為人臉區(qū)域的bottom 。</p><p><b>  1. 眼睛的標(biāo)定</b></p><p>  由于眼睛和膚色有較大的差異,所以邊緣檢測(cè)之后更容易標(biāo)記處。邊緣所反映的是灰度

103、的不連續(xù)性。我們使用LOG算子對(duì)圖像進(jìn)行邊緣檢測(cè),常用的5X5LOG算子如圖5-3。</p><p>  LOG算子有以下表現(xiàn):邊緣以外灰度均勻處取零,邊緣較暗一側(cè)取正,邊緣較亮一側(cè)取負(fù),邊緣中某些點(diǎn)處取零。</p><p><b>  5-3 LOG算子</b></p><p>  Figure 5-2 LOG algorithm</p

104、><p>  用LOG算子提取邊緣流程為:</p><p>  N Y</p><p>  圖 5-3 邊緣提取流程</p><p>  Figure 5-3 Edge extraction process</p><p>  這樣就可以將人臉的整個(gè)邊界的輪廓大致地提取出來(lái)

105、了然后對(duì)邊緣檢測(cè)的結(jié)果進(jìn)行水平方向的投影,基本能確定眼睛的兩個(gè)范圍I和II。這里雖然有眉毛的影響,但是由于眉毛正好位于眼睛的上方,因此不影響水平區(qū)域的確定,</p><p>  圖 5-4 眼睛的定位</p><p>  Figure 5-4 Eye location</p><p>  然后在I和II的上方區(qū)域的豎直方向投影,得到的第一個(gè)峰值附近的區(qū)域A、B。然后

106、在A與I以及B與II確定的兩個(gè)矩形區(qū)域內(nèi),對(duì)黑點(diǎn)進(jìn)行區(qū)域膨脹,可以得到的眼睛的大致輪廓和左右眼角,然后黑點(diǎn)的坐標(biāo)的平均值作為瞳孔的位置。</p><p>  具體算法是:在確定的人臉區(qū)域,把人臉部分劃分為左右、上下四等份,再把人臉寬度12等份,每一份為nSlidWinWidth和人臉高度30等份,每一份為nSlidWinHeight。由經(jīng)驗(yàn)可知:人眼只可能位于人臉上半部分的下9/15區(qū)域內(nèi),在這個(gè)區(qū)域內(nèi)找白色像素

107、的個(gè)數(shù)當(dāng)它大于nSlidWinWidth*nSlidWinHeight/3時(shí),可把參考位圖的像素變?yōu)榧t色。這樣就把眼睛區(qū)域劃分為很多的小區(qū)域,在把這些區(qū)域中寬度小于人臉寬度的1/20刪除掉,然后在合并相鄰的閉合區(qū)域(小于人臉寬度的1/40),這樣就可確定人眼的水平區(qū)域。以同樣的方法:去除掉小于人臉高度的1/100的區(qū)域,然后在合并區(qū)域(小于人臉高度的1/100),這樣就可以確定人眼的垂直區(qū)域。在確定的人眼范圍內(nèi),標(biāo)定出左右眼角和眼睛的位

108、置。圖5-5為眼睛標(biāo)定的流程圖。</p><p>  眉毛的標(biāo)記與眼睛的標(biāo)記方法類似,只是在確定垂直區(qū)域時(shí)取眼睛上方的區(qū)域即可,這里不做詳細(xì)介紹。</p><p>  圖 5-5眼睛標(biāo)記流程圖</p><p>  Figure 5-4 Flow chart of making the eyes</p><p>  圖 3-12 鼻子標(biāo)記流程圖

109、</p><p>  Figure 5-4 Flow chart of making the nose</p><p><b>  2. 鼻子的定位</b></p><p>  在確定了眼睛的位置以后,鼻子的位置也就相應(yīng)地定位下來(lái)了。以兩眼的瞳距為1來(lái)計(jì)算,鼻子到兩眼中心的距離為0.7到1,在附近尋找顏色較深的區(qū)域,基本得到鼻孔的位置。然后在鼻

110、孔上方一定范圍內(nèi)(鼻孔距離的1/2左右)找到亮度最高的點(diǎn)作為鼻尖。 其算法流程為圖3-12。</p><p><b>  3. 嘴巴的定位</b></p><p>  嘴的確認(rèn)考慮到唇色和位置兩重信息。對(duì)于唇色,滿足如下限制條件的位于臉的下部區(qū)域可能是嘴:</p><p>  (5-2) </p>

111、<p>  嘴到兩眼中心的距離可能為1.0到1.3左右,在滿足條件的區(qū)域采用類似找眼睛的方法,確定左右嘴角和嘴的中心。</p><p>  根據(jù)以上分析設(shè)計(jì)出如下成員變量和成員函數(shù):</p><p><b>  成員變量:</b></p><p>  RGBQUAD** m_tOriPixelArray;//原始位圖數(shù)數(shù)據(jù)&l

112、t;/p><p>  RGBQUAD** m_tResPixelArray;//參考位圖數(shù)據(jù)</p><p>  int m_nWndWidth;//圖像寬度</p><p>  int m_nWndHeight;//圖像高度</p><p>  CString m_sFileName;位圖路徑</p><p>  boo

113、l m_bFaceOK;//臉部已經(jīng)確標(biāo)志位</p><p>  bool m_bShowFace;//臉部存在標(biāo)括志</p><p>  CRect m_rFaceRegion;//臉部區(qū)區(qū)域</p><p>  bool reFaceOK; //二次定位標(biāo)括志位</p><p>  CRect reFaceRegion;

114、//二次區(qū)域</p><p>  bool m_bLeftEyeOK;//左眼確定標(biāo)志位</p><p>  bool m_bRightEyeOK;//右眼確定標(biāo)志位</p><p>  bool m_bLeftEyeLeftCornerOK;//左眼左角</p><p>  bool m_bLeftEyeRightCornerOK;//左

115、眼右角</p><p>  bool m_bRightEyeLeftCornerOK;//右眼左角</p><p>  bool m_bRightEyeRightCornerOK;//右眼右角</p><p>  bool m_bLeftNostrilOK;//左鼻角</p><p>  bool m_bRightNostrilOK;//右鼻

116、角</p><p>  bool m_bLeftMouthCornerOK;//左嘴角</p><p>  bool m_bRightMouthCornerOK;//右嘴角</p><p>  bool m_bMidMouthOK;//嘴中部</p><p>  bool m_bMidNoseOK;//鼻尖</p><p&

117、gt;  bool m_bLeftBrowOK; //左眉毛確定標(biāo)志位</p><p>  bool m_bRightBrowOK; //右邊眉毛確定標(biāo)志位</p><p>  bool m_bLeftBrowLeftCornerOK;//左眼左角</p><p>  bool m_bLeftBrowRightCornerOK;//左眼右角</p&g

118、t;<p>  bool m_bRightBrowLeftCornerOK;//右眼左角</p><p>  bool m_bRightBrowRightCornerOK;//右眼右角</p><p>  下面變量用來(lái)存儲(chǔ)標(biāo)志位坐標(biāo)</p><p>  CPoint m_LeftEye;</p><p>  CPoint m_L

溫馨提示

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

評(píng)論

0/150

提交評(píng)論