一種基于蟻群算法的血管三維路徑規劃方法
【技術領域】
[0001] 本發明涉及的是一種基于蟻群算法的血管三維路徑規劃方法,屬于血管三維路徑 規劃技術領域。
【背景技術】
[0002] 血管介入手術具有出血少,創傷小,恢復快的優點,因此在血管疾病的治療上得到 廣泛應用。目前全國大部分醫院的血管介入手術還是依靠外科醫生徒手操作導管導絲并借 助X射線等醫學成像技術和虛擬現實等計算機輔助技術完成手術。在有限的技術條件下, 從醫生的操作水平、手術的危險性、術后并發癥等因素考慮,術中通常選用較粗的主動脈作 為手術路徑,不考慮其他可能的最優路徑。
[0003] 血管三維路徑規劃是在三維幾何空間內,尋找一條從手術切口到病灶部位的一條 最優路徑,是一種全局規劃問題,是術前規劃的重要手段。血管內三維路徑規劃的關鍵技術 是血管中心線的提取和導航路徑的規劃。提取中心線的方法有拓撲細化法、距離變換法、勢 能場法、基于水平集法和基于分割的方法等。導航路徑規劃方面,隨著智能算法的興起,有 學者采用Dijkstra算法和A星算法在提取的血管中心線上搜索到兩點之間的最短路徑。但 這些方法在規劃過程中并沒有考慮到血管的其他特性。
[0004] 蟻群算法是仿生學中群體智能算法之一,它是1991年由意大利學者M.Dorigo等 人受到真實世界中螞蟻覓食的行為的啟發后而提出。算法核心即螞蟻能以更高的概率選中 殘留信息素濃度最高的路徑,越來越多的螞蟻會被吸引到這條路徑上,形成一種正反饋原 理來找到一條離食物源最短的路徑。目前國內外基于蟻群算法的三維路徑規劃主要集中在 無人機、潛水器、三維管道、機器人等方面,暫沒有文獻將蟻群算法應用在血管三維路徑規 劃方面。
【發明內容】
[0005] 本發明的目的在于針對現有血管路徑規劃技術存在的問題和不足,提供一種基于 蟻群算法的三維路徑規劃方法,該方法在血管中心線提取的基礎上采用螞蟻偵察算法,通 過改進蟻群算法,并綜合考慮導管直徑、血管長度、直徑、曲率和撓率輔助外科醫生規劃手 術的最優路徑。
[0006] 為達到上述目的,本發明的構思是:對CTA醫學影像數據進行血管建模并提取中 心線,在給定起始點的血管中心線網絡中在此基礎上采用螞蟻偵察算法,通過改進蟻群算 法,綜合導管直徑和血管其他特性,如血管長度、最小直徑、最大曲率和最大撓率因素進行 全局路徑規劃。
[0007] 根據本發明的構思,本發明采用以下技術方案實現: 一種基于蟻群算法的血管三維路徑規劃方法,其特征在于操作步驟如下:1數據導入、 2血管建模、3血管中心線提取、4建立血管中心線網絡拓撲結構、5螞蟻偵察算法、6參數初 始化、7啟發式信息計算、8概率選擇、9信息素動態揮發、10信息素增量計算、11信息素更 新、12規劃結束判斷、13結果輸出。
[0008] 所述步驟1數據導入:導入一組完整的醫學CTA圖像數據(DIC0M); 所述步驟2血管建模:將導入的CTA圖像數據采用基于3D水平集的方法進行血管建 模; 所述步驟3血管中心線提取:將建立的血管模型采用基于Voronoi圖和Eikonal方程 的方法提取血管中心線,并求得最大內切球半徑R; 所述步驟4建立血管中心線網絡拓撲結構:根據中心線提取結果建立網絡拓撲結構, 確定結點和邊的數量,并計算各段路徑的距離、最大曲率、最大撓率和最小直徑; 4-1距離計算,采用第一類曲線積分來計算空間曲線的長度。假設參數化形式的空間 曲線方程為 因此可得空間曲線的距離公式為:
4-2最大曲率計算,曲率(curvature)就是針對曲線上某個點的切線方向角對弧長的 轉動率算出中心線上每個點曲線的曲率,中心線的曲率反映了血管彎曲的程度,而曲率越 大則血管彎曲程度越大,必將增加導管通過的難度,降低血管的可通過性。對于參數化形式 空間曲線方程的曲率計算為:
根據此公式計算該路徑上每個點的曲率并求得該路徑的最大曲率義_* ; 4-3最大撓率計算,撓率(torsion)的絕對值度量了曲線上鄰近兩點的次法向量之間 的夾角對弧長的變化率,中心線上的撓率可以反映出血管扭曲的程度,對于盆腔內血管的 扭曲程度是比較大的,而撓率越大血管扭曲程度越大,也將增加導管通過的難度,降低血管 可通過性,降低安全系數。對于參數化形式空間曲線方程的撓率計算為:
根據此公式計算該路徑上每個點的撓率并求得該路徑的平均曲率祖_; 4-4最小直徑計算,根據最大內切球半徑R可計算中心線上每個點的直徑D,由此計 算各路徑上的最小直徑假設手術導管的直徑為?,要求這段血管路徑的最小直徑 A以保證導管能夠穿過血管; 所述步驟5螞蟻偵察算法:確定起始點,執行具有自我復制功能的螞蟻偵察算法。
[0009] 由于血管網絡拓撲結構不是一個完全圖,有的結點之間不存在回路,必然存在一 些端結點。若螞蟻在搜尋過程中,走到了一個端結點而并非終點時,要么就直接退出尋路, 要么就退回到端結點的上一結點繼續尋路。若選擇前者,雖然會加快收斂,但是欠缺全局考 慮,過早退出;若選擇后者,雖然從全局考慮,但會降低算法效率。因此,本發明在確定起始 點后,讓螞蟻先對整個網絡拓撲結構進行偵察,區分并去除這類非終點端結點后再執行蟻 群算法。這類偵察螞蟻具備自我復制功能,在偵察過程中可以根據頂點V的度數N,即邊數, 相應自我復制(除了已訪問的邊之外),再分別往其他頂點繼續偵察。
[0010] 5-1根據起點pp終點s的度數分別放置對應數量的螞蟻__,載難_f_ii; 5-2每只螞蟻偵察頂點%時先將其保存至各自的路由表_^中,做偵察標記; 5-3每只螞蟻判斷偵察的頂點%的度數瞧, 5-3-1若飄_1,則復制只螞蟻副本,繼續偵察; 5-3-2若繼^1,則報告該頂點震::為異常點,剔除該點,修改其上一頂點職_的度數 ,更新整體網絡拓撲結構,進入步驟5-4 ; 5-4根據路由表親.沿原路退回到上一頂點1_,若底:=鳴則執行步驟5-3-2 ;若敦雙氣 則進入步驟5-5 ; 5-5若所有頂點都已偵察完,則終止偵察,進入參數初始化6 ;否則進入步驟5-3 ; 所述步驟6參數初始化:初始化各參數,如設置螞蟻數量M,信息素強度常量羅,迭代總 數,導管直徑麵,將螞蟻置于初始位置; 所述步驟7啟發式信息計算:啟發式函數對算法的收斂性和穩定性有著重要的影響, 在蟻群算法中,啟發式信息S-般是兩點之間距離的反比,即?_,本發明規劃路徑的標準 是手術安全和路徑最優,因此路徑規劃中不僅要考慮到血管的長度最大曲率和最 大撓率__,還要考慮到血管的最小直徑纏im,啟發式信息定義為
_|||:表不t時刻結結點的啟發信息;_:_|:和__|_為點的三 維坐標表示這條路徑的最小直徑,表示導管直徑,要求表示這條的 路徑長度表示這段路徑的平均曲率,,表示這段路徑的平均撓率。
[0011] 所述步驟8概率選擇:設有職螞蟻,於結點,表示塒刻位于某結點崩 螞蟻數量,則M= 2:^^ 。在蟻群算法的每一步路徑選擇中,螞蟻按照概率決定下一 步往哪條路上移動。
[0012] 給(t)表不第射刻螞蟻袖點艱動至U點屬概率,_|綱鐵,:麵__:,,::_-.::|5[&表 示螞蟻下一步可以選擇的節點,輸表示螞蟻曾經訪問過的節點;_表示信息素啟發因子,表 示殘留信息素量在螞蟻運動時所起的作用,值越大說明螞蟻更傾向于選擇其它螞蟻經過的 路徑,螞蟻之間的協作能力越強;|r表示期望值啟發因子,表明啟發信息在螞蟻選擇路徑時 的受重視程度,值越大,狀態轉移規律越接近貪心規則。表示_?刻點點I徑 上的信息素。
[0013] 所述步驟9信息素動態揮發:信息素揮發速度會隨著時間的推移受到溫度、濕度 等因素而變化,是一個動態的變化的過程,越復雜的路徑,啟發信息越小,揮發速度越快,信 息素殘留越少,因此信息素的揮發系數f隨著啟發式信息%(t)的變化而動態揮發,所有螞 蟻到達終點后,按如下關系計算,
Pqftj表示t時刻在I到J路徑上的揮發系數,|g_表示t時刻I到J路徑上的信息 素,表示t時刻所有路徑上的啟發信息,k表示某只螞蟻在t時刻所經過的路徑 數。
[0014] 所述步驟10信息素增量計算:信息素更新模型是基本蟻群算法的隨機搜索與快 速收斂重要環節。本發明針對問題本身的全局性最優要求,采用蟻周模型;考慮到血管最小 直徑和導管直徑在手術中的影響,修改蟻周模型如下:
_為信息素強度常量,是螞蟻在一個循環中在所經過的路徑上釋放的信息素的總量, 在一定程度上影響著算法的收斂速度;要求血管路徑的最小直徑表示第 只螞蟻在此次循環中所經過的路徑長度,根據每只螞蟻在其路由表中的結果計算。
[0015] 所述步驟11信息素更新:初始時刻各路徑上的信息素量是相等的,當螞蟻完成一 次循環后,信息素會隨著時間的推移逐漸揮發,因此要對信息素濃度要進行更新,在螞蟻進 入下一個循環之前對相府路徑卜的信息素做加下審新,
弩##|_信息素動態揮發系數,是信息素動態殘留因子,11#_:#表 示第m只螞蟻在本次循環中在路徑(I,J)上留下的信息素量,表示本次循環 當中所有經過路徑(I,J)的螞蟻留下的信息素增量。
[0016] 所述步驟12規劃結束判斷:當達到最大迭代次數則退出循環,否則進入啟發式信 息計算7,繼續循環; 所述步驟13結果輸出:整理路由表輸出結果。
[0017] 本發明與現有技術相比較,具有如下顯而易見的突出實質性特點和顯著優點: (1)本發明將蟻群算法應用到血管三維路徑規劃技術領域。
[0018] (2)本發明改進了蟻群算法中的啟發式信息模型,綜合考慮了導管直徑、血管長 度、最小直徑、最大曲率和最大撓率,提高了術前規劃路徑的可靠性,保證了導管的通過性。
[0019] (3)本發明改進了蟻群算法中的信息素增量模型,結合了血管最小直徑和導管直 徑在規劃中的影響,加快了算法的收斂。