능동 형상 모형

편집 역사 토론
컴퓨터 그래픽스 통계 마지막 수정: 2026-08-28 04:26:18

상위 문서: 이미지 분할

1. 개요[편집]

능동 형상 모형
Active Shape Model (ASM)
제안Cootes · Taylor · Cooper · Graham (1992 / 1995)
표현랜드마크 벡터 $\mathbf{x}\in\mathbb{R}^{2n}$ — 점 분포 모형(PDM)
형상 부분공간$\mathbf{x}\approx\bar{\mathbf{x}}+\Phi\mathbf{b}$, $\Phi$ = 상위 고유형상
허용 범위$|b_i|\le 3\sqrt{\lambda_i}$ 또는 마할라노비스 반경 클리핑
탐색법선 방향 외형 프로파일 매칭 → 형상 부분공간에 사영
사촌AAM(외형까지 모형화) · CLM · 회귀 기반 정렬

스네이크는 아무 곡선이나 될 수 있어서 망가진다. ASM은 망가진 모양이 애초에 표현 불가능하다.

능동 형상 모형(Active Shape Model, ASM)은 같은 종류의 물체를 여러 장 수동 표시한 랜드마크 집합으로부터 「통계적으로 그럴듯한 형상」의 저차원 부분공간을 학습하고, 영상 탐색 중에 나온 후보점들을 매번 그 부분공간으로 되돌려 놓으며 반복 정렬하는 모형 기반 분할·정렬 기법이다. 쿠츠·테일러 등이 1992년 BMVC에서 점 분포 모형(point distribution model)으로 발표하고 1995년 CVIU 논문으로 정리했다.1

활성 윤곽선과의 대비가 이 기법의 존재 이유를 한 줄로 설명한다. 스네이크는 곡선을 매개변수 v(s)v(s) 자체로 두고 매끄러움 벌점만 걸므로 어떤 모양이든 될 수 있다. 그래서 경계가 흐릿하거나 가려진 구간에서 태연히 물체 밖으로 새어 나가고, 그 실패를 막을 방법이 벌점 계수 조절밖에 없다. ASM은 반대다. 변형의 자유도를 학습된 몇십 개의 계수 b\mathbf{b} 로 못 박아 두었으므로, 데이터가 없는 구간의 형상은 “나머지 랜드마크들이 시키는 대로” 채워진다. 손 사진에서 손가락 하나가 가려져도 손가락이 등장하는 위치는 나머지 손가락이 이미 결정해 놓은 셈이다. 이 성질 때문에 ASM은 잡음과 가림이 일상인 의료영상·얼굴 정렬의 20년짜리 주력이 됐다.

2. 랜드마크 — 모든 것은 대응에서 시작한다[편집]

학습 집합은 같은 물체를 찍은 NN 장의 영상과, 각 영상에 찍힌 nn 개의 대응되는 점이다. 좌표를 이어 붙여

x=(x1,y1,x2,y2,,xn,yn)TR2n\mathbf{x} = (x_1, y_1, x_2, y_2, \dots, x_n, y_n)^{\mathsf T} \in \mathbb{R}^{2n}

로 둔다. 여기서 “대응된다”는 말이 이 기법의 전부이자 아킬레스건이다. 3번 점은 모든 영상에서 같은 해부학적 위치여야 한다. 실무에서 랜드마크는 세 종류로 나뉜다.

  • 해부학적 점: 눈꼬리, 척추 극돌기 끝처럼 사람이 이름을 붙일 수 있는 곳.
  • 수학적 점: 곡률 최대점, 극점처럼 기하로 정의되는 곳.
  • 가짜 랜드마크(pseudo-landmark): 위 두 종류 사이를 호길이로 등분한 점. 실제로는 이쪽이 개수로는 대다수다.

