?

基于OMAP3530的嵌入式人流關注方向檢測系統

2011-03-15 01:22李科煌楊宇紅孟祥鵬
電視技術 2011年11期
關鍵詞:解碼人臉攝像頭

李科煌 ,楊宇紅,孟祥鵬

(1.上海交通大學 圖像通信與信息處理研究所,上海 200240;2.上海市數字媒體處理與傳輸重點實驗室,上海 200240)

0 引言

近些年來,全國各大城市商業樓宇的電視廣告業務飛速發展,但是伴隨著低層次的規模擴張,樓宇廣告公司一直缺少具有高附加值的廣告服務,無法向客戶準確反饋廣告的投放效果,不能就投放內容作出合理調整。本文嘗試應用目標檢測技術,判別在一定場景內的人員數量以及每個個體的面部方向,從而可以統計出每個廣告投放設備在單位時間內通過的人流數量與實際關注人數,這一數據是廣告投放效果的重要指標,對廣告服務提供商以及客戶的市場營銷決策具有至關重要的意義。

目標檢測與跟蹤技術是模式識別與人工智能領域研究的一個熱點問題,其在人機交互、自動監控、視頻檢索以及交通監測等領域有著廣泛的應用[1-2]。人臉檢測與方向推定算法的難點主要在于:1)人臉面部特征的差異;2)人臉姿態的變化;3)光照及陰影等環境因素的影響;4)眼鏡、頭發、口罩等物體對人臉的遮擋。

本文中的系統,在進行人臉檢測與方向推定,從而得到人流數量與實際關注人數的同時,還實時播放標清格式的音視頻和圖片內容,對系統的體積和功耗也有一定的要求,這對系統硬件平臺的選擇提出了很大的挑戰。

本文系統較好地解決了如上所述的各種難題,針對各種難點及系統需求,設計并完成了系統設計。系統采用普通USB網絡攝像頭,通過嵌入式系統進行數據采集、人臉檢測及方向推定算法處理,并通過網絡將數據上傳至遠程計算機。該系統設計靈活,可以根據需求對系統進行擴展和裁減,并可方便地進行系統的升級與維護,具有一定的價值。

1 系統架構設計

嵌入式系統使用的是瑞爾泰科技有限公司(ICETEK)的OMAP3530 MiniBoard(后簡稱MiniBoard)。Mini-Board具有較為完備的通用硬件接口,可以連接市場上通用的計算機設備,且支持Linux操作系統。該MiniBoard使用OMAP3530芯片,包含一個ARM核,一個圖形加速協處理器以及一個DSP核,功能強大,非常適合對圖形及運算有一定需求的嵌入式系統。

本系統使用經過裁減的Linux操作系統,全面支持圖形界面,支持更豐富的外設種類及多媒體功能。

系統的構成如圖1所示,系統分為本地與遠程2個部分。本地系統是本文主要討論的部分,遠程計算機負責收集來自各地的數據,并對各本地系統進行統一的管理維護,該部分技術不在本文內容之列。

本地系統有2個重要功能組成:視頻播放和觀眾檢測。加上主控單元,本地系統共分為3個模塊,即視頻解碼播放模塊、人臉采集檢測模塊和控制模塊。

1)視頻解碼播放模塊

該模塊根據控制模塊相應指令,從SD,CF,Flash等存儲介質中讀取標清音視頻以及圖片文件,經過OMAP3530上的C64x+DSP核解碼后實時顯示在LCD等顯示設備上。核心板的外部接口中有DVI輸出和S-Video輸出,為了充分表現解碼后視頻的效果,采用19~21 in的DVI液晶顯示器。

2)人臉采集檢測模塊

該模塊根據攝像頭采集的圖像信息,在ARM處理器上經過預處理、Adaboost、SVR等算法,得到現場的人流及關注方向的信息,交送到控制模塊。MiniBoard上沒有攝像頭輸入接口,同時考慮到USB攝像頭的便捷性,采用具有640×480分辨力的USB攝像頭進行圖像采集。然后使用目前高效準確的Adaboost算法進行人臉檢測,并對檢測到的人臉使用SVR算法進行人臉朝向推定。這兩種方法通過一定的優化,使用資源小,便于嵌入式實現。

3)控制模塊

該模塊負責系統的初始化以及總體控制工作,它根據系統的預設工作模式,控制人臉采集檢測與方向推定模塊和視頻解碼模塊進行相應的工作。同時控制模塊可以將人臉檢測和推定結果上傳給遠程計算機,接受遠程計算機的指令。

