Medical Image Segmentation - Active shape model

Gyuha Park·2021년 8월 25일
0

Medical Image Analysis

목록 보기
13/21
post-thumbnail

1. Active Shape Model

왼쪽 그림은 test data, 오른쪽 그림은 training data이다. Active shape model은 training data의 각 point들의 distribution을 학습하는 방식이다.

Active contour model로 test data의 boundary를 좁혀나가며 shape을 따낼 때 active shape model이 갖고 있는 각 point들의 distribution을 활용해 보정한다.

이 때, shape의 distribution을 학습하기 위해 사용되는 기법이 PCA이다.

2. Model Construction

왼쪽 그림을 보면 training data에서 각각 대응되는 point들 vj(1), vj(2), , vj(m)v_j^{(1)},\ v_j^{(2)},\ \ldots,\ v_j^{(m)}가 있다.

먼저 shape을 오른쪽 그림과 같이 center point를 기준으로 align한다. 그리고 각각 대응되는 point마다 distribution을 학습한다. 학습 과정은 PCA와 유사하며 다음과 같다.

  • Data normalization

    xˉ=1mi=1mxi\bar{x}=\frac{1}{m}\sum\limits_{i=1}^mx^i

    training data xx의 전체 평균을 구한다.

  • Compute covariance matrix

    dxi=xixˉdx^i=x^i-\bar{x}

    training data xix^idxidx^i를 구하는 식이다. 이를 통해 평균을 0으로 normalization 해준다.

    C=1mi=1m(dxi)(dxi)TC=\frac{1}{m}\sum\limits_{i=1}^m(dx^i)(dx^i)^T

    dxdx의 covariance matrix CC를 구한다.

  • Compute eigenvectors of matrix

    Ce=λeC\vec{e}=\lambda\vec{e}

    SVD로 covariance matrix CC에 대한 eigen vector, eigen value를 구한다.

    U=[u1, , un]U=[u^1,\ \ldots,\ u^n]

  • Compute principal components

    bi=UreduceT(xixˉ)b^i=U_{reduce}^T(x^i-\bar{x})

    일부 eigen vector를 가져와 PCA를 계산해 bib^i를 얻는다.

    dxi=Ureducebidx^i=U_{reduce}b^i

    bib^i에 다시 UreduceU_{reduce}를 곱해 복원한다.

    xi=xˉ+dxix^i=\bar{x}+dx^i

    dxidx^ixˉ\bar{x}에 더함으로 xix^i를 업데이트한다.

    학습 결과 학습된 UreduceU_{reduce}를 얻게 된다.

3. Test

먼저 위 그림과 같이 xˉ\bar{x}를 통해 초기 mean shape을 구하고 active contour model과 같은 알고리즘으로 적절한 위치로 배치 시킨다. 그리고 shape의 point yy를 active shape model로 업데이트 한다. 업데이트 된 yy에 다시 active shape model을 적용해 업데이트하며 최적의 yy를 구해나가는 과정을 반복한다.

b=UreduceT(yxˉ)b=U_{reduce}^T(y-\bar{x})

x=xˉ+Ureducebx=\bar{x}+U_{reduce}b

Active shape model은 point들의 distribution을 고려해 업데이트한다는 장점이 있지만 training data에서 matching되는 point를 찾는 것이 어렵다는 단점이 있다.

profile
Medical Imaging & AI

0개의 댓글