安 珂 付 斌
(哈爾濱商業(yè)大學(xué) 輕工學(xué)院,黑龍江 哈爾濱 150028)
數(shù)據(jù)顯示,2021 年我國(guó)帕金森病患病人數(shù)超300 萬(wàn),平均每年就會(huì)增漲約10 萬(wàn)人。人體中腦黑質(zhì)多巴胺能神經(jīng)元的死亡導(dǎo)致大腦紋狀體多巴胺含量顯著降低,從而產(chǎn)生帕金森病[1]。大約70%的帕金森患者首發(fā)癥狀是肢體產(chǎn)生震顫,震顫通常的表現(xiàn)形式是手部“搓丸樣”,震顫頻率在4-6Hz 左右[2,3]。帕金森病的發(fā)展是無(wú)法阻止的,但患者的病況需要進(jìn)行及時(shí)并且準(zhǔn)確的評(píng)估。通過(guò)雙目視覺(jué)系統(tǒng),可以實(shí)現(xiàn)對(duì)患者手部震顫的檢測(cè)與跟蹤,對(duì)手部做標(biāo)記,系統(tǒng)可實(shí)現(xiàn)對(duì)標(biāo)記點(diǎn)的跟蹤,從而確定震顫運(yùn)動(dòng)中標(biāo)記點(diǎn)的運(yùn)動(dòng)軌跡。對(duì)標(biāo)記點(diǎn)的震顫信號(hào)進(jìn)行數(shù)據(jù)處理,分析量化手部震顫頻率。這種可視化、無(wú)創(chuàng)的評(píng)估方法能夠更方便快速的分析患者震顫程度,也能輔助醫(yī)生診斷識(shí)別帕金森病震顫。本文主要研究一種改進(jìn)的手部運(yùn)動(dòng)檢測(cè)與跟蹤方法,為雙目視覺(jué)的手部震顫評(píng)估技術(shù)的研究工作做出方法分析。
相機(jī)拍攝的視頻圖像是連續(xù)的,如果場(chǎng)景中沒(méi)有運(yùn)動(dòng)目標(biāo),那么連續(xù)幀變化較小,若是其中有運(yùn)動(dòng)目標(biāo),則連續(xù)幀間的轉(zhuǎn)變較為顯著。幀間差分法依靠對(duì)鄰近兩幀的圖像進(jìn)行差分處理,進(jìn)而獲得差分圖像[4]。場(chǎng)景中背景不變,目標(biāo)在相鄰兩幀產(chǎn)生運(yùn)動(dòng),可通過(guò)差分圖像獲得目標(biāo)位置。通過(guò)相機(jī)獲得第n 幀和第n+1 幀相鄰圖像,則幀間差分法可用公式表示為:
式中fn表示視頻序列第n 幀對(duì)應(yīng)的圖像;fn+1表示第n+1幀對(duì)應(yīng)的圖像;T 表示閾值化處理的閾值;P 表示第n 幀和第n+1 幀的差分圖像。
通常情況下,鄰近兩幀的差分并不能準(zhǔn)確獲得運(yùn)動(dòng)目標(biāo),前一幀的運(yùn)動(dòng)目標(biāo)會(huì)在后續(xù)幀中顯露,出現(xiàn)誤判情況,也會(huì)造成運(yùn)動(dòng)目標(biāo)區(qū)域涉及到相關(guān)的背景位置,所以其會(huì)大于實(shí)際運(yùn)動(dòng)區(qū)域。在實(shí)踐運(yùn)用過(guò)程中,為配合之后的運(yùn)動(dòng)分析,通常情況下要求獲取最為精準(zhǔn)的運(yùn)動(dòng)目標(biāo),運(yùn)用三幀取代兩幀差分,進(jìn)而滿足運(yùn)動(dòng)目標(biāo)的檢測(cè)需求。
將兩幀差分?jǐn)?shù)據(jù)Pn,n-1(x,y,n)與Pn,n+1(x,y,n)做“與”運(yùn)算,進(jìn)而得到目前幀f(x,y,n)之中目標(biāo)邊緣P3(x,y,n),也就是:
式中,×為與運(yùn)算,得到的邊緣P3(x,y,n),三幀差分法能夠高效地處理遮擋與背景重現(xiàn),可獲得精準(zhǔn)的目標(biāo)邊緣,同時(shí)還有助于抑制光照、陰影與噪聲等構(gòu)成的綜合影響。
三幀差分法算法的主要流程如圖1 所示。
圖1 三幀差分算法檢測(cè)運(yùn)動(dòng)目標(biāo)流程圖
Canny 算子是一種多級(jí)邊緣檢測(cè)算法,由John F. Canny于1986 年開(kāi)發(fā)出來(lái),至今依然是諸多邊緣檢測(cè)算法中用的較多、最經(jīng)典的算法之一。該算法的檢測(cè)效果比Sobel、Prewitt 等算子更好。Sobel、Prewitt 等算子在運(yùn)算時(shí)往往忽略邊緣的梯度方向,結(jié)果只是簡(jiǎn)單處理二值圖中的單閾值[5]。與此不同,Canny 算法做出改進(jìn),提出了基于邊緣梯度方向的非極大值抑制,雙閾值的滯后閾值處理。Canny 算法的處理效果如圖2所示。
圖2 Canny 算法效果圖
P3(x,y,n)為經(jīng)過(guò)中值濾波處理之后,通過(guò)三幀差分獲得相應(yīng)的運(yùn)動(dòng)位置掩模,EⅠ(x,y,n)為基于Canny 算法計(jì)算獲取相應(yīng)的邊緣掩模,那么最后的邊緣圖Mn是:
結(jié)合公式可發(fā)現(xiàn),對(duì)于時(shí)空域進(jìn)行整合,能夠精準(zhǔn)測(cè)定獲得運(yùn)動(dòng)目標(biāo)邊緣,更為高效地應(yīng)對(duì)陰影問(wèn)題。但獲得的邊緣是非連續(xù)的,這就要對(duì)邊緣進(jìn)行連接。
運(yùn)用自適應(yīng)形態(tài)學(xué)做連接處理,對(duì)于各個(gè)端點(diǎn),運(yùn)用自適應(yīng)橢圓結(jié)構(gòu)開(kāi)展相應(yīng)的計(jì)算工作,結(jié)構(gòu)元素的具體數(shù)據(jù)與大小,可結(jié)合像素的局部特征,類似于斜率以及曲率調(diào)控,進(jìn)而獲得膨脹之后閉合的邊緣B(x,y,n),通過(guò)相關(guān)膨脹處理,原圖像邊緣會(huì)變寬,所以要求對(duì)于處理之后的B(x,y,n)圖像綜合EⅠ(x,y,n)開(kāi)展定位,獲得最后閉合邊緣O(x,y,n),
對(duì)于閉合邊界O(x,y,n)開(kāi)展相應(yīng)的區(qū)域填充,進(jìn)而獲得相應(yīng)的二值掩模圖像,將其和目前幀f(x,y,n)開(kāi)展結(jié)合,借助該方式可滿足運(yùn)動(dòng)目標(biāo)分割需求。
根據(jù)上述流程,本小節(jié)應(yīng)用融合Canny 邊緣檢測(cè)的三幀差分法對(duì)CMOS 圖像傳感器雙目立體相機(jī)拍攝的手部視頻圖像幀進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)實(shí)驗(yàn),對(duì)圖像依次利用傳統(tǒng)三幀差分法和本課題算法來(lái)處理,編程通過(guò)MATLAB 來(lái)完成,檢測(cè)結(jié)果如圖3 所示。對(duì)比圖3 分析可以發(fā)現(xiàn),傳統(tǒng)三幀差分法對(duì)于目標(biāo)的檢測(cè)圖像空洞,本文檢測(cè)算法更清晰、完整的檢測(cè)出手部目標(biāo),檢測(cè)結(jié)果較為精確,達(dá)到本文要求,為后續(xù)目標(biāo)跟蹤算法打下基礎(chǔ)。
圖3 手部運(yùn)動(dòng)檢測(cè)效果圖
Meanmshift 算法跟蹤效率很高,應(yīng)用也非常廣泛,目標(biāo)模型為目標(biāo)對(duì)應(yīng)的顏色直方圖,通過(guò)目標(biāo)顏色出現(xiàn)的概率進(jìn)行跟蹤,當(dāng)目標(biāo)出現(xiàn)形變、遮擋等問(wèn)題時(shí),該算法仍然能進(jìn)行較為精準(zhǔn)的跟蹤。如果目標(biāo)尺寸改變,該算法可以對(duì)檢索窗口尺寸自動(dòng)調(diào)整,使目標(biāo)形變導(dǎo)致丟失目標(biāo)的問(wèn)題更好的預(yù)防和規(guī)避[6]。Meanmshift 算法實(shí)現(xiàn)目標(biāo)跟蹤中,首先建立顏色特征直方圖模型,這一步驟是依據(jù)跟蹤目標(biāo)在HSV 顏色空間的H分量,并依據(jù)該模型得到顏色概率分布圖。其次以顏色概率分布圖為依據(jù),對(duì)位置和目標(biāo)尺寸確定的檢索窗口進(jìn)行初始化操作,得到后面一幀圖像Meanshift 運(yùn)算初始檢索窗口,經(jīng)過(guò)自適應(yīng)調(diào)整,連續(xù)迭代,從而將視頻幀中,跟蹤目標(biāo)的中心位置連續(xù)定位出來(lái)。定位過(guò)程如下:
首先,以目標(biāo)顏色概率分布圖為依據(jù),對(duì)搜索窗口零階矩M00 進(jìn)行計(jì)算:
其次,計(jì)算x 和y 的一階矩:
最后,計(jì)算搜索窗的質(zhì)心位置:
完成質(zhì)心位置計(jì)算以后,將其與搜索窗口中心位置進(jìn)行重合,經(jīng)過(guò)調(diào)節(jié)搜索窗口大小,將窗口的移動(dòng)距離與開(kāi)始設(shè)定的固定閾值作比較。如果窗口移動(dòng)距離大于閾值,則重新定位,再通過(guò)迭代運(yùn)算重新計(jì)算窗口尺寸及位置,直到窗口移動(dòng)距離值小于閾值。通過(guò)計(jì)算機(jī)計(jì)算,可繪制出矩形形狀鎖定當(dāng)前目標(biāo)長(zhǎng)l 和寬w,帶入下一幀的搜索窗口的長(zhǎng)寬值就是l 和w。
通常情況下,MeanShift 算法在獲取目標(biāo)顏色直方圖時(shí),背景顏色信息也會(huì)進(jìn)入,影響跟蹤準(zhǔn)確性。為了能夠更準(zhǔn)確地跟蹤,改進(jìn)的MeanShift 算法表示目標(biāo)特征時(shí),采用交叉顏色直方圖,它能夠減弱弱背景顏色對(duì)目標(biāo)區(qū)域的干擾,實(shí)現(xiàn)更準(zhǔn)確跟蹤[7]。
將改進(jìn)的Meanshift 算法在VS2017 和opencv3.1.0 的軟件上對(duì)多個(gè)視頻進(jìn)行實(shí)驗(yàn)測(cè)試。在對(duì)運(yùn)動(dòng)中的手部進(jìn)行跟蹤時(shí),框選目標(biāo)區(qū)域,得到改進(jìn)的MeanShift 算法計(jì)算的目標(biāo)顏色直方圖,如圖4 所示,圖5 為該算法跟蹤過(guò)程中的不連續(xù)的4 幀圖像的結(jié)果。
圖4 目標(biāo)顏色直方圖
圖5 手部動(dòng)作跟蹤效果
同樣,在對(duì)運(yùn)動(dòng)中手部標(biāo)記點(diǎn)進(jìn)行跟蹤時(shí),圖6 為該算法計(jì)算得到的目標(biāo)顏色直方圖,圖7 為該算法在對(duì)手部標(biāo)記點(diǎn)跟蹤過(guò)程中的不連續(xù)的4 幀圖像結(jié)果。
圖6 目標(biāo)色調(diào)直方圖
圖7 手部標(biāo)記點(diǎn)的跟蹤
改進(jìn)后的Meanshift 算法跟蹤是否更準(zhǔn)確需要檢驗(yàn),將若干視頻作為對(duì)象,通過(guò)傳統(tǒng)Meanshift 跟蹤算法和本文改進(jìn)后的Meanshift 算法實(shí)驗(yàn),得到如表1 所示的跟蹤結(jié)果。
表1 不同算法的目標(biāo)跟蹤效果比較
從表1 跟蹤結(jié)果可以看出,改進(jìn)后的Meanshift 算法跟蹤準(zhǔn)確率均在90%以上,傳統(tǒng)Meanshift 算法在跟蹤過(guò)程中易受其他因素的干擾,準(zhǔn)確率不穩(wěn)定,會(huì)存在重要圖像幀丟失的情況。通過(guò)對(duì)改進(jìn)的Meanshift 算法跟蹤的實(shí)驗(yàn)驗(yàn)證,可以得出該方法跟蹤效果準(zhǔn)確率高,且算法速度較快完全可以滿足實(shí)時(shí)性的要求。
本文主要分析了融合Canny 邊緣檢測(cè)的三幀差分法,在對(duì)三幀差分圖像進(jìn)行中值濾波處理,濾除孤立噪聲點(diǎn),與Canny 邊緣檢測(cè)算法得到的邊緣掩模進(jìn)行與運(yùn)算,將結(jié)果進(jìn)行邊緣處理、區(qū)域填充,得到運(yùn)動(dòng)目標(biāo)的二值掩模圖像,將其與當(dāng)前幀相結(jié)合,實(shí)現(xiàn)對(duì)手部運(yùn)動(dòng)的檢測(cè)。之后研究改進(jìn)后的Meanshift 算法,用交叉顏色直方圖代替?zhèn)鹘y(tǒng)的顏色直方圖,通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),本文研究的改進(jìn)后的檢測(cè)方法,對(duì)手部運(yùn)動(dòng)能夠進(jìn)行有效的檢測(cè),檢測(cè)結(jié)果清晰完整;在跟蹤算法中,本文研究的改進(jìn)后的Meanshift 算法在背景干擾較大的情況下,跟蹤精度依然較高,并且保證實(shí)時(shí)性,提高跟蹤的魯棒性。