《AI硬件與Pyhthon編程實(shí)踐》08計(jì)算機(jī)視覺與人臉檢測寫字字帖_第1頁
《AI硬件與Pyhthon編程實(shí)踐》08計(jì)算機(jī)視覺與人臉檢測寫字字帖_第2頁
《AI硬件與Pyhthon編程實(shí)踐》08計(jì)算機(jī)視覺與人臉檢測寫字字帖_第3頁
《AI硬件與Pyhthon編程實(shí)踐》08計(jì)算機(jī)視覺與人臉檢測寫字字帖_第4頁
《AI硬件與Pyhthon編程實(shí)踐》08計(jì)算機(jī)視覺與人臉檢測寫字字帖_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)視覺與人臉檢測人工智能開源硬件與python編程實(shí)踐情境導(dǎo)入新款的相機(jī)都采用了智能技術(shù),能夠自動(dòng)檢測到取景框內(nèi)的人臉,自動(dòng)往人臉對焦,拍下高質(zhì)量的照片。智能手機(jī)的相機(jī)功能也都采用了自動(dòng)跟蹤人臉、自動(dòng)對焦的技術(shù),輔助人們拍下美好畫面。人臉檢測與自動(dòng)跟蹤技術(shù)在校園出入控制、智慧教室等系統(tǒng)中均有應(yīng)用,也是進(jìn)一步開展人臉識別的基礎(chǔ)。任務(wù)與目標(biāo)了解人臉檢測技術(shù)的基本原理、Haar相關(guān)算法和應(yīng)用框架;掌握運(yùn)用人工智能開源硬件設(shè)計(jì)人臉檢測應(yīng)用的方法,提升Python語言的編程能力;通過Python編程,調(diào)用HaarCascade算法,實(shí)現(xiàn)人臉檢測功能;針對生活應(yīng)用場景,進(jìn)一步開展創(chuàng)意設(shè)計(jì),設(shè)計(jì)針對校園安防等需求的具有實(shí)用性的人臉檢測應(yīng)用系統(tǒng)。知識拓展:聚類與分類聚類是將數(shù)據(jù)對象集合劃分成相似的對象類的過程,使得同一個(gè)類中的對象之間具有較高的相似性,而不同類中的對象具有較高的相異性。分類則是按照某種標(biāo)準(zhǔn)給對象貼標(biāo)簽,再根據(jù)標(biāo)簽來區(qū)分歸類。也就是說,分類情況下事先定義好了類別,類別數(shù)不再變化。知識拓展:區(qū)別與聯(lián)系分類器需要事先由包含人工標(biāo)注類別的訓(xùn)練數(shù)據(jù)訓(xùn)練得到,屬于有監(jiān)督的學(xué)習(xí)。聚類則沒有事先預(yù)定的類別,類別數(shù)不確定。聚類不需要人工標(biāo)注和預(yù)先訓(xùn)練分類器,類別在聚類過程中自動(dòng)生成,是一種無監(jiān)督學(xué)習(xí)。知識拓展:Haar-like特征Haar-like特征一種常用的圖像特征描述算子,在機(jī)器視覺領(lǐng)域應(yīng)用很廣;分為邊緣特征、線性特征、中心特征和對角線特征等,組合成特征模板。特征模板內(nèi)只有白色和黑色兩種矩形,并定義該模板的特征值為白色矩形像素和減去黑色矩形像素和。知識拓展:人臉Haar-like特征對于人臉圖像,臉部的一些特征能由矩形特征來簡單描述,如:眼睛要比臉頰顏色要深,鼻梁兩側(cè)比鼻梁顏色要深,嘴巴比周圍顏色要深等。在人臉檢測應(yīng)用中,將任意一個(gè)矩形模板移動(dòng)到人臉區(qū)域上,計(jì)算將白色區(qū)域的像素和減去黑色區(qū)域的像素和,得到的值就是屬于人臉的特征值。通過Haar-like特征的計(jì)算實(shí)現(xiàn)了人臉特征的量化,以便區(qū)分人臉和非人臉。知識拓展:Haar-like特征計(jì)算方法對于一個(gè)灰度圖像I而言,其積分圖也是一張與I尺寸相同的圖,只不過該圖上任意一點(diǎn)(x,y)的值是指從灰度圖像I的左上角與當(dāng)前點(diǎn)所圍成的矩形區(qū)域內(nèi)所有像素點(diǎn)灰度值之和。當(dāng)把掃描圖像一遍,到達(dá)圖像右下角像素時(shí),積分圖像就構(gòu)造好了。積分圖構(gòu)造好之后,圖像中任何矩陣區(qū)域的像素累加和都可以通過簡單運(yùn)算得到。只遍歷一次圖像就可以求出圖像中所有區(qū)域像素和的快速算法,大大的提高了圖像特征值計(jì)算的效率。知識拓展:弱學(xué)習(xí)與強(qiáng)學(xué)習(xí)弱學(xué)習(xí)就是指一個(gè)學(xué)習(xí)算法對一組概念的識別率只比隨機(jī)識別好一點(diǎn);強(qiáng)學(xué)習(xí)指一個(gè)學(xué)習(xí)算法對一組概率的識別率很高。研究工作表明,只要有足夠的數(shù)據(jù),弱學(xué)習(xí)算法就能通過集成的方式生成任意高精度的強(qiáng)學(xué)習(xí)方法。知識拓展:Adaboost算法初步各種Haar特征,每一個(gè)小黑白塊就是一種規(guī)則,也是一種特征,也是一個(gè)分類器。它們都是弱分類器。把一批準(zhǔn)確率很差的弱分類器級聯(lián)在一起,變成一個(gè)強(qiáng)分類器知識拓展:Adaboost迭代過程先通過對N個(gè)訓(xùn)練樣本的學(xué)習(xí)得到第一個(gè)弱分類器;將分錯(cuò)的樣本和其他的新數(shù)據(jù)一起構(gòu)成一個(gè)新的N個(gè)的訓(xùn)練樣本,通過對這個(gè)樣本的學(xué)習(xí)得到第二個(gè)弱分類器;將前面都分錯(cuò)了的樣本加上其他的新樣本構(gòu)成另一個(gè)新的N個(gè)的訓(xùn)練樣本,通過對這個(gè)樣本的學(xué)習(xí)得到第三個(gè)弱分類器;依次繼續(xù)。然后把這些弱分類器集合起來,構(gòu)成一個(gè)強(qiáng)分類器。知識拓展:Haar分類器的訓(xùn)練采集人臉圖像,建立人臉、非人臉樣本集;計(jì)算Haar-like特征值和積分圖;進(jìn)行弱分類器訓(xùn)練,篩選出T個(gè)最優(yōu)弱分類器;把這T個(gè)最優(yōu)弱分類器傳給AdaBoost算法,訓(xùn)練出區(qū)分人臉和非人臉的強(qiáng)分類器;使用篩選式級聯(lián)把強(qiáng)分類器級聯(lián)到一起,提高準(zhǔn)確率。知識拓展:利用haar算子實(shí)現(xiàn)人臉檢測對比檢查分成了多個(gè)階段,后一階段的運(yùn)行以先前階段的完成為前提。設(shè)計(jì)與實(shí)踐攝像頭工作參數(shù)設(shè)置加載Haar算子啟動(dòng)人臉檢測Python編程及實(shí)現(xiàn)運(yùn)行結(jié)果分析攝像頭工作參數(shù)設(shè)置HaarCascade算法采用的是黑白像素特征,積分圖也是在灰度圖像上生成的。在人臉檢測應(yīng)用中,攝像頭要設(shè)置為灰度圖模式:sensor.set_contrast(1) #設(shè)置相機(jī)圖像對比度,范圍從-3至+3;sensor.set_gainceiling(16) #設(shè)置相機(jī)圖像增益上限,參數(shù)范圍:2,4,8,16,32,64,128;sensor.set_framesize(sensor.HQVGA) #設(shè)置攝像頭分辨率為HQVGA:240x160sensor.set_pixformat(sensor.GRAYSCALE)#灰度圖,每像素為8位、1字節(jié)。注意人臉識別只能用灰度圖;加載Haar算子加載Haar模型的方法:classimage.HaarCascade(path[,stages=Auto])其中,stages為HaarCascade級聯(lián)分類器的總階段數(shù),也就是強(qiáng)分類器的個(gè)數(shù)。Stages值要根據(jù)實(shí)際情況來選擇:設(shè)置較低的階段數(shù)可以得到較快的檢測速度,但誤識率也會(huì)較高;設(shè)置較高的階段數(shù)可提高識別準(zhǔn)確度,但犧牲了檢測速度。HaarCascade內(nèi)置有已經(jīng)訓(xùn)練好的haar模型,如“frontalface”人臉模型或者“eye”人眼模型,編程時(shí)直接指定即可。啟動(dòng)人臉檢測的過程控制攝像頭的工作,定時(shí)捕捉圖像幀;啟動(dòng)HaarCascade分類器工作,檢測出圖像幀中所有的人臉區(qū)域;在圖像幀中標(biāo)注出所有檢測到的人臉區(qū)域;檢測人臉使用image.find_features(cascade[,threshold=0.5[,scale=1.5[,roi]]])方法,搜索與HaarCascade匹配的所有區(qū)域的圖像,返回所檢測到的邊界框矩形元組(x,y,w,h)列表。若未發(fā)現(xiàn),則返回空列表。cascade是HaarCascade對象。threshold是浮點(diǎn)數(shù)(0.0-1.0),較小的值在提高檢測速率同時(shí)增加誤報(bào)率。scale是必須大于1.0的浮點(diǎn)數(shù)。較高的比例因子運(yùn)行更快,但其圖像匹配相應(yīng)較差。理想值介于1.35-1.5之間。Python編程及實(shí)現(xiàn)face_cascade=image.HaarCascade("frontalface",stages=25)while(True): img=sensor.snapshot() #捕捉圖像幀 objects=img.find_features(face_cascade,threshold=0.75,scale=1.35)

