이번 글에서는 MovetoMove 방식보다 영상 아웃풋이 더 부드럽게 나오고 퀄리티도 좋은 Temporal-kit에 대해서 알아보겠습니다. MovetoMove에 비해 설치할 것도 많고, 준비과정도 까다롭지만 최대한 순서대로 자세히 설명하려고 하니, 차근차근 따라와 주시면 되겠습니다.
ebsynth,ffmpeg 설치
우선 Temporal-kit 영상의 퀄리티를 높이기 위한 ebsynth를 설치하도록 하겠습니다. ebsynth는 동영상을 프레임을 보강해서 더 자연스럽게 만들어주는 프로그램입니다. 설치는 간단합니다.
- https://ebsynth.com/에 접속하셔서 설치파일을 다운로드 합니다.
- 설치한 경로에서 다운로드 완료된 파일을 압축 풀기하여 설치프로그램을 실행하여 설치합니다.
다음으로 ffmpeg를 다운로드합니다. FFmpeg 동영상을 프레임으로 잘라 이미지형식으로 나누거나, 반대로 이미지를 세팅한 프레임 값으로 연결하여 영상으로 만들어주는 역할을 합니다.
- https://www.gyan.dev/ffmpeg/builds/ 에 접속하셔서 ffmpeg-git-essentials.7z.ver 을 다운로드합니다.
- 다운로드가 완료되면 압축을 푸시고, bin폴더에 들어가셔서 실행파일 3개를 복사한 뒤 webui가 설치된 폴더에 따로 새 폴더를 만드셔서 안에 붙여 넣기 해줍니다.
- 윈도우창 찾기를 통해 ‘시스템 환경 변수 편집’을 검색하시고 실행합니다.
- 우측하단 환경 변수를 클릭하신 뒤, User에 대한 사용자 변수에 Path를 클릭하신뒤 편집을 클릭합니다.
- 우측 새로 만들기를 클릭하신 뒤, 2번에서 붙여 넣기 하셨던 폴더의 주소를 입력하고 확인을 누릅니다.
- 마찬가지로 아래 시스템 변수의 Path도 5번의 과정을 동일하게 해 줍니다.
- 윈도우창에 cmd를 입력하셔서 명령 프롬프트를 실행합니다. (Anaconda Prompt 가 아닙니다!)
- ffmpeg를 입력합니다. 정상적으로 설치가 되었으면 아래사진처럼 나옵니다.
Temporal-kit 설치
이제 webUI로 들어와서 Temporal-kit을 설치하도록 하겠습니다. 설치 방법은 앞선 포스트에서 계속 다뤘지만 설명하도록 하겠습니다.
- Extensions - Available - Load from을 입력합니다.
- 검색창에 Temporal을 입력하시고, [TemporalKit extras, animation, installed]을 설치합니다.
- Apply and restart UI를 클릭하셔서 webui를 Restart 해줍니다.
Temporal-kit을 통한 소스 동영상 프레임 나누기
이제 동영상을 생성해 보도록 하겠습니다. movetomove와 마찬가지로 동영상을 생성하는데 쓰일 소스 동영상이 필요합니다. movetomove보다 조금 더 긴 영상을 준비하셔도 됩니다.
- input영역에 준비한 소스 동영상을 업로드합니다.
- sides는 이미지 그리드를 얼마나 생성할지 입력하는 칸입니다. 4를 입력할 경우 4x4의 이미지 그리드를 생성합니다. 1로 설정하셔도 무방합니다.
- Heught Resolution은 최대 해상도입니다. 1024로 설정해 주었습니다.
- frames per keyframe은 각 키프레임이 책임지는 프레임 개수입니다. 5로 설정해 주었습니다.
- fps입력 값은 소스동영상의 fps값과 동일한 값을 입력하시는 게 가장 좋습니다. *frames per keyframe값이 5이고 fps 값이 30일 경우 초당 6의 프레임을 가진 동영상을 생성합니다. 영상의 퀄리티를 높이고 싶으시면 frames per keyframe을 낮추시면 됩니다. 하지만 생성에 걸리는 시간은 그만큼 늘어나게 됩니다.
- save settings를 클릭해 주시고, EBSynth Mode를 체크해 줍니다.
- 아래 Batch Run, Split Video 둘 다 체크해 주신 후 우측 상단의 Run을 눌러줍니다.
- 완료가 되면 설정하신 Target Folder 안에 소스동영상이 세팅된 프레임값으로 쪼개져서 저장이 되게 됩니다.
img2img를 통한 캐릭터 생성
이제 원본의 동영상의 인물을 나만의 캐릭터로 바꿔볼 차례입니다.
- img2img로 들어가셔서 모델, 프롬프트 등을 입력하시고 마음에 드는 캐릭터로 재 생성 해줍니다. *Batch를 통해 프레임별로 쪼개진 이미지를 전부 변환하기 전 만들 캐릭터를 확인하는 과정입니다.
- Batch 탭으로 들어가셔서, 프레임별로 쪼개진 이미지가 저장되어 있는 input폴더 주소를 입력합니다.
- 마찬가지로 그 아래 output폴더의 주소도 입력해 줍니다.
- Generate를 해줍니다. 이 과정에서 input 폴더에 있는 모든 이미지가 설정한 캐릭터로 만들어지게 됩니다. 모든 이미지를 전부 변환하기 때문에 시간이 많이 소요됩니다.
이제 다시 Temporal-kit 탭으로 돌아와 동영상을 계속 만들어 보도록 하겠습니다.
- Temporal-kit 탭 - 우측 끝 Ebsynth-Process 탭에 들어갑니다.
- input 폴더의 주소를 입력합니다
- input 폴더의 주소가 아니라 위의 과정에서 생성된 쪼개져있는 폴더(0번으로 시작해서 쭉 폴더가 생성되어 있습니다.) 가 있는 경로를 입력합니다.
- input 비디오는 원본 소스 영상을 업로드해도 되지만, 아래 read_last_settings를 누르면 기존에 세팅하셨던 값과 원본 영상이 자동으로 업로드됩니다.
- prepare ebsynth를 클릭합니다.
- 0번~ 폴더를 확인해 보시면 자동으로 여러 가지 폴더들이 생성되는 것을 확인할 수 있습니다.
- 미리 다운로드하였던 ebsynth를 실행하면 아래와 같은 창이 뜨게 됩니다.
- keyframes 칸에 0번 폴더에 생성된 keys 폴더를 드래그해 주소를 복사해 줍니다.
- video 칸에 동일한 폴더의 frames 폴더를 드래그해 주소를 복사해 줍니다.
- 하단 Run All을 누르게 되면 동일 폴더에 out_ 으로 시작되는 폴더들이 생성되게 됩니다.
- 0번 폴더 다음 1번 폴더, 2번 폴더 순으로 동일 작업을 반복해 줍니다. *상단 Dir 경로가 0번에서 다음 폴더로 바뀌지 않을 경우 새로 Ebsynth 창을 띄워 드래그하면 자동으로 다음폴더로 경로가 바뀌게 됩니다.
- 생성된 번호 폴더의 모든 작업을 완료하시면 다시 Temporal-kit- Ebsynth-Process로 돌아옵니다.
- 하단 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
'AI > GenAI - Image' 카테고리의 다른 글
[메타코드] 생성형 AI 입문 완성강의 - SD 동영상 생성: MovetoMove & AnimateDiff (1) | 2024.03.24 |
---|---|
[메타코드] 생성형 AI 입문 완성강의 - Deforum을 사용해서 동영상 생성해보기 (2) | 2024.03.23 |
[메타코드] 생성형 AI 입문 완성강의 - Lora를 통한 모델학습 (1) | 2024.03.22 |
[메타코드] 생성형 AI 입문 완성강의 - Dreambooth를 활용한 나만의 모델 학습하기 (0) | 2024.03.21 |
[메타코드] 생성형 AI 입문 완성강의 - Inpaint (0) | 2024.03.20 |