【AnimateAnyghing】AnimateAnyghing を使って Image2Videoを試してみる

github.com

はじめに

以前AnimateDiff Motion Module v3 と SparseCtrl を使って同じことをしました。
touch-sp.hatenablog.com
AnimateAnyghingでは変化させたくない部分をそのまま残せます。その点が前回との違いになります。

元画像

用意した1枚の画像に動きを持たせることが目的です。




元画像は前回と全く同じものを使いました。

mask画像

左の画像に対して右のようなmask画像を用意しました。




こちらのPythonスクリプトを使用しました。

白く塗りつぶされている部分が変化する部分、黒く塗りつぶされている部分が変化させたくない部分です。

今回は人物を固定して、夜空だけを変化させるようにしました。

実行

YAMLファイルの準備

以下のようなYAMLファイルを準備しました。

pretrained_model_path: pipeline/animate_anything_512_v1.02
output_dir: ./output/latent
train_data:
  width: 512
  height: 512
  use_bucketing: false
  return_mask: true
  return_motion: true
  sample_start_idx: 1
  fps: 8
  n_sample_frames: 16
  json_path: /webvid/animation0.json
validation_data:
  prompt: closeup face photo of japanese woman in black clothes, night city street, bokeh, fireworks in background
  prompt_image: example/girl.jpg
  mask: example/girl_mask.png
  sample_preview: true
  num_frames: 16
  fps: 4
  width: 512
  height: 512
  num_inference_steps: 25
  guidance_scale: 9
dataset_types:
- json
shuffle: true
validation_steps: 200
trainable_modules:
- all
- attn1
- conv_in
- temp_conv
- motion
not_trainable_modules: []
trainable_text_modules: null
extra_unet_params: null
extra_text_encoder_params: null
train_batch_size: 4
max_train_steps: 10000
learning_rate: 5.0e-06
scale_lr: false
lr_scheduler: constant
lr_warmup_steps: 0
adam_beta1: 0.9
adam_beta2: 0.999
adam_weight_decay: 0
adam_epsilon: 1.0e-08
max_grad_norm: 1.0
gradient_accumulation_steps: 1
gradient_checkpointing: true
text_encoder_gradient_checkpointing: false
checkpointing_steps: 2000
resume_from_checkpoint: null
resume_step: null
mixed_precision: fp16
use_8bit_adam: false
enable_xformers_memory_efficient_attention: false
enable_torch_2_attn: true
seed: null
train_text_encoder: false
use_offset_noise: false
rescale_schedule: false
offset_noise_strength: 0.1
extend_dataset: false
cache_latents: false
cached_latent_dir: null
lora_version: cloneofsimo
save_lora_for_webui: true
only_lora_for_webui: false
lora_bias: none
use_unet_lora: false
use_text_lora: false
unet_lora_modules:
- UNet3DConditionModel
text_encoder_lora_modules:
- CLIPEncoderLayer
save_pretrained_model: true
lora_rank: 16
lora_path: ''
lora_unet_dropout: 0.1
lora_text_dropout: 0.1
logger_type: tensorboard
motion_mask: true
motion_strength: true
kwargs: {}

実行

python train.py --eval --config config.yaml

結果

結果はGoogle Bloggerに載せています。
support-touchsp.blogspot.com




このエントリーをはてなブックマークに追加