李建民 ,張增玉 ,趙建廠 ,蘇 赫
(1. 天津大學(xué)機構(gòu)理論與裝備設(shè)計教育部重點實驗室,天津 300354;2. 天津大學(xué)機械工程學(xué)院,天津 300354)
泌尿系統(tǒng)結(jié)石是一種世界范圍內(nèi)非常常見的疾?。y(tǒng)計數(shù)據(jù)顯示,泌尿系統(tǒng)結(jié)石的發(fā)病率呈上升趨勢[1-2].近年來,為減輕泌尿外科醫(yī)生的手術(shù)負(fù)擔(dān),提高手術(shù)質(zhì)量,降低輻射風(fēng)險,機器人輔助輸尿管軟鏡術(shù)(robot-assisted flexible ureteroscopy)已被應(yīng)用于泌尿系統(tǒng)結(jié)石的手術(shù)中[3-5].然而由于人體自然腔道約束的存在,輸尿管軟鏡繞軸向旋轉(zhuǎn)時不可避免地產(chǎn)生運動偏差.精確控制輸尿管軟鏡末端的運動可以有效減少手術(shù)并發(fā)癥,降低手術(shù)風(fēng)險,同時這也是實現(xiàn)手術(shù)機器人自動化的重要步驟.
目前,國內(nèi)外的研究者針對醫(yī)用內(nèi)窺鏡的控制問題進(jìn)行了研究,提出了多種控制策略.Hong 等[6]設(shè)計了一種頭戴式主界面,通過外科醫(yī)生的頭部運動來控制剛性內(nèi)窺鏡.然而,在手術(shù)過程中醫(yī)生多余的頭部運動是不可避免的.Cao 等[7]提出利用瞳孔變化來控制內(nèi)窺鏡,設(shè)計了一種基于支持向量機(support vector machines,SVM)和概率神經(jīng)網(wǎng)絡(luò)(probabilistic neural network,PNN)的內(nèi)窺鏡機械臂控制系統(tǒng),獲得了較高的眼球運動分類精度.然而,在實際應(yīng)用中,算法很難判斷醫(yī)生的眼球運動是否是有意義的.語音識別是另一種可行的控制方法[8].但在外科手術(shù)過程中,外科醫(yī)生之間需要進(jìn)行必要的語言交流,這將影響語音指令對內(nèi)窺鏡的控制.以上針對內(nèi)窺鏡的控制方法均為開環(huán)控制,無法利用內(nèi)窺鏡的運動信息,因此難以實現(xiàn)精確控制,無法用來消除輸尿管軟鏡末端的運動偏差.同時,輸尿管軟鏡末端直徑約為 3 mm,空間狹小,無法安裝額外的傳感器以獲取運動信息.
視覺反饋技術(shù)是實現(xiàn)輸尿管軟鏡末端運動精確控制的一種可行方法[9].Gao 等[10]提出了一種將圖像分割和卡爾曼濾波相結(jié)合的方法來實現(xiàn)術(shù)前內(nèi)窺鏡與外耳道的配準(zhǔn)工作.Wu 等[11]針對連續(xù)體機器人內(nèi)窺鏡的姿態(tài)調(diào)整問題,提出了一種無模型的視覺伺服控制方法.此方法利用雅可比優(yōu)化和凸點檢測來提高連續(xù)體機器人內(nèi)窺鏡的安全性和控制性能,但凸點檢測需要額外的激光標(biāo)記提供凸點區(qū)域.Ma 等[12]設(shè)計了一種自主式輸尿管軟鏡,利用視覺伺服技術(shù)跟蹤帶有綠色標(biāo)記物的手術(shù)器械,同時結(jié)合最優(yōu)控制法最小化輸尿管軟鏡的運動空間,提高手術(shù)的安全性,與此類似的還有文獻(xiàn)[13].然而,此方法只適用于輸尿管軟鏡視野中存在帶有特殊標(biāo)記物手術(shù)器械的情況.Zenteno 等[14]通過擬合虛擬圓柱 3 D 投影來估計內(nèi)窺鏡的位姿,實現(xiàn)了具有雙目攝像頭的胃鏡在無標(biāo)記點下的控制問題,然而對于單目攝像頭的輸尿管軟鏡,此方法并不適用.
針對輸尿管軟鏡末端繞軸向旋轉(zhuǎn)時存在運動偏差的問題,本文提出了一種基于視覺反饋的輸尿管軟鏡末端運動補償策略.該方法無需進(jìn)行輸尿管軟鏡的硬件修改或設(shè)計特殊的手術(shù)器械,而是依靠輸尿管軟鏡原有的成像系統(tǒng)獲取圖像信息,并進(jìn)行運動補償.該運動補償策略根據(jù)輸尿管軟鏡的成像特點,利用改進(jìn)的霍夫圓檢測(circle Hoff transformation,CHT)自動提取輸尿管軟鏡的視野作為感興趣區(qū)域(region of interest,ROI),減少計算負(fù)擔(dān),對輸尿管軟鏡所成圖像中特有的梳狀結(jié)構(gòu)(comb structure)進(jìn)行頻譜分析,根據(jù)其特點采用濾波的方法進(jìn)行消除,結(jié)合ORB(oriented FAST and rotated BRIEF)算法提取圖像信息,并通過求解前后兩關(guān)鍵幀之間的幾何關(guān)系得到輸尿管軟鏡末端角位移.最后通過模型實驗驗證了所提運動補償策略的有效性.
輸尿管軟鏡術(shù)是利用輸尿管軟鏡經(jīng)尿道、膀胱、輸尿管等自然腔道至腎盂進(jìn)行手術(shù)的技術(shù),包括向泌尿系統(tǒng)內(nèi)置入導(dǎo)絲和輸尿管軟鏡送達(dá)鞘、使用輸尿管軟鏡進(jìn)入各腎盞進(jìn)行檢查、激光碎石和取石籃取石等操作,因其治療效果好、并發(fā)癥少、病人住院時間短且恢復(fù)速度快,逐漸成為治療泌尿系統(tǒng)結(jié)石的首選方法[15].然而,傳統(tǒng)輸尿管軟鏡術(shù)需要手術(shù)醫(yī)生長時間單手懸空持鏡操作,不符合人體工程學(xué);且在碎石和取石過程中需要助手協(xié)助,學(xué)習(xí)曲線長,操作難度大[16].
近年來興起的機器人輔助輸尿管軟鏡術(shù)可以有效解決以上問題.然而在手術(shù)過程中,由于人體自然腔道的約束,當(dāng)輸尿管軟鏡繞軸向旋轉(zhuǎn)時,其末端存在明顯的運動偏差.輸尿管軟鏡作為一種欠自由度的醫(yī)用內(nèi)窺鏡,其末端只能在單平面內(nèi)進(jìn)行偏轉(zhuǎn),且一般只具有一個自由度,如圖 1 所示,故手術(shù)時需要繞軸向旋轉(zhuǎn)才能到達(dá)各腎盞.
圖1 輸尿管軟鏡Fig.1 Flexible ureteroscope
為實現(xiàn)對輸尿管軟鏡末端繞軸向旋轉(zhuǎn)時的運動補償,本文通過圖像處理技術(shù)自動提取輸尿管軟鏡的視野作為ROI,并對輸尿管軟鏡所成圖像中特有的梳狀結(jié)構(gòu)干擾進(jìn)行頻譜分析和消除,結(jié)合特征提取算法獲取圖像信息,進(jìn)而通過幾何關(guān)系求解得到輸尿管軟鏡末端角位移,之后將角位移信息反饋至運動控制器,以控制機械臂運動完成對輸尿管軟鏡的運動補償.
輸尿管軟鏡的末端是一種典型的手-眼(eye-inhand)視覺探頭.此類型的視覺探頭只需要利用圖像域的信息即可估計末端的姿態(tài).本文的相機模型如圖 2 所示.世界坐包含患者泌尿系統(tǒng)的三維信息,當(dāng)輸尿管軟鏡的末端在平面內(nèi)沿軸向旋轉(zhuǎn)時,相機坐標(biāo)與世界坐標(biāo)系 Zw軸平行.世界坐標(biāo)系與相機坐標(biāo)系之間的變換關(guān)系[17]可以表示為
圖2 輸尿管軟鏡相機模型Fig.2 Camera model of the flexible ureteroscope
ROI 是指從待處理圖像中選定一部分區(qū)域,作為后續(xù)圖像處理分析重點.通過 ROI 提取排除不必要的干擾,減輕計算負(fù)擔(dān).本文利用一種改進(jìn)的 CHT算法來提取輸尿管軟鏡的視野作為 ROI.CHT 是一種尋找圖像中特定圓的算法,由 Duda 等[19]提出,可將圖像空間轉(zhuǎn)換成三維參數(shù)空間.在 CHT 中,圖像空間中的圓可以表示為
為了降低由于參數(shù)空間過大帶來的計算負(fù)擔(dān),本文采用 2-1 霍夫變換(21 HT)[20]提取輸尿管軟鏡的圓形視野.在計算過程中,21 HT 通過一個二維累加器來計算圓的中心,以一維直方圖統(tǒng)計半徑,將 CHT的三維參數(shù)空間縮小為二維參數(shù)空間,提高了計算速度.
在實際應(yīng)用中,為了減少噪聲并過濾冗余信息,在使用21 HT 之前對圖像進(jìn)行中值濾波預(yù)處理,并使用Canny 邊緣檢測算法[21]提取圖像中的邊緣.Canny邊緣檢測和基于 21 HT 的ROI 自動提取過程如圖3所示.
本文所研究的輸尿管軟鏡圖像是由多根表面帶有涂層的光纖采集的,光纖之間無法成像,因此會形成如圖 4 所示的梳狀結(jié)構(gòu).圖 4(b)是圖像的局部放大,顯示了典型的梳狀結(jié)構(gòu).圖像中的梳狀結(jié)構(gòu)不會隨著輸尿管軟鏡末端的運動而移動,因此極大地干擾了圖像信息的提?。畬D 4(a)進(jìn)行傅里葉變換得到頻譜,如圖 4(c)所示.在傅里葉頻譜中可以觀察到 6個呈徑向?qū)ΨQ分布的高頻分量,其反映的是圖 4(b)中六邊形的梳狀結(jié)構(gòu),而傅里葉頻譜中心的低頻部分則包含了圖像中的有用信息.
圖3 ROI的自動提取Fig.3 ROI automatic extraction
圖4 梳狀結(jié)構(gòu)的分析和消除Fig.4 Analysis and elimination of comb structure
為消除梳狀結(jié)構(gòu)這種高頻分量,同時盡量保留低頻部分,對圖像進(jìn)行高斯低通濾波處理.二維高斯分布可表示為
通過調(diào)整x、y 方向上的高斯核標(biāo)準(zhǔn)差σ 和高斯核的大小,選擇合適的高斯低通濾波器.圖4(d)為使用高斯低通濾波器對圖 4(a)濾波后的圖像,圖 4(e)為對應(yīng)的局部放大,圖 4(f)為經(jīng)過濾波處理后的傅里葉頻譜,可以觀察到徑向?qū)ΨQ分布的高頻分量幾乎被完全消除,而低頻分量則得到了較好的保留.
本文利用 ORB 算法[22]對預(yù)處理后的圖像進(jìn)行特征提取如圖 5(a)所示.ORB 算法對光照變化不敏感,魯棒性好,計算速度快.算法依靠 FAST 關(guān)鍵點檢測器對圖像特征進(jìn)行快速提取,以獲得大量關(guān)鍵點,并利用圖像金字塔改善尺度不變性,之后借助Harris 角點檢測器對關(guān)鍵點進(jìn)行排序和篩選.對篩選后關(guān)鍵點使用灰度質(zhì)心法計算方向,在以關(guān)鍵點為圓心,半徑為R 的局部區(qū)域中定義階矩
則局部區(qū)域質(zhì)心可定義為
關(guān)鍵點方向角為
使用 BRIEF 描述子對關(guān)鍵點進(jìn)行編碼.BRIEF描述子是由一組二進(jìn)制灰度測試形成的字符串,二進(jìn)制灰度測試可表示為
在局部區(qū)域p 中進(jìn)行n 次灰度測試可得
為使BRIEF 描述子具有旋轉(zhuǎn)不變性,利用式(7)中求得的方向角θ 所對應(yīng)的旋轉(zhuǎn)矩矩陣S 進(jìn)行旋轉(zhuǎn)得
改進(jìn)后的rBRIEF(rotation-aware brief)描述子可定義為
由于 rBRIEF 描述子是一種二進(jìn)制字符串,故使用基于漢明距離的暴力匹配進(jìn)行前后關(guān)鍵幀關(guān)鍵點的粗匹配.對待匹配的描述子進(jìn)行異或計算以量化其相似度
由暴力匹配得到的關(guān)鍵點對中存在誤匹配項,如圖 5(b)所示,本文利用 PROSAC(progressive sample consensus)算法[23]對粗匹配后的關(guān)鍵點對進(jìn)行進(jìn)一步篩選.PROSAC 算法是對 RANSAC 算法的改進(jìn),其對離群點的過濾效果更好,計算效率更高.經(jīng)過PROSAC 算法篩選后的關(guān)鍵點對如圖 5(c)所示,誤匹配項已基本消除.
圖5 前后關(guān)鍵幀的特征提取及匹配Fig.5 Feature extraction and matching of key frames
當(dāng)輸尿管軟鏡末端在平面內(nèi)繞軸向旋轉(zhuǎn)時,平移矩陣t 為零,因此相比于基本矩陣,單應(yīng)矩陣更適用于描述此類型運動前后兩關(guān)鍵幀之間的映射關(guān)系.單應(yīng)矩陣H 將前關(guān)鍵幀中射為后關(guān)鍵幀中
由式(14)展開可得
單應(yīng)矩陣具有8 個自由度,因此,可以通過4 個匹配點對來計算(任意 3 點非共線).利用基于 SVD分解[24]的方法對單應(yīng)矩陣進(jìn)行求解,可得到輸尿管軟鏡末端繞軸向旋轉(zhuǎn)時的角位移.
圖6 基于視覺反饋的輸尿管軟鏡機器人運動補償策略流程Fig.6 Flow chart of motion compensation strategy for flexible ureteroscope based on visual feedback
基于視覺反饋的輸尿管軟鏡機器人運動補償策略流程如圖6 所示,控制目標(biāo)為使輸尿管軟鏡末端角位期望角位?。\動補償策略的補償誤差可表示為設(shè)置補償誤差的閾值為 Et,計算補償誤差 Ec,若將Ec反饋至運動控制器,控制電機驅(qū)動機器人機械臂,直尿管軟鏡末端運動至期望位置.
選出2015年12月到2018年2月這一時間段我院接受并治療的74例不穩(wěn)定型心絞痛患者當(dāng)作本次研究的樣本。男性患者與女性患者分別48例、26例;患者的年齡最大70歲,最小42歲,平均年齡為(56±2.83)歲。
圖7 為所提運動補償策略時序,其中圖像采集卡將相機曝光獲得的一幀圖像傳輸?shù)?PC 端需要33.33 ms,而本文所提輸尿管軟鏡末端角位移估計算法進(jìn)行一次計算約用時 21.32 ms,因此該運動補償策略可以實現(xiàn)實時計算.
圖7 運動補償策略時序Fig.7 Sequence diagram of motion compensation strategy
為驗證所提運動補償策略的可行性,進(jìn)行如圖8(a)所示的實驗設(shè)計,并搭建如圖 8(b)所示的實驗平臺.通過輸尿管軟鏡和相機曝光獲得的視覺信息,經(jīng)圖像采集卡傳輸至PC 端,其幀率為30 幀/s,圖像尺寸為640×360 像素.圖像處理和計算均在Lenovo ThinkStation 圖形工作站中進(jìn)行,中央處理器(central processing units,CPU)為 1.7 GHz Intel Xeon E5-2609八核處理器,顯卡為NVIDIA Quadro K2000,開發(fā)環(huán)境為 Visual Studio 2015,配置有 OpenCV3.4.1,使用CUDA10.0 對算法進(jìn)行加速.此外,通過電磁跟蹤系統(tǒng)NDI Aurora 獲取輸尿管軟鏡末端的運動信息作為真實值,以驗證所提運動補償策略的補償效果.電磁跟蹤系統(tǒng)傳感器固定在輸尿管軟鏡末端,其安裝如圖8(c)所示.
對本文所提輸尿管軟鏡末端角位移估計算法進(jìn)行連續(xù) 300 幀性能測試,記錄計算誤差和計算時間.由于 GPU 初始化,首次計算耗時 541.69 ms,之后耗時降低,計算時間曲線如圖 9(a)所示.藍(lán)色曲線為每次計算所需時間,紅色虛線為平均值.在連續(xù) 300 幀測試中,平均計算時間約為 21.32 ms,最長耗時27.04 ms.該計算速度可以實現(xiàn)對幀率為30幀/s 的視頻進(jìn)行的實時處理.圖 9(b)為輸尿管軟鏡末端角位移計算誤差的絕對值,在所測300 幀中平均誤差約為0.33°,最大誤差為 1.90°,統(tǒng)計結(jié)果顯示 95%的誤差小于 0.90°.
圖8 實驗平臺搭建Fig.8 Experimental platform setup
圖9 性能測試Fig.9 Performance testing
本文利用輸尿管軟鏡機器人樣機對所提運動補償策略的可行性進(jìn)行了如圖 10(a)所示的模型驗證,利用以硅膠為材料的輸尿管模型模擬人體自然腔道對輸尿管軟鏡運動的約束,實驗中輸尿管軟鏡以 10°為步長從 0°分別旋轉(zhuǎn)至±180°.測試原理如圖 10(b)所示.初始時刻 t0角位移記為 θ0,t1時刻角位移記為θ1,則輸尿管軟鏡末端角位移θf=θ1-θ0,由式(16)計算補償誤差 Ec,并與設(shè)置的補償誤差閾值 Et進(jìn)行對比,輸尿管軟鏡繼續(xù)轉(zhuǎn)動,直至算此時輸尿管軟鏡末端角位移 θf與通過電磁追蹤系統(tǒng)獲得的真實值 θg之差的絕對值,作為所提補償策略的補償誤差 Δθ .
圖10 輸尿管軟鏡機器人樣機測試Fig.10 Robot-assisted flexible ureteroscopy testing
使用本文所提運動補償策略前輸尿管軟鏡末端角位移情況如圖 11(a)所示,紅色圓點為輸尿管軟鏡末端角位移值,藍(lán)線為理想狀態(tài)下期望角位移值與實際角位移值間的關(guān)系.可以看出,在不使用補償策略的情況下,輸尿管軟鏡末端角位移明顯小于期望角位移,并且成非線性關(guān)系.
應(yīng)用本文所提運動補償策略后的實驗結(jié)果如圖11(b)所示,輸尿管軟鏡末端的運動偏差明顯減小,實際角位移值與期望角位移值較為接近.實驗結(jié)果顯示,該運動補償策略的平均補償誤差約為2.17°,最大補償誤差為 3.29°.本文所提輸尿管軟鏡運動補償策略的補償誤差與文獻(xiàn)[8,13-14]誤差比較如表 1 所示,可以看出本文補償策略的誤差值小于各參考文獻(xiàn)誤差值.補償誤差產(chǎn)生的原因可能為:
圖11 模型實驗結(jié)果Fig.11 Model experimental results
(1) 輸尿管軟鏡末端角位移估計算法的計算精度有限,本身存在一定誤差;
(2) 圖像傳輸與處理、數(shù)據(jù)計算和傳遞需要一定時間,在此期間內(nèi)驅(qū)動輸尿管軟鏡旋轉(zhuǎn)的電機持續(xù)轉(zhuǎn)動,產(chǎn)生一定誤差.
然而,本文所提輸尿管軟鏡運動補償策略的補償誤差在可容忍范圍內(nèi),模型實驗結(jié)果表明該運動補償策略可以明顯減少輸尿管軟鏡末端繞軸向運動時的角位移偏差,有助于提高手術(shù)效率,降低手術(shù)風(fēng)險.
表1 本文補償策略與文獻(xiàn)誤差比較Tab.1 Error comparison between the proposed compensation strategy and reference
本文針對當(dāng)前機器人輔助輸尿管軟鏡術(shù)在實施過程中出現(xiàn)的末端運動偏差問題,提出了一種基于視覺反饋的運動補償策略,并通過實驗驗證了該補償策略的可行性.該運動補償策略無需進(jìn)行硬件修改,而是根據(jù)輸尿管軟鏡的成像特點,通過圖像處理技術(shù)自動提取輸尿管軟鏡的視野作為 ROI 以減輕計算負(fù)擔(dān),對輸尿管軟鏡成像中特有的梳狀結(jié)構(gòu)干擾進(jìn)行了分析與消除,借助 ORB 算法提取圖像信息,對前后兩關(guān)鍵幀之間的幾何關(guān)系進(jìn)行計算與求解,從而獲得輸尿管軟鏡末端角位移信息,并將信息反饋至控制器以實現(xiàn)對輸尿管軟鏡末端的運動補償,這對提高泌尿外科手術(shù)效率,降低手術(shù)風(fēng)險,具有十分重要的意義.
未來的工作將對輸尿管軟鏡推進(jìn)和末端偏轉(zhuǎn)的控制策略進(jìn)行研究,實現(xiàn)輸尿管軟鏡的自動干預(yù),同時對泌尿系統(tǒng)結(jié)石進(jìn)行識別與尺寸估計,完成結(jié)石的自動提取,以進(jìn)一步提升手術(shù)機器人的自動化水平.