오픈 소스 무료 얼굴 변경 도구 | roop-unleashed
Roop를 잇는 새 프로젝트
이름에서 알 수 있듯 roop-unleashed는 종료된 「Roop」를 계승하는 새로운 프로젝트다. NVIDIA 제품의 TensorRT/CUDA 뿐만 아니라 AMD/INTEL 사용자를 위한 dml GPU 가속도 지원한다. 「FaceFusion」의 경우 dml 가속을 사용해 동영상 얼굴 교체 작업을 진행하면 작업 도중 프로그램이 강제 종료되는 문제가 있었는데, roop-unleashed는 테스트 도중 그런 불상사는 없었다.
사진/비디오에 등장하는 인물을 다른 얼굴로 교체하는 기본 기능 외에도 여러 인물을 동시에 교체한다거나, 소스에 여러 얼굴이 등장하는 경우 Masking 기술을 통해 선택적 교체가 가능하다. 또한, 실시간 얼굴 변경 기술도 있는데, 사용자는 생방송 중에 실시간으로 얼굴 교체를 수행할 수 있다.
roop-unleashed 다운로드
roop-unleashed 다운로드: 링크
roop-unleashed 변경 로그: 링크
테스트에 사용한 소스: pixabay.com
roop-unleashed 사용 시 주의점
이 프로젝트는 기술 및 학술 용도로만 사용됩니다. 이 소프트웨어의 사용자는 현지 법률을 준수하면서 책임감 있게 이 소프트웨어를 사용해야 합니다. 실제 사람의 얼굴을 사용할 때는 해당인의 동의를 구하고, 콘텐츠를 온라인에 게시할 때 딥페이크임을 분명히 언급하는 것이 좋습니다. 이 소프트웨어의 개발자는 최종 사용자의 행동에 대해 책임지지 않습니다. 불법적이고 비윤리적인 상황에는 적용하지 마세요.
사용자가 거주하는 국가 또는 지역의 법적, 윤리적 요구 사항을 위반하는 경우 본 코드 저장소는 책임이 면제됩니다.
roop-unleashed 사용하기
내려받은 파일을 경로에 한글과 공백이 없는 폴더에 압축 해제하자.
(윈도우용 설치 파일인) windows_run.bat 파일을 exe 파일 다루듯 더블클릭하지 말고, 해당 폴더에서 명령 프롬프트 창을 열어 실행하자(왼쪽 시프트키 + 마우스 우클릭 메뉴 이용).
대략 12GB 정도의 파일을 다운로드하게 될 것이다. FaceFusion보다 기능이 많아서인지 설치 용량이 꽤 된다.
모든 다운로드와 설치가 완료되면 WebUI(http://127.0.0.1:7860) 창이 자동으로 열린다.
NVIDIA 사용자는 [설정] [Provider]에서 cuda, tensorrt를 선택할 수 있는데 AMD/INTEL 사용자를 위한 dml은 기본 설치에 포함되어 있지 않다. dml 활성화를 위한 별도의 작업이 필요하다는 말이다.
windows_run.bat 실행 중인 창에서 Ctrl+C를 입력해 roop-unleashed를 종료한 다음 바로 그 명령 프롬프트 창에서 ‘pip install onnxruntime-directml’ 명령을 사용해 dml을 설치한다. 그리고 다시 roop-unleashed을 실행하면 dml을 사용할 수 있다.
하지만 막상 딥페이크 작업을 시작하면,
Warning ffmpeg is not installed! No video processing possible
오류로 작업이 중단될 것이다. 이 문제는 installer_files 폴더에 있는 ‘ffmpeg xxxx’ 폴더 이름을 ffmpeg로 변경하고 윈도우를 재시작하면 해결된다.
이제 Source File(사진) Target File(사진, 동영상)을 선택하고 딥페이크 작업을 시작할 수 있다(Target에 있는 얼굴을 Source에 있는 얼굴로 교체). 최상의 결과물은 얻기 위해선 다양한 설정을 다룰 줄 알아야 하므로 나름의 노력과 학습이 필요할 것이다.
한 가지 방법은 [설정]에서 [Video Quality (crf)] 값을 0(최고 품질)으로 설정할 것을 추천하고, post-processing도 반드시 선택해 줘야 깔끔한 영상이 제작된다.
post-processing은 Codeformer 또는 GFPGAN을 추천하는데, 둘 다 괜찮은 결과물을 보장하지만, Codeformer가 GFPGAN보다 작업 시간이 훨씬 더 많이 걸린다. Codeformer는 얼굴 보정이 많이 필요한 소스에 사용하는 것을 권장한다.
post-processing, Codeformer vs GFPGAN
Source 사진: 어린이-소년들-어린이들-빈곤 | Target 동영상: 남성-웃다-웃고있는-행복하다
roop-unleashed, 특정 얼굴 선택 교체
Target 동영상에 여러 인물이 등장하는 경우 특정 인물의 얼굴을 선택 교체하는 것이 가능하다.
[Specify face selection for swapping]는 [Selected face]를 선택한 상태에서, [Advanced Masking]의 [Show mask overlay in preview], [Face masking engine](테스트에선 Clip2Seg 사용)을 선택하고, [Show Mask Preview]를 클릭하면, [Detected faced]에 선택할 수 있는 얼굴이 표시된다.
만약 아무것도 표시되지 않으면, 우측 미리보기 화면의 [Frame Number] 부분에서 얼굴이 잘 나온 프레임을 선택하고 [Use Face from this Frame]을 클릭한 다음 다시 [Show Mask Preview]를 해보자.
Source 사진: 어린이-소년들-어린이들-빈곤 | Target 동영상: 일하다-사무실-사람들
0 comments:
댓글 쓰기
댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요