호돌찌의 AI 연구소
article thumbnail

이번 글에서는 MovetoMove 방식보다 영상 아웃풋이 더 부드럽게 나오고 퀄리티도 좋은 Temporal-kit에 대해서 알아보겠습니다. MovetoMove에 비해 설치할 것도 많고, 준비과정도 까다롭지만 최대한 순서대로 자세히 설명하려고 하니, 차근차근 따라와 주시면 되겠습니다.

 

ebsynth,ffmpeg 설치


 

우선 Temporal-kit 영상의 퀄리티를 높이기 위한 ebsynth를 설치하도록 하겠습니다. ebsynth는 동영상을 프레임을 보강해서 더 자연스럽게 만들어주는 프로그램입니다. 설치는 간단합니다.

  1. https://ebsynth.com/에 접속하셔서 설치파일을 다운로드 합니다.
  2. 설치한 경로에서 다운로드 완료된 파일을 압축 풀기하여 설치프로그램을 실행하여 설치합니다.

 

 

다음으로 ffmpeg를 다운로드합니다. FFmpeg 동영상을 프레임으로 잘라 이미지형식으로 나누거나, 반대로 이미지를 세팅한 프레임 값으로 연결하여 영상으로 만들어주는 역할을 합니다.

  1. https://www.gyan.dev/ffmpeg/builds/ 에 접속하셔서 ffmpeg-git-essentials.7z.ver 을 다운로드합니다.
  2. 다운로드가 완료되면 압축을 푸시고, bin폴더에 들어가셔서 실행파일 3개를 복사한 뒤 webui가 설치된 폴더에 따로 새 폴더를 만드셔서 안에 붙여 넣기 해줍니다.
  3. 윈도우창 찾기를 통해 ‘시스템 환경 변수 편집’을 검색하시고 실행합니다.
  4. 우측하단 환경 변수를 클릭하신 뒤, User에 대한 사용자 변수에 Path를 클릭하신뒤 편집을 클릭합니다.
  5. 우측 새로 만들기를 클릭하신 뒤, 2번에서 붙여 넣기 하셨던 폴더의 주소를 입력하고 확인을 누릅니다.
  6. 마찬가지로 아래 시스템 변수의 Path도 5번의 과정을 동일하게 해 줍니다.
  7. 윈도우창에 cmd를 입력하셔서 명령 프롬프트를 실행합니다. (Anaconda Prompt 가 아닙니다!)
  8. ffmpeg를 입력합니다. 정상적으로 설치가 되었으면 아래사진처럼 나옵니다.

 

 

Temporal-kit 설치


 

이제 webUI로 들어와서 Temporal-kit을 설치하도록 하겠습니다. 설치 방법은 앞선 포스트에서 계속 다뤘지만 설명하도록 하겠습니다.

  1. Extensions - Available - Load from을 입력합니다.
  2. 검색창에 Temporal을 입력하시고, [TemporalKit extras, animation, installed]을 설치합니다.
  3. Apply and restart UI를 클릭하셔서 webui를 Restart 해줍니다.

 

Temporal-kit을 통한 소스 동영상 프레임 나누기


 

이제 동영상을 생성해 보도록 하겠습니다. movetomove와 마찬가지로 동영상을 생성하는데 쓰일 소스 동영상이 필요합니다. movetomove보다 조금 더 긴 영상을 준비하셔도 됩니다.

  1. input영역에 준비한 소스 동영상을 업로드합니다.
  2. sides는 이미지 그리드를 얼마나 생성할지 입력하는 칸입니다. 4를 입력할 경우 4x4의 이미지 그리드를 생성합니다. 1로 설정하셔도 무방합니다.
  3. Heught Resolution은 최대 해상도입니다. 1024로 설정해 주었습니다.
  4. frames per keyframe은 각 키프레임이 책임지는 프레임 개수입니다. 5로 설정해 주었습니다.
  5. fps입력 값은 소스동영상의 fps값과 동일한 값을 입력하시는 게 가장 좋습니다. *frames per keyframe값이 5이고 fps 값이 30일 경우 초당 6의 프레임을 가진 동영상을 생성합니다. 영상의 퀄리티를 높이고 싶으시면 frames per keyframe을 낮추시면 됩니다. 하지만 생성에 걸리는 시간은 그만큼 늘어나게 됩니다.
  6. save settings를 클릭해 주시고, EBSynth Mode를 체크해 줍니다.
  7. 아래 Batch Run, Split Video 둘 다 체크해 주신 후 우측 상단의 Run을 눌러줍니다.
  8. 완료가 되면 설정하신 Target Folder 안에 소스동영상이 세팅된 프레임값으로 쪼개져서 저장이 되게 됩니다.

 

img2img를 통한 캐릭터 생성


 

이제 원본의 동영상의 인물을 나만의 캐릭터로 바꿔볼 차례입니다.

  1. img2img로 들어가셔서 모델, 프롬프트 등을 입력하시고 마음에 드는 캐릭터로 재 생성 해줍니다. *Batch를 통해 프레임별로 쪼개진 이미지를 전부 변환하기 전 만들 캐릭터를 확인하는 과정입니다.
  2. Batch 탭으로 들어가셔서, 프레임별로 쪼개진 이미지가 저장되어 있는 input폴더 주소를 입력합니다.
  3. 마찬가지로 그 아래 output폴더의 주소도 입력해 줍니다.
  4. Generate를 해줍니다. 이 과정에서 input 폴더에 있는 모든 이미지가 설정한 캐릭터로 만들어지게 됩니다. 모든 이미지를 전부 변환하기 때문에 시간이 많이 소요됩니다.

 

 