랜드마크를 손으로 찍는 노동이 ASM의 실질적 진입 장벽이었고(얼굴 68점 × 수천 장을 생각해 보라), 그래서 대응 자체를 자동으로 찾으려는 연구가 이어졌다. 대표가 데이비스 등의 MDL 기반 자동 랜드마킹으로, “가장 압축이 잘 되는(설명 길이가 짧은) 대응이 올바른 대응”이라는 기준으로 각 곡선 위 매개변수를 최적화한다. 발상은 우아하지만 최적화가 무겁고, 3차원 곡면에서는 여전히 어렵다.

3. 정렬 — 프로크루스테스로 자세를 제거한다[편집]

같은 물체라도 촬영마다 위치·크기·회전이 다르다. 이 자세(pose) 변화는 형상의 변화가 아니므로 통계를 내기 전에 걷어내야 한다. 그렇지 않으면 PCA의 1번 고유형상이 “전체가 오른쪽으로 이동”이라는 시시한 것이 되어 버린다.

표준 절차가 일반화 프로크루스테스 분석(GPA)이다. 두 형상을 맞추는 닫힌 해는 직교 프로크루스테스 문제 문서에 있는 그 SVD 한 줄이고, 여러 형상은 반복으로 처리한다.

  1. 각 형상을 무게중심이 원점이 되도록 평행이동.
  2. 임의의 한 형상을 초기 평균으로 잡고, 모든 형상을 평균에 대해 회전·축척 맞춤.
  3. 정렬된 것들의 평균을 새로 계산하고, 평균의 크기·방향을 기준형으로 재정규화.
  4. 수렴할 때까지 2~3 반복.

3단계의 재정규화를 빼먹으면 반복할 때마다 전체가 조금씩 줄어들어 모든 형상이 한 점으로 수축하는 자명해로 빨려 들어간다. ASM 구현에서 가장 흔한 초보 버그다. 또 하나, 축척을 x=1|\mathbf{x}|=1 로 나누는 것은 형상들을 구면(프로크루스테스 형상공간) 위에 올려놓는 것이라 엄밀히는 유클리드 공간이 아니다. 변형이 크지 않으면 평균 형상에서의 접평면 사영으로 근사하는데, 실무 대부분에서는 이 차이가 무시할 만하다.

정합의 대상만 다를 뿐 구조는 점군 정합의 절대정위 문제와 동일하다. 다만 여기서는 대응이 이미 주어져 있으므로 ICP의 최근접점 반복이 필요 없다는 점이 결정적으로 편하다.

4. 형상 부분공간 — PCA가 만드는 고유형상[편집]

정렬된 NN 개의 벡터로 평균 xˉ\bar{\mathbf{x}} 와 공분산

S=1N1i=1N(xixˉ)(xixˉ)TS = \frac{1}{N-1}\sum_{i=1}^{N}(\mathbf{x}_i - \bar{\mathbf{x}})(\mathbf{x}_i - \bar{\mathbf{x}})^{\mathsf T}

를 만들고 주성분 분석을 돌린다. 상위 tt 개의 고유벡터를 모은 Φ=[ϕ1ϕt]\Phi = [\,\boldsymbol\phi_1 \cdots \boldsymbol\phi_t\,]

x    xˉ+Φb,b=ΦT(xxˉ)\mathbf{x} \;\approx\; \bar{\mathbf{x}} + \Phi\,\mathbf{b}, \qquad \mathbf{b} = \Phi^{\mathsf T}(\mathbf{x}-\bar{\mathbf{x}})

점 분포 모형이다. ϕk\boldsymbol\phi_k고유형상(eigenshape)이라 부르고, bkb_k±3λk\pm 3\sqrt{\lambda_k} 범위로 훑으며 그려 보면 그 성분이 무슨 변형을 담당하는지 눈으로 보인다 — 얼굴이면 1번이 대개 좌우 회전(요), 2번이 상하 회전, 그다음이 표정·개인차 순으로 나오는 식이다.

