欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種人臉檢測的方法和裝置與流程

文檔序號:11654850閱讀:259來源:國知局
一種人臉檢測的方法和裝置與流程

本申請涉及圖像識別技術(shù),特別涉及一種人臉檢測的方法和裝置。



背景技術(shù):

照片通常在非受控條件下拍攝,使照片中的人臉呈現(xiàn)不同姿態(tài)和尺度(即大小)。因此,在進行人臉檢測時,很多情況下,需要對多姿態(tài)、多尺度的人臉進行檢測。

目前人臉檢測方法主要采用adaboost算法訓練檢測器,即不斷挑選錯分最少的弱分類器及特征,學習閾值,并利用挑選出的弱分類器和特征構(gòu)成強分類器,作為人臉檢測器。在利用人臉檢測器進行檢測時,使用滑動窗口掃描圖像,并將滑動窗口中的圖像送入檢測器進行判別,將滿足檢測器閾值的窗口定義為人臉。如圖1所示。

同時,為了檢測多種姿態(tài)的人臉,可使用多個人臉檢測器進行同樣的掃描和判別,此時,每個人臉檢測器負責檢測不同姿態(tài)的人臉。這種情況下,雖然獲得更高的檢測率,但掃描窗口的數(shù)量大量增加,導致檢測速度會大幅降低。

為了實現(xiàn)多尺度人臉的檢測,圖像金字塔是普遍采用的方法。首先將圖像按照一定比例縮放,得到不同大小的圖像,將這些圖像由小到大縱向排列,底端圖像最大,頂端圖像最小,構(gòu)成圖像金字塔,如圖2所示。在圖像金字塔中,得到不同尺度的圖像,人臉尺度也隨之發(fā)生變化,利用人臉檢測器對所有尺度的圖像進行人臉檢測。具體地,利用滑動窗口掃描所有尺度的圖像,再使用人臉檢測器對輸入的滑動窗口中的圖像進行判別。由此檢測出不同大小的人臉。這種多尺度人臉的檢測方法中,與上述多姿態(tài)的人臉檢測相類似地,掃描窗口的數(shù)量大量增加,導致檢測速度會大幅降低。



技術(shù)實現(xiàn)要素:

本申請?zhí)峁┮环N人臉檢測的方法和裝置,能夠提高檢測速度。

為實現(xiàn)上述目的,本申請采用如下技術(shù)方案:

一種人臉檢測的方法,包括:

以第一步長為間隔,利用滑動窗口掃描目標圖像,并對相應(yīng)滑動窗口中的圖像進行人臉粗檢測,選擇出候選區(qū)域;

以小于所述第一步長的第二步長為間隔,利用滑動窗口掃描所述候選區(qū)域,并對相應(yīng)滑動窗口中的圖像進行人臉精檢測,選擇出人臉區(qū)域。

較佳地,對相應(yīng)滑動窗口中的圖像進行人臉粗檢測,具體包括:

使用第一人臉檢測模塊對相應(yīng)滑動窗口中的圖像進行人臉粗檢測;

其中,所述第一人臉檢測模塊具備下述至少一種特征:

生成所述第一人臉檢測模塊時的樣本集檢測率測試閾值小于設(shè)定測試閾值;

生成所述第一人臉檢測模塊時訓練的迭代次數(shù)小于設(shè)定迭代次數(shù);

所述第一人臉檢測模塊的檢測閾值為在標準檢測閾值的基礎(chǔ)上進行偏移得到的寬松閾值。

較佳地,所述寬松閾值保證第一人臉檢測模塊對人臉的檢測率高于所述標準檢測閾值對應(yīng)的檢測率,和/或,所述寬松閾值保證第一人臉檢測模塊對人臉的虛警率高于標準檢測閾值對應(yīng)的虛警率。

較佳地,通過下述方式得到用于進行人臉粗檢測的第一人臉檢測模塊和/或用于進行人臉精檢測的第二人臉檢測模塊:

根據(jù)多個弱分類器構(gòu)成強分類器;

采用mip方法,對所述強分類器進行優(yōu)化。

較佳地,采用mip方法,對所述強分類器進行優(yōu)化,具體包括:

采用mip方法,使用人臉樣本和背景樣本訓練組成強分類器的各弱分類器對應(yīng)的閾值。

較佳地,采用mip方法,使用人臉樣本和背景樣本訓練組成強分類器的各弱分類器對應(yīng)的閾值,具體包括:

使用所述強分類器對用于訓練的所有人臉樣本進行檢測,并記錄經(jīng)過所有弱分類器的分數(shù);對于每個弱分類器,選擇所述所有人臉樣本對應(yīng)的分數(shù)中的最小值,作為該弱分類器的人臉閾值pos-threshold;

使用所述強分類器對用于訓練的所有背景樣本進行檢測,并記錄經(jīng)過所有弱分類器的分數(shù);對于每個弱分類器,選擇所述所有背景樣本對應(yīng)的分數(shù)中的最大值,作為該弱分類器的背景閾值neg-threshold;

對于每個弱分類器,將pos-threshold和neg-threshold以設(shè)定的權(quán)重進行混合得到該弱分類器對應(yīng)的閾值。

一種人臉檢測的方法,包括:

利用目標圖像構(gòu)造圖像金字塔;

利用小臉檢測器對所述圖像金字塔中第一設(shè)定層以上的各個圖像進行人臉檢測;

利用標準臉檢測器對所述圖像金字塔中第二設(shè)定層以上的各個圖像進行人臉檢測;

其中,生成所述小臉檢測器的樣本圖像小于生成所述標準臉檢測器的樣本圖像;

