SadTalker 무료 AI 아바타 스테이블 디퓨전 WebUI로 만들기

최근들어 AI 그림 및 사진의 퀄리티가 비약적으로 발전하면서 많은 분들이 AI 영상에도 관심을 가지기 시작했습니다. 가정에서도 무료로 설치 및 사용 가능한 대표적인 AI 생성 툴인 스테이블 디퓨전 WebUI에서도 AI영상을 만들 수 있는 다양한 기술들이 공개되고 있습니다.

지난 글에서는 정적인 사진으로부터 AI가 임의로 모션을 만들어내는 SVD(Stable Video Diffusion)에 대해 소개드린 바 있습니다. 이번에는 정적인 인물 사진으로부터 음성 파일에 맞춰 말하는 아바타를 생성하는 기능인 SadTalker에 대해 구체적으로 알아보도록 하겠습니다.

SadTalker 설치 방법

SadTalker를 사용하기 위해서는 준비 과정이 조금 필요합니다. 영상 관련 확장프로그램이기에 단순히 설치만 하면 동작하는 다른 확장프로그램들과 달리 추가로 FFmpeg 설치 및 SadTalker 전용 모델을 다운받아 주셔야 정상적으로 동작합니다.

FFmpeg 설치

FFmpeg은 영상을 프레임별로 잘라 이미지로 나누거나, 반대로 이미지를 다시 설정한 프레임 값으로 묶어 영상으로 만들어주는 역할을 합니다. 또한 영상에서 음성을 분리하고 다시 합하는 것도 가능하며, 확장자를 변경하는 것도 가능합니다. 다양한 AI 영상 기술은 물론, 영상 편집 프로그램 등에서 널리 사용되고 있으므로 꼭 지금 소개드리는 SadTalker가 아니더라도 활용할 곳이 많기 때문에 설치해두시기 바랍니다.

