이미지 분할

편집 역사 토론
컴퓨터 그래픽스 수치해석 마지막 수정: 2026-08-24 04:49:07

1. 개요[편집]

이미지 분할
Image Segmentation
정의화소 집합을 겹치지 않는 의미 있는 영역으로 분할
고전 삼총사임계값(오츠) · 영역 성장 · 워터셰드
에너지 최소화그래프 컷(이진은 정확해) · 노멀라이즈드 컷 · 레벨셋
변분 모형먼퍼드-샤 → 스네이크 · 측지 활성윤곽 · 챈-베세
평가 지표Dice · IoU · 경계 F-점수
해석 쪽 용도마이크로 CT·의료영상 → 메시 생성의 전 단계

사람 눈에는 1초 만에 보이는 경계가, 컴퓨터에게는 20년짜리 연구 주제였다.

이미지 분할(image segmentation)은 영상의 화소들을 겹치지 않는 영역으로 나누되, 같은 영역 안의 화소는 어떤 기준에서 동질적이고 서로 다른 영역은 그 기준에서 구별되게 만드는 문제다. 정의부터 이미 수상하다 — “의미 있는”이나 “동질적인”이 무엇인지는 응용이 정한다. 세포를 세는 사람에게는 세포 하나가 한 영역이고, 암석의 투과율을 계산하는 사람에게는 공극과 기질 둘뿐이며, 자율주행에게는 도로·보행자·차량이다. 그래서 이 문제에는 “정답이 무엇인가”를 먼저 정의하지 않으면 알고리즘 비교조차 성립하지 않는다.1

시뮬레이션 쪽에서 이 문제가 중요한 이유는 분명하다. CT나 마이크로 CT로 찍은 그레이스케일 볼륨을 해석 가능한 형상으로 바꾸는 첫 관문이 분할이고, 여기서 생긴 오차는 그 뒤의 메시 생성과 해석을 통째로 오염시킨다. 분할은 전처리가 아니라 모델링 결정이다.

2. 임계값 — 히스토그램이 답을 알고 있을 때[편집]

가장 단순한 접근은 밝기값 하나로 자르는 것이다. 전경과 배경의 밝기 분포가 잘 분리돼 있으면 히스토그램에 골짜기가 생기고, 그 골짜기가 임계값이다.

이걸 자동화한 고전이 오츠 방법(Otsu, 1979)이다. 임계값 tt가 화소를 두 부류로 가를 때, 부류 내 분산의 가중합을 최소화하는 것은 전체 분산이 고정이므로 부류 간 분산의 최대화와 동치다.

σb2(t)=ω0(t)ω1(t)(μ0(t)μ1(t))2\sigma_b^2(t) = \omega_0(t)\,\omega_1(t)\,\big(\mu_0(t) - \mu_1(t)\big)^2

여기서 ω\omega는 각 부류의 화소 비율, μ\mu는 평균이다.2 8비트 영상이면 후보가 256개뿐이라 전수 탐색으로 끝나고, 누적합을 미리 계산하면 히스토그램 한 번 훑는 것과 같은 비용이다. 이 우아함 덕에 지금도 모든 영상 라이브러리의 기본값 근처에 앉아 있다.

한계도 명확하다. 조명이 기울면 전역 임계값 하나로는 안 되므로 국소 창마다 임계값을 따로 정하는 적응 임계값이 필요하고, 부류가 셋 이상이거나 분포가 심하게 겹치면 골짜기 자체가 없다. 무엇보다 공간 정보를 전혀 안 본다 — 화소를 무작위로 섞어 놓아도 결과가 같다. 소금-후추 잡음이 그대로 통과하는 이유다. 그래서 임계값은 대개 최종 답이 아니라 다음 단계의 씨앗으로 쓴다.

3. 영역 성장과 워터셰드 — 공간을 보는 고전[편집]

영역 성장(region growing)은 씨앗 화소에서 출발해 조건을 만족하는 이웃을 계속 흡수한다. 임계값과 달리 연결성이 보장된 영역이 나오지만, 씨앗 위치와 방문 순서에 결과가 민감하고 약한 경계 한 곳이 뚫리면 영역이 통째로 새어 나간다(leakage). 반대 방향으로 도는 분할-병합(split-and-merge)은 사분트리로 영상을 재귀적으로 쪼갠 뒤 비슷한 이웃을 합치는데, 사분트리 격자에 갇힌 계단형 경계가 나온다.

