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

目標檢測的制作方法

文檔序號:6444037閱讀:163來源:國知局
專利名稱:目標檢測的制作方法
技術領域
本發(fā)明涉及目標檢測。
背景技術
以下說明涉及出現在各種類型的目標檢測中的問題,但為了說明的簡潔,將討論關于面部檢測。
在文獻中已經提出了多種人面部檢測算法,包括使用所謂的本征面部、面部模板匹配、可變形模板匹配或神經網絡分類。這其中沒有一個是完美的,總的來說每一個都有優(yōu)點和缺點。沒有一種給出圖像包含面部的絕對可靠的指示,相反,它們都是根據概率估算、基于圖像的數學分析,給出圖像是否具有至少一定的包含面部的的可能性。根據它們的應用,這些算法一般具有設置成很高的可能性值閾值,以試圖避免面部的假檢測。
目標檢測傾向于需要多個處理器(processor-intensive)。在目標檢測必須實時運行的情況下,難以在允許的時間(例如視頻信號的一幀周期)內完成所有的目標檢測處理。

發(fā)明內容
本發(fā)明提供目標檢測設備,用于檢測測試圖像中的目標,所述設備包括用于將所述圖像的測試窗口的塊與指示目標的出現的參考數據比較以便產生指示區(qū)域和所述參考數據之間的相似程度的索引數字的裝置;用于存儲與所述索引數字和所述塊位置的可能值對應的概率數據的裝置;用于可針對當前塊、依賴于該塊在所述測試窗口內的位置和關于該塊產生的索引數字從所述存儲裝置存取概率值的裝置;以及用于組合對應于測試窗口中的塊的概率值以產生指示該測試窗口包含目標的概率的結果的裝置,其中,所述存儲裝置中的概率值按照先塊位置然后索引數字的次序排序。
本發(fā)明涉及辨識在目標檢測過程中彼此相鄰地存取那些值,將這些值排序成彼此相鄰或接近,以提高數據存取過程的效率。
本發(fā)明的各種進一步的方面和特征被所附的權利要求書限定。


本發(fā)明的上述和其它目的、特征和優(yōu)點將通過參考附圖進行閱讀的說明性實施例的下列詳細描述變得明顯,其中圖1是用作面部檢測系統(tǒng)和/或非線性編輯系統(tǒng)的通用計算機系統(tǒng)的示意圖;圖2是使用面部檢測的視頻攝像機-記錄器(攝錄機)的示意圖;圖3是說明訓練(training)過程的示意圖;圖4是說明檢測過程的示意圖;圖5示意性地說明特征直方圖;圖6示意性說明用以產生本征塊的抽樣過程;圖7和8示意性地說明了本征塊集;圖9示意性地說明了建造表示塊位置的直方圖的過程;圖10示意性地說明了直方圖倉號的產生;圖11示意性地說明了面部概率的計算;圖12a-12f是利用上述方法所產生的直方圖的示意性實例;圖13a和13b示意性地說明了該直方圖的數據結構;圖14示意性地說明了疊有面部窗口的所謂倉映像;圖15a-15g示意性地說明了所謂多尺度面部檢測;圖16是說明用于在多尺度方案(arrangement)中檢測面部位置的技術的示意性流程圖;圖17示意性地說明了運動檢測器;圖18a-18e示意性地說明了用于檢測圖像中變化的區(qū)域的技術;圖19a-19c示意性地說明了對圖18a-18e技術的改進;圖20a-20c示意性地說明了空間抽選技術;圖21a-21d示意性地說明了另外一個空間抽取技術;圖22示意性地說明了面部跟法;圖23a和23b示意性地說明了用于皮膚顏色檢測的搜索區(qū)域的導出;圖24示意性地說明了施加到皮膚顏色檢測的掩蔽;圖25a-25c示意性地說明了圖24的掩蔽的使用;圖26是示意性距離映像;圖27示意性地說明了顏色掩蔽過程;圖28示意性地說明了顏色映像更新過程;以及圖29a-29c示意性地說明了梯度(變化)預處理技術。
具體實施例方式
現在描述通過用代表所需的目標的訓練圖像進行訓練進行面部檢測的實施例,但同樣可應用于其它目標,諸如汽車的檢測。
圖1是用作面部檢測系統(tǒng)和/或非線性編輯系統(tǒng)的通用計算機系統(tǒng)的示意圖。計算機系統(tǒng)包括處理單元10,處理單元10具有(在其他常規(guī)元件中)中央處理器(CPU)20,諸如隨機存取存儲器(RAM)30之類的存儲器和諸如盤驅動器40之類的非易失存儲裝置。計算機系統(tǒng)可以連接到諸如局域網或因特網(或兩者)之類的網絡50。還配備鍵盤60、鼠標或其它用戶輸入設備70和顯示屏80。本領域普通技術人員應該明白通用計算機系統(tǒng)可以包括不必在這里說明的很多其它常規(guī)部件。
圖2是使用面部檢測的視頻攝像機-記錄器(攝錄機)的示意圖。攝錄機100包括透鏡110,透鏡110將圖像聚焦到電荷耦合器件(CCD)圖像捕獲器件120。產生的電子形式的圖像由圖像處理邏輯130進行處理,用于在諸如盒式磁帶130的記錄介質上記錄。由器件120捕獲到的圖像也可以顯示在可以通過目鏡160進行觀察的用戶顯示器150上。
為了捕獲與圖像關聯(lián)的聲音,使用一個或多個麥克風,這些麥克風可以是外置麥克風,也就是說它們通過柔性電纜連接到攝錄機,也可以安裝在攝錄機體內。
來自(多個)麥克風的模擬音頻信號由音頻處理裝置107處理,以便產生記錄在存儲介質140上的適當的音頻信號。
應當注意視頻和音頻信號既可以數據形式也可以模擬形式甚至以該兩種形式記錄在存儲介質140上。因此,圖像處理裝置130和音頻處理裝置170可以包括模擬向數字轉換的級。
攝錄機用戶能夠通過用戶控制180控制透鏡110的性能的某些方面,用戶控制180影響透鏡控制裝置190,以發(fā)送電控制信號200給透鏡110。一般來說,像聚焦、縮放之類的屬性按這種方式進行控制,但透鏡孔徑或其它屬性也可以由用戶控制。
示意性地說明了兩種另外的用戶控制。配置按鈕210來啟動和停止向記錄介質140上的記錄。例如,按一下控制120可以開始記錄,并且再按一下可以停止記錄,或控制可能需要保持在按下的狀態(tài)下以進行記錄,或者,可以按下一定的時間(例如5秒鐘)以啟動記錄。在這些裝置的任何一個中,技術上講可以直接根據攝錄機的記錄操作建立,在這種記錄操作中出現每次“拍攝”(記錄的連續(xù)周期)的開始和結束。
圖2中示意性所示的其他用戶控制是“良好拍攝標記”(GSM)220,它可以由用戶操作來使得要存儲的“元數據”(相關數據)與記錄介質140上的視頻和音頻材料聯(lián)系起來,指示該特定的拍攝是由操作員主觀考慮為在某些方面“良好”(例如演員表演的特別好;新聞記者每個字的發(fā)音都正確等等)。
根據所使用的特定格式和標準,元數據可以記錄在記錄介質140上的某些備用容量(例如“用戶數據”)中?;蛘?,元數據可以存儲在像可拆卸存儲棒(MemoryStickRTM)存儲器(未示出)之類的分離存儲介質上?;蛘咴獢祿軌虼鎯υ谕獠繑祿?未示出),例如通過無線鏈路(未示出)傳遞到這樣的數據庫。這種元數據不僅可以包括GSM信息,也包括拍攝邊界、透鏡屬性、用戶輸入的字符信息(例如在鍵盤上-未示出)、來自全球定位系統(tǒng)接收機(未示出)的地理位置信息等。
到目前為止,說明書已經描述了允許元數據(metadata enabled)的攝錄機?,F在描述面部檢測可以應用到這種攝錄機的方式。當然,可以理解,這些技術是可以應用于例如,像因特網協(xié)議(IP)攝像機、視頻會議攝像機等之類的聯(lián)網攝像機。
這種攝錄機包括面部檢測器裝置230。下面以更詳細的方式描述適當的裝置,但是對于這部分說明,足以說明面部檢測器裝置230從圖像處理裝置130接收圖像并且檢測或者試圖檢測這樣的圖像包含一個或多個面部。面部檢測器可以以“是/否”標志的形式輸出面部檢測數據,也可以是包括面部圖像坐標的更詳細的數據,諸如每個所檢測到的面部內的眼睛位置的坐標。這種信息可以作為另一種類型的元數據進行處理,并以上面描述的其它任何格式存儲。
如上所述,面部檢測可以使用檢測處理內的其它類型的元數據來協(xié)助。例如,面部檢測器230從透鏡控制裝置190接受控制信號,以指示透鏡110的當前聚焦和縮放設置。這些可以通過給任何面部的期望的圖像尺寸的初始指示來幫助面部檢測器,所述的面部可以出現在圖像的前景中。在這種情況下,應該注意它們之間的聚焦和縮放設置限定了攝錄機100和正在被拍攝的人之間的期望的分開的距離,并且還有透鏡110的放大倍數。從這兩種屬性中,基于平均面部尺寸,能夠計算出所產生圖像數據中的面部的期望的尺寸(以像素計算)。
傳統(tǒng)的(已知的)語音檢測器240從音頻處理裝置170中接收音頻信息并在這樣的音頻信息中檢測語音的出現。這樣的語音出現可以是一個指示符,指示在對應的圖像中正在出現面部的可能性高于沒有檢測到語音的情況。在以下要討論的一些實施例中,可以改進語音檢測器,以便通過檢測一組麥克風中最有效的麥克風,或者通過多個麥克風之間的三角測量或類似技術來提供說話者的位置程度。
最后,將GSM信息220和拍攝信息(來自控制210)提供給面部檢測器230,以指示拍攝邊界和那些被用戶認為最有用的鏡頭。
當然,如果攝錄機是基于模擬記錄技術的,進一步的模擬數據轉換(ADC)可能需要用來處理圖像和音頻信息。
本實施例使用安排成兩個階段的面部檢測技術。圖3是說明訓練階段的示意圖,圖4是說明檢測階段的示意圖。
不像以前提出的某些面部檢測方法(參見下面的對比文件4和5),本方法是基于部分模擬面部而不是整體模擬面部。這些部分既可以是中心在面部特征的假定的位置的塊(所謂的“有選擇的抽樣”),也可以是在面部上以規(guī)則間隔抽樣的塊(所謂的“規(guī)則抽樣”)。本說明將主要涉及規(guī)則抽樣,因為在經驗測試中發(fā)現這給出更好的結果。
在訓練階段,將分析過程應用于已知包含面部的一組圖像,和(可選)已經知道不包含面部的另一組圖像(“非面部圖像”)。這種分析過程建立面部和非面部特征的數學模型,以后可以用其與測試圖像相比較(在檢測階段)。
因此,為了建立數學模型(圖3的訓練過程310),基本步驟如下1.從標準化為具有相同眼睛位置的面部圖像的集合300,每個面部被規(guī)則地抽樣成小塊。
2.計算每個塊的屬性;這些屬性將在下面進一步解釋。
3.這些屬性被量化為便于管理的數目的不同值。
4.然后將量化的屬性組合起來,以產生關于那個塊位置的單一量化值。
5.然后將該單一量化值作為一項記錄在直方圖中,直方圖諸如為圖5所示的示意性直方圖。所有訓練圖的所有塊位置的集體直方圖信息320形成面部特征的數學模型的基礎。
通過關于大量測試面部圖像重復上述步驟,為每一個可能的塊位置準備一個這樣的直方圖。在下面的附錄A中,會進一步描述該測試數據。因此,在使用8×8塊的陣列的系統(tǒng)中,準備64個直方圖。在該處理的后面部分,將測試量化的屬性與直方圖數據比較;整個直方圖用于模擬數據的事實意味著不必關于它是否遵循參數化分布(例如高斯或其它分布)作出任何假設。為了節(jié)約數據存儲器空間(如果需要的話),相似的那些直方圖可以合并起來,以便相同的直方圖可以為不同的塊位置重復使用。
在檢測階段,為了將面部檢測器應用于測試圖像350,按照下列方式處理340測試圖像中的連續(xù)窗口6.該窗口被規(guī)則地抽樣為一系列塊,并且每個塊的屬性可以按照上述步驟1-4來計算和量化。
7.從相應的直方圖中查找每個塊位置的量化的屬性值的對應“概率”。也就是說,對于每個塊位置產生各自的量化屬性,并與關于那個塊位置事先產生的直方圖相比較。直方圖導致“概率”數據的方式將在以下描述。
8.上述獲得的所有概率乘在一起以形成最終概率,該最終概率被與一閾值比較,以便將該窗口分類為“面部”或“非面部”。應該理解,“面部”或“非面部”的檢測結果是基于概率的測量而非絕對檢測。有時,不包括面部的圖像可能會錯誤地檢測成“面部”,即所謂的錯誤肯定。在另一些時候,包含面部的圖像可能被檢測成“非面部”,即所謂的錯誤否定。任何面部檢測系統(tǒng)的目的是減少錯誤肯定的比例和錯誤否定的比例,但當然也應該理解,利用當前的技術,即便不是不可能,將這些比例減少成零也是很困難的。
如上所述,在訓練階段,一組“非面部”圖像可以用于產生一組相應的“非面部”直方圖。然后,為了獲得面部檢測,從非面部直方圖產生的“概率”可以與一個獨立的閾值比較,因此,對于測試窗口包含面部,該概率必須是在該閾值之下。或者,面部概率與非面部概率的比率可以與一閾值比較。
額外的訓練數據可以通過將“合成變化”330應用到原始訓練集來產生,原始訓練集諸如為位置、方向、大小、長寬比、背景、光強和頻率內容的變量。
現在將描述屬性的導出和它們的量化。在目前的技術中,屬性是關于所謂的本征塊進行測量的,本征塊表示可能呈現在窗口化圖像中的不同類型的塊的核心塊(本征向量)。首先,參考圖6描述本征塊的產生。
本征塊創(chuàng)建本實施例中的屬性基于所謂的本征塊。在訓練集中,本征塊被設計成具有良好的塊表示能力。因此,通過在大的塊集合上執(zhí)行主成分分析,來從訓練集創(chuàng)建它們。這個過程被示意性地示出在圖6中,并且在附錄B中更詳細地描述。
訓練該系統(tǒng)用兩種不同的訓練塊集合進行實驗。
本征塊集I起初,使用從訓練集中的25個面部圖像中取出的一個塊集。16×16塊被按每16個像素抽樣,因此是不重疊的。這種抽樣被示出在圖6中。像所看到的那樣,16個塊是從每個64×64訓練圖像中產生的。這導致總共400個訓練塊。
從這些訓練塊產生的頭10個本征塊顯示在圖7中。
本征塊集II本征塊的第二個集從更大的訓練塊集產生。這些塊是從訓練集的500個面部圖像中取出。在這種情況下,16×16塊被按每8個像素抽樣,因此重疊8個像素。這從每個64×64訓練圖像產生49個塊,并且導致總共24500個訓練塊。
從這些訓練塊中產生的頭12個本征塊示出在圖8中。
經驗結果顯示本征集II表現出稍微好于本征集I的結果。這是因為它是從面部圖像取出的更大的訓練塊集合中計算出來的,因此被認為是在表示面部變化方面更好。然而,性能改善不大。
構造直方圖直方圖是對64×64面部圖像內的每個抽樣塊位置建立的。直方圖的數量依賴于塊間隔。例如,對于16像素的塊間隔存在16種可能的塊位置,因此使用16個直方圖。
構造表示單個塊位置的直方圖的過程顯示在圖9中。使用M個面部圖像中的大型訓練集400創(chuàng)建該直方圖。對每個面部圖像,該過程包括●從面部圖像的位置(i,j)取出410相關塊。
●計算關于該塊的基于本征塊的屬性,并且從這些屬性中確定相關的倉號420。
●增加直方圖430中的相關倉號。
該過程對訓練集中的M個圖像中的每一個重復,以便創(chuàng)建一個很好表現屬性發(fā)生頻率分布的直方圖。理想情況下,M非常大,例如是幾千。這可以通過使用由一組原始面部和每個原始面部的幾百個合成變化組成的訓練集來輕易地實現。
產生直方圖倉號使用下列過程從給定塊中產生直方圖倉號,如圖10所示。從64×64窗口或面部圖像中提取16×16塊440。該塊被投影到A個本征塊的集合450上,以產生一組“本征塊權”。這些本征塊權是用在這種實現中的“屬性”。它們具有-1到+1的范圍。這種處理將在附錄B中詳細描述。每個權被量化成固定數量的級L,以產生量化屬性470,wi,i=1...A。量化的權被按如下方式組合成單一值h=w1.LA-1+w2LA-2+w3LA-3+...+wA-1L1+wAL0其中所產生的值h是直方圖倉號480。注意,直方圖中倉的總數由LA給出。
如果它除以訓練圖像的數量M,倉內容(即引起那個倉號的屬性集出現的頻率)可以被看作是一個概率值。但是,因為該概率與一閾值比較,因此,事實上不需要被M來除,因為這個值將在計算的時候消去。因此,在下面的討論中,倉“內容”將被稱作“概率值”,并被處理成好像它就是概率值,即使在嚴格意義上來說它實際上是出現的頻率。
上述過程被用于訓練過程階段和檢測階段。
面部檢測階段面部檢測過程包括用運動64×64窗口抽樣測試圖像,并且計算每個窗口位置的面部概率。
在圖11中示出了面部概率的計算。對于窗口中的每個塊位置,按照前一段描述的方式計算塊的倉號490。利用關于塊位置的適當直方圖500查找每個倉號并且確定那個倉號的概率510。然后,計算所有塊的這些概率的對數和520,以產生面部概率值P面部(另外也可稱為對數可能性值)。
這種過程產生關于整個測試圖像的概率“映像”。換句話說,概率值是關于整個圖像的每一個可能的窗口中心位置導出的。然后,將所有這些概率值組合成方形陣列的組合(或無論什么形狀)看成是相應于該圖像的概率“映像”。
然后,反轉該映像,從而找出面部的過程包括找出該反轉映像中的最小值(當然這等效于不反轉該映像并找出最大值;兩種都可以)。使用所謂的基于距離的技術。這種技術可以概述如下選擇在反轉的概率映像中具有最小值的映像(像素)位置。如果這個值大于閾值(TD),則不再選擇任何面部。這是終止判據。否則,對應于所選擇的中心像素位置的面部尺寸塊被取消(即從下面的計算中省略),并且在該圖像的剩余部分上重復候選面部位置查找步驟,直到達到終止判據。
非面部方法非面部模型包括代表非面部圖像中的屬性概率分布的另一直方圖集合。除了訓練圖像包括非面部的例子而不是包括面部的例子之外,以與面部模型中嚴格一致的方式創(chuàng)建直方圖。
在檢測期間,計算兩個對數概率值,一個使用面部模型,一個使用非面部模型。然后,通過從面部概率中減去非面部概率來組合這些概率值P組合=P面部-P非面部然后,使用P組合代替P面部來產生概率映像(在反轉之前)。
注意,從P面部中減去P非面部的理由是它們是對數概率值。
還要注意,面部和非面部直方圖可以通過簡單的將對數直方圖相加而在訓練過程結束(在面部檢測之前)時有選擇地進行組合直方圖總計=log(直方圖(面部))+log(直方圖(非面部))。
這是在下面的描述中為什么對每個塊位置/姿勢/眼睛間隔組合只需要一個直方圖的原因。
直方圖示例圖12a-12f是利用上述訓練過程所產生的直方圖的某些示例。
圖12a、12b和12c是從面部圖像訓練集中導出的,圖12d、12e和12f是從非面部圖像訓練集中導出的。具體地

