天天看點

混合現實在醫學領域的應用學習日志理論知識應用

混合現實在醫學領域的應用學習日志

  • 理論知識
    • 混合現實
    • 追蹤系統
    • 硬體
    • 場景
    • 可擴充性
  • 應用
    • 教育
    • 教育訓練
    • 手術
      • 遠端手術
        • da Vinci Research Kit (dVRK)

理論知識

混合現實

保羅-米爾格拉姆創造了混合現實(MR)的概念來涵蓋reality-virtuality (RV)中所有可能的應用,可以了解為一個用來估計裝置在應用環境中的位置的跟蹤系統以及顯示系統,AR可以使用這個位置在現實環境中明确現實虛拟内容,VR則可以形成一個虛拟世界。

追蹤系統

光學追蹤、磁力追蹤和使用平面标記(圖案或條形碼)都已被用于MR的醫療應用。一些光學标記是用碘和钆元素專門制作的,是以它們在X射線/CT圖像和MR圖像中都能高強度顯示。然而,光學追蹤系統也需要在光學标記和錄影機之間有自由的視線,是以不适用于錄影機在病人體内時,如這種技術不可能用于MIS。由于受到診斷裝置或其他鐵磁性物體的幹擾,醫療應用中的磁跟蹤也缺乏穩健性。到目前為止,平面标記是AR中最流行的跟蹤方法,并已成功地用于醫療應用。然而,必須注意的是,平面标記也很容易被遮擋,而且檢測範圍和方向都很有限。

無标記追蹤是一種替代方法,它利用真實世界的場景,采用計算機視覺算法來提取圖像特征作為标記。無标記追蹤的品質取決于照明條件、視角、圖像失真以及所使用的計算機視覺算法的穩健性。如果圖像是在一組時間步長中擷取的,也可以用光流來計算錄影機的運動和跟蹤特征點。光流被定義為圖像亮度模式的表觀速度分布,可用于跟蹤基于亮度/光線變化的每個像素的運動。最近在醫學磁共振領域的一些工作就是将計算特征跟蹤與輕量級的光流跟蹤相結合來克服性能問題的。

追蹤技術使用不同的傳感方式,如相機、慣性傳感器、機械系統等。通常情況下,選擇跟蹤系統是為了在定位精度和成本/複雜度之間找到最佳的平衡點。對于AR來說,視覺跟蹤系統被廣泛使用,因為使用低成本的商業相機(如手機中的相機)就可以實作高度精确的跟蹤。視覺跟蹤系統又被進一步細分為由外向内和由内向外的跟蹤系統。

由外向内跟蹤系統由幾個靜态放置在環境中的錄影機組成,利用視覺特征的多視角定位(例如,OptiTrack系統使用反射标記)對該區域進行高精度跟蹤覆寫。這種系統可以為規模有限的特定應用環境提供可靠的跟蹤,但成本增加,流動性低。另一方面,由于錄影機的靜态放置,系統不會受到圖像品質下降的影響,并且可以跟蹤快速移動的目标。

由内向外追蹤使用附着在使用者身上的相機輸入,例如,放置在智能手機、平闆電腦/PC或頭戴式顯示器上的相機。大多數AR應用都是基于這樣的跟蹤系統,因為它們成本低、靈活性強。由于這些追蹤器依賴于視覺特征,由于運動模糊、光線變化或遮擋等原因導緻的圖像品質下降會導緻追蹤的損失。通常将相機定位與其他具有互補特性的傳感器(如慣性傳感器)融合使用。

基于相機的跟蹤需要了解一些環境的三維資訊,以建立與二維圖像特征的對應關系,并通過計算6自由度(6DOF)來進行裝置的定位來替代傳統上通過放置具有可識别圖案的用于檢測的特殊視覺标記來獲得資訊的方法。利用三維重建物體或各自的CAD1模型,并通過紋理特征或線條比對,将它們作為與真實物體比對的模闆。在大多數情況下,事先沒有關于環境的三維資訊。同步定位和繪圖(SLAM)系統可用于跟蹤裝置在未知區域内的位置,同時建立該區域的3D地圖。SLAM是一個具有挑戰性的領域,也是機器人技術和AR的一個關鍵話題。雖然到目前為止已經推出了幾個單眼SLAM系統,但一個缺點是無法确定重建地圖的真實比例,也無法在動态或無特征的環境中發揮作用。這些問題中的一些可以通過使用雙目攝像系統或額外的慣性或深度傳感器來加以緩解。

硬體

根據硬體,MR顯示技術在可以分成兩個主要的子類型:光學透視(OS)和視訊透視(VS)。對于光學透視來說,透明的螢幕允許使用者直接感覺現實,而視訊透視的現實是由攝像頭捕捉的,由此産生的視訊流被增強顯示。作業系統顯示器的例子有HoloLens、MagicLeap、DAQRI智能眼鏡等。VS顯示器的例子有HTC VIVE Pro、Oculus Rift S/Quest、VRgineers XTAL等。

AR可視化有幾種選擇,最終的選擇取決于手頭的應用。

