版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要伴隨著計(jì)算機(jī)技術(shù)和圖形學(xué)技術(shù)的成熟,人臉識(shí)別技術(shù)愈發(fā)普遍地應(yīng)用在各個(gè)不同的領(lǐng)域。在簽到方面,人臉識(shí)別更是以其快速高效率的特點(diǎn)廣泛地運(yùn)用于各種不同地場(chǎng)合。本文以人臉識(shí)別的方式實(shí)現(xiàn)上課簽到的智能化。該人臉識(shí)別簽到系統(tǒng)是基于MFC和虹軟人臉識(shí)別引擎的一套功能完整、方便實(shí)用的簽到系統(tǒng)。在Visualstudio2013的平臺(tái)下,利用MFC和虹軟人臉識(shí)別技術(shù)開(kāi)發(fā)一個(gè)人臉簽到客戶(hù)端,實(shí)現(xiàn)各種考勤功能,所用的語(yǔ)言是c++。該系統(tǒng)分為四大主要模塊,分別是:導(dǎo)入人臉圖片,從攝像頭識(shí)別人臉,從視頻識(shí)別人臉,攝像頭注冊(cè)人臉。關(guān)鍵詞:人臉識(shí)別,虹軟,MFC,c++
AbstractWiththematurityofcomputertechnologyandgraphicstechnology,thetechnologyoffacerecognitionismorewidelyandincreasinglyusedindifferentfields.Intermsofsign-in,facerecognitioniswidelyusedinavarietyofdifferentsituationswithitsfastandefficientfeatures.Inthispaper,thefacerecognitionisusedtorealizetheintelligenceofattendingclasses.Thefacesign-insystemisacomplete,convenientandpracticalsign-insystembasedonMFCandArcSoftfacerecognitionengine.UndertheplatformofVisualStudio2013,MFCandArcSoftfacerecognitiontechnologyareusedtodevelopafacesign-inclienttorealizevariousattendancefunctions.Thelanguageusedisc++.Thesystemisdividedintofourmainmodules,namely:importingfaceimages,recognizingfacesfromthecamera,recognizingfacesfromvideos,andregisteringfaceswithcameras.Key:facerecognition,ArcSoft,MFC,C++
目錄摘要 緒論研究的背景及意義為了督促學(xué)生準(zhǔn)時(shí)上課學(xué)習(xí),經(jīng)常會(huì)有老師采用簽到制度,并對(duì)未到的同學(xué)進(jìn)行懲罰。傳統(tǒng)的簽到方式是逐個(gè)進(jìn)行點(diǎn)名,對(duì)于人數(shù)較多的班級(jí),這種方式常常會(huì)占用較多的時(shí)間,形成更大的浪費(fèi),且容易出現(xiàn)紕漏?;谌四樧R(shí)別的上課簽到系統(tǒng)則可以在實(shí)現(xiàn)簽到監(jiān)督的同時(shí),節(jié)省大量的簽到時(shí)間,實(shí)現(xiàn)上課簽到的智能化和效率化。本系統(tǒng)使用人臉識(shí)別的方式實(shí)現(xiàn)上課簽到。人臉簽到系統(tǒng)的優(yōu)勢(shì)解決傳統(tǒng)簽到方式所存在的問(wèn)題,讓簽到更加準(zhǔn)確、高效,方便教師進(jìn)行考勤。運(yùn)行環(huán)境要求操作系統(tǒng):windows操作系統(tǒng)開(kāi)發(fā)語(yǔ)言:c++所用引擎:虹軟人臉識(shí)別引擎開(kāi)發(fā)環(huán)境:VisualStdio2013,MFC關(guān)鍵技術(shù)簡(jiǎn)介MFCMFC是MicrosoftFoundationClasses的縮寫(xiě),中文名叫微軟基礎(chǔ)類(lèi)庫(kù),是由微軟設(shè)計(jì)的C++類(lèi)庫(kù),里面封裝了絕大多數(shù)的windowsAPI函數(shù)。MFC中將各種類(lèi)結(jié)合起來(lái)形成了一個(gè)應(yīng)用程序框架,旨在創(chuàng)造一種比SDK更容易更快速的方法,讓開(kāi)發(fā)者在此框架的基礎(chǔ)上更高效地開(kāi)發(fā)Windows應(yīng)用程序。從總體上看,MFC定義了應(yīng)用程序的外形,并且給出了用戶(hù)接口的標(biāo)準(zhǔn)實(shí)現(xiàn),開(kāi)發(fā)者需要做的就是使用MFC給出的預(yù)定義接口在這架子中添加應(yīng)用程序的需求功能。在MicrosoftVisualC++中,用戶(hù)可以很方便地完成這個(gè)任務(wù):使用AppWizard生成初步的框架文件,包括代碼和資源等;使用資源編輯器可視化地設(shè)計(jì)和管理用戶(hù)接口;使用ClassWizard將代碼添加到框架文件;最終通過(guò)編譯把應(yīng)用程序和類(lèi)庫(kù)鏈接起來(lái)完成功能的實(shí)現(xiàn)。人臉識(shí)別概述人臉識(shí)別系統(tǒng)大致有以下四個(gè)組成部分:人臉圖像采集及檢測(cè)、人臉圖像預(yù)處理、人臉圖像特征提取、人臉匹配與識(shí)別。圖1.1概述人臉圖像采集及檢測(cè)人臉圖像采集:人臉圖像可以從圖片、視頻或者攝像頭等捕捉設(shè)備中獲取。從不同角度、不同表情來(lái)對(duì)同一個(gè)人的人臉進(jìn)行圖像采集能訓(xùn)練出更精確的人臉模型,從而提高人臉識(shí)別的成功率和準(zhǔn)確率。人臉檢測(cè):在人臉圖像收集完成后,首先要做的就是人臉檢測(cè)。人臉具有復(fù)雜多樣的特征信息,如輪廓、紋理、各種器官的大小和距離、直方圖特征等等,該過(guò)程就是在這些特征信息的基礎(chǔ)上,使用Adaboost等分類(lèi)算法,對(duì)采集的人臉圖像進(jìn)行人臉?biāo)阉?,找出人臉在圖像中的位置和大小。人臉圖像預(yù)處理人臉圖像的預(yù)處理是人臉識(shí)別過(guò)程中至關(guān)重要的一個(gè)步驟。由于種種因素的影響,如人臉被部分遮擋、拍攝場(chǎng)景的光線(xiàn)的明暗程度,拍攝的距離以及拍攝設(shè)備的性能優(yōu)劣帶來(lái)的圖片質(zhì)量的不同等,原始的人臉圖像往往不能直接應(yīng)用于后續(xù)的人臉識(shí)別過(guò)程。對(duì)人臉圖像進(jìn)行預(yù)處理就是為了得到規(guī)范統(tǒng)一的圖像,消除這些因素對(duì)識(shí)別結(jié)果的影響,從而更好地進(jìn)行特征提取。常用的人臉圖像預(yù)處理方法有:濾波去噪、灰度變換(灰度歸一化)、圖像二值化、直方圖均衡化、邊緣檢測(cè)、尺寸歸一化、濾波以及銳化等。人臉圖像特征提取人臉識(shí)別系統(tǒng)可使用的特征通常分為像素統(tǒng)計(jì)特征、人臉圖像代數(shù)特征、視覺(jué)特征、人臉圖像變換系數(shù)特征、人臉圖像代數(shù)特征等。人臉特征提取就是基于人臉的某些特征來(lái)進(jìn)行的。人臉特征提取是人臉特征建模的過(guò)程。人臉特征提取的方法可分為兩大類(lèi):基于知識(shí)的表征方法和基于代數(shù)特征或統(tǒng)計(jì)學(xué)習(xí)的表征方法。圖1.2人臉特征提取和識(shí)別人臉圖像匹配與識(shí)別人臉圖像的匹配與識(shí)別其實(shí)就是人臉特征信息的匹配與識(shí)別。該過(guò)程將從待識(shí)別的人臉圖像提取出的人臉特征信息與人臉數(shù)據(jù)庫(kù)中的人臉特征模板一一進(jìn)行比較,每一次的比較都會(huì)產(chǎn)生一個(gè)相似值,用以衡量?jī)蓮埲四樀南嗨瞥潭龋?dāng)相似值大于事先設(shè)定的相似閾值時(shí),則可以斷定兩張人臉出自同一個(gè)人,從而得出識(shí)別結(jié)果。虹軟人臉識(shí)別引擎虹軟簡(jiǎn)介虹軟在計(jì)算機(jī)視覺(jué)領(lǐng)域中擁有不可撼動(dòng)的地位,為全球各地的用戶(hù)供應(yīng)卓越的算法服務(wù)和優(yōu)秀的解決方案,商業(yè)化地將先進(jìn)的人臉識(shí)別技術(shù)應(yīng)用在了不同的領(lǐng)域,包括智能手機(jī)、智能汽車(chē)、智能家具等,并且仍在不斷探索新的領(lǐng)域和方向。功能和優(yōu)點(diǎn)虹軟人臉識(shí)別引擎是離線(xiàn)版的獨(dú)立SDK,擁有人臉檢測(cè)、人臉比對(duì)、人臉跟蹤等功能。相比于其他如face++等的云平臺(tái)識(shí)別引擎,虹軟人臉識(shí)別引擎不需要將人臉圖片傳輸?shù)皆破脚_(tái)上做人臉識(shí)別操作并從服務(wù)器返回結(jié)果,所有操作均可以在本地離線(xiàn)完成,不會(huì)受限于網(wǎng)絡(luò)穩(wěn)定性,如此一來(lái)還可以把人臉特征信息保存在本地,在使用時(shí)直接進(jìn)行對(duì)比,這樣可以大大提高識(shí)別的速度和效率。同時(shí)官網(wǎng)承諾該引擎將永久免費(fèi)使用,無(wú)需擔(dān)憂(yōu)使用過(guò)程中因?yàn)橘M(fèi)用問(wèn)題而使程序無(wú)法正常運(yùn)行。在本系統(tǒng)中,主要使用到該引擎的人臉檢測(cè)和人臉對(duì)比功能:人臉檢測(cè):功能簡(jiǎn)介:人臉檢測(cè)是識(shí)別技術(shù)的第一步和基礎(chǔ)。虹軟人臉識(shí)別引擎可以在圖片或視頻中檢測(cè)到人臉并記錄人臉?biāo)诘奈恢?。?yōu)勢(shì):虹軟的人臉識(shí)別技術(shù)能夠極大程度地減少環(huán)境因素對(duì)檢測(cè)過(guò)程的干擾,即使在強(qiáng)光、弱光、背光、黑夜等這些極端的復(fù)雜環(huán)境下,也能準(zhǔn)確地檢測(cè)到影像中的人臉,同時(shí)對(duì)不同角度的人臉也能準(zhǔn)確地進(jìn)行檢測(cè)。人臉對(duì)比:功能簡(jiǎn)介:通過(guò)對(duì)比從兩張人臉提取出來(lái)的人臉特征信息,用特定的算法計(jì)算出兩張人臉的相似度,以該相似度是否超過(guò)預(yù)定的閾值來(lái)判定是否為同一個(gè)人。優(yōu)勢(shì):虹軟的人臉對(duì)比技術(shù)在許多復(fù)雜的情況下都有著優(yōu)秀的表現(xiàn),在不同角度,不同表情,人臉被部分遮擋,歲數(shù)變化帶來(lái)相貌變化等等情況下,都能對(duì)兩張人臉進(jìn)行準(zhǔn)確的檢測(cè)對(duì)比和評(píng)估。需求分析引言本環(huán)節(jié)是為后面的詳細(xì)設(shè)計(jì),實(shí)現(xiàn),測(cè)試,以及最后的驗(yàn)收提供參考,也為評(píng)價(jià)系統(tǒng)的功能和性能提供標(biāo)準(zhǔn),本過(guò)程適合用戶(hù),開(kāi)發(fā)人員,系統(tǒng)分析人員,程序設(shè)計(jì)人員以及系統(tǒng)測(cè)試人員閱讀和提供參考。可行性研究用戶(hù)分析及可行性操作本系統(tǒng)的使用對(duì)象是老師和學(xué)生。在本系統(tǒng)中,界面要簡(jiǎn)潔大方,要有良好的人機(jī)交互界面,有適當(dāng)?shù)牟僮魈崾荆僮骱褪褂帽容^簡(jiǎn)便,讓用戶(hù)體驗(yàn)到良好的人機(jī)交互界面。老師能夠通過(guò)簡(jiǎn)單的操作進(jìn)行學(xué)生信息的錄入,而學(xué)生也可以準(zhǔn)確快速地進(jìn)行簽到。性能需求方便、快捷、有效的實(shí)現(xiàn)用戶(hù)的需求,識(shí)別速度要快,識(shí)別準(zhǔn)確率要高。技術(shù)可行性此系統(tǒng)是一個(gè)涉及人臉識(shí)別的應(yīng)用程序,利用相對(duì)成熟的虹軟人臉識(shí)別引擎可以達(dá)到各方面的要求。經(jīng)濟(jì)可行性完全可以利用現(xiàn)有的設(shè)備,不需要增加新的硬件設(shè)備,只需一臺(tái)帶有攝像頭的筆記本電腦就可以運(yùn)行軟件實(shí)現(xiàn)功能,基本不需要費(fèi)用支出,只需要花費(fèi)較短的時(shí)間就可以實(shí)現(xiàn),實(shí)現(xiàn)過(guò)程,可以積累一些相關(guān)知識(shí),實(shí)現(xiàn)后,可以方便上課的簽到,所以經(jīng)濟(jì)上是可行的。操作可行性該系統(tǒng)操作比較簡(jiǎn)便,可能使用上的用戶(hù)基本上都可以很快就可以上手使用。需求分析系統(tǒng)的需求分析實(shí)現(xiàn)一個(gè)圖形界面的人臉簽到系統(tǒng)。功能:將人臉照片導(dǎo)入人臉庫(kù)??梢酝ㄟ^(guò)選擇圖片文件夾或者選擇單張圖片的方式進(jìn)行錄入,程序會(huì)從選擇文件夾中的所有照片或者選擇的單張照片中對(duì)人臉特征進(jìn)行提取,存入人臉數(shù)據(jù)文件中,人臉對(duì)應(yīng)的名字為圖片的名字。手動(dòng)從攝像頭中進(jìn)行人臉注冊(cè)。通過(guò)從攝像頭中獲取幀畫(huà)面數(shù)據(jù),對(duì)幀畫(huà)面識(shí)別出的人臉進(jìn)行名字信息的填寫(xiě),然后把人臉數(shù)據(jù)和名字存入相應(yīng)的文件完成注冊(cè),并保存注冊(cè)時(shí)的照片。識(shí)別圖片。選擇一張圖片進(jìn)行人臉識(shí)別,通過(guò)提取圖片的人臉特征,與人臉數(shù)據(jù)庫(kù)中的人臉依次進(jìn)行比對(duì),找出相似度最高的人臉,然后得出名字。圖片中識(shí)別出的人臉會(huì)有紅框標(biāo)注,匹配成功的人臉上的紅框還會(huì)有對(duì)應(yīng)的名字。從攝像頭中識(shí)別人臉??梢酝ㄟ^(guò)選擇本地?cái)z像頭或者遠(yuǎn)程攝像頭的方式(通過(guò)rtsp協(xié)議進(jìn)行幀畫(huà)面的獲取,需要填寫(xiě)攝像頭ip地址和端口號(hào))進(jìn)行識(shí)別工作,通過(guò)提取從攝像頭中獲取的幀畫(huà)面數(shù)據(jù)中的人臉特征,與人臉數(shù)據(jù)庫(kù)中的人臉依次進(jìn)行比對(duì),找出相似度最高的人臉,然后得出名字。幀畫(huà)面中識(shí)別出的人臉會(huì)有紅框標(biāo)注,匹配成功的人臉上的紅框還會(huì)有對(duì)應(yīng)的名字且名字會(huì)被記錄進(jìn)簽到表,畫(huà)面中可以同時(shí)出現(xiàn)多張人臉。從視頻中識(shí)別人臉。類(lèi)似攝像頭識(shí)別功能,該功能是對(duì)視頻中的每一幀進(jìn)行人臉識(shí)別,除了利用識(shí)別匹配到的人臉信息更新簽到表外,還會(huì)將匹配人臉出現(xiàn)的視頻幀保存下來(lái),圖片名字為人臉對(duì)應(yīng)的名字,以供查看。打開(kāi),保存,重置簽到表。 用戶(hù)界面:界面上包括課程名稱(chēng)輸入框,時(shí)間信息,攝像頭的畫(huà)面框,識(shí)別視頻時(shí)的播放界面,簽到名單的信息框,讀取圖片錄入人臉數(shù)據(jù)時(shí)的進(jìn)程顯示以及操作按鈕和菜單。系統(tǒng)的功能分析該系統(tǒng)的角色一般分為管理員(老師)和用戶(hù)(學(xué)生),管理員負(fù)責(zé)將本次課程學(xué)生的人臉照片導(dǎo)入到人臉數(shù)據(jù)庫(kù)中,然后可以選擇本地?cái)z像頭或者遠(yuǎn)程攝像頭開(kāi)啟人臉識(shí)別簽到功能,同時(shí)也可以選擇識(shí)別視頻的功能對(duì)錄像視頻里面的人臉進(jìn)行識(shí)別簽到。學(xué)生則可以通過(guò)站在識(shí)別設(shè)備面前進(jìn)行人臉識(shí)別簽到,如果長(zhǎng)時(shí)間未能識(shí)別成功可以手動(dòng)進(jìn)行人臉注冊(cè)并完成簽到。用例圖圖2.1用例圖導(dǎo)入人臉圖片:選擇圖片文件夾或者單張圖片載入人臉庫(kù)。開(kāi)啟視頻識(shí)別模式:選擇識(shí)別視頻的功能對(duì)錄像視頻里面的人臉進(jìn)行識(shí)別簽到。開(kāi)啟攝像頭識(shí)別模式:選擇開(kāi)啟本地?cái)z像頭或者遠(yuǎn)程攝像頭進(jìn)行人臉識(shí)別簽到功能。簽到表管理:對(duì)簽到表進(jìn)行查看,保存和重置。識(shí)別簽到:學(xué)生站在識(shí)別設(shè)備面前進(jìn)行人臉識(shí)別簽到。注冊(cè)人臉:手動(dòng)進(jìn)行人臉注冊(cè),錄入人臉數(shù)據(jù),填寫(xiě)學(xué)生信息。用例分析導(dǎo)入人臉圖片表2.1導(dǎo)入人臉圖片用例分析用例名稱(chēng)導(dǎo)入人臉圖片簡(jiǎn)要描述選擇圖片文件夾或者單張圖片載入人臉庫(kù)執(zhí)行者老師前置條件開(kāi)啟程序,進(jìn)入軟件界面主要事件流打開(kāi)軟件點(diǎn)擊“選擇圖片文件夾載入人臉庫(kù)”或者點(diǎn)擊“選擇圖片載入人臉庫(kù)”按鈕進(jìn)入選擇界面選擇圖片文件夾或者單張圖片程序進(jìn)行人臉信息錄入操作后置條件按取消鍵,關(guān)閉此窗體,回到軟件主界面開(kāi)啟視頻識(shí)別模式表2.2開(kāi)啟視頻識(shí)別模式用例分析用例名稱(chēng)開(kāi)啟視頻識(shí)別模式簡(jiǎn)要描述選擇識(shí)別視頻的功能對(duì)錄像視頻里面的人臉進(jìn)行識(shí)別簽到。執(zhí)行者老師前置條件已經(jīng)把人臉圖片導(dǎo)入到了人臉庫(kù)中主要事件流打開(kāi)軟件點(diǎn)擊“識(shí)別視頻”進(jìn)入視頻選擇界面選擇視頻程序開(kāi)始對(duì)視頻逐幀進(jìn)行檢測(cè)識(shí)別完成后展示識(shí)別成功的人臉的截圖后置條件按取消鍵,關(guān)閉此窗體,回到軟件主界面開(kāi)啟攝像頭識(shí)別模式表2.3開(kāi)啟攝像頭識(shí)別模式用例分析用例名稱(chēng)開(kāi)啟攝像頭識(shí)別模式簡(jiǎn)要描述選擇本地?cái)z像頭或者遠(yuǎn)程攝像頭開(kāi)啟人臉識(shí)別簽到功能。執(zhí)行者老師前置條件已經(jīng)把人臉圖片導(dǎo)入到了人臉庫(kù)中,且已經(jīng)配備攝像頭主要事件流打開(kāi)軟件點(diǎn)擊“開(kāi)始簽到”按鈕選擇本地?cái)z像頭或者遠(yuǎn)程攝像頭選擇本地?cái)z像頭會(huì)直接開(kāi)啟電腦自帶的攝像頭進(jìn)行識(shí)別簽到;選擇遠(yuǎn)程攝像頭會(huì)彈出新窗口,要求填寫(xiě)遠(yuǎn)程攝像頭的用戶(hù)名,密碼,ip地址以及端口號(hào),填寫(xiě)正確后會(huì)開(kāi)啟遠(yuǎn)程攝像頭進(jìn)行識(shí)別簽到后置條件點(diǎn)擊停止按鈕,停止簽到簽到表管理表2.4簽到表管理用例分析用例名稱(chēng)簽到表管理簡(jiǎn)要描述對(duì)簽到表進(jìn)行查看,保存和重置執(zhí)行者老師前置條件已經(jīng)把人臉圖片導(dǎo)入到了人臉庫(kù)中主要事件流打開(kāi)軟件點(diǎn)擊“打開(kāi)簽到表”可以查看簽到情況點(diǎn)擊“保存簽到表”可以保存簽到表點(diǎn)擊“重置簽到表”可以重置簽到表后置條件點(diǎn)擊取消退出保存界面或者點(diǎn)擊關(guān)閉按鈕關(guān)閉簽到表,回到主界面。識(shí)別簽到表2.5識(shí)別簽到用例分析用例名稱(chēng)識(shí)別簽到簡(jiǎn)要描述學(xué)生站在識(shí)別設(shè)備面前進(jìn)行人臉識(shí)別簽到。執(zhí)行者學(xué)生前置條件軟件已經(jīng)開(kāi)啟攝像頭識(shí)別模式主要事件流保持不動(dòng)的姿勢(shì)站在攝像頭面前等待識(shí)別成功完成簽到如果長(zhǎng)時(shí)間未能識(shí)別成功,彈出對(duì)話(huà)框是否要注冊(cè)人臉若選擇否,返回步驟2,若選擇是,進(jìn)入步驟4彈出信息填寫(xiě)對(duì)話(huà)框,學(xué)生填寫(xiě)個(gè)人信息,完成注冊(cè),進(jìn)而完成簽到后置條件無(wú)注冊(cè)人臉表2.6注冊(cè)人臉用例分析用例名稱(chēng)注冊(cè)人臉簡(jiǎn)要描述手動(dòng)進(jìn)行人臉注冊(cè),填寫(xiě)學(xué)生信息,錄入人臉數(shù)據(jù)執(zhí)行者學(xué)生前置條件學(xué)生的人臉數(shù)據(jù)未錄入人臉庫(kù)主要事件流點(diǎn)擊“手動(dòng)注冊(cè)人臉”選擇開(kāi)啟本地?cái)z像頭或者遠(yuǎn)程攝像頭進(jìn)行注冊(cè)填寫(xiě)學(xué)生信息完成注冊(cè)后置條件點(diǎn)擊“停止”按鈕退出注冊(cè)
概要設(shè)計(jì)系統(tǒng)流程圖系統(tǒng)需要先導(dǎo)入人臉圖片到人臉數(shù)據(jù)庫(kù)中,然后才能進(jìn)行攝像頭識(shí)別,視頻識(shí)別,注冊(cè)人臉以及簽到表管理等功能。在沒(méi)有導(dǎo)入圖片的情況下操作其他功能會(huì)有警告對(duì)話(huà)框彈出提示并阻止相應(yīng)功能的進(jìn)行。 圖3.1系統(tǒng)流程圖 功能模塊設(shè)計(jì)系統(tǒng)分為五個(gè)主要模塊,分別是導(dǎo)入人臉圖片模塊,識(shí)別視頻模塊,攝像頭識(shí)別模塊,注冊(cè)人臉模塊和簽到表管理模塊,每個(gè)模塊對(duì)應(yīng)若干個(gè)子功能。圖3.2功能模塊設(shè)計(jì)界面模塊設(shè)計(jì)界面主要包括用于播放攝像頭畫(huà)面或者視頻畫(huà)面的圖片控件,用于顯示簽到名單的列表,以及各個(gè)功能按鈕。當(dāng)點(diǎn)擊任意一個(gè)功能按鈕時(shí),其他功能按鈕都會(huì)呈現(xiàn)淡灰色的不可用狀態(tài),直到該功能運(yùn)行完畢或者點(diǎn)擊停止按鈕結(jié)束功能為止。圖3.3界面模塊設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)是在概要設(shè)計(jì)的基礎(chǔ)上對(duì)概要設(shè)計(jì)中的各個(gè)功能模塊的細(xì)化說(shuō)明,旨在簡(jiǎn)單明了地把各個(gè)功能模塊的具體實(shí)現(xiàn)邏輯用圖形或文字的方式描述出來(lái)。一份合格的詳細(xì)設(shè)計(jì)可以為軟件測(cè)試提供充分的參考,從而增加軟件測(cè)試的效率和質(zhì)量;也可以讓團(tuán)隊(duì)的其他成員更快速清晰地了解程序的內(nèi)部實(shí)現(xiàn)邏輯,從而更好地對(duì)軟件進(jìn)行維護(hù),保證軟件的質(zhì)量和延長(zhǎng)軟件的使用期。針對(duì)本人臉識(shí)別簽到系統(tǒng),要進(jìn)行詳細(xì)設(shè)計(jì)的功能模塊有:導(dǎo)入人臉圖片模塊,識(shí)別視頻模塊,攝像頭識(shí)別模塊,注冊(cè)人臉模塊和簽到表管理模塊。本文以程序流程圖的方式來(lái)描述各個(gè)模塊的具體實(shí)現(xiàn)邏輯。主要功能設(shè)計(jì)導(dǎo)入圖片導(dǎo)入圖片的大致步驟為選擇圖片文件夾->依次提取文件夾中的圖片的人臉信息并存入人臉信息庫(kù)中->展示錄入失敗的圖片名稱(chēng),具體流程圖如下:圖4.1導(dǎo)入圖片流程圖攝像頭識(shí)別攝像頭識(shí)別大致步驟為選擇攝像機(jī)類(lèi)型->開(kāi)啟攝像頭->對(duì)攝相頭中的畫(huà)面進(jìn)行人臉撿測(cè)->對(duì)撿測(cè)出的人臉與人臉數(shù)據(jù)庫(kù)中的人臉信息進(jìn)行比對(duì)得出結(jié)果->更新簽到表。具體流程圖如下。圖4.2攝像頭識(shí)別流程圖識(shí)別視頻識(shí)別視頻的大致步驟為選擇視頻文件->視頻播放->對(duì)視頻文件逐幀提取畫(huà)面并進(jìn)行人臉檢測(cè)和識(shí)別->更新簽到表->視頻結(jié)束展示人臉截圖。具體流程圖如下:圖4.3識(shí)別視頻流程圖注冊(cè)人臉注冊(cè)人臉的大致步驟為選擇攝像機(jī)類(lèi)型->開(kāi)啟攝像頭->對(duì)攝像頭畫(huà)面進(jìn)行人臉檢測(cè)->為檢測(cè)出的人臉填寫(xiě)名字信息->保存注冊(cè)時(shí)的人臉畫(huà)面->注冊(cè)成功。具體流程圖如下:圖4.4注冊(cè)人臉流程圖主要api介紹人臉檢測(cè)原型:MRESULTAFD_FSDK_StillImageFaceDetection(MHandlehEngine,LPASVLOFFSCREENpImgData,LPAFD_FSDK_FACERESpFaceRes);描述:根據(jù)輸入的圖像檢測(cè)出人臉位置,一般用于靜態(tài)圖像檢測(cè)。參數(shù):hEngine[in]引擎handlepImgData[in]帶檢測(cè)圖像信息pFaceRes[out]人臉檢測(cè)結(jié)果返回值:成功返回MOK,否則返回失敗code。MERR_INVALID_PARAM參數(shù)輸入非法MERR_NO_MEMORY內(nèi)存不足人臉對(duì)比原型MRESULTAFR_FSDK_ExtractFRFeature(MHandlehMemMgr,MHandlehEngine,LPASVLOFFSCREENpInputImage,LPAFR_FSDK_FACEINPUTpFaceRes,LPAFR_FSDK_FACEMODELpFaceModels);功能描述:獲取臉部特征。參數(shù):hEngine[in]引擎handlepInputImage[in]輸入的圖像數(shù)據(jù)pFaceRes[in]已檢測(cè)到到的臉部信息pFaceModels[out]提取的臉部特征信息返回值:成功返回MOK,否則返回失敗code。失敗codes如下所列:MERR_INVALID_PARAM參數(shù)輸入非法MERR_NO_MEMORY內(nèi)存不足MRESULTAFR_FSDK_FacePairMatching(MHandlehEngine,AFR_FSDK_FACEMODEL*reffeature,AFR_FSDK_FACEMODEL*probefeatureMd,MFloat*pfSimilScoreMF);功能描述:臉部特征比較.參數(shù):hEngine[in]引擎handlereffeature[in]已有臉部特征信息probefeatureMd[in]被比較的臉部特征信息pfSimilScoreMF[out]相似程度數(shù)值返回值:成功返回MOK,否則返回失敗code。失敗codes如下所列:MERR_INVALID_PARAM參數(shù)輸入非法MERR_NO_MEMORY內(nèi)存不足實(shí)現(xiàn)/調(diào)試過(guò)程中遇到的困難及相應(yīng)解決方法界面問(wèn)題問(wèn)題描述:如果在主函數(shù)中的while循環(huán)內(nèi)進(jìn)行攝像頭畫(huà)面讀取和識(shí)別操作的話(huà),程序界面會(huì)卡著不動(dòng)。解決方法:采用計(jì)數(shù)器1秒60幀地對(duì)攝像頭進(jìn)行讀取,同時(shí)開(kāi)啟一個(gè)線(xiàn)程對(duì)幀畫(huà)面進(jìn)行識(shí)別操作。數(shù)據(jù)存儲(chǔ)問(wèn)題問(wèn)題描述:如果把所有人臉數(shù)據(jù)都存儲(chǔ)在內(nèi)存中的話(huà),雖然識(shí)別速度會(huì)快很多,但是因?yàn)橐粋€(gè)人臉數(shù)據(jù)就要占據(jù)22kb的空間,隨著人臉庫(kù)中的人臉數(shù)量的增多,程序占用的內(nèi)存會(huì)不斷增大,對(duì)電腦造成負(fù)擔(dān)。解決方法:把所有的人臉數(shù)據(jù)都存入一個(gè)txt文件中,識(shí)別人臉時(shí)依次順序地從txt文件中讀取一個(gè)人臉數(shù)據(jù)到內(nèi)存中與待識(shí)別的人臉進(jìn)行比對(duì),直到文件結(jié)尾。
UI設(shè)計(jì)主要功能展示主界面界面主要包括用于播放攝像頭畫(huà)面或者視頻畫(huà)面的圖片控件,用于顯示簽到名單的列表,以及各個(gè)功能按鈕。當(dāng)點(diǎn)擊任意一個(gè)功能按鈕時(shí),其他功能按鈕都會(huì)呈現(xiàn)淡灰色的不可用狀態(tài),直到該功能運(yùn)行完畢或者點(diǎn)擊停止按鈕結(jié)束功能為止。圖5.1主界面選擇圖片導(dǎo)入人臉庫(kù)用戶(hù)可以通過(guò)點(diǎn)擊“選擇圖片文件夾載入人臉庫(kù)”或者點(diǎn)擊“選擇圖片載入人臉庫(kù)”按鈕進(jìn)入導(dǎo)入人臉圖片功能模塊。點(diǎn)擊后會(huì)出現(xiàn)文件瀏覽窗口供用戶(hù)選擇需要導(dǎo)入的人臉圖片或者文件夾。圖5.2選擇文件夾 在圖片載入的過(guò)程中會(huì)有進(jìn)度條提示當(dāng)前進(jìn)度,便于用戶(hù)知曉大概的等待時(shí)間,防止用戶(hù)以為程序卡死強(qiáng)制關(guān)閉程序以致無(wú)法完成功能。加載完畢后會(huì)有對(duì)話(huà)框提示。圖5.3加載界面開(kāi)啟攝像頭簽到模式用戶(hù)可以通過(guò)點(diǎn)擊“開(kāi)始簽到”進(jìn)入攝像頭識(shí)別簽到功能。在這里用戶(hù)可以選擇使用本地?cái)z像機(jī)和網(wǎng)絡(luò)攝像機(jī)兩種方式開(kāi)啟簽到功能,其中本地?cái)z像頭能夠開(kāi)啟軟件所在的計(jì)算機(jī)自帶的攝像頭,而網(wǎng)絡(luò)攝像機(jī)則可以開(kāi)啟連在同一局域網(wǎng)內(nèi)的遠(yuǎn)程攝像頭。選擇本地?cái)z像頭會(huì)直接開(kāi)啟攝像頭進(jìn)入簽到功能,而選擇網(wǎng)絡(luò)攝像頭時(shí)需要填寫(xiě)遠(yuǎn)程攝像頭的用戶(hù)名、密碼、ip地址和端口號(hào)。如圖:圖5.4選擇攝像頭圖5.5選擇網(wǎng)絡(luò)攝像頭 成功開(kāi)啟攝像頭后,就會(huì)進(jìn)入簽到流程,對(duì)攝像頭中檢測(cè)成功的人臉與人臉庫(kù)數(shù)據(jù)進(jìn)行對(duì)比并將結(jié)果進(jìn)行標(biāo)注并完成簽到,同時(shí)更新簽到列表名單。如圖:圖5.6識(shí)別界面如果連續(xù)10次檢測(cè)不到結(jié)果,則程序會(huì)認(rèn)為人臉庫(kù)中沒(méi)有相應(yīng)的人臉數(shù)據(jù),會(huì)彈出對(duì)話(huà)框詢(xún)問(wèn)用戶(hù)是否需要錄入新人臉數(shù)據(jù),選擇是的話(huà)會(huì)進(jìn)入注冊(cè)人臉流程。圖5.7提示是否錄入新人臉人臉注冊(cè)用戶(hù)可以點(diǎn)擊“手動(dòng)注冊(cè)人臉”進(jìn)入攝像頭注冊(cè)人臉功能,同樣可以選擇兩種攝像頭,步驟跟開(kāi)啟攝像頭簽到功能一樣,這里就不再重復(fù)。圖5.8選擇攝像頭開(kāi)啟攝像頭后會(huì)對(duì)攝像頭中檢測(cè)到的人臉進(jìn)行錄入流程,這里用戶(hù)需要為這張人臉填寫(xiě)名字信息,然后點(diǎn)擊確定便可以完成注冊(cè)。圖5.9注冊(cè)界面 完成注冊(cè)后程序會(huì)把注冊(cè)時(shí)的人臉照片保存在程序根目錄的“注冊(cè)時(shí)生成的圖片”文件夾里面,以便下次錄入人臉庫(kù)。圖5.10注冊(cè)時(shí)的圖片被保存識(shí)別視頻用戶(hù)可以通過(guò)點(diǎn)擊“識(shí)別視頻”按鈕進(jìn)入視頻識(shí)別功能模塊。這時(shí)會(huì)彈出文件瀏覽窗口供用戶(hù)進(jìn)行視頻文件的選擇。圖5.11選擇視頻文件 選擇視頻后程序會(huì)對(duì)視頻進(jìn)行2倍速的播放,并且在播放過(guò)程中會(huì)對(duì)畫(huà)面中出現(xiàn)的人臉進(jìn)行檢測(cè)和識(shí)別,匹配成功的人臉會(huì)自動(dòng)進(jìn)行簽到并會(huì)有相應(yīng)的姓名標(biāo)注,且匹配成功的人臉畫(huà)面會(huì)被保存在程序根目錄下的“識(shí)別視頻生成的截圖”文件夾中。圖5.12視頻識(shí)別界面 視頻播放結(jié)束或者點(diǎn)擊停止后會(huì)展示人臉截圖。圖5.13視頻人臉截圖簽到表管理點(diǎn)擊“打開(kāi)簽到表”按鈕可以打開(kāi)只顯示已簽到人員的名單。點(diǎn)擊“打開(kāi)姓名列表”可以打開(kāi)顯示所有人臉姓名的名單,其中0代表未簽到,1代表已簽到。圖5.14查看簽到情況圖5.15簽到表界面測(cè)試系統(tǒng)軟件測(cè)試概述軟件測(cè)試是在軟件即將驗(yàn)收與運(yùn)作前對(duì)已完成的軟件生命周期階段(包括需求分析、設(shè)計(jì)和編碼)進(jìn)行的最終審核。從表面上來(lái)看,軟件工程的其他階段都是建設(shè)性的,而軟件測(cè)試則是摧毀性的。然而,軟件測(cè)試是建立一個(gè)可靠性高的軟件系統(tǒng)和保證軟件質(zhì)量至為關(guān)鍵的一個(gè)步驟。它是為了找出程序中的bug而進(jìn)行的過(guò)程。測(cè)試方法分為兩大類(lèi),分別是動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試,而動(dòng)態(tài)測(cè)試又分為白盒測(cè)試和黑盒測(cè)試。本系統(tǒng)采取黑盒測(cè)試方法來(lái)進(jìn)行測(cè)試。黑盒測(cè)試又稱(chēng)為功能測(cè)試或基于需求規(guī)格說(shuō)明書(shū)的測(cè)試,顧名思義,黑盒測(cè)試就是將被測(cè)試的對(duì)象看作一個(gè)不透明的黑盒子,測(cè)試人員無(wú)需知道程序內(nèi)部的具體實(shí)現(xiàn)邏輯和數(shù)據(jù)結(jié)構(gòu),僅僅需要在程序的用戶(hù)界面和程序接口上進(jìn)行測(cè)試,以檢驗(yàn)程序是否符合需求規(guī)格說(shuō)明書(shū)中的各種需求,能否在接收正確或錯(cuò)誤的輸入的時(shí)候給出正確的輸出。針對(duì)本系統(tǒng),黑盒測(cè)試主要是為了發(fā)現(xiàn)程序中是否存在以下錯(cuò)誤:(1)界面上是否有功能的紕漏;(2)功能是否能正常使用;(3)功能是否能在接受正確或錯(cuò)誤的輸入的時(shí)候給出正確的輸出;(4)性能是否符合需求。具體測(cè)試步驟測(cè)試導(dǎo)入圖片功能測(cè)試內(nèi)容:檢查導(dǎo)入圖片按鈕是否可以正常使用;檢查圖片人臉信息是否成功錄入。測(cè)試方法:點(diǎn)擊按鈕;導(dǎo)入人臉圖片;觀(guān)察姓名列表是否有相應(yīng)的名字加入。測(cè)試攝像頭簽到功能測(cè)試內(nèi)容:檢查開(kāi)始簽到按鈕是否可以正常使用;檢查本地?cái)z像頭和遠(yuǎn)程攝像頭是否可以成功開(kāi)啟;檢查是否可以成功檢測(cè)到人臉并成功識(shí)別;檢查對(duì)同一人臉識(shí)別失敗數(shù)次后會(huì)不會(huì)彈出對(duì)話(huà)框提示錄入新人臉;檢查是否可以錄入新人臉數(shù)據(jù);檢查簽到表是否會(huì)自動(dòng)更新。測(cè)試方法:點(diǎn)擊開(kāi)始簽到按鈕;打開(kāi)本地?cái)z像頭,或者填寫(xiě)遠(yuǎn)程攝像頭信息后開(kāi)啟遠(yuǎn)程攝像頭;在沒(méi)有錄入測(cè)試者人臉信息時(shí)進(jìn)行簽到,檢查會(huì)不會(huì)提示是否錄入新人臉;在錄入測(cè)試者人臉信息后進(jìn)行簽到,檢查是否能成功簽到;檢查簽到表是否更新。測(cè)試注冊(cè)人臉功能測(cè)試內(nèi)容:檢查手動(dòng)注冊(cè)人臉按鈕是否可以正常使用;檢查本地?cái)z像頭和遠(yuǎn)程攝像頭是否可以成功開(kāi)啟;檢查是否可以成功檢測(cè)到人臉并彈出對(duì)話(huà)框要求用戶(hù)輸入名字;檢查人臉信息是否成功注冊(cè);檢查人臉照片是否被保存。測(cè)試方法:點(diǎn)擊手動(dòng)注冊(cè)人臉按鈕;打開(kāi)本地?cái)z像頭,或者填寫(xiě)遠(yuǎn)程攝相頭信息后開(kāi)啟遠(yuǎn)程攝相頭;輸入名字信息進(jìn)行人臉注冊(cè);觀(guān)察姓名列表是否有相應(yīng)的名字加入;觀(guān)察“注冊(cè)時(shí)生成的照片”里是否有新的照片。測(cè)試識(shí)別視頻功能測(cè)試內(nèi)容:檢查識(shí)別視頻按鈕是否可以正常使用;檢查視頻是否可以正常播放;檢查播放過(guò)程中是否能檢查并識(shí)別人臉;檢查簽到表是否更新;檢查播放結(jié)束后有沒(méi)有人臉截圖。測(cè)試方法:點(diǎn)擊識(shí)別視頻按鈕,并選擇視頻文件;播放視頻;播放結(jié)束后檢查簽到表和截圖。
結(jié)論通過(guò)本次設(shè)計(jì),學(xué)到了不少東西。最重要的是對(duì)進(jìn)行軟件設(shè)計(jì)的整體設(shè)計(jì)流程及思維方法有了更為深刻的認(rèn)識(shí)。在期間,發(fā)現(xiàn)的許多問(wèn)題都源于沒(méi)有認(rèn)真的按步驟進(jìn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省懷化市中方縣一中2026屆高二上生物期末復(fù)習(xí)檢測(cè)試題含解析
- 微波能控器件開(kāi)發(fā)-洞察與解讀
- 農(nóng)村環(huán)境監(jiān)測(cè)網(wǎng)絡(luò)-洞察與解讀
- 強(qiáng)化學(xué)習(xí)驅(qū)動(dòng)的多模式?jīng)Q策算法優(yōu)化與應(yīng)用-洞察與解讀
- 員工心理健康干預(yù)機(jī)制-洞察與解讀
- 2025年陜西省富平縣公開(kāi)招聘城市協(xié)管員試題帶答案詳解
- 微納加工技術(shù)-第1篇-洞察與解讀
- 小學(xué)生防溺水主題班會(huì)教案
- 教師教案和作業(yè)聽(tīng)課筆記規(guī)范管理方案
- PEP五年級(jí)下Unit 5教案及教學(xué)反思
- DB21-T 4279-2025 黑果腺肋花楸農(nóng)業(yè)氣象服務(wù)技術(shù)規(guī)程
- 2026廣東廣州市海珠區(qū)住房和建設(shè)局招聘雇員7人考試參考試題及答案解析
- 2026新疆伊犁州新源縣總工會(huì)面向社會(huì)招聘工會(huì)社會(huì)工作者3人考試備考題庫(kù)及答案解析
- 廣東省汕頭市2025-2026學(xué)年高三上學(xué)期期末語(yǔ)文試題(含答案)(含解析)
- 110接處警課件培訓(xùn)
- DB15∕T 385-2025 行業(yè)用水定額
- 火箭軍教學(xué)課件
- 新媒體運(yùn)營(yíng)專(zhuān)員筆試考試題集含答案
- 護(hù)理不良事件之血標(biāo)本采集錯(cuò)誤分析與防控
- 心臟電生理檢查操作標(biāo)準(zhǔn)流程
- 盾構(gòu)構(gòu)造與操作維護(hù)課件 2 盾構(gòu)構(gòu)造與操作維護(hù)課件-盾構(gòu)刀盤(pán)刀具及回轉(zhuǎn)中心
評(píng)論
0/150
提交評(píng)論