曹 彤, 許 倩, 和 麗, 陳汗青
(北京科技大學機械工程學院,北京 100083)
微創外科是醫學領域近20年來高速發展的新興學科。機器人輔助微創外科手術涉及醫學圖像處理與分析、虛擬現實、機器人、機器視覺、運動分析、傳感器、遙操作以及外科學等多個學科,能夠從視覺、觸覺和聽覺上為醫生進行手術操作提供便利,擴展醫生的操作技能,有效提高手術診斷與評估、靶點定位、精密操作和手術訓練的質量,縮短患者康復周期。
機器人輔助微創外科手術的流程主要有以下5個步驟:
1)手術前,病人通過醫學成像設備掃描,得到一系列關于病人體內組織的醫學斷層圖像;
2)醫學斷層圖像輸入到導航系統,完成勾勒病灶輪廓、設定穿刺靶點和穿刺路徑等手術規劃。導航系統對醫學斷層圖像和手術規劃信息進行三維重構,建立三維醫學圖像坐標系;
3)定位裝置對病人身體上的標記點進行定位,完成醫學圖像空間到機器人空間的映射;
4)醫生在醫學圖像中所做的手術規劃映射到機器人空間,該信息被用來控制機器人運動,使其按照手術規劃的進針路徑指向預先設定的病人體內的病灶點;
5)醫生在機器人的導引下,對病人體內病灶進行一系列的手術操作。
其中第2)步到第4)步由導航系統完成。
導航系統是微創外科機器人系統的重要組成部分,主要分為手術規劃和輔助手術操作兩部分。導航系統作為微創外科機器人系統中不可或缺的組成部分,對于提高手術定位精度、減少手術損傷、優化手術路徑及提高手術成功率等具有十分重要的意義[1]。
在微創外科機器人系統中,手術規劃在計算機圖像空間中進行,而機器人輔助手術則在機器人空間中操作。通過空間映射,使圖像空間中的每一個點在機器人空間中都有唯一的點與之相對應,并且這兩個點對應同一生理位置。只有建立了映射關系,在計算機圖像空間中確定的手術方案才能在機器人操作空間中得到準確執行;在手術過程中,手術導航系統才能實時跟蹤機器人末端的手術工具并將其顯示在計算機屏幕上[2]。由此可見,空間映射是整個系統成功的關鍵,空間映射的整個過程共包含4個步驟:
1)分別在圖像空間和物理空間定位標記點;
2)進行標記點映射變換,計算出圖像空間和物理空間的映射矩陣T;
3)在圖像空間內對病灶靶點定位;
4)在物理空間定位機器人,完成空間映射,計算出圖像空間的靶點在機器人空間的位置。
在微創外科機器人導航系統的空間映射過程中,由于標記點的定位、標記點映射變換、病灶靶點定位都存在誤差因素,經過空間映射計算得到的手術靶點位置與理想的手術靶點位置存在一定的偏差。各種誤差因素的大小將直接影響系統的應用,為此定義4種空間映射誤差類型(如圖1所示)。

圖1 空間映射誤差的誤差類型
圖中1所示的基準點即為標記點,因為標記點是建立空間映射的橋梁和基準。
在圖像空間或攝像頭空間進行基準點定位時,每個基準點的真實位置與測量位置Fi之間的向量(如圖1(a)所示),表示為i

F表示第i個基準點,δMF代表基準點圖像空間定位誤差FLEM,δCF代表基準點攝像頭空間定位誤差FLEC,定位誤差FLE數量值為

此項誤差出現在空間映射過程的第1步。
在圖像空間進行病灶靶點定位時,病灶靶點的真實位置MP'與測量位置MP之間的向量(如圖1(b)所示),表示為

病灶靶點在圖像空間中的定位誤差數量值為

此項誤差出現在空間映射過程的第3步。
在圖像空間測量得到的基準點MFi測量位置通過轉換矩陣R映射到攝像頭空間,與在攝像頭空間得到的對應的基準點CFi位置之間的向量(如圖1(c)所示),第i個基準點的映射誤差表示為

基準點的映射誤差總體表示為

N為基準點總個數。
此項誤差出現在空間映射過程的第2步。
設映射變換得到的手術靶點在機器人空間的坐標位置AP,真實的手術靶點坐標位置AP',AP與AP'兩點之間的向量(如圖1(d)所示),表示為

靶點映射誤差數量值為