手持裝置,如平闆電腦或智能手機,兼具可用性和低成本,虛拟增強物并不直接顯示在現實世界中。相反,它們被放置在由裝置攝像頭捕獲的實時視訊上,導緻固有的延遲和沉浸感的喪失。此外,它要求使用者将裝置指向感興趣的區域,這使裝置無法同時執行複雜的任務。在醫療領域,這種裝置在交流資訊時最有用,例如用于病人教育,也用于醫療專家之間的讨論。

頭戴式顯示器(HMD)為移動顯示裝置提供了一種替代方案,特别是光學透視(OS)版本,它可以直接在使用者的真實世界視圖上投射增強物。HMD提供一個嵌入式跟蹤系統,比如谷歌眼鏡,但是這類裝置提供的計算資源相對較少,對跟蹤算法的要求也高。微軟HoloLens、Oculus Rift S和Oculus Quest以及其他許多支援Windows混合現實或Steam VR架構的系統的推出,徹底改變了這一領域。所有這些系統都使用視覺和慣性傳感器來提供一個嵌入式SLAM跟蹤系統,為許多AR應用的開發鋪平了道路。

另一種解決方案是利用投影儀、半透鏡或螢幕将資訊直接增強到實體空間,不需要佩戴任何額外的顯示裝置。這被稱為空間增強現實(SAR)。通過在一個開放的空間中增強資訊,SAR實作了共享和協作。空間AR的限制是不能顯示3D資料。視訊透視SAR已被用于MIS指導,增強内窺鏡的視訊輸出。不太常見的是光學透視SAR,但已經建立了使用半透明鏡子進行手術引導的例子,還有一個用于解剖學教育的魔鏡系統。另一種SAR方法是在手術顯微鏡中插入一個分光器,使使用者能夠通過微型投影儀的增強圖像看到顯微鏡的視圖。還有一種方法是直接增強SAR将采用投影儀或雷射發射器将圖像直接投射到實體物體的表面,例如,人體空間增強現實(SARP)系統将解剖結構直接投射到人類主體上。

即使目前的移動裝置擁有先進的GPU和硬體,有限的計算能力、記憶體和能源消耗将繼續成為實時移動裝置3D圖像的瓶頸。例如,下一代移動GPU的理論性能估計為400-500 GFLOPS,但其中50%将因功率和熱量的限制而降低。現在,未來移動應用的一個主要要求将是極高分辨率的顯示(即4K+)。對于醫學MR應用所需的逼真渲染、實體和觸覺反應,性能目标至少是30幀(5000-6000 GFLOPS),這意味着要比目前的技術水準提高20倍。是以,醫學MR的未來可能依賴于大規模的雲操作和并行化。

場景

目前的MR系統已經被證明在靜态場景中表現良好。手術室就是這樣一個受控環境的例子。然而,大量的應用需要在SLAM系統的高動态場景中實作強大的跟蹤功能。同樣地,當涉及到剛性物體時,物體跟蹤技術已經接近成熟,但還不能處理鉸接和非剛性物體。人體作為一個整體可以被看作是一個有關節的物體,而器官一般來說是高度非剛性的。由于身體和單個器官都隻有幾個特征,它們對任何系統來說都是一個巨大的挑戰。

場景了解是系統的一個關鍵挑戰。大多數現有的SLAM系統建立了一個稀疏的環境地圖,這樣的幾何模型表示對定位是有用的。然而,對于MR來說,密集的場景映射是首選,因為它可以實作虛拟和真實物體的充分互動。當對場景的語義了解在純幾何了解的基礎上實作時,進一步的能力将被釋放出來。将SLAM系統地圖與提供分割和标記的深度神經網絡的輸出相融合是計算機視覺中一個活躍的研究課題。

可擴充性

除了跟蹤技術外,可擴充性是AR的另一個主要問題。系統需要在任何環境下運作,而不是許多準備步驟(如校準)或者手動設定。

應用

教育

教育主要是分享知識,通過使用文本、圖像、視訊等其他媒介進行。由于在醫學上主要處理的是三維物體,即人體及其器官。與具有固定或預定視點的圖像和視訊相比,VR允許對三維場景進行自由檢查。用輔助資訊對虛拟場景進行操縱和增強是相對直接的。此外,呈現的資料的某些方面可以被強調,以便使用者可以直覺地感覺關鍵内容。但同樣,VR也可能阻礙虛拟内容與現實世界的聯系,特别是在教育病人的時候。而MR可以極大地改善這種情況,通過使用Magical Mirror裝置鏡像顯示虛拟資訊,可以大大增強學習體驗。使用頭戴式裝置對空間資訊的直覺感覺與使用VR時的感覺相似,且參與者的不良反應,如惡心、頭痛、頭暈或迷失方向感更少。Parkhomenko的研究通過沉浸式VR頭盔,基于患者特定解剖的模型可以在經皮腎鏡取石術前确定患者的腎髒解剖結構和經皮取石的最佳位置,還可以通過患者教育來幫助減輕患者的焦慮。