워터셰드 변환은 발상이 예쁘다. 영상의 기울기 크기를 지형의 고도로 읽고, 각 극소점에서 물을 부어 채우다가 서로 다른 유역의 물이 만나는 자리에 댐을 쌓는다. 그 댐이 경계다. 결과가 항상 닫힌 곡선이고 한 화소 두께이며, 침수(immersion) 방식으로 구현하면 우선순위 큐로 거의 선형 시간에 끝난다.

문제는 과분할이다. 기울기 영상의 국소 극소점 하나하나가 유역이 되므로, 잡음이 조금만 있어도 수천 개 조각이 나온다. 표준 처방은 셋이다. 기울기를 미리 평활하거나(형태학적 열림·닫힘), 얕은 유역을 병합하거나, 아예 마커 제어 워터셰드로 간다. 마지막 것이 실무의 정답에 가깝다 — 사용자나 앞 단계가 지정한 마커만을 극소점으로 강제하고 나머지 극소점은 지워 버리는 방식이다. 겹친 세포를 떼어낼 때 거리 변환의 극대점을 마커로 삼는 조합이 특히 유명하고, 골격화와도 뿌리가 같은 도구다.

4. 그래프 컷 — 이진 라벨은 정확히 풀린다[편집]

1990년대 후반부터 분할의 주류는 에너지 최소화로 옮겨간다. 화소 pp에 라벨 xpx_p를 붙이되

E(x)=pDp(xp)+(p,q)NVpq(xp,xq)E(\mathbf{x}) = \sum_p D_p(x_p) + \sum_{(p,q) \in \mathcal{N}} V_{pq}(x_p, x_q)

를 최소화한다. 데이터항 DpD_p는 라벨이 관측 밝기를 얼마나 잘 설명하는지, 평활항 VpqV_{pq}는 이웃이 다른 라벨일 때 무는 벌점이다. 이는 마르코프 확률장의 MAP 추정과 정확히 같은 식이다.

라벨이 전경/배경 두 개이고 평활항이 부분모듈이면, 이 에너지의 전역 최소해를 s-t 최소 절단으로 정확히, 다항 시간에 구할 수 있다. 최소 절단은 네트워크 흐름의 최대유량-최소절단 정리로 계산된다. 조합 폭발이 통째로 사라지는 이 결과가 그래프 컷 계열의 출발점이고, 사용자가 전경·배경에 획 몇 개만 긋는 대화형 분할(Boykov–Jolly), 사각형 하나만 받고 가우시안 혼합 모형 추정과 절단을 번갈아 돌리는 GrabCut이 여기서 나왔다.

라벨이 셋 이상이면 포츠 평활항만으로도 NP-난해가 되고, 이때 쓰는 것이 α-확장이다. 라벨 α\alpha를 하나 고정해 “현재 라벨 유지 vs α\alpha로 갈아타기”라는 이진 문제를 정확히 풀고, 모든 라벨을 한 바퀴 돌기를 반복한다. 평활항이 거리 함수이면 전역 최적의 2배 이내라는 근사 보증이 붙는다. 부분모듈성·α-확장·유량 알고리즘 선택 같은 최적화 쪽 세부는 그래프 컷 문서가 다루므로 여기서는 넘긴다.

그래프 컷 분할의 고유한 약점 하나는 짚어 둘 만하다. 절단 비용이 경계 길이에 비례하므로, 가늘고 긴 물체(혈관·신경돌기)는 경계가 길어 손해를 보고 짧은 절단으로 싹둑 잘리는 축소 편향(shrinking bias)이 생긴다.3 대응으로 연결성 제약을 넣거나 데이터항 가중치를 키우는데, 둘 다 최적화의 좋은 성질을 조금씩 갉아먹는다.

5. 노멀라이즈드 컷 — 스펙트럴 관점[편집]

같은 그래프를 놓고 완전히 다른 목적을 세울 수도 있다. 출발점·도착점 없이 그래프를 두 덩이 A,BA, B로 가르되, 절단 비용 자체를 최소화하면 점 하나를 떼어내는 자명한 답이 나온다. 시와 말릭(2000)은 절단 비용을 각 덩이의 전체 연결도로 정규화해 이 문제를 없앴다.

Ncut(A,B)=cut(A,B)assoc(A,V)+cut(A,B)assoc(B,V)\mathrm{Ncut}(A,B) = \frac{\mathrm{cut}(A,B)}{\mathrm{assoc}(A,V)} + \frac{\mathrm{cut}(A,B)}{\mathrm{assoc}(B,V)}