此項誤差出現在空間映射過程的第4步,是整個映射過程中的最終誤差,映射精度的好壞可以用此誤差衡量。
以上所有向量的范數為歐氏范數。
在空間映射過程中,還有一些次要的誤差因素,簡單分析如下:
1)皮膚活動導致標記點的移動所引起的誤差。由于采用的是體外標記點定位,標記點貼在病人的皮膚表面,皮膚的活動會引起標記點移動,造成定位誤差。為了減少這種誤差將標記點固定在病人骨骼上,基本可以消除這種誤差。
2)病人體位固定不牢引起的誤差。手術過程中要求病人體位相對于機器人是靜止的,只要病人輕微運動就會引起誤差。實際手術過程中,機器人與手術床連成一體,病人體位牢牢地固定在手術床上,而手術的實際操作時間一般不長(30分鐘左右),所以病人體位的固定還是比較可靠的,引起的誤差相對較小。
3)計算機運算誤差。在計算機中數據是利用有限位數存儲的,其計算存在誤差。因此對重要的數據都采用雙精度數存儲,其計算誤差相對而言接近于零,可以忽略。
本文就影響空間映射精度的主要因素進行分析,并基于仿射坐標系通過仿真得出這些因素對空間映射精度的影響程度。
標記點定位誤差即基準點定位誤差是在對基準點進行定位時,基準點的測量位置與真實位置的距離。它的大小對映射的最終誤差——靶點映射誤差有何影響,下面通過仿真得出。
首先,建立兩個坐標系A、B,已知它們之間的轉換關系。在A坐標系中任意選擇4個不共面的點作為標記點, 將其坐標寫為齊次坐標形式

則4個標記點的齊次坐標矩陣為

以Ma1為原點,Ma1與另外三點的連線為基向量建立仿射坐標系(Affine),則該仿射坐標系與坐標系A間的轉換矩陣為

根據兩坐標系間的轉換關系得出坐標系A中4點在坐標系B中的齊次坐標1),得到齊次坐標矩陣