2 系統軟件設計

2.1 軟件總體框架

本嵌入式系統的軟件需要完成幾項功能:在顯示器上播放存儲于本地的視頻內容;攝像頭采集觀看視頻的用戶圖像,進行人臉檢測獲得數據;將拍攝到的數據以及計算結果上傳到上位控制機去??刂迫藛T和上位機可以通過交互接口觀察系統運行情況。

進行本地存儲視頻解碼及播放的功能交由OMAP3上的DSP完成,該部分軟件使用TI提供的H.264解碼播放程序處理。該程序占用部分ARM資源,并占用系統一半的內存資源。但由于主要解碼工作由DSP完成,ARM核可以有足夠的資源完成其他工作。

ARM端在Linux系統啟動并完成各模塊驅動的加載之后,其核心的工作是進行人臉的檢測及其朝向的推定,與此相關的是由攝像頭采集與處理,以及處理后的數據存儲與上傳。這也是本系統的核心算法部分,其具體流程圖見圖2。

人臉檢測使用近年提出的Adaboost算法進行,該方法準確率高,且效率大大優于之前的其他算法,可以接近實時檢測。使用支持向量回歸(SVR)對檢測到的人臉進行姿態推定,通過主分量分析(PCA)和支持向量,非常有效地減少了運算量。

2.2 運用Adaboost的人臉檢測算法

大多數Adaboost算法[3]采用Haar函數作為特征提取算法。由于Haar函數為矩陣形式,可以利用積分圖快速求取,從而能夠很大程度地提高算法的效率,這也是Adaboost相對于其他人臉識別算法的一個主要優勢?;綡aar特征及積分圖計算示意圖見圖3。

如計算圖3所示的基本Haar特征中的第1個,并規定該特征為上半部分減下半部分,則該特征的計算為S=A-B-2C+2D+E-F。再進行零均值處理,用到被檢測區塊的像素和,可以從積分圖計算一次得到并存儲。之后,進行歸一化處理,用到被檢測區塊的平方和,可以從原圖的平方積分圖計算得到并存儲。最后得到特征值為

式中:M為特征塊的有效面積,xij為被檢測塊的像素值。

為了減輕運算的復雜度,同時又保證較好的效果,需要一個級聯的分類器進行逐步淘汰。每個像素特征有其權重α,若其特征值s通過判定,則被檢測塊的累計特征值增加α,每一級分類的像素特征檢測結束后,累計特征值與閾值比較,不到閾值的被檢測塊被丟棄。即對第k級分類器

式中:Tk為累計特征值,θi為特征值si的判定條件。

在嵌入式實現中,這種級聯有效地減少每次淘汰非人臉位置時的運算開銷。由于每次增加的特征數量有限,計算新特征的時間和內存使用較少。新特征的計算結果被累計到前一次的結果上,用于當前這一級分類器的分類。本系統還通過追蹤搜索,進一步減少資源開銷。改進后的Adaboost人臉識別算法如圖4所示。

追蹤搜索將前3級分類器合并,如果1個人臉位置能夠通過第1級判定,就直接進行下一級判定,3次都通過的被保留。使用原始的逐級篩選就需要存儲第1級分類后所有未被過濾掉的人臉位置的信息(包括被檢測區塊的位置、均值、方差和當前累計特征值)。而追蹤搜索則存儲3級分類后的結果。實際使用1/3降采樣并考慮一定的冗余,存儲的檢測塊為8 000個。對于不同大小的檢測塊,Haar特征是線性縮放的,經縮放的Haar特征被提前計算并存儲。如表1所示,相比于基本算法,本系統內存使用減少為42%。

表1 各部分數據內存需求比較 byte

2.3 SVR人臉方向推定算法

給定一幅場景圖像,通過前面的Adaboost算法提取出包含人臉區域的部分?;赟VR的人臉姿態推定算法[4]則根據人臉的圖像,判斷出人臉的姿態,得出人臉朝向。

先通過主分量分析(PCA),將人臉圖像(40×40)進行預處理,為SVR做準備。經過PCA后,原始40×40=1 600維的向量降為50維。SVR利用支持向量機(SVM)對輸入的數據進行回歸。其輸入為經過PCA處理后的多維向量,而函數值為該人臉在某一個維度上的角度。SVR最終擬合出一條曲線,用于分類。

