안정적인 동영상 확산

by 안정적인 동영상 확산

필요한 이미지를 드래그 앤 드롭하거나 로컬 이미지를 업로드하여 추가하세요. 모델이 빠르게 처리됩니다,

이미지 21
이미지 20

아래의 생성 버튼을 클릭합니다. A100 비디오 메모리에서 실행 중이므로 여기에서 생성을 시작합니다. 시간이 더 오래 걸립니다. 이미지에서 동영상으로 전환되는 효과는 생성 후 177초 이내에 나타납니다.

이미지 22
이미지 22 1

안정적인 동영상 확산 는 안정적입니다. 비디오 고해상도, 최첨단 텍스트-비디오 및 이미지-비디오 생성을 위한 확산 모델입니다. 최근에는 2D 이미지 합성을 위한 잠재 확산 모델이 소규모의 고품질 비디오 데이터 세트에 시간적 레이어를 삽입하고 미세 조정하여 생성 비디오 모델로 전환되었습니다. 그러나 문헌에 나와 있는 훈련 방법은 매우 다양하며, 이 분야에서는 아직 비디오 데이터에 대한 통합된 전략에 합의하지 못하고 있습니다. 이 백서에서는 텍스트-이미지 사전 학습, 비디오 사전 학습, 고품질 비디오 미세 조정 등 비디오 LDM(잠재 확산 모델)의 성공적인 학습을 위한 세 가지 단계를 식별하고 평가합니다.

안정적인 비디오 확산 모델은 고품질 동영상을 제작하는 새로운 방법을 제공합니다. 텍스트나 이미지를 입력으로 받아 입력된 콘텐츠와 관련된 사실적인 동영상을 생성합니다. 이 모델은 영화 제작, 가상 현실, 게임 개발 및 기타 분야에서 폭넓게 활용될 수 있습니다.

안정적인 동영상 확산에 대한 연구는 동영상 생성 기술을 향상시키는 데 매우 중요합니다. 연구자들은 생성된 비디오의 품질과 충실도를 향상시키기 위해 비디오 생성 모델의 학습 방법과 데이터 전략을 추가로 탐색할 수 있는 프레임워크를 제공합니다.

안정성 AI는 잘 알려진 AI 드로잉 회사로, 마침내 AI 생성 비디오 산업에 진출했습니다.

이미지 18

이번 주 화요일에, 안정적인 동영상 확산안정적 확산을 기반으로 한 동영상 생성 모델이 나왔고, AI 커뮤니티는 곧바로 이에 대해 논의하기 시작했습니다.

안정적인 비디오 확산 이미지-투-비디오 모델 카드

안정적인 비디오 확산(SVD) 이미지-비디오 는 정지 이미지를 컨디셔닝 프레임으로 가져와서 동영상을 생성하는 확산 모델입니다.

640
640 1
640 2

(SVD) 이미지-투-비디오는 이미지 컨디셔닝에서 짧은 비디오 클립을 생성하도록 훈련된 잠재 확산 모델입니다. 이 모델은 동일한 크기의 컨텍스트 프레임이 주어지면 해상도 576×1024로 25프레임을 생성하도록 훈련되었으며, 다음에서 미세 조정되었습니다. SVD 이미지-투-비디오 [14프레임]. 또한 널리 사용되는 f8-디코더 를 사용하여 시간적 일관성을 유지합니다. 편의를 위해 표준 프레임별 디코더를 모델에 추가로 제공합니다. 여기.

  • 개발사: 안정성 AI
  • 자금 지원 출처: 안정성 AI
  • 모델 유형: 제너레이티브 이미지-비디오 모델
  • 모델에서 미세 조정되었습니다: SVD 이미지-투-비디오 [14프레임]

