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

正文內(nèi)容

基于andriod移動(dòng)設(shè)備嵌入式機(jī)器視覺(jué)的人臉識(shí)別畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-08-20 13:46本頁(yè)面

【導(dǎo)讀】人臉識(shí)別是在圖像或視頻流中進(jìn)行人臉的檢測(cè)和定位,其中包括人臉在圖像或視頻流中的所在位置、大小、形態(tài)、個(gè)數(shù)等信息,近年來(lái)由于計(jì)算機(jī)運(yùn)算速度的飛速發(fā)展使得圖像處理技術(shù)在許多領(lǐng)域得到了廣泛應(yīng)用,其中包含智能監(jiān)控、安全交易、更安全更友好的人機(jī)交互等。如今在許多公司或研究所已經(jīng)作為一門(mén)獨(dú)立的課題來(lái)研究探索。然而,手機(jī)錢(qián)包、手機(jī)遠(yuǎn)程支付等新應(yīng)用的出現(xiàn)使得手機(jī)平臺(tái)的安全性亟待加強(qiáng)。傳統(tǒng)的密碼認(rèn)證存在易丟失、易被篡改等缺點(diǎn),人臉識(shí)別不容易模仿、篡改和丟失,因而適用于手機(jī)安全領(lǐng)域中的應(yīng)用。在Android平臺(tái)上實(shí)現(xiàn)了基于圖像的人臉識(shí)別功能。本文主要的研究?jī)?nèi)容:首先對(duì)當(dāng)前人臉識(shí)別技術(shù)的研究現(xiàn)狀和常用的人臉檢測(cè)和人臉識(shí)別方法做了扼要的介紹,然后著重介紹了Adaboost人臉檢測(cè)算法和通過(guò)LBP直方圖匹配的人臉識(shí)別算法,最后基于這兩種人臉檢測(cè)和人臉識(shí)別的算法,在Android平臺(tái)上通過(guò)移植OpenCV并進(jìn)行編程從而實(shí)現(xiàn)了移動(dòng)設(shè)備的人臉識(shí)別功能。

  