較佳地,所述第一設(shè)定層和第二設(shè)定層均不是圖像金字塔的最底層,和/或,根據(jù)所述目標圖像的大小、生成所述標準臉檢測器的樣本圖像大小、生成所述小臉檢測器的樣本圖像大小和要檢測的目標人臉尺寸構(gòu)造所述圖像金字塔。

較佳地,根據(jù)生成所述小臉檢測器的樣本圖像大小和要檢測的目標人臉尺寸確定所述第一設(shè)定層;和/或,

根據(jù)生成所述標準臉檢測器的樣本圖像大小、生成所述小臉檢測器的樣本圖像大小和要檢測的目標人臉尺寸確定所述第二設(shè)定層。

較佳地,通過下述方式得到小臉檢測器和/或標準臉檢測器:

根據(jù)多個弱分類器構(gòu)成強分類器;

采用mip方法,對所述強分類器進行優(yōu)化。

較佳地,采用mip方法,對所述強分類器進行優(yōu)化,具體包括:

采用mip方法,使用人臉樣本和背景樣本訓練組成強分類器的各弱分類器對應(yīng)的閾值。

較佳地,采用mip方法,使用人臉樣本和背景樣本訓練組成強分類器的各弱分類器對應(yīng)的閾值,具體包括:

使用所述強分類器對用于訓練的所有人臉樣本進行檢測,并記錄經(jīng)過所有弱分類器的分數(shù);對于每個弱分類器,選擇所述所有人臉樣本對應(yīng)的分數(shù)中的最小值,作為該弱分類器的人臉閾值pos-threshold;

使用所述強分類器對用于訓練的所有背景樣本進行檢測,并記錄經(jīng)過所有弱分類器的分數(shù);對于每個弱分類器,選擇所述所有背景樣本對應(yīng)的分數(shù)中的最大值,作為該弱分類器的背景閾值neg-threshold;

對于每個弱分類器,將pos-threshold和neg-threshold以設(shè)定的權(quán)重進行混合得到該弱分類器對應(yīng)的閾值。

較佳地,利用小臉檢測器或標準臉檢測器進行人臉檢測的方式包括:

以第一步長為間隔,利用滑動窗口掃描目標圖像,并對相應(yīng)滑動窗口中的圖像進行人臉粗檢測,選擇出候選區(qū)域;

以小于所述第一步長的第二步長為間隔,利用滑動窗口掃描所述候選區(qū)域,并對相應(yīng)滑動窗口中的圖像進行人臉精檢測,選擇出人臉區(qū)域。

較佳地,對相應(yīng)滑動窗口中的圖像進行人臉粗檢測,具體包括:

在所述小臉檢測器或標準臉檢測器中,使用第一人臉檢測模塊對相應(yīng)滑動窗口中的圖像進行人臉粗檢測;

其中,所述第一人臉檢測模塊具備下述至少一種特征:

生成所述第一人臉檢測模塊時的樣本集檢測率測試閾值小于設(shè)定測試閾值;

生成所述第一人臉檢測模塊時的訓練迭代次數(shù)小于設(shè)定迭代次數(shù);

所述第一人臉檢測模塊的檢測閾值為在標準檢測閾值的基礎(chǔ)上進行偏移得到的寬松閾值。

較佳地,所述寬松閾值保證第一人臉檢測模塊對人臉的檢測率高于所述標準檢測閾值對應(yīng)的檢測率,和/或,所述寬松閾值保證第一人臉檢測模塊對人臉的虛警率高于標準檢測閾值對應(yīng)的虛警率。

一種人臉檢測的裝置,包括:第一掃描模塊、第一人臉檢測模塊、第二掃描模塊和第二人臉檢測模塊;

所述第一掃描模塊,用于以第一步長為間隔,利用滑動窗口掃描目標圖像,并將所述滑動窗口中的圖像輸出給所述第一人臉檢測模塊;

所述第一人臉檢測模塊,用于對所述第一掃描模塊輸入的滑動窗口中的圖像進行人臉粗檢測,選擇出候選區(qū)域;

所述第二掃描模塊,用于以小于所述第一步長的第二步長為間隔,利用滑動窗口掃描所述候選區(qū)域,并將所述滑動窗口中的圖像輸出給所述第二人臉檢測模塊;

所述第二人臉檢測模塊,用于對所述第二掃描模塊輸入的滑動窗口中的圖像進行人臉精檢測,選擇出人臉區(qū)域。

一種人臉檢測的裝置,包括:金字塔構(gòu)造模塊、小臉檢測模塊和標準臉檢測模塊;

所述金字塔構(gòu)造模塊,用于利用目標圖像構(gòu)造圖像金字塔;

所述小臉檢測模塊,用于對所述圖像金字塔中第一設(shè)定層以上的各個圖像進行人臉檢測;

所述標準臉檢測模塊,用于對所述圖像金字塔中第二設(shè)定層以上的各個圖像進行人臉檢測;

其中,生成所述小臉檢測模塊的樣本圖像小于生成所述標準臉檢測模塊的樣本圖像。

由上述技術(shù)方案可見,在本申請第一種人臉檢測方法中,利用較長步長的滑動窗口掃描圖像,并對掃描圖像進行人臉粗檢測,確定出候選區(qū)域;然后,利用短步長的滑動窗口掃描候選區(qū)域,并對掃描圖像進行人臉精檢測。在上述粗檢測與精檢測結(jié)合的處理方式中,一方面在粗檢測時通過增大滑動窗口的掃描步長,從而大量減少掃描 窗口,另一方面在精檢測時僅對候選區(qū)域進行短步長的掃描,在減少掃描窗口的同時,保證檢測精度。