수치적으로 짚을 것이 둘.

  • SS 를 직접 만들지 마라. 2n2n 이 보통 수백~수천인데 표본은 NN 장뿐이라 rank(S)N1\operatorname{rank}(S)\le N-1 이다. 중심화 데이터 행렬의 특이값 분해를 쓰거나, N2nN\ll 2n 이면 N×NN\times N 그람 행렬의 고유분해로 우회한다. 주성분 분석 문서의 “SVD로 계산하는 이유”가 그대로 적용된다.
  • tt 는 분산 비율로 정한다. ktλkfkλk\sum_{k\le t}\lambda_k \ge f\sum_k\lambda_k 를 만족하는 최소 tt, 보통 f=0.950.98f = 0.95 \sim 0.98. 손 모형은 대개 10개 안쪽, 얼굴 68점 모형도 20개 남짓이면 대부분 설명된다. 2n2n 차원 문제가 20차원으로 줄어든다는 이 압축이 ASM의 힘 그 자체다.

구조 하는 사람에게 익숙한 그림을 빌리면, 고유형상은 형상 데이터에 대한 모드 해석의 모드 형상이다. 물리 대신 통계가 모드를 정해 준다는 점만 다르고, “저차 모드 몇 개만 남겨 자유도를 줄인다”는 발상은 축소차수 모형과 판박이다.

5. 그럴듯함 제약 — 3√λ 클리핑[편집]

여기가 「통계적으로 허용된 형상만」이라는 표어가 코드가 되는 지점이다. 각 bkb_k 는 학습 집합에서 분산 λk\lambda_k 를 갖고 대략 가우스로 분포하므로, 탐색 도중 계산된 b\mathbf{b}

bk    3λk|b_k| \;\le\; 3\sqrt{\lambda_k}

로 자른다. 상자형 클리핑이라 구현이 세 줄이지만, 성분들이 독립이라는 가정이 들어가 상자 모서리(모든 성분이 동시에 극단)를 허용한다는 결함이 있다. 더 나은 방식은 타원형 제약이다. 마할라노비스 거리

dm2=k=1tbk2λkd_m^2 = \sum_{k=1}^{t}\frac{b_k^2}{\lambda_k}

를 계산해 dm>dmaxd_m > d_{\max} 이면 bb(dmax/dm)\mathbf{b} \leftarrow \mathbf{b}\,(d_{\max}/d_m) 로 축소한다. b\mathbf{b} 가 독립 가우스라면 dm2d_m^2 은 자유도 tt 의 카이제곱을 따르므로 dmaxd_{\max} 를 유의수준으로 정할 수 있다 — 근거 있는 손잡이가 하나 생기는 셈.

이 한 줄이 스네이크와 ASM을 가르는 전부다. 스네이크는 벌점을 통해 이상한 모양을 비싸게 만들 뿐이라 힘이 세면 결국 이상해지지만, ASM은 이상한 모양을 표현 불가능하게 만든다. 대신 대가도 명확하다 — 학습 집합에 없던 변형은 영원히 못 만든다. 정상 심장 200례로 학습한 모형은 병적으로 변형된 심장을 절대 못 맞춘다. 이건 버그가 아니라 설계이고, 그래서 학습 집합의 대표성이 ASM 프로젝트의 성패를 가른다.

6. 외형 프로파일 — 어디로 갈지 정하는 국소 모형[편집]

형상 모형은 “어떤 모양이 허용되는가”만 알려 줄 뿐 “이 영상에서 각 점이 어디로 가야 하는가”는 모른다. 그 역할이 국소 외형 모형이다. 학습 때 각 랜드마크 jj 에 대해 윤곽의 법선 방향으로 길이 2k+12k+1 짜리 밝기 표본을 뜨고, 이를 미분(이웃 차분)한 뒤 절댓값 합으로 정규화한 프로파일 gj\mathbf{g}_j 를 저장한다.

  • 미분하는 이유: 밝기 오프셋(조명 밝기 변화)을 없앤다.
  • 정규화하는 이유: 대비(게인) 변화를 없앤다.