據估計,50-60%的人對牙科手術和與牙科有關的刺激有特定的恐懼或焦慮。與恐懼有關的行為被認為是牙科病人管理中最困難的方面,并可能幹擾正常的牙科護理,因為患有牙科恐懼症(名為 “odonto-phobia”)的病人在臨床情況嚴重時才去看牙醫。在治療恐懼症中,最有效的治療技術是體内暴露療法(IVET)和虛拟現實暴露療法(VRET)。IVET是一種基于病人直接面對一個物體或一系列焦慮情況的技術,以減少随之而來的焦慮反應。這種暴露療法被認為是黃金标準療法。最近,在治療特定恐懼症方面,VRET已成為IVET的一個可行的替代品。使用計算機生成的VR環境,病人會逐漸暴露在有可能導緻焦慮的環境下。與IVET相比,VRET更安全,因為病人以可控的方式更緩慢地面對他們的威脅的虛拟表現。衆所周知,VRET能引起一種在虛拟環境中 "存在 "的感覺,這也是VRET有效的主要原因。

NeuroVR平台可用于建立不同的環境,如客廳、超市或公園,旨在對患有各種恐懼症的病人進行行為康複,如飛行恐懼症、廣場恐懼症、恐高症和飲食紊亂。它的特點之一是根據開放協定收集生物回報,并根據病人的互動對虛拟環境中的物體進行實時修改。由于擔心病人暴露過量可能會增加恐懼症發作的風險,康複教育不能超過20分鐘,病人還會被要求坐着以避免模拟器病。使用AR進行暴露治療通常會增加小動物恐懼症病人的接受度,因為他們不是在現實中的動物。這在技術上是通過光學标記實作的,病人可以看到并使用他們的手進行互動。

在臨床上,認知行為治療、一氧化二氮和在牙科治療期間使用靜脈鎮靜劑等可以最大限度地減少病人在牙科治療期間的疼痛和不适感。除了這些侵入性方法,用電影分散病人的注意力也有助于減少疼痛。是以,VR可以作為一種有效的非藥物鎮痛劑來治療牙痛。病人沉浸在VR中,以至于不經常思考他們的疼痛。同時,病人也無法看到牙科醫生和器械。VR分散治療的效果可能取決于患者在虛拟環境中的感受。對于VR的應用,最好是在三維空間産生聲音,特别是在雙耳模式下。用簡單的耳機重制身臨其境的音頻,不需要複雜的硬體裝置的幫助,3D聲音會增加人們對虛拟現實的沉浸感。此外,沉浸式音頻中的配樂比立體聲格式的配樂更有可能改變病人心理狀态。

将VR和AR用于口腔家庭護理來改善兒童和成人的口腔衛生,激勵預防口腔疾病也是可行的。特别是兒童,使用遊戲的優勢在于:每當玩家錯誤地執行刷牙技術時,系統就會提供一個視覺反應,使患者能夠糾正刷牙技術。在中風康複領域,MR也可以減少病人和康複機構的康複訓練成本。與遊戲非常相似,病人必須在應用程式的指導下完成任務,并通過遊戲控制器的虛拟手套獲得結果。

解剖學教學是VR的一個核心應用。利用美國國家醫學圖書館提供的計算機斷層掃描、磁共振成像群組織圖像的資料集可以建立一個虛拟的人類。使用SURFdriver軟體對預分割圖像進行分割,以确定各身體器官結構。其間還可以使用手勢與3D模型進行互動,以顯示被掩蓋的器官。将每個解剖結構模組化為一個單獨的3D對象可以幫助醫學專業的學生學習解剖學,也有可以在向病人解釋疾病的過程中幫助醫生。

教育訓練

對于年輕的外科醫生來說,獲得手術經驗是一個挑戰。教育訓練主要限于使用手術模拟訓練器、動物屍體。VR和特别是MR可以提供理想的替代品,特别是使用頭戴式裝置作為内窺鏡螢幕可以顯著提高手術表現。2015年,Hung等人為機器人腎髒部分切除術開發了一個新的模拟平台,将AR和VR結合起來使用,教育訓練住院醫生、研究員和沒有經驗的外科醫生的機器人腎髒部分切除術。**必要的可視化可以按需虛拟地生成,實體仿真可以用來計算由切口引起的變形。**由于大多數機器人平台目前不包括觸覺回報,與真實手術的唯一差別應該是仿真和可視化的品質。虛拟指導子產品也可以很容易地适用于更容易獲得的界面,如手機、平闆電腦和計算機,如商業上可用的Touch SurgeryTM智能手機應用程式,它可以将逐漸認知任務分析風格的指導與手機和平闆電腦的3D插圖相結合。PalpSim系統是一個增強的虛拟系統,受訓者可以看到他們自己的手在觸摸虛拟的病人和拿着虛拟的針頭。

一場手術需要考慮是:

  1. 目标和解剖學考慮。
  2. 常見的危險和錯誤。
  3. 挽救和預防錯誤的提示和技術。

手術中的每個步驟都可以被分解成一個 “故事闆”,用Paint 3D (Microsoft) 和Blender Animation (Blender Foundation) 來制作額外的原始3D動畫,并與相應的專家評論相比對。專家教學可以用電子學習制作軟體Adobe Captivate 9 的Adobe Voices轉換為音頻評論,當學習者觀看模拟傳統的術中指導經驗時,這将通過虛拟現實頭盔揚聲器傳輸。

模拟器需要以下四個要素。

(1) 視覺真實,即視覺模拟必須足夠逼真,能反映真實的醫療情況。

(2) 實體真實,例如,組織在被抓住時需要包含動态真實性,模拟器裝置需要對受訓者施加的力量做出正确的反應。

