徐 瑤
(山西機電職業技術學院,長治 046000)
隨著“智慧城市”建設如火如荼的進行,在城市建設的方方面面,包括交通、醫療、社區等,目前已經在很多城市的部分領域取得了明顯的成效。
在此大背景下,“智慧校園”也在不斷進行,在教室、圖書館以及宿舍等方面實現了自動化,數字化和智能化,比如校園卡可以和圖書對話,用手機APP 選課,用二維碼找空教室等,大大提高了效率。在“智慧食堂”方面,也有針對菜品的實時更新以及智能化預定菜單等建設成果,但這些建設的基礎是建立在當前食堂狀態上的實時數據更新,并沒有針對學生個人需求,智能化預測食堂客流量,幫助其找到最佳最適合就餐方案。
本文針對“智慧食堂”提出建設方案,并著重對食堂客流量的預測進行建模研究,方便學生就餐作出選擇,達到節時、減少浪費和智能決策的目的。
客流量預測算法在整個智慧食堂模型的構建中占據了主體地位,首先針對神經網絡預測客流量算法做相關研究。
神經網絡是由大量神經元廣泛聯接而成的網絡系統,神經元之間的連接可以是任意形式的。其中BP 網絡是典型的前饋網絡,基本思想是:在前向傳遞中,信號經輸入層、隱含層、輸出層逐層處理并傳遞,檢查預測輸出與給定輸出之間的誤差,若沒有達到精度要求,則轉入反向傳播,根據檢測到的誤差來調整輸入層與隱含層,隱含層與輸出層之間的權值和閾值,從而使預測輸出不斷逼近期望輸出。
BP 網絡實現步驟如下[1]:
Step1:網絡初始化。輸入層到隱含層,隱含層到輸出層的所有權值為任意小的隨機數,并設定初始閾值。
Step2:提供訓練樣本。根據學習規則,需要提供輸入向量X 和相對應的輸出向量D。
在tn+1時刻漂移物觸岸的概率為Pn+1,但計算Pn+1的前提是tn時刻物體沒有觸岸,仍然處于漂移狀態,則可得Pn+1為
Step3:從輸入層開始向隱含層、輸出層逐層計算輸出。
Step4:調整權值。根據誤差,從輸出層節點開始,到隱含層節點,再到輸入層節點逐層的調整權重。
Step5:返回Step2重新計算,直到誤差滿足要求為止。
以五分鐘為一個測試周期,并使用Matlab 實現交通流預測并得到預測結果。由于校園環境的復雜性以及影響因素的不確定性,所以在模型的建立中均假設環境為理想狀態,且采集數據模塊做到準確不遺漏,且忽略圖像處理造成的延遲。神經網路預測使用的是第一周,第二周周一11:30-11:35 和第三周周一11:20-11:30,觀測尺度為5min 的客流量,共150個數據。其中訓練數據為120個,測試數據位30。以圖1為模型建立圖例:
圖1為根據用戶到三個食堂距離得到的時間,此處做了理想化處理,即認為用戶到各食堂的時間間隔正好是所取預測周期的整數倍,以方便模型建立。

圖1 用戶到不同食堂距離圖示

圖2 到第一個食堂,即相距為一個測試周期時預測模型
圖2是假設用戶到第一個食堂,此時需要5分鐘,是一個預測周期,所以將上兩周同一天同一時間段的11:40到11:45的測量數據和本周周一11:30到11:35以及11:35到11:40的數據作為輸入層的訓練樣本,而本周的11:40到11:45則為輸出層,通過訓練樣本,則可利用歷史數據和實時測得的數據進行仿真預測。圖中,實心表示預測所用數據,空心實線表示歷史數據庫,空心粗實現表示要預測的點,空心虛線表示待預測點。

圖3 相距為三個測試周期時預測模型
圖3和圖2原理差不多,不同的是此處預測的是到第二個食堂,即相距3個測試周期,所以此處的歷史數據改為11:50 到11:55 的,預測量也改為本周的11:50到11:55,由于此時還未能得到11:40到11:55的實時數據,所以還以原來得到的實時數據來對歷史數據校正。
圖4為根據構建食堂預測構想具體建立BP 預測模型圖[2],a 是數據測試間隔,在上述模型中為5分鐘,t 為需求者所處時刻,n 為測試者到某一食堂的時間對數據測試間隔的倍數,s3為第三周對應的客流量數據,s1,s2為前兩周歷史數據,時刻根據測試順移來更新歷史數據庫以及訓練樣本所需的實時測量數據,以提高測量精度。