同樣以M1b為原點,M1b與另外3點的連線為基向量建立仿射坐標系(Affine'),由于各標記點之間的相對位置不變,所以通過Mib建立的仿射坐標系Affine'和通過Mia建立的仿射坐標系Affine是一樣的,則仿射坐標系Affine與坐標系B間的轉換矩陣為

所以,兩坐標系間的轉換矩陣為

在坐標系A中任選一點P作為靶點,則其在坐標系B中的坐標既可以通過已知的A、B坐標系間的轉換關系獲得也可通過BTA計算。
分別給齊次坐標矩陣Ma、Mb加上一個擾動矩陣DELTA

利用受擾動后的Ma、Mb計算ATAffine、BTAffine,得到BTA。通過BTA計算靶點P在B坐標系中的坐標Pb',然后通過已知的A、B坐標系間的轉換關系計算出P點在B坐標系中的真實坐標Pb,則Pb'和Pb的距離即為靶點映射誤差。由于靶點映射誤差是空間映射的最終誤差,所以在仿真中通過它來衡量空間映射的精度。
令DELTA中的各元素分別在-1~1、-0.5~0.5、-0.3~0.3、-0.25~0.25 4個區間內隨機變化,將其與Ma相加,即假設只在一個坐標系存在基準點定位誤差,求靶點映射誤差,圖3為DELTA各元素在上述4個區間內隨機變化100次的靶點映射誤差。
由圖2可見,靶點定位誤差隨著基準點定位誤差的變大而變大,即基準點定位誤差與靶點定位誤差成正比關系。因此為了實現高精度的空間映射,必須盡量減小基準點定位誤差。由此可見,降低基準點定位誤差對提高整個空間映射的精度有很重要的意義。在實際應用中,基準點定位誤差是由標記點的提取方法、醫學圖像層間距、攝像頭定位誤差等諸多因素造成,只能將這些因素努力減少到最小,而無法消除。其中,可以通過提高標記點的提取精度來降低基準點的定位誤差,關于如何提高標記點在各空間的提取精度見有關文章。
若同時給Mb也加上在上述4個區間內變化的擾動矩陣DELTA,DELTA在這4個區間各隨機變化100次,靶點映射誤差平均值見表1。

表1 靶點映射誤差平均值 (mm)
由表1可見,兩個坐標系均存在基準點定位誤差時,靶點映射誤差基本上與兩坐標系的基準點定位誤差的差距成正比。以表1中第1列為例,Ma的擾動矩陣在-1~1mm之間變化,當Mb的擾動矩陣也在-1~1mm之間變化時,作用于兩坐標系的擾動矩陣變化范圍相同,兩個坐標系的基準點定位誤差之間的差距最小,靶點映射誤差平均值也最小;當Mb的擾動矩陣在-0.5~0.5mm之間變化時,兩個坐標系的基準點定位誤差之間的差距變大,靶點映射誤差也變大;Mb的擾動矩陣在-0.33~0.33mm及-0.25~0.25mm變化時,兩個坐標系的基準點定位誤差之間的差距更大,靶點映射誤差也逐漸變大。
在利用微創機器人進行外科手術時,標記點分布不同,整個系統最終的手術精度也不同,其原因就在于不同的標記點分布在基準點定位誤差存在的情況下導致空間映射的精度不同。所以合理的分布標記點對實現高精度的機器人輔助微創外科手術有很大的意義。下面通過仿真得出不同的標記點分布對空間映射精度的影響。
3.2.1 共面分布
由于建立仿射坐標系的4點不能在同一平面上,但是在臨床上不一定總能滿足這一要求,如果標記點在同一平面或接近共面時,基準點定位誤差會對映射的最終誤差——靶點映射誤差造成什么影響,下面通過仿真得出。
同樣,按上述建立A、B兩個坐標系,選擇4個標記點(如圖3所示)Mai(i=1,2,3,4)建立空間映射,各標記點坐標見表2。由圖表可看出4個標記點接近共面。給標記點的齊次坐標矩陣加上一個擾動矩陣,測定靶點映射誤差,圖4為擾動矩陣加在Ma上,在[0,1]區間隨機變化100次的靶點映射誤差。

圖3 標記點分布圖

表2 標記點坐標

由圖4可見,標記點的分布接近共面時的靶點映射誤差遠遠大于標記點不共面時的誤差,并且在某些時候出現畸變,分析原因是由于當標記點接近共面時,在基準點定位誤差存在的情況下會導致標記點建立的仿射坐標系與各坐標系間的轉換矩陣ATAffine、BTAffine在求逆矩陣時發生畸變,證明如下:
由于4個標記點在A坐標系中的齊次坐標為Mai= (Xai,Yai,Zai,1)T,則有

若ATAffine的逆矩陣存在,則ATAffine的行列式不能為零,即


若Ma1,Ma2,Ma3,Ma4四點共面,以的叉乘為法向量的該平面的點法式平面方程為

將x=Xa4,y=Ya4,z=Za4代入得因此4點共面時ATAffine的逆矩陣不存在,A、B坐標系間的轉換矩陣bTa自然也不存在,坐標系A中的靶點Pa在向坐標系B映射時發生錯誤,產生極大的靶點映射誤差,發生畸變。在標記點接近共面時,標記點的定位誤差可能導致標記點更加接近共面,從而使映射矩陣發生畸變,產生很大的靶點映射誤差。
由仿真結果和論證過程可以得出,在應用中應避免標記點共面或接近共面,若無法避免則應改變映射矩陣求解算法,關于映射矩陣求解算法的優化見有關文章。
3.2.2 相對靶點位置
本文主要分析標記點分布范圍與靶點位置關系對空間映射精度的影響。
在坐標系A中選擇一組標記點Mai(i=1, 2, 3,4),分別選擇Pa1、Pa2點作為靶點將其映射到坐標系B,靶點及標記點分布如圖5所示,各點坐標見表3。由圖5可見4個標記點形成了一個三棱錐區域,靶點Pa1在這個區域內,靶點Pa2在這個區域外。給標記點坐標加上[0,1]區間內變化的擾動矩陣,擾動矩陣隨機變化100次,得到靶點映射誤差如圖6所示。其中圖中實線為選擇Pa1作為靶點時的靶點映射誤差,虛線為選擇Pa2作為靶點時的靶點映射誤差。表4為測試100次的靶點映射誤差的統計值。

圖5 標記點及靶點分布圖

表3 標記點及靶點坐標

圖6 靶點在標記點包圍區域內外時的靶點映射誤差

表4 靶點映射誤差統計值
從圖表中均可以看出當標記點定位誤差在0~1毫米內變化時,靶點位于標記點包圍區域內時的靶點映射誤差遠小于靶點位于標記點包圍區域外時。由于仿射坐標系各坐標軸方向為原點與其余各標記點相連所形成的向量的方向,故當各向量間夾角較小時,仿射坐標系所包含的空間范圍就會很小。當靶點位于這個空間以外時,就會產生很大的靶點誤差。因此,基于仿射坐標系建立空間映射時,讓標記點分布能夠包圍很大的區域,以便將靶點包圍在內是很重要的,在規劃標記點分布時要十分注意這一點。
本文分析了微創外科機器人導航系統空間映射誤差的主要來源,定義了空間映射中的4種誤差類型:基準點定位誤差、基準點映射誤差、靶點定位誤差、靶點映射誤差,并對每種誤差都做了詳細的介紹,同時也簡要介紹了其他誤差源。通過仿真分析標記點定位誤差即基準點定位誤差對基于仿射坐標系的空間映射精度的影響,得出基準點定位誤差與靶點映射誤差成正比以及基準點在兩個空間的定位誤差變化范圍的差距較小時靶點映射誤差較小的結論。同樣,通過仿真分析標記點的分布方式對基于仿射坐標系的空間映射精度的影響,得出對空間映射精度影響較大的兩種標記點分布方式:共面分布和不能將靶點包圍在其分布范圍內的標記點分布。共面分布會導致利用仿射坐標系求解映射矩陣時發生畸變,導致映射誤差發生突變;靶點在標記點包圍區域外時,與靶點在標記點包圍區域內時的空間映射相比也會產生很大的靶點映射誤差。所以,在臨床應用中安排標記點分布時應盡量避免這兩種分布方式。本文的研究結果也為空間映射優化工作指明了方向。
[1]張文強, 戴尅戎, 王成燾. 外科手術導航系統的研究現狀及進展[J]. 醫用生物力學, 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. 數字圖像處理[M]. 北京:電子工業出版社, 2004: 572-583.
[5]劉 達. 微創外科機器人若干關鍵技術研究[D]. 北京: 北京航空航天大學機器人研究所, 2003.
[6]唐澤圣. 三維數據場可視化[M]. 北京: 清華大學出版社, 1999: 89-97.