0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何運用嵌入式技術實現(xiàn)面部檢測應用方案

電子設計 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-12-21 16:57 ? 次閱讀

嵌入式計算機視覺系統(tǒng)與人類的視覺系統(tǒng)非常相似,對來自范圍廣泛的各種產(chǎn)品視頻信息進行分析和提取,執(zhí)行與人類視覺系統(tǒng)相同的視覺功能。

智能手機、數(shù)碼相機和便攜式攝像機等嵌入式便攜產(chǎn)品中,必須在有限的尺寸、成本和功耗條件下提供較高的性能。新興的大容量嵌入式視覺產(chǎn)品市場包括汽車安全、監(jiān)控和游戲。計算機視覺算法識別場景中的物體,然后產(chǎn)生一個比其它圖像區(qū)域更重要的圖像區(qū)。例如,物體和面部檢測可用于增強視頻會議體驗、公共安全檔案管理,以及基于內(nèi)容的檢索和其它許多方面。

可以進行剪裁和尺寸調(diào)整,以便適當?shù)貙D像放在面部中心。在本文中,我們提出了一種檢測數(shù)碼圖像中的面部、剪裁選定的主面部,并將調(diào)整尺寸到固定尺寸輸出圖像的應用(參見圖1)。這種應用可在單一圖像或在視頻流上使用,并且設計用于實時運行。只要人們關注移動產(chǎn)品上的實時面部檢測,為了實現(xiàn)實時吞吐量,就必須采取合適的執(zhí)行步驟。

本文提出了在可編程向量處理器上執(zhí)行實時面部檢測應用的部署步驟,這些步驟可用于在任何移動產(chǎn)品上執(zhí)行類似的計算機視覺算法,從這一點上說,它們是通用的。

圖1:CEVA面部檢測應用

雖然靜態(tài)圖像處理消耗少量的帶寬和分配內(nèi)存,但是,視頻對于目前的存儲器系統(tǒng)的要求卻相當嚴苛。

另一方面,由于檢測和區(qū)分物體需要更多的處理步驟,計算機視覺算法的存儲器系統(tǒng)設計極具挑戰(zhàn)性??紤]19x19像素大小的面部圖形縮略圖。對于這種小圖,可能的灰度值組合就有256361種,需要極高的三維空間。由于面部圖像的復雜性,明確描述面部特征具有一定的難度;因此,建立了以統(tǒng)計模型為基礎的其它方法。這些方法將人臉區(qū)域視為一個圖形,通過瞄準許多“面部”和“非面部”樣品構建區(qū)分器,然后通過分析檢測區(qū)域的圖形來確定圖像是否包含人臉。

面部檢測算法必須克服的其它挑戰(zhàn)是:姿態(tài)(正面,45度,側(cè)面,倒置)、存在或缺乏結構部分(胡須、眼鏡)、面部表情、遮擋(部分面部可能被其它物體遮?。D像取向(在相機光軸不同的旋轉(zhuǎn)方向,面部外表直接變化)及成像條件(照明、相機特點、分辨率)。

雖然文獻中已經(jīng)介紹了許多面部檢測算法,但是,只有少量算法能夠滿足移動產(chǎn)品的實時限制性。雖然據(jù)報道,許多面部檢測算法能夠產(chǎn)生高的檢測率,但是,由于手機等移動產(chǎn)品的計算和存儲器限制,很少有算法適合實時部署在這些移動產(chǎn)品上。

通常,面部檢測算法的實時執(zhí)行在具有相對強大的CPU和較大存儲器尺寸的PC電腦上進行。針對現(xiàn)有面部檢測產(chǎn)品的考察顯示,Viola和Jones在2001年推出的算法已經(jīng)被廣泛采納。這是一項突破性的工作,允許采用基于外表的方法來實時運行,同時保持相同或更高的準確度。

這種算法利用簡單特征的增強級聯(lián),并且可以分為三個主要部分:(1)積分圖 - 用于快速特征評估的高效卷積;(2)使用用于特征選擇的Adaboost,并按照重要性順序?qū)λ鼈冞M行篩選。每個特征可作為一個簡單的(弱)區(qū)分器使用;(3)使用Adaboost來了解將最不可能包含面部的區(qū)域濾出的級聯(lián)區(qū)分器(弱區(qū)分器的集合)。圖2是區(qū)分器級聯(lián)的示意圖。在圖像中,大多數(shù)子圖像并不是面部實例。

