包曉敏,李 平
(浙江理工大學信息學院,浙江杭州 310018)
在工業(yè)生產領域中,為保障生產車間工作區(qū)域人員安全,大多采用金屬防護欄、安全標語提示等防護措施,但事故仍時有發(fā)生[1]。隨著機器視覺技術的蓬勃發(fā)展,運動目標檢測作為機器視覺核心技術,由于其高效精準的優(yōu)勢,具有較高的研究價值與發(fā)展?jié)摿Γ?]。本文通過軟硬件協(xié)同工作,搭建基于運動目標檢測的安全防護系統(tǒng),與傳統(tǒng)工業(yè)車間安全防護相比,具有操作簡單、空間占用小、低成本等優(yōu)點。同時,本文對最大模糊化熵閾值三幀差分算法進行優(yōu)化改進,實現(xiàn)對運動目標的精準檢測與非法闖入危險區(qū)域自動報警功能。
運動目標檢測是將用戶感興趣的部分從采集的圖像序列中分割出來[3-6]。運動目標檢測較為成熟的方法有幀差法、光流法、背景差分法[6]。幀差法是將圖像序列中相鄰圖像前一幀作為當前幀背景模型,但易被噪聲污染,使運動目標在檢測過程中可能產生內部空洞現(xiàn)象[7-8]。光流法是利用圖像序列中各個像素點矢量特征從中檢測出運動目標的算法,根據(jù)不同的光流提取運動目標,但是在噪聲、變化的光源等情況下會對其計算結果造成較大影響,算法復雜度高,很難進行實時性檢測[9-11]。背景差分法通過待測幀圖像與背景圖像之間作差分計算以提取運動目標,該方法操作簡單,計算量小,但容易受到外部光照強度、區(qū)域環(huán)境條件等因素影響,需要通過視頻序列的幀間信息間斷更新背景,否則會使運動目標檢測準確性降低[12-14]。
本文通過對固定攝像頭采集的圖像信息進行運動目標檢測研究,提出一種最大模糊熵閾值化三幀差分運動目標檢測方法,在目標和背景區(qū)分的閾值選取上實現(xiàn)自適應選取,有效提高算法檢測能力。
安全防護系統(tǒng)主要包括圖像信息采集和圖像信息處理。通過對視頻監(jiān)控場景內采集到的圖像信息進行實時處理分析,檢測出其范圍內的運動目標。如果運動物體闖入非法區(qū)域就發(fā)出報警信號。
系統(tǒng)硬件結構部分主要由CCD 相機、視頻采集卡和監(jiān)控計算機等部分組成。該系統(tǒng)將CCD 相機獲取的視頻信號進行數(shù)字化,檢測檢測區(qū)域運動目標,若發(fā)現(xiàn)目標非法闖入危險區(qū)域,則給出報警信號,并啟動系統(tǒng)硬盤存儲。
本文系統(tǒng)監(jiān)控軟件由PyCharm64 作為開發(fā)工具,完成圖像獲取、圖像形態(tài)學操作、運動目標檢測等功能。系統(tǒng)軟件流程如圖1 所示。
Fig.1 System software design圖1 系統(tǒng)軟件設計
系統(tǒng)運行過程中,由CCD 相機捕捉視頻信息,運用視頻采集卡默認的應用接口庫編制采集的圖像。在圖像采集過程中會伴隨產生噪聲,使圖像信息質量降低,因此需要對圖像信息進行預處理,圖像預處理操作主要包含灰度化、圖像形態(tài)學變換、二值化、輪廓提取等[15]。通過預處理操作后運用運動目標檢測算法檢測監(jiān)控區(qū)域是否有人員闖入危險區(qū)域,如果檢測到運動目標闖入危險區(qū)域,則發(fā)出警報信號,如果沒有則繼續(xù)采集下一幀圖像信息。其中,系統(tǒng)實現(xiàn)的關鍵是實現(xiàn)運動目標檢測和自動報警功能,這是本文重點研究內容。
三幀差分算法[16]是對幀間差分算法的進一步改進,通過對比采集的視頻序列中連續(xù)的三幀圖像,首先對所得三幀圖像進行濾波去除噪聲,再分別作幀差法處理,用第k幀圖像與第k-1 幀圖像相減,得到二值化圖像D1(x,y),然后再將k+1 幀圖像與第k 幀圖像相減,得到二值化圖像D2(x,y),最后將D2(x,y)與D1(x,y)作邏輯“與”運算,即可得到三幀差分圖像D(x,y)。算法公式表示為:
三幀差分算法流程如圖2 所示。
Fig.2 Three frame difference algorithm flow圖2 三幀差分算法流程
采用三幀差法可在一定程度上解決幀差法檢測運動目標時重影問題,但無法解決檢測過程中運動目標邊緣輪廓不清晰、內部存在“空洞”問題。無論幀差法還是三幀差法,在對圖像差分二值化處理時,二值化閾值是確定不變的,并不能自動適應環(huán)境的變化。閾值是決定目標檢測準確性因素之一,自適應選取閾值可大幅提高檢測準確性。
介于三幀差分法在檢測運動目標時二值化閾值無法自適應環(huán)境進行改變,本文提出一種模糊集理論,通過建立差分圖像的隸屬函數(shù),依據(jù)最大模糊熵準則,確定最佳閾值分割,達到更加準確識別運動的目標。2.2.1 模糊子集與隸屬函數(shù)
根據(jù)迷糊集合理論[17],U是論域,稱映射μA:U→[ 0,1 ],x→μA(x)確定1 個U上的模糊子集A,μA稱為模糊集A的隸屬函數(shù)(membership function),μA(x)表示x對A的隸屬程度。
本文對視頻序列圖像采用三幀差分法得到的差分圖像進行模糊集定義。設差分圖像X的灰度級數(shù)為L,大小為M×N,令Xmn表示坐標(m,n)處像素點的灰度值。將差分圖像劃分成目標(target)模糊集和背景(backdrop)模糊集。這兩個迷糊集隸屬函數(shù)分別定義為[18]:
其中,[a,b]為模糊區(qū)間,[ 0,a]和[b,L-1 ]為非模糊區(qū)間。μtarget(xmn)表示(m,n)像素點屬于目標程度,μbackdrop(xmn)表示(m,n)像素點屬于背景程度,且μtarget(xmn)+μbackdrop(xmn)=1。當xmn=(a+b)/2 時,該灰度級像素屬于目標和背景的隸屬度均為0.5,則可選xmn=(a+b)/2 為分割閾值?;叶燃壭∮诘南袼貙儆诒尘皡^(qū)域,灰度級大于的像素屬于目標區(qū)域。
2.2.2 最大模糊熵閾值分割
根據(jù)概率論與數(shù)理統(tǒng)計[19]的知識,目標(target)模糊集發(fā)生的概率P(target)為:
背景(backdrop)模糊集發(fā)生的概率P(backdrop)為:
圖像模糊熵為:
由信息論知,事件熵越大,則事件真實可能性越大[20]。若圖像熵取最大值,則背景和目標區(qū)分度最佳。根據(jù)最大模糊熵原則,可得到最佳模糊區(qū)間a、b,則即可得到最佳閾值為(a+b)/2。
2.2.3 算法流程
最大模糊熵閾值三幀差法將差分后圖像像素值與自適應最大熵閾值進行比較,判決運動目標與背景,其算法流程見圖3。
Fig.3 Three frame difference algorithm for maximum fuzzy entropy threshold圖3 最大模糊熵閾值三幀差分算法流程
在視頻監(jiān)控區(qū)域預先設定工業(yè)機器人禁止闖入的危險區(qū)域,使用矩形邊框進行劃分。危險的矩形區(qū)域對應具體坐標值,當運動目標檢測到返回目標值,與預先設計的矩形區(qū)域坐標值進行對比,若屬于該劃定區(qū)域,則可認為是闖入事件,觸發(fā)報警功能,否則顯示安全。
本文算法仿真實驗環(huán)境為Intel Core i5-7500 CPU,3.40GHz,內存為8GB,Microsoft Windows 7 操作系統(tǒng),通過OpenCV 軟件完成。選取采集的視頻監(jiān)控,視頻幀為360×240,共500 幀,選取其中連續(xù)的三幀圖像序列,如圖4 所示。采用三幀差分算法與本文算法所得的實驗仿真結果如圖5 所示。
Fig.4 Three frames consecutively selected圖4 選取連續(xù)的三幀圖像
Fig.5 Simulation results of the algorithm圖5 算法仿真實現(xiàn)效果
圖5(a)為采用三幀差分算法實現(xiàn)運動目標檢測的二值化圖像,圖5(b)為采用本文算法實現(xiàn)運動目標檢測的二值化圖像。通過兩圖對比可知,相比三幀差分算法,本文采用的算法明顯增強了運動目標檢測輪廓連續(xù)性,降低了對外部環(huán)境條件的敏感程度,消除了圖像噪聲,檢測更加準確,實時性更高。
當前,算法準確率多以識別率η和誤檢率ξ進行衡量,文獻[21]引入1 個綜合指標H 評估目標檢測算法性能。H 值越大,表明算法檢測準確率越高。H 值定義為:
利用固定攝像機采集多組不同圖像信息序列分別對兩種算法進行目標檢測實驗,統(tǒng)計出兩種算法識別率和誤檢率數(shù)據(jù),如圖表1 所示。
Table 1 Results of the two algorithms(%)表1 算法對比結果 (%)
由表1 可知,本文采用改進的最大模糊熵閾值三幀差分算法識別率達99.3%,同時誤檢率較低,僅達到1.7%。因此采用本文算法可更好地實現(xiàn)運動目標檢測。
系統(tǒng)對運動目標闖入進行檢測的實驗結果如圖6 所示。圖6(a)和圖6(b)是運動目標進入監(jiān)控場景中,此時實時檢測到運動目標未進入預定的機器人工作危險區(qū)域,系統(tǒng)在視頻幀右上側實時顯示“safe”安全等級;圖6(c)和圖6(d)系統(tǒng)實時檢測到運動目標進入機器人工作危險區(qū)域,系統(tǒng)實時發(fā)出危險警報,并實時顯示“dangerous”危險警報,符合預期的設計要求。
本文利用漏檢率和正檢率,對運動目標闖入危險區(qū)域后系統(tǒng)實現(xiàn)自動報警并進行定量分析,定義漏檢率為運動目標闖入危險區(qū)域系統(tǒng)未實現(xiàn)自動報警的數(shù)目與所有闖入危險區(qū)域行為數(shù)目之比,正檢率為運動目標闖入危險區(qū)域系統(tǒng)實現(xiàn)自動報警的數(shù)目與所有闖入危險區(qū)域行為數(shù)目之比。通過對60 段闖入行為視頻進行測試,得到漏檢率與正檢率統(tǒng)計結果如表2 所示。
Fig.6 Experimental results of the system圖6 系統(tǒng)實驗結果
Table 2 System automatic alarm detection results表2 系統(tǒng)自動報警檢測結果
由表2 可得,運動目標闖入危險區(qū)域觸發(fā)系統(tǒng)自動報警功能正檢率高達96.7%,而漏檢率不足4%。實驗結果表明,本文系統(tǒng)能夠滿足工業(yè)安全防護需求,有較好的魯棒性,可保障工業(yè)安全生產。
本文針對目前傳統(tǒng)工業(yè)生產安全防護措施的弊端,利用智能信息處理技術對運動目標進行實時檢測,重點研究了在三幀差算法基礎上采用最大模糊熵自適應選取閾值的方法,可更加準確高效地提取運動目標,同時,對運動目標闖入危險區(qū)域實現(xiàn)自動報警這一功能也進行了探究。實驗表明,本文系統(tǒng)可實現(xiàn)工業(yè)安全防護多項功能。后續(xù)將進一步研究目標檢測算法在動態(tài)視頻場景情況下的魯棒性,提高安全防護靈活性。