먼저 FFmpeg 설치를 위해 공식 사이트(https://ffmpeg.org)로 접속한 뒤 메인 화면에서 바로 다운로드 버튼을 찾아 눌러줍니다. 아래 이미지를 참고하여 Release builds에서 Windows용 압축파일을 다운받습니다. 7z와 zip은 압축 방식 차이일 뿐이므로 둘중 편한 파일을 받으시면 됩니다.

FFmpeg 다운로드 페이지

압축을 풀면 3개의 파일이 나타나는데요, 어차피 환경변수 경로 설정을 할 예저이므로 이 파일들을 PC 내 실수로 지울일이 없는 위치에 옮겨둡니다. 아래 예시에서는 C드라이브에 새로 폴더(path_programs)를 만들어 옮겨두었습니다.

FFmpeg 압축해제 파일

이제 3개의 파일이 담겨있는 이 폴더의 경로 자체를 아래 그림과 같이 시스템 환경변수로 등록해줍니다. 환경변수의 개념과 경로 설정에 방법에 대한 구체적인 안내가 필요하신 분들은 아래 글을 참고해주세요.

FFmpeg 환경변수 경로 설정

이제 환경변수까지 설정을 마쳤으므로 터미널을 열어 제대로 설정된 것을 확인해야 합니다. 터미널을 열고 아래 그림과 같이 ffmpeg를 입력해봅니다.

FFmpeg 터미널 버전 확인

모든 설치 과정이 정상적으로 진행되었다면 위 그림과 같이 터미널 상에서 ffmpeg의 설치 버전을 확인할 수 있습니다.

SadTalker 확장기능 설치

SadTalker 확장기능 자체를 설치하는 방법은 다른 확장 기능 설치 방법과 동일합니다. 아래 그림과 같이 Extensions 탭에서 Available로 이동하여 Sadtalker를 검색하여 설치 하거나 아래의 주소를 복사하여 Install from URL을 통해 설치할 수 있습니다.

SadTalker 설치 방법

https://github.com/OpenTalker/SadTalker

확장 프로그램 설치 이후에는 꼭 WebUI를 재시작하여 설치한 확장프로그램 탭이 새로 생성된 것을 확인하시기 바랍니다.

SadTalker Model 다운로드

이제 마지막 단계입니다. SadTalker를 이용하기 위한 전용 모델을 다운받아야 합니다. 아래 링크에서 그림을 참고하여 상단의 4개 모델을 다운받습니다.

SadTalker Models

다운받은 모델은 아래 그림처럼 WebUI 설치 폴더의 extensions > SadTalker에 checkpoints라는 폴더를 새로 만들고 그 폴더에 이동시켜주시면 됩니다.

SadTalker 모델 다운로드 경로

확장자가 safetensors인 두 모델은 용량이 700MB에 이르는데요, 나중에 영상을 생성할 때 얼굴을 감지하고 움직임을 생성하는 FACE모델의 해상도의 차이가 있습니다. 고화질(512)로만 진행하실 분들은 저화질(256) 버전은 받지 않으셔도 무방합니다.

SadTalker AI 아바타 생성하기

이제 모든 설치 과정이 마무리되었으므로 실제로 말하는 AI 아바타를 생성해보도록 하겠습니다. 먼저 아바타가 되어줄 정지 이미지와, 음성이 필요합니다.

이미지 준비

이미지는 스테이블 디퓨전이 얼굴로 인식할 수 있는 사진이면 모두 가능하지만, 여기서는 AI 아바타를 만들것이라고 말씀드렸으므로 인물 사진도 WebUI에서 직접 생성해서 사용하겠습니다.

컨트롤넷 오픈포즈를 사용해 SadTalker 아바타 정면 이미지 생성

중요한 점은 아바타의 말하는 모습을 만들어야 하기 때문에 되도록 정면을 잘 바라보는 구도가 필요합니다. 컨트롤넷 오픈포즈를 활용해 512×512 해상도를 가지는 정면을 바라본 인물을 생성합니다. 정면을 말하는 아바타의 말에 신뢰도(?)를 갖추기 위해 프롬프트에 Suit를 추가로 입력하여 생성했습니다.

음성 준비

음성은 그림 생성 툴인 WebUI에서 직접 준비할 수는 없습니다. 본인의 음성을 직접 녹음하셔도 무방하며, 마땅히 음성파일이 없는 분들은 테스트를 위해 아래와 같이 네이버 클로바더빙에서 무료 플랜으로 음성을 생성하여 사용하셔도 됩니다.

네이버 클로바더빙

무료 플랜으로 제작한 음원의 경우 추후 제작된 영상을 유투브 등의 공개 플랫폼에 업로드 하실 때 워터마크를 삽입해야 합니다. 여기서는 테스트를 위해 “안녕하세요 오늘은 SadTalker를 이용해 말하는 AI 아바타를 만들어보겠습니다.”라는 음성을 생성하였습니다.

SadTalker AI 아바타 생성

이제 정말 재료까지 다 준비가 되었습니다. 이제 실제로 말하는 AI 아바타를 생성해보도록 하겠습니다.

SadTalker 아바타 생성방법

먼저 SadTalker 탭에서 좌측에 위에서 준비한 이미지와 오디오를 각각 업로드 합니다. Settings 창에서는 몇가지 옵션을 바꿔줄 수 있는데요, Pose style은 0부터 46까지 총 47개의 스타일로 변경이 가능합니다. 위에서 설명드린 것처럼 face model resolution은 512로 설정할 경우 더 높은 품질의 영상이 생성됩니다.

이미지를 예시처럼 얼굴 중심으로 잘 준비하셨다면 전처리(preprocess)에서는 full을 체크해주시는 것이 좋습니다. crop 또는 resize를 선택하면 얼굴을 중심으로 잘라서 진행하거나, 이미지의 비율을 변경하여 영상이 만들어집니다.

그 아래 Still Mode는 조금더 정적인 영상을 만들어준다는 것인데요, 앞서 전처리를 full로 진행하는 경우에만 사용 가능하다고 합니다. 실제로 생성되는 영상의 얼굴 움직임지 줄어들어 조금 더 정돈된 느낌을 줍니다.

SadTalker로 만든 말하는 AI 아바타

이렇게 설정하고 Generate를 누르면 수분 내로 영상이 생성됩니다. 음성의 길이에 따라 영상의 길이도 결정되므로 긴 음성을 사용할경우 더욱 오랜 시간이 필요합니다. 네이버 클로바더빙을 무료 플랜으로 사용 중이기에 위의 예시는 생성된 영상에서 음성은 제하고 움짤로 만든 모습입니다.

맺음말

우리말 음성파일과 영어 음성파일을 기반으로 SadTalker 영상을 각각 제작해 비교해본 경우 영어 영상이 무언가 조금 더 자연스럽다는 느낌을 받았습니다. 게다가 음성에 잡음이 있으면 해당 잡음에 맞춰서 아바타가 입을 움직이기도 합니다. 즉, 아바타가 정확히 대사를 치도록 하려면 잡음 없는 음성파일로 영상을 제작하는 것이 좋을 것 같습니다.

1 thought on “SadTalker 무료 AI 아바타 스테이블 디퓨전 WebUI로 만들기”

Comments are closed.