(3) 生理真實,肌肉應顯示收縮,出血應像在真實情況下一樣發生。

(4) 觸覺現實,受訓者需要真實地體驗阻力和力量,以達到良好的模拟效果。

此外,為了防止被教育訓練者對自己知識掌握的信心與他們的實際知識水準之間存在潛在偏差,可以實施有标準化正确答案的前/後評估。

手術

在進行手術時,MR可以在各個層面提供重要支援。例如,VR可以用于手術計劃。醫生可以看到解剖學的三維模型以及病理注釋等圖像,如CT、MRI、PET。在這種情況下使用VR技術的目的是使用一個專門的系統來展示三維資料,而不是将其投射到二維顯示器上。它的主要優勢是易用性、示範品質和支援規劃過程的互動能力,可以縮短手術時間,減少病人的術前焦慮。AR也可以用來取代傳統的顯示技術。AR方法的主要優點是内窺鏡圖像和輔助資訊可以顯示在一個虛拟顯示器上,這種虛拟顯示器可以任意定位,減少了外科醫生在使用真實顯示器時經常遇到的視覺-運動軸的幹擾。由于虛拟顯示器在現實世界中是固定的,是以需要對外科醫生的頭部運動進行穩定的跟蹤, 如HoloLens。

一旦确定了增強内容,那麼這些内容(通常是計算機生成的圖形)就可以疊加或注冊到真實的文字場景中。注冊技術通常涉及一個優化步驟(能量函數),用來最小化虛拟物體和真實物體之間的差異,例如,使用3D到3D疊代最接近點(ICP)技術,或其他2D到3D算法。後者對術前的三維資料如CT和MRI圖像與術中的二維資料如超音波、投影X射線(透視)、CT-熒光鏡以及光學圖像的注冊也很有效。這些方法通常涉及基于标記(外部基準标記)、基于特征(内部解剖标志)或基于強度的方法,通過優化注冊标準,找到一個幾何變換,使三維圖像的投影與二維圖像在空間上達到最佳對應。

CT DICOM資料可以被輸入全息V3D模組化軟體(Visual3d Medical Technology Development Co.)。對目标器官、組織進行視覺邊緣檢測、自動分割提取和注冊,對于不能自動識别或分割模糊的區域可以選擇手動ROI繪制補償。去除所有不相關或不相幹的部分(如CT床闆、體外異物、留置管陰影等),僅保留器官、血管、收集系統、皮膚、骨骼等,所有的目标器官、組織依次做擴大、腐蝕和平滑,并分别儲存為标準模闆庫(STL)檔案。然後,把所有STL檔案導入到場景編輯模式。在這個模型中,可以調整目标器官、組織的顔色和透明度,以獲得最佳的全息V3D模組化效果。最後将V3D模組化資料導入視訊系統或MR裝置。

MIS視訊中的虛拟解剖結構的注冊可能涉及視野有限(FOV)、器官變形、閉塞和無标記跟蹤等問題。一種可能的方法是使用同步定位和繪圖(SLAM)算法,該算法最初是給未知空間的自主機器人導航開發的。AR與機器人導航非常相似,即都需要獲得周圍環境的地圖并定位錄影機的目前位置和姿勢。然而,在單個手持相機(如内窺鏡相機)上應用SLAM比機器人導航更複雜,因為機器人通常配備有測距工具,并且會比内窺鏡相機更穩定和緩慢地移動。Grasa等人提出了一個單眼SLAM三維模型,他們建立了一個稀疏的腹腔三維地圖來實時計算内窺鏡的運動,處理實時發生的高離群率,同時也減少了計算的複雜性。一個用于圖像引導的MIS的運動補償SLAM(MC-SLAM)架構也被提出,它不僅預測錄影機的運動,而且還采用了一個進階模型來補償周期性的器官運動。這使得即使在錄影機的視場之外也能對組織運動進行估計和補償。在這項工作的基礎上,Mountney和Yang開發了一個用于軟組織手術的AR架構,該架構使用術中錐形束CT和透視作為橋接模式,通過非剛性生物力學驅動的注冊,将術前CT圖像注冊到立體腹腔鏡圖像。通過這種方式,不需要手動對準或靶标,還能考慮到MIS過程中由充氣和呼吸引起的組織變形。Chen等人通過将SLAM算法與密集的立體重建相結合,在MIS中提出了一個幾何感覺的AR環境,為術中的AR互動,如區域高亮和測量,提供了一個全局表面網。

準确的病人特定資料模組化也是需要的。不僅要使用離線高保真圖像采集和三維重建,也需要實時高保真線上模型重建,例如,處理組織變形。線上模式的實時高保真三維模型重建,如内窺鏡錄影機的視訊,将減少離線和實時重建性能捕獲之間的差距。方法之一是開發針對現有低分辨率實時跟蹤器方法,增加局部資訊。開發一個大型的3D病人模型資料庫也是一種方式,可以用人工智能算法學習線上和離線圖像細節之間的關系,使用高分辨率離線模式獲得的資料訓練一個模型,用來預測線上圖像捕捉所給出的三維模型細節,重建内窺鏡相機的三維資訊。

