版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要人臉辨認技術(FRT)是當今模式辨認和人工智能領域一種重要研究方向。雖然人臉辨認研究已有很長歷史,各種人臉辨認技術也諸多,但由于人臉屬于復雜模式并且容易受表情、膚色和衣著影響,當前還沒有一種人臉辨認技術是公認迅速有效.本文重要討論了人臉辨認技術某些慣用辦法,對既有人臉檢測與定位、人臉特性提取、人臉辨認辦法進行分析和討論,最后對人臉辨認將來發(fā)展和應用做了展望。核心字:人臉辨認,特性定位,特性提取ABSTRACTNowadaysthefacerecognitiontechnology(FRT)isahotissueinthefieldofpatternrecognitionandartificialintelligence.Althoughthisresearchalreadyhasalonghistoryandmanydifferentrecognitionmethodsareproposed,thereisstillnoeffectivemethodwithlowcostandhighprecision.Humanfaceisacomplexpatternandiseasilyaffectedbytheexpression,complexionandclothes.Inthispaper,somegeneralresearcharediscussed,includingmethodsoffacedetectionandlocation,featuresabstraction,andfacerecognition.Thenweanalyzeandforecastthefacerecognition’sapplicationanditsprospects.Keywords:FaceRecognitionTechnology,Facelocation,Featuresabstraction第1章緒論所謂人臉辨認,是指對輸入人臉圖像或者視頻.判斷其中與否存在人臉,如果存在人臉,則進一步給出每張人臉位置、大小和各個重要面部器官位置信息。并且根據這些信息,進一步提取每張人臉蘊含身份特性,并將其與已知人臉庫中人臉進行對比,從而辨認每張人臉身份。人臉辨認研究涉及范疇廣泛,內容涉及模式辨認、計算機視覺、圖像解決、人工智能等方面。人臉辨認還涉及到神經網絡等學科,也和人腦結識限度緊密有關。這諸多因素使得人臉辨認成為一項極富挑戰(zhàn)性課題。1.1人臉辨認技術研究意義人臉辨認是機器視覺和模式辨認領域最富有挑戰(zhàn)性課題之一,同步也具備較為廣泛應用意義。人臉辨認技術是一種非?;钴S研究領域,它覆蓋了數字圖像解決、模式辨認、計算機視覺、神經網絡、心理學、生理學、數學等諸多學科內容。如今,雖然在這方面研究已獲得了某些可喜成果,但是FRT在實用應用中仍面臨著很嚴峻問題,由于人臉五官分布是非常相似,并且人臉自身又是一種柔性物體,表情、姿態(tài)或發(fā)型、化妝千變萬化都給對的辨認帶來了相稱大麻煩。如何能對的辨認大量人并滿足實時性規(guī)定是迫切需要解決問題。1.2國內外研究現狀人臉辨認系統當前在大多數領域中起到舉足輕重作用,特別是用在機關單位安全和考勤、網絡安全、銀行、海關邊檢、物業(yè)管理、軍隊安全、智能身份證、智能門禁、司機駕照驗證、計算機登錄系統。國內在這方面也獲得了較好成就,國家863項目“面像檢測與辨認核心技術”通過成果鑒定并初步應用,就標志著國內在人臉辨認這一當今熱點科研領域掌握了一定核心技術。北京科瑞奇技術開發(fā)股份有限公司在開發(fā)了一種人臉鑒別系統,對人臉圖像進行解決,消除了照相機影響,再對圖像進行特性提取和辨認。這對于人臉鑒別特別有價值,由于人臉鑒別普通使用正面照,要鑒別人臉圖像是不同步期拍攝,使用照相機不同樣。系統可以接受時間間隔較長照片,并能達到較高辨認率,在計算機中庫藏2300人正面照片,每人一張照片,使用相距1--7年、差別比較大照片去查詢,首選率可以達到50%,前20張輸出照片中包具有與輸入照片為同一人照片概率可達70%。美國陸軍實驗室也是運用vc++開發(fā),通過軟件實現,并且FAR為49%。在美國進行公開測試中,FAR,為53%。美國國防部高檔研究項目署,運用半自動和全自動算法。這種算法需要人工或自動指出圖像中人兩眼中心坐標,然后進行辨認。在機場開展測試中,系統發(fā)出錯誤警報太多,國外某些高校(卡內基梅隆大學(CarnegieMellonUniversity)為首,麻省理工大學(MassachusettsInstituteofTechnology)等,英國雷丁大學(UniversityofReading))和公司(Visionics公司Facelt人臉辨認系統、ViiageFaceFINDER身份驗證系統、LauTech公司Hunter系統、德國BioID系統等)工程研究工作也重要放在公安、刑事方面,在考實驗證系統實現方面進一步研究并不多。1.3本系統研究內容本系統重要對人臉檢測與定位做了進一步研究。在人臉檢測某些重要是對圖像進行獲取和預解決。圖像獲取重要是獲取圖像基本信息,以便對圖像像素進行解決。預解決涉及對圖像灰度化,中值濾波,對比度變化以及邊沿提取。人臉預解決過程是計算機人臉辨認中一種重要過程。人臉圖像預解決好壞對整個系統至關重要,對人臉預解決研究具備非常重要意義。特性定位是人臉辨認目是擬定單張人臉在圖像中位置,它通過標記人臉區(qū)域來擬定和計算人臉各器官定位。人臉特性檢測是檢測人臉特性有無和位置,例如說眼睛、鼻子、鼻孔、嘴巴、嘴唇等有無和位置。值得指出是,人臉檢測涉及辦法種類繁多(據報告可知,用于人臉檢測辦法有150各種),且涉及知識點較深,并各有特點,因此咱們小組將人臉檢測與人臉辨認區(qū)別開來,由于后者只是前者一種簡樸問題。同步,咱們把注意力集中在人臉檢測辦法上,而沒有實現與數據庫中人臉匹配問題。1.4當前研究中存在問題雖然人類人臉辨認能力很強,,可以記住并辨別上千張不同人臉,可是計算機則困難多了。其體當前:人臉表情豐富;人臉隨年齡增長而變化;人臉所成圖像受光照、成像角度及成像距離等影響;并且從二維圖象重建三維人臉是病態(tài)(ill2posed)過程,當前尚沒有較好描述人臉三維模型。此外,人臉辨認還涉及到圖象解決、計算機視覺、模式辨認以及神經網絡等學科,也和人腦結識限度緊密有關。這諸多因素使得人臉辨認成為一項極富挑戰(zhàn)性課題。第2章系統需求分析2.1系統功能需求系統功能重要環(huán)繞人臉檢測和人臉特性定位進行設計,一方面該系統會對圖像進行人臉檢測,人臉檢測重要是對圖像進行預解決過程,預解決這個模塊在整個人臉辨認系統開發(fā)過程中占有很重要地位。該系統重要是將解決后人臉圖片進行定位,將眼睛、鼻子、嘴巴標記出來。2.1.1功能劃分及描述圖像解決辦法諸多,咱們可以依照需要,有選取地使用各種辦法。在擬定臉部區(qū)域上,普通用法有膚色提取。膚色提取,則對臉部區(qū)域獲取則比較精確,成功率達到95%以上,并且速度快,減少諸多工作。圖像獲取模塊:該模塊重要是從圖片庫中獲取圖片,獲取后圖片可以在軟件界面中顯示出來以便進行辨認。圖像預解決模塊:圖像預解決就是對獲獲得來圖像進行恰當解決,使它具備特性可以在圖像中明顯體現出來。該模塊中子模塊有如下幾種,下面對它們進行概述:中值濾波:在圖像采集過程中,由于各種因素影響,圖像中往往會浮現某些不規(guī)則隨機噪聲,如數據在傳播、存儲時發(fā)生數據丟失和損壞等,這些都會影響圖像質量,因而需要將圖片進行平滑操作以此來消除噪聲。灰度化:圖像灰度化過程就是把彩色圖像轉換為灰度圖像過程,彩色圖像包括較多人臉特性信息,但是直接作為解決對象會使過程復雜化.相比之下灰度圖像在保存了人臉重要特性信息基本上,減少了總信息量。Sobel提?。ㄟ呇靥崛。翰捎锰荻任⒎咒J化圖像,使噪聲、條紋等得到增強;對圖像中隨機噪聲也有一定平滑作用;標記人臉邊沿,使其邊沿顯得粗而亮。對比度增強:對比度增強,就是對圖像進一步解決,將對比度再一次拉開。它針對原始圖像每一種像素直接對其灰度進行解決,其解決過程重要是通過增強函數對像素灰度級進行運算并將運算成果作為該像素新灰度值來實現。通過變化選用增強函數解析表達式就可以得到不同解決效果。相似度計算:相似度計算是為了鑒別兩對象相似限度而設定算法,例如文字、指紋、人臉等。為了便于二值化閾值擬定,膚色相似度計算意義是通過計算出與人臉膚色相近像素點,擬定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一種可計算出閾值比較值。二值化:通過某些算法,通過一種閾值變化圖像中像素顏色,令整幅圖像畫面內僅有黑白二值,該圖像普通由黑色區(qū)域和白色區(qū)域構成,可以用一種比特表達一種像素,“1”表達黑色,“0”表達白色,以便有助于咱們對特性提取。直方圖:直方圖是圖象解決中一種十分重要圖象分析工具,它描述了一幅圖像灰度級內容,任何一幅直方圖都包括了豐富信息。從數學上來說圖像直方圖是圖像各個灰度值記錄特性與圖像灰度值函數,它記錄了一幅圖像中各個灰度級浮現次數和概率。2.1.2開發(fā)環(huán)境硬件環(huán)境硬件配備原則:具備可靠性,可用性和安全性,具備完善技術支持??梢詽M足個人學習和設計需要。運營本軟件所需硬件資源:CPU:800M及以上;內存:128M及以上軟件環(huán)境系統軟件配備原則可以滿足該軟件可靠性,可用性和安全性規(guī)定系統軟件配備方案①配備有持續(xù)工作能力、高穩(wěn)定性、高度可集成開放式原則操作系統,如Windows,WindowsNT,UNIX,Linux等。②配備符合ANSI/ISO原則高檔程序設計語言解決軟件。如:VisualC++6.0。③熟悉C++高檔程序設計語言。2.1.3運營環(huán)境(1)硬件環(huán)境CPU:800M以上;內存:128M及以上。(2)軟件環(huán)境可以運營在微軟公司近年來所出各種操作系統。如Windows98、WindowsMe、Windows、WindowsNT等。2.2可行性分析在開發(fā)該人臉辨認軟件之前,咱們查詢了前人所寫過諸多論文以及源程序,在開發(fā)之時,結合了資料中算法并揉進了自己某些思想,使程序可以對人臉圖片進行簡易辨認。2.2.1操作可行性該人臉辨認軟件需要如下運營環(huán)境:CPU:800M及以上;內存:128M及以上。安裝有Windows98、WindowsMe、Windows、WindowsNT等操作系統中其中一種。因而,從操作可行性來看,只要系統顧客硬件軟件設備滿足以上條件,即可用該人臉辨認軟件進行人臉辨認。2.2.2技術可行性圖像解決辦法諸多,咱們可以依照需要,有選取地使用各種辦法。在擬定臉部區(qū)域上,普通用法有膚色提取。膚色提取,則對臉部區(qū)域獲取則比較精確,成功率達到95%以上,并且速度快,減少諸多工作。人臉自身變化挑戰(zhàn):同一種人人臉圖像由于表情、精神狀態(tài)、健康狀況、姿態(tài)、整容、年齡變化、意外損傷、化妝、眼鏡帽子、頭發(fā)胡須等變化而發(fā)生巨大變化;外部環(huán)境挑戰(zhàn):光照環(huán)境條件、攝像設備、人與攝像設備距離角度、圖像存儲質量等,都會使人臉圖像發(fā)生教大變化。面隊這些就規(guī)定咱們進一步研究基于人臉膚色提取算法,提高辨認精度,,提高辨認速度,提高系統合用性。2.3預解決方案選取2.3.1設計方案原則選取本應用程序設計方案原則如下:①采用較為先進技術力量,保證應用程序在技術上具備一定優(yōu)勢。②采用成熟技術,保證應用程序安全性和可靠性。③應用程序便于擴展和維護,易于技術更新。④應用程序充分運用既有資源,盡量減少不必要再投資。⑤編寫代碼必要嚴謹易讀,代碼解釋必要清晰明白,為應用程序再開發(fā)提供應盡責任。2.3.2圖像文獻格式選取圖像采集是在Windows操作系統下開發(fā),需要理解在此環(huán)境下圖像存儲、顯示等方面機制。在Windows操作系統中,任何圖像格式(如.jpeg格式,.gif格式)在系統中顯示之前最后必要轉化為位圖格式。BMP圖像文獻格式(位圖格式)是微軟公司為其Windows環(huán)境設立原則圖像格式,在設計過程中,為了定位和特性提取以便,咱們采用是BMP格式圖像。2.3.3開發(fā)工具選取本次設計所用開發(fā)工具是MicrosoftVisualC++6.0。VisualC++6.0是Microsoft公司推出一種可視化編程工具。它支持多平臺和交叉平臺開發(fā),將各種編程工具如編輯器、連接器、調試器等巧妙結合在一起,構成一種完美可視化開發(fā)環(huán)境。顧客無需通過繁雜編程操作,即可完畢Windows下應用程序編輯、編譯、測試和細化等工作。2.3.4算法選取分析本文重要研究對象是圖像預解決模塊,該模塊分為中值濾波、圖像灰度化、相似度計算、二值化每個小模塊實現均有許多相應算法。下面將本系統采用算法進行簡介:中值濾波:在圖像采集過程中,由于各種因素影響,圖像中往往會浮現某些不規(guī)則隨機噪聲,如數據在傳播、存儲時發(fā)生數據丟失和損壞等,這些都會影響圖像質量,因而需要將圖片進行平滑操作以此來消除噪聲。但是如果平滑不當,就會使圖像自身細節(jié)如邊界輪廓、線條等變模糊不清,為了既平滑掉噪聲有盡量保持圖像細節(jié),本系統采用中值濾波算法解決。圖像灰度化:圖像灰度化是將圖像變成灰色,本系統中采用加權平均值法來實現圖像灰度化,這樣可以獲得最合理灰度圖像。膚色相似度計算:相似度計算是為了鑒別兩對象相似限度而設定算法,例如文字、指紋、人臉等。為了便于二值化閾值擬定,膚色相似度計算意義是通過計算出與人臉膚色相近像素點,擬定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一種可計算出閾值比較值。二值化:通過某些算法,通過一種閾值變化圖像中像素顏色,令整幅圖像畫面內僅有黑白二值,該圖像普通由黑色區(qū)域和白色區(qū)域構成,可以用一種比特表達一種像素,“1”表達黑色,“0”表達白色,以便有助于咱們對特性提取。第3章系統概要設計本章重要簡介系統構造設計流程以及系統各模塊功能及有關原理。應用程序總體構造設計流程圖如圖3-1所示:圖3-1總體構造設計流程圖圖3-1總體構造設計流程圖圖像預解決層次圖如圖3-2所示:圖3-2預解決層次圖人臉定位層次圖如圖3-3所示:圖3-3人臉定位層次圖3.1各模塊功能概述以上是該系統總體構造設計圖以及圖像預解決模塊層次圖。下面簡介系統中各模塊詳細功能。3.1.1圖像獲取模塊該模塊重要是從圖片庫中獲取,獲取后圖片可以在軟件界面中顯示出來以便進行辨認。3.1.2人臉區(qū)域獲取該系統中圖像里人臉區(qū)域獲取,重要是依照膚色來進行獲取,通過膚色非線形分段色彩變換來實現。這一非線性分段色彩變換得到膚色模型屬于色彩空間中聚類模型,這一類膚色模型建立一方面要選用一種適當色彩空間。3.1.3圖像預解決模塊圖像預解決就是對獲獲得來圖像進行恰當解決,使它具備特性可以在圖像中明顯體現出來。該模塊中子模塊有如下幾種,下面對它們進行概述:★中值濾波中值濾波將對圖像進行平滑解決,在圖像采集過程中,由于各種因素影響,圖像往往會浮現某些不規(guī)則噪聲,入圖像在傳播、存儲等均有也許產生數據丟失。從而影響圖像質量。解決噪聲過程稱為濾波。濾波可以減少圖像視覺噪聲。★灰度化圖像灰度化過程就是把彩色圖像轉換為灰度圖像過程,彩色圖像包括較多人臉特性信息,但是直接作為解決對象會使過程復雜化.相比之下灰度圖像在保存了人臉重要特性信息基本上,減少了總信息量?!飳Ρ榷仍鰪妼Ρ榷仍鰪?,就是對圖像進一步解決,將對比度再一次拉開。使圖象原本模糊邊沿變得清晰?!颯obel邊沿提取Sobel提取長處:采用梯度微分銳化圖像,同樣使噪聲、條紋等得到增強,Soble算子則在一定限度上克服了這個問題:由于引入了平均因素,因而對圖像中隨機噪聲有一定平滑作用;由于它是相隔兩行或兩列之差分,故邊沿兩側之元素得到了增強,故邊沿顯得粗而亮。★相似度計算相似度計算是為了鑒別兩對象相似限度而設定算法,例如文字、指紋、人臉等。為了便于二值化閾值擬定,膚色相似度計算意義是通過計算出與人臉膚色相近像素點,擬定人臉區(qū)域,用灰度圖象顯示出來,并為二值化提供一種可計算出閾值比較值?!锒祷祷渴菍⒉杉@得多層次灰度圖像解決成二值圖像,以便于分析理解和辨認并減少計算量。二值化就是通過某些算法,通過一種閾值變化圖像中像素顏色,令整幅圖像畫面內僅有黑白二值,該圖像普通由黑色區(qū)域和白色區(qū)域構成,可以用一種比特表達一種像素,“1”表達黑色,“0”表達白色,固然也可以倒過來表達,這種圖像稱之為二值圖像。這便有助于咱們對特性提取。該設計中采用組內方差和組外方差來實現二值化。3.1.4圖像模塊定位對候選特性進行篩選時,一方面割據顏色信息提出那些偽特性。然后用PCA模板和幾何特性擬定眼睛和嘴巴?!镱伾Y選無論是眼睛還是嘴巴,都位于人臉非膚色區(qū)域。并且眼睛顏色是黑暗分明,運用這些懂得可以裁減諸多候選,減少PCA驗證承擔?!镫p眼定位把篩選過特性區(qū)域兩兩配對,再用PCA模扳進行嚴整,就可以得到真正雙眼大使,PCA嚴整有時候難以區(qū)別眉毛與眼睛,因此還要用某些幾何特性進一步篩選,由于假定姿態(tài)是正,雙眼必然位于人臉上半某些,她們連線是近似水平,并且她們中心比眉毛低,運用這些判據,可以區(qū)別眉毛和眼睛。★鼻子定位在擬定了眼睛位置后來,鼻子位置基本擬定,以眼睛瞳距為1來計算,鼻子到兩眼中心距離為0.7到1。在這附近搜索顏色較深區(qū)域,大體能得到鼻孔位置(有側面圖一種鼻孔基本不可見,也就無法檢測出來了)。然后在兩鼻孔上訪一定范疇內(鼻孔距離1/2左右)找亮度最高點作為鼻尖?!镒彀投ㄎ徽业诫p眼之后,可以在它們下方搜索候選特性區(qū)域,尋找非膚色面積較大、近似位于雙眼對稱候選作為嘴巴。然后依照先驗知識調節(jié)嘴巴大小。第4章系統詳細設計本章重要對圖像解決這一模塊進行詳細簡介,對其子模塊所用到算法及詳細實現進行詳細講述。4.1系統運營流程圖對圖片進行光線補償、對圖片進行光線補償、將圖片變成灰色、實現圖片對比度增強,二值化變換等一系列預解決。將解決好人臉圖片進行定位,標出眼睛、鼻尖和嘴巴。啟動本系統,進入人臉辨認系統界面。點擊打開圖象,選用所需要圖片圖4-1系統流程圖4.2圖像解決詳細設計4.2.1圖像灰度化彩色圖像包括較多人臉特性信息,但是直接作為解決對象會使過程復雜化。相比之下灰度圖像在保存了人臉重要特性信息基本上,減少了總信息量。算法思想灰度化解決辦法重要有3種:最大值法:使RGB值等于3值中最大一值,即,式(4.1)最大值法會完畢亮度很高灰度。平均值法:取R,G,B平均值,即,式(4.2)平均值法會完畢比較柔和灰度。③加權平均值法:依照重要性或其她指標給R,G,B賦予不同權值,并使RGB加權值平均,即,式(4.3)其中,,分別為R,G,B權值。實驗和理論推導證明當時,即當,式(4.4)式(4.5)時,能得到最合理灰度圖像。詳細實現灰度化功能①在明白了灰度化原理之后,就可進行編碼來實現該功能。在編輯界面中添加一種按鈕控件,將其命名為‘灰度化’,并其ID號設為IDC_BTHD,相應文獻CFaceDetectDlg.Cpp中函數OnBthd()實現.②現該模塊核心代碼如下://編寫就算像素點灰度值函數intCPreProcess::CalGray1(intblue,intgreen,intred){//運用灰度計算公式intColorGray=(int)((green*59+red*30+blue*11)/100); //將像素值限制在0到255 if(ColorGray<0) { ColorGray=0; } elseif(ColorGray>255) { ColorGray=255; } returnColorGray;}//編寫OnBtGray()函數//獲取紅色分量intColorRed=m_tOriPixelArray[i][j].rgbRed;//獲取綠色分量intColorGreen=m_tOriPixelArray[i][j].rgbGreen;//獲取藍色分量intColorBlue=m_tOriPixelArray[i][j].rgbBlue;//調用函數,計算灰度值intcgray=method3->CalGray1(ColorBlue,ColorGreen,ColorRed);//顯示灰度圖像m_tResPixelArray[i][j].rgbBlue=m_tResPixelArray[i][j].rgbGreen= m_tResPixelArray[i][j].rgbRed=cgray;//重置位圖MakeBitMap();}//method3是定義一種函數指針,定義如下:CPreProcess*method3;//初始化如下method3=newCPreProcess(m_tOriPixelArray,m_nWndWidth,m_nWndHeight);圖像灰度化效果:圖4-2圖像灰度化4.2.2灰度變換按照一定規(guī)律修改像素灰度值,使圖像亮度或者對比度發(fā)生變化,使之更易于辨別,達到更好視覺效果。詳細實現功能進行編碼來實現該功能:在編輯界面中添加一種滑動條控件和文本編輯器,將其命名為‘灰度化變換’,并其ID號分別設為IDC_SLIDER1,IDC_EDIT1,相應文獻CFaceDetectDlg.Cpp中函數OnReleasedcaptureSlider1()和OnChangeEdit1()實現。打開ClassWizardMemberVariables標簽,給每個控件添加所需成員變量,參數如下:表4.1空間ID號變量類型變量名范疇和大小IDC_SLIDER1CSliderCtrlm_Slider――IDC_EDIT1intm_Gray0~255在滑動條消息解決函數OnReleasedcaptureSlider1()中設立滑動條值使它等于文本編輯框初始值。代碼為://設立滑動條初始值m_Slider.SetPos(m_Gray);//刷新界面UpdateData(true);在滑動條消息解決函數OnReleasedcaptureSlider1()中進行灰度化變換,將滑動條值賦給灰度,并將其控制在【0,255】之間。代碼為:cgray+=m_Gray; if(cgray<0) { cgray=0; } if(cgray>255) { cgray=255; } m_tResPixelArray[i][j].rgbBlue=m_tResPixelArray[i][j].rgbGreen= m_tResPixelArray[i][j].rgbRed=cgray; }} MakeBitMap(); }//重置位圖 MakeBitMap();重要代碼{CClientDCClientDC(pDCShow->GetWindow()); if(m_pResMap!=NULL)deletem_pResMap; m_pResMap=newCBitmap(); m_pResMap->CreateCompatibleBitmap(&ClientDC,m_nWndWidth,m_nWndHeight); CDCdc; dc.CreateCompatibleDC(&ClientDC); dc.SelectObject(m_pResMap); for(inti=0;i<m_nWndHeight;i++) for(intj=0;j<m_nWndWidth;j++) dc.SetPixelV(j,i,RGB(m_tResPixelArray[i][j].rgbRed,m_tResPixelArray[i][j].rgbGreen,m_tResPixelArray[i][j].rgbBlue)); dc.DeleteDC(); MyDraw();}效果圖圖4-3比較柔和灰度圖像圖4-4灰度較強圖像4.2.3sobel邊沿提取圖像邊沿:是指圖像中象素灰度值有階躍變化或屋頂狀變化那些象素集合。圖像邊沿是一種重要視覺信息,圖像邊沿檢測是圖像解決、圖像分析、模式辨認、計算機視覺以及人類視覺基本環(huán)節(jié)。其成果對的性和可靠性將直接影響到機器視覺系統對客觀世界理解。實現邊沿檢測有諸多不同辦法,也始終是圖像解決中研究熱點,人們盼望找到一種抗噪強、定位準、不漏檢、不誤檢檢測算法。典型算法[1-2]中重要用梯度算子,最簡樸梯度算子是Roberts算子,比較慣用有Prewitt算子和Sobel算子,其中Sobel算子效果較好。算法思想Sobel邊沿檢測算子使用兩個如下有向算子(一種水平,一種是垂直),每一種逼近一種偏導數:
式(4.6)然后將值賦給待求點灰度值。(2)詳細實現Sobel功能一方面對整張圖片像素點進行掃描,得到每個像素點R,G,B,然后計算得到這個像素點灰度值,// -101// -202// -101col=temp6+2*temp7+temp8-temp1-2*temp2-temp3;式(4.7)// -1-21// 000// 121row=temp3+2*temp5+temp8-temp1-2*temp4-temp6;式(4.8)temp=method3->CalSobel(col,row);式(4.9) //對計算值進行限制 if(temp<0) { temp=0; } if(temp>255) { temp=255; } //重置像素 m_tResPixelArray[i][j].rgbBlue=m_tResPixelArray[i][j].rgbGreen= m_tResPixelArray[i][j].rgbRed=temp; }} MakeBitMap(); }{CClientDCClientDC(pDCShow->GetWindow()); if(m_pResMap!=NULL)deletem_pResMap; m_pResMap=newCBitmap(); m_pResMap->CreateCompatibleBitmap(&ClientDC,m_nWndWidth,m_nWndHeight); CDCdc; dc.CreateCompatibleDC(&ClientDC); dc.SelectObject(m_pResMap); for(inti=0;i<m_nWndHeight;i++) for(intj=0;j<m_nWndWidth;j++) dc.SetPixelV(j,i,RGB(m_tResPixelArray[i][j].rgbRed,m_tResPixelArray[i][j].rgbGreen,m_tResPixelArray[i][j].rgbBlue)); dc.DeleteDC(); MyDraw();}效果圖圖4-5sobel邊沿提取4.2.4對比度增強(1)進行編碼來實現該功能:在編輯界面中添加一種滑動條控件和文本編輯器,將其命名為‘灰度化變換’,并其ID號分別設為IDC_SLIDER2,IDC_EDIT2,相應文獻CFaceDetectDlg.Cpp中函數OnReleasedcaptureSlider2()和OnChangeEdit2()實現。打開ClassWizardMemberVariables標簽,給每個控件添加所需成員變量,參數如下:表4.2空間ID號變量類型變量名范疇和大小IDC_SLIDER1CSliderCtrlm_Slider2――IDC_EDIT1intm_Degree0~255在滑動條消息解決函數OnReleasedcaptureSlider2()中設立滑動條值使它等于文本編輯框初始值。代碼為:for(inti=0;i<m_nWndHeight;i++) {for(intj=0;j<m_nWndWidth;j++) {//獲取紅色分量 intr=m_tResPixelArray[i][j].rgbRed;//獲取綠色分量 intg=m_tResPixelArray[i][j].rgbGreen;//獲取藍色分量 intb=m_tResPixelArray[i][j].rgbBlue; //對RGB進行變換 intred=abs((127-r)*m_Degree)/255; intgreen=abs((127-g)*m_Degree)/255; intblue=abs((127-b)*m_Degree)/255; //使顏色對比度更加明顯 if(r>127)r+=red; else r-=red; if(g>127) { g+=green; } else g-=green; if(b>127) { b+=blue; } else b-=blue; if(r>255)r=255;if(r<0)r=0;if(g>255)g=255;if(g<0)g=0;if(b>255)b=255;if(b<0)b=0;m_tResPixelArray[i][j].rgbRed=r; m_tResPixelArray[i][j].rgbGreen=g; m_tResPixelArray[i][j].rgbBlue=b; } } MakeBitMap(); UpdateData(true);(2)效果圖圖4-6原圖像圖4-6對比度增強后效果圖第5章系統綜合與測試5.1系統綜合人臉辨認應用程序采用VisualC++6.0作為開發(fā)工具,運用MFC采用面向對象辦法,用C++語言編寫程序。將面向對象編程技術直接應用于圖像解決知識,并按功能進行細化,建立通用類,從而減少了繁瑣性,增長代碼可重用性和可移植性,提高了效率。本設計中建立多層次類構造都是可以修改和維護。所有類都是開放,可以向其中添加新辦法以支持新功能,而不會對原有功能構成任何威脅。本設計中建立多層次類構造都是可以修改和維護。所有類都是開放,可以向其中添加新辦法以支持新功能,而不會對原有功能構成任何威脅。5.2構造設計圖像預解決設計:表5.1函數功能OnBtGray()圖象灰度化CalGray1(int,int,int)計算圖象灰度值OnChangeEdit1()設立滑動條初始值OnReleasedcaptureSlider()變化灰度變化MakeBitMap()重置位圖SetRange()設立滑動條范疇GetPos()得到滑動條值SetPos()設立滑動條值OnBUTTONSobel()實現Sobel邊沿提取OnCustomdrawSlider1()將滑動條消息映射給文本框 各成員函數解析函數名稱:OnBtGray參數:CSliderCtrlm_Slider----灰度滑動條值intm_Gray----編輯框值返回值:void闡明:該函數將編輯框值映射給滑動條函數名稱:CalGray1參數:intBlue----待求點像素藍色值intGreen----待求點像素綠色值intRed----待求點像素紅色值返回值:int----待求點灰度值闡明:該函數計算某像素點灰度值函數名稱:OnChangeEdit1參數:CSliderCtrlm_Slider----灰度滑動條值intm_Gray----編輯框值返回值:void闡明:該函數將編輯框值映射給滑動條函數名稱:OnReleasedcaptureSlider參數:void返回值:void闡明:該函數將編輯框值映射給滑動條函數名稱:MakeBitMap參數:void返回值:void闡明:重新設立位圖函數名稱:SetRange參數:intnMin----灰度滑動條最小值intnMax----灰度滑動條最大值BOOLbRedraw返回值:void闡明:設立滑動條最大最小值,擬定滑動條范疇函數名稱:GetPos參數:void返回值:void闡明:得到滑動條當前值函數名稱:SetPos參數:intnPos----設立滑動條值返回值:void闡明:設立滑動條值函數名稱:OnBUTTONSobel參數:void返回值:void闡明:設立滑動條值5.3系統測試測試是為了找出程序錯誤。正如測試規(guī)則所擬定同樣:測試是為了發(fā)現程序中錯誤而執(zhí)行程序過程;好測試方案是極也許發(fā)現迄今為止尚未發(fā)現錯誤測試方案;成功測試是發(fā)現了迄今為止尚未發(fā)現錯誤測試。本系統重要由圖像解決、人臉定位、特性提取構成,而圖像解決對于背面工作成果好壞起著至關重要作用,因而從軟件開發(fā)最初階段咱們就要對軟件進行不斷測試,對圖像解決模塊中各個子模塊進行測試以便檢測通過解決后圖像效果與否達到預期效果。下面對圖像解決模塊測試過程進行描述:圖像解決模塊:該模塊分為、圖像變成灰色、對比度變換、實現圖像對比度增強、Sboel邊沿提取。對該模塊進行測試辦法是:采用多張24位彩色圖像來進行逐個測試,看這些圖片通過解決后與否達到預期效果,如圖像灰度化模塊檢測則需看所測彩色圖片與否變成灰色;而灰度變換就是為了調試圖像最適合灰度級。圖像對比度增強是為了將圖像特性一步一步顯現出來,在測試過程中,用含人臉圖片進行檢測看與否圖像特性顯示出來與否足夠明顯。5.3.1測試原則1、應當把“盡早地和不斷地進行軟件測試”作為軟件開發(fā)者座右銘。2、測試用例應由測試輸入數據和與之相應預期輸出成果兩某些構成。3、程序員應避免檢查自己程序。(注意不是指對程序調試)4、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨境資本流動風險防范-洞察及研究
- 2025黑山旅游業(yè)市場競爭現狀供需分析及投資評估規(guī)劃分析研究報告
- 納米增強生物降解材料在紙制品中的應用-洞察及研究
- 2025香蕉水果產業(yè)現在生產銷售發(fā)展經濟規(guī)劃報告
- 2025年陜西水務發(fā)展集團所屬企業(yè)社會招聘(32人)考試筆試模擬試題及答案解析
- 2025香料制造產業(yè)現狀未來趨勢深度分析及投資潛力研究報告
- 2025廣東珠海市某事業(yè)單位誠聘質量管理崗位1人考試筆試備考試題及答案解析
- 2025預制菜行業(yè)市場發(fā)展現狀與商業(yè)模式創(chuàng)新研究分析報告
- 2025韓國游戲產業(yè)市場規(guī)模用戶行為投資機會風險評估報告
- 2025韓國民生消費品行業(yè)當前供需分析及投資評估規(guī)劃分析研究報告
- 2025年廣東省公需課《人工智能賦能制造業(yè)高質量發(fā)展》試題及答案
- 安全通道防護棚施工方案
- 有機肥可行性研究報告
- 2025年-基于華為IPD與質量管理體系融合的研發(fā)質量管理方案-新版
- 法律職業(yè)資格考試客觀題(試卷一)試卷與參考答案(2025年)
- 腹壁下動穿支課件
- 2025-2030集中式與分散式青年公寓運營效率對比分析
- 廣西協美化學品有限公司年產7400噸高純有機過氧化物項目環(huán)評報告
- 智慧樹知道網課《艾滋病、性與健康》課后章節(jié)測試答案
- 配電施工工藝培訓
- 2025年全國教師師德網絡培訓考試題庫及答案
評論
0/150
提交評論