曹 彤, 許 倩, 和 麗, 陳汗青
(北京科技大學機械工程學院,北京 100083)
微創(chuàng)外科是醫(yī)學領(lǐng)域近20年來高速發(fā)展的新興學科。機器人輔助微創(chuàng)外科手術(shù)涉及醫(yī)學圖像處理與分析、虛擬現(xiàn)實、機器人、機器視覺、運動分析、傳感器、遙操作以及外科學等多個學科,能夠從視覺、觸覺和聽覺上為醫(yī)生進行手術(shù)操作提供便利,擴展醫(yī)生的操作技能,有效提高手術(shù)診斷與評估、靶點定位、精密操作和手術(shù)訓練的質(zhì)量,縮短患者康復周期。
機器人輔助微創(chuàng)外科手術(shù)的流程主要有以下5個步驟:
1)手術(shù)前,病人通過醫(yī)學成像設備掃描,得到一系列關(guān)于病人體內(nèi)組織的醫(yī)學斷層圖像;
2)醫(yī)學斷層圖像輸入到導航系統(tǒng),完成勾勒病灶輪廓、設定穿刺靶點和穿刺路徑等手術(shù)規(guī)劃。導航系統(tǒng)對醫(yī)學斷層圖像和手術(shù)規(guī)劃信息進行三維重構(gòu),建立三維醫(yī)學圖像坐標系;
3)定位裝置對病人身體上的標記點進行定位,完成醫(yī)學圖像空間到機器人空間的映射;
4)醫(yī)生在醫(yī)學圖像中所做的手術(shù)規(guī)劃映射到機器人空間,該信息被用來控制機器人運動,使其按照手術(shù)規(guī)劃的進針路徑指向預先設定的病人體內(nèi)的病灶點;
5)醫(yī)生在機器人的導引下,對病人體內(nèi)病灶進行一系列的手術(shù)操作。
其中第2)步到第4)步由導航系統(tǒng)完成。
導航系統(tǒng)是微創(chuàng)外科機器人系統(tǒng)的重要組成部分,主要分為手術(shù)規(guī)劃和輔助手術(shù)操作兩部分。導航系統(tǒng)作為微創(chuàng)外科機器人系統(tǒng)中不可或缺的組成部分,對于提高手術(shù)定位精度、減少手術(shù)損傷、優(yōu)化手術(shù)路徑及提高手術(shù)成功率等具有十分重要的意義[1]。
在微創(chuàng)外科機器人系統(tǒng)中,手術(shù)規(guī)劃在計算機圖像空間中進行,而機器人輔助手術(shù)則在機器人空間中操作。通過空間映射,使圖像空間中的每一個點在機器人空間中都有唯一的點與之相對應,并且這兩個點對應同一生理位置。只有建立了映射關(guān)系,在計算機圖像空間中確定的手術(shù)方案才能在機器人操作空間中得到準確執(zhí)行;在手術(shù)過程中,手術(shù)導航系統(tǒng)才能實時跟蹤機器人末端的手術(shù)工具并將其顯示在計算機屏幕上[2]。由此可見,空間映射是整個系統(tǒng)成功的關(guān)鍵,空間映射的整個過程共包含4個步驟:
1)分別在圖像空間和物理空間定位標記點;
2)進行標記點映射變換,計算出圖像空間和物理空間的映射矩陣T;
3)在圖像空間內(nèi)對病灶靶點定位;
4)在物理空間定位機器人,完成空間映射,計算出圖像空間的靶點在機器人空間的位置。
在微創(chuàng)外科機器人導航系統(tǒng)的空間映射過程中,由于標記點的定位、標記點映射變換、病灶靶點定位都存在誤差因素,經(jīng)過空間映射計算得到的手術(shù)靶點位置與理想的手術(shù)靶點位置存在一定的偏差。各種誤差因素的大小將直接影響系統(tǒng)的應用,為此定義4種空間映射誤差類型(如圖1所示)。
圖1 空間映射誤差的誤差類型
圖中1所示的基準點即為標記點,因為標記點是建立空間映射的橋梁和基準。
在圖像空間或攝像頭空間進行基準點定位時,每個基準點的真實位置與測量位置Fi之間的向量(如圖1(a)所示),表示為i
F表示第i個基準點,δMF代表基準點圖像空間定位誤差FLEM,δCF代表基準點攝像頭空間定位誤差FLEC,定位誤差FLE數(shù)量值為
此項誤差出現(xiàn)在空間映射過程的第1步。
在圖像空間進行病灶靶點定位時,病灶靶點的真實位置MP'與測量位置MP之間的向量(如圖1(b)所示),表示為
病灶靶點在圖像空間中的定位誤差數(shù)量值為
此項誤差出現(xiàn)在空間映射過程的第3步。
在圖像空間測量得到的基準點MFi測量位置通過轉(zhuǎn)換矩陣R映射到攝像頭空間,與在攝像頭空間得到的對應的基準點CFi位置之間的向量(如圖1(c)所示),第i個基準點的映射誤差表示為
基準點的映射誤差總體表示為
N為基準點總個數(shù)。
此項誤差出現(xiàn)在空間映射過程的第2步。
設映射變換得到的手術(shù)靶點在機器人空間的坐標位置AP,真實的手術(shù)靶點坐標位置AP',AP與AP'兩點之間的向量(如圖1(d)所示),表示為
靶點映射誤差數(shù)量值為
此項誤差出現(xiàn)在空間映射過程的第4步,是整個映射過程中的最終誤差,映射精度的好壞可以用此誤差衡量。
以上所有向量的范數(shù)為歐氏范數(shù)。
在空間映射過程中,還有一些次要的誤差因素,簡單分析如下:
1)皮膚活動導致標記點的移動所引起的誤差。由于采用的是體外標記點定位,標記點貼在病人的皮膚表面,皮膚的活動會引起標記點移動,造成定位誤差。為了減少這種誤差將標記點固定在病人骨骼上,基本可以消除這種誤差。
2)病人體位固定不牢引起的誤差。手術(shù)過程中要求病人體位相對于機器人是靜止的,只要病人輕微運動就會引起誤差。實際手術(shù)過程中,機器人與手術(shù)床連成一體,病人體位牢牢地固定在手術(shù)床上,而手術(shù)的實際操作時間一般不長(30分鐘左右),所以病人體位的固定還是比較可靠的,引起的誤差相對較小。
3)計算機運算誤差。在計算機中數(shù)據(jù)是利用有限位數(shù)存儲的,其計算存在誤差。因此對重要的數(shù)據(jù)都采用雙精度數(shù)存儲,其計算誤差相對而言接近于零,可以忽略。
本文就影響空間映射精度的主要因素進行分析,并基于仿射坐標系通過仿真得出這些因素對空間映射精度的影響程度。
標記點定位誤差即基準點定位誤差是在對基準點進行定位時,基準點的測量位置與真實位置的距離。它的大小對映射的最終誤差——靶點映射誤差有何影響,下面通過仿真得出。
首先,建立兩個坐標系A(chǔ)、B,已知它們之間的轉(zhuǎn)換關(guān)系。在A坐標系中任意選擇4個不共面的點作為標記點, 將其坐標寫為齊次坐標形式
則4個標記點的齊次坐標矩陣為
以Ma1為原點,Ma1與另外三點的連線為基向量建立仿射坐標系(Affine),則該仿射坐標系與坐標系A(chǔ)間的轉(zhuǎn)換矩陣為
根據(jù)兩坐標系間的轉(zhuǎn)換關(guān)系得出坐標系A(chǔ)中4點在坐標系B中的齊次坐標1),得到齊次坐標矩陣
同樣以M1b為原點,M1b與另外3點的連線為基向量建立仿射坐標系(Affine'),由于各標記點之間的相對位置不變,所以通過Mib建立的仿射坐標系A(chǔ)ffine'和通過Mia建立的仿射坐標系A(chǔ)ffine是一樣的,則仿射坐標系A(chǔ)ffine與坐標系B間的轉(zhuǎn)換矩陣為
所以,兩坐標系間的轉(zhuǎn)換矩陣為
在坐標系A(chǔ)中任選一點P作為靶點,則其在坐標系B中的坐標既可以通過已知的A、B坐標系間的轉(zhuǎn)換關(guān)系獲得也可通過BTA計算。
分別給齊次坐標矩陣Ma、Mb加上一個擾動矩陣DELTA
利用受擾動后的Ma、Mb計算ATAffine、BTAffine,得到BTA。通過BTA計算靶點P在B坐標系中的坐標Pb',然后通過已知的A、B坐標系間的轉(zhuǎn)換關(guān)系計算出P點在B坐標系中的真實坐標Pb,則Pb'和Pb的距離即為靶點映射誤差。由于靶點映射誤差是空間映射的最終誤差,所以在仿真中通過它來衡量空間映射的精度。
令DELTA中的各元素分別在-1~1、-0.5~0.5、-0.3~0.3、-0.25~0.25 4個區(qū)間內(nèi)隨機變化,將其與Ma相加,即假設只在一個坐標系存在基準點定位誤差,求靶點映射誤差,圖3為DELTA各元素在上述4個區(qū)間內(nèi)隨機變化100次的靶點映射誤差。
由圖2可見,靶點定位誤差隨著基準點定位誤差的變大而變大,即基準點定位誤差與靶點定位誤差成正比關(guān)系。因此為了實現(xiàn)高精度的空間映射,必須盡量減小基準點定位誤差。由此可見,降低基準點定位誤差對提高整個空間映射的精度有很重要的意義。在實際應用中,基準點定位誤差是由標記點的提取方法、醫(yī)學圖像層間距、攝像頭定位誤差等諸多因素造成,只能將這些因素努力減少到最小,而無法消除。其中,可以通過提高標記點的提取精度來降低基準點的定位誤差,關(guān)于如何提高標記點在各空間的提取精度見有關(guān)文章。
若同時給Mb也加上在上述4個區(qū)間內(nèi)變化的擾動矩陣DELTA,DELTA在這4個區(qū)間各隨機變化100次,靶點映射誤差平均值見表1。
表1 靶點映射誤差平均值 (mm)
由表1可見,兩個坐標系均存在基準點定位誤差時,靶點映射誤差基本上與兩坐標系的基準點定位誤差的差距成正比。以表1中第1列為例,Ma的擾動矩陣在-1~1mm之間變化,當Mb的擾動矩陣也在-1~1mm之間變化時,作用于兩坐標系的擾動矩陣變化范圍相同,兩個坐標系的基準點定位誤差之間的差距最小,靶點映射誤差平均值也最?。划擬b的擾動矩陣在-0.5~0.5mm之間變化時,兩個坐標系的基準點定位誤差之間的差距變大,靶點映射誤差也變大;Mb的擾動矩陣在-0.33~0.33mm及-0.25~0.25mm變化時,兩個坐標系的基準點定位誤差之間的差距更大,靶點映射誤差也逐漸變大。
在利用微創(chuàng)機器人進行外科手術(shù)時,標記點分布不同,整個系統(tǒng)最終的手術(shù)精度也不同,其原因就在于不同的標記點分布在基準點定位誤差存在的情況下導致空間映射的精度不同。所以合理的分布標記點對實現(xiàn)高精度的機器人輔助微創(chuàng)外科手術(shù)有很大的意義。下面通過仿真得出不同的標記點分布對空間映射精度的影響。
3.2.1 共面分布
由于建立仿射坐標系的4點不能在同一平面上,但是在臨床上不一定總能滿足這一要求,如果標記點在同一平面或接近共面時,基準點定位誤差會對映射的最終誤差——靶點映射誤差造成什么影響,下面通過仿真得出。
同樣,按上述建立A、B兩個坐標系,選擇4個標記點(如圖3所示)Mai(i=1,2,3,4)建立空間映射,各標記點坐標見表2。由圖表可看出4個標記點接近共面。給標記點的齊次坐標矩陣加上一個擾動矩陣,測定靶點映射誤差,圖4為擾動矩陣加在Ma上,在[0,1]區(qū)間隨機變化100次的靶點映射誤差。
圖3 標記點分布圖
表2 標記點坐標
由圖4可見,標記點的分布接近共面時的靶點映射誤差遠遠大于標記點不共面時的誤差,并且在某些時候出現(xiàn)畸變,分析原因是由于當標記點接近共面時,在基準點定位誤差存在的情況下會導致標記點建立的仿射坐標系與各坐標系間的轉(zhuǎn)換矩陣ATAffine、BTAffine在求逆矩陣時發(fā)生畸變,證明如下:
由于4個標記點在A坐標系中的齊次坐標為Mai= (Xai,Yai,Zai,1)T,則有
若ATAffine的逆矩陣存在,則ATAffine的行列式不能為零,即
若Ma1,Ma2,Ma3,Ma4四點共面,以的叉乘為法向量的該平面的點法式平面方程為
將x=Xa4,y=Ya4,z=Za4代入得因此4點共面時ATAffine的逆矩陣不存在,A、B坐標系間的轉(zhuǎn)換矩陣bTa自然也不存在,坐標系A(chǔ)中的靶點Pa在向坐標系B映射時發(fā)生錯誤,產(chǎn)生極大的靶點映射誤差,發(fā)生畸變。在標記點接近共面時,標記點的定位誤差可能導致標記點更加接近共面,從而使映射矩陣發(fā)生畸變,產(chǎn)生很大的靶點映射誤差。
由仿真結(jié)果和論證過程可以得出,在應用中應避免標記點共面或接近共面,若無法避免則應改變映射矩陣求解算法,關(guān)于映射矩陣求解算法的優(yōu)化見有關(guān)文章。
3.2.2 相對靶點位置
本文主要分析標記點分布范圍與靶點位置關(guān)系對空間映射精度的影響。
在坐標系A(chǔ)中選擇一組標記點Mai(i=1, 2, 3,4),分別選擇Pa1、Pa2點作為靶點將其映射到坐標系B,靶點及標記點分布如圖5所示,各點坐標見表3。由圖5可見4個標記點形成了一個三棱錐區(qū)域,靶點Pa1在這個區(qū)域內(nèi),靶點Pa2在這個區(qū)域外。給標記點坐標加上[0,1]區(qū)間內(nèi)變化的擾動矩陣,擾動矩陣隨機變化100次,得到靶點映射誤差如圖6所示。其中圖中實線為選擇Pa1作為靶點時的靶點映射誤差,虛線為選擇Pa2作為靶點時的靶點映射誤差。表4為測試100次的靶點映射誤差的統(tǒng)計值。
圖5 標記點及靶點分布圖
表3 標記點及靶點坐標
圖6 靶點在標記點包圍區(qū)域內(nèi)外時的靶點映射誤差
表4 靶點映射誤差統(tǒng)計值
從圖表中均可以看出當標記點定位誤差在0~1毫米內(nèi)變化時,靶點位于標記點包圍區(qū)域內(nèi)時的靶點映射誤差遠小于靶點位于標記點包圍區(qū)域外時。由于仿射坐標系各坐標軸方向為原點與其余各標記點相連所形成的向量的方向,故當各向量間夾角較小時,仿射坐標系所包含的空間范圍就會很小。當靶點位于這個空間以外時,就會產(chǎn)生很大的靶點誤差。因此,基于仿射坐標系建立空間映射時,讓標記點分布能夠包圍很大的區(qū)域,以便將靶點包圍在內(nèi)是很重要的,在規(guī)劃標記點分布時要十分注意這一點。
本文分析了微創(chuàng)外科機器人導航系統(tǒng)空間映射誤差的主要來源,定義了空間映射中的4種誤差類型:基準點定位誤差、基準點映射誤差、靶點定位誤差、靶點映射誤差,并對每種誤差都做了詳細的介紹,同時也簡要介紹了其他誤差源。通過仿真分析標記點定位誤差即基準點定位誤差對基于仿射坐標系的空間映射精度的影響,得出基準點定位誤差與靶點映射誤差成正比以及基準點在兩個空間的定位誤差變化范圍的差距較小時靶點映射誤差較小的結(jié)論。同樣,通過仿真分析標記點的分布方式對基于仿射坐標系的空間映射精度的影響,得出對空間映射精度影響較大的兩種標記點分布方式:共面分布和不能將靶點包圍在其分布范圍內(nèi)的標記點分布。共面分布會導致利用仿射坐標系求解映射矩陣時發(fā)生畸變,導致映射誤差發(fā)生突變;靶點在標記點包圍區(qū)域外時,與靶點在標記點包圍區(qū)域內(nèi)時的空間映射相比也會產(chǎn)生很大的靶點映射誤差。所以,在臨床應用中安排標記點分布時應盡量避免這兩種分布方式。本文的研究結(jié)果也為空間映射優(yōu)化工作指明了方向。
[1]張文強, 戴尅戎, 王成燾. 外科手術(shù)導航系統(tǒng)的研究現(xiàn)狀及進展[J]. 醫(yī)用生物力學, 2004, 19(1):51-55.
[2]Chen Hanqing, Cao Tong, Liu Da, et al. An efficient method to realize space registration in image-guided robot-assisted surgery [C]//ICIRA 2008, Part Ⅰ,LNAI 5314, Wuhan, China, 2008: 744-752.
[3]Rembold U, Burghart C R. Surgical robotics: an introduction [J]. Journal of Intelligent and Robotic Systems: Theory and Applications, 2001, 30: 1-28.
[4]Rafael C, Gonzalez R E W. 數(shù)字圖像處理[M]. 北京:電子工業(yè)出版社, 2004: 572-583.
[5]劉 達. 微創(chuàng)外科機器人若干關(guān)鍵技術(shù)研究[D]. 北京: 北京航空航天大學機器人研究所, 2003.
[6]唐澤圣. 三維數(shù)據(jù)場可視化[M]. 北京: 清華大學出版社, 1999: 89-97.