在另一種人臉檢測方法中,對于構(gòu)造的圖像金字塔,利用小臉檢測器對圖像金字塔中第一設(shè)定層以上的各個圖像進行人臉檢測;利用標準臉檢測器對圖像金字塔中第二設(shè)定層以上的各個圖像進行人臉檢測。在上述處理中,可以將第一設(shè)定層和第二設(shè)定層都設(shè)置為不是圖像金字塔的最底層,從而大大減少掃描窗口的數(shù)量,同時引入小臉檢測器保證檢測精度。

附圖說明

圖1為滑動窗口掃描圖像的示意圖;

圖2為圖像金字塔的示意圖;

圖3為小臉檢測器和標準臉檢測器的掃描尺度示意圖;

圖4為標準臉檢測器及小臉檢測器模板示意圖;

圖5為本申請實施例的方法流程示意圖;

圖6為粗檢測模塊和精檢測模塊的掃描窗口示意圖;

圖7為粗檢測模塊的檢測流程示意圖;

圖8為精檢測模塊的檢測流程示意圖;

圖9為mb-lbp的結(jié)構(gòu);

圖10為通過adaboost方法訓練得到的分類器;

圖11為按照本申請實施例的方法進行的人臉檢測結(jié)果示意圖;

圖12為按照本申請實施例的方法與其他人臉檢測公開方法的性能比較結(jié)果。

具體實施方式

為了使本申請的目的、技術(shù)手段和優(yōu)點更加清楚明白,以下結(jié)合附圖對本申請做進一步詳細說明。

在目前的人臉檢測方法中,滑動窗口以固定掃描步長在圖像中移動,提取窗口的內(nèi)容作為人臉檢測器的輸入,由檢測器對窗口內(nèi)容進行判斷,確定是否為人臉。其中,滑動窗口的掃描步長與檢測精度有關(guān),較大的步長使窗口無法準確覆蓋完整人臉,人臉檢測精度較低;較小的步長檢測精度高,但增加了輸入到檢測器的窗口數(shù)量。為使人臉檢測能夠精確定位人臉位置及大小,通常采用較小的滑動窗口步長,因而導致了較高密度的滑動窗口需要輸入到檢測器,這也進一步限 制人臉檢測的速度。尤其是,當使用多姿態(tài)檢測器、多尺度檢測器時,滑動窗口的數(shù)量會大幅增長,嚴重影響檢測速度。

基于上述對滑動窗口掃描步長的分析可知,掃描步長的設(shè)置會影響滑動窗口的數(shù)量,進而影響檢測速度?;诖耍诒旧暾?zhí)峁┑牡谝环N人臉檢測方法中,從掃描步長的設(shè)置出發(fā),采用兩種步長對目標圖像進行分步掃描。

具體地,本申請?zhí)峁┑牡谝环N人臉檢測方法包括:

步驟1,以第一步長為間隔,利用滑動窗口掃描目標圖像,并對相應(yīng)滑動窗口中的圖像進行人臉粗檢測,選擇出候選區(qū)域;

本步驟為粗掃描階段,以較長步長的滑動窗口掃描圖像,滑動窗口的內(nèi)容輸入到第一人臉檢測模塊,第一人臉檢測模塊決定窗口中的圖像是否包含人臉區(qū)域,若檢測結(jié)果為包含人臉區(qū)域,則將窗口中的圖像作為候選區(qū)域輸入到步驟2的精檢測階段。這里使用的第一人臉檢測模塊對人臉進行粗檢測,使得候選區(qū)域包含所有人臉區(qū)域,但同時也可能包含背景區(qū)域。

步驟2,以小于第一步長的第二步長為間隔,利用滑動窗口掃描候選區(qū)域,并對相應(yīng)滑動窗口中的圖像進行人臉精檢測,選擇出人臉區(qū)域。

本步驟為精檢測階段,使用短步長(即第二步長)的滑動窗口掃描候選區(qū)域,并將滑動窗口的內(nèi)容送入第二人臉檢測模塊,從而精確定位人臉區(qū)域。其中,優(yōu)選地,第二步長為能夠保證人臉檢測精度的掃描步長,人臉精檢測即為能夠保證目標檢測精度的人臉檢測處理,如現(xiàn)有的各種人臉檢測方式,采用的第二人臉檢測模塊為能夠保證檢測精度的檢測器,例如使用嚴格閾值。通過本步驟的精檢測,剔除了候選區(qū)域中的背景,能夠精確識別人臉區(qū)域。雖然本步驟采用的第二步長進行掃描,雖然進行的是精檢測,但是由于僅在候選區(qū)域內(nèi)進行檢測,因此大大減少了掃描窗口的數(shù)量,提高了檢測速度。

至此,本申請中第一種人臉檢測方法流程結(jié)束。

在目前的多尺度人臉檢測中,通常采用圖像金字塔的方法,滑動窗口掃描金字塔的每一層圖像,利用同一檢測器對所有層的圖像進行檢測。在這些圖像中,當經(jīng)縮放后的人臉與檢測器模板尺寸相匹配時,人臉可被檢測出。由于檢測器模板尺寸是固定的,當系統(tǒng)需要檢測尺寸較小的人臉時,滑動窗口必須掃描金字塔靠近底端的圖像(尺寸較大的圖像),這樣才能利用使檢測器的模板尺寸與要檢測的小臉尺寸相匹配,從而檢測出較小的人臉。由于底層圖像是圖像的原始尺度或由原圖放大而來,因此圖像尺寸相對于檢測器模板尺寸較大,因而掃描過程速度緩慢。

