王勝鵬 史凡躍 王 錚 劉 衡 陳思雨 王誠露
(武漢理工大學(xué),湖北 武漢430070)
首先由攝像頭(OpenCV 模塊)進(jìn)行圖片的采集,然后STM32芯片將接收到的圖片進(jìn)行濾波去噪、圖像增強(qiáng)、彩色圖像灰度化等預(yù)處理后,接著將預(yù)處理后的灰度圖片用作識別圖像識別(系統(tǒng)結(jié)構(gòu)如圖1 所示),統(tǒng)計出當(dāng)前轎廂外的候梯人數(shù)并傳給可編程邏輯控制器(電氣控制器)??删幊踢壿嬁刂破鳎≒LC)將這個輸入變量的值帶入群控算法中,實(shí)時地將每一個呼叫信號分配給最優(yōu)電梯。系統(tǒng)電路圖如圖2 所示。
整體方法:由于考慮到對候梯乘客進(jìn)行人數(shù)統(tǒng)計時不需要提取特殊面部特征,僅需根據(jù)人體輪廓判斷大致人數(shù)實(shí)現(xiàn)快速的處理,因此我們采用技術(shù)較為成熟的決策理論法對圖像進(jìn)行處理分析。通過將攝像頭采集到的當(dāng)前區(qū)域內(nèi)等候電梯的乘客圖像傳入預(yù)處理模塊,以達(dá)到去除干擾和噪聲,使原始圖像適于計算機(jī)進(jìn)行特征提取的目的。
2.1.1 圖像信息采集
為了實(shí)現(xiàn)人體輪廓判斷需進(jìn)行邊緣檢測,但因圖像采集需占用較大內(nèi)存,為保證數(shù)據(jù)處理可以更快的運(yùn)行,故采用集成有STM32F4 芯片的OpenMV 模塊,如圖3 所示。這樣可以使圖像識別單獨(dú)交給集成模塊上的芯片處理,然后通過雙芯片通訊將處理結(jié)果發(fā)送至主控芯片,既能保證圖像處理的質(zhì)量和速度,又能保證整體系統(tǒng)的高效有序進(jìn)行,避免主程序和圖像識別程序發(fā)生時序性沖突。
圖1 圖像識別系統(tǒng)
圖2 基于圖像識別的電梯群控硬件電路圖
圖3 OpenMV 模塊
2.1.2 圖像預(yù)處理
2.1.2.1 中值濾波器去噪聲:由于邊緣檢測算法涉及到的導(dǎo)數(shù)計算對噪聲很敏感, 因此需先去噪處理。為了保留圖像完整邊緣信息并減少運(yùn)算時間,采用中值濾波器進(jìn)行去噪聲處理,其原理是將圖像中的一點(diǎn)的值用鄰域中各點(diǎn)的中值來代替。設(shè)圖像二維平面中各點(diǎn)的灰度值為。一維序列中值y 可表示為:
拓展到二維層面中,則
則以此值作為濾波器的輸出值。
2.1.2.2 灰度化處理:為便于計算機(jī)進(jìn)行邊緣化檢測,需對彩色圖像進(jìn)行灰度化,利用平均值法對RGB 圖進(jìn)行灰度化處理:
2.1.2.3 伽馬矯正:調(diào)節(jié)圖像對比度,減少非均勻光照和局部陰影對圖像造成的過曝和欠曝的影響,一定程度上增加后序圖像處理檢測的效果。
圖4 伽馬矯正公式
伽馬矯正公式:
式中I 為圖像,Γ 為冪指數(shù)系數(shù),攝像機(jī)的非線性補(bǔ)償伽馬值為2.2,因此對圖像進(jìn)行補(bǔ)償后得到伽馬變換圖為圖5。
圖5 伽馬變換圖
2.1.3 邊緣檢測
圖像的邊緣指圖像灰度發(fā)生突變的像素的集合,在沿邊緣走向,像素變化較平緩,相反在垂直邊緣走向變化較劇烈,因此可以通過求導(dǎo)的方法進(jìn)行確定。
由于在候梯人數(shù)的估算上并不需要過多細(xì)節(jié)保留,同時考慮到應(yīng)有較快處理速度,故采用高效的Sobel 邊緣檢測算子,根據(jù)對圖像每個像素 {f ( x , y)}的鄰域灰度的加權(quán)差做出如下Sobel 算子定義:
其計算模板算子為:
如果 s (i, j )> H,( i , j ) 為階狀邊緣點(diǎn),{ s (i, j) }為邊緣圖像。
2.1.4 圖像識別算法
本項目基于決策理論方法,使用貝葉斯分類器對人體輪廓和背景環(huán)境進(jìn)行分辨,根據(jù)人體特征,建立幾種人體輪廓特征模板。通過多種特征模板可有效在人體被遮蓋的情況下準(zhǔn)確判斷當(dāng)前人數(shù)。
成立,則未知模式x 賦予子類wi,即完成對人體輪廓的識別。
因為候梯人通常站在運(yùn)行方向與目的方向相同的電梯門外等候,所以可以利用獲取的圖像信息,結(jié)合相應(yīng)電梯當(dāng)前的運(yùn)行方向,統(tǒng)計出信號樓層的上下行候梯人數(shù)。
采用OpenCV-Python 的開源庫CV2 對測試圖片進(jìn)行Sobel算子圖像分割處理,得到圖6 所示的邊緣檢測圖像。
圖6 Sobel 算子圖像分割
采用人體身軀檢測模型對測試圖片進(jìn)行檢測得到訓(xùn)練模型的結(jié)果圖7。
從邊緣檢測圖中可以看出Sobel 梯度算子在垂直與水平方向的像素突變出會產(chǎn)生敏感性的檢測效果,實(shí)用于人體身軀模型,在電梯門口低暗的空間會有一定的檢測效果;從身軀模型的檢測結(jié)果看,對人體身軀進(jìn)行檢測可以得到較高的識別效果,對于混疊行人可能無法檢測成功。
圖7 身軀模型檢測結(jié)果
如今的電梯群控調(diào)度算法已不局限于呼叫信號調(diào)度分配,他還能識別不同交通模式,并根據(jù)不同的場景使用不同的調(diào)度算法,使得電梯的運(yùn)行更加高效合理。主流電梯群控算法有基于專家系統(tǒng)的電梯群控調(diào)度算法、基于模糊控制的電梯群控算法、基于多目標(biāo)優(yōu)化的電梯群控調(diào)度算法等。該研究中我們只討論呼梯信號的分配算法,算法采用基于多目標(biāo)規(guī)劃的電梯群控算法。
電梯群控系統(tǒng)性能通常由平均候梯時間、平均乘梯時間和系統(tǒng)能耗三個評價指標(biāo)決定,電梯群控系統(tǒng)具有多目標(biāo)的特點(diǎn),呼叫信號的調(diào)度分配可以看作是求解多目標(biāo)函數(shù)最優(yōu)解的過程。因此,根據(jù)電梯群控系統(tǒng)調(diào)度的多目標(biāo)性,我們可以利用多目標(biāo)規(guī)劃的相關(guān)知識來設(shè)計調(diào)度算法。加入候梯人數(shù)后的群控算法流程圖,如圖8 所示。
圖8 群控算法流程圖
群控性能分析:根據(jù)設(shè)計者賦予的權(quán)值將它們用線性求和構(gòu)造單目標(biāo)的評價函數(shù):
在電梯群控系統(tǒng)中,它主要包括以下幾個變量:
Trun:電梯正常平滑經(jīng)過一層電梯的時間;
Tstop:電梯啟停一次消耗的時間;
則某部電梯當(dāng)前情況下到達(dá)目標(biāo)樓層所需時間為:
則當(dāng)前樓層i 的候梯人數(shù)需要的運(yùn)載批次,即啟停次數(shù)為ε。已知考慮候梯人數(shù)后的第i 層呼叫信號對于第 η( m)部電梯的加權(quán)候梯時間為:
依據(jù)上述評判函數(shù)計算出每一部單部電梯的加權(quán)時間后,群控系統(tǒng)對樓層i 的呼叫信號最短加權(quán)候梯時間為:
所對應(yīng)的電梯,即將呼叫信號分配給加權(quán)時間最短所對應(yīng)的電梯,這樣就能保證在候梯時間盡量短的同時,充分利用電梯的剩余空間,以較少的??看螖?shù)運(yùn)完乘客,減少電梯運(yùn)行時總的啟停次數(shù)。因為電梯停靠一次消耗的時間通常比電梯平滑經(jīng)過一層所消耗的時間多得多,所以此群控算法能間接地縮短平均候梯時間、乘梯時間,并提高電梯的運(yùn)行效率以及乘客的乘梯體驗。此外,電梯的機(jī)械損耗和能源的消耗主要是由電梯啟停造成的,所以本方案通過減少不合理的啟停次數(shù)也能很好地解決電梯能耗方面的問題。
電梯群控系統(tǒng)的服務(wù)質(zhì)量、運(yùn)行效率和能耗既相互制約、又緊密聯(lián)系的,如何找到三者的平衡點(diǎn)至關(guān)重要。此研究中我們根據(jù)群控系統(tǒng)的特性,采用多目標(biāo)規(guī)劃算法,引入圖像識別技術(shù),利用候梯人數(shù)進(jìn)行優(yōu)化算法,根據(jù)理論推導(dǎo)易知有效提高了電梯群控系統(tǒng)的運(yùn)行效率,降低了系統(tǒng)能耗。該算法雖然能縮短平均乘、候梯時間,但是會不可避免的導(dǎo)致先到達(dá)呼叫信號樓層,且滿足運(yùn)行方向的電梯未響應(yīng)該信號,造成焦慮和心理不平衡。這種情況雖然可以通過減小加權(quán)值,,......,以盡可能縮短一般候梯時間最短電梯和加權(quán)候梯時間最短電梯到達(dá)呼叫信號樓層的時間間隔,減少乘客的焦慮和心理不平衡。此外可以將該研究應(yīng)用到貨運(yùn)電梯,這樣只需考慮運(yùn)行效率和能耗,不需要考慮乘客的心理因素。
此外考慮到目標(biāo)樓層候梯人數(shù)具有變化性,若按照傳統(tǒng)的一次分配原則(即只要有呼叫信號就立即分配出去,且后續(xù)不會再變更),則可能會存在誤差導(dǎo)致不合理的分配情況出現(xiàn),所以我們考慮通過刷新計算結(jié)果可以解決上述問題,但如果程序每執(zhí)行一次刷新一次,會導(dǎo)致計算量過大,增加PLC 的工作負(fù)荷,此外計算出錯的幾率也增大了。鑒于以上情況,可以設(shè)置一個中斷函數(shù),當(dāng)單片機(jī)傳到PLC 相應(yīng)寄存器的候梯人數(shù)發(fā)生變化或變化超過某一人數(shù)范圍后觸發(fā)中斷,取消分配到各個單梯而還未執(zhí)行的呼梯信號,并讀取PLC 相應(yīng)寄存器中候梯人數(shù),將呼梯信號重新計算分配給當(dāng)前最優(yōu)的電梯。