Xseg-더 빠른 효율로 deepfacelab모델 만들기

지난 글에서는 deepfacelab을 활용하여 모델 생성 방법을 다뤘습니다.

보다 효율적인 학습을 위해서는 초기에 사람이 얼굴의 윤곽을 지정해주고 이를 기반으로 모델을 학습시키는 것이 좋습니다. 이렇게 함으로써 모델 학습에 소요되는 시간을 크게 단축하면서도 더 나은 품질의 결과를 얻을 수 있습니다.

이 글에서는 더욱 빠르고 효율적인 학습을 위해 Xseg를 소개하고 사용방법에대해 알려드리겠습니다.


목차

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


XSeg란?

XSeg란?

DeepFaceLab에서 사용되는 마스킹 도구로, 얼굴 이미지와 배경을 구분하기 위해 사용되는 기술입니다. 이 기술은 딥페이크 생성과 관련된 작업에서 얼굴 영역을 정확하게 분리하고 수정할 수 있도록 도와줍니다. XSeg를 통해 이미지에서 얼굴 부분과 배경 부분을 정확하게 마스크로 나타내고 이를 모델 훈련 및 딥페이크 생성 과정에 활용할 수 있습니다. 이를 통해 딥페이크 모델의 품질을 향상시키고 실제 얼굴과의 유사성을 높일 수 있습니다.

전체적인 과정은 아래와 같습니다.

  1. 마스킹의 중요성: 딥페이크 작업에서는 원본 얼굴과 생성된 딥페이크 얼굴의 조화로운 결합이 필요합니다. 이를 위해서는 얼굴과 배경을 정확하게 분리해야 합니다. 이러한 작업을 수행하기 위한 핵심 도구로서 사용됩니다.
  2. 사전 작업: 사용하기 위해서는 먼저 DeepFaceLab 프로그램이 설치되어 있어야 합니다. 또한 소스(src) 이미지와 대상(dst) 이미지를 준비하고, 얼굴을 추출하고 분류해야 합니다. 추출된 얼굴 영역은 “wf” 또는 “head” 유형으로 분류되어야 합니다.
  3. 마스킹 작업: 추출된 얼굴 이미지에서 학습 영역을 지정합니다. 이 과정에서 이미지의 얼굴 영역을 더 정확하게 표시하여 얼굴과 배경을 분리합니다.
  4. 모델 학습: 모델을 학습시킵니다. 이때 배치 크기를 조절하여 학습을 진행하며, ‘스페이스’ 키와 ‘p’ 키를 사용하여 학습 진행 상황을 확인할 수 있습니다. 학습된 결과는 얼굴 영역의 마스크로 활용됩니다.
  5. 마스크 적용: 학습된 마스크를 실제 이미지에 적용하기 위해 실행 파일을 실행하고 이를 통해 얼굴 영역의 마스크가 이미지에 적용됩니다.
  6. 마스킹 검토: 마스크가 올바르게 적용되었는지 확인하기 위해 영역을 검토합니다.

역할 및 이점

주요 역할은 딥페이크 생성 과정에서 얼굴 영역과 배경 영역을 정확하게 분리하고, 딥페이크 모델에 현실적인 입력을 제공하는 것입니다. 이를 통해 딥페이크 모델은 보다 자연스러운 결과물을 생성할 수 있습니다. 이를 사용함으로써 얼굴 영역의 변화를 추적하고 조정할 수 있으며, 모델 학습의 품질을 향상시키는 데 기여합니다.

종합하면, 딥페이크 생성 작업에서 얼굴 영역을 정확하게 분리하는 핵심 도구로서 딥페이크의 품질과 실제 얼굴과의 유사성을 높이는 데 중요한 역할을 합니다. 사전 작업 및 사용 절차를 철저하게 따르면 딥페이크 작업의 전문성과 효율성을 크게 향상시킬 수 있습니다.


XSeg 시작하기 전 준비사항

XSeg 시작하기 전 준비사항

