梅峻韜,宋麗紅,董靜(天津財經(jīng)大學(xué)理工學(xué)院信息科學(xué)與技術(shù)系,天津 300222)
面向移動終端和Web的智能自習(xí)室管理系統(tǒng)
梅峻韜,宋麗紅,董靜
(天津財經(jīng)大學(xué)理工學(xué)院信息科學(xué)與技術(shù)系,天津300222)
當(dāng)前高校的自習(xí)室座位一直是學(xué)生們“必爭之地”,有時甚至導(dǎo)致同學(xué)之間產(chǎn)生矛盾糾紛。究其原因,一方面是自習(xí)室擁有較好的學(xué)習(xí)環(huán)境和氛圍,是學(xué)生的首要選擇,另一方面則是部分自習(xí)室座位存在供不應(yīng)求的情況。供不應(yīng)求的直接原因就是有效自習(xí)室座位數(shù)量少于需求人數(shù)。
而許多原因會導(dǎo)致有效的自習(xí)室座位數(shù)量不夠:由于自習(xí)室設(shè)計問題,導(dǎo)致座位數(shù)量太少;自習(xí)室設(shè)計沒有問題,但由于不合理的使用,導(dǎo)致有效座位減少。
經(jīng)過調(diào)研,我們發(fā)現(xiàn)導(dǎo)致自習(xí)室座位緊張的主要原因有兩點:①不文明占座問題;②自習(xí)室負(fù)載不均,導(dǎo)致有些自習(xí)室一座難求,而有些自習(xí)室則門可羅雀。
因此,為了緩解當(dāng)前的情況,研究開發(fā)一個高效可靠的智能自習(xí)室管理系統(tǒng)迫在眉睫。
本項目擬設(shè)計和實現(xiàn)基于Android和Web的校園自習(xí)室智能管理,通過合理調(diào)配和管理,對自習(xí)室座位資源進行最大化利用,緩解自習(xí)室座位緊張的問題。
1.1系統(tǒng)需求
面向移動終端和Web的智能自習(xí)室管理系統(tǒng)實現(xiàn)在終端進行座位預(yù)約、對自習(xí)室人數(shù)進行統(tǒng)計并反饋、自習(xí)室現(xiàn)場無人值守管理等功能。通過調(diào)研和技術(shù)可行性分析,系統(tǒng)需要具備以下特性:
(1)系統(tǒng)應(yīng)具有良好的人機交互界面,符合用戶的使用習(xí)慣,便于推廣。
(2)系統(tǒng)對學(xué)生證件的信息具有較高的識別率和識別速度,快捷高效地進行座位分配,使學(xué)生不滯留地刷卡入座。
(3)系統(tǒng)能夠高效準(zhǔn)確地對攝像頭獲取到的自習(xí)室圖像信息進行統(tǒng)計和分析,將統(tǒng)計信息錄入數(shù)據(jù)庫。
(4)系統(tǒng)能夠?qū)崟r地反饋數(shù)據(jù)庫中的人數(shù)統(tǒng)計結(jié)果。
(5)管理員可以方便快捷地對自習(xí)室人流量信息進行查看與分析,并對違約學(xué)生發(fā)出警告。
系統(tǒng)由學(xué)生實時查看及預(yù)約自習(xí)室座位系統(tǒng),自習(xí)室無人值守管理系統(tǒng)、基于Web的自習(xí)室智能管理系統(tǒng)三個子系統(tǒng)組成。
1.2模塊設(shè)計
(1)學(xué)生查看及預(yù)約自習(xí)室座位模塊
學(xué)生可通過手機客戶端登錄后通過公告板查看校內(nèi)公告;預(yù)約自習(xí)室的座位;查看教室實時的室內(nèi)人數(shù)和座位剩余情況;系統(tǒng)根據(jù)設(shè)定的可用時間最長或人數(shù)最少等條件,給出最優(yōu)的教室選擇方案。
(2)自習(xí)室無人值守管理模塊
自習(xí)室現(xiàn)場實現(xiàn)無人值守,通過攝像頭對學(xué)生卡信息進行識別,驗證學(xué)生信息,安排座位。對預(yù)約超時未到的學(xué)生發(fā)出消息提醒。
(3)基于Web的自習(xí)室智能管理模塊
系統(tǒng)通過安裝在教室的攝像頭實時獲取教室的照片信息,進行人數(shù)統(tǒng)計;管理員可以進行功能設(shè)置,按時間和教室統(tǒng)計學(xué)生自習(xí)人數(shù),生成流量報告,幫助管理人員更合理更有效地調(diào)配資源。
2.3室內(nèi)人頭識別算法的設(shè)計
該算法是完成該系統(tǒng)室內(nèi)人數(shù)統(tǒng)計功能的核心算法,算法的準(zhǔn)確率、可靠性和效率都對整個系統(tǒng)有著重要的影響。
為了提高對圖像中人頭識別的準(zhǔn)確率,首先應(yīng)對圖像進行處理,過濾無關(guān)因素,加強有效信息,提取特征,完成計數(shù)。其具體實現(xiàn)方法則是多個基于數(shù)字圖像處理的算法。
(1)二值化處理
首先對圖像進行單通道化,即將RGB 3通道的彩色圖像轉(zhuǎn)化為灰度圖[1],為了進一步加大不同像素之間的差異。算法中應(yīng)用二值化方法,即在灰度圖的基礎(chǔ)上根據(jù)閾值對各個像素點進行二值化處理。該閾值根據(jù)Otsu法[2]計算出來,在類間方差最小的情況下是最佳的。計算方法如下:
(t:灰度值,t∈[0,255];nt:灰度等于t的像素點數(shù)量;T:當(dāng)前選取的閾值;下標(biāo)b:以灰度值小于當(dāng)前閾值T的像素點集合為對象;下標(biāo)f:以灰度值大于當(dāng)前閾值T的像素點集合為對象)
灰度值小于當(dāng)前閾值T的比重:
灰度值小于當(dāng)前閾值T的方差:
灰度值小于當(dāng)前閾值T的平均值:
灰度值大于當(dāng)前閾值T的比重:
灰度值大于當(dāng)前閾值T的方差:
灰度值大于當(dāng)前閾值T的平均值:
算出Wb、σb2、Wf、σf2后,根據(jù)類內(nèi)方差的計算公式:σw2=Wbσb2+Wfσf2得出該閾值T對應(yīng)的類內(nèi)方差,并選出類內(nèi)方差最小的閾值T,即為最優(yōu)閾值[3]。
(2)閉運算
由于圖像的品質(zhì)和二值化算法的性能等問題,二值化圖像可能會產(chǎn)生許多噪聲像素塊或缺口像素塊,不利于圖像的識別,因此需要繼續(xù)處理,減少無效的噪點,填補有效的像素點[4]。
為了填補圖像中的細(xì)小空洞,連接臨近物體便于后續(xù)邊緣檢測的操作,因此采用對圖像先膨脹處理,后腐蝕處理的閉運算方法。膨脹是將與物體接觸的所有背景點合并到該物體中,使邊界向外部擴張的過程,可以用來填補物體中的空洞;腐蝕是一種消除邊界點,是邊界向內(nèi)收縮的過程,可以用來消除小且無意義的物體。
這兩種方法的處理方式相似,都是用一個n×n(一般為3×3)的結(jié)構(gòu)元素掃描圖像中的每一個像素,并與其覆蓋的像素進行“與”運算并對結(jié)果進行判斷[5]。區(qū)別在于,膨脹算法在結(jié)果都為0時將該像素置為0,否則為1;而腐蝕算法在結(jié)果都為1時將該像素置為1,否則都為0。
(3)平滑處理
此時圖像已接近預(yù)期的效果,但考慮到后期使用邊緣檢測方法檢測人頭輪廓,為了得到較好的圖像邊緣,采用Gauss平滑濾波,剔除噪聲。通常濾波和邊緣檢測是矛盾的概念,抑制了噪聲會使得圖像邊緣模糊,這會增加邊緣定位的不確定性;而如果要提高邊緣檢測的靈敏度,同時對噪聲也提高了靈敏度。高斯函數(shù)確定的核可以在抗噪聲干擾和邊緣檢測精確定位之間提供較好的折衷方案[6]。
實現(xiàn)圖像高斯濾波,可以用兩個一維高斯核分別兩次加權(quán),也可以通過一個二維高斯核一次卷積。
高斯核實現(xiàn)[7]:
一維高斯函數(shù):
確定參數(shù)后,根據(jù)函數(shù)可得出一維核向量和二維核向量。
圖像高斯濾波:
根據(jù)待濾波的像素點及其鄰域點的灰度值按照一定的參數(shù)規(guī)則進行加權(quán)平均。這樣可以有效濾去圖像中疊加的高頻噪聲[8]。
(4)邊緣檢測
算法采用邊緣檢測方法對人的輪廓進行檢測,并在下一步利用Hough變換檢測圓,對近似圓形的人的頭部輪廓進行檢測和計數(shù)。邊緣檢測中常用的微分算子有[9]:Roberts算子、Sobel算子、Prewitt算子、Laplacian算子和Canny算子。
經(jīng)過實驗,相對前幾個微分算子來講,Canny算子的功能要更好[10],具有濾波、增強、檢測等多階段,因此系統(tǒng)采用了Canny算子。Canny分割算法采用一階偏導(dǎo)的有限差分來計算梯度幅值和方向,在處理過程中,Canny算子還將對梯度幅值進行非極大值抑制處理[11]。最后采用兩個閾值的方式來檢測和連接邊緣。首先根據(jù)高閾值得到一個邊緣圖像,這樣檢測的結(jié)果中假邊緣數(shù)量很少,但是因為閾值設(shè)定較高,檢測結(jié)果中圖像的邊緣可能產(chǎn)生缺口,此時采用另外一個低閾值在斷點處尋找滿足該閾值的點,收集邊緣,直到整個圖像邊緣閉合[12]。
(4)Hough變換檢測圓
由于人頭部輪廓在圖像中的呈現(xiàn)效果接近圓形,所以采用Hough變換的方法進行圓檢測,進行人頭識別進而統(tǒng)計人數(shù)。
Hough變換是判別多個像素點是否屬于同一個線條或幾何圖形[14],本算法中的幾何圖形就是圓形。當(dāng)屬于同一個圓形的像素點數(shù)量達到某個閾值時,判定該圓形存在于當(dāng)前圖像中且位置(圓心)和大?。ò霃剑┍贿@些像素點所確定。
為了能夠?qū)個像素點進行函數(shù)判別,首先要將圖像空間轉(zhuǎn)換為參數(shù)空間,在參數(shù)空間對各個像素點進行描述[15],便于檢測,這就是 Hough變換的精髓所在。
進行坐標(biāo)轉(zhuǎn)換就是將平面坐標(biāo)轉(zhuǎn)換為參數(shù)坐標(biāo):
已知直角坐標(biāo)系下圓的一般方程為:
(x-a)2+(y-b)2=r2
其中(a,b)是圓心坐標(biāo),r是圓的半徑。
將該圓的平面坐標(biāo)轉(zhuǎn)換為參數(shù)坐標(biāo)為:(a,b,r),因此過點(x,y)的所有圓對應(yīng)參數(shù)空間的一個高度r變化下的三維錐面,如圖1所示。
圖1
同理,過圖像空間中任意一點的圓對應(yīng)于參數(shù)空間中的一個三維錐面。因此,過圖像空間上同一圓上的點,對應(yīng)的參數(shù)空間中的三維錐面,在r0高度必然相交于一點(a0,b0,r0)。這樣通過檢測這一點可以得到圓的參數(shù),相應(yīng)的圓也可求得了。圖像平面的方程轉(zhuǎn)化為參數(shù)平面上的示意圖如圖2所示[13]:
圖2
最后根據(jù)Hough變換檢測到的圓數(shù)量進行人數(shù)統(tǒng)計。
2.2室內(nèi)人頭識別算法的實現(xiàn)
以下對該算法進行總體的概括和具體函數(shù)的描述,同時明確給出該算法的功能和有效性,以及對算法準(zhǔn)確率進行評定。
設(shè)定圖片格式為目前主流的jpg格式,圖片由設(shè)置在教室中的攝像頭定時采集并發(fā)送給服務(wù)器,由服務(wù)器對圖像進行處理,完成人數(shù)統(tǒng)計功能后,將數(shù)據(jù)存入數(shù)據(jù)庫。
該算法基于Java平臺上的OpenCV庫實現(xiàn)。
在讀入目標(biāo)圖片后,首先利用cvThreshold函數(shù)根據(jù)計算出的類內(nèi)方差最小閾值對圖片進行二值化處理,然后用cvDilate和cvErode函數(shù)對得到的二值化圖片進行閉運算。
之后根據(jù)實際圖片的操作效果和經(jīng)驗,利用cvS-mooth函數(shù)循環(huán)多次地對圖片進行平滑處理,直至canny邊緣檢測得到的圖片擁有較少的無效邊緣。最后利用cvHoughCircles函數(shù)對圖像進行Hough變換,圈出圖像中的人頭并依此計算出人數(shù)。
圖3為算法實現(xiàn)的流程圖。
算法完成后,由服務(wù)器將得到的人數(shù)結(jié)果寫入并更新數(shù)據(jù)庫,等待下一次圖片的處理。圖4是目標(biāo)圖片,圖5是檢測結(jié)果圖。
圖3
圖4
圖5
2.3移動終端請求數(shù)據(jù)方式的設(shè)計
由于數(shù)據(jù)庫部署在服務(wù)器上,查詢室內(nèi)的人數(shù)信息其本質(zhì)就是實現(xiàn)發(fā)送數(shù)據(jù)請求并得到服務(wù)器響應(yīng)的功能。
本系統(tǒng)中的移動終端為Android系統(tǒng)和iOS系統(tǒng)的手機,考慮到網(wǎng)頁登錄也需要實現(xiàn)同樣的功能,系統(tǒng)實現(xiàn)人數(shù)信息查詢時需要具備跨平臺性。因為數(shù)據(jù)不具備可操作性,與操作系統(tǒng)的性質(zhì)無關(guān),因此采用數(shù)據(jù)服務(wù)的方式實現(xiàn)此功能。
本系統(tǒng)計劃以JSON的數(shù)據(jù)格式與服務(wù)器數(shù)據(jù)庫進行數(shù)據(jù)交互。JSON采用的文本格式完全獨立于操作系統(tǒng)和語言。JSON的這些特性使其成為一種較為理想的數(shù)據(jù)交換語言。
在移動終端進行數(shù)據(jù)請求時,首先通過HttpURLConnection方式向服務(wù)器服務(wù)的url發(fā)送HttpPost請求,在服務(wù)器端接受請求并執(zhí)行數(shù)據(jù)查詢后將查詢結(jié)果封裝為JSON格式的數(shù)據(jù)并返回給客戶端??蛻舳私邮艿絁SON后,解析JSON中的數(shù)據(jù)信息,并在頁面上將其按照鍵值輸出。
2.4移動終端請求數(shù)據(jù)的實現(xiàn)
為了實現(xiàn)手機通過HTTP協(xié)議請求數(shù)據(jù)的方法,需要先在服務(wù)器發(fā)布其相關(guān)的服務(wù),具體服務(wù)發(fā)布如下:
創(chuàng)建一個查詢結(jié)果的類,將其字段信息封裝為屬性,并實現(xiàn)對每一個屬性的get和set方法。
創(chuàng)建一個關(guān)于數(shù)據(jù)庫查詢的類,在其中定義函數(shù),完成查詢數(shù)據(jù)庫的功能,并以List的形式返回查詢結(jié)果集。
創(chuàng)建一個繼承于HttpServlet的servlet類,并實現(xiàn)其doGet或doPost方法。在方法中完成對服務(wù)器從數(shù)據(jù)庫中查詢到的數(shù)據(jù)按照J(rèn)SON格式進行拼接和發(fā)送的功能。
在Web.xml文件中定義服務(wù)名和服務(wù)的路徑,如:
部署到容器中,發(fā)布并進行網(wǎng)頁訪問測試。并將查詢結(jié)果類導(dǎo)出為包,放入Android項目端,為了接收到服務(wù)器返回結(jié)果后解析為實體類。
Android Application中采用的是通過URL連接進行請求和輸入輸出的方式[16]。首先創(chuàng)建一個連接類,在其中實現(xiàn)一個HttpPost方法。根據(jù)服務(wù)器IP地址、端口和服務(wù)器端設(shè)置的虛擬路徑設(shè)置URL,通過HttpURLConnection方式發(fā)送HttpPost請求,通過HttpURLConnection類的一個實例設(shè)置連接參數(shù)和請求參數(shù),并且建立輸出流并寫入發(fā)送數(shù)據(jù),最后獲得響應(yīng)流,并以string的形式作為函數(shù)的返回值返回。
然后創(chuàng)建一個與Web服務(wù)端相同的查詢結(jié)果的類,并在接收到并解析JSON數(shù)據(jù)后,根據(jù)類的屬性按鍵取值循環(huán)地創(chuàng)建該類的實例并保存在一個List中。
最后創(chuàng)建一個父類為BaseAdapter的類,覆蓋getView方法,針對JSON中數(shù)據(jù)所封裝的List,完成對MainActivity中textview控件的數(shù)據(jù)設(shè)置。需要注意數(shù)據(jù)格式的轉(zhuǎn)換。
Android端的查詢和顯示結(jié)果如圖6所示。
圖6
本系統(tǒng)整合應(yīng)用了Web應(yīng)用、Android系統(tǒng)、圖像處理和識別算法實現(xiàn)了對校園自習(xí)室和圖書館座位資源的信息采集和發(fā)布,學(xué)生可通過手機實時查詢教室的座位情況,節(jié)約了學(xué)生的時間和學(xué)校的管理成本。
本系統(tǒng)中涉及的人頭識別算法還可以擴展應(yīng)用到公司管理,人群密集處的人流統(tǒng)計等場合。對算法進行改進后可以融合模板匹配算法應(yīng)用于動物種群數(shù)量,車輛數(shù)量等需要對大量擁有相似輪廓的物體進行數(shù)量統(tǒng)計的場合。
本系統(tǒng)對硬件設(shè)備需求較低,應(yīng)用范圍廣泛,通過智能移動終端為人們的工作和生活提供了更好的服務(wù)。
[1]陽樹洪,劉衛(wèi)寧.灰度圖像閾值分割的自適應(yīng)和快速算法研究[E].重慶:重慶大學(xué),2014.
[2]龔劬,付云鳳,葉劍英,姚玉敏.基于二維直方圖重建的圖像分割算法[J].計算機科學(xué),2013,40(08):313-315.
[3]何志勇,孫立寧,陳立國.準(zhǔn)則下分割閾值的快速計算[J].電子學(xué)報,2013,41(02):267-272.
[4]程藝喆,雷武虎,戴勝波,陳善靜.基于圖像差分的自適應(yīng)背景建模高光譜目標(biāo)檢測[J].計算機應(yīng)用,2014,34(S2):291-294.
[5]呂慶莉,羅瑜.基于形態(tài)學(xué)的改進灰度圖像邊緣檢測算法[J].陜西科技大學(xué)學(xué)報自然科學(xué)版,2011,29(06):98-101.
[6]喬翊博.基于DSP6437的黃瓜外觀特征參數(shù)檢測方法的研究[E].哈爾濱:東北農(nóng)業(yè)大學(xué),2013.
[7]姜小磊,姚鴻勛,趙思成.一種極值約束的邊緣保持圖像平滑算法[J].計算機科學(xué),2014,41(10):101-105.
[8]QIU Shu-fang,ZHANG Xiao-ming.An improved method for image denoising based on gauss curvature and gradient[C].2010 International Conference on Optoelectronics and Image Processing(ICOIP),2010,1:221-224.
[9]王敏杰,楊唐文,韓建達,秦勇.圖像邊緣檢測技術(shù)綜述[J].中南大學(xué)學(xué)報(自然科學(xué)版),2011,42(01):811-816.
[10]艾明偉,于哲舟.一種改進的Canny算子的圖像分割在車輛檢測中的應(yīng)用[E].吉林:吉林大學(xué),2014.
[11]蘇連成,王東衛(wèi).一種改進的邊緣檢測算子[J].燕山大學(xué)學(xué)報,2012,36(05):413-416.
[12]Mondal,S.,Ali,I.An efficient algorithm for boundary detection[C].2015 International Conference on Computational Intelligence and Networks(CINE),2015,42:184-187.
[13]朱桂英,張瑞林.基于變換的圓檢測方法[J].計算機工程與設(shè)計,2008,3(29):1462-1464.
[14]Zezhong Xu,Bok-Suk Shin,Klette,R.Accurate and robust line segment extraction using minimum entropy with hough transform[J]. IEEE Transactions on Image Processing,2014,24(3):813-813.
[15]LIU Yu-hang,ZHOU Shi-yu.Detecting point pattern of multiple line segments using hough transformation[J].IEEE Transactions on Semiconductor Manufacturing,2014,28(1):13-24.
[16]Reto Meier.Professional Android 4 application development[M].佘建偉,趙凱譯.Android 4高級編程(第3版).清華大學(xué)出版社,2013.
Image Analysis;People Counting;Embedded Database;Android System
An Intelligence Study Room Management System Designed for Mobile Terminals and Web
MEI Jun-tao,SONG Li-hong,DONG Jing
(Insitute of Science and Technology,School of Science,Tianjin University of Finance And Economics,Tianjin 300022)
1007-1423(2015)21-0071-06
10.3969/j.issn.1007-1423.2015.21.018
梅峻韜(1992-),男,本科,研究方向軟件工程
宋麗紅(1975-),女,天津人,博士,副教授,研究方向軟件工程、智能信息系統(tǒng)
董靜(1975-),女,講師,博士,研究方向軟件工程
該項目面向在校學(xué)生,利用圖像分析、人數(shù)統(tǒng)計及嵌入式數(shù)據(jù)庫等技術(shù),實現(xiàn)面向移動終端和Web的智能自習(xí)室管理系統(tǒng),加強對校內(nèi)自習(xí)室資源的管理,解決高校擴招帶來的校內(nèi)自習(xí)室和可供自習(xí)的教室資源緊缺等問題。該項目具有良好的實用價值,大量節(jié)省管理人力并提高管理效率。
圖像分析;人數(shù)統(tǒng)計;嵌入式數(shù)據(jù)庫;Android系統(tǒng)
2014年地方高校國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(No.201410070001)
Designs a program to service for students in university.Realizes the intelligence study room management system which is designed for mobile terminals and Web by using image analysis,people counting,embedded database technology.Aims to strengthen the management of study room resources,so as to solve the lack of study room resources problems aroused by limited study space and university expansion. The project has a good practical value,substantially saving human resources in management and improving management efficiency.