由上述分析可見,在利用圖像金字塔的方法進行多尺度人臉檢測時,由于檢測器模板尺寸的限制,導致進行較小尺寸的人臉檢測時,檢測速度會明顯降低?;诖?,在本申請?zhí)峁┑牡诙N人臉檢測方法中,利用小臉檢測器和標準臉檢測器分別對圖像金字塔中的圖像進行人臉檢測。

具體地,本申請?zhí)峁┑牡诙N人臉檢測方法包括:

步驟1',利用目標圖像構(gòu)造圖像金字塔;

步驟2',利用小臉檢測器對圖像金字塔中第一設(shè)定層以上的各個圖像進行人臉檢測;

步驟3',利用標準臉檢測器對所述圖像金字塔中第二設(shè)定層以上的各個圖像進行人臉檢測。

在上述方法中,生成小臉檢測器的樣本圖像小于生成標準臉檢測器的樣本圖像,其中的標準臉檢測器為按照目前的圖像金字塔方式選取的人臉檢測器。由于小臉檢測器的樣本圖像(即模板尺寸)較小,因此,當按照現(xiàn)有方式構(gòu)造出圖像金字塔后,采用小臉檢測器可以從金字塔較高尺度中檢測尺寸相對較小的人臉(若采用標準臉檢測器,該人臉需要由較低一層的尺度中檢測到)。由此,在檢測較小人臉時可避免掃描圖像金字塔底部較大的圖像。但是,小臉檢測器無法檢測到覆蓋整個圖像的人臉,另外,在檢測較大的人臉時,檢測率也較標準臉檢測器低。因此,上述方法中也使用了標準臉檢測器掃描圖像金字塔靠近頂端的尺度,以保證對較大人臉的檢測率。小臉檢測器與標準臉檢測器掃描的尺度如圖3所示,模板尺寸大小如圖4所示。

通過上述處理,使得輸入檢測器的滑動窗口數(shù)量大幅減少,提高檢測速度,同時,還能夠保證檢測精度和檢測率。優(yōu)選地,為實現(xiàn)輸入檢測器的滑動窗口數(shù)量的減少,可以通過如下兩種方式或兩種方式的組合進行控制:

1、按照現(xiàn)有方式構(gòu)造出圖像金字塔,第一設(shè)定層和第二設(shè)定層都一定是圖像金字塔中位于最底層之上的層;

2、在構(gòu)造圖像金字塔時,可以根據(jù)目標圖像的大小、生成小臉檢測器的樣本圖像大小、生成標準臉檢測器的樣本圖像大小和要檢測的目標人臉尺寸來進行,例如確定圖像金字塔的層數(shù)和各層的尺寸,這樣,對于按照現(xiàn)有方式構(gòu)造圖像金字塔時用于進行較小尺寸人臉檢測的那些層圖像,可以不必再生成,也就是說,生成的圖像金字塔層數(shù)將小于現(xiàn)有方式構(gòu)造出的圖像金字塔層數(shù)。

至此,本申請中的第二種人臉檢測方法流程結(jié)束。本申請?zhí)峁┑膬煞N人臉檢測方法可以各自獨立使用,也可以結(jié)合在一起使用。下面通過一個具體實施例說 明上述兩種人臉檢測方法的具體實現(xiàn),在該實施例中,將兩種人臉檢測方法結(jié)合到一起使用。

圖5為本申請實施例的人臉檢測方法流程圖。在該檢測方法中,使用小臉檢測器和標準臉檢測器進行人臉檢測,同時,對于小臉檢測器和標準臉檢測器,均包括用于人臉粗檢測的第一人臉檢測模塊和用于人臉精檢測的第二人臉檢測模塊。如圖5所示,該檢測方法包括:

步驟501,獲取目標圖像。

獲取用于進行人臉檢測的目標圖像。

步驟502,利用目標圖像構(gòu)造圖像金字塔。

在進行圖像金字塔構(gòu)造時,可以按照現(xiàn)有方式構(gòu)造,例如根據(jù)圖像大小確定圖像金字塔的層數(shù)。或者,也可以在圖像大小的基礎(chǔ)上,結(jié)合生成小臉檢測器的樣本圖像大小a、生成標準臉檢測器的樣本圖像大小b和要檢測的目標人臉尺寸c,來構(gòu)造圖像金字塔,確定圖像金字塔的層數(shù),這樣確定出的層數(shù)相比于按照現(xiàn)有方式確定出的層數(shù)更小,例如,目標圖像為1024*1024,將其作為圖像金字塔的最底層(即第一層),按照現(xiàn)有方式確定出的第二層為512*512,第三層為256*256,第四層為128*128,而根據(jù)上述a、b和c構(gòu)造圖像金字塔時,可能不再生成原來的第二層;或者,按照現(xiàn)有方式構(gòu)造圖像金字塔時最底層為對目標圖像放大后確定出的圖像,而根據(jù)上述a、b和c構(gòu)造圖像金字塔時,可能最底層為目標圖像。

通常,圖像金字塔的最上層圖像大小為人臉檢測器的模板尺寸(即生成人臉檢測器時的樣本圖像大小),本申請對此不作限定,例如最上層圖像大小可以為小臉或標準臉檢測器的模板尺寸。

步驟503,以第一步長為間隔,利用滑動窗口掃描圖像金字塔中第二設(shè)定尺度以上的圖像,并利用標準臉檢測器中的第一人臉檢測模塊,對滑動窗口中的圖像進行人臉粗檢測。