deepfacelive를위한 DFM 모델만들기 참고하여 시작하기 전에 다음과 같은 준비 단계를 완료해야 합니다:

  1. DeepFaceLab 설치: DeepFaceLab 프로그램을 설치하고 설정해야 합니다. DeepFaceLab의 일부로 사용되므로 프로그램이 설치되어 있어야 합니다.
  2. src 및 dst 이미지 준비: DeepFaceLab에서 사용될 소스(src) 이미지와 대상(dst) 이미지를 준비해야 합니다. 이 이미지들은 모델 훈련 및 딥페이크 생성 과정에 사용될 것입니다.
  3. 이미지 분류 및 얼굴 추출: 각 이미지에서 얼굴을 추출하고 얼굴 영역을 정확하게 분류해야 합니다. 분류된 이미지는 딥페이크 모델의 학습 및 생성 단계에서 사용될 것입니다.
  4. wf 또는 head 얼굴: 추출된 얼굴 이미지훈련시킬 모델이 “wf” 또는 “head” 유형이어야 합니다. 이것은 전체 얼굴(wf) 또는 머리(head) 영역이라는 뜻입니다. 이는 사용할 때 얼굴 영역을 더욱 정확하게 분리하고 조정하는 데 도움이 됩니다.

위의 단계를 완료하면 이미지에서 얼굴 영역을 더 정확하게 분리하고 마스킹할 수 있습니다. 이 도구를 사용하여 얼굴 영역을 더욱 정교하게 조정하고 모델 훈련 및 딥페이크 생성의 품질을 향상시킬 수 있습니다.


XSeg 시작하기

이제 추출된 얼굴들이 준비 되어 있다면 deepfacelab이 설치된 폴더안에

아래 두 실행파일을 실행해 줍니다 (src와 dst 둘다 작업해 줘야합니다.)
5.XSeg) data_dst mask – edit.bat
5.XSeg) data_src mask – edit.bat

얼굴을 클릭해 학습시킬 영역을 만들어줍니다 ( 마지막 점은 시작점과 동일합니다 )

XSeg 시작하기 1

사진 전부를 이 작업을 할 필요가 없습니다.

얼굴에 큰 변화가 있을때마다 마스킹해 줘야합니다.

src, dst 둘다 작업을 완료해 줍니다.

5.XSeg) train.bat 파일을 실행시켜줍니다. 배치는 4-16 알맞게 해 줍니다. 저는 6으로 했습니다.

XSeg 시작하기 2

이제 사전 작업한 얼굴모양을 기준으로 학습 영역을 자동으로 잡는 학습이 시작됩니다. ‘스페이스’ 키와 ‘p’ 키로 학습이 어떻게 진행되는지 확인할 수 있습니다. 얼굴의 영역이 잘 잡혀있고 경계선이 잘 나눠져있다면 엔터를 눌러 학습을 저장해 줍니다.

XSeg 시작하기 3

아래 두 파일을 실행시켜 적용이 되게합니다.
5.XSeg) data_dst trained mask – apply.bat
5.XSeg) data_src trained mask – apply.bat


이후에 아래 두파일을 실행시켜 마스킹이 잘 되었는지 확인해 줍니다.
5.XSeg) data_dst mask – edit.bat
5.XSeg) data_src mask – edit.bat

XSeg 시작하기 4

마스킹이 잘되어있다면 이제 deepfacelive를위한 DFM 모델만들기 를 참고하여 기존의 학습을 이어서 하면 됩니다.

이때 deepfacelab 훈련시 꼭 masked straining 항목에 y를 입력해 줘야합니다.

masked straining 항목에 y를 입력

최종적으로 적용이 잘되었다면 아래와 같이 급격히 학습이 더 잘되는 것을 알 수 있습니다.

XSeg 시작하기 5

결론

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”

XSeg를 이용하여 얼굴 영역과 배경 영역을 정확하게 분리하고 조정함으로써 딥페이크 결과물의 품질을 향상시키고 실제 얼굴과의 유사성을 증진할 수 있습니다. 정확한 작업 절차를 숙지하고 XSeg를 효과적으로 활용하는 것은 딥페이크 작업의 전문성과 효율성을 크게 향상시킬 것입니다.


함께 참고하면 좋은 글

1. deepfacelive:실시간 딥 페이크 만들어보기

2. deepfacelive를위한 DFM 모델만들기

3. Xseg-더 빠른 효율로 deepfacelab모델 만들기


3 thoughts on “Xseg-더 빠른 효율로 deepfacelab모델 만들기”

Leave a Comment