根據(jù)這種假設,我們可以利用更小的高效區(qū)分器在早期排除許多否定例,同時檢測出差不多所有的肯定例。在后期采用更復雜的區(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ū)分器

區(qū)分器的級聯(lián)

圖2:區(qū)分器的級聯(lián)

在面部檢測算法的第一級,利用被稱為積分圖像的中間表示,可以快速計算矩形特征。如圖3所示,點(x,y)的積分圖像值是上部和左部所有像素的總和。D內(nèi)像素的總和可以計算為4+1-(2+3)。

圖3:采用積分圖像對矩形特征進行快速評估

為了在嵌入式產(chǎn)品上執(zhí)行實時面部檢測應用,需要將指令級并行性和和數(shù)據(jù)級并行性相結合的高級并行性。超長指令字(VLIW)架構能夠?qū)崿F(xiàn)高級并行指令處理,提供擴展的并行性及低功耗。

單指令多數(shù)據(jù)(SIMD)架構能夠在多數(shù)據(jù)元上運行單指令,從而縮短代碼長度并提高性能。使用向量處理器架構,可通過加法器/減法器并行數(shù)量因子,加速這些積分和的計算。如果向量寄存器可以加載16像素,而且這些像素可同時加到下一向量,加速因子是16.顯然,為處理器增加類似的向量處理單元可以使這一因子翻倍。

在下一面部檢測階段,在多個位置及按多種尺度掃描圖像。采用Adaboost強大的區(qū)分器(以矩形特征為基礎的區(qū)分器),以決定搜索窗口是否包含面部。再一次,向量處理器具有明顯的優(yōu)勢 - 具有同時將多個位置數(shù)據(jù)與閾值進行對比的能力。

假設在一個圖像中,大多數(shù)子圖像都不是面部例,可以提供的并行比較器越多,加速越快。

例如,如果架構設計具有在1個循環(huán)中比較8個要素中的2個向量的能力,則排除16個位置的子圖像僅需1個循環(huán)。為了簡化數(shù)據(jù)加載,并且高效率地利用向量處理器加載/儲存,各個位置可以在空間上彼此接近。

為了獲得高度并行的代碼,架構應支持指令預測。這樣可以使如果-則-否則(if-then-else)構造導致的分支用順序碼來代替,從而減少循環(huán)數(shù)和縮短代碼長度。允許條件執(zhí)行,有能力綜合各種條件,在控制代碼中實現(xiàn)更高的效率。此外,非順序碼,如分支和回路,經(jīng)設計具有零循環(huán)損失,而不需要煩瑣的技術,如動態(tài)分支預測和增加RISC處理器功率損耗的推理執(zhí)行。

一個關鍵的應用挑戰(zhàn)是存儲器帶寬,該應用需要對每幀視頻流進行掃描,以執(zhí)行面部檢測。由于其數(shù)據(jù)量較大,視頻流無法儲存在緊耦合存儲器(TCM)中。例如,一個YUV 4:2:0格式的高清幀占用了3MB數(shù)據(jù)存儲器。這種高存儲器帶寬導致功率損耗更高,并需要更昂貴的DDR存儲器,從而使材料清單成本更高。一個完美的解決方案是采用數(shù)據(jù)分塊(data tiling)來儲存像素,其中2維數(shù)據(jù)塊在單次突發(fā)中由DDR存取,極大地改善了DDR的效率。直接存儲器存取(DMA)可以在外部存儲器和核心存儲器子系統(tǒng)之間傳輸數(shù)據(jù)。在最終面部檢測應用階段,包含檢測面部的子圖像尺寸重新調(diào)整到固定尺寸輸出窗口。

