近年來,現代物流業的飛速發展,使得倉庫成為物流系統中的關鍵節點,保障倉庫物資儲存安全是現代倉庫管理的重要內容。隨著計算機網絡技術、圖像信息處理技術的不斷更新和完善,利用計算機視覺技術及圖像處理技術的智能化監控倉庫管理將成為未來發展的必然趨勢。相較于傳統的監控系統,基于視覺處理的智能監控系統通過對移動目標的特征匹配進行不間斷且實時穩定跟蹤[1],能夠發現異常并自動預警。
關于視頻運動目標跟蹤算法的研究有很多,大致可以分為四類:Meanshift算法、核心搜索算法、相似性度量算法和運動目標建模算法。文獻[2]提出Meanshift算法經過特定條件的限制,可以用于目標物體跟蹤。文獻[3]針對Meanshift算法的局限性,利用surf和harris對算法進行改進,改進后的算法能夠適應復雜環境下移動物體跟蹤的性能。文獻[4]基于粒子濾波算法,利用權值和蒙特卡洛來分析目標粒子概率分布,結果證明該算法適用于非線性視頻監控系統的目標跟蹤。文獻[5]提出利用改進的帶有記憶機制的粒子濾波算法來跟蹤外觀及形態發生激烈變化的目標物體,但目標跟蹤的前提是要記錄物體運動的歷史軌跡,存在高度的空間復雜性。文獻[6]針對Kalman濾波在動態環境下跟蹤失敗的問題,提出改進的自適應載波跟蹤算法,算法能夠自動調整系統權重和控制系統狀態,具有較好的跟蹤性能。文獻[7]為了解決TLD算法的處理速度問題,提出利用Kalman濾波和Maclaurin模型來改進LTD追蹤算法,提升了LTD算法的效率。文獻[8]采用自適應學習率來改進背景模型,解決場景中光照突變和陰影區域對目標物體追蹤的影響問題。
針對當前目標跟蹤算法種類多樣且性能各異,本文研究利用4種典型算法對倉庫某監控區域內的運動目標進行跟蹤實驗,對算法的性能進行分析,從多項指標來對比各自的功能側重點,選擇綜合性能最佳的改進Boosting算法作為倉庫視頻目標跟蹤算法,為倉庫管理實踐中視頻監控效果和準確性提供重要佐證。
Boosting算法是一種機器學習算法,它能夠解決高維數據準確性問題,廣泛應用于深度學習和模式識別中。該算法可將弱學習器通過集成提升至強學習器,主要是它在學習過程中進行了特征選擇,將高維度空間中的每一組弱學習器視為一個特征,對若干特征進行學習并加權累計到總模型中,從而獲得能夠解決高維空間問題的強學習器。
算法通過改變每個樣本相對應的權重獲得不同訓練集,首先為每個樣本設置初始權重,在此訓練樣本分布下訓練一個弱分類器h1(x),然后將該分類器看作一個特征進行學習[9],用它來更新其他樣本權重,增加h1(x)錯分的樣本的權重,減少正確分類的樣本的權重,從而突出錯分的樣本,并得出一個新的樣本分布[10],在新的樣本分布下,訓練出新的弱分類器h2(x)并更新樣本權重,重復此操作T次,由此得到T個基礎弱分類器,將T個分類器按照權重進行累加,獲得最終的強分類器[11]。算法訓練過程如表1所示。
表1 Boosting算法描述 導出到EXCEL
算法1:Boosting算法 |
輸入:訓練集X及其對應標簽y,迭代次數E 訓練樣本初始化權重:ω1ii1=1/N,(i=1,…,N),N表示樣本總數 For e=1,…,E 對初始樣本進行學習,得到基礎弱分類器he∈{±1} 計算分類誤差εe=∑Ni=1i=1Νωeiie ,yi≠he(Xe) if(εe≥1/2)then E←e-1 continue end if 令he的權重αe=(12)ln(1?εeεe)αe=(12)ln(1-εeεe) for i=1 to N 更新權重
ωe+1i=ωei*{(e?αe,he(Xe)=yieαe),he(Xe)≠yi)ωie+1=ωie*{(e-αe,he(Xe)=yieαe),he(Xe)≠yi)
end for i end for e |
輸出:強分類器H(x)=sign(∑Ee=1e=1Eαehe(Xe)) |
Boosting算法存在精確性不足以及參數設置隨機性較大等缺陷,容易出現跟蹤誤差。本文通過對跟蹤過程中目標的特征進行在線更新,當特征在跟蹤區域生成之后,利用特征值服從高斯分布來區分目標或是背景區域,同時使用Kalman filter實時在線更新分布,估算特征置信度,從而有效降低累計誤差和跟蹤目標丟失等問題[12],主要過程為:
利用算法中的強分類器得到置信度Conf(x),當Conf(x)>threshold1(0.8)時,將跟蹤的目標區域作為正樣本(x,1),將其他同等背景區作為負樣本,當追蹤到新樣本(x,y),y∈(0,1)時,則更新特征(m),如式(1)、式(2)所示。
λcorrm+=λxn?1,hm(x)=y (1)λwrongm+=λxn?1,hm(x)≠y (2)λmcorr+=λn-1x,hm(x)=y(1)λmwrong+=λn-1x,hm(x)≠y(2)
選擇累計錯誤率最小的特征作為弱分類器,由N個弱分類器hn(x)組成強分類器H(x),如式(3)所示。
H(x)=sign(∑Nn=1αnhseln(x)) (3)Η(x)=sign(∑n=1Ναnhnsel(x))(3)
采用強分類器定位目標新位置,如式(4)所示。
Conf(xneww)=argmax1≤w≤W(∑Nn=1αnhseln(xneww)) (4)Conf(xwnew)=argmax1≤w≤W(∑n=1Ναnhnsel(xwnew))(4)
當Conf(x)<threshold2(0.4)時,利用檢測模型獲取目標位置信息并輸入算法跟蹤模塊,利用置信度判斷分析。
當threshold2<Conf(x)<threshold1時,隨機選擇除目標之外的背景區域作為一個負樣本(x,0),同上式(1)—(4)操作更新特征。
將上述四種算法在某倉庫視頻監控圖像(包括倉庫出入口和倉庫內)序列上進行測試,驗證算法的有效性和綜合性能。實驗環境說明:
(1) 實驗視頻數據共999禎,實現代碼為每個目標創建跟蹤器,并記錄出每個移動對象的坐標、所在視頻幀等信息,為生成軌跡做準備。
(2) 這里對每個跟蹤器所創建的對象,如果超過5幀沒有檢測到目標,則認為檢測失敗或者目標已經離開攝像頭視域,銷毀該對象,因為多目標跟蹤創建跟蹤器十分耗費CPU資源。
(3) 運動目標數,是當跟蹤器準確跟蹤運動目標10幀以上才打印出來的,以免漂移現象產生干擾,如表2所示。
從表格1所列數據,得到的分析結果如下:
KCF算法處理最快,但該方法得到運動目標數目少,創建跟蹤器數目多,目標丟失對象嚴重。
MIL算法耗時最多,但是整體看來,基本沒有漂移現象,跟蹤還算準確,目標數目大于實際數目,說明對視頻中的跟蹤目標存在丟失現象,但是又重新跟蹤了。經分析認為是原跟蹤器已經銷毀,新創建的跟蹤器將原跟蹤器跟蹤的目標定義為新的目標。
改進Boosting算法所用時間相比MIL有很大改善,得到運動目標數目與實際數目相當,因此可以說是相對準確了,但是創建跟蹤器個數比MIL多,在運動目標跟蹤初始階段容易產生丟失現象,對于中間的目標,相對穩定。
TLD算法沒有展現出良好的性能,對于運動目標不斷的丟失,不斷的創建跟蹤器,導致得到運動目標數目比實際多出很多,提取前景之所以多于無跟蹤器時,主要是不同跟蹤器對于同一個前景重復提取。
表2 運動目標跟蹤實驗結果 導出到EXCEL
算法 |
用時(s) | 運動目標數 | 提取前景數 | 漂移現象 | 是否丟失 | 創建跟蹤器個數 |
KCF |
48.33 | 6 | 344 | 基本無 | 嚴重 | 34 |
MIL |
90.13 | 13 | 552 | 存在 | 極少 | 15 |
改進Boosting |
64.48 | 11 | 504 | 存在 | 很少 | 20 |
TLD |
74.03 | 20 | 765 | 嚴重 | 基本無 | 32 |
原始視頻 |
45.76 | 11(人工統計) | 633 | \\ | \\ | \\ |
表2最后一行所列的是原始視頻播放的時間、人工統計的運動目標數目、運動檢測算法提取的前景數目等信息,以為跟蹤算法提供比對參考。如圖1所示。
實驗的實際效果圖,從視頻中跟蹤運動的多目標,并畫出軌跡,其中圖片中的黑色方框是進行前景提取所獲得的運動目標,綠色方框是跟蹤區域,而紅色線則是畫出來的運動軌跡。
從圖1中可以看出KCF算法的缺點,即對于運動目標的跟蹤存在缺失。從黑框與綠框的重合度也可以在一定程度上看出KCF的漂移現象并不是很明顯。
從圖2可以看出,MIL算法相比于KCF算法跟蹤效果已經好了很多,運動目標路徑相對完整,但是相比于KCF,MIL表現出了可能存在的更為嚴重的漂移現象,如圖2所示。
從圖3可以看出,改進Boosting算法相比于KCF、MIL算法已經有了相對明顯的改進效果,如圖3所示。
從圖4可以看出,相比于圖(3)漂移現象已經產生,接下來就極有可能會產生跟蹤目標的失敗。
從圖1至圖1的視覺效果及表2的各項指標判斷分析,改進Boosting算法的跟蹤效果和綜合性能都是最佳的。
本文在對改進的Boosting算法進行研究的基礎上,采用實驗手段,通過實際測試的效果和各項指標的對比,來驗證算法的性能。Boosting算法能夠很好的跟蹤運動目標路徑,基本不存在目標跟蹤缺失問題,同時能夠避免運動目標漂移現象的產生。因此,將其作為倉庫智能視頻監控算法具有重要的實踐意義。同時本文的研究和實驗也存在不足之處,比如沒有考慮到運動目標被遮擋以及復雜的背景等情況,在考慮這些情況的前提下,如何進一步提高算法的魯棒性是未來要研究的內容之一。
標簽:
下一篇: 7S管理在中藥倉庫管理中的應用