專利名稱:模式識別單元生成方法及信息處理裝置的制作方法
技術領域:
本發明涉及一種模式識別單元生成方法及信息處理裝置。
背景技術:
近年來,在模式辨識領域中,以下這種方法受到關注通過將弱判別 器級聯連接來構造識別單元,并且高速地執行用于檢測諸如圖像中的人臉 等的特定物體的處理。
例如,在由Viola禾口 Jones在P. Viola and M. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Vol. 1, pp. 511 - 518, December 2001 (下文稱為"非專利文獻1")中所公開的方法中,將用于提取矩形特 征的預定數量的弱判別器級聯連接,以構造稱為"級"的強判別器。該弱判 別器是利用增強(boosting)學習算法(在日本特開平8-329031號公報等 中所公開的)來生成的。此外,已經提出了一種具有通過將多個這種級級 聯連接而獲得的結構的模式識別單元。通過在對各強判別器進行中止確定 (對圖像中某一檢測對象位置的處理結束)的同時推進處理,由于中止了 對早期被確定為不是檢測對象的輸入的后續計算,因此總體上能夠執行高 速處理。以下將詳細地描述該模式識別方法。
非專利文獻1的模式識別單元使具有特定尺寸的矩形區(處理窗801) 在要被處理的圖像800內移動,并且檢査各移動目的地處的處理窗801是 否包含人臉,如圖8所示。
圖9是示出非專利文獻1中的在各移動目的地位置處的處理窗801中
所執行的人臉檢測處理的序列的圖。使用多級來執行某一處理窗中的人臉 檢測處理。向各個級分配不同的組合的弱判別器,并且通過級聯連接來處 理不同的組合的弱判別器,以使其用作強判別器。各弱判別器檢測所謂的 "Haar相似"特征,并且由矩形濾波器的組合構成。如圖9所示,分配給各 個級的弱判別器的數量是不同的。各個級也具有級聯連接的結構,并且按 它們的連接順序來執行確定處理。即,例如在圖9中,第二級在第一級之
6后執行確定處理,然后第三級執行確定。
各級依次地使用所分配的模式的弱判別器來檢査處理窗是否包含人 臉。如果在某一級中確定該處理窗不包含任何人臉,則后續級不對該位置 處的處理窗執行確定處理。即,級聯處理中止。如果在最終級中確定包含 人臉,則確定該位置處的處理窗包含人臉。
以下將參照圖10的流程圖來詳細地描述人臉檢測處理的序列。
在人臉檢測處理中,在人臉檢測對象圖像800上分配要被處理的處理 窗801 (步驟S1001)。基本上,通過從人臉檢測對象圖像800的末端沿垂 直方向和水平方向按預定間隔依次地進行掃描來全面地移動并選擇該處理 窗,如圖8所示。例如,通過對人臉檢測對象圖像800進行光柵掃描來選 擇處理窗。
對所選擇的處理窗執行關于該處理窗是否包含人臉的確定處理。使用 多個級來執行該確定處理,如以上使用圖9所描述的。因此,從第一級開 始依次地選擇執行確定處理的級(步驟S1002)。
所選擇的級執行確定處理(步驟S1003)。在該級的確定處理中,如果 累積得分(稍后描述)不超過預先針對各級而確定的閾值(步驟S1004中 的"否"),則確定該處理窗不包含任何人臉(步驟S1008),并且執行步驟 S1007以及后續步驟中的處理。稍后將描述步驟S1007以及后續步驟中的 處理。
另一方面,如果累積得分超過預先針對各級而確定的閾值(步驟S1004 中的"是"),則確定是否由最終級來執行該確定處理(步驟S1003中的處 理)。如果不由最終級來執行該確定處理(步驟S1005中的"否"),則處理 返回到步驟S1002以選擇下一級,并且由新選擇的級來執行該確定處理。 另一方面,如果由最終級來執行該確定處理(步驟S1005中的"是"),則最 終地確定當前的處理窗包含人臉(步驟S1006)。此時,確定該處理窗包含 人臉。
然后,確定已經受確定處理的處理窗是否是人臉檢測對象圖像中的最 后一個處理窗。如果該處理窗不是最后一個處理窗(步驟S1007中的"否"), 則處理返回到步驟S1001以選擇下一處理窗,并且執行步驟S1002及后續 步驟中的處理。另一方面,如果該處理窗是最后一個處理窗,則對作為人 臉檢測對象的該輸入圖像的人臉檢測處理結束。以下將描述各級中的確定的處理內容。
將一個或更多個模式的弱判別器分配給各級。該分配在學習處理中由
諸如AdaBoost等的集成學習算法來執行。各級基于分配給自身的模式的弱 判別器來確定處理窗是否包含人臉。
在各級中,基于分配給該級的模式的弱判別器來計算處理窗中的多個 矩形區中的特征量。在這種情況下,所使用的特征量是使用各矩形區中的 像素值的總和值(矩形區中的總和值)(例如,矩形區中的像素值的合計值、 平均值等)而計算出的值。能夠使用累積圖像信息(稱為總和面積表(SAT)
或積分圖像)來對輸入圖像高速地計算矩形區中的總和值。
圖IIA及圖IIB是用于說明SAT的示例的圖。圖IIA示出了原輸入
圖像IIOI,以左上角為原點(O,O)。假設I (x,y)為輸入圖像1101的坐
標位置(x, y)處的像素值,將SAT的相同位置(x, y)處的成分C(x, y)
定義為
Q^ =》(x',3/) …a)
/5少
如圖IIB所示,輸入圖像1101上的以原點位置(O,O)及位置(x,y) 為對角位置而限定的矩形中的像素的總和值是位置(x,y)處的值C(x,y)。 例如參照圖12中所示的四個點,能夠使用下式來計算輸入圖像1101上的 任意矩形區中的像素值I(x, y)的和 C(xo, y0; Xl, yi) = C(x0-1, y。畫l) - C(x0-1, yi) - C(Xl, yO-1) + C(Xl, yi) ...(2)
作為計算出的特征量的相對值(例如,比率或差值;假定在這種情況 下計算特征量的差值),計算差值,并且基于該差值來確定處理窗是否包含 人臉。更具體來說,確定計算出的差值比在確定中所使用的模式的弱判別 器中所設定的閾值大還是小。根據該確定結果,確定處理窗是否包含人臉。
然而,此時的確定是基于各模式的單獨的弱判別器而進行的,并不是 對級的確定。以這種方式,在各級中,基于所分配的所有的模式的弱判別 器來單獨地執行確定處理,并且獲得各個確定結果。
接下來,計算該級中的累積得分。向各個模式的弱判別器分配單獨的 可靠性權重(得分)。可靠性權重是表示"確定的概率"的固定值,S卩,單獨 的可靠性。如果確定處理窗包含人臉,則參照分配給此時所使用的模式的
8弱判別器的得分,并將該得分加到該級的累積得分中。以這種方式,單獨 地加起來的得分的總和被計算為該級的累積得分。即,該累積得分是表示 作為整體的該級中的確定的概率的值(級整體可靠度)。如果級整體可靠性 超過預定閾值(級整體可靠性閾值),則在該級中確定處理窗有可能包含人 臉,并且處理繼續前進到下一級。另一方面,如果該級中的級整體可靠性 不超過閾值,則確定處理窗不包含任何人臉,并且中止后續的級聯處理。 在非專利文獻l中,以該序列來實現由人臉檢測所代表的高速模式識
別。注意,圖9及圖IO中的檢測器在預先經過適當的學習的情況下,能夠
用作針對除人臉以外的其他模式的模式識別單元。
日本特開第2004-18561 l號公報及日本特開第號公報已經
公開了與基于非專利文獻1的構思的模式識別方法及裝置相關聯的發明。 具有其中這些弱判別器級聯連接成一線的結構的模式識別單元,當從圖像 中特別地將相似(look-alike)模式(檢測對象模式)與其他模式(非檢測 對象模式)分開時,發揮快速且充分的識別性能。
然而,當檢測對象模式例如是人臉圖像時,如果模式盡管保持朝向前 方但是向左或向右傾斜大約幾十度(下文中稱為面內旋轉),則其不是關于 原直立的正臉的"相似"模式。此外,如果模式沿軸向旋轉(下文中稱為深
度旋轉或橫向深度旋轉)到接近側臉,則其變成十分不同的二維圖像模式。 根本不可能利用成一線的級聯連接來識別具有如此大的變化的模式,導致
處理時間的增加以及檢測精度的劣化。由于弱判別器的級聯連接結構的目 的在于逐漸地排除與要識別的檢測對象模式不相似的非檢測對象模式,因 此以使用要識別的相似的模式為前提。
在僅有面內旋轉的情況下,在將輸入圖像在逐漸地連續旋轉之后輸入 給檢測出接近于直立的圖像的正臉的識別單元時,能夠識別360。的各角度 的人臉。然而,利用該方法,處理時間隨旋轉的次數而增加,并且如果應 用該方法,則不能處理深度旋轉。
因此,Z. Zhang, L. Zhu, S.Z. Li, and H. Zhang, "Real-Time Multi-View Face Detection", Proceedings of the Fifth IEEE International Conference on Automatic Face and Gesture Recognition (FGR'02)(下文中稱為"非專利文獻 2")提出了一種具有基于Coarse to Fine戰略的分層金字塔結構的識別單元。利用該識別單元,在第一層級中,輸入包含要檢測的所有的人臉視向 變化的學習圖像模式,以學習一個級。在第二層級中,針對各個預定范圍 而劃分人臉視向變化,并且使用僅包含所劃分的范圍內的變化的學習圖像 模式來學習多個級。在下一層級中,進一步將變化劃分成更窄的范圍,并 且學習多個級(其數量進一步增加)。以這種方式,隨著層級的進展,堅固
性(robustness)逐漸降低的強判別器(級)的數量逐漸增加,由此構成金 字塔狀的結構。注意,此文獻中的識別單元僅通過劃分橫向深度旋轉的人 臉視向變化來支持旋轉。在第二層級中,將士90。的全深度旋轉范圍劃分成 三個范圍,而在第三層級中,將其劃分成九個范圍,但是不對面內旋轉范 圍進行劃分。
在該識別單元的檢測處理中,如果輸入子窗已通過第一層級的級,則 其依次地執行第二層級的各個級。如果該子窗已通過這些級中的任一個, 則其前進到下一層級的級。以這種方式,由于識別單元以粗檢測開始并接 著進入精度水平逐漸提高的檢測,因此構造出能夠高精度地檢測所有變化 的人臉模式的識別單元。
日本特開第號公報還公開了一種基于相同的構思的方 法構造出具有從堅固性大的檢測器逐漸地分支成堅固性較低的檢測器的 樹結構的識別單元。在該識別單元中,學習樹的各枝的一個節點(級),以 覆蓋通過對要由父節點所覆蓋的變化范圍進行劃分而獲得的部分變化范 圍。日本特開第號公報中所公開的實施例所支持的人臉視向 變化不僅包括橫向深度旋轉的變化,還包括人臉從正臉向上或向下轉的縱 向深度旋轉的變化。人們憑經驗確定各個節點的弱判別器段的數量以執行 學習。
在檢測處理中,在執行包括所有的橫向及縱向深度旋轉變化的第一節 點的檢測處理之后,處理分支成三個變化,即,正臉、沿右方向的深度旋 轉臉以及沿左方向的深度旋轉臉。在下一層級中,處理進一步分支成三個 不同的縱向深度旋轉變化范圍。在下一層級中,僅正臉的縱向旋轉中央變 化進一步分支成三個范圍。在預先確定這種分支結構之后,輸入許多與各 個變化相對應的樣本數據,以使各個分支學習。與非專利文獻2不同的是, 由于不需要執行對在較高層級節點處中止的變化中所包含的較低層級節點 的計算,因此能夠實現高速處理。注意,日本特開第號公報中的弱判別器使用像素差來代替矩形差。然而,通過將弱判別器級聯連接 來構造強判別器的構思保持相同。
C. Huang, H. Ai, Y. Li, and S. Lao, "Vector Boosting for Rotation Invariant Multi-View Face Detection", Tenth IEEE International Conference on Computer Vision (ICCV2005), Volume 1,17-21 Oct. 2005, pp 446 — 453 (下
文中稱為"非專利文獻3")提出了具有與日本特開第號公報相 似的樹結構的識別單元的另一種學習方法。該文獻中所描述的識別單元所 支持的變化包括面內旋轉變化及橫向深度旋轉變化。該文獻定義了這樣一 種結構,在該結構中在兩個層級中,橫向深度旋轉變化從第一層級的節 點而被分支成五個范圍,其后,在第四層級中,旋轉變化被分支成三個范 圍。根據該結構進行學習與上述文獻相同。而且,憑經驗確定各個節點的 弱判別器段的數量,以與上述文獻中相同的方式來執行學習。
然而,與上述文獻中不同的是,在到達最終分支之前學習的各節點的 判別器的輸出不是標量值,而是具有與該節點的下一層級的分支的數量相 等的數量的元素的矢量值。即,在分支之前的各節點檢測器不僅具有中止 非人臉圖像的功能,而且具有進行對下一層級的分支選擇的功能。當檢測 時,由于僅起動各節點的與輸出矢量值接近于l的元素相對應的分支,因 此無需進行不必要的計算,由此保證了高速處理。
在諸如非專利文獻2、非專利文獻3以及日本特開第號 公報的現有技術中,在學習之前確定基于Coarse to Fine戰略或樹結構的變 化范圍的劃分方法(S卩,分支結構)。所劃分的各個節點(級)的弱判別器 段的數量是由進行機器學習處理的人員憑經驗(或直覺)確定的段的預定 數量。例如,日本特開第號公報確定各分支的枝節點的弱判 別器的數量是100。而且,非專利文獻2通過T次的反復處理來逐一地(即, T段)生成矢量輸出弱判別器。
弱判別器段的數量(例如,是憑經驗確定的)不一定是最佳的。在具 有分支結構(或金字塔結構)的模式識別單元中,在后段中的節點中,要 識別的模式具有較小的堅固性。因此,越往后段,將對象模式與諸如背景 等的其他模式分開所需的處理段數(即,速度)及精度越高。考慮到在現 有技術中憑經驗確定的處理段數足以確定是否開始后一段的節點的處理, 但其不是處理段的最小必需數量。由于越往后段堅固性越低,因此期望提
li高盡可能早地到達最終分支之后的節點時的處理速度。然而,在上述現有 技術中,未提出用于判別各分支節點中的處理段的最小必需數量的方法。
發明內容
為了解決上述問題而做出本發明,本發明的目的在于提供一種能夠判 別在學習具有分支結構的模式識別單元時的各分支中的處理段的最小必需 數量的技術。
根據本發明的一方面,提供了一種模式識別單元生成方法,該方法生 成模式識別單元,在所述模式識別單元中,通過將多個弱判別器級聯連接 而獲得的弱判別器陣列分支,并且分支之后的各枝連接有弱判別器陣列, 所述模式識別單元生成方法包括以下步驟
評價步驟,該步驟基于通過向所述弱判別器陣列輸入一組評價用的數 據而獲得的處理結果,來評價分支之后的弱判別器陣列是否達到要連接的 段數;
確定步驟,該步驟基于所述評價步驟中的評價結果,確定作為分支之 后的所述弱判別器陣列的要不分支地連接的所述弱判別器的段數。
根據本發明的另一方面,提供了一種信息處理裝置,該信息處理裝置 執行生成模式識別單元的模式識別單元生成方法,在所述模式識別單元中, 使通過將多個弱判別器級聯連接而獲得的弱判別器陣列分支,并且分支之 后的各枝連接有弱判別器陣列,所述信息處理裝置包括
評價單元,其適合于,基于通過向所述弱判別器陣列輸入一組評價用 的數據而獲得的處理結果,來評價分支之后的一弱判別器陣列是否達到要 連接的段數;
確定單元,其適合于,基于所述評價單元的評價結果,確定作為分支 之后的所述弱判別器陣列的、要不分支地連接的所述弱判別器的段數。
根據本發明,能夠通過判別各分支中的處理段的最小必需數量來學習 具有分支結構的模式識別單元。
參照附圖,根據對示例性實施例的以下描述,本發明的其他特征將變 得清楚。
12圖1是用于說明根據本發明優選實施例的模式識別單元生成方法中的 學習處理的流程圖2是示出根據本發明優選實施例的執行模式識別單元生成方法的裝 置的結構的示例的框圖3A及圖3B是用于說明根據本發明優選實施例的利用模式識別單元 生成方法而生成的分支結構模式識別單元的節點的連接結構的圖4是用于說明根據本發明優選實施例的模式識別單元的弱判別器節 點的詳細結構的框圖5是用于說明根據本發明優選實施例的由分支結構模式識別單元所 支持的檢測對象數據的變化類別的示例的圖6是用于說明根據本發明優選實施例的基本學習處理的細節的流程
圖7是用于說明根據本發明優選實施例的識別單元節點中的處理的示 例的流程圖8是用于說明根據本發明優選實施例的作為模式辨識處理的示例的 人臉檢測處理的圖9是示出由多個弱判別器構成的傳統的模式識別單元的結構的示例 的圖10是由多個弱判別器構成的傳統的模式識別單元中的檢測處理的 流程圖IIA及圖IIB是用于說明SAT的示例的圖12是用于說明基于SAT的矩形區中的總和值的計算方法的圖13是用于說明濾波器閾值的確定方法的圖14是用于說明中止閾值的確定方法的圖15A及圖15B是示出根據本發明優選實施例的利用模式識別單元的 分支選擇處理的檢測處理的序列的流程圖16是用于說明根據第一實施例的分支選擇處理的細節的流程圖17A及圖17B是示出根據本發明優選實施例的模式識別單元的參數 存儲器的存儲映像的示例的圖18是用于說明根據第一實施例的基于累積得分評價的非分支接續 段的數量的確定處理的細節的流程圖;圖19A及圖19B是示出根據第一實施例的弱判別器的各個段的累積得 分的改變狀態的示例的曲線圖20是用于說明根據第二實施例的基于選擇錯誤比率評價的非分支 接續段的數量的確定處理的細節的流程圖21是示出根據第二實施例的弱判別器的各個段的選擇錯誤比率的 改變狀態的示例的曲線圖22是示出根據第三實施例的分支選擇判別器的示例的圖23是用于說明根據第三實施例的分支選擇處理的細節的流程以及
圖24是示出弱判別器的各個段的非人臉數據的中止比率的改變狀態 的示例的曲線圖。
具體實施例方式
在下文中將參照附圖來對本發明的優選實施例進行詳細的示例性的 說明。然而,這些實施例中所描述的組件僅為示例,本發明的技術范圍由 權利要求書的范圍來確定,而并不限于以下個別的實施例。
(第一實施例)
(對框圖的說明)
圖2是示出根據本發明實施例的信息處理裝置的結構的框圖。圖像輸 入單元201具有將要經受模式識別處理的輸入圖像數據以及學習用的樣本 圖像數據取到裝置中的功能。圖像輸入單元201包括例如由光學系統、諸 如CCD傳感器等的光電轉換設備、驅動器電路、AD轉換器、執行各種圖 像處理的信號處理電路、幀緩沖器等構成的圖像傳感設備。或者,圖像輸 入單元201包括與通信接口 (I/F) 206 (稍后描述)共用硬件并且經由諸 如連接到I/F的網絡等的預定通信路徑而從外部裝置接收圖像數據的I/F設 備。
預處理單元202執行有效的實現檢測處理所需的各種預處理。更具體 來說,預處理單元202使用硬件來處理諸如色彩轉換處理、對比度校正處 理、生成SAT (總和面積表)數據等的各種圖像數據轉換。判別處理單元 203具有參照來自預處理單元202的輸出來識別存在/不存在預定物體模式 的功能。判別處理單元203基于通過學習而生成的參數來執行增強判別處理。注意,還能夠將預處理單元202及判別處理單元203的功能(或一些 功能)實現為由CPU208 (稍后描述)所執行的軟件程序的處理。
DMAC (直接存儲器存取控制器)204控制CPU總線205上的各個處 理單元與RAM 210及ROM 209之間的數據傳送等。
通信I/F 206能夠接收從外部裝置到本裝置的預定操作的指令,并且能 夠將學習所需的數據組從外部裝置傳送到大容量存儲單元211 (稍后描 述)。
用戶接口 (User I/F) 207包括操作者用來指定對裝置的操作的、諸 如按鈕開關及鍵盤的輸入設備及輸出設備,以及用于向操作者呈示信息的 顯示板等。
CPU (中央處理單元)208執行根據本發明的處理,對經由CPU總線 205而連接的作為整體的本裝置的各個單元的操作進行控制。ROM209存 儲指定CPU 208的操作的指令。RAM 210用作CPU 208的操作所需的工 作存儲器。RAM 210包括諸如DRAM (動態RAM)等的具有相對大的容 量的存儲器。大容量存儲單元211是諸如硬盤、閃存等的大容量數據存儲 設備。例如,學習所需的大量數據組(例如,樣本圖像等)存儲在大容量 存儲單元211中。
信息處理裝置采用其中所有的組件都連接到CPU總線205的結構,如 圖2所示。除該結構以外,例如,圖像輸入單元201、預處理單元202、判 別處理單元203及DMAC 204可以連接到另一總線(圖像總線),并且該 圖像總線與CPU總線可以經由橋而連接。通過分開這些總線,硬件處理單 元(圖像輸入單元201 、預處理單元202及判別處理單元203)與CPU 208 能夠進行并行操作。 (變化類別)
本實施例的信息處理裝置使用基于圖5中所示的3個變化類別而被分 類的人臉圖像作為檢測對象模式,來學習分支結構的模式識別。
變化類別501包括面內旋轉變化。檢測對象的變化范圍包括從直立的 狀態(圖5中的中央人臉圖像)分別地順時針(+ ) /逆時針旋轉直到45° 的人臉圖像。在本實施例中,假定將該±45°范圍劃分成3個范圍由a來 標記從-45°至-15°的范圍、由b來標記從-15。至+15。的范圍、由c來標記從 +15°至+45°的范圍。變化類別502包括沿右方及左方的深度旋轉變化。在本實施例中,對 象的變化范圍包括從正臉至右視側臉以及從正臉至左視側臉的變化,并且 被劃分成3個范圍。由A來標記從右視側臉至緊接幾乎出現兩眼之前的臉 的范圍(-90°至-30°),由B來標記包括出現兩眼時的止臉的臉的范圍(-30° 至+30°),由C來標記從緊接幾乎出現兩眼之前的臉至左視側臉的范圍 (+30。至+90。)。
變化類別503包括尺寸變化。在本實施例中,人臉尺寸由在0。面內旋 轉的情況下的兩眼與口之間的高度差的像素數來指定。最小人臉尺寸為 16,最大人臉尺寸為22。將該范圍劃分成2個范圍,由l來標記較小的人 臉尺寸的范圍,由2來標記較大的人臉尺寸的范圍。注意,通過放大或縮 小輸入圖像的通道處理來檢測落在該范圍之外的人臉。
本實施例采用基于這三種變化類別的變化的混合的人臉圖像作為檢 測對象。可以向這些變化添加沿上方向及下方向的深度旋轉變化,并且可 以進一步增加各變化類別的劃分數量以提高檢測精度。然而,為了簡單起 見,在此不對其進行描述。
在各變化類別中,可以確保相鄰的分類的交疊區,并且可能存在屬于 這兩個分類的模式。例如,對于變化類別501,可以由a來標記從-45。至 -12.5。的范圍,可以由b來標記包括直立的圖像的從-17.5。至+17.5。的范圍, 可以由c來標記從+12.5°至+45°的范圍。在這種情況下,例如,屬于一個 交疊區的+15。旋轉數據不僅被分類為b而且被分類為c。
在識別單元(稍后描述)中,分支目的地中的一個與上述變化類別中 的任一個相對應,并且一個分支的各枝的弱判別器陣列覆蓋通過劃分相對 應的變化類別的變化范圍而獲得一個分類作為要檢測的覆蓋范圍。即,各 分支的枝的數量與相對應的變化類別的變化范圍的劃分數量相匹配。
在學習時確保分類中的交疊區是要確保一個分支的兩枝中的任一枝 都能夠檢測的變化范圍。以這種方式,能夠確保檢測出與相鄰的分類之間 的邊界相對應的模式,并且能夠期望進一步提高檢測精度的效果。 (分支結構)
本實施例的模式識別單元具有分支結構,并且在各個分支的各個枝上 布置分別通過將多個弱判別器節點級聯連接而獲得的弱判別器陣列。使用 判別處理單元203來執行這些弱判別器陣列的處理。
16構的模式識別單元的示例。由圓301、 302等 所表示的節點(弱判別器節點)中的每一個都包括一個弱判別器。與非專 利文獻l中不同的是,在本實施例的識別單元中,各節點不采用具有大量 的弱判別器的級結構,而僅包括一個弱判別器。即,各單獨的弱判別器進 行中止確定。然而,各節點可以采用具有大量的弱判別器的級結構,而不 影響本發明的要旨。
圖3A示出了分支型模式識別單元的示例。弱判別器的級聯連接從第 一段中的弱判別器301開始有預定數量的段不分支。該級聯連接在弱判別 器302處分支成從弱判別器303及弱判別器304開始的兩個級聯連接序列。 在分支的枝中,弱判別器接續預定數量的段,并且各分支在弱判別器305 處擴展為三個分支。在這些分支的總共六個枝中的每一枝中,弱判別器都 接續預定數量的段,然后到達最終段中的弱判別器306。弱判別器301至 306中的每一個進行中止確定,并且當在給定的弱判別器處處理被中止時, 不執行后續的弱判別器的處理。將到達最終段的弱判別器306的輸出輸入 到最終確定單元307,并經受綜合(integration)處理。然后,綜合后的輸 出經受接受確定,并且如果輸出被接受,則確定檢測到對象物體模式。
圖3B示出了本實施例的分支型模式識別單元的結構。本實施例采用 基于參照圖5而描述的三種變化類別的分支結構。通過預備學習來預先地 確定分支順序。在本實施例的情況下,按照變化類別501的面內旋轉變化、 變化類別503的尺寸變化、變化類別502的深度旋轉變化的順序來進行分 支。S卩,在圖3B中所示的分支結構中,第一分支包括三個分支(a、 b、 c), 第二分支包括兩個分支(1、 2),第三分支包括三個分支(A、 B、 C)。稍 后將描述對相鄰的分支之間的弱判別器陣列的長度的確定的細節。
在這種樹結構識別單元中,可利用分支處理執行方法的一些變型。
第一種方法為執行所有的分支的全起動方法。在這種情況下,將途中 不被中止地到達最終段中的弱判別器306的分支的所有的輸出輸入到最終 確定單元307。最終確定單元307根據各個分支的輸出坐標以及判別的可 靠性來執行預定綜合處理,然后執行用于確定是否接受綜合后的輸出的閾 值處理。該方法的優點在于精度高,并且能夠與檢測同時地相對精確地進 行基于變化類別的分類。缺點在于需要長的處理時間。
第二種方法為全搜索起動方法。在這種情況下,例如,從上分支(在
17圖3A中的弱判別器303及弱判別器304的情況下為弱判別器303偵O開 始依次地執行檢測處理,直到該檢測處理被中止為止。當檢測處理被中止 時,處理返回到緊鄰的前一分支(例如,弱判別器302),然后執行在被中
止的節總;^卜的緊鄰的節總Q兀朱節總,弱判別益:3U4入卯米,到邁瑯2爺 段的分支,則進行最終確定。如果輸出被接受,則處理完成。如果處理不 被接受,則處理返回到緊接的前一分支,以繼續檢測處理。該方法的優點 在于易于實現并且能夠在一定程度上加快檢測處理。缺點在于,由于該方 法取決于分支執行順序,因此不能獲得精確的分類。
第三種方法為分支選擇性起動方法。基于途中的節點的處理結果來選 擇要起動哪個分支。優點在于高速處理,并期望獲得比第二種方法更高速 的處理。并且,盡管精度取決于選擇方法,但是能夠實現相對精確的分類。 缺點在于需要稍微復雜的處理。例如,需要與非專利文獻3中相似地生成 分支可選的節點,并且需要實現另一分支選擇方法。
本實施例采用能夠期望最高處理速度的第三種方法。作為分支選擇方
法,與非專利文獻3中在分支之前選擇的方法不同的是,采用了如下方法 臨時地起動分支的所有的枝,并基于各個枝的處理結果來選擇要留下的分 支(分支后選擇方法)。稍后描述本實施例的分支選擇方法的細節。 (基本檢測處理)
以下將參照圖4及圖7來描述本實施例的模式識別單元中的基本檢測 處理。圖4是示出弱判別器節點的內部結構的框圖,圖7是用于說明在各 弱判別器節點中執行的節點內判別處理的序列的流程圖。
參照圖4,節點401及節點402中的每一個表示一個弱判別器及其外 圍電路(合稱為節點或弱判別器節點)。圖4示出了這兩個節點之間的邏輯 連接狀態。作為整個模式識別單元,連接有要級聯或中途分支的更多個節 點,如圖3A及圖3B所示。這些節點物理上由在通過切換參數來進行分時 的同時使用的一個處理電路構成,由此邏輯上實現大量節點。出于高速處 理的目的,可以將多個節點實現為物理上獨立的電路,并且可以將處理并 行地分配給這些電路。
參數寄存器411及參數寄存器412中的每一個存儲構造一個弱判別器 所需的參數信息。判別處理單元203中的參數存儲器451將要存儲在這些 寄存器中的針對所有的弱判別器節點的參數信息一起存儲起來。參數存儲器451是可從判別處理單元203的外部的CPU 208及DMAC 204存取的,并且在執行檢測處理之前利用參數信息來設定。
由于本實施例的弱判別器使用如非專利文獻l中的矩形特征,因此需要矩形的數量、矩形坐標、濾波器系數、濾波器閾值、可靠性權重(=得分)及識別閾值作為檢測時的參數。圖17A及圖17B例示了存儲在參數存儲器451上的各個弱判別器節點的參數。除了這些參數以外,參數存儲器451能夠針對各弱辨別器節點而保持自身ID、作為前一段的弱判別器節點的ID的前一段ID、以及作為后續段的多個弱判別器節點的ID的多個后續段ID。
注意,自身ID、前一段ID及后續段ID形成一種能夠表達節點的連接結構(=分支結構)的雙向列表。由于圖17A及圖17B中的第一塊(弱判別器節點1)表示圖3B中的識別單元中的第一節點,因此不存儲前一段ID,而僅存儲一個后續段ID。在本實施例中,后續ID域具有固定的尺寸(g卩,上限值)。即,每個節點的參數塊的尺寸是固定的。在緊接分支之前的節點中,存儲了與分支的數量一樣多的后續段ID。在執行時,通過追蹤該雙向列表區,能夠指定弱判別器的執行順序。根據給定的作用(role)(稍后描述)來分配節點ID,開始節點具有最小的ID值。由于參數存儲器按ID的升序依次地從參數塊存儲參數,因此第一塊總是表示開始節點,并且能夠通過地址解碼器來容易地實現用于讀出與期望ID相對應的參數的處理。
在上述參數中,"矩形的數量"是指定檢測窗中的矩形的數量的信息。例如,在如同圖9中所示的第一級和第二級中的弱判別器的濾波器的情況下,矩形的數量為2。在圖9中的第n級中的第m弱判別器的情況下,矩形的數量為3。在圖9中,白色矩形及黑色矩形中的每一個對應于一個矩形。弱判別器421使用"濾波器閾值"來執行對通過將矩形中的總和值(或平均值)乘以對各個矩形設定的"濾波器系數"而獲得的值的合計的閾值處理。如果滿足閾值條件(不等式(3)),則弱判別器421輸出'T,;否則,其輸出"-l"。
f&q〉 —, …(3)
其中,p:矩形區的數量,
Si:矩形區中的像素值總和,Ci:矩形區的濾波器系數,且WTh_t:節點t的弱判別器的濾波器閾值。矩形區的形狀、位置及數量,濾波器系數Ci以及濾波器閾值WTht是
在學習時確定的參數。在本實施例的弱判別器中,Ci取值"r,或"-r,。艮口,不等式(3)的左邊與用于計算多個矩形區中的像素總和值Sj的差值的處理相對應。比預定濾波器閾值wThJ大的該差值與表示僅在本弱判別器的情況下輸入數據是識別對象模式的確定結果相對應。
如前所述,能夠參照SAT數據來很快地計算出矩形區中的總和值S1QSAT存儲器450存儲由預處理單元202在檢測處理開始之前計算出的、對于一幀的輸入圖像數據的SAT數據。SAT存儲器450可以可靠地設置在RAM 210中,但是期望將其布置為判別處理單元203中的內部RAM,以獲得高速處理。弱判別器421參照來自SAT存儲器450的檢測窗位置處的值來計算Si,并檢查不等式(3)是否得到滿足。
"矩形坐標"是表示各矩形區的位置的坐標信息。"濾波器系數"是正系數或負系數。"可靠性權重(得分)"是表示對象節點的單獨的弱判別器的可靠性的值。使用在第t節點之前己被處理的各個節點的單獨的得分的帶符號的總和值(下文中稱為累積得分)來執行增強判別。即,累積得分是表示通過將第1節點至第t節點級聯連接的整個識別單元的判別的概率的值,即,整個識別單元的可靠性。"識別閾值"是用于由增強判別器使用該累積得分值來進行確定的閾值。
假設hk(x) (x:輸入數據)為級聯連接中的第k節點的弱判別器(等同于弱判別器421)的判別結果,ock為可靠性,Tght為第t段的節點的識別閾值。然后,第t段的中止確定單元(等同于中止確定單元461)的中止確定由下式描述
t"D〉V, …(4)
注意,當各弱判別器單獨地確定檢測對象物體時(=當不等式(3)的濾波器閾值條件得到滿足時),hk(x)的值為l,當各弱判別器確定非檢測對象物體時(=當不滿足濾波器閾值條件時),hk(x)的值為-l。
如果不滿足不等式(4),則中止處理;否則,處理繼續以將累積得分(整體可靠性)輸出至下一節點。如果該判別條件在最終節點中得到滿足,則確定檢測到檢測對象模式。注意,可靠性Ott及識別閾值Tgh一t是在第t段的節點學習時確定的參數。
從與節點相對應的參數寄存器(等同于參數寄存器411或412)中讀出可靠性(Xk,并由乘法器(等同于乘法器431)將其乘以弱判別器(等同于弱判別器421)的輸出hk(X)。加法器(等同于加法器441)將乘積加到從前一段的節點輸出的累積得分。中止確定單元(等同于中止確定單元461)使用從與弱判別器相對應的參數寄存器(等同于參數寄存器411)中讀出的識別閾值Tgh」來對到目前為止所獲得的累積得分檢査不等式(4)。
如果累積得分比識別閾值(不等式(4)的右邊)大,則處理繼續,并且將累積得分輸出到下一段的節點。如果所關心的節點為分支節點,并且在下一段中有多個節點,則所關心的節點將同一累積得分值輸出給下一段中的所有的節點(=兄弟節點)。
圖7是示出各弱判別器節點中的處理的序列的流程圖。參照圖7,步驟S701是計算不等式(3)的左邊的特征量計算處理。步驟S702是使用濾波器閾值的確定處理(即,不等式(3)的確定處理),如果要被處理的節點是第t段的節點,則該處理將與不等式(4)中的ht(x)相對應的值設定為"l"或"-r。這是弱判別器421的輸出。
步驟S703是要被處理的各單獨的弱判別器節點的得分值計算處理,其計算與不等式(4)中的ottht(x)相對應的值。可靠性at是從參數寄存器411或412讀出的值,如上所述。
在步驟S704中,通過將得分值加到來自前一段的輸出值來計算累積和值(累積得分值)。在對累積得分值的計算中,計算不等式(4)的左邊。當前一段的節點的處理執行完成時,將前一段之前的累積得分值與前一段的節點的ID相關聯地保持在內部存儲器中。
由于前一段ID存儲在執行中節點的參數寄存器中,因此能夠使用前一段ID從存儲器中讀出前一段之前的累積得分值。因此,該步驟中的處理僅需將在步驟S703中計算出的值加到從存儲器中讀出的值。
在步驟S705中,執行與不等式(4)相對應的判別處理。該處理由中止確定單元461來執行。如果在步驟S705中確定要中止處理,則在步驟S707中做出中止設定(設定標記等),以中止后續段的處理。如果確定不中止處理,則在步驟S706中將累積得分值與節點ID相關聯地存儲在內部
21存儲器(未示出)中,從而可在后續段的節點處理中使用該值。在步驟S706中,可以保持除累積得分以外的其他處理結果值(例如,單獨的得分值等)。已描述了由判別處理單元203所執行的弱判別器節點的處理。
當不被中止的所有的弱判別器節點完成時,將這些累積得分值輸入給圖3A中的最終確定單元307。對保持不被中止的累積得分值應用綜合處理,并使用最終識別閾值來執行閾值處理。如果分支選擇(稍后描述)中允許同時選擇多個枝,則多個累積得分值的輸出可能同時到達最終確定單元307。在這種情況下,綜合處理例如可以將到達的所有的累積得分值相加、或可以使用它們的最大值或平均值。如果僅允許選擇一個枝,則由于最終確定單元執行與由中止確定單元461所執行的閾值處理相同的單純的閾值處理,因此最終段的弱判別器306的中止確定單元可以替代地執行該處理。
(節點ID)
向各弱判別器節點分配節點ID,如圖3B所示。將該節點ID分成分支枝ID部分及唯一 ID部分。唯一 ID部分包括唯一地分配給各節點的號。向開始節點的唯一 ID部分分配號0,并且該號隨著處理段數的增加而逐一地遞增。在分支之后,向到達下一分支之前的每個枝的節點分配連續的號。在到達下一分支之后,向下一枝的第一節點分配下一號。即,不存在唯一ID相同的節點,并且通過將唯一ID號乘以塊尺寸,能夠容易地計算出與參數存儲器上的節點相對應的參數塊的地址。
分支枝ID部分包括兩個號,g卩,分支號及枝號。分支號在初始非分支狀態中為0,并且每次處理分支時遞增1。每次處理分支時,枝號從0開始,并向各個枝分配逐l增加的號。
根據上述規則,例如,假設no為分支之前的處理段數,開始節點的ID為00—0,緊鄰第一分支之前的節點的ID為00—<n(rl>。此外,假設n,為在第一分支之后并且緊鄰第二分支之前的處理段數,第一分支的第一枝的第一節點的ID為10—<nQ>。緊鄰該枝的弱判別器陣列的第二分支之前的節點的ID為10—〈no+m-l〉,第二枝的第一節點的ID為10_<nG+ni>。(利用分支選擇的檢測處理)
以下將參照圖15A及圖15B來對當輸入各子窗的圖像(等同于圖8中的圖像801)時要在執行分支選擇的同時執行的檢測處理的序列進行描
22述。響應于來自圖2中的CPU208的指令,使用包括判別處理單元203的各個單元來執行該處理。
在步驟S1501中,執行執行預定隊列的初始設定處理。該處理按執行順序將預定要被執行的節點的ID插入隊列中。如上述ID,由于第一節點的ID被確定為00—0,因此首先將其插入。然后,通過追蹤參數存儲器的雙向列表區的ID,按照根據節點的連接結構的處理的順序而插入ID。在這種情況下,在假定要執行第一分支之后的在預定段數(m。之前的節點的情況下,設定ID。 g卩,在插入分支之前的ID: 00—O至ID: 00—<n0-l>之后,將第一分支的第一枝的從ID: 10—<110>至ID: 10—〈no+m,-l〉的ID插入。然后,在插入第二枝的從ID: 11—〈no+n!〉至ID: 11—〈n。+n麵-l〉的ID、以及第三枝的從ID: 12—〈no+2n^至12—〈no+2n!+m廣l〉的ID之后,中止處理。
預定段數m,是在學習(稍后描述)時被確定的、要接續的非分支接續段的最小必需數量,并且可能與從第一分支至第二分支的接續段的數量n, (m《m)相匹配。如稍后將要描述的,本識別單元基于在第一分支的所有的枝的弱判別器陣列的nn段之前的處理結果來確定繼續處理的枝。因此,不可避免地執行被插入執行預定隊列中的在ID: 12—〈n。+2m+nn-l〉的之前的節點的處理,除非這些處理在枝的途中被中止。即,第一分支的第nn段的節點為第一分支的分支選擇節點。并且,假定第m2段及第m3段的
節點分別為第二分支及第三分支的分支選擇節點。
在步驟S1502中,提取執行預定隊列中所存儲的一個第一ID。對于具有所提取的ID的節點,執行步驟S1503中的節點內確定處理。以上已使用圖7來描述了節點內確定處理的細節。
在步驟S1504中檢査節點內判別處理結果是否表示中止確定。如果該結果表示中止確定,并且如果執行中的節點是第一分支之前的弱判別器陣列中的一個節點,則不需要執行后續處理。如果執行中的節點是分支的一個枝的弱判別器陣列中的一個節點,則不需要執行該枝的后續段的判別器以及從該枝擴展的所有的枝的判別器。
步驟S1505是用于從執行預定隊列中去除不需要執行的所有的節點的ID的處理。在該處理中,首先檢查被確定中止的節點的分支枝ID部分。然后,從開頭掃描執行預定隊列,并且去除分支枝ID部分與該ID部分相匹配的所有的ID。保持最后被去除的ID,并且當去除具有相同的分支枝
ID的所有的ID時,使用最后的ID從參數存儲器中檢査其后續段ID。然后,再次掃描執行預定隊列,以去除分支枝ID部分與檢査出的后續段ID的ID部分相匹配的所有的ID。通過重復該處理,能夠從執行預定隊列中去除在被確定中止的節點之后的所有的節點的ID。
在步驟S1506中檢查執行預定隊列中是否仍剩余其他節點ID。如果第一分支之前的節點被中止,則此時隊列中未剩余ID。如果第一分支之后的枝中的任一個的節點被中止,則有可能剩余其他枝的ID。如果確定仍剩余其他節點ID,則處理返回到步驟S1502,以再次逐一地提取ID,由此執行判別處理。
如果執行預定隊列中未剩余ID,則處理進入步驟S1507,以檢査是否剩余除被中止的枝以外的其他接續中的枝。該檢查處理是通過查看是否保持接續中的ID (稍后描述)而獲得的。如果剩余接續中的枝,則處理進入步驟S1511 (稍后描述)。如果未剩余接續中的枝,則中止所有的枝,并且確定所關心的子窗不包含任何人臉,由此結束處理。
如果在步驟S1504中確定結果不表示中止確定,則處理進入步驟S1508,以檢査被執行的節點是否是存儲在隊列中的終端節點。如果對執行預定隊列進行掃描并且該隊列中未存儲該枝的后續節點的ID,則確定被執行的節點是隊列中的終端節點。在步驟S1509中,當前被執行的節點ID作為接續中的ID而保持在存儲器的預定區中。如果被執行的節點不是終端節點,則跳過步驟S1509中的處理。
在步驟S1510中檢查執行預定隊列中是否仍剩余其他ID。如果仍剩余其他ID,則處理返回到步驟S1502,以重復這些處理,從而與步驟S1506中相同地執行這些ID的節點。
如果從執行預定隊列中提取了所有的ID,則處理進入步驟S1511,以檢査存在/不存在非執行節點。作為前一處理的結果,由于在步驟S1509中在存儲器的預定區中保持接續中的節點ID,因此使用該ID來訪問參數存儲器451的雙向列表區,以檢查是否設定了后續段ID。如果確定設定了后續段ID,則確定存在非執行節點。
如果確定存在非執行節點,則處理進入步驟S1512,以執行分支選擇處理。本實施例的分支選擇處理使用要處理的分支的所有的枝的預定段位置處的弱判別器的處理結果。因此,在步驟S1512之前,必須完成所有的
枝中的預定段數或更多的弱判別器的處理。在以上描述中,要被存儲在執
行預定隊列中的ID是達到預定段數的ID。然而,并不特別地限制ID的數量,只要其等于或大于預定段數即可。
本實施例的分支選擇處理很簡單,如圖16的流程圖所示。在步驟S1601中,獲取接續中的分支選擇節點的累積得分值。如上所述,由于保持接續中的ID,并且前一ID表示執行預定隊列中所存儲的終端節點,因此該ID表示其處理在分支選擇段(第r^、 m2或m3段)中未被中止的節點。由于將累積得分值與ID相關聯地保持,如圖7中的步驟S706中所描述的,因此能夠使用接續中的ID來獲取累積得分值。
在步驟S1602中,選擇累積得分值最大的節點的ID作為要接續的ID。即,所選擇ID的分支枝ID部分表示所選擇的分支的枝。注意,可以使用新的閾值,并且不僅可以剩余累積得分值最高的ID而且可以剩余閾值的范圍內的多個ID。作為結果,盡管要處理的分支的枝的數量增加,但是以處理速度為代價提高了精度。
參照回圖15B,在步驟S1513中重新設定執行預定隊列。該處理使用作為步驟S1512中的分支選擇處理的結果的剩余分支的接續中的節點ID,來參照參數存儲器451的雙向列表區。然后,將接續中的節點所屬的分支枝的所有的剩余節點、以及下一分支的各個枝的達到預定段數的分支選擇節點存儲在執行預定隊列中。如前所述,在第二分支中,預定段數在為直到第m2段,在第三分支中,預定段數為直到第m3段,并且在學習(稍后描述)時對該預定段數進行確定。在不存在后續分支時,將雙向列表中的接續中的節點ID之后的終端之前的所有的節點的ID存儲在執行預定隊列中。
在步驟S1514中,清除所保持的接續中的ID,處理返回到步驟S1502,
以重復各個節點的處理。
如果在步驟S1511中確定不存在非執行節點,則執行步驟S1515中的綜合處理。該綜合處理將作為接續中的節點而剩余的ID的輸出值進行綜合,并且計算平均值、合計值或最大值作為用于確定最終人臉概率的可靠性得分值。此外,也可以基于到達的分支枝來估計人臉變化。
在步驟S1516中,計算出的可靠性得分值經受最終閾值處理,以判別是否檢測到人臉。該步驟與圖3A中的最終確定單元307的處理相對應。(基本學習處理)
以下將參照圖6描述通過機器學習處理來生成根據本實施例的增強型模式識別單元的基本方法。圖6是用于生成僅由成一線的非分支弱判別器陣列構成的模式識別單元的機器學習處理的流程圖。當學習與分支的各個枝相對應的各個弱判別器陣列時,基本上使用同一算法。注意,用于各個枝的學習用的數據組的人臉數據與由各個枝所覆蓋的變化范圍的分類相對應。
當圖2中的CPU208執行學習處理程序時,實現以下要描述的機器學習處理。
在下述的學習處理之前,根據變化類別來對學習所需的數據組進行分類,并將其存儲在大容量存儲單元211中。這些數據組是被提取到以上使用圖8所描述的處理窗尺寸的數據801中的人臉模式或非人臉模式。作為另一種選擇,可以在每次執行處理時提取數據。然后,能夠使用大量的具有被與要學習的弱判別器陣列相對應的變化類別的變化范圍分類的變化的檢測對象數據、以及大量的非檢測對象數據(例如,背景等)。例如,當覆蓋了圖5中所描述的標記aBl的變化范圍的第三分支之后的枝中的弱判別器陣列學習時,使用被分類成同一標記aBl并被保持在大容量存儲單元211中的人臉圖像數據中的全部或一些。對于非分支枝,使用包括所有的類別的變化的數據。當第一分支的枝學習時,使用包含變化類別502及變化類別503的所有的變化的數據。當第二分支的枝學習時,使用包含變化類別503的所有的變化的數據。
根據稱為AdaBoost的集成學習算法來學習弱判別器。基本學習算法與非專利文獻1中所描述的方法相同。
在步驟S601中,從保持在大容量存儲單元211中的學習用的數據中選擇當前的學習中所使用的數據。在這種情況下,提取作為檢測對象模式的人臉數據以及作為非檢測對象模式的非人臉數據,以使得所提取的數據的數量滿足預定比率。
由于預備識別單元或主識別單元的分支包含作為要被覆蓋的變化類別的組合的分類,因此選擇屬于這些分類的人臉數據作為檢測對象模式。作為非檢測對象模式,使用非人臉數據。此外,作為非檢測對象模式,在學習時可以添加被分類為不被覆蓋的變化類別的組合的人臉模式。作為結果,期望預備識別單元或分支執行選擇性較高的檢測處理。
在步驟S602中,對所提取的學習用的數據組的權重系數進行初始化。
如果學習用的數據的總數是m,則所有的權重系數Wt,j (t:節點號,j:學
習用的數據號)由下式初始化-
=丄,7 = 1,,.,,附 …(5)' 附
艮p,在第一節點學習時,對所有的學習用的數據賦予共同的權重。在
步驟S603中,執行根據下式來對權重系數進行正規化的處理
當第一次執行步驟S603時,權重系數w,,j取在步驟S602中所設定的值(式(5)),并且己滿足式(6)。因此,該步驟S603是用于當在第二節點及后續節點學習時改變權重系數Wt,j時,將權重系數wt,j的總和正規化為1的處理。
在步驟S603至S610中,學習一個弱判別器。
在步驟S604中,從矩形濾波器組中選擇一個矩形濾波器。矩形濾波器組包括具有相對于具有預定形狀的基本矩形濾波器的、根據尺寸及在檢測窗中的位置的變型的多個矩形濾波器候選。例如,在圖9中的第一弱判別器中所例示的鄰接的上矩形區及下矩形區的差分濾波器的情況下,根據各矩形區的尺寸及縱橫比以及在檢測窗中的位置,多個變型是可用的。作為矩形濾波器組,參照一些預定的基本矩形濾波器以及它們的變型來準備所有的組合。向準備好的矩形濾波器分配序號作為濾波器號。該步驟執行用于依次逐一地選擇這些準備好的矩形濾波器候選的處理。
然后,使用在步驟S605中所選擇的矩形濾波器候選,評價該矩形濾波器對于所有的學習用的數據的判別性能。最初,針對所有的學習用的數據,計算該矩形濾波器的輸出值,并確定用于將檢測對象與非檢測對象分開的閾值。此時,使用判別處理單元203,通過硬件來處理濾波器輸出值計算。使用矩形濾波器輸出值的直方圖來確定閾值。
圖13示出了針對所有的學習用的數據的檢測對象數據的直方圖1302及非檢測對象數據的直方圖1301。橫坐標繪制濾波器輸出值(矩形差值),縱坐標繪制用于產生該值的學習用的數據的數量。使用這些直方圖來確定
27將檢測對象與非檢測對象分開得最佳的閾值FTh—tj (其使錯誤率最小化,t:學習中的節點號,j:濾波器候選號)。此外,在步驟S605中,使用所確定的閾值FTh—t,j來計算針對所有的學習用的數據的檢測錯誤率。由下式給出針對所有的學習用的數據的權重錯誤率
其中,t:學習中的節點號,j:濾波器候選號,且i:學習用的數據號。注意,ht,j(Xi)是矩形濾波器候選j對學習用的數據號i的確定輸出當使用閾值FTh一t,j而確定輸入對象數據Xi是檢測對象時,輸出"l";或者,當確定輸入對象數據X,不包含任何檢測對象時,輸出"0"。 yi是取決于輸入學
習用的數據i是否是檢測對象而被分配"r或"o"的正確答案標記(教示標
記)。通過步驟S606中的反復的處理,針對所有的矩形濾波器候選而執行上述處理(步驟S604及S605),由此計算權重錯誤率Et,j。
當對所有的權重錯誤率Et,j的計算完成時(步驟S606),搜索權重錯誤率Et,」最小的矩形濾波器候選j (即,判別性能最高的矩形濾波器),并選擇其作為弱判別器(步驟S607)。假定Et為此時的權重錯誤率。并且,將該濾波器中所使用的閾值FTh」,j確定為濾波器閾值WTh」。
然后,由下式來計算弱判別器的可靠性at (步驟S608):
a, = log
.(8)
將計算出的可靠性Ott,濾波器閾值WTht,以及矩形濾波器的矩形區的
形狀、位置、矩形的數量、及濾波器系數作為學習中的節點t的參數而記錄
在RAM 210中。
在步驟S609中,確定中止閾值。在這種情況下,能夠按照與矩形濾波器的確定閾值的確定方法相同的方式,基于檢測對象數據的累積得分的直方圖以及非檢測對象數據的累積得分的直方圖來確定閾值。圖14是用于說明累積直方圖的示例的圖,以說明中止閾值的確定方法。標號1401表示非檢測對象數據的累積得分的直方圖;標號1402表示檢測對象數據的累積得分的直方圖。確定中止閾值落入其中對檢測對象數據的中止率(被中止的檢測對象數據的數量/檢測對象數據的數量)等于或小于預定值的許可范圍
28內。被中止的檢測對象數據的數量是其直方圖1402的累積得分變得等于或小于該步驟中所確定的閾值的數據的總數。由于非檢測對象數據盡可能早地被中止,因此在該步驟中不需要考慮非檢測對象數據。該步驟中所確定的閾值是在圖4中的中止確定單元461中所使用的中止閾值參數Tgh—1。
此外,在步驟S610中,由下式來對各個學習用的數據的權重系數進行
1 —
注意,要由式(9)來更新的權重系數wt,j僅是被正確地檢測到的學習用的數據i的權重系數。S卩,對被正確地檢測到的學習用的數據(檢測對象數據和非檢測對象數據)的權重進行更新以使其減小。因此,在步驟S610中,錯誤地檢測到的學習用的數據的權重相對地增加。
在利用到目前為止所執行的處理(步驟S603至S610)來生成一個弱判別器之后,在步驟S611中確定是否生成了滿足預定完成條件的增強識別單元。注意,首先當弱判別器的數量達到預先設定的上限值時預定條件得到滿足。作為另一種選擇,當使用式(7)而計算出的權重錯誤率Eg小于預定值時,或者當單獨地布置的性能測量單元確定整個識別單元的識別性能能夠在學習開始時達到期望的性能時,預定條件得到滿足。如果不滿足預定條件,則處理返回到步驟S603,以接續后續弱判別器的生成處理。(學習用的數據組及評價用的數據組)
在本實施例中,在學習之前,執行樣本數據的輸入處理及分類處理。這是用于輸入物體對象數據作為學習處理中以及該學習處理中的評價處理中所使用的檢測對象(本實施例中的人臉圖像數據)的處理,并且需要包含對象類別的所有的變化的足夠大量的數據。可以將學習用的數據與評價用的數據分開地輸入,或者可以輸入大量的人臉圖像數據組,并且可以通過在學習處理及評價處理時進行采樣來使用該人臉圖像數據組。
還將一組非檢測對象模式(例如,不是檢測對象物體的物體、背景等)(即,本實施例中的一組非人臉數據)輸入給裝置,并且能夠在學習處理及評價處理中使用該組非檢測對象模式。
由圖2中的圖像輸入單元201來輸入這些數據。當圖像輸入單元201包含圖像傳感設備時,當用戶經由用戶I/F207而將所需的附加信息(眼及口的位置坐標)輸入給通過圖像傳感而獲取的人臉圖像時,對數據進行累 積。作為另一種選擇,可以將預先獲取的人臉圖像與附加信息一起經由圖
像輸入單元201所共用的通信I/F 206而從外部裝置輸入。所輸入的學習用 的數據及評價用的數據保持在大容量存儲單元211中。
使用附加信息,按照識別單元所支持的所有的變化類別,對所輸入并 保持的人臉圖像數據進行分類(標記)。例如,使用圖5中所示的標記,將 "沿面內旋轉方向逆時針旋轉30。、沿深度旋轉方向向左旋轉10°、并且尺寸 為18"的人臉"分類為"aBl"。
在本實施例中,人臉數據附有三條信息,例如,兩眼坐標、口坐標及 深度旋轉角度。當用戶使用用戶I/F207來輸入這些條信息時,他或她使用 諸如鼠標等的指示設備來輸入在顯示器上所顯示的人臉圖像的眼和口的坐 標。并且,用戶使用鍵盤來輸入(主觀的)深度旋轉角度。當從外部裝置 發送來學習用的數據及評價用的數據時,已輸入的這些條附加信息一起被 發送來。
在本實施例中,基于連接兩眼的線段的角度來計算變化類別501的面 內旋轉角度。在該線段在圖像中水平時,面內旋轉角度為O。,并且順時針 旋轉角度以該角度為基準而取正值。基于從連接兩眼的線段到口位置的高 度差的像素數量來計算變化類別503的尺寸變化。當側臉中僅出現一只眼 時,單獨地輸入表示緊貼頭上方的位置的頭頂方向作為附加信息,由此使 得可以計算面內旋轉及尺寸。可以增加表示特征點位置(例如, 一只眼的 內眼角及外眼角、耳朵位置、鼻孔位置等)的附加信息的條數,并且可以 基于這些條信息來估計并計算頭頂方向。
可以在學習開始之前的任意定時執行學習用的數據及評價用的數據的 輸入處理及分類處理。當以下要描述的學習中所使用的數據與評價中所使 用的數據不同時,僅需要在這些處理中的每一個開始之前完成這些數據的 輸入處理及分類處理,并且將其保持在大容量存儲單元211中。
作為另一種選擇,在學習處理過程中,可以經由通信I/F206而依次地 獲取存儲在外部裝置中的經分類的數據。
作為分支(以下描述)的各枝中的弱判別器陣列的檢測對象的人臉數 據是基于要被該分支枝覆蓋的變化類別的劃分的變化范圍的組合而被分類 的人臉數據。例如,第三分支之后的枝的弱判別器陣列(其與圖5中由標記aBl所表示的分類相對應)僅學習帶有與檢測對象數據相同的標記的人
臉圖像。在到達最終分支之前的枝中,基于尚未到達的變化類別的分類是 任意的,并且各個枝覆蓋了所有的變化范圍。例如,表示第一分支的覆蓋
范圍的標記是"3**"、 "b**"、 "cW中的一個,用星號將該標記與尚未開始
的分支要覆蓋的變化類別相關聯地表達。作為非檢測對象的非人臉數據對 于每個枝是共同的,不特別地具有任何標記。
(確定接續段的最小數量的學習序列)
圖1是示出作為本發明的特征處理的模式識別單元生成方法的示例的 流程圖。在該處理中,確定分支型模式識別單元中的分支的各個枝的非分
支接續段的數量。在圖1中,步驟S101、 S103及S107中的弱判別器生成
處理與使用圖6所描述的基本學習處理方法等同。
在步驟SIOI中,生成分支之前的一個弱判別器陣列。假定在該處理中, 與圖6中的步驟S611相對應的對完成條件的確定使用憑經驗確定的預定段 數。作為另一種選擇,使用大量的非人臉數據作為評價用的數據組,每次 生成一段時執行檢測處理(圖7及圖15),以檢査其累積中止率,將達到預 定非人臉累積中止率之前的段的數量確定為預定段數。各段的非人臉中止 率不一定單調地減小,如圖24所示,并且如同圖24中的第三段及第四段,
在大部分非人臉數據未被中止之后,可以中止許多非人臉數據。在這種情 況下,在段數接續到第四段而不是第三段時,可以提高中止效率。此外, 可以將人臉數據中止率考慮在內。例如,可以將等于或低于預定許可人臉 中止率的人臉數據中止率添加到接續條件中。該構思也能夠在對分支之后 的各枝的非分支接續段的數量的確定中使用,如稍后將描述的。
當對預定段數的弱判別器的生成完成時,在步驟S102中設定分支點。 作為步驟S102中的第一處理,由于分支結構如圖3B中所示,因此設定了 將變化類別501的變化范圍劃分成三個范圍的、與a、 b、 c相對應的三個分 支。
在步驟S103中,將各個分支枝的弱判別器陣列生成預定段數。作為預 定段數,在非分支接續段的最小必需數量(接續段的最小數量)是例如根 據經驗而預先明確得知的時,能夠在分支之后的第一執行時設定該段數。 當非分支接續段的數量未知時,或者當第二次或在分支之后執行該步驟時, 將一個段設定為預定段數。各個分支枝中所使用的學習用的數據是具有由變化類別501所表示的變化a、 b、 c的數據,并包括與變化類別502及變化 類別503的變化相關聯的所有的變化范圍的數據。認為各個分支枝的弱判 別器陣列是從識別單元的開頭的分支之前的弱判別器起連續的。此時,與 圖6中的步驟S602中的權重系數初始化相對應的處理與上述處理稍有不 同。在該處理中,將各個分支枝的學習用的數據組輸入給所生成的分支之 前的弱判別器陣列,并且在不改變各段的處理中的濾波器或其他系數的情 況下,設定通過執行步驟S603或S610中的權重系數更新處理而獲取的權 重。
在步驟S104中,對所生成的分支枝的弱判別器陣列進行評價和比較, 并且檢查是否達到要接續的段的最小必需數量。在本實施例中,使用如圖 18中所示的累積得分作為評價用的參數來執行評價。
參照圖18,在步驟S1801中,選擇與當前要被評價的分支相對應的變 化類別中的一個分類(即,劃分的變化范圍中的一個),并且從預先準備好 的評價用的數據中選擇具有被分類到該變化范圍內的變化的數據組。
例如,作為第一分支的評價處理,選擇被分類為變化類別501的變化 范圍a、 b、 c中的一個的數據組作為評價用的數據組。這些數據組包括其余 的變化類別502及變化類別503的所有的變化范圍的數據。為了簡單起見, 使用星號來描述用于表達該數據的分類標記的除確定的變化類別以外的其 他變化類別的數字,如同"a""及"b""。
在步驟S1802中,選擇分支枝中的一個。各枝是覆蓋變化類別501的 變化范圍a、 b、 c中的一個的弱判別器陣列。
在步驟S1803中,將在步驟S1801中所選擇的評價用的數據輸入給所 選擇的枝的弱判別器陣列,并且執行檢測處理。當認為從非分支的第一弱 判別器到所選擇的枝的所生成的弱判別器的弱判別器作為一個弱判別器陣 列時,執行該檢測處理,并且不執行圖15B中所示的分支選擇處理(步驟 S1512)。僅將圖7中所示的處理重復與弱判別器節點的段數一樣多,并且 如果在步驟S707中檢測處理被中止,則不執行后續段的處理。
在步驟S1804中,檢査是否針對所有的分支枝完成了所選擇的變化的 評價用的數據的檢測處理的執行。如果檢測處理的執行尚未完成,則處理 返回到步驟S1802,以執行針對所有的分支枝的處理。
在步驟S1805中,檢查使用與評價中的分支相關聯的所有的分類的評價用的數據的檢測處理是否完成。如果使用所有的分類的數據的檢測處理 尚未完成,則處理返回到步驟S1801,以選擇下一分類。
以這種方式,獲得輸入給各個弱判別器陣列的變化數據的所有的組合
的檢測處理結果。例如,在第一分支中,獲得將數據a、 b、 c輸入給弱判別 器陣列a、 b、 c時的九個不同的檢測處理結果。
當所有的組合的檢測處理完成時,在步驟S1806中執行累計得分差計 算處理。該處理計算在將某一變化范圍數據組輸入給一個分支枝時的累積 得分值的平均值,并且比較分支枝之間的差值。
圖19A示出了在將、**"變化數據組輸入給第一分支之后的三個分支 枝時各弱判別器段的累積得分值的轉變。該示例僅包括非分支弱判別器的 一個段,并且第一段的輸出是相同的值。識別單元從第二段起被分成三個 枝,并且在各個枝中生成不同的弱判別器。如從圖19A可以看出的,隨著 處理段數的增加,累積得分之間的差逐漸變大。由于"a""變化數據組要由 與"a""相對應的分支枝正常地檢測到,因此"a^"分支的輸出最高。由于 "a""為面內左旋轉(如圖5中由標號501所表示的),因此覆蓋相對地接
近于"3**"的變化范圍的"15**"分支的輸出次最高,"c^"分支輸出最低的累
積得分值。
圖19B示出了在將"b^"變化數據組輸入給三個分支枝時的平均累積 得分值及轉變。由于"bw變化范圍表示幾乎直立的面內旋轉范圍,因此 "b""變化范圍等同地接近于"aw及"c""。因此,原先要覆蓋該數據組的 "b^"分支表現出最高的累積得分值,并且"3**"及"^*"表現出兒乎相等的值。
以這種方式,在具有三個或更多個分支枝的分支的情況下,在步驟 S1806中執行用于計算這些枝的平均累積得分值之間的差并對它們進行綜 合的處理。作為綜合處理,可以計算累積得分差值的平均,或者可以選擇 最小值。當選擇最小值時,期望提高分支選擇性,但是相應地很可能需要 較長的接續段的數量。
如果在步驟S1807中確定綜合后的差值變得等于或大于預先設定的預 定值,則將此時的段數確定為接續段的最小必需數量。可以使用差值自身 來確定預定值,但是可以由對更大致地評價的段的平均累積得分最大值的 比率來定義該預定值。
33本實施例的檢測時的分支選擇處理基于分支之后的各個枝的累積得 分值來選擇累積得分值最高的節點所屬的枝,如同以上參照圖16所描述 的。因此,當關于所輸入的評價用的數據組的平均累積得分差變大時,期 望增加正確地選擇覆蓋相應的范圍的分支枝的比率。可以使用用于確定非 分支接續段的數量、還考慮了除平均累積得分差以外的變化的算法。
如果在步驟S1807中確定各個枝的平均累積得分差變得等于或大于預 定差(預先設定的差值),則在步驟S1808中將當前被評價的段確定為段 的最小必需數量。如果該差不等于或不大于預定差,則在步驟S1809中確 定尚未達到接續段的最小必需數量。
參照回圖1,在步驟S105中確定是否達到接續段的最小必需數量。實 際上,該步驟中的處理可以與步驟S1807結合起來,但是出于描述方便, 也在圖1中進行了描述。如果確定達到接續段的最小必需數量(步驟S105 中"是"),則由于僅確定非分支接續段的"最小必需"數量,因此并不特別地 限制實際中要接續的段數,只要其等于或大于非分支接續段的數量即可。 因此,在處理進入下一步驟S106之前,可以額外地生成預定段數的弱判 別器。
在步驟S106中檢查是否仍剩余下一分支預定。例如,在第一分支之 后的第一處理的情況下,處理返回到步驟S102以重新開始該處理,從而 接著執行第二分支。如果第三分支之前的處理完成并且未剩余分支,則處 理進入步驟S107。
在步驟S107中,生成相對于所生成的各個分支枝的弱判別器的、預 定段數的或者直到預定條件得到滿足的剩余的弱判別器。如果所有的分支 的生成完成,則處理結束。
如上所述,根據本實施例的模式識別單元生成方法,由于評價對于特 定的變化的評價用的數據的分支的各個枝的累積得分差,因此能夠確定實 現令人滿意的分支選擇所需的非分支接續段的最小必需數量。 (第二實施例)
在第一實施例中,已對使用累積得分的差值來確定非分支接續段的最 小必需數量的方法進行了說明。在第二實施例中,將對基于輸入評價用的 數據時的分支的選擇錯誤率來確定接續段的最小必需數量的方法進行說 明。在本實施例中,為了避免與第一實施例的描述重復,僅對與第一實施 例的不同之處進行描述。用于在評價所生成的各個分支枝的弱判別器陣列 的同時推進學習的基本處理的序列與圖1中所示的第一實施例相同。在本 實施例中,執行步驟S104中所描述的所生成的弱判別器評價處理,如圖
20所示。
在圖20中的評價處理中,作為評價用的數據組,使用具有與要被評 價的分支相關聯的所有的變化類別的分類的組合的變化的人臉數據組。當 評價第一分支時,使用所有的標記的人臉數據組。當評價帶有第一分支標 記"a"的枝的第二分支時,使用帶有標記、**"的人臉數據組。注意, 表示變化類別501及變化類別503的所有的標記的組合。在步驟S2001中, 從這些評價用的數據中選擇一個人臉數據。
在步驟S2002中,將所選擇的人臉數據輸入給具有直到所生成的段的 分支結構的模式識別單元,并執行圖15A、圖15B及圖16中所示的具有 分支選擇處理的檢測處理。作為結果,選擇生成中的分支的枝中的一個。 對各評價用的人臉數據分配分類標記,如前所述。并且,對各分支枝分配 要覆蓋的分類標記。作為圖16中的選擇處理的結果,如果該標記與要被評 價的變化類別的數字相匹配,則進行了正確的選擇。在步驟S2003中檢查 在步驟S2002中的檢測處理中是否進行了正確的選擇。如果選擇不正確(步 驟S2003中的"是"),則處理進入步驟S2004。在步驟S2004中,選擇錯誤 計數遞增。
另一方面,如果在步驟S2003中的確定處理中確定分支選擇不是錯誤 (步驟S2003中的"否"),則處理進入步驟S2005。
在步驟S2005中檢查是否完成了對要被評價的所有的數據的檢測處理 及選擇錯誤確定處理。如果仍剩余要被評價的數據,則處理返回到步驟 S2001以評價剩余的數據。
在完成對所有的評價用的數據的處理時,在步驟S2006中計算選擇錯 誤的比率(選擇錯誤率)。這是用于將選擇錯誤計數除以被評價的數據的總 數的處理。
在步驟S2007中檢查該錯誤率是否等于或小于預定值。如果錯誤率等 于或小于預定值,則確定所生成的段達到接續段的最小必需數量(步驟 S2008);否則,確定所生成的段尚未達到接續段的最小必需數量(步驟S2009)。后續處理如圖1中所描述的。
期望選擇錯誤率隨著處理段數的增加而減小,如圖21所示。這是與 累積得分差隨著處理段數的增加而變大相關聯的,如同第一實施例中所描 述的。
根據本實施例,在評價時也執行檢測時要執行的分支選擇處理,并且 基于錯誤率來確定分支之后的接續段的最小必需數量。因此,能夠比第一 實施例更直接地實現模式識別單元的所期望的性能。當選擇錯誤率在處理 段數增加的情況下不減小時,可以一起使用其他方法(例如,為接續段的 數量設定上限)。
(第三實施例)
第一實施例及第二實施例說明了使用分支之后的預定段中的累積得 分值來進行分支選擇的情況。然而,可以使用其他分支選擇方法。
在圖22中,標號2201表示某一分支中的分支選擇判別器。模式識別 單元基于從分支選擇判別器2201輸出的分支選擇判別結果來選擇各分支 中要留下的枝。
分支選擇判別器2201選擇以由要經受分支選擇處理的弱判別器陣列 的各個節點所計算出的特征量作為輸入的分支方向。該判別能夠使用已知 的判別處理(例如,線性判別分析、SVM (支撐矢量機)等),并且需要 預先對這些識別方法所需的參數進行學習和計算。
將由弱判別器節點的通常的判別處理(圖7)所計算出的量(本實施 例中的特征量)輸入給用于分支枝選擇的分支選擇判別器2201,而不特別 地針對分支選擇而計算該量。因此,與對與弱判別器的處理無關的新的量 進行計算并將其輸入給分支選擇判別器2201的情況相比,選擇所需的開銷 較小。
用作對分支選擇判別器2201的輸入的值并不限于特征量,而可以使 用在圖7中的判別處理中所計算出的任何其他值(例如,使用濾波器閾值 的判別結果、單個的得分、累積得分等)。將要使用的值與節點ID相關聯 地保持在存儲器中。
圖22示出了兩個分支的情況,但是本實施例可以應用于三個或更多 個分支。當在三個分支的情況下使用2類判別器(例如,與兩個分支中相 同的SVM)時,可以采用將2類判別器連接到3個分支中的兩個分支的所有的組合并對這些得分進行比較的方法。
圖23中示出了使用該分支選擇判別器2201的分支選擇處理。在步驟 S2301中,基于所生成的各個分支枝的最終段的節點ID,參照圖17A及 17B中的參數存儲器上的雙向列表區,獲取從分支之后的節點起的所有的 ID。
在步驟S2302中,從存儲器屮獲取與所獲取的所有的ID相對應并且 在分支選擇處理中使用的諸如特征量等的值。在步驟S2303中,將所獲取 的值輸入給分支選擇判別器2201以執行判別處理。在步驟S2304中,基 于所獲得的判別結果來確定要選擇的分支的ID,由此結束處理。
當使用圖23中的分支選擇處理來執行圖20中的選擇錯誤率評價處理 時,必須在評價之前執行分支選擇判別器2201的重新學習。這是因為由 于每次生成一個段的弱判別器時要輸入給分支選擇判別器2201的特征量 的數量增加,因此需要具有與前一評價中所使用的分支選擇判別器2201 不同的輸入維數的判別器。當分支選擇判別器2201學習時,與選擇中一樣 地從雙向列表中獲取輸入節點的ID。分支選擇判別器2201的學習用的數 據組中的各數據經受檢測處理,以獲得各分支的判別器輸出,并且基于學 習用的數據的正確答案標記來執行諸如預定SVM等的學習處理。
當使用這種分支選擇判別器2201時,與僅使用最終段的累積得分值 來進行確定的情況相比,能夠期望精度更高的分支選擇。分支選擇判別器 2201還可以應用于如同第二實施例中的基于選擇錯誤率的對處理段的最 小必需數量的確定處理,并且能夠期望獲得性能較高的模式識別單元。然 而,如上所述,每次生成一個段的弱判別器時,需要進行分支選擇判別器 2201的重新學習,導致識別單元的總學習時間較長。 (其他實施例)
前述的各種處理方法可以組合應用。例如,作為第一實施例中所描述 的第一分支之前的接續段的數量的確定方法,可以將使用非人臉數據或人 臉數據的中止率的方法添加為確定分支之后的接續段的數量時的一個條 件。
作為另一種選擇,第三實施例中所描述的使用分支選擇判別器的分支 選擇方法可以應用于第一實施例中的已通過確定非分支接續段的數量而學 習的模式識別單元中。當分支選擇判別器僅在已學習的分支結構模式識別單元中的結構及弱判別器的參數固定的同時學習時,能夠提高選擇精度, 由此提高性能。
在到目前為止所描述的實施例中,僅說明了分支數為2或3的情況。 然而,本發明的分支數并不限于此。
在上述實施例中,描述了基于累積得分差的評價方法以及基于選擇錯 誤率的評價方法。然而,本發明的要旨并不限于這些特定的方法。本發明 可以應用于這樣一種方法將評價用的數據組輸入給所生成的弱判別器陣 列,并基于檢測處理結果來確定接續段的數量。因此,可以基于對象模式 的檢測性能(未檢出率、誤檢測率、檢測速度等)來確定接續段的數量。
上述實施例說明了對圖像數據中所包含的作為檢測對象模式的人臉 進行檢測的模式識別單元。然而,本發明的應用范圍并不限于此。例如, 本發明可以應用于用于指定輸入圖像中所包含的人的個人識別的模式識別 單元,或者應用于用于檢測除人以外的其他特定物體的模式識別單元。
本發明并不限于對二維圖像數據的處理,而可以應用于從諸如音頻數 據等的一維數據或包括空間要素的多維數據(三維或更多)中提取特定模 式的模式識別單元。
在上述實施例中,本發明應用于使用矩形濾波器作為弱判別器的方 法。然而,本發明可以應用于各種其他弱判別器。
作為弱判別器的學習方法的示例,描述了AdaBoost。然而,本發明并 不限于這種特定方法。已提出各種其他Boosting方法,并且本發明包括由 使用這些方法來學習的弱判別器構造的檢測器。
在上述實施例中,通過硬件來實現判別處理單元203。然而,本發明 可以應用于使用DSP (數字信號處理器)等的判別處理單元203的軟件實 現。甚至在這種情況下,也能夠通過應用本發明來計算接續段的最小必需 數量。
在上述實施例中,描述了包括根據本發明的學習方法并且能夠進行裝 置內學習的模式識別裝置。然而,本發明的實施例并不限于此。例如,本 發明可以應用為使用外部工作站等通過學習確定弱判別器所需的參數數據 來生成弱判別器的模式識別單元生成系統。此外,本發明的應用范圍包括 模式識別單元生成程序(計算機程序)以及存儲計算機程序的存儲介質。
注意,本發明的目的還通過向系統或裝置提供記錄有能夠實現上述實施例的功能的計算機程序的計算機可讀存儲介質來達到。而且,本發明的
目的通過系統或裝置的計算機(或CPU或MPU)讀出并執行存儲在存儲 介質中的計算機程序來達到。
在這種情況下,從存儲介質中讀出的計算機程序自身實現了上述實施 例的功能,并且存儲有程序的存儲介質構成本發明。
作為用于提供計算機程序的存儲介質,例如可以使用軟盤、硬盤、光 盤、磁光盤、CD-ROM、 CD-R、非易失性存儲卡、ROM等。
計算機執行所讀出的計算機程序,以實現上述實施例的功能。并且, 本發明包括計算機上所運行的OS (操作系統)等基于計算機程序的指令 來執行實際處理操作的部分或全部由此實現上述實施例的情況。
雖然參照示例性實施例來對本發明進行了描述,但是應當理解,本發 明并不限于所公開的示例性實施例。應當對以下權利要求書的范圍給予最 寬泛的解釋,以使其涵蓋所有這些變型例以及等同的結構和功能。
權利要求
1. 一種模式識別單元生成方法,該方法生成模式識別單元,在所述模式識別單元中,使通過將多個弱判別器級聯連接而獲得的弱判別器陣列分支,并且分支之后的各枝連接有弱判別器陣列,所述模式識別單元生成方法包括以下步驟評價步驟,該步驟基于通過向所述弱判別器陣列輸入一組評價用的數據而獲得的處理結果,來評價分支之后的一弱判別器陣列是否達到要連接的段數;確定步驟,該步驟基于所述評價步驟中的評價結果,確定作為分支之后的所述弱判別器陣列的、要不分支地連接的所述弱判別器的段數。
2. 根據權利要求1所述的模式識別單元生成方法,其中,所述組評價 用的數據包括被分類為用作檢測對象的圖像的變化類別的數據,并且所述級聯連接的分支之后的各枝與所分類的變化類別相對應。
3. 根據權利要求1所述的模式識別單元生成方法,其中,所述弱判別 器中的每一個計算得分值作為針對所輸入的所述組評價用的數據的判別結 果,并且將通過把所計算出的所述得分值加到從前一段的弱判別器輸出的 輸出值而獲得的累積得分值,輸出給后一段的弱判別器。
4. 根據權利要求3所述的模式識別單元生成方法,其中,所述組評價 用的數據包括由一組非檢測對象模式構成的數據,并且所述弱判別器中的每一個確定在所述累積得分值超過預定閾值時中止 處理。
5. 根據權利要求3所述的模式識別單元生成方法,其中,在所述評價 步驟中,將所述組評價用的數據輸入給分支之后的所述各弱判別器陣列, 并且基于從構成所述弱判別器陣列的所述弱判別器中的各個輸出的所述累 積得分值,來評價所述弱判別器陣列中的各個是否達到要連接的段數。
6. 根據權利要求5所述的模式識別單元生成方法,其中,在所述確定 步驟中,基于所述評價步驟中的所述評價結果,將分支之后的所述各弱判 別器陣列中的所述累積得分值之間的差變得不小于預定值時的段數,確定 為不分支地連接所述弱判別器所需的段數。
7. 根據權利要求5所述的模式識別單元生成方法,其中,在所述確定 步驟中,在分支之后的所述弱判別器陣列的數量不小于3時,計算利用所 有的所述弱判別器陣列中的兩個弱判別器陣列的組合而計算出的所述累積 得分值之間的差,并且基于所述評價步驟中的所述評價結果,將通過對所 述弱判別器陣列的所有的所述組合的所述差進行綜合而獲得的值變得不小 于預定值時的段數,確定為不分支地連接所述弱判別器所需的段數。
8. 根據權利要求3所述的模式識別單元生成方法,該模式識別單元生 成方法還包括分支選擇步驟,該分支選擇步驟基于所述累積得分值來選擇 要對所述組評價用的數據繼續進行處理的分支枝。
9. 根據權利要求8所述的模式識別單元生成方法,其中,在所述分支 選擇步驟中,確定分類后的變化類別是否與被輸入給所選擇的分支枝的所 述組評價用的數據相匹配,并且計算不與所述變化類別相匹配的數據的比 率作為錯誤率。
10. 根據權利要求9所述的模式識別單元生成方法,其中,在所述評價 步驟中,基于在所述分支選擇步驟中所計算出的所述錯誤率,來評價所選 擇的分支枝中的所述弱判別器陣列是否達到要連接的段數。
11. 根據權利要求10所述的模式識別單元生成方法,其中,在所述確定步驟中,基于所述評價步驟中的所述評價結果,將所述錯誤率變得不大 于預定值時的段數確定為不分支地連接所述弱判別器所需的段數。
12. —種信息處理裝置,該信息處理裝置執行生成模式識別單元的模式 識別單元生成方法,在所述模式識別單元中,使通過將多個弱判別器級聯 連接而獲得的弱判別器陣列分支,并且分支之后的各枝連接有弱判別器陣 列,所述信息處理裝置包括評價單元,其適合于,基于通過向所述弱判別器陣列輸入一組評價用 的數據而獲得的處理結果,來評價分支之后的一弱判別器陣列是否達到要 連接的段數;確定單元,其適合于,基于所述評價單元的評價結果,確定作為分支 之后的所述弱判別器陣列的、要不分支地連接的所述弱判別器的段數。
13. 根據權利要求12所述的信息處理裝置,其中,所述組評價用的數據包括被分類為用作檢測對象的圖像的變化類別的數據,并且 所述級聯連接的分支之后的各枝與所分類的變化類別相對應。
14. 根據權利要求12所述的信息處理裝置,其中,所述弱判別器中的 每一個計算得分值作為針對所輸入的所述組評價用的數據的判別結果,并 且將通過把所計算出的所述得分值加到從前一段的弱判別器輸出的輸出值 而獲得的累積得分值,輸出給后一段的弱判別器。
15. 根據權利要求14所述的信息處理裝置,其中,所述組評價用的數 據包括由一組非檢測對象模式構成的數據,并且所述弱判別器中的每一個確定在所述累積得分值超過預定閾值時中止 處理。
16. 根據權利要求14所述的信息處理裝置,其中,所述評價單元將所 述組評價用的數據輸入給分支之后的所述各弱判別器陣列,并且基于從構 成所述弱判別器陣列的所述弱判別器中的各個輸出的所述累積得分值,來評價所述弱判別器陣列中的各個是否達到要連接的段數。
17. 根據權利要求16所述的信息處理裝置,其中,所述確定單元基于 所述評價單元的所述評價結果,將在分支之后的所述各弱判別器陣列中的 所述累積得分值之間的差變得不小于預定值時的段數,確定為不分支地連 接所述弱判別器所需的段數。
18. 根據權利要求16所述的信息處理裝置,其中,在分支之后的所述 弱判別器陣列的數量不小于3時,所述確定單元計算利用所有的所述弱判 別器陣列中的兩個弱判別器陣列的組合而計算出的所述累積得分值之間的 差,并且基于所述評價單元的所述評價結果,將在通過對所述弱判別器陣 列的所有的所述組合的所述差進行綜合而獲得的值變得不小于預定值時的 段數,確定為不分支地連接所述弱判別器所需的段數。
19. 根據權利要求14所述的信息處理裝置,該信息處理裝置還包括分 支選擇單元,該分支選擇單元適合于,基于所述累積得分值來選擇要對所 述組評價用的數據繼續進行處理的分支枝。
20. 根據權利要求19所述的信息處理裝置,其中,所述分支選擇單元 確定分類后的變化類別是否與被輸入給所選擇的分支枝的所述組評價用的 數據相匹配,并且計算不與所述變化類別相匹配的數據的比率作為錯誤率。
21. 根據權利要求20所述的信息處理裝置,其中,所述評價單元基于 由所述分支選擇單元所計算出的所述錯誤率,來評價所選擇的分支枝中的所述弱判別器陣列是否達到要連接的段數。
22.根據權利要求21所述的信息處理裝置,其中,所述確定單元基于所述評價單元的所述評價結果,將在所述錯誤率變得不大于預定值時的段數,確定為不分支地連接所述弱判別器所需的段數。
全文摘要
本發明涉及模式識別單元生成方法及信息處理裝置。所述模式識別單元生成方法生成模式識別單元,在所述模式識別單元中,通過將多個弱判別器級聯連接而獲得的弱判別器陣列分支,并且分支之后的各個枝連接有所述弱判別器陣列,所述模式識別單元生成方法基于通過向所述弱判別器陣列輸入一組評價用的數據而獲得的處理結果,來評價分支之后的弱判別器陣列是否達到要連接的段數。基于該評價結果,確定作為所述弱判別器陣列的要不分支地連接的所述弱判別器的段數。
文檔編號G06K9/62GK101464955SQ20081018586
公開日2009年6月24日 申請日期2008年12月18日 優先權日2007年12月18日
發明者伊藤嘉則, 加藤政美, 山本貴久, 森克彥, 野村修 申請人:佳能株式會社