嵌入式實時面部檢測應(yīng)用設(shè)計指南
嵌入式計算機視覺系統(tǒng)與人類的視覺系統(tǒng)非常相似,對來自范圍廣泛的各種產(chǎn)品的視頻信息進(jìn)行分析和提取,執(zhí)行與人類視覺系統(tǒng)相同的視覺功能。 在智能手機、數(shù)碼相機和便攜式攝像機等嵌入式便攜產(chǎn)品中,必須在有限的尺寸、成本和功耗條件下提供較高的性能。新興的大容量嵌入式視覺產(chǎn)品市場包括汽車安全、監(jiān)控和游戲。計算機視覺算法識別場景中的物體,然后產(chǎn)生一個比其它圖像區(qū)域更重要的圖像區(qū)。例如,物體和面部檢測可用于增強視頻會議體驗、公共安全檔案管理,以及基于內(nèi)容的檢索和其它許多方面。 可以進(jìn)行剪裁和尺寸調(diào)整,以便適當(dāng)?shù)貙D像放在面部中心。在本文中,我們提出了一種檢測數(shù)碼圖像中的面部、剪裁選定的主面部,并將調(diào)整尺寸到固定尺寸輸出圖像的應(yīng)用(參見圖1)。這種應(yīng)用可在單一圖像或在視頻流上使用,并且設(shè)計用于實時運行。只要人們關(guān)注移動產(chǎn)品上的實時面部檢測,為了實現(xiàn)實時吞吐量,就必須采取合適的執(zhí)行步驟。 本文提出了在可編程向量處理器上執(zhí)行實時面部檢測應(yīng)用的部署步驟,這些步驟可用于在任何移動產(chǎn)品上執(zhí)行類似的計算機視覺算法,從這一點上說,它們是通用的。 圖1:CEVA面部檢測應(yīng)用 雖然靜態(tài)圖像處理消耗少量的帶寬和分配內(nèi)存,但是,視頻對于目前的存儲器系統(tǒng)的要求卻相當(dāng)嚴(yán)苛。 另一方面,由于檢測和區(qū)分物體需要更多的處理步驟,計算機視覺算法的存儲器系統(tǒng)設(shè)計極具挑戰(zhàn)性??紤]19x19像素大小的面部圖形縮略圖。對于這種小圖,可能的灰度值組合就有256361種,需要極高的三維空間。由于面部圖像的復(fù)雜性,明確描述面部特征具有一定的難度;因此,建立了以統(tǒng)計模型為基礎(chǔ)的其它方法。這些方法將人臉區(qū)域視為一個圖形,通過瞄準(zhǔn)許多“面部”和“非面部”樣品構(gòu)建區(qū)分器,然后通過分析檢測區(qū)域的圖形來確定圖像是否包含人臉。 面部檢測算法必須克服的其它挑戰(zhàn)是:姿態(tài)(正面,45度,側(cè)面,倒置)、存在或缺乏結(jié)構(gòu)部分(胡須、眼鏡)、面部表情、遮擋(部分面部可能被其它物體遮?。?、圖像取向(在相機光軸不同的旋轉(zhuǎn)方向,面部外表直接變化)及成像條件(照明、相機特點、分辨率)。 雖然文獻(xiàn)中已經(jīng)介紹了許多面部檢測算法,但是,只有少量算法能夠滿足移動產(chǎn)品的實時限制性。雖然據(jù)報道,許多面部檢測算法能夠產(chǎn)生高的檢測率,但是,由于手機等移動產(chǎn)品的計算和存儲器限制,很少有算法適合實時部署在這些移動產(chǎn)品上。 通常,面部檢測算法的實時執(zhí)行在具有相對強大的CPU和較大存儲器尺寸的PC電腦上進(jìn)行。針對現(xiàn)有面部檢測產(chǎn)品的考察顯示,Viola和Jones在2001年推出的算法已經(jīng)被廣泛采納。這是一項突破性的工作,允許采用基于外表的方法來實時運行,同時保持相同或更高的準(zhǔn)確度。 這種算法利用簡單特征的增強級聯(lián),并且可以分為三個主要部分:(1)積分圖 - 用于快速特征評估的高效卷積;(2)使用用于特征選擇的Adaboost,并按照重要性順序?qū)λ鼈冞M(jìn)行篩選。每個特征可作為一個簡單的(弱)區(qū)分器使用;(3)使用Adaboost來了解將最不可能包含面部的區(qū)域濾出的級聯(lián)區(qū)分器(弱區(qū)分器的集合)。圖2是區(qū)分器級聯(lián)的示意圖。在圖像中,大多數(shù)子圖像并不是面部實例。 根據(jù)這種假設(shè),我們可以利用更小的高效區(qū)分器在早期排除許多否定例,同時檢測出差不多所有的肯定例。在后期采用更復(fù)雜的區(qū)分器來審查疑難情況。 例:24級級聯(lián)區(qū)分器 一級2特征區(qū)分器=> 排除60%非面部,同時檢測100%面部 二級5特征區(qū)分器=> 排除80%非面部,同時檢測100%面部 3級、4級和5級20特征區(qū)分器 6級和7級50特征區(qū)分器 8級至12級100特征區(qū)分器 13級至24級200特征區(qū)分器 圖2:區(qū)分器的級聯(lián) 在面部檢測算法的第一級,利用被稱為積分圖像的中間表示,可以快速計算矩形特征。如圖3所示,點(x,y)的積分圖像值是上部和左部所有像素的總和。D內(nèi)像素的總和可以計算為4+1-(2+3)。 圖3:采用積分圖像對矩形特征進(jìn)行快速評估 為了在嵌入式產(chǎn)品上執(zhí)行實時面部檢測應(yīng)用,需要將指令級并行性和和數(shù)據(jù)級并行性相結(jié)合的高級并行性。超長指令字(VLIW)架構(gòu)能夠?qū)崿F(xiàn)高級并行指令處理,提供擴展的并行性及低功耗。
評論