학습 집합 전체에서 gj\mathbf{g}_j 의 평균 gˉj\bar{\mathbf{g}}_j 와 공분산 Sg,jS_{g,j} 를 구해 두면, 탐색 시 어떤 후보 위치의 프로파일 gs\mathbf{g}_s 에 대한 적합도가

f(gs)=(gsgˉj)TSg,j1(gsgˉj)f(\mathbf{g}_s) = (\mathbf{g}_s - \bar{\mathbf{g}}_j)^{\mathsf T} S_{g,j}^{-1} (\mathbf{g}_s - \bar{\mathbf{g}}_j)

즉 마할라노비스 거리다(가우스 가정 아래에서 음의 로그 우도). 법선 방향으로 ±(lk)\pm(l-k) 화소를 훑어 ff 가 최소인 위치를 그 랜드마크의 제안점으로 삼는다. 프로파일이 사실상 1차원 에지 검출기이되, 범용 에지가 아니라 “이 랜드마크 자리에서 관측되는 특유의 밝기 단면” 을 학습한 검출기라는 점이 핵심이다. 갈비뼈 경계와 폐 경계를 구분하는 것은 기울기 크기가 아니라 이 단면의 모양이다.

7. 반복 탐색 — 제안하고, 되돌리고[편집]

한 번의 ASM 반복은 다음과 같다.

  1. 현재 자세 (s,θ,t)(s,\theta,\mathbf{t}) 와 형상 계수 b\mathbf{b} 로 모형 점 X=Ts,θ,t(xˉ+Φb)\mathbf{X} = T_{s,\theta,\mathbf t}(\bar{\mathbf{x}}+\Phi\mathbf{b}) 를 영상 좌표에 놓는다.
  2. 각 점에서 법선 프로파일 매칭으로 제안점 Y\mathbf{Y} 를 얻는다.
  3. xˉ+Φb\bar{\mathbf{x}}+\Phi\mathbf{b}Y\mathbf{Y} 에 맞추는 상사변환(축척·회전·이동)을 최소자승법으로 새로 구한다 — 다시 프로크루스테스.
  4. 제안점을 모형 좌표계로 되돌린다: y=T1(Y)\mathbf{y} = T^{-1}(\mathbf{Y}).
  5. b=ΦT(yxˉ)\mathbf{b} = \Phi^{\mathsf T}(\mathbf{y}-\bar{\mathbf{x}}) 로 사영하고, 위의 제약으로 클리핑한다.
  6. 수렴(점 이동량이 임계 이하)할 때까지 반복.

2단계가 “각 점이 하고 싶은 말”, 5단계가 “형상 모형이 허용하는 말”이고, ASM은 이 둘을 매 반복 화해시킨다. 5단계의 사영은 잔차를 형상 부분공간에 직교사영하는 것이므로 각 랜드마크의 국소 오류를 나머지 모든 랜드마크가 평균 내어 흡수한다. 몇 개 점이 엉뚱한 곳을 가리켜도 전체가 무너지지 않는 이유이자, 반대로 체계적인 편향(예: 조영제 때문에 경계가 일관되게 밀림)에는 속수무책인 이유이기도 하다.

강건성을 올리는 흔한 처방은 3~5단계를 로버스트 추정으로 바꾸는 것이다. 제안점의 적합도 ff 가 나쁜 점은 가중치를 낮추거나 아예 결측으로 처리해 사영한다(가중 최소자승 또는 EM식 결측 처리). 이걸 넣으면 가려진 랜드마크가 있어도 무너지지 않는다.

8. 다해상도 탐색[편집]

한 해상도에서만 돌리면 초기 위치가 나쁠 때 국소 최소에 갇힌다. 표준 처방은 가우스 피라미드 다해상도 탐색이다. 영상을 스케일 공간 피라미드로 만들고 랜드마크별 프로파일을 각 레벨에서 따로 학습한 뒤, 가장 거친 레벨에서 시작해 아래로 내려온다.

  • 거친 레벨: 탐색 반경 (lk)(l-k) 를 크게(화소 기준으로는 커도 원 영상 기준으로는 훨씬 큼) 잡아 대략적 자세를 잡는다.
  • 고운 레벨: 반경을 줄여 화소 단위 정밀도를 낸다.
  • 레벨 전환 조건: “제안점의 90% 이상이 탐색 구간의 중앙 절반 안에서 나왔다” 같은 기준. 반복 횟수 고정보다 훨씬 안정적이다.