當圖像在多個比例掃描時,還在檢測階段使用圖像尺寸調(diào)整過程。尺寸調(diào)整算法廣泛應用于圖像處理,用于視頻放大和縮小。面部檢測應用中執(zhí)行的算法是雙三次算法。三次卷積插值根據(jù)離規(guī)定輸入坐標最近的16個像素的加權平均值來確定灰度值,并將該值分配給輸出坐標。首先,在一個方向(水平方向)上執(zhí)行四個一維三次卷積,然后,在垂直方向執(zhí)行更多個一維三次卷積。這意味著要執(zhí)行一個二維三次卷積,而所需的是一個一維三次卷積。

向量處理器內(nèi)核具有強大的加載-儲存能力,能夠快速、有效地存取數(shù)據(jù)是此類應用的關鍵特征,其中算法在數(shù)據(jù)塊上運行。可通過在單循環(huán)中從存儲器訪問2維存儲器塊來滿足尺寸調(diào)整算法優(yōu)化。

這一特點使處理器能夠有效地實現(xiàn)較高的存儲器帶寬,不需要載入不必要的數(shù)據(jù)或執(zhí)行數(shù)據(jù)操作的負荷計算單元。此外,能夠在數(shù)據(jù)存取期間轉(zhuǎn)置數(shù)據(jù)且不存在任何循環(huán)損失,這使得轉(zhuǎn)置的數(shù)據(jù)塊能夠在單一循環(huán)中存取,對于執(zhí)行水平過濾和垂直過濾非常切實可行。處理器的功率是其執(zhí)行強大卷積能力的結果,可以在單一循環(huán)中執(zhí)行并行的過濾器。

這里是一個有效解決方案的實例。在一個循環(huán)中加載4x8字節(jié)塊,然后每個迭代利用4個像素,在垂直方向執(zhí)行三次卷積。這4個像素預先安排在4個獨立的向量寄存器中,因此,我們能夠同時獲得8個結果。然后,同時對這些中間結果進行準確處理,但是,以轉(zhuǎn)置格式加載這些數(shù)據(jù),從而完成水平過濾。為了保持結果準確度,需要用結果四舍五入值(rounding value)和后移(post-shift)初始化。過濾器配置應當在不要求專門指令的條件下實現(xiàn)這些特征。

總之,這種并行向量處理解決方案核心可在加載/儲存單元操作和處理單元之間實現(xiàn)平衡。一般說來,數(shù)據(jù)帶寬限制及就功耗和晶片面積而言的處理單元的成本限制了執(zhí)行效率;不過,顯然,可以實現(xiàn)標量處理器架構的重要加速。

多媒體器件的多用途可編程HD視頻和圖像平臺

CEVA-MM3000是可以集成到SoC中的可擴展的完全可編程多媒體平臺,以全軟件形式提供1080p 60fps視頻解碼和編碼、ISP功能和視覺應用。該平臺由兩個專用處理器,即流處理器和向量處理器組成,集成到一個完整的多核系統(tǒng)中,包括本地存儲器和共享存儲器、外設、DMA和與外部總線的標準橋接。這款全面的多內(nèi)核平臺專為滿足移動產(chǎn)品和其它消費者電子產(chǎn)品的低功耗要求而設計。

向量處理器包括兩個獨立的向量處理單元(VPU)。VPU負責所有的向量計算,包括向量間運算(利用單指令多數(shù)據(jù)流)和向量內(nèi)部運算。向量間指令可在16個8位(字節(jié))或8個16位(字)元上運行,可以使用向量寄存器對,形成32位(雙字)元。VPU具有在單循環(huán)中完成6個線路(taps)中8個并行濾波器(taps)的能力。