圖4 客流量預測的BP網絡模型

圖5 精度收斂曲線

圖6 仿真結果
用圖像處理進行客流計數的系統的特點如下[3]:
單攝像頭進行圖像采集即可,硬件要求低,運算量小,對上位機要求低。可同時識別多個對象,計數精度相對紅外方法得到提高。圖像中目標與背景要有一定色差。不能對人員進/出進行識別。
結合應用場合特點,圖像識別計數系統有其使用前提,包括:照片用俯視角度拍攝;人群移動方向一致;背景色與目標顏色反差大。
第一條通過合理的安裝攝像頭位置即可以得到滿足。第二條對食堂特點的分析,食堂一般出入口比較固定,人員流動方向較為一致。第三條,考慮到對目標圖像采取俯視角度,獲得的目標圖像為頭部黑色頭發部分,與地面(地磚)一般有較強的色差。考慮到正常人的步速以及攝像頭的視域,可以選取恰當的采樣間隔以及圖片大小,盡最大可能避免重復計數以及漏數情況的發生。
Matlab 為圖像處理提供了專業的圖像處理工具箱(Image Processing ToolboxTM)。該工具箱用于進行圖像處理、分析、可視化和算法開發[4]。該任務實現原理如下:
(1)原始處理數據的獲取并保存為圖片文件。
(2)讀取圖片,并通過設定閾值將圖像二值化。通過這一步,彩色圖像轉變為灰度圖。
(3)輪廓識別是為了在之后方便實行填充,灰度圖進一步轉換為白色輪廓與黑色背景。
(4)輪廓填充,由于程序使用的計數原理是統計在圖中色塊的數量,要將輪廓用顏色填充,否則每一個輪廓點都會被誤識別。
(5)由于人與人之間不可避免的重疊關系,在填充時,極有可能出現多人填充相重疊,所以,要對色塊進行腐蝕去粘連操作,將有重疊的色塊分開。
(6)最后,程序通過計算圖像中獨立色塊的個數,間接統計出人數。返回至第一步。
通過學習圖片處理工具箱,編寫出獨立的攝像頭取像軟件和圖片處理軟件[5],其基本界面如圖7所示,其中,開啟攝像頭按鈕與關閉攝像頭按鈕用來對攝像頭進行相應操作。開啟攝像頭后,攝像頭采集區將顯示當前攝像頭采集到的畫面,截取當前圖像并保存至相應位置,退出程序按鈕用來退出程序。

圖7 攝像頭采集軟件
軟件的處理結果圖8所示,通過肉眼可以看出圖片中共計有36個人。處理后得到的結果,從圖9中可以看到估計結果是較為精確的。

圖8 從文件夾中讀取待處理圖片

圖9 處理圖片后結果
在建立了預測模型,用圖像處理方法得到人流量數據以及針對BP 神經網絡設計了操作界面后,則完成了預測系統的各個組成模塊。具體實現過程如圖10所示。
當獲取了用戶地理位置后,結合地理位置到食堂的距離,即可得到不同食堂對應預測模型中n 的值,通過歷史數據樣本的訓練得到預測網絡,此時可得到當天實時圖像處理得到的客流量數據,將歷史數據帶入預測網絡,可仿真得到到達各個食堂時刻的客流量,結合各食堂的座位數,得到相應的上座率,則上座率小的自然為最佳選擇,更新此刻的實時數據,也同時更新歷史數據,為下一次預測過程做準備。

圖10 預測系統流程
本文主要針對智慧校園背景下的食堂客流量的預測進行了研究,針對校園環境下周期性的運作環境,建立了適于食堂客流量的BP 神經網絡預測模型,結合了歷史數據和實時數據更能有效地進行預測,并對人流的獲取方式中圖像處理方法進行了詳細研究并分析其優缺點及應用環境的局限性,此模型可拓展應用于城市商場、餐飲等相似領域。