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