雖然VPU是作為向量處理器的計算主力,但是,向量加載和儲存單元(VLSU)作為從數(shù)據(jù)存儲器子系統(tǒng)向向量處理器及從向量處理器向數(shù)據(jù)存儲器子系統(tǒng)傳輸數(shù)據(jù)的工具。VLSU具有適用于加載和儲存操作的256位帶寬,并支持不對齊(non-aligned)存取。VLSU備有在單循環(huán)中存取二維數(shù)據(jù)塊的能力,并支持不同的數(shù)據(jù)塊尺寸。

圖4:加載4x4像素塊

為了簡化VPU任務,在讀/寫向量寄存器時,VLSU可以靈活地操作數(shù)據(jù)結構。在數(shù)據(jù)存取期間,數(shù)據(jù)塊可以轉(zhuǎn)置,而不存在任何循環(huán)損失,能夠在單循環(huán)中實現(xiàn)轉(zhuǎn)置數(shù)據(jù)塊的存取。轉(zhuǎn)置功能可以動態(tài)設定或清除。采用這種方式,水平過濾器和垂直過濾器可以重復使用相同的功能,從而節(jié)省每個過濾器的開發(fā)和調(diào)試時間,同時縮小程序存儲器的占位面積。

結論

對于采用CEVA-MM3000平臺的消費產(chǎn)品來說,嵌入式視覺應用是有效地執(zhí)行算法多樣性的一個實例,例如具備裁剪和尺寸調(diào)整功能的面部檢測。根據(jù)預測,將來類似的和更復雜的應用需求將會增長,所有這些應用都可以利用CEVA-MM3000架構的可編程性和可擴展性。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 智能手機
    +關注

    關注

    66

    文章

    18419

    瀏覽量

    179734
  • 嵌入式
    +關注

    關注

    5060

    文章

    18980

    瀏覽量

    302262
  • 面部檢測
    +關注

    關注

    1

    文章

    4

    瀏覽量

    5858
  • 積分圖像
    +關注

    關注

    0

    文章

    2

    瀏覽量

    1307
