AdaBoost人脸检测原理
AdaBoost人臉檢測原理
FROM:http://blog.sina.com.cn/s/blog_4e6680090100d2se.html
對人臉檢測的研究最初可以追溯到 20 世紀(jì) 70 年代,早期的研究主要致力于模板匹配、子空間方法,變形模板匹配等。近期人臉檢測的研究主要集中在基于數(shù)據(jù)驅(qū)動的學(xué)習(xí)方法,如統(tǒng)計(jì)模型方法,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,統(tǒng)計(jì)知識理論和支持向量機(jī)方法,基于馬爾可夫隨機(jī)域的方法,以及基于膚色的人臉檢測。目前在實(shí)際中應(yīng)用的人臉檢測方法多為基于 Adaboost 學(xué)習(xí)算法的方法。
?????Viola人臉檢測方法是一種基于積分圖、 級聯(lián)檢測器和AdaBoost 算法的方法,方法框架可以分為以下三大部分:
?????第一部分,使用Harr-like特征表示人臉,使用“ 積分圖”實(shí)現(xiàn)特征數(shù)值的快速計(jì)算;
?????第二部分, 使用Adaboost算法挑選出一些最能代表人臉的矩形特征( 弱分類器),按照加權(quán)投票的方式將弱分類器構(gòu)造為一個強(qiáng)分類器;
?????第三部分, 將訓(xùn)練得到的若干強(qiáng)分類器串聯(lián)組成一個級聯(lián)結(jié)構(gòu)的層疊分類器,級聯(lián)結(jié)構(gòu)能有效地提高分類器的檢測速度。
????Adaboost 算法是一種用來分類的方法,它的基本原理就是“三個臭皮匠,頂個諸葛亮”。它把一些比較弱的分類方法合在一起,組合出新的很強(qiáng)的分類方法。
????例如下圖中
????需要用一些線段把紅色的球與深藍(lán)色的球分開,然而如果僅僅畫一條線的話,是分不開的。
| a | b | c | d |
????使用Adaboost算法來進(jìn)行劃分的話,先畫出一條錯誤率最小的線段如圖 1 ,但是左下腳的深藍(lán)色球被錯誤劃分到紅色區(qū)域,因此加重被錯誤球的權(quán)重,再下一次劃分時(shí),將更加考慮那些權(quán)重大的球,如 c 所示,最終得到了一個準(zhǔn)確的劃分,如下圖所示。
????人臉檢測的目的就是從圖片中找出所有包含人臉的子窗口,將人臉的子窗口與非人臉的子窗口分開。
大致步驟如下:
????(1)在一個 20*20 的圖片提取一些簡單的特征(稱為Harr特征),如下圖所示。
????它的計(jì)算方法就是將白色區(qū)域內(nèi)的像素和減去黑色區(qū)域,因此在人臉與非人臉圖片的相同位置上,值的大小是不一樣的,這些特征可以用來區(qū)分人臉和分人臉。
????(2)目前的方法是使用數(shù)千張切割好的人臉圖片,和上萬張背景圖片作為訓(xùn)練樣本。訓(xùn)練圖片一般歸一化到 20*20 的大小。在這樣大小的圖片中,可供使用的 haar 特征數(shù)在 1 萬個左右,然后通過機(jī)器學(xué)習(xí)算法 —adaboost 算法挑選數(shù)千個有效的 haar 特征來組成人臉檢測器。
????(3)學(xué)習(xí)算法訓(xùn)練出一個人臉檢測器后,便可以在各個場合使用了。使用時(shí),將圖像按比例依次縮放,然后在縮放后的圖片的 20*20 的子窗口依次判別是人臉還是非人臉。
人臉檢測的流程
????人臉檢測在實(shí)際中主要用于人臉識別的預(yù)處理,即在圖像中準(zhǔn)確標(biāo)定出人臉的位置和大小。
????目前人臉檢測技術(shù)在門禁系統(tǒng)、智能監(jiān)控系統(tǒng)中已得到了很好的應(yīng)用。另外,目前的筆記本電腦中也陸續(xù)開始使用人臉識別技術(shù)作為計(jì)算機(jī)登錄的憑證。近年來,在數(shù)碼相機(jī)和手機(jī)中也集成了人臉檢測算法,作為一個新的功能提供用戶使用。在這些應(yīng)用中,人臉檢測都是發(fā)揮著至關(guān)重要的作用
總結(jié)
以上是生活随笔為你收集整理的AdaBoost人脸检测原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Haar-like矩形特征计算详解
- 下一篇: 计算机视觉目标检测的框架与过程