本步驟和下步驟中,采用標準臉檢測器對圖像進行掃描和人臉檢測,目的是進行尺寸較大的人臉的檢測。

具體地,本步驟中,滑動窗口以長步長掃描金字塔第二設(shè)定層以上的各層圖像。其中,當按照現(xiàn)有方式構(gòu)造圖像金字塔時,第二設(shè)定層一定是最底層之上的層,也就是掃描金字塔靠近頂端的多個尺度,具體可以根據(jù)目標圖像大小、生成標準臉檢測器的樣本圖像大小和要檢測的目標人臉尺寸(例如需要檢測16*16以上的人臉)來確定第二設(shè)定層的位置?;蛘撸敯凑毡旧暾埿绿峁┑姆绞綐?gòu)造圖像金字塔時,圖像金字塔層數(shù)變少,第二設(shè)定層也可能是圖像金字塔的底層。

本步驟的掃描步長較長,例如,可以采用4像素,也就是粗掃描步長。掃描窗口輸入到標準臉檢測器中的第一人臉檢測模塊(以下稱為粗檢測模塊)。粗檢測模塊對每個滑動窗口中的圖像進行分類,決定窗口內(nèi)容是否包含人臉,若包含人臉則記錄人臉區(qū)域坐標和尺寸,并將窗口中的圖像作為候選區(qū)域。其中,滑動窗口示意圖如圖6左側(cè)所示,掃描的尺度如圖3所示,檢測流程如圖7所示。這里,粗檢測模塊是一個獨立的標準臉檢測器,可以實現(xiàn)人臉檢測。

標準臉檢測器中的粗檢測模塊采用如下配置:

-粗檢測模塊可以由多種方法實現(xiàn)(例如經(jīng)典的viola-jones方法,lbp方法,mb-lbp方法),這里采用mb-lbp特征和adaboost算法訓練的標準臉檢測器。本實施例中,訓練該標準臉檢測器所用樣本大小為24×24像素的矩形圖像。

-為實現(xiàn)粗檢測,粗檢測模塊的檢測條件較為寬松,例如,對粗檢測模塊進行訓練時,其樣本訓練是不完全訓練,具體地,不完全訓練是指粗檢測模塊具備以下至少一種特征:

1、生成粗檢測模塊時的樣本集進行訓練時檢測率的測試閾值偏低,小于標準設(shè)定測試閾值;

2、生成粗檢測模塊時訓練的迭代次數(shù)較少,低于設(shè)定迭代次數(shù)。

-利用粗檢測模塊進行人臉檢測時的檢測閾值為在標準閾值的基礎(chǔ)上進行偏移得到的寬松閾值。其中,寬松閾值能夠保證粗檢測模塊對人臉的檢測率高于所述標準檢測閾值對應(yīng)的檢測率,和/或,寬松閾值能夠保證粗檢測模塊對人臉的虛警率高于標準檢測閾值對應(yīng)的虛警率。

通過上述處理,可以使粗檢測模塊以較寬松的條件進行人臉檢測,因此使得所有人臉都被選擇為候選區(qū)域,候選區(qū)域也會包含少量背景區(qū)域。

步驟504,以小于第一步長的第二步長為間隔,利用滑動窗口掃描步驟503選出的候選區(qū)域,并對相應(yīng)滑動窗口中的圖像進行人臉精檢測,選擇出人臉區(qū)域。

本步驟中,接收來自標準臉檢測器中的粗檢測模塊輸出的候選區(qū)域,并以小步長掃描每個候選區(qū)域內(nèi)的圖像,本實施例中精掃描步長采用2像素。掃描窗口內(nèi)容輸入到標準臉檢測器中的第二人臉檢測模塊(以下稱為精檢測模塊),由精檢測模塊決定窗口中的圖像是否為人臉,若為人臉則記錄相應(yīng)區(qū)域的坐標和尺寸。精檢測模塊中掃描窗口示意圖如圖6右側(cè)所示,掃描的尺度如圖3所示,檢測流程如圖8所示。通常,對同一圖像進行的人臉粗檢測和人臉精檢測,其采用的滑動窗口大小是相同的。這里,精檢測模塊是一個獨立的標準臉檢測器,可以實現(xiàn)人臉檢測。精檢測模塊和粗檢測模塊包括在標準臉檢測器中,也就是說,這里的 標準臉檢測器中實際包括兩個獨立的人臉檢測器,其中第一個人臉檢測器(即粗檢測模塊)輸出的區(qū)域作為第二個人臉檢測器(即精檢測模塊)的掃描區(qū)域。

標準臉檢測器中的精檢測模塊采用如下配置:

-精檢測模塊可以由多種方法實現(xiàn)(例如經(jīng)典的viola-jones方法,lbp方法,mb-lbp方法),這里采用基于mb-lbp和adaboost方法訓練的人臉分類器。訓練標準臉檢測器中的精檢測模塊所用樣本大小為24×24像素。

-標準臉檢測器中的精掃描模塊采用嚴格的檢測條件,以精確定位人臉區(qū)域,剔除背景區(qū)域。其中,所謂嚴格的檢測條件是指能夠使精掃描模塊實現(xiàn)系統(tǒng)要求的人臉檢測精度的檢測條件,或者,也可以認為是按照現(xiàn)有方式進行人臉檢測時的檢測條件,例如,嚴格的人臉檢測閾值,訓練時標準的迭代次數(shù)和標準的測試閾值。

步驟505,以第一步長為間隔,利用滑動窗口掃描圖像金字塔中第一設(shè)定尺度以上的圖像,并利用小臉檢測器中的第一人臉檢測模塊,對滑動窗口中的圖像進行人臉粗檢測。