軟體開發工具包(SDK),如ARToolKit和Vuforia正在使越來越多的應用出現。在這些應用中,跟蹤的準确性并不關鍵。但是大多數使用基于标記的跟蹤,依賴于标記的位置和焦點,在照明條件差的情況下無法工作。病人的具體資料和三維解剖模型的顯示也将在非常小的顯示器上受到限制。目前在醫院環境中利用AR SDK開發的的商業系統VeinViewer Vision(Christie Medical Holdings)是一個用于協助血管接入手術的系統。它将近紅外光投射到病人的皮膚上,被血液吸收并被周圍組織反射,實時捕獲資訊并将血管網絡的圖像投射到皮膚上,提供病人血管模式的準确圖。這使得許多針穿刺程式,如獲得靜脈通路更容易成功地進行。

手術機器人可以将MR的發展向前推進一大步。以達芬奇手術系統為例,外科醫生使用一個特殊的操作台,具有固定的立體視角,以及手握式操縱器來操作手術工具,所有的手術工具将被剛性地連接配接到病人車上的機器人手臂上。由于外科醫生的視角和互動手段是固定的,而且錄影機和工具的位置是事先知道的,是以即使是多個外科醫生同時進行,精确和穩定的校準/注冊是可能的,立體資訊的精确可視化也是可能的。在嚴格控制的情況下,手術機器人可以提供最高品質的MR方案。AR-3D引導的手術可用于确定機器人輔助的病變索引。此外,機器人輔助手術方法可以通過AR-3D引導來調節,手術機器人還有可能向外科醫生提供觸覺回報。可以将MR結果和腔鏡視訊流導入新的顯示器(用視訊采集卡,如機器人手術視窗的TiePro顯示功能),在新的顯示器中進行融合或引入HoloLens MR-HMD。可以采用 "血管分叉标記 "技術(即注冊主動脈和動脈的分叉),實作MR圖像與術中真實場景的标記、融合、跟蹤和實時對比。術者可利用MR圖像的旋轉、分割、隐藏、縮放等功能,保證切除手術的準确性和安全性。

在大多數情況下(即隻要工具是剛性的或鉸接的),手術器械的追蹤是可以可靠地計算出來的。如外科醫生或病人的解剖結構對工具的遮擋,可以通過附加标記或改變工具的幾何形狀來解決。最新的方法一般不再依賴附着在物體上的特殊标記,而是使用物體的特征如邊緣、紋理等作為跟蹤資訊。除了手術室裝置,外科醫生和相關的MR硬體(如HMD)也需要被高精度地追蹤。目前的一個缺點是不同使用者的眼屏适應情況不同,這可能會導緻輕微的失衡,進而導緻惡心、眼睛疲勞、資訊顯示偏移等。HoloLens和VIVE硬體允許手動适配鏡頭系統,而像XTAL這樣較新的硬體會結合眼球追蹤自動适配使用者。一旦手術裝置、器械和外科醫生可以被跟蹤和共同注冊,那麼在手術室裡以非常高的精度對任意資訊進行空間定位和顯示就相對簡單了。

在手術環境中,MR的最大挑戰是病人本身,因為僅僅是呼吸就會導緻内部器官的明顯變形。假設有組織模型可以正确地反映器官的變形,那麼最重要的環節就是與器官相關的可靠标記。大腦皮層的形狀可以作為一個基準點,因為它對病人來說是獨一無二的,非常适用于術前和術中資料的标記。然而,在腎髒或肝髒手術的情況下,情況要糟糕得多。在特寫視圖中,這兩個器官看起來非常均勻,幾乎沒有光學上可區分的特征。特别是在微創手術(MIS)中,由于視野受限,幾乎沒有機會找到足夠的特征進行标記。事實上,大多數自動檢測的特征是基于光照僞影,如鏡面反射,這樣的特征不适合用來計算配準。由器官的病理變化引起的特征當然也不應該被用于标記。

如果不能找到解剖學上的靶标,可以使用人工靶标。較大的标記可以提供更好的定位和方向估計,但代價是較高的空間消耗,最适合用于骨骼附近。較小的标記允許對範圍内的解剖結構有更高的覆寫率,更适合于非剛性的情況,同時使用多個小标記可以同時獲得可靠的标記和好的位置和方向的估計。Kong等人做了在豬體内使用熒光金靶标的體外和體内實驗。這些靶标有一個螺旋形狀,插入腎髒可以防止遷移。它們的熒光塗層可以在手術期間在近紅外光譜中被檢測到,并且标記物可以在CT圖像中被可靠地識别,變形下的精确度低于1毫米。

遠端手術

遠端手術需要專門的通信網絡來控制外科醫生執行行動到結果顯現的時間延時。這個延時一直是研究的重點,應該低于105毫秒,才能避免性能和使用者體驗的惡化。Obenshain和Tantillo使用LTN覆寫網絡和達芬奇機器人作為遠端手術裝置,進行了使用公共網際網路并確定高可靠性和低延遲的研究。圖像壓縮技術和網絡能力的進步将有望使這一領域得到更廣泛的應用。在手術過程中,将5G網絡與MRASN(混合現實輔助的手術導航)相比對,實作全息MR立體圖像的高通量計算分析和4K分辨率的雲視訊直播,使不同地方的專家可以與外科醫生實時共享和互動,進而實作數字化手術和遠端醫療平台。