거친-고운 전략의 이득은 두 가지다. 속도(거친 레벨은 화소가 1/4씩 줄어든다)와, 캡처 반경 확대. 활성 윤곽선σ\sigma 를 키워 캡처 반경을 늘리려다 경계 위치를 잃었던 그 문제를, ASM은 스케일별 모형을 따로 학습해 우회한다.

9. AAM과의 차이[편집]

능동 외형 모형(Active Appearance Model, AAM)은 같은 팀이 1998년에 내놓은 확장으로, 형상뿐 아니라 텍스처(외형)까지 통계 모형에 넣는다. 각 학습 영상을 평균 형상으로 워핑해 형상 정규화 텍스처를 만들고 그것에 다시 PCA를 걸어 ggˉ+Φgbg\mathbf{g} \approx \bar{\mathbf{g}} + \Phi_g \mathbf{b}_g 를 얻은 뒤, 형상 계수와 텍스처 계수를 (단위를 맞추는 가중치 행렬을 끼워) 한 번 더 PCA로 묶어 결합 외형 모형을 만든다. 탐색은 “현재 파라미터로 합성한 영상과 실제 영상의 잔차”를 파라미터 갱신량으로 보내는 사상을 미리 학습해 두고 반복하는 방식이다.

둘의 성격 차이는 실전에서 분명하다.

  • ASM은 랜드마크 주변만 본다. 법선 방향 1차원 프로파일뿐이라 탐색 범위를 넓게 잡아도 싸고, 결과적으로 랜드마크 위치 정확도와 초기값 강건성이 좋다.
  • AAM은 물체 내부 전체를 본다. 그래서 영상 전체를 얼마나 잘 재현하는가는 AAM이 낫고, 형상+외형을 동시에 합성할 수 있어 얼굴 합성·표정 전이 같은 생성 용도에 쓸 수 있다. 대신 텍스처 전체를 워핑·비교해야 하니 비싸고, 조명·인물이 학습 분포를 벗어나면 급격히 무너진다.

원 저자들이 직접 비교 실험을 실어 “랜드마크 정합 정확도는 ASM, 텍스처 재현은 AAM”이라고 정리했고, 그 결론은 지금도 대체로 유효하다.2 이후 계보는 두 장점을 섞는 쪽으로 갔다 — 국소 외형 검출기의 응답 지도를 형상 모형으로 규제하는 제약 국소 모형(CLM), 그리고 잔차에서 파라미터 갱신을 직접 회귀하는 계열(SDM, 회귀 트리 앙상블)로 이어져 실시간 얼굴 랜드마크 검출의 표준이 됐다. 오늘날 합성곱 신경망 기반 랜드마크 검출기도 히트맵 후처리 단계에서 형상 사전지식을 넣을 때 결국 PDM을 다시 꺼내 쓰곤 한다.

10. 한계와 처방[편집]

선형·가우스 가정. PCA는 형상 분포가 초타원체라고 가정한다. 그런데 회전하는 부분이 있는 물체(구부러지는 손가락, 굽는 척추)의 형상 다양체는 휘어 있다. 두 극단 형상의 평균이 실제로는 불가능한 모양이 되는 이 현상은 ASM 문헌에서 “바나나 문제”로 불린다. 처방은 셋이다 — 극좌표·각도 매개변수로 바꿔 선형화하기, 형상 공간을 여러 덩어리로 나눠 가우시안 혼합 모형이나 커널 PCA를 쓰기, 아니면 다양체 학습으로 비선형 좌표를 잡기.

