張開生+謝代勝
摘要:為了讓學生能遠程了解自習室人數(shù)情況,從學生頭部特征出發(fā),分析現(xiàn)有的教室識別人數(shù)技術的特點和不足,以嵌入式Linux和OpenCV為軟硬件搭建系統(tǒng)。系統(tǒng)采用垂直俯視拍攝方式,對教室座位區(qū)采取提取輪廓并橢圓擬合的方法識別座位區(qū)人數(shù)及人員排布。經實驗表明,系統(tǒng)能有效地識別教室人數(shù)及并分析學生行為,具有快速、準確性高的特點。
關鍵詞:嵌入式Linux;OpenCV;教室人數(shù)統(tǒng)計;橢圓擬合
中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2016)28-0187-02
Abstract: in order to let the students understand the remote study room number, starting from the student head characteristics, analysing the characteristics of classroom identification number of technology and shortcomings, based on embedded Linux and OpenCV as soft hardware system. The system adopts the vertical view shooting mode, take the contour extraction and recognition method of ellipse fitting and the number of personnel arrangement of the seating area, seating area. The experiment shows that the system can effectively identify the number of the classroom and analyze the behavior of the students. It has the characteristics of high speed and high accuracy.
Key words: embedded Linux; OpenCV; classroom population statistics; ellipse fitting
隨著我國高水平大學的招生人數(shù)進一步增加,學生對自習室是否有空位及其排布情況無法便捷獲取。隨著計算機技術的發(fā)展,圖像處理技術在解決這個問題越來越顯示出它的優(yōu)點。
文獻[1]提取了一種基于網格的模板匹配方法,使用背景減除算法得到運動區(qū)域,提取幀圖像進行預處理,然后提取特征統(tǒng)計人數(shù)。但人體間的相互遮擋而降低了檢測精度。文獻[2]利用人頭和非人頭統(tǒng)計特征提出了結合擴展的Haar特征和SVM分類器來檢測行人,此方法需花費大量時間收集人頭圖像樣本和訓練分類器;
分析總結現(xiàn)有技術的不足,系統(tǒng)采用垂直俯視拍攝方式,使用OpenCV作為函數(shù)庫,可方便移植于Linux系統(tǒng),算法簡單、魯棒性強。
1 系統(tǒng)整體架構設計
嵌入式Linux是以Linux內核為基礎,根據(jù)需要對軟、硬件進行裁剪的專用嵌入式系統(tǒng) [3]。
OpenCV是一個開放源代碼的計算機視覺庫,使非專業(yè)圖像處理的工程技術人員應用于圖像分割、運動檢測等方面[4]。
系統(tǒng)框架分為應用層、庫層、Linux內核、硬件層。應用層為教室人數(shù)檢測應用程序,為C/C++語言編寫,包含文中所提的算法。庫層上下分別為OpenCV視覺庫、OpenCV依賴庫、基本c庫三層。Linux內核以官網下載的Linux3.4.2內核基礎上經過裁剪,加載攝像頭、觸摸屏、無線網絡等模塊。系統(tǒng)使用三星四核Cortex-A9構架處理器Exynos 4412,主頻為1.5GHZ,內存為1GB DDR3、閃存4GB eMMC,圖像處理能力強大。I2C接口連接CMOS攝像頭OV7740。
2 人員特征的分析及檢測
系統(tǒng)以教室為應用背景,在教室正中心架設攝像頭,將整個教室攝入。系統(tǒng)的整體工作流程如圖2所示。教室中心正上方的攝像頭攝入當前教室圖像,從視頻中提取視頻幀,對視頻幀圖像經過灰度化、二值化處理、提取輪廓,由于俯視情況下人頭部輪廓圖可近視為一圓形,通過橢圓擬合,可找到圖像中的疑似人頭部,再根據(jù)擬合橢圓的面積等條件判斷是不是頭部。由于學生坐在相鄰位置時,在進行交談時頭部圖像可能發(fā)生一部分重疊,當兩個人頭部圖像重疊,提取的頭部輪廓將存在拐點。如果橢圓面積大于一個人頭部面積的閾值,再進行輪廓有無拐點判斷。以拐點為分界點,隨機選取疑似頭部輪廓起始點到拐點、拐點到疑似頭部輪廓終止點至少6個點做橢圓擬合,再根據(jù)擬合橢圓面積閾值進行判斷是否為人頭部。
(1) 圖像獲取并預處理
系統(tǒng)通過CMOS攝像頭模塊OV7740攝取當前教室圖像。OpenCV通過cvCaptureFromCAM 函數(shù)初始化攝像頭并從中捕獲視頻,再調用cvQueyrFrame函數(shù)從攝像頭捕獲的視頻中獲取并返回一幀圖像。系統(tǒng)充分利用教室為應用背景的優(yōu)勢,將教室圖像根據(jù)桌椅分布進行分塊處理,使用cvGetSubRect函數(shù)分塊圖像,保證每一塊圖像中保留完整的座位。
(2) 圖像二值化處理
圖像的二值化有利于圖像的進一步處理,使圖像簡單化,而且數(shù)據(jù)量減小,能凸顯出感興趣的目標的輪廓。其中cvThreshold參數(shù)使用最大熵值法求得的最佳閾值。該分割閾值使得圖像目標和背景兩類的信息熵之和最大[5]。
(3) 橢圓擬合
在進行橢圓擬合時,最常用的方法是最小二乘法。最小二乘法只需6個輪廓點即可擬合橢圓。以下是橢圓方程式:
A+C=1為沒有零解的約束條件,用上述方程對邊緣檢測后的點進行最小二乘法處理
得到一個線性方程組,使用高斯消元法,得到方程式的解[6]。通過OpenCV 中cvFitEllipse函數(shù),對cvFindContours函數(shù)提取出storage存儲輪廓數(shù)據(jù)矩陣作橢圓的最佳擬合。圖2為橢圓擬合的結果圖,在程序中設定橢圓的長軸、短軸及面積的范圍,去除不滿足條件的橢圓,結果為圖b。
圖3 (a)為兩學生在座位上交談的情景。針對這種情況,擬合橢圓設定面積為單頭像擬合橢圓面積的1.7~2.0倍。當滿足此條件時遍歷此輪廓數(shù)據(jù)矩陣(如圖3(c)),找到x軸坐標相差不大,y軸坐標相差最小的A、B,這兩點為此輪廓的拐點,再分別于輪廓起點、終點二次橢圓擬合。則可確定為兩人頭像遮蓋的情況。
3 實驗結果及分析
系統(tǒng)以某一實驗樓大廳為實驗對象進行試驗,在二樓用攝像頭垂直錄制行人在大廳行走的場景,與安裝在教室中心拍攝學生圖像情況基本一致。圖4為檢測圖。
座位區(qū)實驗結果如表1所示,通過大量實驗表明,對比其他方法,垂直俯視拍攝減小了人頭部相互遮擋的情況,具有較高的準確性。程序檢測及統(tǒng)計響應時間迅速,完全符合實時應用的要求。
4 結束語
論文在OpenCV圖像處理函數(shù)庫的基礎上運用圖像二值化、輪廓提取和橢圓擬合等圖像處理技術,結合嵌入式Linux技術和視頻采集技術,以自習室為應用背景,識別自習室學生人數(shù)、坐標和活動情況??偨Y系統(tǒng)特點,主要有以下3個方面:基于嵌入式Linux,具有較強的實用性、實時性;以自習室為應用背景且采用垂直俯視方式采集圖像,最大限度地減小了學生之間相互遮擋的情況,能準確獲取學生信息;使用OpenCV中函數(shù)對圖像進行預處理、二值化和橢圓擬合,大大減小程序的復雜度和工作量。
參考文獻 :
[1]Jun Wei Hsieh, Cheng Shuang Peng,Kao Chin Fan.Grid-based Template Matching for People Counting[C].Multimedia Signal Processing,2007. MMSP 2007. IEEE 9th Workshop,1-3 Oct. 2007: 316-319.
[2]Celik T,Seyin O H,Demirel H.Fire pixel classification using fuzzy logic and statistical color model[C]//IC2007.New York:IEEE,2007:1207-1208.
[3]毛德操,胡希明.嵌入式系統(tǒng)[M].浙江大學出版社,2003.
[4]劉瑞禎,于仕琪.OpenCV教程一基礎篇[M].北京航空航天大學出版社,2007.
[5]楊召君.基于視頻人數(shù)統(tǒng)計與跟蹤改進算法的研究與實現(xiàn)[D].南京郵電大學,2013.
[6]蘇娟. 基于視頻監(jiān)控的教室人數(shù)統(tǒng)計[D].安徽大學,2014.
[7]鈕毅.部分遮擋條件下橢圓目標識別[D].上海:上海交通大學自動化學院,2007.
[8]顧炯.基于頭肩輪廓特征的人頭檢測系統(tǒng)的研究[D].東華大學,2012.