스테이블 디퓨전 Mov2Mov 사용법 | AI 동영상 만들기

최근 유튜브 및 인스타그램 등 다양한 영상플랫폼에서 AI 동영상이 인기입니다. 본 블로그에서도 SVD(Stable Video Diffusion) 및 SadTalker 등 스테이블 디퓨전으로 영상을 만드는 다양한 방법들을 하나씩 소개드리고 있습니다. 이번에는 스테이블 디퓨전 Mov2Mov 사용법을 소개드리고자 합니다. Mov2Mov는 원본 Movie를 또다른 Movie로 바꾼다는 의미로 즉, 기존의 영상을 AI 그림으로 덮어씌우는 영상 제작 방식입니다.

M2M 영상 결과

먼저 이 글에서 소개드리는 방법을 따라 만들면 얻을 수 있는 예시 비디오를 보여드리겠습니다.

원본 비디오
스테이블 디퓨전 mov2mov 비디오

애니메이션 슬램덩크의 오프닝 중 일부에 해당하는 영상으로 코트 위 강백호의 레이업 슛 모션을 스테이블 디퓨전을 이용해 여성 농구선수의 레이업 슛 모션으로 바꾼 결과입니다. 그럼 실제로 이 영상을 만들기 위해 필요한 작업 과정을 차근차근 따라가 보겠습니다.

스테이블 디퓨전 Mov2Mov 사용법

이번 글에서는 구체적인 설명을 먼저 드리기보다 실제로 스테이블 디퓨전 Mov2Mov를 사용해 영상을 만드는 작업 과정을 보여드리고 그 순서에 따라 설명드리도록 하겠습니다. 보여드린 예시 영상과 같은 결과물을 만들기 위해서는 아래의 작업 절차를 순서대로 따라하시면 됩니다.

Mov2Mov 설치

언제나 그렇듯 스테이블 디퓨전 Mov2Mov 기능을 활용하기 위해서 먼저 WebUI 확장 기능을 설치해줘야 합니다. 확장기능은 아래 그림과 같이 Extensions > Available 에서 mov2mov를 검색하여 설치하거나, 깃허브 주소를 Install from URL에 입력하여 설치하면 됩니다.

스테이블 디퓨전 mov2mov 확장기능 설치

https://github.com/Scholar01/sd-webui-mov2mov

설치를 완료한뒤 WebUI를 재시작하여 상단에 mov2mov 탭이 새로 생긴 것이 확인되면 정상적으로 설치를 마친 것입니다.

영상 준비하기

변환하고자 하는 영상을 준비해주셔야합니다. 기본적으로 영상은 처리해야할 데이터가 많아 시간이 오래걸리는 작업이기 때문에 처음 시도해보실 때는 수초 내의 짧은 영상으로 이것저것 테스트해보시는 것이 좋습니다. 예를 들어 실사 영상을 실사 AI 영상으로 바꾸는 것과 2D 영상을 실사 AI 영상으로 바꾸는 작업은 전체적인 절차는 동일하지만 세부 세팅은 다르게 해주어야 합니다. 본문에서는 2D 슬램등크 애니메이션 영상을 실사 AI 영상으로 바꾸는 작업을 합니다.

적당한 영상을 구하기 어려운 분들은 유튜브 등에서 다운로드 받아 윈도우에 설치된 기본 사진 프로그램으로 길이만 잘라주시면 됩니다.

영상을 사진 앱에서 여는 방법
영상을 자르는 방법
영상을 윈도우 기본 사진 앱에서 자르고 저장하는 방법

Mov2Mov 영상 변환하기

이제 스테이블 디퓨전 mov2mov로 실제로 영상을 변환하기 위해 WebUI에서 아래를 참고하여 세팅값을 설정합니다.

스테이블 디퓨전 mov2mov 사용법

Denosing Strength

영상 변환시 가장 중요한 것은 아무래도 디노이징 강도(Denoising strength)일 것입니다. 디노이징 강도가 강하면 원본영상에서 많이 변형된 이미지들이 생성되어 프래임마다 이미지의 일관성이 떨어지게 됩니다. 그러면 영상을 제작했을 때 부드럽게 연결되지 않고 이미지가 튀는 현상이 발생하거나 심한 경우 아예 원본과 다른 영상이 만들어질 수도 있습니다.

하지만 2D를 실사화 하거나, 반대로 실사를 2D로 만드는 경우 디노이징 값이 너무 낮으면 제대로 변화되지 않으므로 0.3~0.4 사이의 값으로 테스트해보시고 원본 영상에서 가장 유사하면서도 자연스러운 변화가 관찰되는 값을 선택하시기 바랍니다. 테스트 하실 때는 FPS를 1~5 수준으로 낮춰 빠르게 결과 이미지를 확인하시는 것이 좋습니다.

