안정적인 확산을 사용하여 AI GIF 및 비디오를 만드는 방법
게시 됨: 2023-02-20Stable Diffusion은 스틸 이미지 이상을 생성할 수 있습니다. 일부 기본 제공 도구와 특수 확장 기능을 사용하면 많은 노력을 들이지 않고도 매우 멋진 AI 비디오를 얻을 수 있습니다. Stable Diffusion을 사용하여 애니메이션 GIF 또는 실제 비디오 파일용 프레임을 생성하는 방법은 다음과 같습니다.
안정적인 확산으로 비디오를 생성할 수 있습니까?
Inpaint를 사용하여 이미지에 애니메이션 적용
1단계: 이미지 및 프롬프트 가져오기
2단계: InPaint로 애니메이션할 부품 마스크
3단계: 프레임 생성
4단계: 프레임 일괄 업스케일링(선택 사항)
5단계: GIF 또는 비디오 메이커에서 프레임에 애니메이션 효과 주기
Deforum을 사용하여 비디오 생성
1단계: Deforum 확장 프로그램 설치
2단계: 프롬프트 작성
3단계: Deforum 설정 조정
4단계: 비디오 생성
안정적인 확산으로 비디오를 생성할 수 있습니까?
AI로 생성된 영화는 아직 초기 단계이지만 Stable Diffusion을 사용하여 GIF 또는 실제 비디오 파일로 간단한 애니메이션을 제작하는 것은 기술적으로 가능합니다. 하지만 한계가 있습니다.
img2img를 사용하면 특정 이미지의 변형을 쉽게 생성할 수 있으므로 Stable Diffusion은 애니메이션, 특히 주기적 프레임을 위한 프레임을 빠르게 제작하는 데 적합합니다. 불에서 핥아 오르는 불꽃, 자동차에서 회전하는 바퀴 또는 분수에서 물이 튀는 것을 생각해 보십시오. 실제 사용은 일부 RPG 아트워크에 실제와 같은 분위기를 제공할 수 있습니다.
안정적인 확산
합성 이미지 대신 실제 이미지를 기반으로 비디오를 만들 수도 있습니다. 여기에서 물을 주고 있는 식물의 사진을 찍고 몇 번의 클릭만으로 물줄기를 애니메이션으로 만들었습니다.
Jordan Gloor / 안정적인 확산
객체가 A 지점에서 B 지점으로 이동하도록 애니메이션을 적용하려는 경우 안정적인 확산(적어도 현재로서는)이 작업은 어려운 작업입니다. 프롬프트와 설정을 조정하는 데 많은 시간을 할애한 다음 최상의 프레임을 찾고 올바른 순서로 배치하기 위해 많은 출력을 조사해야 할 것입니다. 그 시점에서 Adobe Illustrator를 중단하고 손으로 애니메이션을 시작하는 것이 좋습니다.
그럼에도 불구하고 기본 Stable Diffusion 설정과 애니메이션에서 프레임을 함께 연결하기 위해 선택한 다른 도구를 사용하여 멋지고 간단한 애니메이션을 만들 수 있습니다. 또한 Stable Diffusion을 사용하여 매우 흥미롭게 보이는 "모핑" 애니메이션을 만드는 Deforum이라는 프로젝트도 있습니다. MP4 비디오를 출력하므로 외부 도구가 필요하지 않으며 오디오를 추가할 수도 있습니다. 두 가지 방법의 기본 사항을 보여드리겠습니다.
참고: 이 기사에서는 Stable Diffusion을 위한 그래픽 인터페이스, 특히 AUTOMATIC1111의 Stable Diffusion 웹 UI를 이미 설치했다고 가정합니다. 표준 명령줄 설치에 비해 이미지 생성이 훨씬 쉬워지고 수많은 편리한 도구와 추가 기능이 함께 제공됩니다.
Inpaint를 사용하여 이미지에 애니메이션 적용
img2img 도구 인페인트를 사용하면 애니메이션을 적용하려는 이미지 부분을 강조 표시하고 다양한 변형을 생성할 수 있습니다. 그런 다음 GIF 또는 비디오 메이커에 드롭하고 프레임을 애니메이션으로 저장합니다.
1단계: 이미지 및 프롬프트 가져오기
img2img 도구의 Inpaint 탭에 애니메이션을 적용하려는 이미지를 드롭하여 시작합니다. 아직 생성된 사진이 없다면 좋은 시작 사진을 얻을 수 있도록 시간을 내어 좋은 메시지를 작성하세요. 직접 촬영하거나 그린 이미지를 가져올 수도 있습니다.
Stable Diffusion으로 생성하지 않은 이미지를 가져오는 경우 변형 생성에 대한 적절한 프롬프트가 여전히 필요하므로 Img2Img 페이지 상단의 "Interrogate CLIP"을 클릭하십시오. 이미지에 포함 된 Stable Diffusion에 따라 시작 프롬프트가 생성됩니다. 다른 중요한 세부 정보를 추가하여 프롬프트를 완료합니다.
가이드를 위해 밤하늘 아래 로봇의 512×512 이미지를 생성했습니다. 별똥별과 은하가 지나가는 시간 경과 애니메이션을 제공하려는 것입니다.
정확하게 따라하고 싶다면 사용한 프롬프트로 다시 만들 수 있습니다.
로봇은 유성우, 별똥별, 은하계, 코스모스, 은하수, 초현실적, 매우 상세한, 4k uhd 동안 밤하늘을 올려다보는 들판에 서 있습니다.
그리고 다음은 우리가 사용한 설정입니다.
체크포인트: 안정적인 확산 2.0
샘플링 방법: DPM++ SDE
샘플링 단계: 20
CFG 척도: 5
종자: 4177542269
2단계: InPaint로 애니메이션할 부품 마스크
이미지와 프롬프트가 제자리에 있으면 인페인트 도구에서 페인트 브러시를 사용하여 애니메이션을 적용하려는 이미지의 모든 부분을 마스킹(가립니다)합니다. 정적으로 원하는 것은 무엇이든 덮지 않은 상태로 두십시오.
이 예에서는 대부분의 하늘을 덮고 있습니다. 테스트에서 너무 가까워지면 Stable Diffusion이 때때로 안테나와 기타 부속물을 로봇에 추가하기 때문에 로봇 주변에 약간의 쿠션을 남겼습니다.
팁: 캔버스의 오른쪽 상단 모서리에 있는 브러시 버튼을 클릭하여 슬라이더로 인페인트 브러시 크기를 조정할 수 있습니다.
3단계: 프레임 생성
움직이는 것을 보고 싶은 이미지의 모든 부분을 마스킹했으므로 이제 애니메이션의 프레임을 생성할 차례입니다. 그러나 먼저 img2img가 올바른 설정을 가지고 있는지 확인하고 싶을 것입니다. 혼란스러울 수 있으므로 일부의 의미와 조정을 원하지 않는 이유를 설명합니다.
- 마스크 모드: 인페인트 마스크 - 이렇게 하면 적용되는 모든 항목이 변경되고 그 반대가 되지 않습니다. 어떤 이유로 마스크되지 않은 부분을 대신 수정하려면 "Inpaint Not Masked"로 변경하십시오.
- 마스킹된 콘텐츠: 원본 – 이것은 Stable Diffusion이 변형을 생성할 때 기존 이미지를 보고 고려하도록 합니다. 그렇지 않으면 마스킹된 콘텐츠를 빈 캔버스나 무작위 캔버스로 간주합니다.
- 인페인트 영역: 전체 그림 – 이것은 원본 이미지와 통합하기 전에 각 프레임에 대해 완전히 새로운 이미지를 생성하도록 안정적인 확산을 강제합니다. "Only Masked"로 전환하면 생성 속도가 빨라질 수 있지만 결과가 좋지 않을 수도 있습니다.
- 샘플링 방법: DPM++ SDE – 이것은 원본 이미지를 생성하는 데 사용한 것과 동일한 샘플링 방법이며 일관된 모양을 보장하기 위해 이 방법을 고수하고 있습니다. 무엇을 사용해야 할지 모르겠다면 "Euler a"가 좋은 선택입니다.
- Batch Count: 60 – 생성할 이미지 수입니다. 원하는 애니메이션 시퀀스의 속도와 길이에 따라 더 많거나 적게 필요할 수 있습니다.
- CFG 척도: 5 – 어떤 의미에서 CFG 척도는 Stable Diffusion이 얼마나 창의적인 자유를 가지고 있는지를 결정합니다. 숫자가 높을수록 더 엄격하게 Stable Diffusion이 프롬프트를 따르려고 시도합니다. 그것을 늘리고 좋은 결과를 얻으려면 매우 좋은 프롬프트가 필요합니다.
- 노이즈 제거 강도: 0.3 – 아마도 이 프로젝트에서 가장 중요한 설정인 노이즈 제거 스케일은 안정적인 확산이 원본 이미지를 얼마나 변경하는지 결정합니다. 프레임 간 변경이 너무 많으면 애니메이션이 망가질 수 있으므로 0.2 또는 0.3 정도로 낮추는 것이 좋습니다.
- Seed: -1 – 안정적인 확산이 임의의 시드로 시작하도록 지시합니다. 원본 이미지의 시드를 재사용하지 않는 것이 좋습니다. 그렇게 하면 변형의 양이 줄어듭니다(있는 경우).
모든 설정이 완료되면 "생성"을 클릭하고 Stable Diffusion이 애니메이션 프레임을 그리는 동안 편안히 앉아 있습니다. Stable Diffusion 디렉토리의 /outputs/img2img-images
폴더에서 찾을 수 있습니다. 결과가 마음에 들지 않으면 설정을 조정하고(아마도 노이즈 제거 강도 및 샘플링 단계부터 시작) 다시 시도하십시오.
4단계: 프레임 일괄 업스케일링(선택 사항)
고화질 비디오를 만들 계획이라면 새로 생성된 모든 프레임을 원하는 해상도로 업스케일링해야 합니다. 시작하려면 "추가로 보내기"를 클릭하십시오.
Extras 내에서 "Batch Process" 탭으로 전환합니다.
크기 조정을 원하는 횟수로 "크기 조정" 배율을 조정합니다(2로 설정하면 512×512 이미지가 1024×1024 이미지로 변경됨). 또는 "Scale by"에서 "Scale to"로 전환하고 특정 해상도를 설정합니다. 또한 "Upscaler 1"을 원하는 업스케일러로 설정하십시오. R-ESRGAN 4x+로 충분히 좋은 결과를 얻었지만 어떤 것이 이미지를 가장 잘 처리하는지 자유롭게 실험해 보십시오.
그런 다음 "Generate"를 누르면 Stable Diffusion이 /outputs/extras
폴더에 저장된 각 프레임의 고해상도 버전을 제공합니다.
5단계: GIF 또는 비디오 메이커에서 프레임에 애니메이션 효과 주기
프레임이 준비되었으므로 프레임을 모두 연결하고 최종 애니메이션을 만들 차례입니다. 사용하기 쉽고 미세 조정 컨트롤이 많은 Ezgif 및 flixier와 같은 무료 전용 웹 사이트를 포함하여 이를 수행할 수 있는 많은 도구가 있습니다. 그러나 이러한 웹사이트는 귀하가 업로드하는 모든 것을 볼 수 있으므로 세상이 알고 있는 것이 불편할 수 있는 내용을 웹사이트에 제공하지 마십시오.
이러한 웹 사이트는 매우 자명하지만 무료 오프라인 사진 편집 도구인 GIMP를 사용하여 GIF를 만드는 방법을 시연할 것입니다. 비디오 파일을 원하는 경우 대신 Kdenlive 또는 유사한 비디오 편집기를 사용하십시오. 원하는 초당 프레임 수에 따라 모든 프레임을 1초 이하의 클립으로 가져오도록 설정을 조정해야 합니다.
시작하려면 김프를 다운로드하고 아직 설치하지 않은 경우 컴퓨터에 설치하십시오. 그것을 시작한 다음 파일> 레이어로 열기로 이동하십시오.
생성한 프레임이 있는 위치를 찾아 "열기"를 클릭하기 전에 한 번에 모두 선택합니다. (Shift 키를 누르고 있으면 여러 파일을 빠르게 선택할 수 있습니다.) GIMP는 모든 이미지를 하나의 캔버스에 별도의 레이어로 가져옵니다. 김프의 GIF 생성이 작동하는 방식은 모든 레이어를 아래에서 위로 이동하여 각 연속 레이어를 애니메이션의 다음 프레임으로 취급하기 때문에 이것을 원합니다.
이제 재미있는 부분입니다. GIF 미리보기를 보려면 필터 > 애니메이션 > 재생으로 이동하세요.
스페이스바를 눌러 GIF를 재생 및 일시 중지합니다. 프레임이 너무 빠르거나 느리면 재생 대화 상자 하단에서 FPS를 조정하고 상단의 새로 고침 버튼을 클릭하여 새 프레임 속도로 미리 보기를 다시 로드합니다.
애니메이션이 마음에 들면 GIF 파일을 생성할 차례입니다. 미리보기를 닫고 파일 > 다른 이름으로 내보내기를 클릭합니다. 파일 저장 이름을 입력할 때 끝에 .gif
확장자를 추가하여 김프가 원하는 GIF를 알 수 있도록 합니다.
나타나는 GIF 내보내기 대화 상자에서 "애니메이션으로" 상자가 선택되어 있는지 확인하십시오. 다른 프레임 속도를 원하는 경우에도 프레임 사이의 밀리초 수를 조정하십시오. 1초는 1000밀리초이므로 100이면 대략 10FPS 정도가 됩니다. 마지막으로 "내보내기"를 클릭합니다.
Boom, 당신은 완전한 애니메이션 GIF를 얻었습니다.
Deforum을 사용하여 비디오 생성
Stable Diffusion으로 더 흥미로운 애니메이션을 만들고 작업할 수 있는 여러 프레임 대신 비디오 파일을 출력하려면 Deforum을 사용하십시오. Stable Diffusion 웹 UI에 사용할 수 있는 확장자가 포함된 이미지 합성 프로젝트로 오디오가 포함된 MP4 비디오 파일을 직접 생성하고 생성할 수 있습니다. 카메라 팬 및 확대/축소, 다중 프롬프트 및 비디오 가져오기를 포함하여 실험할 설정이 많은 매우 강력하고 복잡한 도구입니다.
우리의 목적을 위해 매우 간단하지만 흥미로운 애니메이션을 생성하는 기본 사항을 소개합니다.
1단계: Deforum 확장 프로그램 설치
Deforum 확장을 얻으려면 명령 프롬프트를 열고 디렉토리를 stable-diffusion-web-ui
폴더로 변경하십시오. 그런 다음 이 git clone 명령을 사용하여 확장 폴더 사용에 Deforum을 설치하십시오.
자식 클론 https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum
Stable Diffusion 웹 UI를 정상적으로 실행하고 이제 인터페이스에 있는 Deforum 탭을 엽니다.
팁: Deforum 확장 프로그램은 기본값으로 준비되어 있으므로 즉시 "생성" 버튼을 눌러 토끼가 고양이, 코코넛, 두리안으로 변신하는 비디오를 만들 수 있습니다. 정말 멋진!
2단계: 프롬프트 작성
Stable Diffusion으로 개별 프롬프트를 작성하는 데 익숙할 수 있지만 Deforum을 사용하면 "예약된" 여러 프롬프트를 작성할 수 있습니다. 즉, 선택한 애니메이션의 어느 지점에서든 일정의 다음 프롬프트를 기반으로 프레임 생성으로 전환됩니다.
"Prompts" 탭을 클릭하고 대괄호와 탭 구조를 그대로 유지하면서 기존 프롬프트를 원하는 대로 변경합니다. 이 예에서는 다음 프롬프트 세트를 사용합니다.
{ "0": "유성우, 별똥별, 은하계, 우주, 은하수, 초현실적, 매우 상세한, 4k uhd 동안 로봇이 밤하늘 아래 서 있습니다.", "40": "우주 정거장이 유성우 동안 우주를 날아다니며 매우 사실적이고 매우 상세함", "80": "초신성 폭발, 생동감 넘치는 색상, 초현실적, 매우 세밀함" }
그렇다면 그 숫자는 무엇을 의미합니까? 기본적으로 Deforum은 애니메이션에 대해 120개의 프레임을 생성하며 해당 프레임 세트를 세 부분으로 나눕니다. 0
첫 번째 프레임을 의미하므로 그 이후의 모든 프레임은 첫 번째 프롬프트의 im2img 변형이 됩니다. 그런 다음 프레임 40에서 Stable Diffusion이 두 번째 프롬프트를 기반으로 변형을 만들기 시작합니다. 80에서 세 번째로 전환됩니다. 원하는 만큼 프롬프트 변경 사항을 추가하고 필요에 따라 키프레임 탭에서 최대 프레임 제한을 조정할 수 있습니다.
3단계: Deforum 설정 조정
Deforum과 관련된 수많은 설정이 있다는 것을 이미 눈치채셨겠지만 시작하기 위해 몇 가지를 살펴보겠습니다. 먼저 "실행" 탭에서 일반적인 Stable Diffusion 설정을 찾을 수 있습니다. 배치의 이름을 바꾸고 시작하려는 시드를 입력하고(로봇용으로 재사용) 샘플러를 원하는 것으로 변경합니다.
키프레임 탭에서 애니메이션의 "카메라" 동작을 조정할 수 있습니다. 기본적으로 간격을 두고 확대/축소하도록 설정되어 있지만 수직 "팬" 이동을 추가하려고 하므로 "변환 Y" 프레임에 0:(-2), 100:(4)
추가합니다. 이렇게 하면 Deforum이 첫 번째 프레임을 Y축의 픽셀 -2에 있는 것으로 처리한 다음 프레임 100에서 픽셀 4로 이동합니다. 이렇게 하면 애니메이션이 진행됨에 따라 약간 위쪽으로 이동하게 됩니다.
출력 탭에서 MPEG 비디오 파일 외에 GIF 파일을 제공하는 "Make GIF" 상자를 선택합니다. "사운드트랙 추가" 및 "사운드트랙 경로" 설정이 있는 경우 여기에서 오디오를 추가할 수도 있습니다.
4단계: 비디오 생성
마지막으로 큰 "생성" 버튼을 누르십시오. Deforum은 많은 프레임을 만들고 연결하기 때문에 시간이 걸리므로 기다리는 동안 커피를 드십시오. 완료되면 MPEG 파일, GIF 버전, 모든 개별 프레임 및 /outputs/img2img-images
디렉토리의 배치 이름 아래에서 사용한 설정 판독값을 찾을 수 있습니다.
우리의 프롬프트는 다음과 같습니다.
여름 블록버스터는 아니지만 여전히 매혹적입니다! 조정할 수 있는 다른 모든 노브와 다이얼에 대해 알아보려면 공식 Deforum 빠른 시작 가이드를 확인하세요.
다른 멋진 AI 프로젝트를 찾고 있다면 Stable Diffusion을 사용하여 Minecraft 텍스처 팩을 생성하는 방법을 배우거나 ChatGPT를 시작하고 ChatGPT로 할 수 있는 놀라운 작업을 시작하십시오.