可以清楚地看到,峰值是處于面部直方圖和非面部直方圖的不同的地方。
直方圖存儲如上所述,直方圖存儲與圖像中給定尺度和位置的面部可能性有關的統(tǒng)計信息。但是,直方圖的排序對于系統(tǒng)性能具有出人意料地重要性。簡單排序可以導致非局部化的訪問(即連續(xù)的訪問在內存中通常遠離)。當使用微處理器或定制處理器實施時,這可能表現出差的高速緩沖性能。為了處理該問題,重新對直方圖排序以便對數據的訪問更加局域化。
在本實施例中,存在總共6個直方圖

在下面的討論中c是來自給定尺度的圖像中的給定位置的倉映象(binmap)(一種給出關于該圖像中的每個位置的直方圖項的映像)中的值-在當前的情況下,這是9位二進制數。
倉映象是通過將該圖像與9個本征塊卷積、量化所得到的9個本征塊權并且將其組合成單一值而預先計算出來的;x是面部窗口內的x位置(0和6之間);和y是面部窗口內的x位置(0和6之間)。
這意味著每種姿勢(例如F38)的直方圖具有512×7×7=25088字節(jié)的尺寸。
F38c,x,y是關于給定的c,x和y的直方圖的值。
例如,F3815,4,5是對于倉映象值為15的具有在面部窗口位置(4,5)處38眼距的正面直方圖給出的值。
存儲器中直方圖的順向排序是按照c,然后x,然后y,然后姿勢,然后眼距排序的。這種排序的示意性示例顯示在圖13a中。一種改進的排序系統(tǒng)是按照姿勢、然后x,然后y,然后c,然后眼距排序的,這種排序的示意性示例被顯示在圖13b中。
當直方圖按照新方式排序時,存在兩種高速緩沖存儲性能方面改進的原因(i)訪問姿勢的方式,和(ii)面部窗口在面部搜索期間移動的方式。
對于每個位置總是訪問具有相同倉號和位置的3個不同的姿勢(左、右和前)。即,如果F38329,2,1被訪問,則L38329,2,1和R38329,2,1也被訪問。因為在新方法中這些是相鄰的,因此獲得優(yōu)越的高速緩沖存儲性能。
組織這些直方圖的新方法也利用了面部測試窗口在搜索圖像中的面部期間移動的方式。由于面部窗口移動的方式,將在很多(x,y)查找相同的c值。
圖14示出來自倉映像的哪個值用于在確定位置內查找面部。例如,F38329,2,1是來自面部窗口中的(2,1)位置的眼距38的前直方圖的值。
可以看出,當面部檢測窗口向右移動2空格時,高亮方塊將向左移動一個位置,即相同的值將在不同的位置上查找到。在圖14的實例中,當面部窗口已經向右移動兩空格時,F38329,2,1將變成F38329,1,1。
由于該算法通過將面部測試窗口移過圖像來搜索面部,它將在幾個位置查找到相同的倉映象。這意味著如果這些值在存儲器中存儲的非常接近,則將改善高速緩沖存儲性能。
對直方圖結構另一個改進(與上述改進一起或者獨立于上述改進)是側姿勢比前姿勢使用更少的位。存儲在每個直方圖倉中的值根據它們表示的姿勢來量化成不同的數量的位。
用于6個直方圖中的每一個的位數總結如下