만약 실사를 실사 AI 영상으로 바꾸는 경우라면, 큰 변화 없이 느낌만 가져가는 경우기 때문에 일반적으로 Denoising Strength를 0.15~0.25 사이로 설정해주시면 좋은 결과를 얻을 수 있습니다. 실사 모델의 경우 0.2 정도의 디노이징 값만으로도 모델(체크포인트)의 얼굴이 꽤 많이 반영됩니다.

Noise muliplier 값은 초기값이 1로 설정되어 있습니다. 0에 가까울수록 플리커링(flikering 화면깜빡임)을 줄일 수 있습니다.

해상도 및 FPS

원본영상 정보

해상도와 FPS 값은 원본 영상의 정보(원본영상 우클릭>속성>자세히)를 바탕으로 설정해주셔야 합니다. 본 예시에서는 해상도 1280×720, 프레임레이트(FPS) 23.98인 것을 확인했으므로 WebUI 설정에도 그대로 입력하면 됩니다.

단, 본문의 예시 원본 영상이 좌우로 검은 레터박스가 있기 때문에, 레터박스를 없애기 위해 4:3 비율의 해상도인 960×720를 입력하고, resize mode를 Just resize가 아닌 Crop and resize로 바꿔주었습니다. 이후 인물의 얼굴 뭉개짐을 최소화하고자 해상도를 1.5배 높여 최종 영상은 1440×1080 해상도로 작업한 결과입니다.

해상도와 FPS는 원본영상을 고려해 자유롭게 지정하셔도 무방합니다. 단, 원본보다 높은 해상도를 입력하고 Just resize(latent)를 체크했을 때 실제로는 latent upscale이 진행되지 않았습니다. 또한 해상도가 높을수록 작업이 오래 걸리기 때문에 원본 대비 FPS를 조금 줄여서 작업하시는 것도 나쁘지 않습니다.

프롬프트 작성의 중요성

스테이블 디퓨전 mov2mov 변환 과정

이제 실사 모델(체크포인트)을 선택하고 프롬프트를 입력한 뒤 Generate를 누르면 작업이 시작됩니다. 실사를 실사 AI영상으로 변환하는 경우에는 Denosing strength를 낮게 설정하여 전체적인 영상에 큰 변화가 없기 때문에 프롬프트는 퀄리티 태그만 작성해도 큰 무리 없이 작업이 가능합니다.

하지만 본문의 예시 영상처럼 2D에서 실사화 하기 위해 디노이즈 강도를 조금 더 주는 경우라면, 그래도 최소한의 상황을 설명해주는 것이 좋습니다. 예를 들어 위의 영상에서는 “농구”라는 특정 상황이 있기 때문에 프롬프트에 basketball, basketball uniform 등의 태그와 red hair를 함께 넣어줬습니다. 이런 프롬프트들을 작성하냐 안하냐에 따라 결과물에 생각보다 큰 차이가 발생합니다.

mov2mov NG 장면들

basketball 프롬프트 없이 영상을 제작했을 때 레이업 과정 중에 인물의 손이 얼굴에 가까이 오는 장면에서 농구공 자체를 그리지 않고, 얼굴을 잡고 있는 모습으로 그리기도 합니다. 또한 red hair 태그가 없을 때는 농구공이 머리와 가까이 위치할 때 공이 머리 부분에만 있다고 인식해서 또 농구공을 찌그러진 럭비공처럼 그리기도 했습니다.

참고사항

스테이블 디퓨전 mov2mov는 결국 다수의 i2i를 진행하는 것과 같습니다. 따라서 영상의 길이와 FPS 기준으로 총 몇장의 이미지를 생성하는지가 결정됩니다. 예를 들어 2초 영상에 24fps 설정을 했다면, 영상 1초당 24장의 이미지가 필요하며, 이를 2초동안 지속되게 해야 하므로 총 48장의 이미지를 만들어야 합니다. 해상도를 1440×1080으로 입력했으므로, 사실상 우리는 스테이블 디퓨전 i2i로 1440×1080 이미지 48장을 진행하고, 이를 다시 영상으로 합쳐주는 작업을 WebUI가 자동으로 알아서 하도록 명령한 것과 다름없습니다. 이를 참고하여 스테이블 디퓨전 mov2mov를 사용하신다면 결과 영상의 퀄리티 대비 작업시간 관점에서 적절한 타협점을 찾을 수 있을 것입니다.