연구 목적으로는 생성 모델 깃허브 리포지토리(https://github.com/Stability-AI/generative-models), 가장 널리 사용되는 확산 프레임워크(훈련 및 추론 모두)를 구현합니다.

위의 차트는 SVD-Image-to-Video에 대한 사용자 선호도를 평가한 것입니다. GEN-2 그리고 피카랩스. SVD-Image-to-Video는 비디오 품질 측면에서 인간 유권자들이 선호합니다. 사용자 연구에 대한 자세한 내용은 연구 논문

이 모델은 연구 목적으로만 사용됩니다. 가능한 연구 분야 및 작업은 다음과 같습니다.

  • 제너레이티브 모델에 대한 연구.
  • 유해한 콘텐츠를 생성할 가능성이 있는 모델을 안전하게 배포합니다.
  • 생성 모델의 한계와 편견을 조사하고 이해합니다.
  • 아트웍을 생성하고 디자인 및 기타 예술적 프로세스에서 사용합니다.
  • 교육 또는 크리에이티브 도구의 애플리케이션.

제외된 용도는 아래에 설명되어 있습니다.

이 모델은 사람이나 사건을 사실적으로 또는 사실적으로 표현하도록 학습되지 않았으므로 이러한 콘텐츠를 생성하는 데 모델을 사용하는 것은 이 모델의 능력 범위를 벗어납니다. 이 모델은 Stability AI의 정책을 위반하는 방식으로 사용해서는 안 됩니다. 사용 제한 정책.

  • 생성된 동영상은 다소 짧고(<= 4초), 모델이 완벽한 포토리얼리즘을 구현하지 못합니다.
  • 이 모델은 움직임이 없거나 카메라 팬이 매우 느린 동영상을 생성할 수 있습니다.
  • 텍스트를 통해 모델을 제어할 수 없습니다.
  • 이 모델은 읽을 수 있는 텍스트를 렌더링할 수 없습니다.
  • 일반적으로 얼굴과 사람이 제대로 생성되지 않을 수 있습니다.
  • 모델의 자동 인코딩 부분이 손실됩니다.

이 모델은 연구 목적으로만 사용됩니다.

확인 https://github.com/Stability-AI/generative-models

이미지 18

안정성 AI를 통한 생성 모델

sample1

2023년 11월 21일

  • 연구 목적으로 이미지-동영상 모델인 안정적인 동영상 확산을 출시합니다:
    • SVD: 이 모델은 동일한 크기의 컨텍스트 프레임이 주어졌을 때 해상도 576×1024로 14프레임을 생성하도록 훈련되었습니다. SD 2.1의 표준 이미지 인코더를 사용하지만 디코더를 시간 인식형 디플리커 디코더.
    • SVD-XT: 다음과 동일한 아키텍처 SVD 하지만 25프레임 생성을 위해 미세 조정되었습니다.
    • 간소화된 데모를 제공합니다. 스크립트/데모/비디오 샘플링.py 및 독립 실행형 파이썬 스크립트 스크립트/샘플링/단순_비디오샘플.py 를 사용하여 두 모델을 추론할 수 있습니다.
    • 모델과 함께 기술 보고서.

2023년 7월 26일

sample2

2023년 7월 4일

  • SDXL에 대한 기술 보고서가 제공됩니다. 여기.

2023년 6월 22일

  • 연구 목적으로 두 가지 새로운 확산 모델을 출시합니다:
    • SDXL-base-0.9: 기본 모델은 해상도 1024^2의 이미지에 대해 다양한 종횡비로 학습되었습니다. 기본 모델은 다음을 사용합니다. OpenCLIP-ViT/G 그리고 CLIP-ViT/L 를 텍스트 인코딩에 사용하는 반면, 리파이너 모델은 OpenCLIP 모델만 사용합니다.
    • SDXL-리파이너-0.9: 이 리파이너는 고품질 데이터의 작은 노이즈 레벨을 제거하도록 학습되었으므로 텍스트 대 이미지 모델로 작동하지 않고 이미지 대 이미지 모델로만 사용해야 합니다.

연구를 위해 이러한 모델에 액세스하려면 다음 링크 중 하나를 사용하여 신청하세요: SDXL-0.9-기본 모델및 SDXL-0.9-리파이너. 즉, 두 링크 중 하나를 신청할 수 있으며, 승인되면 두 링크 모두에 액세스할 수 있습니다. 액세스 권한을 요청하려면 조직 이메일로 허깅 페이스 계정에 로그인하세요. 곧(7월) 정식 버전을 출시할 계획입니다.

일반 철학

모듈성이 왕입니다. 이 리포지토리는 다음을 호출하여 하위 모듈을 빌드하고 결합하는 구성 중심 접근 방식을 구현합니다. 인스턴스화_from_config() 를 설정할 수 있습니다. 참조 configs/ 를 참조하세요.

이전 변경 로그에서 ldm 코드베이스

교육에는 다음을 사용합니다. 파이토치 라이트닝를 사용하지만 기본 모듈을 중심으로 다른 트레이닝 래퍼를 쉽게 사용할 수 있어야 합니다. 핵심 확산 모델 클래스(이전의 잠재 확산지금 확산 엔진)가 정리되었습니다:

  • 더 이상 광범위한 서브클래싱이 필요 없습니다! 이제 모든 유형의 컨디셔닝 입력(벡터, 시퀀스, 공간 컨디셔닝 및 이들의 모든 조합)을 단일 클래스에서 처리합니다: 일반 컨디셔너를 참조하세요. sgm/modules/encoders/modules.py.
  • 별도의 가이드(예: 분류기 없는 가이드, 참조 sgm/modules/diffusionmodules/guiders.py)에서 샘플러(sgm/modules/diffusionmodules/sampling.py), 샘플러는 모델과 독립적입니다.
  • 우리는 "디노이저 프레임워크" (가장 눈에 띄는 변화는 아마도 이제 연속 시간 모델을 학습할 수 있는 옵션이 추가되었다는 점일 것입니다):
    • 불연속 시간 모델(디노이저)은 연속 시간 모델(디노이저)의 특수한 경우일 뿐입니다. sgm/modules/diffusionmodules/denoiser.py.
    • 이제 다음 기능이 독립적입니다: 확산 손실 함수의 가중치(sgm/modules/diffusionmodules/denoiser_weighting.py), 네트워크 프리컨디셔닝(sgm/modules/diffusionmodules/denoiser_scaling.py), 훈련 중 소음 수준 샘플링(sgm/modules/diffusionmodules/sigma_sampling.py).
  • 자동 인코딩 모델도 정리되었습니다.

1. 리포지토리 복제

git clone [email protected]:Stability-AI/generative-models.git CD 생성 모델

2. 가상 환경 설정

이것은 귀하가 다음 페이지로 이동했다고 가정합니다. 생성 모델 루트로 복제합니다.

참고: 아래에서 테스트됩니다. python3.10. 다른 파이썬 버전의 경우 버전 충돌이 발생할 수 있습니다.

PyTorch 2.0# pypi python3 -m venv .pt2 source .pt2/bin/activate pip3 install -r requirements/pt2.txt에서 필요한 패키지를 설치합니다.

3. 설치 sgm

pip3 설치 .

4. 설치 sdata 교육용

pip3 설치 -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata

포장

이 리포지토리는 다음을 사용하여 PEP 517을 준수하는 패키징을 사용합니다. 해치.

배포 가능한 휠을 구축하려면 다음을 설치합니다. 해치 를 클릭하고 해치 빌드 (지정 -t 휠 를 사용하면 필요하지 않은 SDIST 생성을 건너뛰게 됩니다.)

pip 설치 해치
해치 빌드 -t 휠

빌드된 패키지는 다음에서 찾을 수 있습니다. dist/. 휠은 다음과 같이 설치할 수 있습니다. pip 설치 dist/*.whl.

패키지는 다음을 수행합니다. not 는 현재 종속성을 지정하고 있으므로 사용 사례와 PyTorch 버전에 따라 필요한 패키지를 수동으로 설치해야 합니다.

당사는 streamlit 의 텍스트-이미지 및 이미지-이미지 샘플링 데모에서 스크립트/데모/샘플링.py. 파일에 저장된 텐서뿐만 아니라 전체 파일에 대한 파일 해시도 제공합니다( 모델 사양 를 사용하여 스크립트를 평가할 수 있습니다.) 현재 지원되는 모델은 다음과 같습니다:

  • SDXL-base-1.0파일 해시(sha256): 31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b 텐서데이터 해시(sha256): 0xd7a9105a900fd52748f20725fe52fe52b507fd36bee4fc107b1550a26e6ee1d7
  • SDXL-리파이너-1.0파일 해시(sha256): 7440042bbdc8a24813002c09b6b69b64dc90fded4472613437b7f55f9b7d9c5f 텐서데이터 해시(sha256): 0x1a77d21bebc4b4de78c474a90cb74dc0d2217caf4061971dbfa75ad406b75d81
  • SDXL-base-0.9
  • SDXL-리파이너-0.9
  • SD-2.1-512
  • SD-2.1-768

SDXL용 가중치:

SDXL-1.0: SDXL-1.0의 가중치를 사용할 수 있습니다( CreativeML Open RAIL++-M 라이선스) 여기를 클릭하세요:

SDXL-0.9: SDXL-0.9의 가중치는 사용 가능하며 다음과 같은 조건이 적용됩니다. 연구 라이선스. 연구를 위해 이러한 모델에 액세스하려면 다음 링크 중 하나를 사용하여 신청하세요: SDXL-base-0.9 모델및 SDXL-리파이너-0.9. 즉, 두 링크 중 하나를 신청할 수 있으며, 승인되면 두 링크 모두에 액세스할 수 있습니다. 액세스 권한을 요청하려면 조직 이메일로 허깅 페이스 계정에 로그인하세요.

가중치를 얻은 후 다음 항목에 배치합니다. 체크포인트/. 다음으로 다음을 사용하여 데모를 시작합니다.

streamlit 실행 스크립트/데모/샘플링.py --server.port

코드로 생성된 이미지는 보이지 않는 워터마크 라이브러리를 사용하여 보이지 않는 워터마크를 모델 출력에 삽입할 수 있습니다. 또한 해당 워터마크를 쉽게 감지할 수 있는 스크립트도 제공합니다. 이 워터마크는 이전 Stable Diffusion 1.x/2.x 버전과 동일하지 않다는 점에 유의하세요.

스크립트를 실행하려면 위와 같이 설치가 완료되었거나 실험적 최소한의 패키지만 사용하여 가져옵니다:python -m venv .detect source .detect/bin/activate pip install "numpy>=1.17" "PyWavelets>=1.1.1" "opencv-python>=4.1.0.25" pip install -no-deps invisible-watermark

스크립트를 실행하려면 위와 같이 설치가 완료되어야 합니다. 그런 다음 다음과 같은 방법으로 스크립트를 사용할 수 있습니다(가상 환경을 미리 활성화하는 것을 잊지 마세요. 소스 .pt1/bin/activate):# 단일 파일 테스트 python scripts/demo/detect.py # 여러 파일을 한 번에 테스트 python scripts/demo/detect.py ... # 특정 폴더의 모든 파일 테스트 python scripts/demo/dect.py /*역주: 파이썬 스크립트에서 파일 테스트가 시작됩니다.

다음에서 교육 구성 예시를 제공하고 있습니다. configs/example_training. 교육을 시작하려면

python main.py --base configs/ configs/

여기서 구성은 왼쪽에서 오른쪽으로 병합됩니다(이후 구성은 동일한 값을 덮어씁니다). 이는 모델, 학습 및 데이터 구성을 결합하는 데 사용할 수 있습니다. 그러나 이 모든 설정을 단일 설정으로 정의할 수도 있습니다. 예를 들어, MNIST에서 클래스 조건부 픽셀 기반 확산 모델 훈련을 실행하려면, runpython main.py -base configs/example_training/toy/mnist_cond.yaml을 실행합니다.

참고 1: 비토이 데이터 세트 구성 사용 configs/example_training/imagenet-f8_cond.yamlconfigs/example_training/txt2img-clipl.yaml 그리고 configs/example_training/txt2img-clipl-legacy-ucg-training.yaml 트레이닝을 위해 사용된 데이터 세트에 따라 편집이 필요합니다(이는 타르 파일에 저장될 것으로 예상됩니다. 웹데이터세트 형식). 수정해야 하는 부분을 찾으려면 다음이 포함된 댓글을 검색하세요. USER: 를 해당 구성에 추가합니다.

참고 2: 이 리포지토리는 다음 두 가지를 모두 지원합니다. pytorch1.13 그리고 pytorch2를 사용하여 생성 모델을 훈련할 수 있습니다. 그러나 자동 인코더 트레이닝의 경우, 예를 들어 configs/example_training/autoencoder/kl-f4/imagenet-attnfree-logvar.yaml만 pytorch1.13 가 지원됩니다.

참고 3: 잠재 생성 모델 트레이닝(예 configs/example_training/imagenet-f8_cond.yaml)에서 체크포인트를 검색해야 합니다. 포옹하는 얼굴 를 대체하고 CKPT_PATH 의 플레이스홀더 이 줄. 제공된 텍스트-이미지 구성도 동일하게 수행해야 합니다.

컨디셔너

그리고 일반 컨디셔너 를 통해 구성됩니다. 컨디셔너_구성. 유일한 속성은 emb_models에서 상속된 다양한 임베더 목록( AbstractEmbModel) 생성 모델을 컨디셔닝하는 데 사용됩니다. 모든 임베더는 학습 가능 여부를 정의해야 합니다(is_trainable기본값 False), 분류기 없는 안내 탈락률이 사용됩니다(ucg_rate기본값 0), 입력 키(입력_키) 등을 예로 들 수 있습니다, txt 텍스트 컨디셔닝을 위해 또는 cls 를 사용하여 클래스 컨디셔닝을 수행합니다. 컨디셔닝을 계산할 때 임베더는 다음을 얻습니다. 배치[입력_키] 를 입력합니다. 현재 2~4차원 컨디셔닝을 지원하며, 서로 다른 임베더의 컨디셔닝이 적절하게 연결됩니다. 임베더의 임베더 순서는 컨디셔너_구성 가 중요합니다.

네트워크

신경망은 network_config. 예전에는 unet_config트랜스포머 기반 확산 백본을 실험할 계획이므로 충분히 일반적이지 않습니다.

손실

손실은 다음을 통해 구성됩니다. 손실_구성. 표준 확산 모델 훈련의 경우, 다음을 설정해야 합니다. 시그마샘플러_구성.

위에서 설명한 것처럼 샘플러는 모델과 독립적입니다. 샘플러는 샘플러_구성를 사용하여 수치 솔버의 유형, 단계 수, 이산화 유형, 분류기 없는 안내를 위한 안내 래퍼 등을 설정합니다.

대규모 트레이닝의 경우 다음과 같은 데이터 파이프라인을 사용하는 것이 좋습니다. 데이터 파이프라인 프로젝트에 추가합니다. 프로젝트는 요구 사항에 포함되어 있으며 요구 사항의 설치 섹션. 작은 맵 스타일의 데이터 세트는 리포지토리에서 여기에 정의되어야 하며(예: MNIST, CIFAR-10, ...), 데이터 키/값의 딕셔너리를 반환해야 합니다(예: {"jpg": x, # 이것은 텐서 -1...1 chw "txt": "아름다운 이미지"}

여기서 -1...1, 채널 우선 형식의 이미지가 예상됩니다.

ko_KRKorean