




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第opencv基于Haar人臉檢測(cè)和眼睛檢測(cè)本文為大家分享了opencv基于Haar人臉檢測(cè)和眼睛檢測(cè)的具體代碼,供大家參考,具體內(nèi)容如下
在這里,我們將進(jìn)行人臉檢測(cè)。最初,該算法需要大量正圖像(面部圖像)和負(fù)圖像(無面部圖像)來訓(xùn)練分類器。然后,我們需要從中提取特征。為此,使用下圖所示的Haar功能。它們就像我們的卷積核。每個(gè)特征都是通過從黑色矩形下的像素總和中減去白色矩形下的像素總和而獲得的單個(gè)值。
現(xiàn)在,每個(gè)內(nèi)核的所有可能大小和位置都用于計(jì)算許多功能。(試想一下它需要多少計(jì)算?即使是一個(gè)24x24的窗口也會(huì)產(chǎn)生超過160000個(gè)特征)。對(duì)于每個(gè)特征計(jì)算,我們需要找到白色和黑色矩形下的像素總和。為了解決這個(gè)問題,他們引入了整體形象。無論您的圖像有多大,它都會(huì)將給定像素的計(jì)算減少到僅涉及四個(gè)像素的操作。很好,不是嗎?它使事情變得超快。
但是在我們計(jì)算的所有這些功能中,大多數(shù)都不相關(guān)。例如,考慮下圖。第一行顯示了兩個(gè)良好的功能。選擇的第一個(gè)特征似乎著眼于眼睛區(qū)域通常比鼻子和臉頰區(qū)域更暗的性質(zhì)。選擇的第二個(gè)功能依賴于眼睛比鼻梁更黑的屬性。但是,將相同的窗口應(yīng)用于臉頰或其他任何地方都是無關(guān)緊要的。那么,我們?nèi)绾螐?6萬多個(gè)功能中選擇最佳功能?它是由Adaboost實(shí)現(xiàn)的。
為此,我們將所有功能應(yīng)用于所有訓(xùn)練圖像。對(duì)于每個(gè)功能,它會(huì)找到最佳的閾值,該閾值會(huì)將人臉分為正面和負(fù)面。顯然,會(huì)出現(xiàn)錯(cuò)誤或分類錯(cuò)誤。我們選擇錯(cuò)誤率最低的特征,這意味著它們是對(duì)人臉和非人臉圖像進(jìn)行最準(zhǔn)確分類的特征。(此過程并非如此簡(jiǎn)單。在開始時(shí),每個(gè)圖像的權(quán)重均相等。在每次分類后,錯(cuò)誤分類的圖像的權(quán)重都會(huì)增加。然后執(zhí)行相同的過程。將計(jì)算新的錯(cuò)誤率。還要計(jì)算新的權(quán)重。繼續(xù)進(jìn)行此過程,直到達(dá)到所需的精度或錯(cuò)誤率或找到所需的功能數(shù)量為止。
最終分類器是這些弱分類器的加權(quán)和。之所以稱為弱分類,是因?yàn)閮H憑它不能對(duì)圖像進(jìn)行分類,而是與其他分類一起形成強(qiáng)分類器。該論文說,甚至200個(gè)功能都可以提供95%的準(zhǔn)確度檢測(cè)。他們的最終設(shè)置具有大約6000個(gè)功能。(想象一下,從160000多個(gè)功能減少到6000個(gè)功能。這是很大的收獲)。
因此,現(xiàn)在您拍攝一張照片。取每個(gè)24x24窗口。向其應(yīng)用6000個(gè)功能。檢查是否有臉。哇…這不是效率低下又費(fèi)時(shí)嗎?是的。作者對(duì)此有一個(gè)很好的解決方案。
在圖像中,大多數(shù)圖像是非面部區(qū)域。因此,最好有一種簡(jiǎn)單的方法來檢查窗口是否不是面部區(qū)域。如果不是,請(qǐng)一次性丟棄它,不要再次對(duì)其進(jìn)行處理。相反,應(yīng)將重點(diǎn)放在可能有臉的區(qū)域。這樣,我們將花費(fèi)更多時(shí)間檢查可能的面部區(qū)域。
為此,他們引入了級(jí)聯(lián)分類器的概念。不是將所有6000個(gè)功能部件應(yīng)用到一個(gè)窗口中,而是將這些功能部件分組到不同階段的分類器中,并一一應(yīng)用。(通常前幾個(gè)階段將包含很少的功能)。如果窗口在第一階段失敗,則將其丟棄。我們不考慮它的其余功能。如果通過,則應(yīng)用功能的第二階段并繼續(xù)該過程。經(jīng)過所有階段的窗口是一個(gè)面部區(qū)域。這個(gè)計(jì)劃怎么樣!
作者的檢測(cè)器具有6000多個(gè)特征,具有38個(gè)階段,在前五個(gè)階段具有1、10、25、25和50個(gè)特征。(上圖中的兩個(gè)功能實(shí)際上是從Adaboost獲得的最佳兩個(gè)功能)。根據(jù)作者的說法,每個(gè)子窗口平均評(píng)估了6000多個(gè)特征中的10個(gè)特征。
首先,創(chuàng)建一個(gè)cv::CascadeClassifier并使用cv::CascadeClassifier::load方法加載必要的XML文件。然后,使用cv::CascadeClassifier::detectMultiScale方法完成檢測(cè),該方法返回檢測(cè)到的臉部或眼睛的邊界矩形
from__future__importprint_function
importcv2ascv
importargparse
defdetectAndDisplay(frame):
frame_gray=cv.cvtColor(frame,cv.COLOR_BGR2GRAY)#灰度處理
frame_gray=cv.equalizeHist(frame_gray)#直方圖均衡化
#--Detectfaces
faces=face_cascade.detectMultiScale(frame_gray)
for(x,y,w,h)infaces:
center=(x+w//2,y+h//2)#獲取方框中心位置
frame=cv.ellipse(frame,center,(w//2,h//2),0,0,360,(255,0,255),4)#畫橢圓
faceROI=frame_gray[y:y+h,x:x+w]#獲取感興趣的區(qū)域,即人臉矩形
#--Ineachface,detecteyes
eyes=eyes_cascade.detectMultiScale(faceROI)
for(x2,y2,w2,h2)ineyes:
eye_center=(x+x2+w2//2,y+y2+h2//2)#獲取眼睛中心
radius=int(round((w2+h2)*0.25))#獲取半徑
frame=cv.circle(frame,eye_center,radius,(255,0,0),4)
cv.imshow('Capture-Facedetection',frame)
parser=argparse.ArgumentParser(description='CodeforCascadeClassifiertutorial.')
parser.add_argument('--face_cascade',help='Pathtofacecascade.',default='haarcascades/haarcascade_frontalface_alt.xml')
parser.add_argument('--eyes_cascade',help='Pathtoeyescascade.',default='haarcascades/haarcascade_eye_tree_eyeglasses.xml')
parser.add_argument('--camera',help='Cameradividenumber.',type=int,default=0)
args=parser.parse_args()
face_cascade_name=args.face_cascade
eyes_cascade_name=args.eyes_cascade
face_cascade=cv.CascadeClassifier()
eyes_cascade=cv.CascadeClassifier()
#--1.Loadthecascades
ifnotface_cascade.load(cv.samples.findFile(face_cascade_name)):
print('--(!)Errorloadingfacecascade')
exit(0)
ifnoteyes_cascade.load(cv.samples.findFile(eyes_cascade_name)):
print('--(!)Errorloadingeyescascade')
exit(0)
camera_device=args.camera
#--2.Readthevideostream
cap=cv.VideoCapture(camera_device)
ifnotcap.isOpened:
print('--(!)Erroropeningvideocapture')
exit(0)
whileTrue:
ret,frame=cap.read
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電氣安全與保護(hù)試題及答案
- 2025年藝術(shù)市場(chǎng)數(shù)字化交易平臺(tái)新模式創(chuàng)新趨勢(shì)報(bào)告
- 吸收新知2025年信息系統(tǒng)試題及答案
- 西方國(guó)家政治權(quán)威的變化趨勢(shì)試題及答案
- 2025年交通設(shè)備制造業(yè)數(shù)字化轉(zhuǎn)型與綠色制造融合報(bào)告
- 機(jī)電工程技術(shù)支持與服務(wù)試題及答案
- 西方政治制度轉(zhuǎn)型的理論模型試題及答案
- 軟件測(cè)試中的自動(dòng)化工具分析試題及答案
- 突破常規(guī)2025年軟件設(shè)計(jì)師考試試題及答案
- 全球經(jīng)濟(jì)政策與西方國(guó)家的試題及答案
- GB/T 18380.12-2008電纜和光纜在火焰條件下的燃燒試驗(yàn)第12部分:?jiǎn)胃^緣電線電纜火焰垂直蔓延試驗(yàn)1 kW預(yù)混合型火焰試驗(yàn)方法
- word基礎(chǔ)入門公開課課件
- 綜合、??漆t(yī)院執(zhí)業(yè)校驗(yàn)標(biāo)準(zhǔn)
- 學(xué)習(xí)羅陽青年隊(duì)故事PPT在急難險(xiǎn)重任務(wù)中攜手拼搏奉獻(xiàn)PPT課件(帶內(nèi)容)
- 稀土元素的分離方法-icaredbd課件
- 四年級(jí)下數(shù)學(xué)課件-火車過橋-通用版
- 版式設(shè)計(jì)課件3,網(wǎng)格系統(tǒng)全攻略
- 船舶防臺(tái)風(fēng)安全安全知識(shí)
- 國(guó)家開放大學(xué)《人文英語3》章節(jié)測(cè)試參考答案
- 用雙棱鏡干涉測(cè)光波(20149)
- 靜音房聲學(xué)設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論