Snake_Active Contour Models(ACM)(2014. 07. 25.)
Computer Science/Image processing

Snake_Active Contour Models(ACM)(2014. 07. 25.)

728x90
반응형



sf

ACM은 spline을 이용하여 찾고자 하는영상의 성질을 에너지 함수로 표현하고

이 에너지를 최소화 하는 방법에 의해 경계선을 검출하는 방법이다.

이때 에너지 함수의 값이 최소화됨에 따라  컨투어에 가까워 진다.

이 과정에서 curve의 모양이 움직이는 뱀모양과 비슷해서 snake라고 불리기도 한다.  



snake 논문이 나올 당시의 컴퓨터 비전 리서치는 오직 이미지 그 스스로의 정보만으로 computation이 발전되어졌다.

그러나 논문은 low-level의 족쇠에서벗어나 higher-level processes 를 하겠다

결론적으로 이 논문에서는  higher-level processes에서 유용가능한? 대안 solutions을 포함하고잇는  local minia들을 갖고 energy functions 을 디자인하기로했다.





3개의 line 중 어떤 것이 사용자가 원하는 contour인지 알수 없기 때문에

한 개의global minima를 내놓는 형태가 아닌 여러 개의 Local minima 를 내놓는 형태를 사용하기로 했다.




논문 맨처음에 나오는 문장인데 다시 살펴보면 스네이크는 스플라인이다. 라고 합니다.

스플라인함수는 곡선을 표현하는 다항식인데 구간을 보간하는 다항식이라고 합니다.

정리하자면 플라인 함수는 주어진 점 을 보간하는 근사함수라고 합니다.



이제 snake 에너지 함수 표현을 자세히 살펴보려 합니다.

스네이크는 v(s)=(s(s), y(s))에 의해 n개의 정점으로 스네이크의 위치 표현을 할 수 있습니다.





v(s)에 의한 스네이크의 위치 표현을 이용하여 다음 같이 에너지 함수로 쓸 수 있습니다.

 이 에너지 함수 값을 최소로 만들어 주는 V(s)가 우리가 구하고 싶은 것 입니다.

v(0) ~v(n-1)까지의 각점에서의 에너지를 더한것으로 스네이크 에너지함수를 표현합니다.

E internal은 스네이크가 수축하고 휘어지는 속성을 제어하는 스플라인 내부에너지를 나타내고

E image는 이미지 자체의 힘을 제어하는 함수,

E Cont은 외부 제약조건 힘을 위한 함수입니다.



Internal energy elastic bending 한 속성을 가지고 있다.

elastic energyv(s) 일차미분의 절대값의 제곱으로 표현되고 contour의 수축되는 성질을 나타내 줍니다.

v(s) 이차 미분의 절대값의 제곱은 bending energy를 나타내는데 Contour가 부드럽게 이어지도록 해주는 성질을 나타낸다

알파와 베타는 가중치를 나타냅니다.

그림설명









스네이크 점들이 서로 동일한 거리를 유지하도록 합니다.

이것은 contour에 부드럽게 접근하기 위한 방법으로

스네티크 점들이 서로 가까워져 뭉치지 않도록 하는 것이 역할을 합니다.



지금까지의 에너지함수 internal에너지만 으로 보면 snake가 점점 작아져서 이미지 contour를 통과해서 쪼그라들게 됩니다.

하지만 앞으로 살펴볼 image 에너지 함수 덕분에 이렇게 이쁘게 snakecontour에 수렴하게됩니다.

이미지에너지는 line edge termination 3가지로 구성되어 잇는데

때 마다 내가 필요에 따라 이미지를 나타내는 부분을 변화 시키면서 사용하면 됩니다.


사용자가 snake를 잡다 당겨도 이미지 에너지함수 덕분에 edge로 수렴하게 됩니다.


line 에너지텀은 이미지 자체의 intensity 를 이용합니다.






에지는 우리가 배운대로 image 밝기값의 gradient를 이용합니다.

Image 의 밝기값의 변화량을 구하면 바운더리 부분, 즉 에지 부분은 이때의 값이 커진다 (에너지가 크다)

그래서 앞에 를 붙여 준다. 왜냐면 우리는 snake 에너지는 에너지 값이 작은 부분으로 가려는 성질이 있기 때문에

우리가 추출하려는 edge의 성질을 에너지가 작은 값으로 만들어 주어야 한다



1번에서 3번으로 갈수록 bluring을 감소시킨그림입니다.

4번은 2차 미분을 사용하므로서 나타난 zero-crossing인데

보는것 처럼  texture에도  zero-crossing이 놓이지만

snake는  smoothness 제약조건덕분에 zero-crossing 사용할 수 있다.





numerical 하게 푸는 방법

오일러 라그랑제 equation을 이용하여 풉니다.




앞의 식을 s (스플라인 위의 포인트)로 미분한다. 최소값을 구하기 위해서

t+1시점에서 t시점의 차이가 바로 미분의 의미가 된다.

붉은색이 우리가 구하고 싶은 값

그래서 역행렬을 취한다.












1. ACM의 가장 큰 단점은 스네이크에 대한 정확한 초기화 작업이 팔요하다는 것이다.

2. 바운더리와point에는 외부제약함이 작용되지 않는다.  












1-1. snake_active contour models.pdf


728x90
반응형