109. 이미지 분할 (Image Segmentation) - 픽셀 단위의 정밀 해부

⚠️ 이 문서는 사진 속 고양이에게 무식하고 네모난 박스(Bounding Box)를 치는 '객체 탐지(Object Detection)'가 배경의 쓸데없는 잡초 픽셀까지 억지로 네모 안에 포함해 버리는 둔탁한 한계를 부수기 위해, **네모 상자 따위는 버리고 돋보기로 사진의 픽셀(Pixel) 하나하나를 미친 듯이 파고들어, "이 픽셀은 고양이 털! 저 픽셀은 풀밭! 요 픽셀은 강아지 귀!"라고 픽셀 단위로 색칠 공부를 하듯 정밀하게 물체의 진짜 모양(윤곽선)을 완벽히 도려내는 인공지능 시각 기술의 끝판왕인 '이미지 분할(Segmentation)'**을 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: 박스(사각형) 수준의 타협을 거부한다. 입력된 이미지의 가로세로 해상도(예: $1024 \times 1024$) 그대로 출력 지도를 뽑아내어, 100만 개의 픽셀 하나하나마다 각자의 이름표(Class, 배경/고양이/차)를 정답으로 달아주는 극한의 픽셀 단위 분류(Pixel-wise Classification)다.
  2. 가치: 의사가 MRI 사진에서 암세포의 정확한 모양과 면적을 도려내거나, 누끼 따기 뽀샵 작업, 그리고 자율주행차가 내 앞에 있는 도로의 차선(곡선)이 어디서 꺾이는지 1mm의 오차도 없이 파악하게 해주는 생명과 직결된 초정밀 눈(Eye)이다.
  3. 기술 체계: 고양이가 여러 마리 있어도 그냥 통째로 '고양이'라는 한 색깔로 칠해버리는 **시맨틱 분할(Semantic)**과, "이건 1번 고양이(빨강), 저건 2번 고양이(파랑)"라고 개별 개체까지 찢어서 색칠해 내는 궁극의 인스턴스 분할(Instance) 두 갈래로 나뉘어 진화한다.

Ⅰ. Bounding Box(네모)의 절망: 왜 픽셀까지 파고들어야 하는가?

둥근 물체를 네모 박스에 가두면, 빈 공간(노이즈)이 너무 많이 섞여 들어온다.

  1. 객체 탐지(Object Detection)의 둔탁한 맹점:
    • 어제 배운 YOLO로 대각선으로 누워 있는 뱀(Snake) 사진에 네모 박스를 쳤다.
    • 박스 면적의 20%만 진짜 뱀이고, 나머지 80%는 뱀 주변에 있는 흙, 돌맹이, 나뭇잎 같은 쓸데없는 배경(Background) 픽셀이다.
    • 자율주행차가 도로에 누워있는 사람을 박스로 쳤는데, 80%의 텅 빈 아스팔트 배경까지 '사람 영역'으로 오해해서 차가 핸들을 이상한 데로 급하게 꺾어버리는 치명적 에러가 날 수 있다.
  2. 이미지 분할 (Segmentation)의 선언:
    • "네모 박스는 치지 마라! 뱀의 꾸불꾸불한 윤곽선(Contour)을 따라 뱀의 비늘 픽셀에만 완벽하게 노란색 형광펜을 칠해라!"
    • AI 모델의 뇌 구조가 완전히 뜯어고쳐진다. 최종 출구(Output)가 숫자 4개(X, Y, W, H)가 아니라, 원본 사진과 똑같은 해상도(예: 1024x1024)의 거대한 2차원 매트릭스가 튀어나와 픽셀별로 색칠 도면을 뱉어내야 한다.

📢 섹션 요약 비유: 지도에서 한강을 찾으라고 했습니다. **객체 탐지(Bounding Box)**는 굵은 매직으로 한강이 포함된 서울 전체 지도 위에 커다란 네모 박스를 치고 "이 안에 한강 있습니다!"라고 우깁니다. 박스 안에 남산도 있고 63빌딩(잡음)도 섞여 있죠. **이미지 분할(Segmentation)**은 아주 얇은 세밀화 붓을 쥐고 한강의 굽이진 물길(윤곽선)만을 따라 파란색 물감을 1mm의 오차 없이 완벽하게 색칠해 내어, 진짜 물이 흐르는 영역(픽셀)만 정확히 100% 도려내는 소름 돋는 초정밀 누끼 따기 작업입니다.


Ⅱ. 세상을 색칠하는 두 가지 붓: Semantic vs Instance