這樣做的好處是,每一組3個直方圖值可以存儲在2字節(jié)而不是3字節(jié)中。
發(fā)現由于側姿勢比前姿勢對算法的整體性能具有更少的重要性,因此這是可能的,所以這些可以利用減少的分辨率來表示而不會顯著地影響精度。
多尺度面部檢測為了檢測測試圖像中不同尺寸的面部,測試圖像由一個因子的范圍調節(jié)尺度,并且距離(即概率)映像對每種尺度產生。在圖15a-15c中,圖像和它們的相應距離映像以3種不同的尺度顯示。該方法對在最小尺度(圖15a)的大型(中心)目標給出最好的響應(最高的概率或最小的距離),而對在較大尺度的較小的目標(主圖的左邊)給出較好的響應。(在映像中的較黑的顏色表示反轉映像中的較低值,或者換句話說,較高概率意味著有面部)。候選面部位置通過首先發(fā)現在所有尺度上的給出最好響應的位置來跨越不同尺度提取。也就是說,最高的概率(最低距離)是在所有標尺的全部概率映像中建立的。這種候選位置是將首先被標注為面部的位置。然后中心在那個面部位置的測試窗口被從每種尺度的概率映像中消除。被消除的測試窗口的尺寸與概率映像的尺度成比例。
這種被調節(jié)尺度的消除過程的示例示出在圖15a-15c中。具體地說,跨越所有映像的最高概率在最大尺度映像的左手側找到(圖15c)。對應于面部的假設尺度的區(qū)域530在圖15c中被遮蓋。在更小的映像中對應的但是被調節(jié)尺度的區(qū)域532、534被遮蓋。
比測試窗口大的區(qū)域可以在映像中被遮蓋,以避免重疊檢測。具體地說,等于被長/寬為該測試窗口的一半的邊框所包圍的測試窗口的尺寸的區(qū)域適用于避免這樣的重疊檢測。
其它的面部通過接著搜索下一個最好的響應并消除對應的測試窗口進行檢測。
在被處理的尺度之間允許的間隔受該方法對尺寸變化的靈敏度的影響。在尺度不變性的初步研究中發(fā)現,該方法對尺寸變化不是極其敏感,因為在某一尺度處給出良好響應的面部通常在相鄰的尺度處也給出良好的響應。
上述描述涉及即使在圖像中的面部尺寸在檢測過程的開始時不知道的情況下也能檢測面部。多尺度面部檢測的另一個方面是利用不同尺度的兩個或多個并行檢測,以便使得檢測過程有效。如果例如,要檢測的面部是部分模糊的,或者是人帶著帽子的等,這是有利的。
圖15d-15g示意性地圖解了這一過程。在訓練期間,在圍繞整個測試面部(圖15d)的窗口(按照上述那樣分成相應的塊)上訓練該系統(tǒng),以便產生“全面部”直方圖數據,并且還在一個擴展尺度的窗口上訓練該系統(tǒng),以便僅僅包括測試面部的中心區(qū)域(圖15e),以便產生“放大”直方圖數據。這產生兩個直方圖數據集。一個集合涉及圖15d的“全面部”窗口,而另一個則涉及圖15e的“中心面部區(qū)域”窗口。
在檢測階段,對于任意給定的測試窗口536,將該窗口應用到測試圖像的兩種不同尺度上,以便在一種情況下(圖15f)測試窗口環(huán)繞整個面部的期望尺寸,而在另一種情況下(圖15g)測試窗口包圍那個期望尺寸處的面部中心區(qū)域。這每一個按照上述那樣處理,與分別適合于該窗口類型的直方圖數據集比較。在進行與一閾值的比較之前,將來自每個并行處理的對數概率相加。
將多尺度面部檢測的這兩個方面放在一起,使得需要存儲的數據量特別巨大的節(jié)省。
具體地說,在這些實施例中,對于圖15a-15c的排列的多尺度以幾何序列排列。在本示例中,該序列中的每種尺度與該序列中的相鄰尺度相差因子 然后,對于參考圖15d-15g描述的并行檢測,對于更大的尺度、中心區(qū)域,利用與該序列中高3級的尺度有關的屬性數據,以該序列中高3級的尺度進行檢測,也就是說,是“全面部”尺度的23/4倍。因此,除了多尺度范圍的極端情況外,幾何級數意味著圖15d-15g的并行檢測總是能夠利用關于另一個在該序列中高3級的多尺度產生的屬性數據來實現。
這兩種處理(多尺度檢測和并行尺度檢測)可以按照各種方式組合。例如,圖15a-15c的多尺度檢測過程可以首先被應用,然后在該多尺度檢測過程中識別出的區(qū)域(和尺度)上應用圖15d-15g的并行尺度檢測過程。然而,屬性數據的方便而有效的使用可以按照下列方式實現●導出關于每種尺度的測試窗口的屬性(如圖15a-15c)●將這些屬性與“全面部”直方圖數據比較,以產生距離映像的“全面部”集合
●將這些屬性與“放大”直方圖數據比較,以產生“放大”距離映像的集合●對每種尺度n,將尺度n的“全面部”距離映像與尺度n+3的“放大”距離映像組合●按照上述參考圖15a-15c所述,從所組合的距離映像中導出面部位置可以執(zhí)行進一步的并行測試來檢測不同的姿勢,諸如正面直視、部分向上看、向下看、向左看、向右看等。在此,需要直方圖的各自的集合并且最好使用“max”函數組合這些結果,也就是說,給出最高概率的姿勢被與閾值比較,其它被放棄。
多尺度的改進使用面部檢測算法提供多個尺度的多個概率映像;要求是發(fā)現概率超過給定閾值的圖像中的所有位置,而保證沒有重疊的面部。
上述方法的缺點是必須儲存所有尺度的概率映像的整個集合,這需要一個很大的存儲器。下列技術不需要同時儲存所有概率映像。
概括說來,是維護一個候選面部位置臨時列表。當計算關于每個尺度的概率映像時,找出概率最大值,并與該候選面部位置列表比較,以保證不存在重疊面部。
詳細地說,當可能存在面部時,這種方法使用面部列表來維護當前位置列表。面部列表中的每個面部具有一個面部位置和一個面部尺寸。該閾值是這樣一個概率閾值,在其上的一個對象被認為是面部。尺度因子是連續(xù)尺度之間的尺寸系數(在本實施方案中為1.189207115或 )。
在下述示例描述中考慮16×16面部尺寸。
該過程被示意性地圖解在圖16的流程中。
參考圖16,在步驟1400中該過程關于尺度之一(在所示出的示例中為最小尺度)開始。步驟1400發(fā)生的第一次面部列表是空的,但一般來說,對于面部列表中的所有面部,在步驟1400中通過將各自的面部尺寸乘以尺度因子來修改每個面部的面部尺寸。這保證了關于前一尺度檢測的面部是正確地被按大小排列,以便與當前尺度中的任何最大值有效比較。
在步驟1410中,在當前映像中檢測最大概率值mp。
在步驟1420中,將該最大概率值mp與閾值比較。如果mp大于該閾值,則控制轉到步驟1430。另一方面,如果mp不大于該閾值,則在步驟1440中啟動下一個映像(對應于要處理的下一個尺度因子)的處理。
返回步驟1430,如果最大值mp在當前尺度的概率映像中的位置與面部列表(考慮在步驟1400中導出的修改尺寸)中的一個面部重疊(一致),那么,將控制傳遞到步驟1450。如果不是這樣,則將控制傳遞到1460。
在步驟1450中,將值mp與關于存在的面部的所存儲的概率值比較。如果mp大于那個概率,則在步驟1470中刪除該存在的面部,并且在面部列表中創(chuàng)建與mp的當前值和位置對應的一個新的項。具體地說,在面部列表中,關于該新項存儲值mp并且在步驟1480中將以當前最大概率的圖像位置為中心的16×16像素區(qū)域設置成該閾值。在步驟1490中,將最大概率值的當前位置添加到具有面部尺寸為16的面部列表中。然后,將控制返回步驟1410。
返回步驟1460,如果檢測到最大概率位置不與面部列表中的任何面部重疊(在步驟1430),則在面部列表中創(chuàng)建一個新的項。如上所述,在步驟1460中,存儲值mp并且將環(huán)繞當前最大值的16×16區(qū)域設置成該閾值。在步驟1465中,將當前最大位置添加到具有面部尺寸為16的面部列表并且將控制返回的步驟1410。
如果在步驟1450中檢測到最大概率值mp不大于存在(重疊)的面部的概率,則將控制傳遞到步驟1455,其中將存在的面部區(qū)域設置成該閾值,并且將控制返回到步驟1410。
在這些步驟的每一個中,當控制返回到步驟1410時,再次檢測一個最大概率值mp,但是這將根據在步驟1460、1455和1480中對環(huán)繞檢測到的面部的的概率值的修改。因此,在這些步驟中所創(chuàng)建的修改值事實上將不會通過步驟1420的測試,因為設置成等于閾值的值將發(fā)現不超過它。相應地,步驟1420將確定是否有另一個位置存在于閾值被超過的校正映像中。
這種方法的好處在于它允許單獨考慮概率映像的每個尺度。只有面部列表需要在處理每個尺度之間被存儲。這有下列優(yōu)點
·較少存儲器需要不需要存儲概率映像的整個集合。只有面部列表需要存儲,這需要很少的存儲器。
·允許臨時抽選該算法可以使用諸如臨時抽取的方法,對于一幀的處理在幾個時隙之間分配,并且在每個時隙只處理尺度的一個子集。這種方法現在可以在只需要在每次調用之間保持一個面部列表時,而不是到目前為止所計算的整個概率映像集的情況下使用。
·允許更快地搜索一次僅僅考慮一種尺度。因此,當每次發(fā)現最大值時,我們不需要消除在概率映像集中的跨越所有尺度的區(qū)域。
變化檢測在面部檢測不得不實時運行的情況下,難以在允許的時間-例如,視頻信號的一幀周期內完成所有的面部檢測處理。
改變檢測過程用于檢測圖像的哪一個區(qū)域自從前一幀以來已經發(fā)生改變,或者至少從面部檢測過程中去除自從前一幀以來檢測到的沒有發(fā)生改變的某些區(qū)域。
自從前一幀以來沒有發(fā)生改變的圖像區(qū)域不需要對它們再次進行面部檢測,因為結果有可能是和前一幀的結果相同。然而,已經發(fā)生改變的圖像區(qū)域需要對它們重新執(zhí)行面部檢測。這些圖像區(qū)域在變化檢測期間被標注為“感興趣的區(qū)域”。
在本實施例中,僅僅在單個固定尺度(例如,面部檢測中使用的原始圖像尺度或最大尺度)進行改變檢測。該過程在圖17中示出,圖17中示意性示出了一個運動檢測器。
首先通過低通濾波器處理當前和先前的幀。然后這兩幀被提供給差分器1120以便產生一個幀差別圖像,例如,幀之間的絕對像素(或塊)差別的表示,每個像素(或塊)位置一個差別值。然后,該差別圖像的絕對值通過與一個閾值Thrdiff比較來被限定1130,以便創(chuàng)建二進制差別圖像,即一位值陣列(每個象素(或塊)一個值)即非常小的差別被設置成0(沒有變化),而較大的差別被設置成1(檢測的變化)。最后,對該二進制差別圖像執(zhí)行1140一種形態(tài)學開運算(opening operation),以創(chuàng)建更多的檢測到的改變/運動的鄰接區(qū)域。
在實踐中,可以省略低通濾波操作。
形態(tài)學開運算是已知的圖像處理技術,在這個實例中是在3×3(即3×3塊被用作形態(tài)學結構元素)區(qū)域上進行,并且包括其后跟隨著形態(tài)學膨脹運算的形態(tài)學侵蝕運算。為了在基本上是基于光柵的系統(tǒng)中運行這種運算,在每隔2行的處理之后,進行該形態(tài)學處理。
如上所述,變化檢測可以應用到整個圖像,以創(chuàng)建已經檢測到改變的圖像的區(qū)域的映像。面部檢測被應用到這些區(qū)域。
或者,改變檢測可以用于從面部檢測中消除圖像的某些區(qū)域,雖然不需要檢測所有運動的區(qū)域或“無運動”的區(qū)域。這種技術有利于減少變化檢測過程的處理要求,同時在處理面部檢測本身時仍然能潛在地提供有效的節(jié)約。這種處理的示意性示例被圖解在圖18a-18e中。
在圖18a中,變化檢測被應用在光柵掃描裝置中,在其中(像素或塊)的水平線掃描1150是從圖像的左上至右下。使用在圖像17中示出的基本過程(沒有形態(tài)學處理并且優(yōu)選沒有低通濾波),并且將該圖像與先前的圖像比較。在每個掃描點,將所檢測到的絕對差別與閾值Thrdirr比較。
掃描1150繼續(xù)直到關于一個掃描位置1160的所檢測到的絕對差別超過閾值Thrdirr。在這一點掃描1150終止。
進行3種類似的掃描1170、1180、1190。掃描1170是開始于圖像底部的水平掃描,并且當掃描位置1200引起絕對差別值超過閾值Thrdirr時終止。掃描1180是開始于圖像左側的向下垂直掃描,并且當掃描位置1210引起絕對差別值超過閾值Thrdirr時終止。掃描1190是開始于圖像右側的向下垂直掃描,并且當掃描位置1220引起絕對差別值超過閾值Thrdirr時終止。
在圖18e中,四個點1160、1200、1210、1220限定了一個邊界框1230。具體地說,如果點nnnn的圖像坐標是(xnnnn,ynnnn),那么邊界框1230的四個頂點被給定如下

