聶 雄,黃斌全,陳 華
(1.廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院,廣西 南寧 530004;2.廣西廣播電視學(xué)校,廣西 南寧 530031)
節(jié)能減排是全球各國應(yīng)對(duì)地球氣候變化的有效措施之一,推廣高效節(jié)電照明系統(tǒng)是國家“十一五”規(guī)劃十大節(jié)能重點(diǎn)工程之一。然而由于缺乏有效管理,許多高校的教室在白天室內(nèi)照度很高的情況下,仍然普遍開燈作業(yè);晚間即使室內(nèi)無人或人數(shù)很少的情況下,室內(nèi)照明燈也全部開啟,經(jīng)常存在人走不熄燈的現(xiàn)象,從而造成用電資源的嚴(yán)重浪費(fèi)。近年來有不少基于單片機(jī)、光電傳感器和定時(shí)器等來實(shí)現(xiàn)照明控制的方法[1-4],均存在無法根據(jù)實(shí)際人員分布情況進(jìn)行照明缺點(diǎn)。筆者提出一種基于DSP的教室照明節(jié)能控制系統(tǒng),該系統(tǒng)采用圖像處理方法和技術(shù)對(duì)教室人員及其所處位置進(jìn)行識(shí)別和分析,根據(jù)情況對(duì)室內(nèi)照明進(jìn)行自動(dòng)控制。圖像處理過程的實(shí)現(xiàn)采用TMS320DM642高速DSP芯片進(jìn)行圖像處理和分析,然后對(duì)教室照明系統(tǒng)進(jìn)行相應(yīng)控制。
室內(nèi)人員識(shí)別是教室照明節(jié)能控制系統(tǒng)中的關(guān)鍵技術(shù)。只有獲得準(zhǔn)確的人員分布信息,才能正確地控制室內(nèi)的照明燈光。教室內(nèi)人員位置識(shí)別算法的基本流程如圖1所示,其過程可分為4個(gè)主要步驟:1)通過攝像頭采集教室內(nèi)圖像;2)對(duì)圖像進(jìn)行灰度化、二值化和中值濾波;3)對(duì)圖像進(jìn)行邊緣檢測(cè)處理;4)采用邊界跟蹤的相應(yīng)算法判斷人員的所在位置。經(jīng)過以上步驟,就可以獲得教室內(nèi)人員分布的基本情況,從而能夠準(zhǔn)確地控制室內(nèi)相應(yīng)位置的照明,實(shí)現(xiàn)節(jié)能。
從安裝在教室內(nèi)攝像頭采集到的圖像一般是彩色圖像。彩色圖像中每一像素的顏色由紅(R)、綠(G)、藍(lán)(B)3個(gè)分量組成,用3 byte表示?;叶葓D像中每個(gè)像素只有1個(gè)的亮度值(Y),每個(gè)像素用1 byte表示。彩色圖像和灰度圖像的轉(zhuǎn)換可以通過亮度方程來實(shí)現(xiàn)
圖2a為處理前的彩色圖像,圖2b為處理后的灰度圖像?;叶然蟮膱D像保持了原彩色圖像中人員主要特征和位置信息,但大大節(jié)省了存儲(chǔ)空間,減少后續(xù)數(shù)字圖像處理的數(shù)據(jù)量,從而提高人員識(shí)別算法的效率。
從教室攝像頭采集得到的圖像里所含的信息非常豐富,一部分信息在很大程度上干擾了系統(tǒng)對(duì)人物的識(shí)別[5-6],為了降低這種干擾,把256級(jí)灰度圖像轉(zhuǎn)化成二值圖像。二值化具體操作步驟如下:給整幅圖像選定一個(gè)合適的二值化閾值T,把小于該閾值的像素灰度賦值為0(黑色),把大于或等于該閾值的像素灰度賦值為255(白色)。
將圖2b的灰度圖像進(jìn)行二值化處理,得到圖3。比較圖2b和圖3,可以看到,由于人的頭部亮度較小,一般低于閾值T,經(jīng)過二值化處理后,變成了黑色,這將作為有用信息成為后續(xù)處理的基礎(chǔ),一部分無用信息被過濾掉了。
實(shí)際獲取的圖像在形成、傳輸、接收和處理的過程中,不可避免地存在外部干擾和內(nèi)部干擾,如光電轉(zhuǎn)換過程中的敏感元件靈敏度的不均勻性、數(shù)字化過程的量化噪聲、傳輸過程中的誤差及人為因素等,均會(huì)存在一定程度的噪聲干擾[7-8]。通常通過對(duì)圖像的平滑濾波可以消除圖像噪聲,從而改善圖像質(zhì)量,便于提取對(duì)象特征。
中值濾波器是一種非線性平滑濾波器,它也是一種鄰域運(yùn)算,把模板內(nèi)的所有像素按灰度值進(jìn)行排序,然后取該組數(shù)據(jù)的中間值作為模板中心像素點(diǎn)的新灰度值。數(shù)學(xué)表示是:一組數(shù)x1,…,xn,假設(shè)其排序?yàn)閤1≤x2≤…≤xn。則這組數(shù)的中值Y表示為
把一個(gè)點(diǎn)的特定長度或形狀的鄰域稱為窗口。常用的中值濾波窗口形狀有線形、方形、圓形、十字形以及圓環(huán)形等,窗口尺寸一般先取3,再取5,逐點(diǎn)增大,直到濾波效果滿意為止。就處理效果而言,對(duì)于有緩慢變化的、較長的輪廓線物體的圖像,采用方形或圓形的窗口為宜;對(duì)于包含有尖頂角物體的圖像,適宜用十字形窗口,而窗口大小則以不超過圖像中最小有效物的尺寸為宜。
本系統(tǒng)中采用中值濾波器對(duì)圖像進(jìn)行去噪。
腐蝕是一種最基本的數(shù)學(xué)形態(tài)學(xué)運(yùn)算。二值圖像的腐蝕運(yùn)算是消除圖像邊界點(diǎn)的一種過程,其結(jié)果使剩下的圖像沿其周邊比原來圖像小若干個(gè)像素。如果圖像在某處的像素很少,那么在腐蝕運(yùn)算后,圖像將會(huì)在該處變?yōu)榉沁B通,即變成2個(gè)區(qū)域,而像素足夠少的圖像可能被刪除,達(dá)到了去除噪聲的目的[9]。
腐蝕運(yùn)算的數(shù)學(xué)表達(dá)為
式中:S表示腐蝕后的二值圖像集合;B表示用來進(jìn)行腐蝕的結(jié)構(gòu)元素,結(jié)構(gòu)元素內(nèi)的每個(gè)元素取值為0或255,它可以組成任何一種形狀的圖形,在B圖像中有一個(gè)中心點(diǎn);X表示原圖像經(jīng)過二值化后的像素集合。
通過圖4來進(jìn)一步說明腐蝕的原理。
圖4表示了用結(jié)構(gòu)元素B(如圖4b所示)對(duì)目標(biāo)圖像X(如圖4a所示)進(jìn)行腐蝕運(yùn)算并得到運(yùn)算結(jié)果(如圖4c所示)的過程。圖4a中白色的部分代表背景,灰色的部分代表目標(biāo)圖像X。圖4b中黑色的方格代表結(jié)構(gòu)元素的中心點(diǎn),灰色的方格代表鄰域。圖4c中黑色的部分表示腐蝕后的結(jié)果,灰色的部分表示目標(biāo)圖像被腐蝕掉的部分。在腐蝕處理過程中,將結(jié)構(gòu)元素在圖像中移動(dòng),如果結(jié)構(gòu)元素完全包含在目標(biāo)圖像X中,則保留目標(biāo)圖像中對(duì)應(yīng)于中心點(diǎn)的像素點(diǎn),否則刪除該像素點(diǎn)。
在本系統(tǒng)中,對(duì)二值圖像進(jìn)行了腐蝕,選用的結(jié)構(gòu)元素如圖5所示。
結(jié)構(gòu)元素的中心位于它的
幾何中心,將該結(jié)構(gòu)元素在被腐蝕圖像中漫游,若結(jié)構(gòu)元素完全包含在被腐蝕圖像的有用信息中時(shí),保留該像素點(diǎn),否則刪除該像素點(diǎn),即置為背景。
實(shí)驗(yàn)表明,只需進(jìn)行1次腐蝕運(yùn)算,原圖像中絕大部分的有用區(qū)域都只向內(nèi)收縮了1個(gè)像素點(diǎn)。
邊緣是由相鄰域灰度級(jí)不同像素點(diǎn)構(gòu)成的,如圖6a的圖像數(shù)據(jù)所示,不難發(fā)現(xiàn)圖像左邊暗,右邊亮,中間存在著一條明顯的邊界,若想檢測(cè)出此邊界,可采用差分運(yùn)算來實(shí)現(xiàn)對(duì)圖像的求導(dǎo)[5,10-12]。做法是當(dāng)前列的新灰度值等于相鄰的右邊一列灰度值與當(dāng)前列的差值,得到如圖6b所示的運(yùn)算結(jié)果。
圖6 邊緣檢測(cè)原理
可以看到,運(yùn)算結(jié)果中第3列比其他列的灰度值高很多,人眼觀察時(shí),就能發(fā)現(xiàn)一條很明顯的亮邊,即邊界,這種方法實(shí)現(xiàn)了垂直邊緣檢測(cè)。其他方向上的邊緣檢測(cè)原理類似,只是求差的方向不一樣。
邊緣提取首先檢出圖像局部特性的不連續(xù)性,再將這些不連續(xù)的邊緣像素連成完備的邊界。邊緣的特性是沿邊緣走向的像素變化平緩,而垂直與邊緣方向的像素變化劇烈。所以從這個(gè)意義上說,提取邊緣的算法就是檢出符合邊緣特性的邊緣像素的數(shù)學(xué)算子。
邊緣檢測(cè)算子檢查每個(gè)像素的鄰域并對(duì)灰度變化率進(jìn)行量化,通常也包括方向的確定。有若干種方法可以使用,其中大多數(shù)是基于方向?qū)?shù)模板求卷積的方法。邊緣模板用于沿著不同的方向檢測(cè)邊緣的4個(gè)模板。圖7給出了大小為3×3的邊緣模板,能在0°,45°,90°,135°這4個(gè)方向上檢測(cè)邊緣。
圖7 不同方向邊緣檢測(cè)模板
實(shí)現(xiàn)邊緣檢測(cè)有很多現(xiàn)成的邊緣檢測(cè)算子可以使用,如Robert算子、Sobel算子、Prewitt算子、Krisch算子、Laplacian算子等。在實(shí)際中使用Robert算子進(jìn)行邊緣檢測(cè)時(shí)發(fā)現(xiàn),某些方向上的邊緣不能檢測(cè)出來,出現(xiàn)了邊緣斷開的現(xiàn)象,導(dǎo)致后續(xù)的邊界跟蹤出現(xiàn)問題。
如圖8所示,采用Sobel算子進(jìn)行邊緣檢測(cè)時(shí)發(fā)現(xiàn),可以解決邊緣斷開的現(xiàn)象,但是得到的邊緣像素寬度至少為2個(gè)像素,不僅是加大了接下來將進(jìn)行的邊界跟蹤的計(jì)算量,而且實(shí)際進(jìn)行邊界跟蹤的處理效果并不好。另外,使用這一類的邊緣檢測(cè)算子需要計(jì)算不同方向上的模板卷積,計(jì)算量都比較大,所以在本系統(tǒng)中沒有采用上述的邊緣檢測(cè)算子[5]。
圖8 用Sobel算子進(jìn)行邊緣檢測(cè)
在本系統(tǒng)中,采用形態(tài)學(xué)的方法進(jìn)行邊界提取[13],它的基本思想是:先用一定的結(jié)構(gòu)元素對(duì)目標(biāo)圖像進(jìn)行形態(tài)學(xué)運(yùn)算,也就是第1.4節(jié)提到的腐蝕運(yùn)算,再用原圖像減去經(jīng)過腐蝕的圖像,最后得到物體的外邊界圖像。
在實(shí)踐中發(fā)現(xiàn),采用圖6所示的全方向腐蝕結(jié)構(gòu)元素進(jìn)行腐蝕運(yùn)算,處理后的物體絕大部分只向內(nèi)收縮了1個(gè)像素。所以進(jìn)行圖像的減運(yùn)算后,得到的物體邊界幾乎都是1個(gè)像素點(diǎn),而且得到的邊界也大都是連續(xù)的,幾乎沒有出現(xiàn)斷開的現(xiàn)象,這為下一步進(jìn)行邊界跟蹤打下了一個(gè)很好的基礎(chǔ)。實(shí)際處理效果如圖9所示。
物體往往都有其特定的邊界,在模式識(shí)別中,常利用物體的邊界來判斷當(dāng)前物體的類別。進(jìn)行邊界跟蹤可以獲取物體的邊界,這一步驟也成為了本系統(tǒng)中最重要也是最關(guān)鍵的部分。
由于數(shù)字圖像采用了矩形網(wǎng)絡(luò)進(jìn)行采樣,進(jìn)行邊界跟蹤時(shí),簡(jiǎn)單地看,當(dāng)前像素有4個(gè)相鄰的像素,但是如果加上其斜方向上的像素,當(dāng)前像素則有8個(gè)相鄰的像素。為了便于表示一個(gè)像素的鄰域,使用不同數(shù)字代表當(dāng)前像素的8個(gè)鄰域像素的位置,如圖10所示,當(dāng)前像素位于中心,8個(gè)鄰域像素分別取值0~7,按逆時(shí)針遞減,相應(yīng)的像素直角坐標(biāo)如圖11所示。
由于本系統(tǒng)要處理的對(duì)象是普通教室中的物體,人在里面有著與眾不同的特點(diǎn),比如說從后面的視角往前看,人的頭部是比較圓的物體,而其他的物體,比如座子、椅子,它們的外形都是方形的,利用這一特點(diǎn)就可以把人識(shí)別出來。
圖10 像素的鄰域之間的關(guān)系示意圖
圖11 像素的直角坐標(biāo)關(guān)系
本系統(tǒng)檢測(cè)人的方法是:
1)首先對(duì)經(jīng)過二值化處理后的圖像按照從左至右,從上至下的順序進(jìn)行掃描,當(dāng)遇到物體時(shí),記錄當(dāng)前點(diǎn)Po的坐標(biāo)。按照此視角得到的圖像進(jìn)行分析,如果掃描到的像素正好是人的頭部的一部分,那么它就是人的頭部的正上頂點(diǎn)。把Po點(diǎn)當(dāng)作邊界跟蹤的起始點(diǎn)。
2)向右進(jìn)行跟蹤。從Po點(diǎn)開始按1,0,7,6,5的方向順序?qū)ふ沂欠翊嬖谖矬w。如果有,則存儲(chǔ)該點(diǎn)的坐標(biāo),作為新的跟蹤當(dāng)前點(diǎn),按照相同的規(guī)則繼續(xù)尋找下去,在一定數(shù)量的跟蹤次數(shù)限制內(nèi),直到當(dāng)前點(diǎn)在Y方向上的坐標(biāo)比Po點(diǎn)增加一定的數(shù)量K(由圖片的尺寸確定),結(jié)束跟蹤。如果該條件不滿足,或者當(dāng)前點(diǎn)找不到下一點(diǎn)目標(biāo)點(diǎn),可以判斷跟蹤過的物體不是人,置為背景,重新回到1)尋找新的起始點(diǎn)。
3)向左進(jìn)行跟蹤。與2)的跟蹤方法類似,只是跟蹤方向變?yōu)?,4,5,6,7,這里不再贅述。如果判斷這個(gè)方向上的物體不是人,將左右方向跟蹤過的物體置為背景,重新回到1)尋找新的起始點(diǎn)。
4)在前面的條件都滿足的基礎(chǔ)下,可以簡(jiǎn)單判斷跟蹤過的物體是人。如果要提高判斷的準(zhǔn)確度,可以增加一些規(guī)則,如面積要滿足一定大小,或者左右跟蹤的最后2點(diǎn)X方向上的坐標(biāo)之差大于一定值,或者已跟蹤物體的面積與外接矩形面積之比滿足一定的限制條件等。
5)當(dāng)把跟蹤過的物體判斷為人后,因?yàn)橐阎櫰鹗键c(diǎn)的坐標(biāo),也就明確了人在圖像中的位置,即在教室中的位置。重新回到1)尋找新的起始點(diǎn),直至跟蹤完整幅圖像。
實(shí)驗(yàn)發(fā)現(xiàn),在沒有使用4)的情況下,邊界跟蹤效果不是很好,往往會(huì)將圖12以及類似的邊界誤判為人的頭部,從而產(chǎn)生錯(cuò)誤判別結(jié)果。
但在4)中使用了一些規(guī)則后,提高了系統(tǒng)判斷的準(zhǔn)確性。本系統(tǒng)采用的規(guī)則是分別統(tǒng)計(jì)跟蹤過的物體面積和它本身的外接矩形的面積,計(jì)算它們的面積比,要求這個(gè)面積比的值滿足一定的條件[14-15]。
圖13顯示了本系統(tǒng)的判別結(jié)果,以深顏色表示系統(tǒng)對(duì)人員頭部正確跟蹤的軌跡。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)準(zhǔn)確地判斷了教室里人員的所在位置。
為簡(jiǎn)化系統(tǒng)結(jié)構(gòu)和節(jié)約成本,上述的人員識(shí)別算法通過高性能的DPS處理器TMS320DM642所構(gòu)成的硬件系統(tǒng)來實(shí)現(xiàn)。整個(gè)系統(tǒng)由攝像頭、DSP系統(tǒng)板圖、STC單片機(jī)和照明控制接口等部分構(gòu)成,如圖14所示。其基本工作原理為:攝像頭采集到教室人員分布圖像,經(jīng)DSP處理器進(jìn)行一系列處理后,得出室內(nèi)人員分布信息送單片機(jī),由單片機(jī)系統(tǒng)對(duì)照明燈光進(jìn)行相應(yīng)控制。
本系統(tǒng)能比較好地檢測(cè)出教室內(nèi)人員的所在位置,在室內(nèi)有人時(shí)根據(jù)其所坐位置自動(dòng)開啟對(duì)應(yīng)位置的照明燈,無人時(shí)燈自動(dòng)熄滅的自動(dòng)控制,達(dá)到明顯的節(jié)能效果。
[1]戴天,丁月華,文貴華.計(jì)算機(jī)智能照明系統(tǒng)的設(shè)計(jì)[J].電氣應(yīng)用,2005,24(2):57-59.
[2]李俊,郭玉成.學(xué)校公共照明系統(tǒng)節(jié)能優(yōu)化設(shè)計(jì)研究[J].華北科技學(xué)院學(xué)報(bào),2009(3):53-55.
[3]湯一平,李雯.基于動(dòng)態(tài)圖像理解的空調(diào)節(jié)能研究[J].工業(yè)控制計(jì)算機(jī),2007,20(1):39-42.
[4]陳歲生,盧建剛.基于智能檢測(cè)技術(shù)的室內(nèi)照明系統(tǒng)[J].機(jī)電工程技術(shù),2008,37(5):53-55.
[5]李俊山,李旭輝.數(shù)字圖像處理[M].北京:清華大學(xué)出版社,2007.
[6]王林吉,王兆青.基于圖像二值化處理的混紡圖像雜色去除方法的研究[J].浙江理工大學(xué)學(xué)報(bào),2010,27(1):46-49.
[7]李艷玲,黃春艷,趙娟.基于灰色關(guān)聯(lián)度的圖像自適應(yīng)中值濾波算法[J].計(jì)算機(jī)仿真,2010,27(1):238-275.
[8]王宇新,賀圓圓,郭禾,等.FPGA的快速中值濾波算法[J].計(jì)算機(jī)應(yīng)用研究,2009,26(1):224-226.
[9]張利平,張紅英,吳斌.基于多種邊緣檢測(cè)的視頻劃痕檢測(cè)技術(shù)[J].電視技術(shù),2010,34(1):85-87.
[10]姚宗國,田芳,李金屏.基于圖像處理和虛擬位置設(shè)定的智能教室管理系統(tǒng)研究[J].信息技術(shù)與信息化,2008(5):68-70.
[11]SONKA M,HLAVCA V,BOYLE R.Image processing,analysis and machine vision[M].2nd ed.Beijing:Post&Telecom Press,2003.
[12]沈勇武,章專.基于特征顏色邊緣檢測(cè)的車牌定位方法[J].儀器儀表學(xué)報(bào),2008(12):2673-2677.
[13]周春霞,魏敏,唐正寧.基于數(shù)學(xué)形態(tài)學(xué)的印刷網(wǎng)點(diǎn)圖像分割方法[J].包裝工程,2007(6):14-15.
[14]葛偉華,陳優(yōu)廣.基于邊界跟蹤的區(qū)域面積計(jì)算[J].計(jì)算機(jī)應(yīng)用與軟件,2008(6):239-241.
[15]安寧,林樹忠,劉海華,等.圖像處理方法研究及其應(yīng)用[J].儀器儀表學(xué)報(bào),2006,27(6):792-793.