이 이산 최소화는 NP-난해지만, 지시벡터의 정수 제약을 풀어 실수로 완화하면 일반화 고유값 문제 (DW)y=λDy(\mathbf{D}-\mathbf{W})\mathbf{y} = \lambda \mathbf{D}\mathbf{y}가 되고, 두 번째로 작은 고유값의 고유벡터를 임계값으로 잘라 분할한다. 재귀적으로 반복하면 다중 영역이 나온다. 세부는 스펙트럴 군집화와 같은 이야기다.

그래프 컷과의 차이가 실무에서 중요하다. 그래프 컷은 데이터항이 있어야 하고(전경이 무엇인지 알려줘야 한다) 대신 이진 문제에서 정확해를 준다. Ncut은 데이터항 없이 유사도만으로 영상을 자연스러운 덩이로 쪼개지만 완화 때문에 최적성 보장이 없고, 화소 수만큼 큰 고유값 문제를 풀어야 해서 비싸다. 그래서 화소 대신 수백~수천 개의 초화소(superpixel, SLIC 등) 위에서 돌리는 것이 관행이 됐다.

6. 변분 모형 — 곡선을 진화시킨다[편집]

또 하나의 계보는 경계 곡선 자체를 미지수로 두고 에너지를 최소화하는 변분법이다. 원형은 먼퍼드-샤 범함수(1989)로, 영상을 조각별 매끄러운 근사 uu와 불연속 집합 KK로 분해하되 근사 오차·매끄러움·경계 길이 셋을 저울질한다.

E(u,K)=Ω(uI)2dx+μΩKu2dx+νKE(u, K) = \int_\Omega (u - I)^2 \, dx + \mu \int_{\Omega \setminus K} |\nabla u|^2 \, dx + \nu \, |K|

계산 가능한 후손들이 줄줄이 나왔다.

  • 스네이크(활성 윤곽선, Kass–Witkin–Terzopoulos 1988) — 곡선을 점들의 사슬로 잡고 내부 에너지(탄성·굽힘)와 외부 에너지(영상 기울기가 큰 곳으로 끌림)의 합을 경사하강으로 내린다. 매개변수 표현이라 위상 변화를 못 다룬다 — 물체가 둘로 갈라지면 곡선도 갈라져야 하는데 점 사슬로는 그게 지옥이다. 초기 곡선이 정답 근처에 있어야 하고, 오목한 부분에 잘 못 들어간다(기울기 벡터 흐름 GVF이 이를 완화한다).
  • 측지 활성윤곽(Caselles–Kimmel–Sapiro 1997) — 같은 에너지를 영상 기울기로 정의한 리만 계량 위의 측지선 길이로 다시 쓴다. 이렇게 하면 매개변수와 무관해지고 레벨셋 방법으로 옮겨 실을 수 있어, 위상 변화가 공짜로 처리된다.
  • 챈-베세 모형(2001) — 먼퍼드-샤의 조각별 상수 특수화. 곡선 안팎의 평균 밝기 c1,c2c_1, c_2와의 편차 제곱합에 경계 길이 벌점을 더한 것을 레벨셋으로 최소화한다. 결정적 장점은 기울기를 전혀 안 쓴다는 것 — 경계가 흐릿하거나 잡음에 묻혀 기울기 정보가 없는 영상에서도 영역 통계만으로 경계를 찾는다. 초음파나 저선량 CT처럼 경계가 흐린 의료영상에서 여전히 쓰이는 이유다. 대신 조각별 상수 가정이 깨지는 불균일 조명 영상에서는 그대로 무너져, 편향장(bias field)을 같이 추정하는 국소 변형들이 따라 나왔다.

레벨셋 계열은 그래프 컷과 자주 비교된다. 곡률 항이 진짜 기하학적 곡률이라 격자 이산화에 따른 계량 오차가 없고 곡면이 매끄럽게 나오지만, 국소 최적에 빠지고 초기값에 의존한다. 그래프 컷은 정확히 그 반대다. 에너지의 좋은 성질과 기하학의 좋은 성질 중 무엇을 포기할 것인가의 선택인 셈이다.

7. 딥러닝 한 문단[편집]