在SVR的訓練過程中,采用了5種分類,即左臉、半左臉、正臉、半右臉、右臉,從而提高了對于半側臉的檢測率。訓練后得到的支持向量是201個。在進行方向推定時,5種分類被合并成3種,即左臉、正臉、右臉,其中左臉、半左臉合并為左臉,右臉、半右臉合并為右臉。這樣在不增加計算的情況下提高了側臉的檢測率。

3 系統實驗與測試結果

3.1 Linux系統搭建

為了滿足系統需求,要對Linux系統進行裁剪和驅動調試。在內核中支持各類USB設備,包括USB攝像頭和網卡,網絡支持DHCP,支持Linux下通用視頻接口V4L2,并為系統安裝網絡文件服務(NFS),以及JPEG圖片解壓縮程序(DJPEG)。

3.2 系統與遠程計算機的通信

系統與遠程計算機通信如圖5所示。系統向遠程計算機傳輸的數據是USB設備采集的圖像、經過Adaboost檢測出人臉的位置,以及經過SVR得到的各人臉的方向推定結果。圖像采用JPEG格式節省帶寬。

本系統的升級是通過遠程Linux服務機實現的,而遠程控制界面則是在Windows操作系統下的,從而獲得較大靈活性和實用性。

3.3 系統測試結果

首先使用一些測試圖片對人臉檢測和方向推定算法進行了測試,如表2所示。Adaboost算法的訓練樣本數為300,測試樣本30;SVM訓練樣本為3 000,測試樣本為300。樣本來源包括MIT人臉數據庫,也包括自己拍攝的圖像。在PC端利用Matlab和OpenCV分別進行訓練及仿真測試。仿真時可以做到對640×480的監控畫面進行實時搜索和方向推定。

表2 Adaboost及SVM測試準確率%

而后,需要在完整搭建的系統上進行功能測試,先對攝像頭圖像采集、圖像預處理、人臉算法處理以及對結果信息上傳進行分塊測試。測試通過后,進行了系統整體測試。為此在實驗室內使用兩臺PC機作為升級服務器和遠程結果查看端,將MiniBoard和PC通過路由器連接在一個局域網內。MiniBoard外接21 in DVI液晶顯示器,使用USB-HUB擴展連接USB網絡攝像頭(640×480分辨力)、USB網卡、USB鼠標鍵盤。先為H.264視頻解碼播放程序分配資源后,啟動程序,進行主控、圖像采集、人臉檢測與方向推定、數據上傳。測試結果顯示,系統完成從采集到數據上傳的一次循環需要2~6 s,可以同時保證視頻播放的實時性。實驗環境下,人臉檢測的正確率超過80%,方向推定的準確率超過90%。

4 小結

目前,該系統在實驗室環境下檢測及方向推定準確率較高,但是系統對于攝像頭設備和環境光線較敏感??紤]到在實際應用環境中往往會因人員密度過大而出現人臉的遮擋現象,下一步的提升目標就是在進一步優化算法、提升運算速度與穩健性的同時,解決在部分遮蔽情況下的人臉識別與方向推定問題。

本系統可以作為一種智能視覺的廣告機原形,進一步的開發可以使其應用于諸如商務寫字樓等處,為廣告播放結果進行數據統計和上傳。布置廣告機的地方不一定有以太網,可以考慮諸如U盤數據拷貝、藍牙數據傳輸,或者利用GPRS將最為關鍵的統計數據進行周報或者日報,從而進一步提升系統實用價值。

[1]劉曉克,孫燮華,周永霞.基于新Haar-like特征的多角度人臉檢測[J].計算機工程,2009,35(19):195-197.

[2]徐顯日,戴在平,蔡燦輝.新型人臉檢測算法在視頻監控系統中的應用[J].電視技術,2008,32(4):89-90.

[3]SHAKHNAROVICH G,VIOLA P A,MOGHADDAM B.A unified learning framework for real time face detection and classification[C]//Proc.Fourth IEEE International Conference on Automatic Face and Gesture Recognition.Washington,DC:IEEE Press,2002:14-21.

[4]LI Yongmin,GONG Shaogang,LIDDELL H.Support vector regression and classification based multi-view face detection and recognition[C]//Proc.Fourth IEEE International Conference on Automatic Face and Gesture Recognition.Grenoble:IEEE Press,2000:300-305.

猜你喜歡
解碼人臉攝像頭
浙江首試公路非現場執法新型攝像頭
《解碼萬噸站》
攝像頭連接器可提供360°視角圖像
有特點的人臉
一起學畫人臉
解碼eUCP2.0
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
三國漫——人臉解鎖
奔馳360°攝像頭系統介紹
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合