이제 다시 Temporal-kit 탭으로 돌아와 동영상을 계속 만들어 보도록 하겠습니다.

  1. Temporal-kit 탭 - 우측 끝 Ebsynth-Process 탭에 들어갑니다.
  2. input 폴더의 주소를 입력합니다 
    • input 폴더의 주소가 아니라 위의 과정에서 생성된 쪼개져있는 폴더(0번으로 시작해서 쭉 폴더가 생성되어 있습니다.) 가 있는 경로를 입력합니다.
  3. input 비디오는 원본 소스 영상을 업로드해도 되지만, 아래 read_last_settings를 누르면 기존에 세팅하셨던 값과 원본 영상이 자동으로 업로드됩니다.
  4. prepare ebsynth를 클릭합니다.
  5. 0번~ 폴더를 확인해 보시면 자동으로 여러 가지 폴더들이 생성되는 것을 확인할 수 있습니다.
  6. 미리 다운로드하였던 ebsynth를 실행하면 아래와 같은 창이 뜨게 됩니다.

 

 

  1. keyframes 칸에 0번 폴더에 생성된 keys 폴더를 드래그해 주소를 복사해 줍니다.
  2. video 칸에 동일한 폴더의 frames 폴더를 드래그해 주소를 복사해 줍니다.
  3. 하단 Run All을 누르게 되면 동일 폴더에 out_ 으로 시작되는 폴더들이 생성되게 됩니다.
  4. 0번 폴더 다음 1번 폴더, 2번 폴더 순으로 동일 작업을 반복해 줍니다. *상단 Dir 경로가 0번에서 다음 폴더로 바뀌지 않을 경우 새로 Ebsynth 창을 띄워 드래그하면 자동으로 다음폴더로 경로가 바뀌게 됩니다.
  5. 생성된 번호 폴더의 모든 작업을 완료하시면 다시 Temporal-kit- Ebsynth-Process로 돌아옵니다.
  6. 하단 recombine ebsynth를 눌러주시면 최종적으로 동영상 생성이 완성됩니다.

 

여기까지 Temporal-kit을 활용한 동영상 만들기를 해보았습니다. 마지막으로 배워본 동영상 생성 툴인만큼 생성까지 준비하고 세팅할 것들이 많지만 가장 안정적이고 높은 퀄리티의 영상을 만들 수 있다는 점이 다른 동영상생성 툴과 비교되는 점이라고 할 수 있겠습니다.

스테이블디퓨전은 오픈소스 라이선스로 배포가 되었기 때문에 무료로 쓸 수 있고 수많은 유저들이 학습시킨 모델들을 선택해서 사용할 수 있다는 점. 그리고 개인의 PC로 실행 즉 '로컬 환경'으로 설치 및 실행한다는 점이 특징입니다. (물론 사양이 중요한 영역입니다.)

그리고 생성이미지의 퀄리티가 사용자가 얼마나 능숙하게 다루냐에 따라 어마어마한 편차를 보이기 때문에, 여기까지 배워온 자료들을 바탕으로 실습을 진행하시면서 스테이블디퓨전의 실력을 키워보시기 바랍니다.

지금까지 긴 글 봐주셔서 감사합니다.

 


[이전 글 목록]

2024.03.18 - [AI/GenAI - Image] - [메타코드] 생성형 AI 입문 완성강의 - Text2Image & ControlNet

2024.03.19 - [AI/GenAI - Image] - [메타코드] 생성형 AI 입문 완성강의 - Image2Image

2024.03.20 - [AI/GenAI - Image] - [메타코드] 생성형 AI 입문 완성강의 - Inpaint

2024.03.21 - [AI/GenAI - Image] - [메타코드] 생성형 AI 입문 완성강의 - Dreambooth를 활용한 나만의 모델 학습하기

2024.03.22 - [AI/GenAI - Image] - [메타코드] 생성형 AI 입문 완성강의 - Lora를 통한 모델학습

2024.03.23 - [AI/GenAI - Image] - [메타코드] 생성형 AI 입문 완성강의 - Deforum을 사용해서 동영상 생성해보기

2024.03.24 - [AI/GenAI - Image] - [메타코드] 생성형 AI 입문 완성강의 - SD 동영상 생성: MovetoMove & AnimateDiff

 

본 글은 메타코드 서포터즈 활동을 위해서 강의를 제공받아 작성하였습니다.

메타코드M은 빅데이터, AI 강의를 제공하는 플랫폼이자 IT 현직자 모임을 위한 커뮤니티입니다. 이곳에서는 다양한 IT 분야의 전문 지식과 실무 기술을 배울 수 있는 온라인 강의를 제공하고, 같은 분야에 관심이 있는 사람들과 소통할 수 있는 공간을 제공합니다. 빅데이터 자격증, 데이터 분석, 프로그래밍, 인공지능 등 다양한 분야의 강의와 현직자 커리어 특강을 통해 IT 분야의 전문 지식과 실무 기술을 배우고 커리어를 발전시킬 수 있습니다.

 SD 강의

https://mcode.co.kr/video/list2?viewMode=view&idx=84

 

메타코드M

빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다.

mcode.co.kr

 

https://www.youtube.com/@mcodeM

 

메타코드M

🔥강의 / 커뮤니티에 참여해 보세요!🔥 https://mcode.co.kr ⚡️강의 플랫폼 (1) 빅데이터 자격증 강의 - 빅데이터 분석기사 / SQLD / ADsP (2) 데이터분석 입문/실습 강의 (3) AI 개발/이론 강의 (4) ChatGPT

www.youtube.com

profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!