因此,邊界框不限定其中已經檢測到改變的圖像的所有區(qū)域,而是限定被從面部處理中排除的區(qū)域(邊界框以外),因為在這里沒有檢測到變化。對于邊界框內的區(qū)域,有可能所有這些區(qū)域已經改變,但最常見的情況是這些區(qū)域中的一部分已經改變而另一部分沒有改變。
當然,這種技術有幾種排列(a)執(zhí)行4次搜索的順序;(b)執(zhí)行每次搜索的方向(每個圖中的箭頭可以是反向的,而算法的效果沒有改變);(c)掃描是否順序進行(一個掃描接著另一個掃描)或平行進行(兩個或多個掃描同時進行);在圖19a-19c示意性地示出的變化中,兩個垂直掃描1180’和1190’只對于沒有被兩個水平掃描1150和1170消除的那些行1240進行。這種變化可以降低處理需求。
上述變化檢測技術可以與下述面部檢測技術合作地很好。從圖像的四個極端(邊緣)開始進行變化檢測,當任何一側檢測到變化時停止。于是,除了每一個變化檢測過程的潛在的最終像素(或塊)或部分行/列,變化檢測只關于沒有準備經受面部檢測的那些圖像區(qū)域進行。類似地,除了最終像素、塊或部分行/列以外,面部檢測只關于還沒有經受變化檢測過程的那些區(qū)域進行。記住,變化檢測比面部檢測使用較少處理器,在這兩種處理方法之間只有相對微小的重疊(幾乎在所有的情況下),變化檢測的使用將減少一個圖像的整個處理要求。
將變化檢測的一種不同方法應用于運動編碼信號,諸如MPEG-編碼的信號,或那些已經預先以這種形式編碼并且為面部檢測解碼的信號。與所述信號相關的運動向量等可以指示哪里發(fā)生了圖像內改變。在每個運動向量的終點(當前圖像)處的塊(例如MPEG宏塊)可以標記為變化的區(qū)域??梢赃@樣做來代替上述變化檢測技術,或者在改變檢測技術之外再這樣做。
如下描述另一種降低處理需求的方法。將面部檢測算法分成許多階段,這些階段在很多尺度上重復。這種算法僅僅在n次呼叫后完成。該算法自動分割從而使每次呼叫占用幾乎相等的時間。這種方法的關鍵特征在于·該方法使用自動方法將算法分割成占用等量處理時間的段。
·估計每一階段占用的處理時間,從而如果給定階段占用太長時間,則該算法在執(zhí)行該階段之前返回。
·該算法只有在每一階段結束時才能返回;它不能在進行了階段的一部分時返回。這限制了局部存儲所需的量,并簡化了程序流程控制。
·用于每個階段占用處理時間的估計可以從實時測量的定時信息精確化-盡管目前沒有這樣做。
·在每次呼叫結束時可以進行面部跟蹤,從而即使沒有新的面部檢測給出新的面部位置,但皮膚顏色跟蹤將繼續(xù)跟蹤面部。
·或者,只在第n+1次呼叫(完成所有n次面部檢測呼叫之后)時才執(zhí)行跟蹤。這意味著跟蹤以較低速率進行,因此準確性較差,但允許該算法按比例縮小到較短的執(zhí)行時間/每次呼叫,如果需要的話。
下表顯示了對于在6個尺度上的面部搜索執(zhí)行的階段的順序

<p>

圖1是本發(fā)明的光學式金屬辨別裝置的示意圖;圖2示例數種金屬的反射率與波長的關系。
圖中元件符號說明

具體實施方式
圖1是本發(fā)明的光學式金屬辨別裝置10的示意圖。如圖1所示,該光學式金屬辨別裝置10包含一可承載一待測樣品12的載臺14、一可產生至少一窄帶光22的光源模塊20、一用于將該窄帶光22聚焦于該待測樣品12上的透鏡組24、一用于獲取該窄帶光22經該待測樣品12反射后的反射光強度的光傳感器30,以及一用于辨別該待測樣品12所包含的金屬種類的處理單元40。該光源模塊20產生的窄帶光22經該透鏡組24聚焦后可照射于該待測樣品12的一預定區(qū)域上。該窄帶光22的頻寬以小于20nm較好,最好是小于5nm。
該光源模塊20可為一激光光源、一發(fā)光二極管或以一白光光源加上一適當濾光片構成,其中該白光光源可為水銀燈、鹵素燈、金屬鹵素燈或氙氣燈等。該光源模塊20最好是激光光源。該透鏡組24可由一聚焦透鏡組或一柱型透鏡組構成,用于將該光源模塊20產生的光束聚焦于該待測樣品12上。該光傳感器30可為一電荷耦合感測元件,其可感測該窄帶光22經該待測樣品12上預定區(qū)域反射后的反射光強度,并據以產生該預定區(qū)域的反射光強度分布影像。該處理單元40可包含一影像辨別軟件,其可根據該光傳感器30產生的反射光強

有可能預先計算總的處理,因為所有尺度需要18872處理單元。這意味將處理分成4個等量的大塊,則系統(tǒng)在每一呼叫必須執(zhí)行大約4718個處理單元。
在執(zhí)行每一階段之前,系統(tǒng)計算所需的累積處理單元的數目是否將其帶到一些預先安排的水平(例如5300)。如果這樣,則不執(zhí)行該階段而返回。這比定時的優(yōu)勢在于在做某事前預先知道其會不會超出分配的時間。
空間抽取空間抽取是另一種可用于減少關于每個圖像的處理要求的技術。下面將描述空間抽取的兩個實例一個方法搜索水平條紋中的圖像,另一個以稀疏方式搜索圖像。
盡管可以使用任何種類的劃分(矩形的、垂直條紋等),但是因為考慮到處理水平條紋更有效,因此選擇了水平劃分條紋。
也能夠以稀疏方式控制空間抽取。這不如使用條紋那樣有效,但由于在每次該算法被呼叫時都可以在整個圖像中的任何地方檢測到面部,因此可以給出更好的結果。
圖20a-20c示意性地示出了條紋技術。在圖20a中,沒有使用空間抽取,并且整個圖像1300經受面部檢測。在圖20b中,圖像被分裂成兩部分1310、1320。它們分別在交替的圖像中經受面部檢測。在圖20c中,圖像被分裂成三部分1330、1340、1350,以便每個部分經受面部檢測(每三個圖像中有一個)。所述部分可以是獨立的或可以略微重疊。
圖21a-21d示意性地示出了所謂稀疏空間抽樣。
三個變量定義如下稀疏X是在水平方向中的抽取度。如果稀疏X=1,則沒有水平抽取。如果稀疏X=2,則每一個圖像的交替的像素或塊經受面部檢測,從而使任何一個象素或塊位置在每兩個圖像中經歷一次面部檢測,等等。
稀疏Y是在垂直方向中的相同的抽樣度。
UseChequerBoard如果抽取在連續(xù)的行和列中排列,則設置為0,如果是連續(xù)的行或列(或行/列的組)之間的偏移,則設置為1。
圖21a-21d的實例如下所示

