버튼을 누르면 1초 뒤 사진의 배경이 사라지고, 투명을 뜻하는 깔끔한 체커보드 패턴으로 바뀝니다. 마법처럼 느껴지지만 마법은 없고, IMG.DIY에서는 작업을 대신하는 서버도 없습니다. 클릭과 오려내기 사이에서 실제로 무슨 일이 일어나는지 살펴보겠습니다.

진짜 과제: 어떤 픽셀이 "피사체"인지 판단하기

AI 배경 제거는 실제로 어떻게 작동할까? — visual 1
진짜 과제: 어떤 픽셀이 "피사체"인지 판단하기

배경 제거는 사실 라벨링 문제입니다. 이미지의 모든 픽셀 하나하나에 대해 소프트웨어는 한 가지 질문에 답해야 합니다. 이것은 피사체의 일부인가, 배경의 일부인가? 이걸 전부 처리하면 마스크가 나옵니다. 흰색은 "유지", 검은색은 "삭제"를 뜻하는 흑백 지도죠. 이 마스크를 원본 위에 얹고 검은 영역을 버리면 오려낸 결과가 나옵니다.

이 작업은 컴퓨터 비전에서 이름이 있습니다. 이미지 세그멘테이션(image segmentation) 이죠. 구체적으로 배경 제거는 돌출 객체 세그멘테이션(salient object segmentation) 을 사용합니다. 즉 모델이 사람이 봤을 때 사진이 "무엇에 관한 것"이라고 말할 그 하나를 찾아 나머지 전부와 분리하려 시도한다는 뜻입니다.

모델은 어떻게 피사체를 보는 법을 배웠나

AI 배경 제거는 실제로 어떻게 작동할까? — visual 2
모델은 어떻게 피사체를 보는 법을 배웠나

모델은 "사람 모양인 것을 잡아라" 같은 손으로 쓴 규칙을 따르지 않습니다. 사람이 이미 완벽한 마스크를 손으로 그려 둔 수만 장의 이미지로 학습된 신경망입니다. 학습 중에 신경망은 추측을 하고, 사람의 정답과 비교되고, 조금 덜 틀리도록 스스로를 아주 미세하게 조정합니다. 이것을 수백만 번 반복하면, 신경망은 전경 객체를 주변에서 분리하는 시각적 패턴을 배웁니다 — 가장자리, 질감 변화, 초점, 대비, 그리고 피사체가 보통 중앙 근처에 자리 잡는 방식 같은 것들이죠.

IMG.DIY의 배경 제거 도구는 바로 이 목적으로 잘 알려진 아키텍처인 U²-Net 계열 모델을 사용합니다. 두 가지 버전이 있습니다.

  • u2netp — 작고 빠른 4MB 모델. 피사체가 뚜렷하고 빠른 작업에 좋습니다.
  • silueta — 더 큰 43MB 모델로, 더 깨끗한 가장자리를 만들어 세밀한 오려내기에 적합합니다.

둘 다 이미지를 입력받아 학습된 필터의 여러 층을 통과시킨 뒤 그 "유지 또는 삭제" 마스크를 출력합니다.

왜 서버가 아니라 브라우저에서 실행되나

대부분의 배경 제거기는 사진을 데이터 센터로 업로드하고, 자기네 하드웨어에서 모델을 실행한 뒤 결과를 돌려보냅니다. 작동은 하지만, 아무리 잠깐이라도 여러분의 이미지가 남의 컴퓨터에 놓인다는 뜻입니다.

IMG.DIY는 다르게 합니다. 같은 종류의 신경망이 두 가지 웹 기술을 이용해 여러분의 브라우저 안에서 실행됩니다.

  • WebAssembly (WASM) 는 브라우저가 컴파일된 거의 네이티브 속도의 코드를 실행하게 해 주는데, 이는 모델의 연산에 필요한 것입니다.
  • ONNX Runtime 은 그 환경에서 학습된 모델을 실제로 실행하는 엔진입니다.

모델 파일은 한 번 다운로드되고, 그다음 모든 계산은 여러분 자신의 CPU(또는 GPU)에서 일어납니다. 사진은 디스크에서 읽혀 숫자 격자로 바뀌고, 신경망을 통과한 뒤 오려낸 결과로 재조립됩니다. 이 모든 과정에서 단 1바이트도 여러분의 기기를 떠나지 않습니다.

브라우저 내 처리가 여러분에게 갖는 의미

이 설계에서 세 가지 실질적인 결과가 따라 나옵니다.

프라이버시가 약속이 아니라 구조다. 수많은 사이트가 "우리는 여러분의 이미지를 보관하지 않는다"고 말합니다. 여기서는 이미지가 애초에 어디로도 전송되지 않으니 보관할 것 자체가 없습니다. 이것은 신분증 사진, 문서, 제품 시제품, 또는 낯선 서버에 넘기고 싶지 않은 무엇에서 가장 중요합니다.

오프라인에서 작동한다. IMG.DIY는 서비스 워커를 갖춘 PWA이기 때문에 연결이 없어도 도구가 계속 작동합니다. 배경 제거에는 한 가지 단서가 붙습니다. 모델은 처음 한 번 다운로드해야 합니다(위의 4MB 또는 43MB 파일). 그 뒤에는 비행기에서든, 기차에서든, 불안정한 호텔 연결에서든 배경을 오려낼 수 있습니다.

대기열도, 업로드 대기도 없다. 공유 서버를 두고 다른 사용자와 경쟁하지 않고, 큰 사진이 업로드되기를 기다릴 일도 없습니다. 처리 속도는 여러분 기기에 달려 있어, 요즘 노트북이라면 대부분의 이미지를 몇 초 만에 처리합니다.

모델이 여전히 어려워하는 곳

작동 원리를 이해하면 어디서 잘 안 되는지도 알 수 있습니다. 날리는 머리카락이나 털처럼 가늘고 가느다란 디테일은 정말 어렵습니다. 한 가닥이 모델의 확신보다 얇아서 가장자리를 따라 "배경"이라고 추측할 수 있기 때문입니다. 대비가 낮은 장면(회색 소파 위의 회색 고양이)은 신경망이 분리할 단서를 거의 주지 못합니다. 그리고 색과 질감이 피사체와 비슷한 복잡한 배경은 라벨링을 헷갈리게 할 수 있습니다.

뚜렷한 배경 위의 깔끔한 피사체라면 결과가 훌륭합니다. 어려운 경우에는 가장자리를 빠르게 손으로 다듬으면 마무리됩니다. 어느 쪽이든 전 과정은 여러분의 기기에서, 브라우저 탭 안에서, 몇 초 만에 일어나며, 좋은 배경 제거 도구가 무거운 일을 도맡습니다.