1. 程式人生 > >冠脈XA影象中造影劑流入檢測演算法

冠脈XA影象中造影劑流入檢測演算法

本文主要介紹 learning-based contrast inflow detection 方法。

基本思路

其實造影劑流入檢測演算法的本質、重點的前提 —— 冠脈造影影象的分割檢測。正是因為冠脈造影影象的分割,才可以提取出序列影象中造影血管的位置~ 有分割結果即證明有造影劑流入,沒有分割結果即證明沒有造影劑流入。因此根據造影影象的分割結果繼而判斷該影象序列是否存在造影劑流入的情況。

傳統演算法

  • 灰度直方圖的變換(沒有考慮造影血管的分割)
    檢測影象幀的直方圖的變化,如果直方圖存在劇烈的變化,可以認為存在著造影劑流入的情況。這種思路很簡單而且很樸素,但是在實際情況下,因為存在隔膜(XA中表現為 dark region)和其他黑色區域出現在影象中,因此不能保證灰度直方圖的劇烈變化僅僅由造影劑流入造成。

    —— 魯棒性差

  • 基於血管的方法
    採用 Morphological 和 DoG 操作得到血管增強影象 vessel map。對 vessel map 的灰度直方圖進行閾值分析,從而判斷是否有造影劑的出現。這種方法基於的思想就是 造影劑 = 血管結構 ,找到血管結構也就可以證明有造影劑的存在

演算法流程

這裡寫圖片描述
總的流程是 ~ 首先通過血管增強演算法得到影象序列 的 vesselness score vector V, 然後進行造影劑檢測,若存在造影劑流入的情況則認為該造影劑序列為 CS (contrast scene) 否則認為該序列不存在造影劑流入的情況。 對於CS序列再進行造影劑流入幀的確定最後得到造影劑流入的特定的幀。

  • Vessel segments detector
    採用的方法是 learning-based method,分類器是 probabilistic boosting tree(PBT) 得到基於影象塊 (8*10) 的概率輸出結果 這裡寫圖片描述Notice~ 有效性的考慮,對於降取樣125*125的影象進行訓練和檢測
    其中需要注意的一個點是,在 testing 階段並不是對 testing images 的所有畫素點進行檢測而是 僅僅對其中的 ridge point 進行檢測,判斷該 ridge point 對應的影象塊是否是 vessel 對應的影象塊。

  • Contrast medium detector
    計算影象序列的 vesselness score vector V,和 V 的不同方差高斯核平滑結果 這裡寫圖片描述

    。和 V 和 各種 G_V 的一階導數和二階導數 這裡寫圖片描述 這裡寫圖片描述。核心思想是通過上述的量來構建關於造影劑檢測的 feature~
    這裡寫圖片描述

    整體的目標在於找到整個序列中 vesselness 度量改變的 幅度 和 快慢程度(梯度)這裡寫圖片描述 是特徵向量。將其分成不相交的10部分,通過這10個部分的 absolute differences 和 ratio 來 得到 組合的 contrast medium detector 的特徵,如 這裡寫圖片描述 度量最大的 vesselness measure 和最初的幾幀的 vesselness measure 的改變數。分類器採用 SVM得到二分類結果,即是否存在造影劑。

  • Contrast inflow detector
    其中有一步幀的正則化操作,使得不同取樣率的 XA 影象有15 fps 的幀率。將對應影象序列的 V 的人工標記的流入幀作為 正樣本,[-3,3] 之外的作為負樣本。同樣的採用 Haar 特徵,和11幀的時間窗。這裡寫圖片描述

啟發

本文采用 learning-based 方法,博主認為重點在於 contrast medium detection 部分的如何構建 適合於判斷造影劑是否存在於影象序列 的特徵。(可以認為是 特徵工程 )這一部分不僅僅考慮了影象序列中的 vesselness score vector 而且通過不同影象序列的時間順序關係,組合特徵子集得到適合判斷造影劑存在與否的特徵。 這一部分值得細細思考。