遠端手術系統結合Leap Motion,通過使用紅外LED和深度攝像頭來追蹤使用者的手部軌迹,允許操作員在混合現實場景中遠端操作機器人。遠端作業系統包括:人類操作員、從屬機器人、主裝置、通信和環境。人類操作員通過主裝置控制從屬機器人,主裝置用于收集操作者的操作資訊,然後生成指令并通過通信傳輸,從屬機器人将按照指令完成與環境互動的任務。

Leap Motion由Magic LEAP公司開發,是一個USB裝置,内部有三個紅外LED和兩個深度攝像頭,能夠跟蹤使用者的手指坐标和手掌的位置。此外,Leap Motion還可與頭戴式顯示器(如Oculus Rift)結合使用,以獲得更好的人機互動性能。由微軟釋出的HoloLens是一款HMD。與普通的增強現實裝置不同,HoloLens允許使用者直接觀察現實世界的環境。此外,使用者還可以通過自然的方式與内容和資訊進行互動,如凝視、手勢甚至是語音。不過由于專利保護的原因,HoloLens傳感器提供的原始資料是不可用的。Unity由Unity Technologies開發,是一個跨平台的遊戲引擎,用來生成混合現實場景。使用Leap Motion,我們能夠在Unity中獲得手的虛拟模型。此外,Unity可以通過使用 "全息仿真 "功能與HoloLens建立通信,并将視訊流傳輸到HoloLens。

系統需要使用Leap Motion和機械臂提供的API,基于C++的API開發一個基于UDP的通信程式,用來實時向機器人傳輸指令。實施步驟如下:

1.使用Leap Motion來捕捉使用者的手勢資訊。

2.定義一個手掌是否閉合的觸發器,在檢測到手掌閉合的同時開始跟蹤手掌的位置。

3.用轉換算法将手掌的位置轉換成從屬機器人的笛卡爾坐标。

4.根據轉換算法的結果生成應用于從屬機器人的指令,然後通過UDP套接字傳輸這些指令。

使用者可以通過HoloLens觀察從屬機器人的運動,更重要的是,由Leap Motion生成的手的虛拟模型也被整合到場景中,以獲得更好的互動體驗。

在建立這個系統的過程中,如何将手掌的坐标轉移到機器人的直角坐标上是一個關鍵點,這樣施救機器人的機械手末端才能與人類操作者的手掌同步移動。Leap Motion提供的坐标是以毫米為機關。如手掌的位置被确定為(x,y,z)=[110,-120,130],那麼手掌在現實世界中的位置應該是x=+11厘米,y=-12厘米,z=13厘米。Leap Motion坐标系的原點被定義為裝置的頂部和中心,具體來說,手掌的位置将被确定為[0,0,0],而使用者的手掌在Leap Motion的頂部和中心,使用右手坐标系。轉換方程是:

x n e e d = ( x L M − L M s t a r t ) L M r a n g e n e e d r a n g e + n e e d s t a r t x_{need} =\left ( x_{LM}-LM_{start} \right )\frac{LM_{range} }{need_{range} } +need_{start} xneed​=(xLM​−LMstart​)needrange​LMrange​​+needstart​

L M r a n g e = L M e n d − L M s t a r t LM_{range}=LM_{end} - LM_{start} LMrange​=LMend​−LMstart​

n e e d r a n g e = n e e d e n d − n e e d s t a r t need_{range}=need_{end}-need_{start} needrange​=needend​−needstart​

在Leap Motion控制器的視野範圍内定義一個立方體區域InteractionBox。為了獲得更好的跟蹤性能,Leap Motion會根據視場以及 "使用者的互動高度設定 "來改變InteractionBox的大小。然而,一個點的歸一化坐标和現實世界環境中該點的歸一化坐标之間可能會有偏差,使從屬機器人表現不佳。是以儲存一個InteractionBox對象,并采用它來規範Leap Motion視場中的所有點。

假設在初始點,手掌在Leap Motion的視野中的坐标為PLeap(x0Leap , y0Leap , z0Leap ),同時,它在從屬機器人的坐标為Pr(x0r, y0r, z0r)。在時間 t,坐标分别為PLeap(xtLeap , ytLeap , ztLeap), Pr(xtr, ytr, ztr)。

通過對上述參數的定義,轉換關系可以表示如下:

{ x t r = x 0 r + C 1 ( Δ x t L e a p ) y t r = y 0 r + C 2 ( Δ y t L e a p ) z t r = z 0 r + C 3 ( Δ z t L e a p ) \begin{cases}x _{t}^{r} =x_{0}^{r}+C_{1}\left ( \Delta x_{t}^{Leap} \right ) \\y _{t}^{r} =y_{0}^{r}+C_{2}\left ( \Delta y_{t}^{Leap} \right ) \\z _{t}^{r} =z_{0}^{r}+C_{3}\left ( \Delta z_{t}^{Leap} \right ) \end{cases} ⎩ ⎨ ⎧​xtr​=x0r​+C1​(ΔxtLeap​)ytr​=y0r​+C2​(ΔytLeap​)ztr​=z0r​+C3​(ΔztLeap​)​

其中,C =(C1,C2,C3)是未确定的參數,ΔPLeap =(ΔxtLeap ,ΔytLeap,ΔztLeap)是飛躍運動控制器檢測到的手掌坐标的變化值,考慮到飛躍運動控制器的坐标系與從屬機器人的坐标系不比對,它們可以表示為如下:

{ Δ x t L e a p = z t L e a p − z 0 L e a p Δ y t L e a p = x t L e a p − x 0 L e a p Δ z t L e a p = y t L e a p − y 0 L e a p \begin{cases} \Delta x_{t}^{Leap} =z_{t}^{Leap}-z_{0}^{Leap} \\\Delta y_{t}^{Leap} =x_{t}^{Leap}-x_{0}^{Leap} \\\Delta z_{t}^{Leap} =y_{t}^{Leap}-y_{0}^{Leap} \end{cases} ⎩ ⎨ ⎧​ΔxtLeap​=ztLeap​−z0Leap​ΔytLeap​=xtLeap​−x0Leap​ΔztLeap​=ytLeap​−y0Leap​​

Leap Motion控制器收集的位置資料會出現較大的波動,這通常會對控制産生負面影響。是以添加限制,例如:

{ Δ x t L e a p = 0 , Δ x t L e a p ∈ ( − ∞ , − 6 ) ∪ ( 6 , + ∞ ) Δ x t L e a p = 0 , Δ x t L e a p ∈ ( − 0.6 , 0.6 ) \begin{cases} \Delta x_{t}^{Leap} =0, \Delta x_{t}^{Leap} \in \left ( - \infty, -6 \right ) \cup \left ( 6,+ \infty \right ) \\\Delta x_{t}^{Leap} =0, \Delta x_{t}^{Leap} \in \left ( -0.6, 0.6 \right ) \end{cases} {ΔxtLeap​=0,ΔxtLeap​∈(−∞,−6)∪(6,+∞)ΔxtLeap​=0,ΔxtLeap​∈(−0.6,0.6)​

{ Δ y t L e a p = 0 , Δ y t L e a p ∈ ( − ∞ , − 3 ) ∪ ( 6 , + ∞ ) Δ y t L e a p = − 1 , Δ y t L e a p ∈ ( − ∞ , − 1 ) Δ y t L e a p = 1 , Δ y t L e a p ∈ ( 1 , ∞ ) \begin{cases} \Delta y_{t}^{Leap} =0, \Delta y_{t}^{Leap} \in \left ( - \infty, -3 \right ) \cup \left ( 6,+ \infty \right ) \\\Delta y_{t}^{Leap} =-1, \Delta y_{t}^{Leap} \in \left ( - \infty, -1 \right ) \\\Delta y_{t}^{Leap} =1, \Delta y_{t}^{Leap} \in \left ( 1, \infty \right ) \end{cases} ⎩ ⎨ ⎧​ΔytLeap​=0,ΔytLeap​∈(−∞,−3)∪(6,+∞)ΔytLeap​=−1,ΔytLeap​∈(−∞,−1)ΔytLeap​=1,ΔytLeap​∈(1,∞)​

{ Δ z t L e a p = 0 , Δ z t L e a p ∈ ( − ∞ , − 5.6 ) ∪ ( 5.6 , + ∞ ) Δ z t L e a p = 0 , Δ x t L e a p ∈ ( − 1 , 1 ) \begin{cases} \Delta z_{t}^{Leap} =0, \Delta z_{t}^{Leap} \in \left ( - \infty, -5.6 \right ) \cup \left ( 5.6,+ \infty \right ) \\\Delta z_{t}^{Leap} =0, \Delta x_{t}^{Leap} \in \left ( -1, 1 \right ) \end{cases} {ΔztLeap​=0,ΔztLeap​∈(−∞,−5.6)∪(5.6,+∞)ΔztLeap​=0,ΔxtLeap​∈(−1,1)​

然而,在某些特殊情況下,我們發送的坐标并不在機器人的工作區。為了保護機器人以及它周圍的物體,我們有必要弄清楚從屬機器人的工作空間,并在一個合理的門檻值中限制點。在知道從屬機器人的DH參數的假設下,我們可以用以下公式計算出同質變換矩陣:

i − 1 A i = [ c o s θ i − s i n θ i c o s α i s i n θ i c o s α i α i c o s θ i c o s θ i c o s θ i c o s α i − c o s θ i c o s α i α i s i n θ i 0 s i n α i c o s α i d i 0 0 0 1 ] ^{i-1}A_{i} =\begin{bmatrix} cos\theta _{i} & -sin\theta _{i}cos\alpha _{i} & sin\theta _{i}cos\alpha _{i} & \alpha _{i}cos\theta _{i}\\ cos\theta _{i} & cos\theta _{i}cos\alpha _{i} & -cos\theta _{i}cos\alpha _{i} & \alpha _{i}sin\theta _{i}\\ 0 & sin\alpha _{i} & cos\alpha _{i} & d{i}\\ 0 & 0 & 0 & 1 \end{bmatrix} i−1Ai​=

​cosθi​cosθi​00​−sinθi​cosαi​cosθi​cosαi​sinαi​0​sinθi​cosαi​−cosθi​cosαi​cosαi​0​αi​cosθi​αi​sinθi​di1​

我們可以通過末端執行器的坐标來計算從屬機器人底座的坐标:

n X 0 = 0 A 1 1 A 2 … n − 1 A n ⋅ X n ^{n}X_{0}=^{0}A_{1}^{1}A_{2}\dots ^{n-1}A_{n} \cdot X_{n} nX0​=0A11​A2​…n−1An​⋅Xn​

其中n代表從屬機器人的DOF,而X0 = [x0, y0, z0, 1] ,nX0 = [xn, yn, zn, n]分别代表從屬機器人的底座坐标,末端執行器的坐标。

從屬機器人有一個軟體保護機制,以保護其在指定的工作空間之内移動。當軟體保護機制被觸發時,機器人将立即進入緊急停止狀态,遠端操作的過程将被中斷,是以需要進一步開發一個工作空間限制機制。

在通過上面讨論的轉換算法完成坐标系轉換後,我們可以假設從屬機器人的手掌和末端執行器的坐标是近似比對的。在工作空間限制的幫助下,我們可以確定機器人的軟體保護機制不會在人類操作者不遵守規定時被觸發。通過HoloLens,操作者能夠觀察到從屬機器人和手的虛拟模型,這使得遠端操作的過程更加直覺。此外,在混合現實視覺回報的幫助下,操作者能夠參照虛拟模型移動手部,減少控制從屬機器人的難度。在任務過程中,我們需要定義一個觸發器來确定遠端操作是否在運作,這樣操作者就可以在任何時候啟動或停止這個過程。

da Vinci Research Kit (dVRK)

混合現實在醫學領域的應用學習日志理論知識應用

達芬奇手術中的病人側助手可能需要插入機器人器械,但在其進入内窺鏡視野之前不知道其尖端的位置。如果内窺鏡視野的方向不對,他甚至可能需要在手眼協調不好的情況下為内窺鏡器械導航。通過dVRK-XR和靶标跟蹤,可以通過HoloLens的光學系統提供機器人儀器、内窺鏡及其視場訓示器的實時可視化,虛拟渲染出實際儀器,減少完成工具操作所需的時間。

  • 虛拟PSM或ECM的遠端操作
  • 機器人手術中的端口/托架規劃
  • 與遠端專家的合作和互動
  • 用于教育訓練和教育的沉浸式可視化

dVRK Mixed Reality Extension采用了一個基于元件的軟體架構,其中不同的子產品可以通過基于JSON的配置動态加載。

混合現實在醫學領域的應用學習日志理論知識應用

SawSocketStreamer可以連接配接到現有的dVRK程式,并通過UDP以固定的幀速率發送JSON序列化的消息,通過JSON檔案動态配置要發送的消息、目的地IP位址、端口号和幀速率。例如,通過病人側操縱器(PSM),我們可以通知sawSocketStreamer以100Hz的速度從dVRK中擷取名為 "GetStateJoint "的函數的結果,然後将傳回的結果序列化并發送至指定目的地。

該應用程式是用Unity建立的,Unity程式可以接收和反序列化傳入的資訊。是以,PSM的 "GetState-Joint "的結果可以在Unity環境中使用。我們使用操縱器的DH參數在Unity中建立一棵對應于其運動學樹的GameObjects。父節點和子節點的相對變換可以是固定的,由傳入資訊的特定字段控制,或者與另一個關節相關聯以反映被動的機械聯系。該慣例類似于統一機器人描述格式(URDF)。我們為Unity建構PSM、ECM和MTM。通過包含關節狀态的實時消息,機械手的可視化可以與真實的機器人同步。

使用Unity作為架構的一個主要優勢是它對多種混合現實平台的相容性,例如VR平台如Oculus(桌面)和Google Cardboard(Android),AR平台如Microsoft HoloLens(Windows UWP)。雖然Unity照顧到了多個平台的圖形API,但套接字API和線程API并沒有涵蓋Windows UWP,因為它不是一個POSIX相容的平台。是以,我們明确地使用Windows UWP的API來實作一個異步UDP用戶端。目前,dVRK-XR支援Windows、Linux、Windows UWP和Android。

對于混合現實應用來說,保持盡可能高的渲染幀率以提供流暢的使用者體驗是至關重要的。在伺服器端,sawSocketStreamer對dVRK控制是異步的,在用戶端,socket處理和渲染是在不同的線程中完成的。當一個新幀的渲染被觸發時,最新的消息被從套接字用戶端拉出,然後被反序列化和可視化。

混合現實在醫學領域的應用學習日志理論知識應用

dVRK的延遲 T=TSS + TN + TR

TSS:sawSocketStreamer和機器人産生的聯合狀态之間的延遲

TN:發送UDP包的聯網時間

TR:到達和渲染之間的時間

假設sawSocketStreamer的接收機制和渲染所引入的延遲是平均幀時間的一半,是以TSS 是 0.000278 ms

TR = 0.5 / R

可以在資料包中加入一個時間戳,記錄機器人産生特定關節狀态的時間。

對TN的評估并不簡單,因為裝置和機器人上的時間并不準确同步。可以将套接字用戶端配置為回傳完全相同的消息,并且假設TN’=TN,測量往返時間TRD,結果與套接字流媒體的不同幀率有關。

TRD = TSS + TN + TR + TN’

是以T = (TRD + TSS + TR) / 2

最終的可視化是實時和低延遲的。