本步驟和下步驟中,采用小臉檢測器對圖像進行掃描和人臉檢測,目的是進行尺寸較小的人臉的檢測。

具體地,本步驟中,滑動窗口以長步長掃描金字塔第一設(shè)定層以上的各層圖像。其中,當按照現(xiàn)有方式構(gòu)造圖像金字塔時,第一設(shè)定層一定是最底層之上的層,也就是掃描金字塔靠近頂端的多個尺度,具體可以根據(jù)目標圖像大小、生成小臉檢測器的樣本圖像大小、生成標準臉檢測器的樣本圖像大小和要檢測的目標人臉尺寸(例如需要檢測16*16以上的人臉)來確定第一設(shè)定層的位置。或者,當按照本申請新提供的方式構(gòu)造圖像金字塔時,圖像金字塔層數(shù)變少,第一設(shè)定層也可能是圖像金字塔的底層。

本步驟的掃描步長較長,例如,可以采用4像素,也就是粗掃描步長。掃描窗口輸入到小臉檢測器中的第一人臉檢測模塊(以下稱為粗檢測模塊)。粗檢測模塊的處理與前述步驟503中粗檢測模塊的處理基本相同,區(qū)別僅在于訓練該粗檢測模塊的所用樣本大小較小,例如為16×16像素。

具體地,粗檢測模塊對每個掃描窗口進行分類,決定窗口內(nèi)容是否包含人臉,若包含人臉則記錄人臉區(qū)域坐標和尺寸,并將窗口中的圖像作為候選區(qū)域。掃描窗口示意圖如圖6所示,掃描的尺度如圖3所示,檢測流程如圖7所示。

粗檢測模塊采用如下配置:

-粗檢測模塊可以由多種方法實現(xiàn)(例如經(jīng)典的viola-jones方法,lbp方法, mb-lbp方法),這里采用mb-lbp特征和adaboost算法訓練的標準臉檢測器。本實施例中,訓練小臉檢測器中粗檢測模塊所用樣本大小為16×16像素。

-用于小臉檢測器中的粗檢測模塊的檢測條件較為寬松,使得所有人臉都可被選為候選區(qū)域,但候選區(qū)域包含少量背景區(qū)域。

步驟506,以小于第一步長的第二步長為間隔,利用滑動窗口掃描步驟505選出的候選區(qū)域,并對相應(yīng)滑動窗口中的圖像進行人臉精檢測,選擇出人臉區(qū)域。

本步驟中,接收來自小臉檢測器中的粗檢測模塊輸出的候選區(qū)域,并以小步長掃描每個候選區(qū)域內(nèi)的圖像,本實施例中精掃描步長采用2像素。掃描窗口內(nèi)容輸入到標準臉檢測器中的第二人臉檢測模塊(以下稱為精檢測模塊)。本步驟的處理與步驟504中的精檢測處理基本相同,區(qū)別僅在于,訓練小臉檢測器中精檢測模塊的所用樣本大小較小,例如,樣本大小為16*16像素。

具體地,將掃描窗口內(nèi)容輸入到小臉檢測器中的精掃描模塊,由精掃描模塊決定窗口中的內(nèi)容是否為人臉,若為人臉則記錄相應(yīng)區(qū)域的坐標和尺寸。精檢測模塊中掃描窗口示意圖如圖6所示,掃描尺度如圖3所示,檢測流程如圖8所示。

小臉檢測器的精檢測模塊采用如下配置:

-精檢測模塊可以由多種方法實現(xiàn)(例如經(jīng)典的viola-jones方法,lbp方法,mb-lbp方法),這里采用基于mb-lbp和adaboost方法訓練的人臉分類器。訓練小臉檢測器中的精檢測模塊的所用樣本大小為16×16像素。

-精檢測模塊采用嚴格的檢測條件,以精確定位人臉區(qū)域,剔除背景區(qū)域。

上述兩組步驟(即步驟503-504和步驟505-506)可以是并行執(zhí)行,或以任意先后順序執(zhí)行。

步驟507,對步驟504和步驟506的檢測結(jié)果進行合并。

本步驟可以根據(jù)實際需要選擇執(zhí)行或不執(zhí)行。當執(zhí)行本步驟時,接收來自于步驟504和步驟506中兩個精掃描模塊輸出的人臉區(qū)域的坐標和尺度。并執(zhí)行以下步驟:

(1)還原在原始圖像中的人臉位置尺寸

對于精檢測模塊輸出的人臉:根據(jù)檢測該人臉的尺度,計算在原圖像中該人臉的位置坐標及尺寸。

(2)對重疊的人臉進行合并:按照檢出順序掃描人臉。定義x和y為兩個人臉區(qū)域。對于人臉x計算該臉與其他人臉之間的交并比(即人臉交集與人臉并集的比例),若與臉y的交并比大于0.3,且檢測尺度之差小于等于4,則認為兩個人臉重疊;對重疊臉的位置坐標相加,長度和寬度累加;計算累加的平均值,保存 于x中;刪除人臉y。

(3)對步驟(2)中輸出的人臉再次合并:計算任意兩個人臉之間的交并比及計算兩個人臉的面積,若交并比大于0.4則兩個人臉重疊,刪除面積小的人臉。重復執(zhí)行該模塊,直到所有人臉間的交并比都小于等于0.4。

至此,本實施例中的人臉檢測流程結(jié)束。

在上述人臉檢測流程中,需要利用人臉檢測器進行所有的檢測操作,為生成相應(yīng)的人臉檢測器需要進行人臉檢測器的訓練,下面對人臉檢測器的生成和訓練進行簡單介紹:

在下面的介紹中,利用adaboost分類器訓練檢測器,使用mb-lbp作為特征,multiplebranchtree作為弱分類器,再使用mip及其改進以訓練好的檢測器為基礎(chǔ),學習弱分類器閾值。以下分別詳述。

(1)adaboost算法訓練檢測器

adaboost是一種迭代算法,其核心思想是把弱分類器集合起來,構(gòu)造一個更強的分類器。具體方法為:在所有候選弱分類器中,選擇一個弱分類器,該弱分類使得分類誤差函數(shù)最小。如果某個樣本點已經(jīng)被準確地分類,那么在構(gòu)造下一個訓練集中,它的權(quán)重就被降低;相反,如果某個樣本點沒有被準確地分類,那么它的權(quán)重就得到提高。然后,權(quán)重更新過的樣本集被用于訓練下一個弱分類器,整個訓練過程如此迭代地進行下去。

誤差函數(shù)可定義為:

其中,n為樣本數(shù)量,wi為樣本的權(quán)重,yi樣本標簽(即樣本為人臉或背景的指示值),fm(xi)為弱分類器,xi為樣本特征,i為樣本索引。最終強分類器定義為:

m為弱分類器的個數(shù)。當強分類器在測試樣本集的檢測率和準確率達到給定閾值a時,或者所有弱分類器都已被使用,則訓練停止。在前述描述粗檢測模塊的過程中,提到粗檢測模塊的檢測條件較寬松,可以是檢測率的測試閾值較低,也就是指這里的a值設(shè)置較??;迭代次數(shù)較少,也就是指本步驟中的迭代次數(shù)設(shè)置較小。

(2)mb-lbp特征

采用mb-lbp特征作為弱分類器的輸入。mb-lbp是3x3的網(wǎng)格區(qū)域,它可以放置在圖像的任何位置。mb-lbp的結(jié)構(gòu)可由圖9所示。

mb-lbp計算網(wǎng)格內(nèi)每個區(qū)域像素的平均值,并將周圍網(wǎng)格像素的平均值與中心網(wǎng)格像素平均值進行比較,比較結(jié)果使用二進制編碼。則每個mb-lbp是一個0到255之間的數(shù)字:

其中,sign(·)為符號函數(shù),gi為周圍網(wǎng)格像素平均值,gc為中心網(wǎng)格像素平均值。

(3)弱分類器

由于mb-lbp特征是不可度量的,使用multi-branchtree作為弱分類器。multi-branchtree定義為

其中,x是mb-lbp特征值,aj(j=0,…,255)是分類器參數(shù)。分類器參數(shù)通過如下公式學的,

其中,wi是樣本i的權(quán)重,xi是樣本i的mb-lbp特征值,yi是樣本i的標簽。

(4)multipleinstancepruning(mip)及其改進

通過adaboost方法訓練得到的分類器如圖10所示,其中矩形框代表一個強分類器,而矩形框中的橢圓代表弱分類器。在沒有mip的情況下,圖像區(qū)域必須通過所有的弱分類器,再由強分類器的閾值決定圖像區(qū)域中是否包含人臉。而mip則為每個弱分類器訓練閾值,判斷圖像區(qū)域是否為背景可由其中某一個弱分類器決定,而不需要由強分類器決定。

mip的訓練是個反向傳播過程,傳統(tǒng)mip訓練流程如下:

(1)使用訓練好的強分類器對所有人臉樣本進行分類,并記錄經(jīng)過所有弱分類器時的分數(shù)。

(2)對于某一個人臉樣本,強分類器輸出重疊的多個檢測框,每個檢測框都對應(yīng)從第一個到最后一個弱分類的分數(shù)路徑。在多個重疊的檢測框中,反向傳播分數(shù)f(x)最大的檢測框,即得到該檢測框在經(jīng)過每個弱分類時的分數(shù)。如,某一檢測框在經(jīng)過第p個弱分類器時的分數(shù)定義為

(3)對所有訓練樣本,及他們在某個弱分類器p的分數(shù),尋找最小的分數(shù)作為弱分類器p的閾值。這里寫為pos-threshold。

在檢測過程中,當圖像區(qū)域經(jīng)過弱分類器p時的分數(shù)fp(x)小于pos-threshold時,則認為該區(qū)域為背景,否則傳遞到下一個弱分類器。

但是傳統(tǒng)mip方法僅使用人臉樣本訓練閾值,使得檢測率有所下降。盡管mip是反向傳播過程,負樣本在正向傳播訓練時已經(jīng)作為考慮因素,但如果考慮負樣本對弱分類器閾值的影響,也可使閾值得到進一步優(yōu)化。本申請中,在按照上述方式確定pos-threshold的基礎(chǔ)上,同時考慮背景對弱分類器閾值的影響,進行如下處理:

(1)使用強分類器對所有用于訓練的背景樣本進行分類,記錄經(jīng)過所有弱分類器時的分數(shù);

(2)對每個弱分類器p,在所有背景樣本對應(yīng)的弱分類器p的分數(shù)中,選擇最大的分數(shù)作為閾值,定義為neg-threshold;

(3)將pos-threshold與neg-threshold以一定權(quán)重混合,得到相應(yīng)弱分類器p的閾值threshold=pos-threshold×λ1+neg-threshold×λ2,其中,λ1和λ2分別為設(shè)定的兩個權(quán)重,依據(jù)經(jīng)驗選取,λ1+λ2=1。例如,可以如下設(shè)置權(quán)值,