收藏 人收藏

    評論

    相關推薦

    嵌入式視覺技術是什么?

    和Mobileye的輔助駕駛系統(tǒng)等產(chǎn)品都非常重視嵌入式視覺技術的發(fā)展?jié)摿?。結果,很多嵌入式系統(tǒng)設計人員開始思考如何實現(xiàn)嵌入式視覺功能。本文研
    發(fā)表于 08-22 06:43

    嵌入式網(wǎng)絡接入怎么實現(xiàn)?

    的說法。利用該技術可以實現(xiàn)基于Internet的遠程數(shù)據(jù)采集、遠程控制、自動報警等功能,大大擴展嵌入式設備的應用范圍;同時充分利用網(wǎng)絡資源,實現(xiàn)更廣泛的信息共享和更多信息服務。研究顯示
    發(fā)表于 03-19 06:30

    怎樣運用Altium Designer平臺實現(xiàn)FPGA的嵌入式系統(tǒng)設計?

    Altium designer在FPGA及嵌入式智能方面有哪些優(yōu)勢?怎樣運用Altium Designer平臺實現(xiàn)FPGA的嵌入式系統(tǒng)設計?
    發(fā)表于 04-28 07:05

    嵌入式系統(tǒng)的技術特點及廣泛運用

    ,嵌入式技術越來越和人們的生活緊密結合。1970年左右出現(xiàn)了嵌入式系統(tǒng)的概念,此時的嵌入式系統(tǒng)很多都不采用操作系統(tǒng),它們只是為了實現(xiàn)某個控制
    發(fā)表于 06-25 20:35

    什么是嵌入式編程

    《C嵌入式編程設計模式》第一章 什么是嵌入式編程嵌入式系統(tǒng)的基本知識面向?qū)ο缶幊膛c結構化編程使用C語言實現(xiàn)類、繼承、狀態(tài)機 第二章 嵌入式
    發(fā)表于 11-08 06:15

    嵌入式Internet技術及其實現(xiàn)方案

    嵌入式Internet技術在各行業(yè)中應用日益廣泛,文章介紹了嵌入式Internet技術的原理和幾種實現(xiàn)
    發(fā)表于 08-15 11:39 ?17次下載

    玩轉(zhuǎn)S端子 嵌入式方案多種應用運用

    玩轉(zhuǎn)S端子 嵌入式方案多種應用運用 隨著視頻輸出設備和人均視覺需求的不斷提升,視頻輸出也在經(jīng)歷著幾多變革,從最初的RF射頻端子,到AV復合
    發(fā)表于 01-27 10:52 ?1614次閱讀

    嵌入式電源運用

    嵌入式電源運用
    發(fā)表于 09-11 13:28 ?3次下載
    <b class='flag-5'>嵌入式</b>電源<b class='flag-5'>運用</b>

    基于嵌入式系統(tǒng)對面部檢測的設計指南

    在有限的尺寸、成本和功耗條件下提供較高的性能。新興的大容量嵌入式視覺產(chǎn)品市場包括汽車安全、監(jiān)控和游戲。計算機視覺算法識別場景中的物體,然后產(chǎn)生一個比其它圖像區(qū)域更重要的圖像區(qū)。例如,物體和面部檢測可用于增強視頻會議
    發(fā)表于 09-17 11:15 ?1次下載
    基于<b class='flag-5'>嵌入式</b>系統(tǒng)對<b class='flag-5'>面部</b><b class='flag-5'>檢測</b>的設計指南

    嵌入式實時面部檢測設計方案解析

    在有限的尺寸、成本和功耗條件下提供較高的性能。新興的大容量嵌入式視覺產(chǎn)品市場包括汽車安全、監(jiān)控和游 戲。計算機視覺算法識別場景中的物體,然后產(chǎn)生一個比其它圖像區(qū)域更重要的圖像區(qū)。例如,物體和面部檢測可用于增強視頻會
    發(fā)表于 10-18 16:51 ?0次下載

    嵌入式系統(tǒng)死鎖檢測方法

    棘手。死鎖是并發(fā)缺陷的典型問題,有時會導致整個嵌入式系統(tǒng)陷入癱瘓,嚴重影響嵌入式系統(tǒng)的穩(wěn)定性、可靠性。由于死鎖難以再現(xiàn)和修正,如何有效檢測死鎖成為嵌入式軟件領域的研究重點。 目前死鎖的
    發(fā)表于 01-31 10:27 ?0次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)死鎖<b class='flag-5'>檢測</b>方法

    嵌入式DVR的應用技術方案及發(fā)展趨勢

    目前,DVR的技術發(fā)展方向有三個,即智能化、集成化、網(wǎng)絡化。要預測嵌入式DVR的技術發(fā)展趨勢,首先要了解嵌入式DVR主要采用的技術
    的頭像 發(fā)表于 01-16 09:45 ?2913次閱讀

    嵌入式技術應用領域及就業(yè)前景

    實現(xiàn)在能看到的電子產(chǎn)品,都應用到了嵌入式技術,常見的電飯煲,冰箱,洗衣機,手機,還有通信基站設備,醫(yī)療設備,工業(yè)控制,都有運用嵌入式
    發(fā)表于 04-04 16:24 ?3744次閱讀

    嵌入式系統(tǒng)的技術特點及廣泛運用

    基于嵌入式系統(tǒng)的概念,闡述嵌入式系統(tǒng)的關鍵技術、嵌入式開發(fā)以及廣泛的應用。首先,分析嵌入式系統(tǒng)的技術
    發(fā)表于 09-27 14:53 ?2889次閱讀

    嵌入式系統(tǒng)的技術特點及廣泛運用

    基于嵌入式系統(tǒng)的概念,闡述嵌入式系統(tǒng)的關鍵技術、嵌入式開發(fā)以及廣泛的應用。分析嵌入式系統(tǒng)的技術
    發(fā)表于 10-20 19:06 ?9次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的<b class='flag-5'>技術</b>特點及廣泛<b class='flag-5'>運用</b>