2015년 FCN과 U-Net(U-Net) 이후 벤치마크 상위권은 합성곱 신경망이 독식했다. U-Net은 수축 경로에서 문맥을 넓게 보고 확장 경로에서 해상도를 복원하되, 같은 깊이의 특징을 건너뛰기 연결로 이어 붙여 경계의 세밀함을 되살리는 구조다. 의료영상용으로 설계됐고 데이터가 적을 때 강한 자료 증강으로 버틴다는 점이 널리 채택된 이유였으며, 3D 확장과 자동 설정판(nnU-Net)이 사실상 표준이 됐다. 다만 고전 기법이 폐기된 것은 아니다 — 신경망 출력의 경계를 다듬는 후처리, 학습 데이터를 만드는 라벨링 도구, 그리고 학습 데이터가 없는 새 계측 장비 앞에서 여전히 임계값·워터셰드·그래프 컷이 먼저 돌아간다. 명시적 에너지와 재현 가능한 절차가 필요한 자리는 남아 있다.

8. 해석 파이프라인에서의 분할[편집]

시뮬레이션 쪽 실사용은 대체로 이 순서다. 그레이스케일 볼륨 → 분할 → 표면 추출(마칭 큐브) → 표면 정리·평활 → 메시 생성 → 해석. 여기서 분할이 저지르는 실수는 뒤에서 절대 복구되지 않으므로 몇 가지가 실무 상식이다.

  • 부분체적 효과. 한 복셀 안에 두 상이 섞이면 중간 밝기가 나온다. 이진 임계값은 이 복셀을 통째로 한쪽에 주므로 경계가 복셀 크기만큼 흔들린다. 다공성 암석의 마이크로 CT에서 임계값을 몇 계조 움직이면 공극률이 몇 %p 바뀌고, 그 공극률로 계산한 투과율은 훨씬 크게 요동친다 — 좁은 목(throat)이 열리고 닫히는 순간 연결성이 통째로 바뀌기 때문이다. 그래서 이 분야는 분할 하나만 놓고 민감도 분석을 따로 돌린다.4
  • 연결성이 물리를 정한다. 유동 해석에서 중요한 것은 공극의 부피가 아니라 관통 경로의 존재다. 잡음 제거로 작은 조각을 지울 때 목이 함께 끊기면 투과율이 0이 된다. 최대 연결 성분만 남기는 후처리와 형태학적 연산의 순서가 결과를 바꾼다.
  • 매끄러움과 충실도의 절충. 계단형 복셀 경계를 그대로 메시로 뽑으면 요소 품질이 나쁘고 응력 집중이 가짜로 생긴다. 평활을 세게 걸면 얇은 구조물(뼈의 소주, 혈관벽)이 사라진다.
  • 정답이 없다는 사실. 의료영상 분할의 “정답”은 사람이 그린 것이고, 관측자 간 편차가 알고리즘 간 차이보다 큰 경우가 흔하다. Dice 계수 0.90을 놓고 다투기 전에 사람 둘의 Dice가 얼마인지부터 재는 것이 순서다.

9. 관련 문서[편집]

10. Footnotes[편집]

  1. 분할 알고리즘 논문에 늘 붙는 “우리 방법이 더 자연스러운 경계를 준다”는 문장은 사실 “우리가 고른 데이터셋의 사람 라벨과 더 비슷하다”는 뜻이다. 버클리 분할 데이터셋(BSDS)이 애초에 사람 여러 명의 라벨을 함께 제공하는 이유가, 정답이 하나가 아니라는 것을 데이터 형식으로 인정했기 때문이다.

  2. 오츠 방법이 “부류 내 분산 최소 = 부류 간 분산 최대”인 것은 전체 분산이 둘의 합으로 정확히 분해되기 때문이다(분산 분해). 이 분해는 분산분석(ANOVA)의 제곱합 분해와 같은 항등식이며, 오츠 기준은 결국 1차원 판별분석을 임계값 하나로 푸는 것과 같다.

  3. 축소 편향은 이론적으로도 재미있는 실패다. 에너지에 경계 길이 벌점을 넣는 순간 “짧은 경계가 아름답다”는 사전지식이 들어가고, 알고리즘은 그 지시를 충실히 따라 혈관을 잘라 버린다. 최적화가 틀린 것이 아니라 우리가 틀린 것을 최적화하라고 시킨 것이다.

  4. 마이크로 CT 기반 디지털 암석 물리에서는 같은 시료를 여러 그룹이 각자 분할하고 각자 유동 해석을 돌리는 비교 연구가 주기적으로 수행되는데, 그룹 간 투과율 편차가 몇 배씩 벌어지는 결과가 반복해서 보고된다. 솔버를 아무리 정교하게 만들어도 입력 형상이 다르면 소용이 없다는, 다소 김빠지는 교훈이다.