threshold=pos-threshold×0.8+neg-threshold×0.2。

由上述處理可見,本申請中的各類人臉檢測器均可以采用下述方式生成:根據(jù)多個弱分類器構(gòu)成強分類器;采用mip方法,對強分類器進行優(yōu)化。具體的優(yōu)化處理可以為:采用mip方法,使用人臉樣本和背景樣本訓練組成強分類器的各弱分類器對應(yīng)的閾值。

更詳細地,使用人臉樣本和背景樣本訓練組成強分類器的各弱分類器對應(yīng)的閾值時,具體處理可以包括:

使用強分類器對用于訓練的所有人臉樣本進行檢測,并記錄經(jīng)過所有弱分類器的分數(shù);對于每個弱分類器,選擇所述所有人臉樣本對應(yīng)的分數(shù)中的最小值,作為該弱分類器的人臉閾值pos-threshold;使用強分類器對用于訓練的所有背景樣本進行檢測,并記錄經(jīng)過所有弱分類器的分數(shù);對于每個弱分類器,選擇所有背景樣本對應(yīng)的分數(shù)中的最大值,作為該弱分類器的背景閾值neg-threshold;對于每個弱分類器,將pos-threshold和neg-threshold以設(shè)定的權(quán)重進行混合得到 該弱分類器對應(yīng)的閾值。

上述即為本申請中兩種人臉檢測方法的具體實現(xiàn)。

按照上述實施例的處理對人臉檢測進行了性能測試,如圖11所示。從圖中可見,系統(tǒng)可檢測多種姿態(tài)和尺度的人臉。圖12展示了上述測試中,按照本申請實施例的方法與其他人臉檢測公開方法的性能比較結(jié)果。該圖比較了采用相似性能,并在速度上具有可比性的方法,可見本申請?zhí)岢龅姆椒ň哂凶罡叩男阅?。同時,在表1中比較了本申請實施例中的方法與其他人臉檢測方法的檢測速度。在相同的圖像尺寸下,本系統(tǒng)取得最快的檢測速度。此外,本申請實施例中的方法也可檢測更小的人臉。

通過上述本申請的具體實現(xiàn)可見,在本申請第一種人臉檢測方法中,將粗檢測與精檢測相結(jié)合,一方面在粗檢測時通過增大滑動窗口的掃描步長,以大量減少掃描窗口,另一方面在精檢測時僅對候選區(qū)域進行短步長的掃描,以保證檢測精度。在另一種人臉檢測方法中,對于構(gòu)造的圖像金字塔,利用小臉檢測器對圖像金字塔中第一設(shè)定層以上的各個圖像進行人臉檢測;利用標準臉檢測器對圖像金字塔中第二設(shè)定層以上的各個圖像進行人臉檢測。其中,可以將第一設(shè)定層和第二設(shè)定層都設(shè)置為不是圖像金字塔的最底層,從而大大減少掃描窗口的數(shù)量,同時引入小臉檢測器保證檢測精度;還可以進一步根據(jù)目標圖像的大小、生成標準臉檢測器的樣本圖像大小、生成小臉檢測器的樣本圖像大小和要檢測的目標人臉尺寸確定圖像金字塔的層數(shù),由于引入了小臉檢測器,因此確定出的圖像金字塔的層數(shù)小于按照現(xiàn)有方式確定出的圖像金字塔層數(shù),從而能夠減少掃描窗口的數(shù)量。

本申請還提供了人臉檢測裝置,可以用于實施上述兩種人臉檢測方法。對應(yīng)于第一種人臉檢測方法的人臉檢測裝置包括:第一掃描模塊、第一人臉檢測模塊、第二掃描模塊和第二人臉檢測模塊。

其中,第一掃描模塊,用于以第一步長為間隔,利用滑動窗口掃描目標圖像, 并將所述滑動窗口中的圖像輸出給第一人臉檢測模塊。第一人臉檢測模塊,用于對第一掃描模塊輸入的滑動窗口中的圖像進行人臉粗檢測,選擇出候選區(qū)域。第二掃描模塊,用于以小于第一步長的第二步長為間隔,利用滑動窗口掃描候選區(qū)域,并將滑動窗口中的圖像輸出給第二人臉檢測模塊。第二人臉檢測模塊,用于對第二掃描模塊輸入的滑動窗口中的圖像進行人臉精檢測,選擇出人臉區(qū)域。

對應(yīng)于第二種人臉檢測方法的人臉檢測裝置包括:金字塔構(gòu)造模塊、小臉檢測模塊和標準臉檢測模塊。

其中,金字塔構(gòu)造模塊,用于利用目標圖像構(gòu)造圖像金字塔。小臉檢測模塊,用于對圖像金字塔中第一設(shè)定層以上的各個圖像進行人臉檢測。標準臉檢測模塊,用于對圖像金字塔中第二設(shè)定層以上的各個圖像進行人臉檢測。其中,生成小臉檢測模塊的樣本圖像小于生成標準臉檢測模塊的樣本圖像。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
饶河县| 太湖县| 临澧县| 肃宁县| 田东县| 蓬安县| 洞口县| 三河市| 大埔区| 阳高县| 建阳市| 玛沁县| 阿图什市| 江永县| 濉溪县| 新余市| 临夏市| 斗六市| 安化县| 房产| 青神县| 中宁县| 甘南县| 社旗县| 绥中县| 密云县| 临安市| 紫云| 松滋市| 广元市| 德格县| 江永县| 汝州市| 上杭县| 汝南县| 巴马| 乌拉特后旗| 互助| 迁安市| 安国市| 汽车|