Deep Live Cam 후기
최근에 굉장히 핫한 Deep Live Cam을 사용해본 후기를 포스팅해본다.
참고로 본인은 전문가가 아니고 찍먹러 다.
쓰고나서 읽어보니 별 내용은 없다 ㅎㅎ...
간단 배경 지식
딥페이크(deepfake)의 정의는 딥러닝 기술을 사용하는 인간 이미지 합성 기술이다.
많은 악용 사례들로 안좋은 이미지를 가지고 있지만 원래 뜻은 위와 같다.
deepfake
는 생성을 포함하는, 얼굴을 바꿔주는 face swap
보다 더 포괄적인 개념이다.
아래는 퍼온 개념이다.
딥페이크는 주로 GAN(Generative Adversarial Networks)을 기반으로 학습한 모델로 작동한다.
- 생성자는 소스 데이터를 바탕으로 타겟에 맞는 가짜 이미지나 영상을 생성
- 판별자는 생성된 콘텐츠가 진짜인지 가짜인지 판단
- 이 과정을 반복하며 생성된 결과물이 점점 더 실제와 구분하기 어려운 수준으로 발전
모델을 학습할 때 특정인의 이미지들로 학습하고, 해당 모델은 학습된 인물로만 생성할 수 있다고 알고 있었는데
Deep Live Cam은 추가적인 학습없이 한장의 이미지로 바로 얼굴을 바꿔주는 것이 흥미를 끌었다.
프로젝트 세팅
README에 이미 잘 정리되어 있어 세팅하는 건 어렵지 않았다.
venv
를 추천하는데, conda
로 해도 문제 없이 동작한다.
GPU 가속 관련해 CUDA와 apple silicon이 다르니 본인 컴퓨터에 맞추자.
모든 의존성을 설치하고 실행 명 렁어를 치면 권한을 물어보는데 허용하고 한번 더 실행하면 된다.
사용 후기

실행하면 해당 UI를 볼 수 있고, 매우 간단히 사용할 수 있다.
보면 face swap
으로 선택한 얼굴로 대상의 얼굴을 바꿔주는 것 같은데, 생각보다 자연스럽지만 약간 어색한 느낌은 있었다.
입쪽 영역은 변경 여부를 옵션으로 선택할 수 있다.
본인의 기기인 M1 Max 기준으로는 초당 1.5프레임정도 나와 좀 버벅이긴 해도, 캠모드도 테스트할 정도는 되었다.
생각보다 자연스럽게 바뀌는 대상도 있었지만, 하나의 이미지를 바탕으로 변환하다 보니 한계는 있어보인다.
4:6 정도? 어색한게 6이다. 본인은 크게 신경쓰지 않고 했지만
유사한 체형의 대상을 골라 사진을 정말 잘고르면 더 좋은 결과를 얻을 것 같다.
세팅부터 실행까지 간단해서, 관심있는 사람들은 한번 해보면 좋을 것 같다. 신기하긴 하다.
참고로 저장 파일명이 output
고정이어서 매번 바꾸기 불편하던데, 아래를 참고해서 초기 파일명을 바꿔줄 수 있다.
# ui.py
def select_output_path(start: Callable[[], None]) -> None:
...
initialfile=f"{modules.globals.target_path.split('/').pop().split('.')[0]}-output.png",
...