forrinobjects: #在找到的目標(biāo)對象上畫框,標(biāo)記出來;img.draw_rectangle(r)調(diào)試經(jīng)驗(yàn)如果視頻區(qū)顯示出攝像頭捕捉的圖像幀質(zhì)量過低,繼續(xù)進(jìn)行人臉檢測將沒有意義。這時(shí)需要調(diào)節(jié)攝像頭的工作參數(shù)。如果圖像偏暗,則對LED編程進(jìn)行補(bǔ)光;人臉處于逆光狀態(tài),人臉部分的圖像特征模糊,對人臉檢測很不利。調(diào)試程序時(shí)更換人臉位置,避開這種情況;如果視頻顯示正常,但沒有檢測到人臉區(qū)域,或者檢測到了錯(cuò)誤的區(qū)域,這是需要檢測HaarCascade相關(guān)函數(shù)的編程中,各種工作參數(shù)設(shè)置是否合適。包括HaarCascade函數(shù)中的階段數(shù),find_features函數(shù)中的閾值和比例因子等,調(diào)節(jié)參數(shù)的取值,觀察識別率、誤識率、計(jì)算速度等方面的變化,確定所使用開發(fā)系統(tǒng)的最佳工作參數(shù)。分析與思考編程案例中是利用計(jì)算機(jī)視覺開源庫中已經(jīng)訓(xùn)練好的Haar人臉檢測模型數(shù)據(jù),如何自行訓(xùn)練出人臉檢測Haar模型?如何在程序中調(diào)用外部的Haar模型?提出你的

溫馨提示

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

最新文檔

評論

0/150

提交評論