"고양이 3마리를 그냥 뭉뚱그려 파랗게 칠할까, 파랑/빨강/노랑으로 찢어버릴까?"

  1. 시맨틱 분할 (Semantic Segmentation) - "종류만 같으면 한통속이다":
    • 가장 기본적인 분할 기법이다. 픽셀이 속한 **'클래스(종류)'**만 맞춘다.
    • 방 안에 고양이가 3마리 겹쳐 앉아있다 치자. 시맨틱 붓을 든 AI는 "얘도 고양이, 쟤도 고양이네?" 라며 3마리의 몸통 픽셀을 구별 없이 전부 똑같은 파란색 페인트로 통째로 칠해버린다.
    • 바닥(배경)은 까만색으로 칠한다.
    • 한계: 칠해진 파란색 덩어리 면적은 완벽하게 땄지만, 기계 입장에서는 이게 거대한 돌연변이 고양이 1마리인지, 작은 고양이 3마리가 뭉쳐있는 건지 개수(Count)를 셀 수가 없는 바보 같은 한계가 있다.
  2. 인스턴스 분할 (Instance Segmentation) - "너와 나는 다른 존재다" $\star$:
    • 인간의 눈과 가장 가까운 극강의 분할이다. (Mask R-CNN이 대표적 모델)
    • 이 똑똑한 붓은 종류(클래스)를 맞추는 건 기본이고, 각각의 개체(Instance)까지 완벽하게 남남으로 찢어발긴다.
    • 겹쳐 있는 3마리 고양이를 보고, 1번 고양이는 빨간색 픽셀로, 2번 고양이는 노란색 픽셀로, 3번 고양이는 초록색 픽셀로 명확히 선을 그어 개별 색칠을 완수한다.
    • 이제 자율주행차는 내 앞을 막고 있는 파란색 덩어리가 사람이 뭉쳐있는 건지 1명인지 정확히 머리수(개체 수)를 카운트하며 브레이크 압력을 계산할 수 있게 되었다.

📢 섹션 요약 비유: 주차장에 똑같이 생긴 하얀색 쏘나타 10대가 다닥다닥 주차되어 있습니다. 시맨틱 분할 페인트공은 "오, 전부 쏘나타네!"라며 10대의 차 위로 파란색 물감을 확 부어버립니다. 하나의 거대한 파란색 주차장 덩어리만 보일 뿐, 차가 몇 대인지 구분 선은 지워졌습니다. 인스턴스 분할 페인트공은 붓을 들고 차 번호판을 확인합니다. "이건 1번 차니까 빨간색, 옆 차는 2번 차니까 파란색." 10대의 쏘나타 윤곽을 하나하나 다른 색으로 정밀하게 칠해내어, 차의 면적(누끼)과 대수(개별 객체)를 모두 완벽하게 쪼개버리는 궁극의 주차장 관리인입니다.


Ⅲ. 분할의 심장 아키텍처: U-Net의 U자형 뼈대 (의료 AI의 혁명)

압축해서 찌그러뜨린 지도를 어떻게 다시 고화질 원본으로 뻥튀기할 것인가.

  1. 오토인코더(AutoEncoder) 방식의 딜레마:
    • 픽셀 색칠을 하려면 $1024 \times 1024$ 출력이 나와야 한다.
    • 그런데 CNN(어제 배운 거)은 층을 지날수록 풀링(Pooling) 때문에 데이터 크기가 $10 \times 10$으로 무자비하게 쪼그라든다(해상도 붕괴).
    • 쪼그라든 $10 \times 10$ 특징 맵을 억지로 잡아당겨 다시 $1024$로 늘리면(Up-sampling)? 모자이크가 다 깨져서 경계선이 다 뭉개지고 색칠이 엉망진창 픽셀 떡이 돼버린다.
  2. U-Net의 위대한 발상 (Skip Connection의 공간 복원):
    • 2015년, 이 뭉개짐을 완벽히 해결한 전설의 모델 U-Net이 등판하여 특히 암세포를 픽셀 단위로 도려내는 의료 영상(Medical Imaging)계를 완전히 정복했다.
    • 아키텍처 모양이 영어 알파벳 'U' 자처럼 생겼다. 왼쪽으로 내려가면서 해상도를 꾹꾹 찌그러뜨리고(특징 압축, Encoder), 바닥을 찍은 뒤 다시 오른쪽으로 올라가면서 해상도를 뻥튀기(복원, Decoder)시킨다.
    • 마법의 연결선 (Skip Connection): 오른쪽에서 해상도를 억지로 부풀릴 때 화질이 깨지지 않도록, 왼쪽(압축 전)에 있던 짱짱하고 맑은 고화질 원본 픽셀 지도(디테일 정보)를 허공에 다이렉트 브릿지(선)를 그어 오른쪽(복원 층)에 그대로 복사 붙여넣기(Concatenate) 해준다!
    • 뭉개진 저화질 엑기스(의미)와, 선명한 고화질 원본 껍데기(해상도 위치)가 합체되면서, 1픽셀의 오차도 없이 날카로운 암세포의 경계선을 완벽하게 복원해 색칠해 내는 신의 붓놀림을 획득하게 되었다.

📢 섹션 요약 비유: 엄청 복잡한 궁전 도면(고화질 사진)을 주머니에 넣으려고 마구 꾸겨서 접었습니다(CNN 압축). 나중에 이걸 꺼내서 다시 쫙 펴면(Up-sampling) 종이가 쭈글쭈글해져서 작은 방(윤곽선)의 경계선이 잘 안 보입니다. U-Net은 천재입니다. 종이를 꾸기기 직전의 '선명한 상태(고해상도)' 도면 복사본을 미리 빼돌려 보관해 둡니다(Skip Connection). 나중에 구겨진 종이를 다시 펼 때, 보관해 둔 선명한 복사본 도면을 그 위에 딱 겹쳐버립니다. 구겨진 종이에서 얻은 '전체적인 궁전의 느낌(엑기스)'과 복사본에서 얻은 '칼 같은 방 모서리 선(디테일 좌표)'이 합쳐져 완벽한 초고화질 컬러 도면으로 재탄생하는 기적의 복원술입니다.