freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于opencv的人臉檢測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)說明書(編輯修改稿)

2025-07-19 01:42 本頁面
 

【文章內(nèi)容簡介】 又稱為基于特征空間方法。它的主要思想就是把高維空間中松散分布的人臉圖像通過線性或非線性變換壓縮到一個低維的子空間中去。根據(jù)其在子空間中的分布規(guī)律劃分 “人臉”與“非人臉”兩類模式。子空間方法主要包括兩類:⑴ 主分量分析(PCA)方法主分量分析方法(PCA,PrincipalComponent Analysis)是最早由Pentland引入到人臉檢測的子空間方法,它根據(jù)圖像的統(tǒng)計(jì)特性進(jìn)行正交變換(KL變換),以消除原來各分量之間的相關(guān)性,取變換后所得到的最大的若干個特征向量(即特征臉)來表示原圖像,保留了原圖像差異的最大信息,這若干個特征向量就稱為主分量。⑵ 線性判別分析(LDA)方法線性判別分析(Liner Discriminant Analysis)方法也叫做Fisher線性判別法(Fisher Liner Discriminant),是模式識別的經(jīng)典算法。它是在1996年由Belhumeur引入模式識別和人工智能領(lǐng)域的。此算法的基本思想是將高維的模式樣本投影到最佳鑒別矢量空間,以達(dá)到抽取分類信息和壓縮特征空間維數(shù)的效果,投影后保證模式樣本在新的子空間中具有最佳可分離性,因此它是一種有效的特征提取方法。人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)方法的研究具有悠久的歷史,它是一種以大量處理單元(神經(jīng)元)為節(jié)點(diǎn),大量處理單元之間實(shí)現(xiàn)加權(quán)值互聯(lián)的復(fù)雜拓?fù)浣Y(jié)構(gòu),處理單元是人類大腦神經(jīng)單元的簡化,結(jié)構(gòu)上更類似于人腦,是一種更接近人智能的信息處理方式。人工神經(jīng)網(wǎng)絡(luò)是一個非線性動力學(xué)系統(tǒng),在解決問題的自適應(yīng)性和魯棒性方面表現(xiàn)出極好的特性,其特色在于信息的分布式存儲的并行協(xié)同處理,具有非線性特性、良好的容錯能力、聯(lián)想記憶功能以及通過學(xué)習(xí)獲取知識并解決問題的能力,用以解決復(fù)雜模式識別與行為控制問題?;谏窠?jīng)網(wǎng)絡(luò)的人臉識別方法是最近幾年比較活躍的一個研究方向,已被應(yīng)用于人臉檢測、正面人臉識別、表情分析等問題,并取得了較好的效果。MIT(麻省理工大學(xué))的學(xué)者首先對樣本集合中的人臉樣本集和非人臉樣本集進(jìn)行類聚,以測試樣本與人臉樣本集和非人臉樣本集的子類之間的距離作為識別特征向量,利用多層感知網(wǎng)絡(luò)作為分類器。CMU的研究人員則直接以圖像作為神經(jīng)網(wǎng)絡(luò)的輸入,設(shè)計(jì)了一個具有獨(dú)特結(jié)構(gòu)的適用于人臉特征的神經(jīng)網(wǎng)絡(luò)分類器,并且通過前饋神經(jīng)網(wǎng)絡(luò)對人臉檢測結(jié)果進(jìn)行了優(yōu)化?;谏窠?jīng)網(wǎng)絡(luò)的人臉識別方法要求訓(xùn)練集中包含較多的人臉的數(shù)目,只能適合于小型人臉庫。另外,由于原始灰度圖像數(shù)據(jù)量龐大,神經(jīng)網(wǎng)絡(luò)的神經(jīng)元數(shù)目通常很大,因此該方法仍然存在運(yùn)算量大、訓(xùn)練時間長、過程較復(fù)雜、收斂速度慢以及容易陷入局部最小等問題,成為制約其在人臉識別中更加廣泛應(yīng)用的主要因素。 支持向量機(jī)方法支持向量機(jī)(SVM,Support Vector Machine)是由Boser、Guyon、Vapnik等人在COLT92上提出的一種基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理的統(tǒng)計(jì)學(xué)習(xí)理論,用于分類與回歸問題。由于其出色的學(xué)習(xí)性能,該技術(shù)已成為當(dāng)前國際機(jī)器學(xué)習(xí)界的研究熱點(diǎn),在模式識別、回歸估計(jì)、函數(shù)逼近等領(lǐng)域有了廣泛的應(yīng)用。支持向量機(jī)的基本思想是通過內(nèi)積函數(shù)定義的非線性變換,將輸入空間變換到一個高維的線性空間,然后在這個空間中求取最優(yōu)分類面。為了解決小樣本的學(xué)習(xí)問題,Osuna首先將支持向量機(jī)引入人臉檢測中。支持向量機(jī)方法是依據(jù)統(tǒng)計(jì)學(xué)習(xí)理論(Statistical Learning Theory,SLT)發(fā)展起來的一種通用的模式識別方法,根據(jù)有限的樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳折衷,以期獲得最好的推廣能力。傳統(tǒng)學(xué)習(xí)理論力圖使經(jīng)驗(yàn)風(fēng)險(xiǎn)(Experience Risk)最小化,而SVM力圖使學(xué)習(xí)過程中的結(jié)構(gòu)風(fēng)險(xiǎn)(Struemral Risk)最小化,從而表現(xiàn)出很多優(yōu)于已有方法的性能。90年代以來,一直引起各領(lǐng)域的廣泛注意和研究者的極大興趣。隱馬爾可夫模型(Hidden Markov Model)是用于描述信號統(tǒng)計(jì)特性的一組常用統(tǒng)計(jì)模型,能夠很好的處理隨機(jī)時序數(shù)據(jù)的識別與預(yù)測。HMM使用馬爾科夫鏈來模擬信號統(tǒng)計(jì)特征的變化,而統(tǒng)計(jì)特征的變化又是間接地通過觀察序列來描述的,因此HMM過程是一個雙重隨機(jī)過程。其中之一是馬爾可夫鏈,這是基本隨機(jī)過程,它描述狀態(tài)的轉(zhuǎn)移;另一個隨機(jī)過程描述狀態(tài)和觀察值之間的統(tǒng)計(jì)對應(yīng)關(guān)系。在HMM中,用節(jié)點(diǎn)來表示狀態(tài),用有向邊來表示狀態(tài)之間的轉(zhuǎn)移,一個狀態(tài)可以具有特征空間中的任意特征。對同一特征,不同狀態(tài)表現(xiàn)出這一特征的概率不同。HMM的主要問題是評估、估計(jì)和解碼。根據(jù)狀態(tài)轉(zhuǎn)移的類型,HMM可分為遍歷型和左右型。前者表示狀態(tài)轉(zhuǎn)移是任意的,可以到本身和其他所有狀態(tài);后者狀態(tài)轉(zhuǎn)移只限于本身和下一個狀態(tài)。由于HMM是一個統(tǒng)計(jì)模型,對于同一特征序列,可能會對應(yīng)許多狀態(tài)序列,特征序列與狀態(tài)序列之間的對應(yīng)關(guān)系是非確定的。這種模型對于狀態(tài)序列來說是隱含的,可以觀察到的是各個狀態(tài)產(chǎn)生的非確定的觀察值,因此稱為隱馬爾可夫模型。利用HMM對人臉進(jìn)行描述和識別,把面部器官特征和一個狀態(tài)轉(zhuǎn)移模型聯(lián)系起來,既考慮了人臉的各個器官的不同特征,又考慮了他們的關(guān)聯(lián),比起孤立地利用各個器官的數(shù)值特征有概念上的進(jìn)步,該模型的參數(shù)能較好的表示具體的人臉模型。HMM方法的魯棒性較好,對表情、姿態(tài)變化不太敏感,對于不同角度的人臉圖像和不同的光照條件,都可以達(dá)到滿意的識別精度。 AdaBoost方法AdaBoost 算法是由Yoav Freund和Robert Eschapire在1995 年提出的一種快速人臉檢測算法,它是人臉檢測領(lǐng)域里程碑式的進(jìn)步,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類能力一般的簡單分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強(qiáng)的最終分類器(強(qiáng)分類器)。其算法本身是通過改變數(shù)據(jù)分布來實(shí)現(xiàn)的,它根據(jù)每次訓(xùn)練集之中每個樣本的分類是否正確,以及上次的總體分類的準(zhǔn)確率,來確定每個樣本的權(quán)值。將修改過權(quán)值的新數(shù)據(jù)集送給下層分類器進(jìn)行訓(xùn)練,最后將每次訓(xùn)練得到的分類器融合起來,作為最后的決策分類器。使用AdaBoost分類器可以排除一些不必要的訓(xùn)練數(shù)據(jù)特征,并將關(guān)鍵放在關(guān)鍵的訓(xùn)練數(shù)據(jù)上面。這種算法根據(jù)弱學(xué)習(xí)的反饋,適應(yīng)性地調(diào)整假設(shè)的錯誤率,使在效率不降低的情況下,檢測正確率得到了很大的提高。AdaBoost算法是目前人臉檢測方面檢測速度較快、檢測效率較高的一種檢測方法,它是把弱分類器采用級聯(lián)的方式訓(xùn)練成為強(qiáng)分類器的迭代方法。這些弱分類器只需滿足比隨機(jī)猜測好一點(diǎn),就能通過不斷修正每個弱分類器的權(quán)值,即挑選好的分類器,拋棄不好的分類器,最終形成由這些弱分類器組成的強(qiáng)分類器,與其它的人臉檢測算法相比,AdaBoost方法對每個弱分類器的權(quán)值的形成都是完全自動化的,因而AdaBoost算法有著很好的易用性。大量的實(shí)驗(yàn)證明,AdaBoost算法訓(xùn)練的分類器具有比較好的分類效果,檢測速度較快,效率高。Viola等人在2001年提出使用AdaBoost學(xué)習(xí)算法的快速人臉檢測方法,實(shí)現(xiàn)了實(shí)時的正面人臉檢測系統(tǒng)。Viola的系統(tǒng)中核心思想主要有三個:⑴ 提出了一種稱為“積分圖像”的圖像表示方法,這種表示法能夠快速計(jì)算出檢測器用到的特征;⑵ 采用基于Haarlike特征的AdaBoost學(xué)習(xí)算法,從一個較大的特征集中選擇少量的關(guān)鍵視覺特征,產(chǎn)生一個高效分類器;⑶ 再用級聯(lián)的方式將單個的分類器合成為一個更加復(fù)雜的分類器,使圖像的背景區(qū)域可以被快速地被丟棄,而在有可能存在目標(biāo)(人臉)的區(qū)域花費(fèi)更多的計(jì)算。該人臉檢測系統(tǒng)在實(shí)時正面人臉檢測中能夠達(dá)到15幀/秒的速率。由于該方法能夠達(dá)到較高的檢測率并且具有目前最好的實(shí)時性,因此激發(fā)了更多研究人員在基于類Haar特征和Boost學(xué)習(xí)算法的實(shí)時人臉檢測算法方面的研究。本章主要對人臉檢測的各種算法進(jìn)行了綜述,將人臉檢測進(jìn)行分類,分為基于幾何特征、基于模板匹配和基于統(tǒng)計(jì)模型三大塊進(jìn)行介紹,介紹了各種人臉檢測算法的基本原理和優(yōu)缺點(diǎn)。 3 OpenCV概述及安裝配置方法 OpenCV概述 OpenCV簡介OpenCV(Open source Computer Vision Library)是Intel公司開發(fā)的圖像處理和計(jì)算機(jī)視覺開放源碼庫,是于1999年在俄羅斯設(shè)立的軟件開發(fā)中心“Software Development Center”開發(fā)的,它由一系列的C函數(shù)和C++類組成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV包含300多個C/C++函數(shù)的跨平臺的中、高層API(Application Programming Interface,應(yīng)用程序編程接口),具有強(qiáng)大的圖像和矩陣運(yùn)算能力。盡管也可以使用某些外部庫,但OpenCV不依賴于其他的外部庫。OpenCV是在IPL圖像處理庫(Image Processing Library)的基礎(chǔ)上發(fā)展起來的,在IPL支持下, 可輕松實(shí)現(xiàn)物體輪廓跟蹤、圖像的幾何處理、形態(tài)學(xué)處理、圖像特征提取、背景分離、金字塔算法、種子填充算法、光流算法、主動輪廓算法、相機(jī)的較正、姿勢的識別等很多操作。OpenCV的設(shè)計(jì)簡單易用,其中大部分類及庫函數(shù)的設(shè)計(jì)都有其特定的在實(shí)際應(yīng)用中的背景,因此整個庫的體系結(jié)構(gòu)非常簡單明了提供了一些與諸如EiC、Ch、MATLAB等其它語言或環(huán)境的接口,最大的特點(diǎn)是具有開放性。OpenCV主要用于對圖像進(jìn)行一些高級處理,比如說特征檢測與跟蹤、運(yùn)動分析、目標(biāo)分割與識別以及3D重建等。由于OpenCV的源代碼是完全開放的,而且源代碼的編寫簡潔而高效,特別是其中大部分的函數(shù)都已經(jīng)通過匯編最優(yōu)化,以使之能高效而充分地利用英特爾系列處理芯片的設(shè)計(jì)體系,執(zhí)行效率是非常高,所以近年來在國外的圖像處理相關(guān)領(lǐng)域中被廣泛地使用,成為一種流行的圖像處理開發(fā)包。 OpenCV基本結(jié)構(gòu)和內(nèi)容OpenCV主體分為5個主要模塊,分別包括下面幾類:⑴ CxCore:包括一些基本結(jié)構(gòu)和算法函數(shù),如數(shù)據(jù)結(jié)構(gòu)與線性代數(shù)支持,主要提供對各種數(shù)據(jù)類型的基本運(yùn)算功能。⑵ Cv:圖像處理和計(jì)算機(jī)視覺功能,是主要的OpenCV函數(shù),包括圖像處理、結(jié)構(gòu)分析、運(yùn)動分析、物體跟蹤、模式識別及攝像機(jī)標(biāo)定等功能。⑶ CxAux:OpenCV附加庫函數(shù),包括一些實(shí)驗(yàn)性的函數(shù),如View Morphing、三維跟蹤、PCA(Principal ponents analysis)和HMM(Hidden Markov Model)等函數(shù)。⑷ HighGUI:用戶交互部分,包括GUI(Graphical User Interface)、圖像及視頻I/O和系統(tǒng)調(diào)用函數(shù)等。⑸ ml:新加入的機(jī)器學(xué)習(xí)模塊,包含一些基于統(tǒng)計(jì)的分類和聚類工具。: CV圖像處理和視覺算法 ML 統(tǒng)計(jì)分類器 HighGUIGUI,圖像和視頻的I/O CXCORE基本結(jié)構(gòu)和算法,XML支持,繪圖函數(shù) OpenCV的基本結(jié)構(gòu),該模塊中一般存放一些即將被淘汰的算法和函數(shù)(如基于嵌入式HMM模型的人臉識別算法),同時還有一些新出現(xiàn)的實(shí)驗(yàn)性的算法和函數(shù)(如背景和前景的分割)。 OpenCV功能與優(yōu)勢1. OpenCV的主要功能如下:(1)對圖像數(shù)據(jù)的操作:包括分配、釋放、復(fù)制、設(shè)置和轉(zhuǎn)換。(2)對圖像和視頻的輸入輸出:以文件和攝像頭作為輸入,圖像和視頻文件作為輸出。(3)具有對矩陣和向量的操作以及線性代數(shù)的算法程序:包括矩陣積、解方程、特征值以及奇異值等。 (4)可對各種動態(tài)數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作:如列表、隊(duì)列、集合、樹、圖等。 (5)具有基本的數(shù)字圖像處理能力:可進(jìn)行濾波、邊緣檢測、角點(diǎn)檢測、采樣與差值、色彩空間轉(zhuǎn)換、形態(tài)操作、直方圖、圖像金字塔等操作。 (6)可對各種結(jié)構(gòu)進(jìn)行分析:包括連接部件、輪廓處理、距離變換、各種矩的計(jì)算、模板匹配、Hough變換、直線擬合、橢圓擬合等。 (7)對攝像頭進(jìn)行定標(biāo):包括發(fā)現(xiàn)與跟蹤定標(biāo)模式、定標(biāo)、基本矩陣估計(jì)、齊次矩陣估計(jì)和立體對應(yīng)。(8)對運(yùn)動的分析:如對光流、運(yùn)動分割、跟蹤的分析。 (9)對目標(biāo)的識別:包括特征法、隱馬爾可夫模型法。 (10)具有基本的GUI功能:包括圖像和視頻的顯示、鍵盤和鼠標(biāo)事件處理、滾動條等。(11)圖像標(biāo)注:如線、二次曲線、多邊形、畫文字等。 2. OpenCV作為一種開源的計(jì)算機(jī)視覺庫,在計(jì)算機(jī)視覺領(lǐng)域得到廣泛應(yīng)用,與其具有的不可比擬的優(yōu)勢是密不可分的:(1).跨平臺可移植性好,無論windows、Linux還是Mac 0S都可以運(yùn)行;(2).對個人及商業(yè)開發(fā)免費(fèi),源代碼公開; (3).支持大多數(shù)c/c++編譯器,如:VC++、VC.NET200++Builder等,可以輕易在不同平臺之間進(jìn)行移植; (4).提供方便靈活的用戶接口,采用C、C++編寫,包括300多個C/C++函數(shù),代碼效率高;支持中、高層API;可以使用外部庫,也可以獨(dú)立使用; (5).具備強(qiáng)大的圖像和矩陣運(yùn)算能力,減少開發(fā)者的工作量,有效提高開發(fā)效率和程序運(yùn)行的可靠性; (6).針對Intel的處理器進(jìn)行了優(yōu)化。 OpenCV的安裝及在VC++ 1. OpenCV的安裝首先安裝Visual C++,然后安裝OpenCV。首先,按照安裝向?qū)У奶崾静僮鳎x擇安裝路徑為“D:\Program Files\OpenCV”,然后點(diǎn)擊Next,勾選“Add...\OpenCV\bin to the system PATH”復(fù)選框,即將路徑“D:\Program Files\OpenCV\bin”加入系統(tǒng)變量PATH中,或者不選擇,安裝后右鍵單擊“我的電腦”“屬性”中將其加入。 OpenCV的安裝2.
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1