표본 수 부족. NN 이 작으면 λk\lambda_k 추정이 나빠 클리핑 경계가 엉터리가 되고, 특히 꼬리 쪽 고유값이 과소추정되어 정당한 변형까지 잘라 낸다. 표준 대응은 학습 집합을 대칭 반전·소량 변형으로 늘리거나, 공분산에 축소 추정을 걸어 λ\lambda 를 안정화하는 것.

초기화. ASM은 국소 탐색이다. 물체 검출기(하르 캐스케이드, CNN 검출기)가 대략적인 경계상자를 주고 그 안에 평균 형상을 놓는 것이 표준 파이프라인이며, 초기 자세가 크게 틀어지면 다해상도로도 못 살린다.

11. 시뮬레이션 쪽 쓸모[편집]

영상 분할 기법으로만 보면 오늘날 ASM은 딥러닝에 자리를 내줬다. 그런데 통계적 형상 모형이라는 뼈대는 해석 쪽에서 오히려 더 오래 살아남았다.

  • 환자 맞춤 메시 생성. 뼈·심장·대동맥의 SSM을 만들어 두면, 새 환자의 영상에 모형을 맞추는 것만으로 위상이 동일한 표면 메시가 나온다. 절점 대응이 보장되므로 유한요소법 해석 결과를 환자 간에 직접 비교할 수 있고, 메시 생성을 매번 새로 할 필요가 없다.
  • 형상 설계변수. b\mathbf{b} 자체를 설계변수로 쓰면 형상 최적화의 매개변수 수가 수십 개로 줄고, 모든 후보 형상이 자동으로 제조·해부학적으로 그럴듯하다는 보장이 딸려 온다. 자유형상 변형이 만들어 내는 기괴한 중간 형상을 걸러내는 데 드는 노동이 통째로 사라진다.
  • 개체군 통계. “이 집단의 형상 변이 중 몇 %가 성별로 설명되는가” 같은 질문이 b\mathbf{b} 공간의 통계 문제가 된다. 형태측정학(morphometrics)의 표준 도구.
  • 모션 캡처 후처리. 마커 궤적을 형상·자세 부분공간에 사영해 결측 마커를 채우고 잡음을 걷어내는 처리도 원리가 같다.

요컨대 ASM의 유산은 탐색 알고리즘이 아니라 “형상을 저차원 통계 부분공간으로 표현한다” 는 발상이다. 그 발상은 얼굴 인식의 3차원 형태 모형(3DMM)으로, 그리고 오늘날 생성 모형의 잠재공간 이야기로 그대로 이어졌다.3

12. 관련 문서[편집]

13. Footnotes[편집]

  1. Cootes, T.F., Taylor, C.J., Cooper, D.H., Graham, J. (1995). “Active Shape Models — Their Training and Application”, CVIU 61(1). 맨체스터 그룹이 1990년대 내내 이 계열로 논문을 뽑아낸 덕에, 영국 의료영상 판에서 “쿠츠 모형”은 고유명사처럼 통했다. 참고로 이 논문의 데모 대상은 손 실루엣과 심장 초음파였는데, 지금 봐도 잘 고른 예시다 — 손은 형상 변이가 크고 심장은 경계가 안 보인다.

  2. Cootes, T.F., Edwards, G.J., Taylor, C.J. (1999). “Comparing Active Shape Models with Active Appearance Models”, BMVC. 자기 기법 둘을 자기가 비교해서 “상황에 따라 다르다”로 끝내는, 학계에서 보기 드물게 정직한 논문. 요약하면 점을 정확히 찍고 싶으면 ASM, 그림을 만들고 싶으면 AAM.

  3. “학습된 저차원 잠재공간 안에서만 변형을 허용한다”는 명제를 신경망 언어로 번역하면 그대로 오토인코더의 잠재변수 정규화다. ASM의 3λ3\sqrt{\lambda} 클리핑은 잠재 벡터를 사전분포 안으로 밀어 넣는 오늘날의 관행을 30년 앞서 아주 무식하고 아주 효과적으로 구현한 셈. 기법은 바뀌어도 이 발상만은 안 바뀐다.