摘 要: 為了完成在不采用傳感器條件下對公共場所人數(shù)的智能檢測,從實際應用的角度出發(fā),運用人臉圖像擬合及模糊條件下人臉匹配的算法,實現(xiàn)了在嵌入式Linux平臺下以OMAP3530芯片為核心的基于圖像處理的多人臉識別系統(tǒng)。該系統(tǒng)能夠得出公共場所實時人員的名單,并列出人員信息。以普通辦公室為例進行實驗,得出準確率可達80%。該系統(tǒng)充分利用了OMAP3530芯片強大的數(shù)據(jù)處理能力,具有性價比高、可維護性強、工作穩(wěn)定的特點。
關鍵詞: Linux;OMAP3530;數(shù)字圖像處理;多人臉識別
數(shù)字圖像處理技術就是利用計算機或者一些硬件設備(如MCU、DSP、PC等)對通過視頻采集電路采集到的圖像信息進行一系列算法處理,得到所采集到圖像的一系列特征參數(shù)(如物體的幾何特征等),進而滿足人們需求的技術。20世紀70年代初,由于得到大量的研究和應用,數(shù)字圖像處理已具備了自己的技術特色,并形成了較完善的學科體系,從而成為一門獨立的新學科。目前,基于人臉識別的數(shù)字圖像處理在智能家居、安防監(jiān)控、搜救偵查等諸多方面得到良好的應用[1-2],但仍存在一系列的問題,如現(xiàn)有系統(tǒng)多是采用單獨的計算機或者計算機組進行操作,設備龐大,不易于操作,且大多只是對采集到的發(fā)生過的視頻片段或者圖像進行操作,喪失人臉識別的實時性。本文從嵌入式應用的角度出發(fā),以TI公司生產(chǎn)的包括ARM與DSP雙核的OMAP3530芯片為硬件核心,在Ubuntu上搭建基于Linux+DSP/BIOS雙操作系統(tǒng)開發(fā)環(huán)境,并用交叉編譯器來調試編譯ARM和DSP程序,設計了基于數(shù)字圖像處理的多人臉識別系統(tǒng)。
1 系統(tǒng)設計及主要算法
1.1 設計思路及系統(tǒng)結構
本系統(tǒng)主要是針對目前學校、公司等對人員的管理需求所設計研究的。如在教學方面,提高了點名效率,節(jié)省時間;在商業(yè)方面,解決了以往采用指紋識別的設備昂貴、操作不方便的問題。原理上采用形態(tài)學的圖像濾波、圖像清晰化和模糊條件下的人臉匹配等相關圖像視頻的處理技術以及基于OMAP3530芯片為核心的Linux嵌入式系統(tǒng)開發(fā)技術,硬件上包括OMAP3530處理器、視頻采集接口、數(shù)/模轉換芯片、顯示屏幕、圖像獲取單元和電源等。系統(tǒng)的工作步驟如圖1所示。
?。?)系統(tǒng)初始化。由于系統(tǒng)采用的是以TI公司生產(chǎn)的OMAP3530芯片為核心的實驗平臺,在不同的環(huán)境下工作時要對系統(tǒng)進行不同的初始化設置。例如在教室中,不僅需要設置攝像頭的安放位置,使得攝像頭能夠采集到整個工作場所的區(qū)域,還要預先得到場所人員的圖像數(shù)據(jù),并初始化人員圖像建立數(shù)據(jù)庫。
(2)系統(tǒng)被開啟,系統(tǒng)將基于TVP5146進行一系列的視頻采集工作。由于攝像頭采集的原始信號為模擬信號,因此首先要將其經(jīng)過A/D轉換器轉化為數(shù)字信號;然后OMAP3530處理器的ARM核通過基于TVP5146和V4L2(Video4Linux2)視頻捕獲應用程序把從攝像頭采集到的視頻數(shù)據(jù)通過DSP/BIOS橋傳給DSP核進行算法處理;最后DSP核把處理后的圖像傳給ARM核,并在屏幕上顯示。系統(tǒng)根據(jù)此原理完成視頻的采集過程。
(3)處理采集到的圖像。因為在同一時刻攝像頭不一定能夠采集到工作區(qū)域所有人員的信息,所以只處理一幀圖像不能準確反映場所信息。為了解決此問題,系統(tǒng)對視頻流中的多幀圖像進行處理。系統(tǒng)采集的幀數(shù)與公共場所的人數(shù)成正比,公共場所的人員越多則同一時刻采集到的人臉數(shù)目越小,所以需要的圖像幀數(shù)越多,反之越少。首先,系統(tǒng)對采集的圖像進行亮度及去噪處理,得到平滑的圖像數(shù)據(jù);其次,將圖像中的人臉區(qū)域進行分割,再將分割的人臉圖像大小標準化之后進行清晰化處理;最后,系統(tǒng)將對標準化后的人臉圖像進行人臉識別,得出并顯示未到人員名單。
系統(tǒng)的實現(xiàn)主要由ARM核和DSP核完成。其主要功能包括:(1)ARM Cortex-A8核,此核主要完成系統(tǒng)任務管理功能,如采集前端視頻、控制系統(tǒng)的外設、通過DSPLink數(shù)據(jù)通信機制控制DSP完成一系列軟件算法并在LCD上實時顯示等功能;(2)TMS320C64+DSP核,此核主要完成圖像處理算法功能,如接收ARM端傳遞的數(shù)據(jù)、借助DSP/BIOS核完成一系列的算法,在本系統(tǒng)中執(zhí)行圖像標準化、圖像清晰化、人臉識別等算法。
1.2 基于OMAP3530嵌入式平臺的開發(fā)
1.2.1 Linux嵌入式系統(tǒng)的視頻、圖像采集設備開發(fā)
本系統(tǒng)基于TVP5146視頻解碼芯片和V4L2設備進行圖像采集算法的開發(fā)。在Linux環(huán)境下采用內存映射的同步采集方式,這種方式在程序運行過程中需要先分配一塊內存空間作為視頻數(shù)據(jù)的緩沖區(qū)域,當啟動視頻采集后,視頻數(shù)據(jù)將不斷地送入該緩沖區(qū),而當用戶需要數(shù)據(jù)時即從該緩沖區(qū)讀取。每獲得一幀新圖像數(shù)據(jù),采集程序便向應用程序發(fā)送一個信號,上層程序通過相應信號來實現(xiàn)圖像數(shù)據(jù)的實時處理。整個采集過程分為3個步驟:(1)利用函數(shù)open()打開設備文件,從而打開設備驅動程序;(2)利用函數(shù)ioctl()設置視頻捕獲參數(shù),包括視頻格式、申請buffer等;(3)將內核空間的視頻數(shù)據(jù)映射到相應的用戶空間,開啟視頻捕獲;(4)關閉視頻流捕獲。ARM Cortex-A8核將攝像頭捕獲的數(shù)據(jù)通過DSP/BIOS橋傳給TMS320C64+核,按照式(1)對采集到的UYVY顏色空間的圖像數(shù)據(jù)進行顏色空間轉換,在對圖像顏色空間轉換之后得到BMP格式圖像。此時再由TMS320C64+核進行人臉識別等相關計算。
1.2.2 多線程開發(fā)
從程序自身的角度考慮,多線程開發(fā)就是使目標任務能夠盡可能快地完成,更有效地利用系統(tǒng)資源,提高應用程序響應[7],屬于嵌入式軟件開發(fā)中操作系統(tǒng)層的內容。這對圖像處理的程序尤其有意義,當一個操作耗時很長時,整個系統(tǒng)都會等待這個操作,此時程序不會響應其他算法的操作,而使用多線程技術,將耗時長的操作(Time Consuming)置于一個新的線程,這樣可以提高系統(tǒng)運算效率。
在本系統(tǒng)中,由于相關視頻、圖像采集與圖像處理算法復雜度較高,而平臺的主頻為600 MHz,內存為128 MB。綜合考慮,采用生產(chǎn)消費算法完成多線程開發(fā)。在Linux嵌入式系統(tǒng)的調度下,系統(tǒng)的不同線程會運行在不同的處理器上,因而一個復雜的程序被分為多個線程,使得ARM核控制的圖像采集與DSP核控制的圖像處理兩個線程之間相互獨立,并使其中一個線程阻塞或中斷不會影響其他線程的運行,增加了系統(tǒng)的可維護性。
1.3 主要算法及設計
1.3.1 人臉圖像分割
在系統(tǒng)的開發(fā)環(huán)境下,處理經(jīng)過預處理后的圖像。系統(tǒng)根據(jù)膚色識別模型將具有皮膚顏色的圖像進行分割,并將分割下來的圖像與橢圓進行擬合,從而使得到的人臉圖像為橢圓形,而系統(tǒng)根據(jù)橢圓長短軸與水平和垂直方向的夾角對橢圓進行旋轉調整,最后得出較為理想的人臉圖像。標準化擬合得到的人臉圖像長短軸之比固定為1.5:1,采集出人臉圖像的效果如圖2所示。
1.3.2 人臉圖像清晰化
系統(tǒng)運用低分辨率的圖像進行人臉的智能匹配,所以要采用圖像增強算法進行清晰化研究,以提高采集到的標準化人臉圖像的亮度。李曉霞等提出了一種新的低照度彩色圖像增強算法[6],為了增強彩色圖像而不引起色彩失真,在HSV顏色空間中保持色相不變,提出了采用分段對數(shù)變換增強飽和度,結合在多尺度Retinex算法的基礎上,采用邊緣保持增強色調的低照度彩色圖像增強算法。通過對不同環(huán)境下的圖像或者分辨率比較低的圖像的增強處理,得到了比較清晰的圖像結果,提高了圖像的亮度、細節(jié)和對比度。實驗結果表明,該算法能夠增強景物的可辨識度和人臉特征,提高圖像的辨識率。人臉清晰化前后的灰度圖像如圖3所示,可以看出圖3(b)圖像質量明顯優(yōu)于圖3(a)。
1.3.3 人臉識別
對清晰化后的人臉圖像進行匹配。前人提出了很多人臉識別的算法,其中主成分分析法(PCA)一直受到人們的關注。參考文獻[8]在經(jīng)典PCA方法的基礎上,提出了一種改進的PCA方法,該方法在預處理階段對每幅圖像進行灰度的線性變換,通過增強圖像的對比度和亮度來減少光照變化帶來的影響,然后利用經(jīng)典PCA方法對圖像進行處理。由于光照變化主要影響PCA方法的前3個最大的主分量,因此,在識別階段對這3個主分量進行加權處理來進一步減少光照的影響。
假設由M幅人臉圖像組成圖像集B,其主要步驟如下:
?。?)對清晰化的每幅圖像進行零均值處理,處理后的圖像為x1,x2,…,xM。
?。?)對圖像x1,x2,…,xM作圖像灰度的線性變化。
?。?)利用經(jīng)典PCA方法計算特征子空間以及每張人臉在特征子空間中的投影系數(shù)。其中特征子空間由按特征值大小進行降序排列的特征向量組成。
?。?)對人臉圖像進行識別。
本系統(tǒng)主要針對人臉區(qū)域進行匹配,且整幅圖像中只包含人臉區(qū)域,所以人臉特征量的提取簡單,匹配率相對較高。
2 實例
本系統(tǒng)的適用范圍較為廣泛,如教室、會議室、辦公室等均可應用。由于分辨率的需要,面積大的環(huán)境對攝像頭的要求相對較高。此實例是系統(tǒng)在辦公室的應用,系統(tǒng)通過對辦公室實時圖像的采集,得到了較為準確的人員名單,驗證了本系統(tǒng)的可行性及準確性。
?。?)系統(tǒng)開始工作,采集辦公室內的實時視頻。通過獲取的視頻,系統(tǒng)采集其中的幾幀圖像進行處理。系統(tǒng)采集的圖像如圖4所示。由于內存的限制且圖像的計算量較大,因此系統(tǒng)必須在獲取一定的視頻后釋放內存,這就限定了獲取圖像的頻率不能太高。
由圖5可以看出,系統(tǒng)根據(jù)采集的多幀圖像得出了最終人員的名單。第1幅公共場所的圖像并沒有采集到所有人員的人臉信息,所以不能檢測到所有的在位人員。當采集到第2幅圖像時,系統(tǒng)采集到了所有人員的人臉信息,并列出了在位人員信息。
由實驗結果可知,系統(tǒng)準確地獲得了此辦公室的人員信息,得出了未到和應到的人員名單。而對于如教室等的大型公共場所,由于攝像頭清晰度的限制,必然使得系統(tǒng)存在一定的誤差,但由于系統(tǒng)所采集的是單純的沒有背景的人臉區(qū)域的圖像,因此在人臉的識別方面仍然具有很高的準確性,使得整個系統(tǒng)的誤差相對較小。
系統(tǒng)采用基于OMAP3530的嵌入式系統(tǒng)設計,能夠實現(xiàn)設備本地控制,可維護性及穩(wěn)定性比計算機控制都有所提高,體現(xiàn)出了系統(tǒng)智能化的特征。實際的應用中,不僅可以運用到文中提到的教室及其他辦公場所,而且可以在公安安防監(jiān)控系統(tǒng)中的罪犯搜索方面得到推廣,提高抓捕效率。本系統(tǒng)單純地對攝像頭采集到的數(shù)字圖像進行處理,有著良好的可操作性和低成本的優(yōu)點,便于推廣。
參考文獻
[1] 潘基明,張少兵.基于DSP視頻圖像采集處理系統(tǒng)設計[J].電子測試,2008(4):74-78.
[2] 王明艷,張海峰.基于TMSDM643的視頻監(jiān)控系統(tǒng)設計[J].微計算機,2008(2):200-201.
[3] 彭啟倧,管慶.DSP集成開發(fā)環(huán)境——CCS及DSP/BIOS的原理與應用[M].北京:北京電子工業(yè)出版社,2005.
[4] LEUVEN J, LEEUWEN M B, GROEN F C A. Real-time vehicle tracking in image sequence[C]. Proceedings of IEEE Conference on Instrumentation and Measurement Technology, 2001:2049-2053.
[5] KIM W, LEE C Y, LEE J J. Tracking moving object using snake′s jump based on image flow [J]. Mechanics, 2001(11):119-216.
[6] 李小霞,李鋮果,鄒建華,等.一種新的低照度彩色圖像增強算法[J].計算機應用研究,2011(9):3554-3556.
[7] 李靜輝,題原,王艷春.基于DSP的圖像采集處理實驗開發(fā)平臺的研究[J].計算機與網(wǎng)絡,2008(2):213-214.
[8] 李榮健,韓其龍,楊鑫華.改進的PCA人臉識別新算法[J].大連交通大學學報,2008(4):48-51.
[9] 袁愛平,楊萬全.基于OMAP2的3G多媒體技術及應用[J].現(xiàn)代電子技術,2005(14):63-65.
[10] 時巖.基于OMAP軟件無線電平臺設計與實現(xiàn)[J].電子技術,2012(3):38-42.
[11] 何斌,馬天宇,王運堅.數(shù)字圖像處理[M].北京:人民郵電出版社,2002.