徐 微,李 彤,李守智
(1.西安交通大學城市學院,陜西 西安 710018;2.西安理工大學電氣工程學院,陜西西安 710048)
高校用電節能是當前熱點話題[1-2],隨著高校擴招,校園人數增加,照明用電量逐年遞增,目前對于照明用電的管理主要是人工控制[3-4],但教室數量多,同一個教室,不同時間,自習人數不固定,管理人員無法及時對教室的照明燈進行實時有效的控制,造成了巨大的電能浪費[5-6]。
要實現對教室照明燈準確控制,對教室燈光和人的定位是關鍵[7-8],該文采用圖像處理算法結合卷積神經網絡算法[9-10],進行教室照明燈和人數識別與定位,將人和照明燈位置發送給單片機,結合光照傳感器,實現教室照明燈分區域控制。通過多次測試數據分析,發現該文算法不僅適用于教室,還適用于不同背景的圖書館、自習室,采用卷積神經網絡能有效提高檢測的適應性和準確性。
測試對象為校園教室、自習室以及圖書室,教室容納人數為200 人,燈的數量為25 個;圖書館中一個小場館容納人數為36 人,燈的數量為8 個;自習室容納人數為53 人,燈的數量為12 個。利用教室安裝的攝像頭進行數據采集。采集的圖像尺寸為4 000×3 000,輸出文件格式為JPG。采集數量為1 000張,以不同場景下的亮燈、滅燈以及人作為識別對象,隨機選取700幅圖像用于訓練,其余300張圖像用于測試。
將采集的圖像導入PyCharm 軟件中,為了減少算法運算量,先將圖像壓縮,轉換成300×300 dpi 的尺寸,再使用rotate 將圖像旋轉90°、180°、270°,使用flip 函數對圖像水平鏡像,以進行數據增強,最后再進行濾波處理,數據增強如圖1 所示。

圖1 數據增強
將采集的教室圖像作為輸入值,再將亮燈數、滅燈數和人數作為輸出值,利用神經網絡算法建立輸入與輸出之間的關聯。
BP 神經網絡是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,是應用最廣泛的神經網絡。學習過程是以網絡誤差的平方為目標函數,采用梯度下降法來計算目標函數的最小值[11]。
該文首先對每張預處理后的圖像進行二值化處理,轉化為一維的向量(x1,x2,x3)作為輸入,采用平方誤差代價函數,通過BP 神經模型分析圖像中亮燈的數量、滅燈的數量、人數。假設有N個訓練樣本,誤差函數[12]如式(1):

其中,y_pre是每個位置對應的預測值,而y表示每個位置的實際值,用式(2)和式(3)來求解出y_pre:

其中,x1表示第1 層的輸出;ω1表示輸入層到隱含層的權重;ω2表示隱含層到輸出層的權重;b1表示輸入層到隱含層的偏置項;b2表示隱含層到輸出層的偏置項;f(x)表示激活函數,由于所預測的亮燈數量、人數等是大于0 的整數,經過采用多個激活函數進行多次實驗,對比發現效果比較好的是Relu激活函數,因此該文采用Relu 激活函數,如式(4)所示[13]:

利用梯度下降算法進行反向傳播,進而達到優化內部參數的作用,計算出誤差函數E對參數偏置項和權重的偏導,使用式(5)和式(6)求取偏置項和權重變化值:

經過多次循環迭代優化內部參數后,得到一個較好模型,如圖2 所示。

圖2 BP神經網絡模型
為了提高算法的識別效果,讓模型預測結果更加準確,采用卷積神經網絡模型。輸入一張含有RGB 3 個顏色通道的圖片,然后將亮燈數、滅燈數、人數作為要訓練的變量,由此建立含兩個卷積核為3×3 的卷積層和、兩個池化核為2×2 的池化層、兩個激活函數、兩個全連接層以及一個SoftMax 輸出層的CNN 網絡模型,如圖3 所示。

圖3 CNN網絡模型
卷積層使用“卷積核”進行局部感知得到一個值,通過不斷移動卷積核和求卷積來完成對整個圖像的卷積。二維卷積的輸出如式(7)表示[14]:


圖4 卷積結果
仿真采用Intel(R)Core(TM)i5-8250u CPU,運行環境為8 GB 的Win10 64 bit 系統,編程環境為PyCharm Community Edition 2020.2.1 x64,編程語言為Python 3.7 64 bit。BP 神經網絡和卷積神經網絡圖像參數分別如表1、表2 所示。

表1 BP神經網絡參數設置

表2 卷積神經網絡參數設置
實驗將700 張樣本圖像分批次進行訓練,每批樣本圖像為100 張,采用BP 神經網絡和卷積神經網絡兩種算法,選取0.001 的學習率對構建的BP 神經網絡算法進行了3 000 次迭代,每經過100 次迭代,記錄一次損失值,第2 900 次迭代后的模型損失值為0.365 568 72。選取0.001 的學習率對構建的卷積神經網絡算法進行了150 次迭代,每經過1 次迭代,記錄一次損失值,卷積神經網絡模型第149 次迭代后的模型損失值為0.040 264 7。采用Matlab 擬合出了迭代過程中損失值的變化曲線,如圖5所示。

圖5 兩種神經網絡模型損失值隨迭代次數變化曲線
從圖5 可以直觀地發現隨著迭代次數的增加,損失值不斷減少直至趨于平緩,說明訓練好的網絡模型具有較好的穩定性。隨機抽取一批樣本進行驗證,發現BP神經網絡算法的準確率為81.6%,卷積神經網絡算法的準確率為96.5%左右,卷積神經網絡算法大大提高了教室照明燈、人數的識別率,結果如圖6所示。

圖6 兩種神經網絡檢測結果與實際值對比圖
由于抽取的樣本來自教室、圖書館、自習室,不同環境下樣本復雜度不同,從檢測結果發現在復雜場景下BP 神經網絡模型識別準確率較低且用時過長,而卷積神經網絡模型通過權重共享、局部感受野和降采樣三種方式降低了模型的復雜性[17-18],且對尺度縮放、平移、旋轉等形式具有不變性,可以快速有效地從大量圖片樣本中學習到相應特征,準確率高達到96.5%,較BP 神經網絡模型提高了14.9%。
為了對高校照明燈進行有效管理,該文提出了基于卷積神經網絡的照明燈圖像識別算法,對1 000張樣本中的照明燈和人員進行數量和位置識別。經過多次仿真證明,采用卷積神經網絡能夠快速有效地從大量圖片樣本中學習到相應特征,對燈和人的識別準確率可達到96.5%。