【正文】 后根據(jù)計(jì)算出的累計(jì)直方圖分布求出fk到gk的灰度映射關(guān)系。在重復(fù)上述步驟得到源圖像所有灰度級(jí)到目標(biāo)圖像灰度級(jí)的映射關(guān)系后,按照這個(gè)映射關(guān)系對(duì)源圖像各點(diǎn)像素進(jìn)行灰度轉(zhuǎn)換,即可完成對(duì)源圖的直方圖均衡化。設(shè)R為變換前的歸一化灰度級(jí),0=<r=<1,T(r)為變換函數(shù),s=T(R)為變換后的歸一化灰度級(jí),0=<s=<(r)應(yīng)滿足下列條件:在0=<r=<1。變換函數(shù)T(R)單值單調(diào)遞增;對(duì)于0=<r=<1,有0=<T(R)=<1.第一個(gè)條件保證了變換后圖像的灰度級(jí)從黑到白的次序不變。第二個(gè)條件保證了變換前后圖像灰度范圍一致。反變換r=T1(s)也應(yīng)該滿足類似的條件。有概率論知識(shí)可知,如果已知隨機(jī)變量q的概率密度函數(shù)為Pr(R),而隨機(jī)變量h是q的函數(shù),即h=T(q),h的概率密度函數(shù)為Ps(s),則可由Pr(r)求出Ps(s)。因?yàn)閟=T(r)是單調(diào)遞增的,因而它的反函數(shù)R=T1(s)也是單調(diào)遞增函數(shù)??梢郧蟮秒S機(jī)變量h的分布函數(shù)為27Fh(s)=P(h<s)=P(q<r) ()式()又等于在負(fù)無(wú)窮到r范圍內(nèi)對(duì)Pr(x)積分,對(duì)此關(guān)系進(jìn)行計(jì)算后可以得到隨機(jī)變量概率密度函數(shù)Ps(s) Ps(s)=[Pr(r)*dr/ds]r=T1(s) ()若變換后有Ps(s)=1,則由式()有ds=Pr(r)*dr,對(duì)其兩邊積分得 S=T(r) ()式()有等于在0到r區(qū)間對(duì)Pr(w)積分,公式中:w是積分變量。直方圖均衡化就是以累積分布函數(shù)作為變換函數(shù)來(lái)修正直方圖的。灰度變換就是把原圖像的像素灰度經(jīng)過(guò)某個(gè)變換函數(shù)變換成新的圖像灰度。常見(jiàn)的灰度變換法有直接灰度變換法和直方圖修正法。直接灰度變換法可以分為線性,分段性以及非線性變換。直方圖修正法分為直方圖均衡化和直方圖規(guī)定化。在以前的章節(jié)中我們介紹了直接修正法,這里我們主要介紹直接灰度變換法?;叶染€性變換假定源圖像f (x,y)的灰度范圍為[a,b],希望變換后圖像g(x,y)的灰度范圍擴(kuò)展至[c,d],則灰度線性變換可表示為g(x,y)=(dc/ba)[f(x,y)a]+c ()若變換后的灰度范圍大于變換前的灰度范圍,則盡管變換前后像素個(gè)數(shù)不變,但不同像素間的灰度差變大,因而對(duì)比度增強(qiáng),圖像更加清晰。對(duì)于8位灰度圖像,若a=d=255且b=c=0,則圖像負(fù)像,即黑變白,白變黑。當(dāng)感興趣的目標(biāo)處于低灰度范圍時(shí),則可以利用負(fù)像增強(qiáng)圖像效果。若圖像總的灰度級(jí)數(shù)為L(zhǎng),其中大部分像素的灰度級(jí)分布在[a,b]區(qū)間內(nèi)做線性變換,超出此區(qū)間的灰度可以變換為常數(shù)或保持不變,分別見(jiàn)式()和式()。g(x,y)=c0=f(x,y) 0=f(x,y)a(dc/ba)[f(x,y)a]+c a=f(x,y)=b ()bf(x,y)Lg(x,y)= (dc/ba)[f(x,y)a]+c a=f(x,y)=b ()分段線性變換增強(qiáng)圖像對(duì)比度實(shí)際是增強(qiáng)圖像個(gè)部分之間的反差,往往通過(guò)增加圖像中個(gè)灰度值間的動(dòng)態(tài)范圍來(lái)實(shí)現(xiàn),有時(shí)也稱其為對(duì)比度拉伸。為了突出感興趣的灰度區(qū)間,相對(duì)抑制那些不感興趣的灰度區(qū)間,可采用分段線性變換。用L表示圖愛(ài)那個(gè)總的灰度級(jí)數(shù),則分段變換函數(shù)的表達(dá)式可以表示為g(x,y)=c/a*f(x,y) 0=f(x,y)a(dc/ba)*[f(x,y)a]+c a=f(x,y)b ()(L1d/L1b)*[f(x,y)b]+d b=f(x,y)L1 通過(guò)調(diào)整折線拐點(diǎn)的位置及控制分段直線的斜率,可以對(duì)任一灰度區(qū)間進(jìn)行擴(kuò)展或壓縮。例如,當(dāng)[a,b]之間的變換直線斜率大于1時(shí),該灰度區(qū)間的動(dòng)態(tài)范圍增加,即對(duì)比度增強(qiáng)了,而另外兩個(gè)區(qū)間的動(dòng)態(tài)范圍被壓縮了。當(dāng)a=b,c=0,d=L1時(shí),變換后將產(chǎn)生一個(gè)二值圖像。這個(gè)函數(shù)可以使變換后的圖像保持低灰度像素不變,增強(qiáng)了中間灰度的對(duì)比度,并壓縮了高灰度的動(dòng)態(tài)范圍。非線性變換非線性變換采用非線性變換函數(shù),以滿足特殊的處理需求。典型的非線性變換函數(shù)有冪函數(shù),對(duì)數(shù)函數(shù),指數(shù)函數(shù),霍值函數(shù),多值量化函數(shù),窗口函數(shù)等?;糁岛瘮?shù),多值量化函數(shù),窗口函數(shù)。其實(shí)它們都?xì)w為霍值函數(shù),即把某個(gè)灰度范圍映射為一個(gè)固定的灰度值,目的是為了突出感興趣的區(qū)域。 本章小結(jié)本章主要介紹了矩形特征模板以及特征值的計(jì)算,重點(diǎn)介紹了本文所采用的AdaBoost 算法。特征提取主要采用的是矩形特征模板按照任意位置對(duì)樣本進(jìn)行特征值提取,并采用了積分圖的表示方法加快了特征值的計(jì)算速度。AdaBoost 分類算法是一種自動(dòng)學(xué)習(xí)的算法。本文采用了一種級(jí)聯(lián)的分類器算法進(jìn)行人臉檢測(cè),主要在使用AdaBoost 訓(xùn)練強(qiáng)分類器作為每一層的分類器。該算法結(jié)構(gòu)簡(jiǎn)單,檢測(cè)率以及檢測(cè)速度都非常好。 第四章 基于Andriod平臺(tái)的人臉識(shí)別系統(tǒng)實(shí)現(xiàn) Android 系統(tǒng)平臺(tái)Android本意指“機(jī)器人”,是Google于2007年11月5日宣布的基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng),是當(dāng)今三大智能手機(jī)操作系統(tǒng)之一,其市場(chǎng)份額增長(zhǎng)迅速,軟件生態(tài)系統(tǒng)日漸成熟,大量軟件開(kāi)發(fā)人員投身到Android應(yīng)用程序開(kāi)發(fā)中來(lái)。Android平臺(tái)具有以下優(yōu)點(diǎn):1)一個(gè)真正開(kāi)源的自由開(kāi)放平臺(tái)。生產(chǎn)廠商來(lái)說(shuō)可以定制平臺(tái)的相關(guān)功能而無(wú)需支付版權(quán)費(fèi)用,開(kāi)發(fā)者可以利用平臺(tái)的開(kāi)放性開(kāi)發(fā)與底層相關(guān)的程序而不必受限于平臺(tái)的限制。2)應(yīng)用程序生命周期自動(dòng)管理。使用分層的系統(tǒng)結(jié)構(gòu),保證系統(tǒng)的穩(wěn)定性,同時(shí)提高了應(yīng)用程序運(yùn)行時(shí)的獨(dú)立性。終端用戶無(wú)需管理應(yīng)用程序的運(yùn)行狀態(tài),而是由系統(tǒng)自動(dòng)管理。Android系統(tǒng)本身作了相關(guān)優(yōu)化,使得更加適合在低端設(shè)備上運(yùn)行。3)高質(zhì)量多媒體服務(wù)。使用2D圖形平滑和反走樣技術(shù)與OpenGL 3D加速技術(shù)相結(jié)合,使得平臺(tái)更加適合于游戲和商業(yè)應(yīng)用。包含常見(jiàn)的工業(yè)標(biāo)準(zhǔn)音視頻編解碼器,如H.264,MP3和AAC等。4)可移植性,適合多種硬件平臺(tái)。Android上的應(yīng)用程序使用Java編寫(xiě),運(yùn)行于Dalvik虛擬機(jī)之上,所以易于移植到ARM、x86和其他平臺(tái)之上。支持多種輸入方式,如鍵盤(pán)、手寫(xiě)和軌跡球等。用戶屏幕可以定制為任意的分辨率與方向[28]。OpenCV是一基于BSD許可證授權(quán)(開(kāi)源)發(fā)行的跨平臺(tái)開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù),它由一系列C函數(shù)和C++類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法,現(xiàn)已實(shí)現(xiàn)超過(guò)2500個(gè)優(yōu)化算法。0penCV現(xiàn)提供C、C++、Python通用編程接口,其開(kāi)放性和實(shí)用性得到了大量從事計(jì)算機(jī)視覺(jué)研究和軟件開(kāi)發(fā)人員的青睞[29]。Android應(yīng)用程序是通過(guò)Android SDK (SoftwareDevelopment Kit)利用Java編程語(yǔ)言進(jìn)行開(kāi)發(fā),每一個(gè)Android應(yīng)用程序都運(yùn)行在自己獨(dú)立的Dalvik虛擬機(jī)上,而此虛擬機(jī)支持JNI,同時(shí)伴隨著Android NDK的發(fā)布,使開(kāi)發(fā)者利用第三方C/C++庫(kù)協(xié)助編寫(xiě)Android程序成為可能,為在Android系統(tǒng)下利用OpenCV編寫(xiě)計(jì)算機(jī)視覺(jué)相關(guān)應(yīng)用程序的軟件開(kāi)發(fā)人員提供了便利[30]。Android在Linux ,提供了各種合用的函數(shù)庫(kù)和一個(gè)完整的應(yīng)用程序框架。在Linux 核心的基礎(chǔ)上,提供Google自己的應(yīng)用程序運(yùn)行環(huán)境Dalvik 虛擬機(jī)。我們可以把Android 大體上分為4 層:Linux內(nèi)核,Lib庫(kù)和運(yùn)行環(huán)境,框架層以及應(yīng)用層。(1)Linux 內(nèi)核Android 主要采用Linux ,并依賴其提供的強(qiáng)大的服務(wù),包括系統(tǒng)安全機(jī)制、內(nèi)存和進(jìn)程管理、網(wǎng)絡(luò)服務(wù)以及各種硬件驅(qū)動(dòng)。內(nèi)核主要是一個(gè)中間層,為硬件層和軟件堆之間溝通提供橋梁,其主要功能是管理底層設(shè)備驅(qū)動(dòng)、并為上層提供服務(wù)。(2)庫(kù)和運(yùn)行環(huán)境Android提供了豐富的類庫(kù)支持,被用于Android的各種組件中。這些類庫(kù)包括:WebKit:該庫(kù)為系統(tǒng)自帶的Web瀏覽器引擎,提供了基本的網(wǎng)頁(yè)瀏覽功能。2D、3D圖形庫(kù):主要為系統(tǒng)提供2D、3D引擎,并支持OpenGL,提供豐富的圖像處理功能。Android運(yùn)行時(shí)(Runtime)包含一組核心庫(kù),提供Java運(yùn)行時(shí)的運(yùn)行環(huán)境。Android 提供自己的Dalvik虛擬機(jī)。該虛擬機(jī)是基于寄存器的,采用簡(jiǎn)練、高效的byte code格式運(yùn)行,能夠在低功耗和沒(méi)有應(yīng)用相互干擾的情況下并行執(zhí)行多個(gè)應(yīng)用。每一個(gè)Android應(yīng)用運(yùn)行在自己的進(jìn)程里面,應(yīng)用自己的Dalvik虛擬機(jī)。Dalvik虛擬機(jī)系統(tǒng)是一個(gè)高效的虛擬系統(tǒng),該系統(tǒng)能夠使得一個(gè)設(shè)備同時(shí)運(yùn)行多個(gè)虛擬機(jī)實(shí)例。Dex文件格式是Dalvik虛擬機(jī)的可執(zhí)行文件,該文件進(jìn)行了很多優(yōu)化,以使其能夠運(yùn)行于小內(nèi)存上。同時(shí)由于Dalvik 虛擬機(jī)是基于寄存器的,所以其運(yùn)行速度較一般的基于內(nèi)存的虛擬機(jī)高效。(3)框架層應(yīng)用程序開(kāi)發(fā)者接觸到系統(tǒng)的框架層,并能夠了解框架層的實(shí)現(xiàn)機(jī)制??蚣軐犹峁┝撕芏嗫芍赜媒M件,使得應(yīng)用程序能夠非常容易的使用這些組件用于開(kāi)發(fā)高級(jí)功能。系統(tǒng)也提供了一系列的服務(wù)用于向應(yīng)用程序提供相應(yīng)的功能。眾多的系統(tǒng)與服務(wù)可以概括歸納為如下內(nèi)容:可以方便擴(kuò)展的視圖,它主要包含有圖片視圖、列表、文本域和按鈕等可重用組件。內(nèi)容提供器:該組件的功能主要是為了使應(yīng)用程序或應(yīng)用程序之間能夠非常方便的共享數(shù)據(jù)。資源管理器:該組件的功能主要是提供非代碼資源的訪問(wèn),如本地字符串,圖形和布局文件。通知管理器:該組件的功能是方便應(yīng)用程序在系統(tǒng)狀態(tài)欄顯示其自定義的信息?;顒?dòng)管理器:該組件的功能是為系統(tǒng)提供一個(gè)管理應(yīng)用程序生命周期的工具,使其能夠非常方便的管理各個(gè)應(yīng)用程序。(4)應(yīng)用層應(yīng)用層是應(yīng)用程序和用戶交互的一個(gè)層次。這類應(yīng)用基本都是通過(guò)Java語(yǔ)言編寫(xiě)的獨(dú)立的能夠完成某些功能的應(yīng)用程序。Android本身提供了一些一本應(yīng)用程序如桌面(Home),聯(lián)系人(Contacts),撥打電話(Phone),瀏覽器(Browers)等。應(yīng)用程序開(kāi)發(fā)人員可以使用系統(tǒng)提供的開(kāi)放API 開(kāi)發(fā)各種應(yīng)用程序[31]。 開(kāi)發(fā)環(huán)境搭建Android應(yīng)用程序開(kāi)發(fā)采用Java編程語(yǔ)言,在Windows系統(tǒng)下,需要安裝與配置相應(yīng)的EcHpse IDE、JDK、AndroidSDK 以及ADT。OpenCV只提供C/C++、P on接口,這就涉及到Java與C/C++混合編程、Java程序與C/C++程序互相調(diào)用的問(wèn)題,故需要利用JNI編寫(xiě)本地代碼,并采用Android NDK編譯本地代碼。Android NDK是一個(gè)工具集,集成了Android交叉編譯環(huán)境,并提供了一套比較方便的Makeffle,可以幫助開(kāi)發(fā)者快速開(kāi)發(fā)C/C++的共享庫(kù)。本課題主要是在Android 模擬器上開(kāi)發(fā),并進(jìn)行真機(jī)人臉檢測(cè),所以首先需要介紹開(kāi)發(fā)Android 應(yīng)用的開(kāi)發(fā)工具等。本系統(tǒng)需要使用Android 提供的SDK 以及NDK 開(kāi)發(fā)工具,并使用Eclipse 集成開(kāi)發(fā)環(huán)境開(kāi)發(fā)應(yīng)用層序。本系統(tǒng)所使用的軟件資源如下:系統(tǒng)環(huán)境:Windows XP,OpenCVSDK:Android SDK NDK:Android NDK開(kāi)發(fā)環(huán)境:++Android ADT開(kāi)發(fā)環(huán)境搭建步驟:(1) Java SDK。(2)下載并解壓Android NDK,并設(shè)置好NDK開(kāi)發(fā)環(huán)境。(3)第二步是安裝Eclipse 開(kāi)發(fā)環(huán)境,下載并解壓Eclipse ,并設(shè)置其開(kāi)發(fā)環(huán)境,主要工作是下載Android ADT插件。使用ADT工具設(shè)置目標(biāo)Android SDK 開(kāi)發(fā)環(huán)境。 OpenCV 介紹OpenCV(Open Source Computer Vision Library)于1999年由Intel建立,現(xiàn)在由 Willow Garage 提供支持。OpenCV是一個(gè)基于BSD許可證授權(quán)(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),采用C/C++語(yǔ)言編寫(xiě),可運(yùn)行Linux/Window/Mac等操作系統(tǒng)上。OpenCV還提供了 Python、ruby、MATLAB以及其它語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。OpenCV的設(shè)計(jì)目標(biāo)是執(zhí)行速度盡量快,主要關(guān)注時(shí)事應(yīng)用。它采用優(yōu)化的C代碼編寫(xiě),能夠充分利用多核處理器的優(yōu)勢(shì)。由于Intel的高性能多媒體函數(shù)庫(kù)IPP(Integrated Performance Primitive),OpenCV可以在 Intel平臺(tái)上得到更快的處理速度OpenCV 的一個(gè)目標(biāo)是構(gòu)建一個(gè)簡(jiǎn)單易用的計(jì)算機(jī)視覺(jué)框架,以幫助開(kāi)發(fā)人員更便捷地設(shè)計(jì)更復(fù)雜的計(jì)算機(jī)視覺(jué)相關(guān)應(yīng)用程序。OpenCV包含的函數(shù)有500多個(gè),覆蓋了計(jì)算機(jī)視覺(jué)的許多應(yīng)用領(lǐng)域,如工廠產(chǎn)品檢測(cè)、醫(yī)學(xué)成像、信息安全、用戶界面、攝像機(jī)標(biāo)定、立體視覺(jué)和機(jī)器人等。因?yàn)橛?jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)密切相關(guān),由于在統(tǒng)計(jì)方面的模式識(shí)別和聚類(clustering)所以 OpenCV還提供了 MLL(Machine Learning Liberty)機(jī)器學(xué)習(xí)庫(kù)。OpenCV它的開(kāi)源代碼協(xié)議永許你使用 OpenCV的全部代碼或者 OpenCV 的部分代碼成商業(yè)產(chǎn)品。使用了OpenCV后,不必對(duì)公眾開(kāi)放自己的源代碼或改善后的算法。許多公司如 IBM、Microsoft、Intel、SONY、Siemens、Google等和研究單位如斯坦福大學(xué)、MIT、CMU、劍橋大學(xué)、INRIA都廣泛使用了 OpenCV,并且在全世界廣泛歡迎,在中國(guó)、日本、俄羅斯、歐洲、和以色列都有龐大的用戶群[32]。OpenCV是Intel資助的開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)。它由一系列C函數(shù)和少量C++類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。該開(kāi)源庫(kù)擁有包括300多個(gè)C/C++函數(shù)的跨平臺(tái)的中、高層API。它不依賴與其它的外部庫(kù),盡管也可以使用某些外部庫(kù)。OpenCV 的主要特征:(1)與圖像數(shù)據(jù)相關(guān)的操作(如圖像內(nèi)存分配與釋放、圖像復(fù)制以及圖像格式轉(zhuǎn)換等)。(2)可以把視頻數(shù)據(jù)作
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1