徐健+唐思宇+鄒佳琳+周帥+陳新榮+周宇昕
摘 要:本課題基于圖像處理的方法研究教室的人員分布狀態(tài)。首先介紹了圖像采集硬件,通過嵌入式攝像頭采集教室的圖像信息,然后利用一系列圖像方法進(jìn)行處理。文章對教室圖像做了灰度化和二值化處理,進(jìn)行了中值濾波,再對圖像作了二值化形態(tài)學(xué)分析和運(yùn)算,通過腐蝕和膨脹算法,獲得了可以對人員分布作有效分析的圖像。文章最后對人員密度算法方案作了對比,分別用像素統(tǒng)計法和特征識別法進(jìn)行了統(tǒng)計分析,均能達(dá)到了教室人員密度分析的效果。
關(guān)鍵詞:人員分布;形態(tài)學(xué)算法;腐蝕;膨脹;像素統(tǒng)計
中圖分類號:TP751 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2017)35-0042-04
Abstract: It studies the distribution of classroom personnel through image processing in this paper. The image information of the classroom is collected by the embedded camera, and it is analyzed by a series of processing algorithms. The collected image is firstly processed by the grayscale and binarization algorithms, and the median filtering is also used. Then it is continued to be processed by binarization morphological algorithms including the corrosion and expansion methods and it becomes the image which can be analyze effectively for the personnel distribution. Finally, the personnel density algorithm is analyzed and compared and the pixel statistics and feature recognition methods are respectively applied which all achieves the basic effect of classroom personnel density analysis.
Keywords: distribution of personnel; morphological algorithms; corrosion; expansion; pixel statistical
隨著教育教學(xué)活動的深入,高校越來越重視對教室資源的配給和管理。為此通過引入信息采集手段,及時掌握教室的學(xué)生人員數(shù)量和資源利用情況,收集教室有效信息,并繼而對教學(xué)樓資源做有效的引導(dǎo)和配置。在信息收集中,一個重要的環(huán)節(jié)是統(tǒng)計當(dāng)前各個教室的人員情況,即估算出教室的人員密度。本文基于STM32硬件獲取教室圖像數(shù)據(jù),首先進(jìn)行圖像的初步處理,然后通過對圖像進(jìn)行形態(tài)學(xué)分析和處理,對圖像中人員數(shù)量進(jìn)行估計,并闡述了其教室人員密度算法的實現(xiàn)過程。
1 硬件基礎(chǔ)概述
本設(shè)計以STM32F4開發(fā)板為硬件底層基礎(chǔ),結(jié)合電源模塊、按鍵模塊、ATK-OV2640彩色攝像頭模塊、4.3寸TFTLCD液晶顯示屏模塊,還有教室燈光控制模塊,系統(tǒng)模塊圖如圖1所示:
ATK-OV2640是ALIENTEK推出的一款200W像素高清彩色攝像頭,其核心采用了OmniVision公司的1/4寸CMOS UCGA(1632*1232)圖像傳感器OV2640。該攝像頭模塊具有高靈敏度、低壓的特點(diǎn),適合嵌入式應(yīng)用;具備標(biāo)準(zhǔn)的SCCB接口,兼容IIC接口;支持壓縮圖像,可以輸出JPEG圖像數(shù)據(jù);集成有源晶振,無需外部提供時鐘;ATK-OV2640攝像頭所有的配置,都是通過SCCB (Seril Camera Control Bus)總線實現(xiàn)的,它的信號線構(gòu)成如下:第一個是用來傳輸時鐘的SIO_C,另一個是用來傳輸數(shù)據(jù)的SIO_D。OV2640 的數(shù)據(jù)輸出,是在行參考信號和像素時鐘的控制下,有序輸出的,默認(rèn)的行像素輸出時序,如圖 2所示。
2 圖像處理算法
所進(jìn)行的圖像處理算法包括:(1)圖像預(yù)處理,完成彩色圖像轉(zhuǎn)灰度化圖像、灰色圖像轉(zhuǎn)黑白二值圖像;(2)圖像的濾波處理;(3)對二值黑白圖像作形態(tài)學(xué)處理,獲得可進(jìn)行人員分布分析的最終圖形。
2.1 彩色圖像灰度化和二值化
彩色圖像的灰度化可以減少圖像的數(shù)據(jù)處理量?;叶人惴ㄖ袘?yīng)用最普遍的算法是加權(quán)平均法。根據(jù)YUV的顏色空間中,Y的分量的物理意義是點(diǎn)的亮度,由該值反映亮度等級,Y與R、G、B三個參數(shù)可以構(gòu)成一定的關(guān)系,即:
Cray(i,j)=0.299×R(i,j)+0.587×G(i,j)+0.114×B(i,j)
其中,Cray(i,j)代表的就是亮度Y的值,也就是灰度化之后的灰度值。灰度值范圍是0~255,形成256階灰度值。
在實際的二值化過程中,采用動態(tài)閾值迭代法,在保證速度的基礎(chǔ)上,盡可能的保存更多原有的圖像信息。迭代法是基于逼近的思想,首先設(shè)置一個初始化靜態(tài)閾值Value;將所有像素點(diǎn)的灰度值參考這個閾值分為兩類,第一類高于這個閾值,第二類低于這個閾值;分別對第一類和第二類的像素點(diǎn)求平均值,得到Average1和Average2后取平均值作為新的靜態(tài)閾值;然后重復(fù)上述過程,直到第N次迭代的閾值和第N-1次迭代的閾值的差控制在一定的范圍之內(nèi)時方可結(jié)束。程序代碼如下:endprint
while ( Value != New_Value)
{
double Sum1=0, Sum2=0, W1=0, W2=0,Avg1=0,Avg2=0;
Value = New_Value;
for(i=0; i { for(j=0; j { if( Cam_Data[i][j] < Value) { Sum1= Cam_Data[i][j]+Sum1; W1++; } if( Cam_Data[i][j] > Value) { Sum2= Cam_Data[i][j]+Sum2; W2++; } } } Avg1=Sum1/W1; Avg2=Sum2/W2; New_value=(Avg1+Avg2)/2; return New_value; } 動態(tài)閾值的大小會隨著現(xiàn)場灰度的采樣值不斷的變化,適用性比較強(qiáng)。 2.2 濾波降噪處理 本系統(tǒng)中采用的是中值濾波的方法。將灰度化之后的圖像,以3*3的矩陣為一個基本的單元,分別讀出這9個元素的灰度值,并按照從小到大的順序排列。比如,灰度值按照從小到大的順序排列之后為0,2,3,3,4,6,10,19,97,然后將重新排序的9個數(shù)字按照順序依次填入一個新的3*3矩陣中,最中間的元素即為中值。 2.3 形態(tài)學(xué)算法處理 二值形態(tài)學(xué)對二值化后的圖像進(jìn)行形態(tài)學(xué)處理,基本的形態(tài)學(xué)算法采用腐蝕(使區(qū)域縮?。┖团蛎洠ㄊ箙^(qū)域擴(kuò)大),一般通過創(chuàng)建一個n*n的小矩陣作為結(jié)構(gòu)元進(jìn)行分析處理。 腐蝕:如圖5所示,對原圖5(a)建立如圖5(b)的結(jié)構(gòu)元,在原圖上平移結(jié)構(gòu)元,以結(jié)構(gòu)元中心為參考點(diǎn),逐個掃描圖像像素點(diǎn),若原圖能完全包含結(jié)構(gòu)元所含像素(黑色),則參考點(diǎn)掃描到的像素點(diǎn)計為黑色,否則為白色。如圖5(c)所示,是腐蝕的樣圖結(jié)果。結(jié)構(gòu)元參考點(diǎn)可以不是中心,這樣腐蝕的效果也會發(fā)生變化。 經(jīng)過圖像的腐蝕算法之后,可以消除很多沒有意義的噪點(diǎn),但是也使得很多重要的邊緣細(xì)節(jié)消失。如圖6所示,圖像中人物的輪廓雖然都在,但是有的部分被腐蝕的沒有特征。接下來通過膨脹算法增強(qiáng)人物信息。 膨脹操作時,同樣用結(jié)構(gòu)元的參考點(diǎn)逐個掃描圖像像素點(diǎn),若結(jié)構(gòu)元中的像素(黑色)與像素點(diǎn)存在重合則掃描到的點(diǎn)計為黑色,否則為白色。如圖7是對腐蝕后的圖6作的膨脹操作,使得目標(biāo)更加明顯。 利用腐蝕和膨脹對圖像進(jìn)行處理,可以在基本不改變目標(biāo)形狀的情況下,將背景物中的毫無意義小黑點(diǎn)消除。 3 人員密度檢測 3.1 像素統(tǒng)計與特征識別 在進(jìn)行圖像處理之后,基本有人存在的地方會留下一塊黑斑。有兩種方案可以大致估計出教室的人數(shù)。 方案1:像素統(tǒng)計法 只要讀出教室內(nèi)部黑色像素點(diǎn)的個數(shù),然后再通過測試得出每個學(xué)生所占的像素點(diǎn)的個數(shù),就可以初步判斷教室的人數(shù)。但實際情況因為攝像頭擺放的位置是教室的前方,教室前排的學(xué)生所占的像素點(diǎn)數(shù)一定多于教室后排學(xué)生所占的像素點(diǎn)數(shù)。為此,把教室劃分為了6個區(qū)域,如圖8所示。每個區(qū)域的學(xué)生所占的像素點(diǎn)數(shù)就相差不大了。 方案2:特征識別法 特征識別法不同于像素統(tǒng)計法,關(guān)鍵是計算連通域的大小,即計算區(qū)域內(nèi)出現(xiàn)的所有黑斑的面積。只有當(dāng)黑斑的面積滿足一定的條件,才可以判別為人。仍然對教室進(jìn)行區(qū)域劃分,并對像素連通的區(qū)域按下法標(biāo)記: (1)從第一行掃描像素點(diǎn),記錄下連續(xù)“黑點(diǎn)串”(即連通域)的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),它的面積就是終點(diǎn)坐標(biāo)與起點(diǎn)坐標(biāo)的差。 (2)從第二行開始,同樣記錄連續(xù)“黑點(diǎn)串”的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),并計算面積。若此“黑點(diǎn)串”與上一行的某個“黑點(diǎn)串”在橫坐標(biāo)上有公共部分,則認(rèn)為這兩個“黑點(diǎn)串”是連通的,將其面積相加。 (3)直到最后一行識別結(jié)束。記錄下所有的連通域及其面積。 3.2 人員密度分析 分別對像素統(tǒng)計法和特征識別法的測試數(shù)據(jù)展開分析。 像素統(tǒng)計法: (1)因為教室左右是對稱的,攝像頭拍到的畫面也是對稱的,即A/B區(qū)域?qū)ΨQ。因為A/B區(qū)域原則上采集到的數(shù)據(jù)也是一樣的,所以將A/B區(qū)域劃分為一類,采集一組數(shù)據(jù)。 (2)分別在A區(qū)域安排1個人,2個人,3個人,4個人,測得不同情況下A區(qū)域黑色像素點(diǎn)總數(shù)。 (3)重復(fù)上述過程,在C區(qū)域,和E區(qū)域測得不同人數(shù)時,黑色像素點(diǎn)的總個數(shù)。 實驗數(shù)據(jù)如表1所示: 特征識別法: (1)跟像素統(tǒng)計法類似,因為A/B區(qū)域原則上采集到的數(shù)據(jù)也是一樣的,因此將A/B區(qū)域劃分為一類,采集一組數(shù)據(jù)。 (2)分別在A區(qū)域安排1個人,2個人,3個人,4個人,如果連通域的面積符合設(shè)定的范圍,則可以判定為人,此時記錄這個連通域的面積。若符合的連通域的面積大于一個指定值,則都記錄下來,取其平均值。 (3)重復(fù)上述過程,在C區(qū)域,和E區(qū)域測得不同人數(shù)時,符合既定范圍的連通域的面積,并求其平均值。實驗數(shù)據(jù)如表2所示: 經(jīng)過不斷地實踐分析,發(fā)現(xiàn)將像素識別法分區(qū)域處理的方案已經(jīng)基本可以滿足設(shè)計的預(yù)期,并且這種方法的算法簡單,處理的速度要快于特征識別法。因為像素統(tǒng)計法只進(jìn)行了一次屏幕的掃描,而特征識別法不僅進(jìn)行了多次的屏幕的掃描,還有比較和標(biāo)記的過程,處理速度稍微慢了一點(diǎn)。 4 結(jié)束語 本課題通過攝像頭對教室內(nèi)部的圖像進(jìn)行采集,經(jīng)過算法研究基本估計出教室學(xué)生人數(shù),從而得到人員分布情況,取得了一定效果。論文在圖像獲取和人員分析算法上取得了初步經(jīng)驗,仍有很大的研究空間。課題可以應(yīng)用于特定場合對人群進(jìn)行統(tǒng)計分析,從而對資源或者公共設(shè)施進(jìn)行高效合理的分配,有著很好的應(yīng)用前景。 參考文獻(xiàn): [1]劉洋,薛向陽,路紅,等.一種基于邊緣檢測和線條特征的視頻字符檢測算法[J].計算機(jī)學(xué)報,2005,28(3):427-432. [2]拉斐爾C.岡薩雷斯,等.數(shù)字圖像處理(第三版)[M].阮秋琦,等譯.電子工業(yè)出版社,2017.