文/張哲瑋 王瑋 曹園
毫無疑問,實驗教學在現代大學教育中是一個重要的環節。因此,實驗室的管理與安全直接影響著教學與科研質量。隨著科技的發展,實驗室的管理智能化、高效化是必然的趨勢。因此,從實際學習生活經歷出發,本文提供了一種更加全面、安全并且可靠的實驗室管理系統解決方案。
實驗室管理系統主要的方式大多以網絡為主,輔以門禁卡進行管理。如魏志軍等[2]提出了一種利用射頻識別技術進行人員身份驗證以及實驗設備管理,軟件則基于Java 語言和Spring 框架,提出了一種實驗室管理系統解決方案。對于人員流動較大的實驗室,這種系統是一種不錯的解決方案。但對于一些人員固定,人數較少的實驗室則顯得相對復雜。此外,射頻卡丟失也會造成極大的不便。
此外,數據庫也是一種該系統的主要解決方案。如喻晗等[3]提出了一種利用MongoDB數據庫和安卓客戶端實現學術選課與預習及留言等功能的實驗室管理系統。但沒有將實驗室的安全加入系統,使得系統功能稍顯單薄。再如李真等[4]提出的利用物聯網技術及單片機來進行安全驗證以及統計實驗設備的使用情況,為管理人員提出反饋。這種系統可以實現實驗室考勤和節能,效果出色。但是沒有設計實驗室主動安全檢測系統,對于意外闖入以及實驗室內部出現火情時沒有好的解決方案
實驗室管理系統應該包括但不限于以下幾種功能:考勤,實驗室安全和人員安全。因此,我們將其有機結合起來,利用OpenCV 自帶的函數實現人臉檢測進而完成考勤,利用多種傳感器實現對實驗室安全的探測,利用幀差法實現對人狀態的判斷從而決定是否報警。
本部分采用OpenCV 3 庫,在Python 下編寫程序。OpenCV 3 中提供了Eigenfaces,Fisherfaces 和LBPH 三種識別人臉的算法。其中,本項目采用第一種。Eigenfaces 是通過CV 種最常見的PCA 算法實現的。其本質是識別某個訓練集的主要部分,并計算出訓練集的相對于樣本庫的發散度,發散度越小,說明越接近樣本庫。主要代碼如下:
model = cv2.face.EigenFaceRecognizer_create() #調用模型
model.train(np.asarray(x),np.asarray(y)) #訓練模型
因此,在使用該系統前,應該先對實驗室人員進行頭像采集工作,可以采取連拍的方法,每人拍攝大約200 張圖片左右。按人保存成數組。再通過該算法對數據庫進行訓練,訓練完成即可使用。
該部分采用嵌入式系統樹莓派,使樹莓派驅動各個傳感器并處理得到的信息,同時將異常信息上報給計算機或者直接發送給管理人員。需要的元件有:無線網卡模塊,攝像頭模塊,壓力傳感器,煙霧傳感器等。具體辦法是,按實際接線配置好樹莓派的引腳,同時編寫好各個傳感器的驅動。當傳感器檢測到可疑信息時,通過無線網卡模塊向電子郵箱發送報警短信,同時通過攝像頭模塊對可疑信息進行拍照取證,從而實現設備安全檢測。下面是以壓力傳感器為例的一段代碼:

該部分采用開源機器視覺處理庫OpenCV3,使用混合高斯背景建模的方法提取輸入數據的相鄰兩幀圖像之間的差別信息,利用CLAHE 算法增強二值圖像對比度,得到的圖像經過Solel 算子進行邊緣檢測,使用最大類間誤差法二值化獲得對比度更強的二值化圖像,隨后通過形態學變化(膨脹和腐蝕),以及中值濾波和高斯濾波,得到移動人體的二值圖像。
本方法中,通過提取圖像中人體的寬度與高度、人體投影面積、人體重心、人體重心速率、人體長寬對比得到的運動目標的運動狀態。使用機器學習的方法,利用決策樹構建一個運動狀態判斷模型,對人體跌倒行為進行預測。一旦檢測到人跌倒,立即啟動報警系統。報警系統可以和傳感器報警系統共用。
本方法將計算機視覺技術應用到實驗室管理中,軟、硬件成本低,要求少。同時可以增加實驗室的管理效率,降低管理者工作量。同時,本方法不僅可以應用在小型實驗室,同時可以應用在一般家庭中,應用范圍廣,經濟前景好。