蔡美嫦(華南理工大學 廣州學院,廣州510813)
隨著越來越多的學生到圖書館學習而圖書館的座位并未增加,出現了較多的書本(或其他物品)占座現象,導致座位入座率降低。近年來,許多高校對圖書館座位共享開展了研究,而物體識別、跟蹤是其中的一項關鍵技術。此外,該共享系統(tǒng)也可以用于自助餐廳座位選擇、火車站候車選擇座位等領域。該共享系統(tǒng)主要包括判斷座位是否有人、座位無人的時長和給出可用座位有哪些3個步驟。如果能大規(guī)模使用該系統(tǒng),將會給學生入座帶來極大的便利。
OpenCV是采用C/C++語言編寫的,可以應用在Linux/Windows/Mac等操作系統(tǒng)上的開源的計算機視覺庫。OpenCV的設計目標是執(zhí)行速度盡量快,主要關注實時應用。因為OpenCV是采用優(yōu)化過的C代碼編寫的,所以他能夠充分地利用多核處理器的優(yōu)勢。另外,OpenCV的一個目標是構建一個簡單易用的計算機視覺框架,以幫助開發(fā)人員更便捷地設計更復雜的計算機視覺相關程序。OpenCV包含500多個函數,覆蓋了計算機視覺的許多應用領域,如工廠產品檢測、醫(yī)學成像、機器人等。OpenCV還提供了Python、Ruby、MATLAB以及其他語言的接口。
本文研究基于OpenCV的座位共享系統(tǒng)技術,其工作流程如圖1所示。首先在圖書館的自修區(qū)裝攝像頭監(jiān)控自修區(qū),然后依次進行圖像采集、圖像預處理,接著判斷座位是否有人,如果座位無人則進行座位無人時長判斷,經過以上步驟即可給出座位信息。該共享系統(tǒng)是使用OpenCV 2.4.9,在Linux環(huán)境下使用QtCreator進行編程實現。
首先,將拍攝的自習室圖像進行灰度化處理,即把RGB彩色圖像轉換成灰度圖像,進行初步處理,為后面的步驟做準備。此處使用OpenCV中的轉換函數:
cvtColor(currentBGRFrame,currentGaryFrame,COLOR_BGR2G RAY);
其中currentBGRFrame表示輸入的彩色圖像,currentGaryFrame表示輸出的灰度圖像。
輸入的彩色圖像和經過灰度變換的自修室監(jiān)控圖如圖2和圖3所示。由于經過灰度處理后還需要對圖像進行去噪處理,所以采用中值濾波的效果會相對理想。
圖1 位置共享系統(tǒng)工作流程
圖2 輸入彩色圖像
圖3 輸出灰度圖像
由于自修室的空間較大,事先框選出座位的位置即設置感興趣區(qū)域(ROI,region of interest),可以專注和簡化工作過程,提高接下的座位有無人判斷的精度。定義ROI區(qū)域有兩種方法:
1)使用表示矩形區(qū)域的Rect:
imageRIO=image(Rect(x,y,width,heigh));
其中x,y分別為指定矩形左上角的坐標,width,heigh分別為矩形的長和寬。
2)指定感興趣行或列的范圍(Range):
imageROI=image(Range(,),Range(,));
其中Range是指從起始索引到終止索引(不包括終止索引)的一段連續(xù)序列。
本共享系統(tǒng)采用第一種方法。
在對圖像進行感興趣區(qū)域(ROI)定義后,就可以開始檢測ROI區(qū)域內是否有人,本共享系統(tǒng)使用三幀差法,通過判斷ROI區(qū)域有無動態(tài)物體來推測座位是否有人。主要步驟如下:
1)首先在監(jiān)控視屏中按先后順序定義任意連續(xù)3幀圖片的灰度圖為pre_2_gray_frame,pre_1_gray_frame,current_gray_frame。
2)前面兩幀的灰度圖的差為:
pre_frame_difference=pre_1_gray_frame-pre_2_gray_frame后面兩幀的灰度圖的差為:
current_frame_difference=current_gray_frame-pre_1_gray_frame
3)取絕對值:
abs_frame_difference=abs(pre_frame_difference);其中abs()函數的作用是返回整型參數的絕對值。
4)位深改變:
圖4 判斷座位有無人效果圖
abs_frame_difference.convertTo (abs_frame_difference,CV_8UC1,1,0);
如圖4所示,只要檢測到有運動物體,就會有黃色框框著。由此可以判斷該位置有人。三幀差法的優(yōu)點是實時性高。但是應對光驟變能力較弱,目前還在改進中。
本文研究了OpenCV在人物識別、跟蹤的具體應用,在Linux系統(tǒng)中使用OpenCV2.4.9和QtCreator通過C++語言實現了對監(jiān)控攝像頭監(jiān)控到的自修室情況進行分析。經過多次實驗測試,總體識別效果滿意,有一定的實用性。但是對于顏色相近的運動物體識別能力和應對光驟變能力還有待提高。目前我們的工作是進一步完善該系統(tǒng),并實現在手機上實時查看圖書館自修室座位情況。