可以使用空間和臨時抽取的組合。例如,圖像的離散空間部分(例如圖像的三分之一)可以在很多幀上處理。以這種方式處理的部分(例如三個三分之一)可以來自相同的圖像或分別來自不同的圖像。
面部跟蹤下面將描述面部跟蹤算法。跟蹤算法旨在改善在圖像序列中的面部檢測性能。
跟蹤算法的最初目的在于檢測圖像序列的每一幀中的每一個面部。然而,認識到有些時候在序列中的面部沒有被檢測。在這些情況下,跟蹤算法有助于穿過丟失的面部檢測內插。
最終,面部跟蹤的目標是能夠從屬于圖像序列中相同場景的每一組幀輸出一些有用的元數據。這可以包括·面部的數目。
·每個面部的“面部照片(Mugshot)”(一個人的面部圖像的俗語,得自警察檔案照片中的術語)。
·每個面部首次出現的幀數。
·每個面部最后一次出現的幀數。
·每個面部的特性(要么與前一場景中所見的面部匹配,要么與面部數據庫匹配)-這也需要一些面部識別。
該跟蹤算法利用面部檢測算法的結果,在圖像序列的每一幀上獨立地運行,如它的開始點一樣。由于面部檢測算法在有時會丟失(未檢測)一些面部,因此,內插丟失的面部的一些方法是有用的。為此,使用Kalman過濾器以預測面部的下一個位置,并且使用皮膚顏色匹配算法以有助于面部跟蹤。另外,由于面部檢測算法常常引起假接受,排斥這些的一些算法也是有用的。
該算法示意性地顯示在圖22中。
下面將向詳細描述該算法,但總之,將輸入視頻545(代表圖像序列)供應給這個申請中所述類型的面部檢測器和皮膚顏色匹配檢測器550。所述面部檢測器試圖檢測每個圖像中的一個或多個面部。當檢測到面部時,建立Kalman過濾器560來跟蹤那個面部的位置。Kalman過濾器為該序列中的下一圖像中的同一面部產生預測位置。眼睛位置比較器570、580檢測面部檢測器540是否在所述下一圖像中的那個位置(或那個位置的某個閾值距離內)處檢測到面部。如果被發(fā)現事實如此,則將所檢測到的面部位置用于更新Kalman過濾器,并且繼續(xù)該過程。
如果在或接近所述預測位置沒有檢測到面部,則使用皮膚顏色匹配檢測器550。這是一種精度較低的面部檢測技術,它被設置成具有比面部檢測器540更低可接受閾值,因此即使當面部檢測器不能在那個位置作為正檢測時也可能使用皮膚顏色匹配技術檢測(考慮是什么)面部。如果由皮膚顏色匹配檢測“面部”,將其位置作為更新后的位置傳遞給Kalman過濾器,并且繼續(xù)該過程。
如果面部檢測器450或皮膚顏色檢測器550都沒有發(fā)現匹配,則使用預測位置更新Kalman過濾器。
這些全部結果受接受的判據(參見如下)控制。因此,例如將拒絕這樣的面部,該面部基于一個正檢測在整個序列中被跟蹤,其余的作為預測或者將其余的作為皮膚顏色檢測。
獨立的Kalman過濾器用于在跟蹤算法中跟蹤每一個面部。
為了使用Kalman過濾器跟蹤面部,必須創(chuàng)建代表面部的狀態(tài)模型。在這種模型中,每個面部的位置由包含左和右眼睛的坐標的四維向量表示,它反過來與由針對窗口的中心位置的預定的關系和正被使用的尺度導出p(k)=FirstEyeXFirstEyeYSecondEyeXSecondEyeY]]>
其中k是幀數。
面部的當前狀態(tài)由其位置、速度和加速度以12維向量表示z^(k)=p(k)p&CenterDot;(k)p&CenterDot;&CenterDot;(k)]]>檢測到的第一面部所述跟蹤算法不做任何事,直至它接收一幀,伴隨該幀的面部檢測結果顯示有面部出現。
然后,對在這一幀中的每個檢測到的面部初始化Kalman過濾器。
其狀態(tài)由所述面部位置、零速度與加速度初始化z^a(k)=p(k)00]]>它也被指派了某些其他特性狀態(tài)模型誤差協(xié)方差Q和觀察誤差協(xié)方差R。也初始化Kalman過濾器的誤差協(xié)方差P。這些參數在下面詳細描述。在跟著的幀和每一個后續(xù)幀的開頭,運行Kalman過濾器預測過程。
Kalman過濾器預測過程對于每個存在的Kalman過濾器使用以下示出的標準Kalman過濾器預測方程預測面部的下一個位置。過濾器使用前一狀態(tài)(在幀k-1)以及某些其它內部和外部變量來估計過濾器的當前狀態(tài)(在幀k)。
狀態(tài)預測方程z^b(k)=&Phi;(k,k-1)z^a(k-1)]]>協(xié)方差預測方程Pb(k)=Φ(k,k-1)Pa(k-1)Φ(k,k-1)T+Q(k)
其中 表示更新幀k的過濾之前的狀態(tài), 表示更新幀k-1的過濾之后的狀態(tài)(或者初始化的狀態(tài),如果是新濾波器的話),φ(k,k-1)是狀態(tài)轉移矩陣。如下所述,狀態(tài)轉移矩陣是經過實驗獲得的。類似地,Pb(k)表示更新幀k的過濾之前的過濾器的誤差協(xié)方差,Pa(k-1)表示更新前一幀的過濾之后的過濾器的誤差協(xié)方差(或者初始化的狀態(tài),如果是新濾波器的話)。Pb(k)可以被認為是過濾器中模擬其精度內部變量。
Q(k)是該狀態(tài)模型的誤差協(xié)方差。Q(k)的高值意味著過濾器的狀態(tài)的預測值(即面部的位置)將被假定具有高電平的誤差。通過調整這個參數,可以改變并且針對面部檢測潛在地改進濾波器的行為。
狀態(tài)轉變矩陣狀態(tài)轉變矩陣φ(k,k-1)確定怎樣產生下一個狀態(tài)的預測。使用關于運動的方程可以導出關于φ(k,k-1)的下列矩陣&Phi;(k,k-1)=I4I4&Delta;t12I4(&Delta;t)2O4I4I4&Delta;tO4O4I4]]>其中,O4是4×4的零矩陣,而I4是4×4的單位矩陣。Δt可以被簡單地設置成1(即t的單位是幀周期)。
這種狀態(tài)轉移矩陣模擬位置、速度和加速度。然而,發(fā)現當沒有任何面部檢測可用來校正所述預測狀態(tài)時,加速度的使用傾向于使得面部預測朝著圖片的邊緣加速。因此,最好選擇不使用加速度的較簡單的狀態(tài)轉變矩陣&Phi;(k,k-1)=I4I4&Delta;tO4O4I4O4O4O4O4]]>所預測的每一個Kalman過濾器的眼睛位置 被與當前幀中的所有面部檢測結果(如果有的話)比較。如果眼睛位置之間的距離低于給定的閾值,則假定所述面部檢測屬于與Kalman過濾器模擬的相同的面部。然后,將面部檢測結果處理成面部的當前狀態(tài)的觀察y(k)y(k)=p(k)00]]>其中p(k)是面部檢測結果中的眼睛的位置。這種觀測在Kalman過濾器更新階段來幫助校正所述預測期間使用。
皮膚顏色匹配皮膚顏色匹配不用于成功地匹配面部檢測結果的面部。面部顏色匹配僅僅對其位置已經由Kalman過濾器預測但在當前幀沒有匹配的面部檢測結果的面部執(zhí)行。
在第一種技術中,從先前的幀中提取中心在面部的先前位置上的橢圓。在面部窗口610中的這種區(qū)域600的示例被示意性地示出在圖24中?;诟咚鼓P?,使用這個區(qū)域的色度數據種植色彩模型以產生Cr和Cb值的平均值和協(xié)方差的估計。
然后搜索圍繞當前幀的預測面部位置的區(qū)域,并且選擇最好地匹配色彩模型、再在橢圓區(qū)域上平均的位置。如果色彩匹配滿足給定的相似性判據,則這個位置以在前一部分中關于面部檢測結果所描述的同樣方式,用作面部的當前狀態(tài)的觀察y(k)。
圖23a和23b示意性地圖解了搜索區(qū)域的產生。具體地說,圖23a示意性地圖解了下一圖像630中的面部的預測位置620。在皮膚顏色匹配中,在環(huán)繞下一圖像中的預測位置620的搜索區(qū)域640中搜索面部。
如果顏色匹配不滿足相似性判據,則對當前幀沒有可靠的觀察數據可用。相反,預測狀態(tài) 被用作觀察y(k)=z^b(k)]]>上述皮膚顏色匹配方法使用簡單的高斯皮膚色彩模型。這個模型被種植在中心位于前一幀的面部的橢圓區(qū)域,并用于在當前幀中找出最佳匹配橢圓區(qū)域。然而,為了提供潛在的更高的性能,開發(fā)另外兩種方法顏色直方圖方法和顏色掩蔽方法。它們將在以下被描述。
顏色直方圖方法在這種方中,不使用高斯模型來模擬所跟蹤的面部中的顏色分布,而是用顏色直方圖。
對于前一幀中每一個所跟蹤的面部,計算該面部周圍的方塊窗口中的Cr和Cb值的直方圖。為此,對于每個像素Cr和Cb值首先被組合成單個值。然后,計算直方圖,該直方圖測量整個窗口中的這些值發(fā)生的頻率。因為所組合的Cr和Cb值的數量較大(256×256個可能的組合),這些值在計算直方圖之前被量化。
由于已經為在前一幀所跟蹤的面部計算了直方圖,在當前幀中使用該直方圖以試圖通過找出具有最相似的顏色分布的圖像區(qū)域來估計面部的最可能的新位置。如圖23a和23b所示意性地示出,這通過以與當前幀的搜索區(qū)域內的窗口位置的范圍同樣方式計算直方圖來實現。該搜索區(qū)域覆蓋圍繞所預測的面部位置的給定區(qū)域。然后,通過計算關于先前幀中所跟蹤的面部的原始直方圖和當前幀中每一個直方圖之間的均方誤差(MSE)來比較這些直方圖。當前幀中面部的估計位置由MSE最小的位置給定。
可以對這種算法作出各種修改,包括·使用三個通道(Y,Cr和Cb)代替兩種通道(Cr,Cb)。
·改變量化級的數量。
·將窗口劃分為塊并為每一塊計算直方圖。以這種方式,顏色直方圖方法變成與位置有關。在這種方法中,將每對直方圖之間的MSE相加。
·改變窗口分割成的塊數。
·改變實際使用的塊-例如,省略可能僅僅部分地包括面部像素的外部塊。
對于使用在這些技術中的經驗試驗中的測試數據,使用下列條件達到最好的結果,雖然其它條件集合可以用不同的測試數據提供同樣良好或更好的結果·3通道(Y,Cr和Cb)。
·每個通道8個量化級(即直方圖包括8×8×8=512個倉)。
·將窗口劃分成16個塊。
·使用所有16個塊。
彩色掩蔽方法該方法基于上面首先描述的方法。它使用Gaussian皮膚色彩模型來描述面部中像素的分布。
在上面首先描述的方法中,使用中心在面部的橢圓形區(qū)域來顏色匹配面部,因為這可以減低或最小化有損于該模型的背景像素的量。
在本顏色掩蔽模型中,一個類似的橢圓形區(qū)域仍然被用來在先前幀的原始跟蹤的面部上種植彩色模型,例如,通過應用RGB或YCrCb的均數和協(xié)方差來設置Gaussian模型的參數(或者,可以使用諸如Gaussian模型的默認色彩模型,見以下)。然而,在當搜索當前幀中的最佳匹配時沒有使用它。取而代之的是根據前一幀的原始面部窗口中的像素分布來計算掩蔽面積。通過發(fā)現最匹配該色彩模型的窗口中的50%的像素來計算該掩蔽。圖25a-25c顯示了一個實例。具體地說,圖25a示意性地顯示了測試中的初始窗口;圖25b示意性地顯示了用于種植該色彩模型的橢圓形窗口;圖25c示意性地顯示了由與色彩模型最接近匹配的像素的50%限定的掩蔽。
為了估計在當前幀中的面部的位置,搜索圍繞預測面部位置的搜索區(qū)域(如前所述)并且對每一像素計算與該色彩模型的“距離”。該“距離”是指與平均數的差別,該平均數在每個維度上被該維度上的變化歸一化。圖26顯示了所得距離圖像的實例。對于該距離映像中的每個位置(或為了減少計算時間,對于減少的抽樣位置集合),距離圖像的像素在掩蔽形狀的區(qū)域上平均。然后,具有最低平均的距離的位置被選做這一幀中面部位置的最佳估計。
因此,該方法與原始方法之不同在于在距離圖像中使用掩蔽形狀的區(qū)域,而不是橢圓形區(qū)域。這允許使顏色匹配方法可使用顏色和形狀兩種信息。
建議兩種變化并將其用于該技術的經驗性試驗中(a)使用中心在前一幀中的跟蹤面部上的橢圓形區(qū)域的Cr和Cb的均數和協(xié)方差來種植Gaussian皮膚色彩模型。
(b)使用默認Gaussian皮膚色彩模型來計算在前一幀中的掩蔽和計算當前幀中的距離圖像。
下面將進一步描述Gaussian皮膚色彩模型的使用。使用YCbCr色彩空間的色度成分來建立用于皮膚顏色分類的Gaussian模型。然后可以測量測試像素與皮膚顏色分類的相似性。因此,該方法獨立于基于本征面部的方法,提供每一像素的皮膚顏色相似性估計。
使w作為測試像素的CbCr值的向量。通過二維-Gaussian建立屬于皮膚顏色分類S的w的概率模型p(w|S)=exp[-12(w-&mu;s)&Sigma;s-1(w-&mu;s)]2&pi;|&Sigma;s|12]]>其中該分布的均數μs和協(xié)方差矩陣∑s是(先前)根據皮膚顏色值的訓練集估計的。
當僅僅單獨使用時,皮膚顏色檢測并不被認為是有效的面部檢測。這是由于在圖像中存在許多類似于皮膚顏色但并不一定是面部的區(qū)域,例如,身體的其他部分。然而,它可通過使用關于本面部跟蹤系統(tǒng)描述的聯(lián)合方法來改善基于本征塊方法的性能。存儲就是否接受面部檢測的眼睛位置或顏色匹配的眼睛位置作為Kalman過濾器的觀測值,或是否不接收任何觀測值所作出的決定。這些在以后使用以評估由每個Kalman過濾器建立的面部模型的進行中的有效性。
下面將參考圖27和28描述色彩掩蔽方法的變化。
Kalman過濾器更新步驟更新步驟用于根據狀態(tài)預測和觀察數據來確定用于當前幀的過濾器的適宜的輸出。它也基于預測的狀態(tài)和觀察到的狀態(tài)之間的誤差來更新過濾器的內部變量。
在更新步驟中使用下列方程Kalman增益方程K(k)=Pb(k)HT(k)(H(k)Pb(k)HT(k)+R(k))-1狀態(tài)更新方程
z^a(k)=z^b(k)+K(k)[y(k)-H(k)z^b(k)]]]>協(xié)方差更新方程Pa(k)=Pb(k)-K(k)H(k)Pb(k)這里,K(k)代表Kalman增益,Kalman過濾器的另一個內部變量內部。它被用來基于觀察到的狀態(tài)y(k)來確定預測的狀態(tài)應該調整多少。
H(k)是觀察矩陣。它確定狀態(tài)的哪一部分可被觀察。在我們的例子中,只有面部的位置可以觀察,而不是其速度或加速度,所以對H(k)使用下列矩陣H(k)=I4O4O4O4O4O4O4O4O4]]>R(k))是觀察數據的誤差協(xié)方差。以類似于Q(k)的方式,R(k))的高值意味著觀察到的過濾器狀態(tài)的值(即面部檢測結果或顏色匹配)將被假設具有高的誤差級別。通過調整該參數,可以改變并可能改善面部檢測的過濾器的行為。對于我們的實驗,發(fā)現相對于Q(k)較大的R(k))值是適當的(這意味著預測的面部位置被認為比觀察更可信)。注意從一幀到另一幀改變這些參數是允許的。因此,將來研究的感興趣的領域可能是根據觀察是基于面部檢測結果(可靠)還是顏色匹配(可靠性略差)來調整R(k))和Q(k)的相對值。
對于每個Kalman過濾器,將更新狀態(tài) 用作面部位置的最終決定。該數據被輸出到文件并存儲。
不匹配的面部檢測結果被視作新面部。對于這些中的每一個初始化Kalman過濾器。這樣的面部被除去·離開圖片的邊緣和/或·缺乏支持它們的正在進行的證據(當基于Kalman過濾器預測而不是面部檢測結果或顏色匹配的觀察的比例高時)對于這些面部,除去相關的Kalman過濾器并且沒有數據被輸出到文件。作為該方法的可選擇的差異,其中檢測到面部離開圖片,至其離開該圖片之前的幀的跟蹤結果可以被存儲并作為有效面部跟蹤結果處理(條件是這些結果滿足應用到有效跟蹤結果的其它標準)。
可以引入其它一些變量使這些規(guī)則正式化并建立起來預測_接受_ 如果在跟蹤一個給定面部期間,接受的比例_閾值 Kalman預測面部位置的比例超過該閾值,則丟棄所跟蹤的面部。
當前這被設置為0.8檢測_接受_ 在最終通過所有幀期間,如果對于給定的面比例_閾值 部,接受的面部檢測的比例落在該閾值以下,則拒絕跟蹤的面部。
當前這被設置為0.08最少幀 在最終通過所有幀期間,如果面部的出現數少于最少幀,則拒絕該面部。這僅可能發(fā)生在接近序列的結束時。
最小幀當前被設置為5。
最終_預測_ 在最終通過所有幀期間,如果給定的跟蹤面接受_比例_ 部的出現數小于最少幀2,并且接受的Kalman預閾值和最少 測的面部位置的比例超過最終_預測_接受_比例_幀2 閾值,則該面部被拒絕。同樣,這僅僅可能發(fā)生在序列的結束時。
最終_預測_接受_比例_門限當前設置為0.5,且最少幀2當前設置為10。
最小眼間距 另外,如果面部被跟蹤到眼睛間距下降到給定的最小距離以下,則該面部被除去。這可發(fā)生在如果Kalman過濾器錯誤地相信眼睛距離變小,并且沒有其他證據,例如面部檢測結果來校正這一假設的情況下。如果沒有校正,眼睛距離最終將變成零。作為選擇性的可替換方案,可以強制規(guī)定眼睛間隔的最小或下限,從而當檢測到眼鏡的間隔減少到最小眼睛間隔時,檢測處理繼續(xù)以搜索具有該眼睛間隔而不是更小的眼睛間隔的面部。
應當注意的是,跟蹤處理不限于通過視頻序列以向前時間方向跟蹤。假定圖像數據保持為可存取的(即該處理不是實時的,或圖像數據被緩沖用于臨時繼續(xù)使用),整個跟蹤處理可以以反時間方向執(zhí)行?;蛘?,當執(zhí)行第一面部檢測時(通常在視頻序列的中途),跟蹤處理可以在兩個時間方向上啟動。作為進一步的選擇,跟蹤處理可以通過視頻序列在兩個時間方向進行,組合結果,從而(例如)使?jié)M足接受標準的被跟蹤的面部作為有效結果被包括,而不管跟蹤發(fā)生在哪個方向。
下面將描述可應用于面部跟蹤的進一步的一些規(guī)則。
開始/維護面部跟蹤的備選的/另外的規(guī)則在上述方法中,對每一個不能與現有跟蹤匹配的面部檢測啟動面部跟蹤。這可能導致在最終被現有規(guī)則之一(例如預測_接受_比例_閾值)拒絕之前,許多誤檢測被錯誤地跟蹤并持續(xù)好幾楨。
同樣,用于拒絕跟蹤的規(guī)則(例如預測_接受_比例_閾值,檢測_接受_比例_閾值)對跟蹤將他們的頭偏向一側相當長時間的人不重視。實際上,跟蹤這樣做的人常常是有用的。
該方案的第一部分有助于避免由于開始錯誤跟蹤導致的誤檢測。
對與現有跟蹤不匹配的每個面部檢測仍然從內部開始面部跟蹤。然而,它不從算法輸出。
為了維持這個跟蹤,在跟蹤中的第一f幀必須是面部檢測(即D型)。如果所有第一f幀都是D型,則保持跟蹤并且面部位置從幀f向前從該算法中輸出。如果所有的第一n幀都不是D型,則終止面部跟蹤,并且從該跟蹤中沒有輸出任何面部位置。F典型地被設置為2,3或5。
該方案的第二部分允許輪廓中的面部被長期跟蹤,而不因為低的檢測_接受_比例,預測_接受_比例_閾值和檢測_接受_比例_閾值在這種情況中沒有開始而終止對它們的跟蹤。相反,包括下列標準的選擇用以維持面部跟蹤每n個幀需要g個連續(xù)的面部檢測以維持面部跟蹤,其中g通常被設置為與f相似的值,例如,1-5幀,且n相應于我們希望能夠跟蹤某位離開照相機(例如10秒(=250或300幀,依賴于幀頻))的人所用的幀的最大數目。這也可以與預測_接受_比例_閾值和檢測_接受_比例_閾值規(guī)則相結合?;蛘撸梢詫㈩A測_接受_比例_閾值和檢測_接受_比例_閾值應用于循環(huán)制(rolling basis),例如僅在最后的30幀上,而不是從跟蹤開始起。
色澤不正閾值規(guī)則在上述方法中,面部的皮膚顏色僅僅在皮膚顏色跟蹤期間才被檢查。這意味使用預測面部位置,可能跟蹤到非皮膚色的錯誤檢測,或者面部跟蹤可能偏離到非皮膚色的位置。
為了解決這一問題,不論面部的接受類型如何(檢測、皮膚顏色或Kalman預測),皮膚顏色都要被檢查。如果它與皮膚顏色的距離超過色澤不正閾值,則終止面部跟蹤。
執(zhí)行這種方案的一個有效方法是使用在皮膚顏色跟蹤期間計算的與每個像素的皮膚顏色的距離。如果該測量在面部區(qū)域(根據所使用的皮膚顏色跟蹤方法,在掩蔽形狀區(qū)域、橢圓形區(qū)域或在整個面部窗口)的平均值超過固定的閾值,則面部跟蹤終止。
感興趣的映像的區(qū)域的驗證在這里描述的其它方法中,使用感興趣的預處理器的區(qū)域以查明該圖像的那些區(qū)域具有不像面部的變化。在每一尺度重復這一過程,然后這些區(qū)域被從面部檢測處理中省略。然而,還有一個可能是將皮膚顏色跟蹤的或Kalman預測的面部移動進入(非面部樣)低或高圖像變化區(qū)域。
為處理該問題,在變化預處理期間,存儲圍繞現有面部的區(qū)域的變化值(或梯度值)。
當作出(以任何接受類型面部檢測、皮膚顏色或Kalman預測)面部的下一個位置的最終決定時,相對于感興趣的映像的區(qū)域中的存儲變化(或梯度)值驗證該位置。如果發(fā)現該位置有非常高或非常低的變化(或梯度),則其被認為不像面部,并且面部跟蹤終止。這避免了面部跟蹤進入圖像的低(或高)變化背景區(qū)域。或者,再重新計算新的面部位置的變化(如果沒有使用變化-預-處理則有用)。
注意,所用的變化測量可以是傳統(tǒng)變化或鄰近像素的差的和(梯度)或任何其它變化型測量的總和。
示意性地顯示在圖22中的跟蹤系統(tǒng)中,還包括另外三個特征。
鏡頭邊界數據560(來自與測試中的圖像序列相關的元數據;或圖2的照相機內產生的元數據)限定該圖像序列內的每個鄰接“鏡頭”的界限。在拍攝邊界重新設置Kalman過濾器,并且不允許其對后繼的鏡頭進行預測,因為該預測可能是無意義的。
用戶元數據542和照相機設置元數據544被作為輸入提供給面部檢測器540。這些也可以用于非跟蹤系統(tǒng)。上面描述了照相機設置元數據的實例。用戶元數據可以包括諸如以下信息·程序類型(例如新聞、訪談、戲劇);·腳本信息,如“長鏡頭”、“中近景鏡頭”等的說明書(產生預期的面部大小的子范圍的照相機鏡頭的特殊類型),每一鏡頭中包括了多少人(也產生預期的面部大小的子范圍)等等。
·運動相關的信息-經常使用標準視野和鏡頭從固定的照相機位置拍攝運動。通過在元數據中規(guī)定這些,也可以產生面部大小的子范圍。
程序的類型與在圖像或圖像序列中期望的面部的類型相關。例如,在新聞程序中,人們希望在許多圖像序列中看到單一面部,占據屏幕的10%面積(比如說)。不同尺度的面部的檢測可以響應該數據加權,從而使大約具有該尺寸的面部被給出增強的概率。另一個可供選擇哦或另外的方法是減小搜索范圍,從而僅僅在尺度的子集內搜索,而不是在所有可能的尺度內搜索面部。這可以減少面部檢測處理的處理需求。在基于軟件的系統(tǒng)中,軟件可運行得很快和/或在功能稍差的處理器上運行。在基于硬件的系統(tǒng)(包括例如專用集成電路(ASIC)或現場可編程門陣列(FPGA)系統(tǒng))中,對硬件的要求可降低。
上面提到的用戶元數據的其它類型也可以這種方式應用。例如,“預期面部尺寸”的子范圍也可以查找表的方式儲存在存儲器30中。
關于照相機元數據,例如,透鏡110的當前聚焦和縮放設置,這些可以通過給出可能存在于圖像的前景的任何面部的預期圖像大小的初始指示來輔助面部檢測器。在這一方面,注意到它們之間的聚焦和縮放設置限定攝錄機100和被拍攝的人之間的預期間隔,以及透鏡110的放大倍數。從這兩種屬性,根據平均面部大小,有可能在所得圖像數據中計算預期面部尺寸(以像素表示),這也可以產生用于搜索的尺寸的子范圍和預期面部尺寸的加權。
跟蹤算法的優(yōu)點面部跟蹤技術主要有以下三種優(yōu)勢·通過在其中沒有可用的面部檢測結果的幀中使用Kalman過濾器和皮膚顏色跟蹤,允許使丟失的面部被填入。這增加了在整個圖像序列中的真實接受率。
·它提供了面部鏈接通過成功地跟蹤面部,該算法自動地知道未來幀中檢測到的面部屬于同一人還是不同人。因此,場景元數據可以很容易地從該算法中產生,其包括該場景中的面部數、它們出現的幀,并提供每一面部的代表性面部照片。
·誤面部檢測傾向于被拒絕,因為這種檢測傾向于不在圖像間向前進行。
上面所述的實施方案涉及面部檢測系統(tǒng)(包括訓練和檢測階段)及其在攝錄機和編輯系統(tǒng)中的可能應用??梢岳斫馐沁@種技術還有許多其它可能的用途,例如(并不限于)安全監(jiān)視系統(tǒng)、普通處理媒體(諸如視頻磁帶記錄器控制器)、視頻會議系統(tǒng)等。
關于顏色掩蔽技術的變化這些變化可以獨立地應用或者在技術適當的情況下組合應用。
變化1默認高斯皮膚顏色模型被用于計算該圖像中的每個像素的顏色距離值(以給出顏色距離映像)。當檢測到面部時,在掩蔽形區(qū)域上計算其與默認模型的平均距離。當證實未來顏色跟蹤面部(或檢測的面部或Kalman預測的面部)時,如果與默認顏色模型的距離在給定的容限之外變化,則終止面部跟蹤。這意味著(a)相同的顏色距離值可以用于所有面部跟蹤(不需要針對每個面部的不同模型,因為我們使用默認顏色模型而不是種植在面部顏色上),以及(b)如果跟蹤偏離面部到不同的有色背景時,則面部跟蹤終止而不是繼續(xù)。
變化2替代缺省顏色模型,對每一個面部使用不同的顏色模型,當其第一次被檢測到時種植到那個面部的顏色上。然后,當計算出顏色距離映像時,根據前一幀的每個面部的位置,在圖像的不同區(qū)域中使用不同的顏色模型參數。所述顏色距離值可以被作為在兩個面部之間的區(qū)域上的加權和被混合在一起。這允許顏色跟蹤對每個面部的實際顏色上被模擬得更精確,而不需要針對該圖像中的每個像素位置計算多于一個的顏色距離值。
變化3代替缺省顏色模型或每一個面部的不同顏色模型,將通用顏色模型種植在前一幀中的所有檢測到的面部的平均顏色上。
變化4當使用頭部尺寸的平方的窗口搜索顏色距離映像以找出離皮膚顏色的最小平均距離時,掩蔽內的區(qū)域有正貢獻,而掩蔽外的區(qū)域有負貢獻。這意味著平的、皮膚顏色的區(qū)域與皮膚顏色的凈距離因該為零。也意味著掩蔽法的形狀匹配屬性被加強。在上述方法中,只有面部掩蔽內部的區(qū)域被使用。
變化5首先將顏色距離映像量化成兩級,以使得每一個像素或者為皮膚顏色(1)或者為非皮膚顏色(-1)。這防止顏色距離值的幅度對于與皮膚顏色計算的距離有不適當的影響,即當與上述4個變化結合的時候,該掩蔽外部的很多非皮膚顏色像素不會有不適當的影響。
變化6皮膚顏色掩蔽被更逐漸地更新。新的掩蔽被計算為前一幀的掩蔽的90%,當前幀的掩蔽僅僅有10%的加權。這有助于避免由臨時部分阻塞現象所引起的問題,例如,手暫時通過面部前方。也有助于避免人非常慢地移動的問題。
前面描述的皮膚顏色跟蹤技術通過將前一幀中的面部的顏色距離掩蔽與當前幀的顏色距離映像匹配來工作。這種方法有三個方面,至少某些變化目標在于改善(i)在部分阻塞的情況下(例如面部前方的手),跟蹤手而不是面部是可能的。
(ii)因為在粗柵格(根據面部尺寸)上跟蹤面部,顏色距離映像慢慢地‘滑出’面部是可能的,如果面部移動很慢的話。
(iii)由于只考慮皮膚顏色相近的區(qū)域,因此,在平滑皮膚顏色區(qū)域上發(fā)現良好匹配是可能的。
變化6(在其中面部的顏色距離掩蔽僅僅很慢地更新的)處理方面(i)和(ii)。以及獲得在面部掩蔽內的皮膚顏色區(qū)域的良好匹配,非面部顏色區(qū)域也在變化5中考慮,它處理(iii)。
更詳細地說,對于每個面部,從前一幀的該面部的位置處的該幀的顏色距離映像計算二進制掩蔽。
如果掩蔽的每一個元素小于整個掩蔽的平均顏色距離值,則其為1(即它是皮膚色的),否則為0(非皮膚色)。
在搜索窗口上使用該二進制掩蔽進行搜索。在搜索窗口內的每一點處通過將掩蔽為‘1’處的所有顏色距離值取和,并減去掩蔽為‘0’處的所有顏色距離值來計算一個值。最好的匹配是這樣的位置,在該位置掩蔽給出最小取和的顏色距離值。
對該圖像中的每一個面部,參見圖28,當前顏色距離映像(對幀n)通過將舊面部位置1500處的舊顏色距離映像的90%與新面部位置1510處的新顏色距離值的10%取和來更新。
這具有緩慢改變每一個面部的顏色距離掩蔽的效果。因此,如果面部是部分地被阻塞,則阻塞物僅僅輕微地改變顏色距離映像,因此,匹配過程仍然可能匹配原始面部,而不是阻塞物。
這種方法的額外效果是即使僅僅在粗柵格上執(zhí)行搜索,也可以成功地跟蹤緩慢移動的面部。其原因是明顯的,如果考慮一下情況的話假設利用前面的方法在4×4柵格(即搜索不能比4個像素更精確)上進行搜索。如果面部移動1個像素,則搜索算法將在同一(前一)位置上找到面部。由于面部距離映像完全由新的一個替換,所以如果面部繼續(xù)以1像素/幀移動,則在4幀之后,面部將仍然在原始位置上找到,即使它應該具有新的移動的4個像素-換句話說,該掩蔽已經從面部“滑出”。
如果使用變化6的方法,其中顏色距離掩蔽緩慢更新,則在4幀后該搜索算法將仍然是使用具有4幀之前的面部的某些記憶的顏色距離映像。這意味著該搜索算法可以推導出面部已經真正的移動了4個像素。
性能方面的進一步的改善可以通過當搜索具有二進制掩蔽的映像(如變化5)時將該顏色距離映像量化成兩級來獲得。該映像中的每個像素被設置成-1,如果它是在該掩蔽的平均顏色距離之下的話;并且在該映像中的每一個像素被設置成+1,如果它是在該掩蔽的平均顏色距離值之上的話(“該掩蔽的平均顏色距離”指的是在其量化成‘1’和‘0’以形成掩蔽之前的面部窗口的平均顏色距離)。
然后,如前所述,通過將掩蔽為‘1’處的所有顏色距離值相加并減去為掩蔽為‘0’處的所有顏色距離值,在搜索窗口內的每一點計算一個值。
總之,這意味著面部窗口內的每個像素位置根據掩蔽值和圖像顏色距離值具有下列貢獻

