얼굴 필터는 어떻게 작동할까? 468개 점과 워핑 기술의 비밀

카메라를 켜는 순간 내 얼굴 위에 수염이 붙고, 눈이 커지고, 얼굴이 길어진다. 스노우·인스타그램·틱톡, 그리고 morphly까지 — 모든 AR 얼굴 필터의 밑바닥에는 놀랍도록 비슷한 기술 파이프라인이 깔려 있다. 개발 지식이 없어도 이해할 수 있게 차근차근 풀어본다.

1단계. 얼굴 위에 468개의 점 찍기 — 페이스 메시

필터의 출발점은 "얼굴이 어디에, 어떤 모양으로 있는가"를 아는 것이다. morphly는 구글이 공개한 MediaPipe Face Mesh라는 온디바이스 AI 모델을 사용한다. 이 모델은 카메라 프레임 한 장을 받아 얼굴 표면의 468개 지점(랜드마크)의 3차원 좌표를 돌려준다. 눈꼬리, 콧대, 입꼬리, 턱 끝처럼 의미 있는 지점마다 번호가 붙어 있어, "152번 점 = 턱 끝"처럼 얼굴의 지도를 얻게 되는 셈이다.

초당 24~30회씩 이 지도를 갱신하기 때문에 고개를 돌리거나 웃어도 필터가 얼굴을 따라온다. 영상 통화 배경 흐리기, 시선 추적, 가상 화장 같은 기능도 모두 이 랜드마크 기술의 친척들이다.

2단계. 점을 움직여 얼굴 바꾸기 — 워핑

랜드마크를 얻었다면 이제 얼굴을 변형할 차례다. 핵심 아이디어는 의외로 단순하다.

원본 이미지의 점들을 원하는 위치로 옮기고, 그 사이의 픽셀을 자연스럽게 늘리거나 줄인다.

예를 들어 스트라이커 필터의 '하관 늘리기'는 턱 주변 랜드마크 30여 개를 입 중심에서 바깥쪽으로 1.3배 밀어낸 뒤, 원본 픽셀이 새 위치를 따라가도록 이미지를 다시 그리는 것이다. 이때 쓰이는 대표적인 기법이 두 가지 있다.

들로네 삼각분할 (Delaunay Triangulation)

점들을 꼭짓점 삼아 얼굴을 수십 개의 삼각형으로 쪼갠다. 각 삼각형은 "원래 위치"와 "이동 후 위치"를 갖게 되는데, 삼각형 단위로 이미지를 잘라 새 위치에 맞춰 붙이면(아핀 변환) 전체적으로 매끄럽게 변형된 얼굴이 완성된다. 삼각형이 뾰족하고 길쭉하면 왜곡이 심해지므로, 가능한 한 정삼각형에 가깝게 쪼개 주는 것이 들로네 방식의 장점이다.

GPU 셰이더 워핑

더 빠른 방법은 그래픽 카드(GPU)에 일을 맡기는 것이다. 화면의 모든 픽셀에 대해 "이 픽셀은 원본의 어느 위치에서 색을 가져올까?"를 병렬로 계산하는 작은 프로그램(셰이더)을 돌리면, 수백만 픽셀의 변형도 몇 밀리초 만에 끝난다. morphly는 기기 성능에 따라 CPU 삼각분할 방식과 WebGL2 셰이더 방식을 자동으로 오간다.

3단계. 색을 입히기 — 스타일 필터

형태 변형과 별개로, 픽셀의 색을 바꾸는 계열이 스타일 필터다. morphly의 예로 보면:

4단계. 3D 소품 붙이기 — 수염과 액세서리

수염 같은 입체 소품은 또 다른 방식이 필요하다. 랜드마크의 3차원 좌표로 얼굴의 기울기·회전을 계산한 뒤, WebGL(Three.js) 장면 안에 수염 모델을 배치하고 얼굴 움직임에 맞춰 매 프레임 자세를 갱신한다. 고개를 옆으로 돌리면 수염도 함께 돌아가는 이유다.

왜 '온디바이스'가 중요할까?

과거의 일부 필터 서비스는 사진을 서버로 올려 처리했다. 반면 최근의 얼굴 필터는 대부분 온디바이스 — 즉 모든 계산이 사용자의 폰/PC 안에서 끝난다. 차이는 생각보다 크다.

구분서버 처리온디바이스 처리 (morphly)
내 얼굴 영상네트워크로 전송됨기기 밖으로 나가지 않음
지연 시간왕복 수백 ms수 ms — 실시간 30fps 가능
오프라인불가능가능 (PWA 설치 시)
유출 위험서버 보안에 의존구조적으로 원천 차단

morphly가 회원가입 없이 동작하고 비행기 모드에서도 필터가 돌아가는 것은 이 구조 덕분이다. 얼굴 데이터는 처리 즉시 버려지며, 저장되는 것은 여러분이 직접 셔터를 눌러 찍은 결과물뿐이다.

정리

  1. AI 모델이 매 프레임 얼굴에서 468개 점을 찾는다.
  2. 점을 옮기고 픽셀을 따라 늘리면 워프 필터가 된다.
  3. 픽셀의 색 규칙을 바꾸면 스타일 필터가 된다.
  4. 3D 모델을 얼굴 자세에 맞춰 그리면 AR 소품이 된다.
  5. 이 모든 것이 기기 안에서 끝나므로 빠르고 안전하다.

원리를 알았으니, 이제 직접 눈으로 확인할 차례.

📷 morphly 카메라 열기