余 翠,李 立,龍 凡,張 原
(武漢大學(xué) 電子信息學(xué)院,武漢 430072)
目前靜脈注射技術(shù)已經(jīng)成為臨床最有效、直接且常用的治療手段之一.不同的臨床病情對(duì)靜脈注射的滴速要求不同,輸液耗時(shí)長(zhǎng)且需要醫(yī)護(hù)人員實(shí)時(shí)監(jiān)測(cè),這給患者自身、患者家屬以及醫(yī)護(hù)工作人員都帶來(lái)了沉重的負(fù)擔(dān)[1].因此實(shí)現(xiàn)靜脈滴注自動(dòng)測(cè)速對(duì)于臨床治療和日常生活具有顯著意義.
傳統(tǒng)的靜脈滴注測(cè)速主要依靠醫(yī)護(hù)人員人工測(cè)量(通常通過(guò)滴15-30秒來(lái)目測(cè)),不僅檢測(cè)速度慢,檢測(cè)結(jié)果也不夠精確;或者利用機(jī)械稱(chēng)重、電容計(jì)量、紅外光電等方式輸液檢測(cè),這些測(cè)量方案復(fù)雜不便操作,成本較高無(wú)法普及[2].
隨著人工智能與機(jī)器視覺(jué)的高速發(fā)展,智慧醫(yī)療也逐漸走進(jìn)人們的生活,圖像處理不僅可以代替人力完成測(cè)量和鑒定的工作,保證測(cè)量過(guò)程中的自動(dòng)化與自由性,而且使得測(cè)量和檢查更精確.如[3]提出了一種將連續(xù)幀間差分與背景差分相融合運(yùn)用到醫(yī)療中輸液液滴速度檢測(cè)中,但是該方法抗干擾能力差,沒(méi)有考慮到復(fù)雜環(huán)境因素對(duì)結(jié)果的影響.
本文提出了一種基于模板匹配的靜脈注射滴速測(cè)量方法.將圖像處理中的模板匹配算法應(yīng)用到液滴速度測(cè)量中,通過(guò)移動(dòng)設(shè)備采集拍攝靜脈注射視頻,首先對(duì)視頻圖像進(jìn)行液滴模板的提取,然后利用模板匹配找出液滴幀并提取液滴幀號(hào),根據(jù)幀號(hào)計(jì)算出輸液速度,實(shí)驗(yàn)證明該方法能有效地減少環(huán)境的干擾,準(zhǔn)確地計(jì)算出液滴速度,并且方便快捷、成本低廉、操作簡(jiǎn)單,具有很好的現(xiàn)實(shí)應(yīng)用意義.
模板匹配是數(shù)字圖像處理匹配技術(shù)中一種常用方法,其主要方式是通過(guò)已知模板圖像,按照相應(yīng)的模式去尋找另一幅圖像中是否存在已知模板圖像.這里尋找模式主要是指通過(guò)相關(guān)函數(shù)的計(jì)算來(lái)尋找模板圖像在另一幅圖像中的位置[4].模板匹配示意圖如圖1所示.
常見(jiàn)的模板匹配算法,一種是基于灰度的模板匹配,另一種是基于特征點(diǎn)的模板匹配[5].本文研究模板匹配的對(duì)象主要是液滴,液滴形狀較小且單一,相對(duì)應(yīng)的特征點(diǎn)較少.所以本文所述的靜脈注射液滴流速測(cè)量算法,采用的是基于灰度的模板匹配.
目前基于灰度的模板匹配的思想主要是統(tǒng)計(jì)學(xué)的思想,將待處理的圖像看成是一個(gè)二維的信號(hào),然后通過(guò)統(tǒng)計(jì)學(xué)里面的相關(guān)算法統(tǒng)計(jì)計(jì)算不同信號(hào)之間的相似度也就是匹配的相關(guān)程度[6].
圖1 模板匹配示意圖Fig.1 Diagram of template matching
主要是樣本灰度圖的像素平均值、方差、協(xié)方差以及相關(guān)函數(shù)等與模本之間的相似性,判斷模板與樣本間的對(duì)應(yīng)關(guān)系[7].
基于液滴模板匹配的難點(diǎn)在于液滴模板的提取,由于移動(dòng)設(shè)備采集視頻時(shí)可控性差,易造成視頻抖動(dòng),且輸液環(huán)境不同,這些都對(duì)視頻圖像液滴模板的提取影響十分嚴(yán)重,因此需要對(duì)輸入的視頻圖像進(jìn)行處理,首先利用高斯混合模型提取滴管前景,然后采用積分投影算法對(duì)滴管區(qū)域進(jìn)行定位,最后通過(guò)霍夫變換提取出液滴模板,從而能較大程度減少環(huán)境的干擾,提高液滴模板提取結(jié)果的準(zhǔn)確性.液滴模板提取的流程圖如圖2所示.
圖2 液滴模板提取流程圖Fig.2 Flow chart of droplet template extracting
2.2.1 混合高斯模型
混合高斯模型是利用若干個(gè)單高斯分布也就是正態(tài)分布的加權(quán)和進(jìn)行建模的方式,能夠很好的反映像素的多尖峰情況,避免光照變化或者其他背景干擾[8].在混合高斯背景模型中,實(shí)際場(chǎng)景畫(huà)面的每個(gè)點(diǎn)的像素值可以由k個(gè)正太分布也就是單高斯分布組成的混合分布來(lái)表示[9],如公式(1)所示:
(1)
圖3 前景提取結(jié)果示意圖Fig.3 Result of foreground extraction
本文利用樣本圖像的像素統(tǒng)計(jì)信息(模式數(shù)量、每個(gè)模式的均值和標(biāo)準(zhǔn)差)表示背景,然后使用統(tǒng)計(jì)差分進(jìn)行目標(biāo)像素判斷,判斷為前景則將像素的值設(shè)置為255,即為一個(gè)白色像素點(diǎn).反之設(shè)置為0,得到前景的二值化圖像.最后進(jìn)行形態(tài)學(xué)濾波,開(kāi)運(yùn)算濾除較小的噪聲干擾,閉運(yùn)算補(bǔ)全不連續(xù)的邊緣信息,從而得到復(fù)雜背景下視頻的前景提取,如圖3所示.
2.2.2 投影積分算法
投影積分算法是針對(duì)灰度圖像尋找灰度變化極大(小)值的算法,這種方法在本質(zhì)上是一種統(tǒng)計(jì)方法, 主要有水平投影和垂直投影[10].
(2)
(3)
在公式(2)和公式(3)中,(x,y)表示像素所處的位置,I(x,y)表示該像素點(diǎn)的灰度值,n表示一行所有的像素點(diǎn)數(shù),m表示一列所有的像素點(diǎn)數(shù), 可見(jiàn)水平投影就是將一行所有的像素點(diǎn)的灰度值進(jìn)行累加后再顯示;垂直投影就是將一列所有的像素點(diǎn)的灰度值進(jìn)行累加后再顯示[11,12].
圖4 積分投影算法滴管區(qū)域定位結(jié)果Fig.4 Results of locating the dopper region
視頻圖像進(jìn)行前景提取后,接著進(jìn)行滴管區(qū)域的定位,為增強(qiáng)邊界特點(diǎn),同時(shí)又減少其他非邊界像素的干擾,首先將輸入的前景圖像進(jìn)行灰度化、二值化、腐蝕膨脹等處理,然后對(duì)處理過(guò)后的圖像分別進(jìn)行水平方向與垂直方向進(jìn)行積分投影.
滴管長(zhǎng)度上下邊界的定位:設(shè)定一個(gè)閾值T(T值設(shè)定根據(jù)實(shí)驗(yàn)統(tǒng)計(jì)得來(lái),并且與滴管寬度像素B有關(guān),一般T>1/2B)來(lái)進(jìn)行判斷;當(dāng)統(tǒng)計(jì)像素和S≥T時(shí)上邊界點(diǎn)出現(xiàn);繼續(xù)進(jìn)行遍歷統(tǒng)計(jì)像素,當(dāng)出現(xiàn)S≤T時(shí),下邊界出現(xiàn),直至遍歷坐標(biāo)等于圖像像素寬,遍歷結(jié)束.滴管寬度左右邊界的定位,采取同樣的思路,定位結(jié)果如圖4所示.
2.2.3 液滴半徑參數(shù)設(shè)置
液滴在滴管中運(yùn)動(dòng)時(shí),其在二維平面中其邊緣可以近似于一個(gè)圓.由于Hough變換對(duì)于不規(guī)則圓、缺邊等抗干擾能力比較強(qiáng),所以本文的液滴模板提取采用的是Hough變換.Hough變換檢測(cè)圓的關(guān)鍵就是對(duì)圓的半徑參數(shù)設(shè)置,包括最大半徑和最小半徑.
由于采集視頻圖像時(shí)距離遠(yuǎn)近隨意性很大,相同靜脈注射相同滴速的液滴在距離不同時(shí),其像素寬度也會(huì)不同,這為液滴模板半徑參數(shù)的提取造成了困難.本文利用輸液滴管的實(shí)際參數(shù),輔助完成液滴像素半徑的設(shè)置.具體步驟如下:
步驟1.根據(jù)滴系數(shù),估算液滴實(shí)際半徑.
滴系數(shù)表示靜脈輸液時(shí)1ml藥滴的滴數(shù),單位為滴/ml,不同管徑尺寸的輸液器滴系數(shù)不同,我國(guó)臨床常用的輸液器液滴系數(shù)有10、15、20滴/ml三種型號(hào).則將每個(gè)液滴近似為球體,已知滴系數(shù)k,可根據(jù)體積公式(4)計(jì)算出液滴實(shí)際半徑R.
4πR3/3=1/k
(4)
步驟2.計(jì)算出液滴在任意視頻幀的像素寬度.
取任意長(zhǎng)寬已知(寬度為L(zhǎng))的平面物體,將滴管平放于其表面,然后手持手機(jī)貼近該物體平面,移動(dòng)手機(jī)遠(yuǎn)離直至相機(jī)拍攝范圍剛好達(dá)到該物體寬的邊緣.已知手機(jī)像素寬度為W,則根據(jù)比例公式液滴像素寬度為:
r=RW/L
(5)
2.2.4 Hough變換
Hough變換是Hough于1962年提出的一種基于物體區(qū)域邊界的形狀描述方法.基本原理是將圖像的空間中檢測(cè)問(wèn)題通過(guò)參數(shù)方程變換到參數(shù)空間中尋找滿足該參數(shù)方程特性的峰值問(wèn)題.把檢測(cè)整體特性轉(zhuǎn)化為檢測(cè)局部特性.比如直線、橢圓、圓、弧線等[13].
圖5 特征點(diǎn)三維錐面圖Fig.5 Three-dimensional cone of feature points
經(jīng)典的Hough變換檢測(cè)圓是將圖像分隔成許多小塊,然后掃描圖像特征點(diǎn),將這些點(diǎn)按照一定的方式轉(zhuǎn)換到參數(shù)空間,再用累加器存儲(chǔ)這些點(diǎn)在參數(shù)空間的圓心以及半徑.設(shè)定閾值,根據(jù)統(tǒng)計(jì)學(xué)原理累加值大于閾值時(shí)認(rèn)為此特征點(diǎn)為圓心,相對(duì)應(yīng)的坐標(biāo)為半徑[14].
已知圓的一般方程式為:
(x-a)2+(y-b)2=r2
(6)
其中(a,b)是圓心,r是半徑.將此方程轉(zhuǎn)換到參數(shù)空間,也就是將(a,b,r)當(dāng)作空間坐標(biāo),而x,y為坐標(biāo)量.這樣每個(gè)參數(shù)點(diǎn)(x,y)就構(gòu)成了基于a,b,r參數(shù)空間的圓錐.則圖像上的任意一個(gè)特征點(diǎn)對(duì)應(yīng)的參數(shù)空間上的一個(gè)三維錐面,如圖5所示.圖像空間中同一圓上的點(diǎn)對(duì)應(yīng)于參數(shù)空間中的所有三維錐面必然交于一點(diǎn),通過(guò)檢測(cè)這一點(diǎn)可以獲得圓的參數(shù)[15].
圖6 液滴模板提取結(jié)果示意圖Fig.6 Results of the droplet template's extraction
本文按照以上液滴半徑參數(shù)設(shè)置方法,設(shè)置最小半徑為0,最大半徑為200像素,最終檢測(cè)結(jié)果見(jiàn)圖6.
提取液滴模板之后,通過(guò)計(jì)算模板與匹配區(qū)域的相似度進(jìn)行匹配判別,常用的相似度計(jì)算方法主要有直方圖相似度計(jì)算(如巴氏距離法),特征點(diǎn)的計(jì)算,感知哈希算法等[16].
圖7 滴管區(qū)域匹配結(jié)果示意圖Fig.7 Results of the dropper region's template matching
本文研究模板匹配的對(duì)象主要是液滴,液滴形狀較小且單一,相對(duì)應(yīng)的特征點(diǎn)較少.所以這里采取的判別方式就是將匹配區(qū)域,單獨(dú)截取出來(lái),然后進(jìn)行二值化處理,再進(jìn)行遍歷統(tǒng)計(jì)像素和.根據(jù)設(shè)定好的閾值,大于閾值的判斷為含有液滴幀,若小于閾值則判定為無(wú)液滴幀.記錄含有液滴幀的幀號(hào).滴管區(qū)域匹配結(jié)果如圖7所示,液滴匹配區(qū)域二值化如圖8所示.
圖7向我們展示了利用模板匹配算法匹配判別檢測(cè)到含有液滴幀的結(jié)果,第15幀為出現(xiàn)第一個(gè)液滴的最后一幀,第40幀為出現(xiàn)第二個(gè)液滴的最后一幀.根據(jù)模板匹配算法判別:第15幀和第40幀含有液滴,記錄其幀號(hào);第16幀和第41幀不含有液滴.圖8分別為這四幀圖像的液滴模板二值化后的結(jié)果.
圖8 液滴區(qū)域匹配結(jié)果示意圖 Fig.8 Results of the droplet region′s template matching
通過(guò)模板匹配算法提取的相鄰液滴幀號(hào)后,可以計(jì)算相鄰液滴出現(xiàn)的幀間隔. 然后根據(jù)視頻的頻率f,計(jì)算液滴速度V,V的計(jì)算方法主要有兩種:
第一種傳統(tǒng)的做法是直接做差值運(yùn)算假設(shè)相鄰液滴出現(xiàn)的幀號(hào)分別為n1,n2.則相鄰兩滴液滴出現(xiàn)的幀間隔為:
ΔN=n2-n1
(7)
對(duì)于由于液滴滴速過(guò)快或采集設(shè)備采集頻率過(guò)高而出現(xiàn)同一液滴出現(xiàn)在多幅圖像中的情況,導(dǎo)致提取的幀號(hào)為同一液滴,這里對(duì)同一滴出現(xiàn)的幀進(jìn)行取均值計(jì)算,然后再計(jì)算幀間隔.液滴滴速為:
V=f/ΔN
(8)
該方法只是根據(jù)幀間差時(shí)間計(jì)算液滴滴速,沒(méi)有考慮液滴在滴管中降落所耗費(fèi)的時(shí)間,缺乏準(zhǔn)確性.因此我們對(duì)此方法進(jìn)行了改進(jìn),考慮了位置差,比直接根據(jù)幀間差去進(jìn)行計(jì)算的結(jié)果更加準(zhǔn)確.
如圖9所示,將滴管區(qū)域看成一個(gè)二維坐標(biāo)平面,水平面為離滴管上部1/2液滴直徑處(即認(rèn)為液滴從此水平面開(kāi)始脫離滴管上部做初速度為0的勻加速運(yùn)動(dòng)滴入管中),橫軸為x坐標(biāo),豎軸為y坐標(biāo).記錄幀號(hào)n1,n2的縱坐標(biāo)(液滴1/2高度的位置)分別為y1,y2.
圖9 相鄰兩液滴幀位置差示意圖Fig.9 Position difference of two adjacent drop frames
已知視頻頻率為f,則相鄰兩個(gè)液滴出現(xiàn)的時(shí)間差為:
Δt=ΔN/f+t2-t1
(9)
(10)
則輸液時(shí)間t(h)為:
(11)
其中T為液體總量,單位為ml,k為點(diǎn)滴系數(shù),單位為滴/ml.
實(shí)驗(yàn)條件為:Visual Studio 2010 開(kāi)發(fā)平臺(tái),運(yùn)用OpenCV2.9進(jìn)行編程.選用的計(jì)算機(jī)的配置為 Intel Core i5-6200U CPU2.30 GHz,內(nèi)存8GB,操作系統(tǒng)是 Windows 10.
本文采集了來(lái)自武漢大學(xué)中南醫(yī)院、武漢大學(xué)校醫(yī)院等醫(yī)療機(jī)構(gòu)50個(gè)輸液視頻樣本,每個(gè)視頻樣本15秒,視頻每秒29幀,每幀圖像大小為1080×1920像素.
根據(jù)本文的相關(guān)算法,對(duì)背景環(huán)境各異、滴速快慢程度不同、光照程度不同、拍攝距離不同的樣本進(jìn)行液滴流速計(jì)算統(tǒng)計(jì),并與其實(shí)際速度相對(duì)比進(jìn)行誤差分析.如表1是其中10組樣本液滴流速的測(cè)量以及誤差分析,液滴滴速單位為滴/分.
表1中參考滴速為人為觀測(cè)的液滴滴速,誤差比為計(jì)算滴速與參考滴速差值比上參考滴速.幀差法為上文介紹的滴速計(jì)算方法一,直接由含有液滴幀的時(shí)間差計(jì)算而來(lái),這也是傳統(tǒng)的做法,本文方法利用模板匹配算法精確提取液滴幀號(hào)并考慮液滴落下的位置差所消耗的時(shí)間.
表1 液滴滴速誤差分析比較Table 1 Error analysis of the infusion rate
由表1可以看出幀差法的實(shí)驗(yàn)結(jié)果比本文方法誤差更大,特別是在外界環(huán)境干擾比較大的情況下,例如樣本1,液滴呈黃色,背景較雜亂,光照強(qiáng)度為56Lx,測(cè)量誤差達(dá)到8.97%.樣本5,液滴無(wú)色透明,滴管與背景區(qū)分度弱,光照強(qiáng)度82Lx,誤差率高達(dá)14.80%.圖10為兩個(gè)樣本圖.
圖10 樣本實(shí)際場(chǎng)景圖Fig.10 Samples on different infusion environment
由此可見(jiàn),本文方法計(jì)算出的液滴滴速比傳統(tǒng)幀差法準(zhǔn)確性更高,且對(duì)不同背景、光照、拍攝距離的因素的魯棒性更好.
上述的實(shí)驗(yàn)采集設(shè)備采用的幀率29幀每秒,實(shí)驗(yàn)中有滴速超過(guò)90滴每分鐘的情況.這種情況下檢測(cè)液滴幀出現(xiàn)漏幀情況嚴(yán)重,如上表樣本8實(shí)際速度132滴每分鐘,最終的計(jì)算結(jié)果誤差高達(dá)31.228%.所以本部分實(shí)驗(yàn)采用幀率為60幀/s的采集設(shè)備進(jìn)行實(shí)驗(yàn)分析.表2顯示了兩種不同幀率的液滴檢測(cè)結(jié)果.
表2 不同幀率液滴滴速結(jié)果比較Table 2 Infusion rate of different video frame rates
圖11 不同幀率測(cè)量誤差Fig.11 Results of different video frame rates
由圖11可以看出對(duì)于滴速較快、幀率較小的靜脈滴注,測(cè)量誤差較大.造成誤差增大的原因主要是當(dāng)幀率較小時(shí)液滴滴速過(guò)快會(huì)出現(xiàn)漏幀的情況,同時(shí)液滴會(huì)形成光流,模板匹配法處理結(jié)果帶來(lái)較大干擾.如圖12為同一樣本同一滴速下,分別用29幀與60幀設(shè)備進(jìn)行采集樣本逐幀分解后圖像.
當(dāng)幀率為29幀/s時(shí)液滴在滴管中形態(tài)較為模糊,形成光流場(chǎng),也會(huì)出現(xiàn)漏幀現(xiàn)象;但是對(duì)于幀率為60幀/s的樣本液滴形態(tài)較好,不容易出現(xiàn)漏幀現(xiàn)象.將視頻幀率看作采樣頻率,液滴出現(xiàn)頻率視為信號(hào)的頻率.根據(jù)采樣定理,即采樣頻率大于等于兩倍的信號(hào)最大頻率,也即說(shuō)明了當(dāng)采用較高幀率的視頻進(jìn)行處理時(shí)出現(xiàn)的干擾越小,結(jié)果更加準(zhǔn)確,誤差也就較小.移動(dòng)設(shè)備發(fā)展越來(lái)越快,雖然現(xiàn)在60幀等高幀率視頻格式的移動(dòng)設(shè)備未能完全普及,但是隨著移動(dòng)硬件設(shè)備的高速發(fā)展,靜脈注射液滴測(cè)速技術(shù)在移動(dòng)平臺(tái)上也能更好地實(shí)現(xiàn).
圖12 不同幀率視頻圖像Fig.12 Images of different video frame rates
模板匹配算法多用于機(jī)器視覺(jué)中的目標(biāo)跟蹤,本文將這種方法應(yīng)用于靜脈注射滴速檢測(cè),是智慧醫(yī)療領(lǐng)域的一個(gè)重大突破.現(xiàn)實(shí)場(chǎng)景中的靜脈注射滴速測(cè)量受觀察距離、角度、光線、背景復(fù)雜度等影響較大,本文設(shè)計(jì)的基于模板匹配的靜脈注射滴速測(cè)量方法,對(duì)液滴模板的提取進(jìn)行了改進(jìn):首先利用高斯混合模型提取滴管前景,然后采用積分投影算法對(duì)滴管區(qū)域進(jìn)行定位分割,最后通過(guò)Hough變換提取液滴模板,從而能較大程度減少環(huán)境的干擾,提高液滴滴速檢測(cè)結(jié)果的準(zhǔn)確性.