在搜索窗口中的每一個位置上,對于面部大小的窗口計算和相加這些值。如前,將最佳匹配取作獲得最小值的像素的位置(即掩蔽與圖像匹配最佳的地方)。
這種方法防止顏色距離值的幅度對與皮膚顏色距離值的計算有不適當影響,以使得該掩蔽外部的許多非皮膚色像素沒有不適當的影響。
面部跟蹤和抽取在使用抽取的系統(tǒng)中,特別是上述的臨時抽取系統(tǒng)中,對于某些幀可以是這樣一種情況在處理該幀的結尾沒有確定的面部檢測結果可用。在這種情況下,可以對時間抽取意味著沒有面部檢測可用的幀使用皮膚顏色跟蹤。與連續(xù)的面部檢測所需要的數量有關的規(guī)則等將適當地放寬。如果空間抽取意味著結果關于僅僅一部分圖像可用,則面部跟蹤可以在獲得完整的新結果的任何時候或者在每一圖像中執(zhí)行,根據在那時候關于整個圖像可用的最佳信息。
梯度預處理圖29a-29c示意性地圖解了一種梯度預處理技術。
已經注意到示出像素變化小的圖像窗口可以傾向于被面部檢測裝置基于本征面部或本征塊檢測為面部。因此,提出預處理步驟來從面部檢測過程中去除像素變化小的區(qū)域。在多尺度系統(tǒng)的情況下(如上所述),可以在每一種尺度上執(zhí)行預處理步驟。
基本處理是將“梯度測試”應用于跨越整個圖像的每個可能的窗口位置。根據應用到那個窗口的測試的結果,標記或標注每個窗口位置的預定像素位置,諸如在或最接近于那個窗口位置的中心的象素。如果該測試示出窗口具有小像素變化,則那個窗口位置就不在該面部檢測過程中使用。
第一步是被圖解在圖29a中。這示出了圖像中的任意窗口位置上的窗口。如上所述,在每個可能的窗口位置上,重復該預處理。參考圖29a,雖然梯度預處理可以被應用于整個窗口,但已經發(fā)現,如果預處理被應用于測試窗口1010的中心區(qū)域1000,則會獲得更好的結果。
參考圖29b,從該窗口(或從在圖29a中所示的窗口的中心區(qū)域)得出基于梯度的測量,那是在該窗口的水平或垂直方向中的所有相鄰像素1011之間的絕對差的均值。每個窗口中心位置使用這個基于梯度的測量標記以產生圖像的梯度“映像”。然后將產生的梯度映像與閾值梯度值比較。對于那些基于梯度的測量位于該閾值梯度值之下的任何窗口位置被從關于那個圖像的面部檢測過程中排除。
可以使用替換的基于梯度的測量,諸如,像素變化或與平均像素值的平均絕對像素差。
最好關于像素亮度值執(zhí)行基于梯度的測量,但當然可以應用于彩色圖像的其它圖像成份。
圖29c示意性地說明了從一個示例圖像中導出的梯度映像。在此,從面部檢測裝置排除了較低梯度區(qū)域1070(被顯示成陰影),并且僅僅使用較高梯度區(qū)域1080。上述實施例已經涉及了面部檢測系統(tǒng)(包括訓練和檢測階段),及其在攝錄機和編輯系統(tǒng)中的可能應用。應該理解,這種技術可能有很多其它的應用,例如(但不限于)安全監(jiān)視系統(tǒng)、通用媒體處理(諸如視頻磁帶記錄器控制器)、視頻會議系統(tǒng)、IP攝像機、數字相機等。
在其他實施例中,具有高像素差的窗口位置也可以被標記或標注,并且也從面部檢測過程中排除。“高”像素差別意味著上述關于圖29b的測量超過上限閾值。
因此,按照上述方式產生梯度映像。梯度測量低于上述(第一)閾值梯度值的任何位置被排除在面部檢測處理之外,就像是梯度測量高于該上限閾值的任何位置。
上面提到優(yōu)選將“低閾值”處理應用到測試窗口1010的中心部分1000。同樣的處理也可以應用到“上限閾值”處理。這將意味著僅需要關于每個窗口位置導出單個梯度測量?;蛘?,如果關于低閾值測試使用整個窗口,則關于上限閾值測試也可以類似地使用整個窗口。還有,對于每個窗口位置僅需要導出單個梯度測量。然而,當然可能使用兩種不同的配置,以便(例如)測試窗口1010的中心部分1000被用來產生用于低閾值測試的梯度測量,但關于上限閾值測試則使用整個測試窗口。
前面提到的用于拒絕面部跟蹤的另一個判據是它的變化或梯度非常低或非常高。
在該技術中,所跟蹤到的面部位置被感興趣的映像的區(qū)域的變化驗證。每個面部只有在檢測尺度上的映射的面部大小的區(qū)域被存儲,以用于下一個重復跟蹤。
盡管上面描述了梯度預處理,但皮膚顏色跟蹤或Kalman預測的面部仍然有可能移進圖像的(非面部)低或高變化區(qū)域。從而在梯度預處理期間,存儲圍繞現有面部痕跡的區(qū)域的變化值(或梯度值)。
當作出(用任何可接受類型面部檢測、皮膚顏色或Kalman預測)關于面部的下一個位置的最終決定時,該位置根據感興趣的映像的區(qū)域內存儲的變化值(或梯度)被驗證。如果發(fā)現該位置具有非常高或非常低的變化(或梯度),則被認為是非面部并且停止面部跟蹤。這防止了面部跟蹤進入圖像的低(或高)變化背景區(qū)域。
或者,即使不使用梯度預處理,也可以重新計算新面部位置的變化。在任一情況下所用變化測量可以是傳統(tǒng)變化或相鄰像素的差別(梯度)的和或任何其它變化類型測量。
組合變化預處理和變化檢測如上所述,用變化檢測技術,將一個或多個矩形邊界框放置在檢測到運動的區(qū)域周圍(或至少,以排除沒有檢測到運動的區(qū)域)。然后重新調節(jié)這些框到所有要在該尺度上進行面部檢測的尺度。
感興趣的區(qū)域的決定(也就是說決定那個區(qū)域將經歷面部檢測)是根據自變化預處理和變化檢測處理的輸出而做出的。
只有圖像的以下區(qū)域需要在面部檢測算法中被處理(i)在變化預處理期間已經被選作候選面部區(qū)域的,和(ii)在變化檢測期間已經被標注為檢測到運動的區(qū)域因此,感興趣的區(qū)域的決定將來自變化預處理和變化檢測模塊的感興趣的區(qū)域邏輯結合,以產生最終興趣區(qū)域。這些被一個或多個矩形邊界框在每個尺度或(沒有邊界框限制)多尺度“興趣區(qū)域”映像束縛,每個象素位置被標記為感興趣的區(qū)域或非感興趣的區(qū)域。
對面部檢測算法還有用的是知道哪一個區(qū)域沒有相應于“缺乏檢測到的改變”被處理,以便產生自前面的幀的面部檢測結果可以對這些區(qū)域重復。因此,該信息也被傳送到面部檢測中。
可以理解,上述本發(fā)明的實施方案當然可以至少是一部分,使用軟件控制的數據處理設備來實施。例如,以上示意性顯示或描述的一個或多個部件可作為軟件控制的通用數據處理裝置或定制程序控制數據處理裝置,諸如專用集成電路、現場可編程門陣列等實現。應當理解的是,提供這種軟件或程序控制的計算機程序和存儲、傳輸或提供這樣的計算機程序的其它提供媒介被設想為本發(fā)明的一個方面。
所列舉的參考文獻和附錄如下。為了避免疑問,需要指出的是所列參考文獻和附錄形成本發(fā)明的一部分。
參考文獻
1.H.Schneiderman and T.Kanade,″A statistical model for 3D object detection applied tofaces and cars,″IEEE Conference on Computer Vision and Pattern Detection,2000.
2.H.Schneiderman and T.Kanade,″Probabilistic modelling of local appearance and spatialrelationships for object detection,″IEEE Conference on Computer Vision and PatternDetection,1998.
3.H.Schneiderman,″A statistical approach to 3D object detection applied to faces andcars,″PhD thesis,Robotics Institute,Carnegie Mellon University,2000.
4.E.Hjelmas and B.K.Low,″Face DetectionA Survey,″Computer Vision and ImageUnderstanding,no.83,pp.236-274,2001.
5.M.-H.Yang,D.Kriegman and N.Ahuja,″Detecting Faces in ImagesA Survey,″IEEETrans.on Pattern Analysis and Machine Intelligence,vol.24,no.1,pp.34-58,Jan 2002.
附錄A訓練面部集一個數據庫由很多個站在室內背景前方的對象的圖像組成。另一個上述技術的實驗實施中所用的訓練數據庫由多于一萬個具有從前到左和右輪廓觀察的人頭部的8位灰度級圖像構成。本領域技術人員自然會理解,可以使用各種不同的訓練集,可選地被描繪成反映當地人群的面部特征。
附錄B-本征塊在針對面部檢測和識別(參考文獻4和5)的本征方法中,記錄每m×n個面部圖像,以便它可以用長度為mn的向量表示。每個圖像可以被認作在mn維空間的點。圖像集到這個大空間中的點的集合。
在整個結構上類似的面部圖像沒有被隨機分配在這個mn維圖像空間中,因此它們可以由相對低維子空間描述。使用主成分分析(PCA),可以發(fā)現在整個圖像空間代表面部圖像的分布最好的向量。PCA包括確定相應于原始面部圖像的協(xié)方差矩陣的主要本征向量。這些向量限定面部圖像的子空間,經常被稱作面部空間。每個向量代表m×n圖像,并且是原始圖像的線性組合。由于這些向量是與原始面部圖像對應的協(xié)方差矩陣的本征向量,以及由于它們的外觀像面部樣,因此它們經常被稱為本征面部[4]。
當出現未知的圖像時,它被投影到面部空間。以這種方式,它按照本征面部的加權和表達。
在本實施方案中,使用了一個密切相關的方法,以產生并應用與面部圖像的塊相關的所謂“本征塊”或本征向量。一個塊的柵格被應用到圖像面部(在訓練集中)或測試窗口(在檢測期間)以及基于本征向量的處理,非常類似于本征面部處理,被應用到每個塊位置。(或者在另一個實施方案中,為了節(jié)省數據處理,該處理被應用到塊位置組一次,產生一個用在任何塊位置的本征塊集)。本領域技術人員會理解,某些塊(諸如常常代表圖像的鼻部特征的中心塊)在決定是否出現面部時意義更重大。
計算本征塊本征塊的計算包括以下步驟(1)使用NT個圖像的訓練集。這些被分成每個大小為m×n的圖像塊。于是,對于每個塊位置,獲得圖像塊集(一個來自每個圖像的該位置){I0t}t=1NT。
(2)如下計算塊{I0t}t=1NT的標準化訓練集每個圖像塊I0t,從原始訓練集被標準化以具有零的平均數和1的L2-norm,來產生各自的標準化圖像塊It。
對于每個圖像塊I0t,t=1...NTIt=I0t-mean_I0t||I0t-mean_I0t||]]>其中mean_I0t=1mn&Sigma;i=1m&Sigma;j=1nI0t[i,j],]]>并且||I0t-mean_I0t||=&Sigma;i=1m&Sigma;j=1n(I0t[i,j]-mean_I0t)2]]>(即(I0t-mean_I0t)的L2-norm)(3)通過每個圖像塊It的像素元素的字典式的重新排序形成向量{xt}t=1NT訓練集。即,每個m×n圖像塊It被重新排序成向量xt,長度N=mn。
(4)計算偏離向量集,D={xt}t=1NT.]]>D具有N行和NT列。
(5)計算協(xié)方差矩陣∑∑=DDT∑是尺寸為N×N的對稱矩陣。
(7)通過求解Λ=PT∑P,得到協(xié)方差矩陣的本征向量P、本征值λ1,i=1,...N的全集∑這里,Λ是N×N對角線矩陣,具有本征值λ1,沿其對角線(按大小排序),P是包含N本征向量(每個長度為N)的集合,的N×N矩陣。這個分解也被稱為Karhunen-Loeve變換(KLT)。
本征向量可以被認為是共同表達面部圖像的塊之間的變化的特征的特征集。它們形成可以代表任何圖像塊的正交基,即,原則上講,通過本征向量的加權和可以表示任何圖像而不會出差錯。
如果圖像空間的數據點的數目(訓練圖像)少于空間的維數(NT<N),則只有NT個有意義的本征向量。其余本征向量將與為0的本征值有關。因此,由于通常NT<N,所以,i>NT的所有本征值都將是0。
另外,由于訓練集中的圖像塊在整體結構上類似(它們都得自面部),只有一些剩余的本征向量將表現非常強的在這些圖像塊中的差異。這里有具有最大相關的本征值的本征向量。具有較小的相關本征值的其他剩余本征向量不表現這種大的差異,因此它們在面部之間的檢測或區(qū)別時沒有用。
因此,在PCA中,只考慮具有最大本征值的M主本征向量,其中M<NT,即,執(zhí)行部分KLT。簡而言之,PCA提取對應于最大本征值的KLT基的較低維子空間。
由于主成分描述面部圖像之間最強的變化,在外觀上可能是面部塊的相似部分,在這里被稱為本征塊。然而,術語本征向量可以被同等使用。
使用本征塊的面部檢測通過確定一個未知圖像能被圖像空間表示得有多好,可以測量該圖像與面部的相似性,或它的faceness。使用與訓練過程中所用的相同的塊柵格,可以一塊一塊地實施該處理。
該過程的第一階段包括將該圖像投影到面部空間。
投影圖像到面部空間在講圖像投影到面部空間之前,幾乎如在訓練集中執(zhí)行的一樣,在圖像上執(zhí)行很多相同的預處理步驟(1)獲得尺寸為m×n的測試圖像塊I0。
(2)使原始測試圖像塊I0標準化,以具有零平均數和1的L2-norm,來產生標準化的測試圖像塊II=I0-mean_I0||I0-mean_I0||]]>其中mean_I0=1mn&Sigma;i=1m&Sigma;j=1nI0[i,j]]]>并且||I0-mean_I0||=&Sigma;i=1m&Sigma;j=1n(I0[i,j]-mean_I0)2]]>(即(I0-mean_I0)的L2-norm)(3)通過圖像的像素元素的字典式的重新排序計算偏離向量。圖像被重新排序成向量xt,長度N=mn。
在這些預處理步驟后,使用下列簡單步驟將偏離向量x投影到面部空間(4)投影到面部空間包括將偏離向量x轉化成它的本征塊成分。這包括簡單地相乘M個主本征向量(本征塊),Pi,i=1,...M,如下獲得每個權yiyi=PiTx]]>其中Pi是第i個本征向量。
權yi,i=1,...M描述了代表輸入面部塊的每個本征塊的貢獻。
外觀相似的塊將具有相似的權集,而外觀不同的塊將具有不同的權集。因此,這里將權用作在面部檢測期間分類面部塊的特征向量。
盡管這里已經描述了特殊的實施方案,但應當理解的是本發(fā)明并不限于這些,可以在本發(fā)明范圍內的進行很多修改和添加。例如,不背離本發(fā)明精神的條件下,下列從屬權利要求的特征與獨立權利要求的特征的各種組合是可以的。
權利要求
1.一種用于在測試圖像中檢測目標的目標檢測設備,所述設備包括比較器,用于將所述圖像的測試窗口的塊與指示目標出現的參考數據比較以便產生指示區(qū)域和所述參考數據之間的相似程度的索引數字;存儲器,用于存儲對應于所述索引數字和所述塊位置的可能值的概率數據;邏輯,可用于針對當前塊、依賴于該塊在所述測試窗口內的位置和關于該塊所產生的所述索引數字從所述存儲器存取概率值;以及組合器,用于組合對應于測試窗口中的塊的所述概率值,以便產生指示測試窗口包含目標的概率的結果,其中,所述存儲器中的所述概率值按照先塊位置然后索引數字的次序排序。
2.根據權利要求1的設備,其中,所述存取邏輯可操作來存取關于當前塊的位置和索引數字的兩個或更多個概率值,所述兩個和更多個概率值涉及不同的目標方向。
3.根據權利要求2的設備,其中,所述組合器可操作來組合涉及各個目標方向的概率值,以產生關于每個目標方向的相應結果。
4.根據權利要求2的設備,其中,在所述存儲器中的所述概率值按照先對目標方向、然后塊位置、再然后索引數字的次序排序。
5.根據權利要求2的設備,其中,所述目標方向包括至少一個正面方向和目標對著一側。
6.根據權利要求5的設備,其中,所述目標方向包括至少一個正面方向、目標對著一側和目標對著另一側。
7.根據權利要求5的設備,其中涉及到所述正面方向的概率值在所述存儲器中被存儲到比涉及其它目標方向的概率值更高的分辨率。
8.根據權利要求7的設備,其中涉及到所述正面方向的概率值在所述存儲器中被以涉及其它目標方向的概率值的兩倍的分辨率存儲。
9.根據權利要求1的設備,其中所述比較器可操作來將所述塊投影到一個或多個圖像本征向量上。
10.根據權利要求1的設備,其中所述存取邏輯包括超高速緩存,用于超高速緩存最近存取過的概率值和存儲次序接近那些最近存取過的概率值的概率值。
11.根據權利要求1的設備,其中所述目標是面部。
12.視頻會議設備,包括根據權利要求1的設備。
13.監(jiān)視設備,包括根據權利要求1的設備。
14.攝像裝置,根據權利要求1的設備。
15.一種用于在測試圖像中檢測目標的方法,所述方法包括步驟將所述圖像的測試窗口的塊與指示目標出現的參考數據比較以便產生指示區(qū)域和所述參考數據之間的相似程度的索引數字;存儲對應于所述索引數字和所述塊位置的可能值的概率數據;依賴于當前塊在所述測試窗口內的位置和關于該塊所產生的索引數字從所存儲的概率數據中存取一概率值;以及組合對應于測試窗口中的塊的所述概率值,以便產生指示測試窗口包含目標的概率的結果,其中,所述存儲的概率值按照先塊位置然后索引數字的次序排序。
16.一種計算機軟件,具有用于執(zhí)行根據權利要求15的方法的程序代碼。
17.一種提供介質,用于提供根據權利要求16的程序代碼。
18.根據權利要求17的介質,所述介質是存儲介質。
19.根據權利要求17的介質,所述介質是傳輸介質。
全文摘要
用于在測試圖像中檢測目標的目標檢測設備包括用于將所述圖像的測試窗口的塊與指示目標的出現的參考數據比較以便產生指示區(qū)域和所述參考數據之間的相似程度的索引數字的裝置;用于存儲對應于所述索引數字和所述塊位置的可能值的概率數據的裝置;可用于針對當前塊、依賴于該塊在所述測試窗口內的位置和關于該塊所產生的所述索引數字從所述存儲器存取概率值的裝置;以及用于組合對應于測試窗口中的塊的所述概率值,以便產生指示測試窗口包含目標的概率的結果的裝置,其中,所述存儲器中的所述概率值按照先塊位置然后索引數字的次序排序。
文檔編號G06K9/00GK1627315SQ20041010076
公開日2005年6月15日 申請日期2004年12月13日 優(yōu)先權日2003年12月11日
發(fā)明者S·D·海恩斯, J·利文 申請人:索尼英國有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
沭阳县| 宁国市| 平顺县| 绥德县| 五大连池市| 南充市| 玛多县| 开原市| 青冈县| 河南省| 都昌县| 逊克县| 磴口县| 兴宁市| 府谷县| 毕节市| 奇台县| 响水县| 杨浦区| 岢岚县| 梧州市| 鹰潭市| 三门县| 西峡县| 宁阳县| 沅江市| 巴林左旗| 沁源县| 辽阳县| 常德市| 贵定县| 长兴县| 德惠市| 高淳县| 耿马| 九龙城区| 呈贡县| 黎城县| 湛江市| 榕江县| 廊坊市|