
Stability AIïŒåçå€èŠç¹åç»çæãå®çŸãããStable Video 4Dããçºè¡š
2024幎7æ24æ¥ãStability AI ã¯å瀟ã®åã® Video to Videoçæã¢ãã«ã§ããåçå€èŠç¹åç»çææè¡ãStable Video 4DããæäŸéå§ããŸããã1æ¬ã®ãããªãã8ã€ã®æ°ããã¢ã³ã°ã«ã®åçã§æ¬æ°ãªèŠç¹ã®åç»ãçæã§ããŸãã
ãã®çºè¡šã«åãããŠããã®ã¢ãã«éçºã§éæãããæ¹æ³è«ã課é¡ããã¬ãŒã¯ã¹ã«ãŒã詳述ããå æ¬çãªæè¡ã¬ããŒããå ¬éãããŠããŸãã
Stable Video 4D (è±èªããŒãž)
æ¥æ¬èªå ¬åŒãªãªãŒã¹
äž»ãªãã€ã³ãïŒ
Stable Video 4D ã¯ã1ã€ã®ç®çã®åç»ããã8 ã€ã®ç°ãªãè§åºŠ/èŠç¹ããã®æ¬æ°ãªè€æ°èŠç¹åç»ã«å€æããŸãã
Stable Video 4D ã¯ã1åã®æšè«ã§ã8èŠç¹ã«ããã 5ãã¬ãŒã ãçŽ40ç§ã§çæããŸãã
ãŠãŒã¶ãŒã¯ã«ã¡ã©ã¢ã³ã°ã«ãæå®ããŠãç¹å®ã®ã¯ãªãšã€ãã£ãããŒãºã«åãããŠåºåã調æŽã§ããŸãã
çŸåšç 究段éã«ãããã®ã¢ãã«ã¯ãã²ãŒã éçºãåç»ç·šéãããŒãã£ã«ãªã¢ãªãã£ã«ãããå°æ¥çãªå¿çšãæåŸ ãããŠãããç¶ç¶çãªæ¹åãé²ããããŠããŸããHugging Face ã§çŸåšå ¬éäžã§ãã
ä»çµã¿
ãŠãŒã¶ãŒã¯ãŸããåäžã®åç»ãã¢ããããŒãããç®çã®3D ã«ã¡ã©ã®å§¿å¢ãæå®ããŸããæ¬¡ã«ãStable Video 4D ã¯ãæå®ãããã«ã¡ã©ã®èŠç¹ã«åŸã£ãŠ 8 ã€ã®æ¬æ°ãªèŠç¹åç»ãçæãã被åäœã®å æ¬çã§å€è§çãªèŠç¹ãæäŸããŸããçæãããåç»ã¯ãåç»å ã®è¢«åäœã®åç㪠3D 衚çŸãå¹ççã«æé©åããããã«äœ¿çšã§ããŸãã
çŸåšãStable Video 4D 㯠8 ã€ã®èŠç¹ã«ããã£ãŠ 5 ãã¬ãŒã ã®åç»ãçŽ 40 ç§ã§çæã§ãã4Dæé©åå šäœã«ã¯çŽ 20 ïœ 25 åããããŸããéçºããŒã ã¯ãã²ãŒã éçºãåç»ç·šéãããŒãã£ã«ãªã¢ãªãã£ã«ãããå°æ¥çãªå¿çšãæ§æ³ããŠããããããã®åéã®å°éå®¶ã¯ããªããžã§ã¯ããè€æ°ã®èŠç¹ããèŠèŠåããæ©èœãã倧ããªæ©æµãåãã補åã®ãªã¢ãªãºã ãšæ²¡å ¥æãé«ããããšããå¯èœã«ãªããŸãã
æå 端ã®ããã©ãŒãã³ã¹
ç»åæ¡æ£ã¢ãã«ãåç»æ¡æ£ã¢ãã«ãå€èŠç¹æ¡æ£ã¢ãã«ã®çµã¿åãããããµã³ããªã³ã°ããå¿ èŠãããåŸæ¥ã®ã¢ãããŒããšã¯ç°ãªããSV4D ã¯è€æ°ã®æ¬æ°ãªèŠç¹åç»ãåæã«çæã§ããããã空éè»žãšæé軞ã®äžè²«æ§ãå€§å¹ ã«åäžããŠããŸãããã®æ©èœã«ãããè€æ°ã®èŠç¹ãšã¿ã€ã ã¹ã¿ã³ãã«ããã£ãŠäžè²«ãããªããžã§ã¯ãã®å€èгãä¿èšŒãããã ãã§ãªããè€æ°ã®æ¡æ£ã¢ãã«ã䜿çšããç ©éãªã¹ã³ã¢èžçãµã³ããªã³ã° (Score Distillation Sampling: SDS) ãå¿ èŠãšããªãããã軜é㪠4D æé©åãã¬ãŒã ã¯ãŒã¯ãå¯èœã«ãªããŸãã
Stable Video 4D ã¯ãæ¢åã®äºäŸãšæ¯èŒããŠããã詳现ã§ãå ¥ååç»ã«å¿ å®ã§ããã¬ãŒã ãšèŠç¹éã§äžè²«æ§ã®ããæ¬æ°ãªèŠç¹åç»ãçæã§ããŸãã
ç ç©¶éçº
Stable Video 4D 㯠Hugging Face ã§å ¬éãããŠãããStability AI åã®åç»ããåç»ãžã®çæã¢ãã«ã§ããããšããµã€ãã£ã³ã°ãªãã€ã«ã¹ããŒã³ãšãªã£ãŠããŸããçŸåšãã¬ãŒãã³ã°ã«äœ¿çšãããŠããåæããŒã¿ã»ãããè¶ ããŠãããå¹ åºãå®éã®åç»ãåŠçã§ããããã«ãã¢ãã«ã®æ¹è¯ãšæé©åã«ç©æ¥µçã«åãçµãã§ããŸãã
ãã¯ãã«ã«ã¬ããŒã
ãã®çºè¡šãšäœµããŠããã®ã¢ãã«ã®éçºäžã«éæãããæ¹æ³è«ã課é¡ããã¬ãŒã¯ã¹ã«ãŒã詳述ããå æ¬çãªæè¡ã¬ããŒããå ¬éãããŠããŸãã
https://sv4d.github.io/static/sv4d_technical_report.pdf
ãªããžããªããïŒVRAM40GB以äžå¿ èŠïŒ
Hugging Face ã§ã®ã¢ãã«é
åžã¯å®æœãããŠããŸããããã®ãŸãŸè©Šãããšã¯é£ããç¶æ
ã§ããAICU AIDX Labã§ã¯ããŒã«ã«ããã³Google Colab Proç°å¢ã§å®éšããŠã¿ãŸããïŒçµè«ã¯VRAMã40GB以äžå¿
èŠã§ãåäœç¢ºèªã«ã¯è³ã£ãŠããŸããïŒãããŒãããã¯ãžã®ãªã³ã¯ã¯ææ«ã«ãŠã
Stability AI ã® GitHub ã§ã¯ Generative Models ãšãããªããžããªã§ãµã³ãã«ã³ãŒããæäŸãããŠããŸãã
SV4D helper
https://github.com/Stability-AI/generative-models/blob/main/scripts/demo/sv4d_helpers.py
Sample code
https://github.com/Stability-AI/generative-models/blob/main/scripts/sampling/simple_video_sample_4d.py
äºåæºå
ãŸã Hugging Face ã§ä»¥äžã®ã¢ãã«ã«ã€ããŠã©ã€ã»ã³ã¹ç»é²ãè¡ãå¿ èŠããããŸãã
https://huggingface.co/stabilityai/sv4d
https://huggingface.co/stabilityai/sv3d
次ã«GPUã¡ã¢ãªã40GBä»¥äžæèŒãããç°å¢ããæºåãã ããã
Google Colab Pro+ ã§A100ç°å¢ããæºåãã ããã
Hugging Face Access Token ã㌠ã HF_TOKEN ãšããååã§ Google Colabå·ŠåŽã®ãã·ãŒã¯ã¬ãããã«èšå®ããŸãã

sv4d.safetensors ãš sv3d_u.safetensors ã ./checkpoints/ ã«ããŠã³ããŒãããŸãã
SV4Dã¯ã5ã€ã®ã³ã³ããã¹ããã¬ãŒã ïŒå ¥åæ åïŒãšãåããµã€ãºã®8ã€ã®åç §ãã¥ãŒïŒSV3Dã®ãããªãã«ããã¥ãŒæ¡æ£ã¢ãã«ã䜿çšããŠãå ¥åæ åã®æåã®ãã¬ãŒã ããåæãããïŒãäžãããã576x576ã®è§£å床ã§40ãã¬ãŒã ïŒ5ãããªãã¬ãŒã x8ã«ã¡ã©ãã¥ãŒïŒãçæããããã«èšç·ŽãããŠããŸããããé·ãæ°èŠã®ãã¥ãŒåç»ïŒ21ãã¬ãŒã ïŒãçæããããã«ããŸã5ã€ã®ã¢ã³ã«ãŒãã¬ãŒã ããµã³ããªã³ã°ããæ¬¡ã«æéçãªäžè²«æ§ãä¿ã¡ãªããæ®ãã®ãã¬ãŒã ãé«å¯åºŠã«ãµã³ããªã³ã°ãããšãããSV4Dãçšããæ°ãããµã³ããªã³ã°æ¹æ³ãææ¡ããŸãã
äŸãã°21ãã¬ãŒã ã®åäžã®å ¥ååç»ã§SV4Dãå®è¡ããã«ã¯:
generative-models ãã£ã¬ã¯ããªãã
以äžã®ã³ãã³ããå®è¡ããŸãã
python scripts/sampling/simple_video_sample_4d.py --input_path <path/to/video>
èµ·åæãã©ã¡ãŒã¿ãšããŠã¯ä»¥äžã®ãšããã§ãã
input_path: å ¥ååç»<path/to/video>ã¯ã
assets/test_video1.mp4ã®ãã㪠gif ãŸã㯠mp4 圢åŒã®åäžã®ãããªãã¡ã€ã«
.jpgã.jpegããŸãã¯.png圢åŒã®(é£çª)ãããªãã¬ãŒã ã®ç»åãå«ããã©ã«ã
ãããªãã¬ãŒã ã®ç»åã«äžèŽãããã¡ã€ã«åãã¿ãŒã³
ãæå®ã§ããŸãã
num_steps: ããã©ã«ãã¯20ã§ããããé«ãå質ãåŸãã«ã¯50ã«å¢ããããšãã§ããŸããããµã³ããªã³ã°æéãé·ããªããŸãã
sv3d_version: åç §ãã«ããã¥ãŒãçæããããã«äœ¿çšããSV3Dã¢ãã«ãæå®ããã«ã¯ãSV3D_uã®å Žå㯠--sv3d_version=sv3d_uãSV3D_pã®å Žå㯠--sv3d_version=sv3d_p ãèšå®ããŸãã
elevations_deg: SV3D_pïŒããã©ã«ãã¯SV3D_uïŒã䜿çšããŠãæå®ãããä»°è§ïŒããã©ã«ãã®ä»°è§ã¯10ïŒã§ããã«ãã¥ãŒåç»ãçæããã«ã¯ã python scripts/sampling/simple_video_sample_4d.py --input_path test_video1.mp4 --sv3d_version sv3d_p --elevations_deg 30.0 ãå®è¡ããŸãã
èæ¯åé€: ç¡å°ã®èæ¯ãæã€å ¥ååç»ã®å Žåã(ãªãã·ã§ã³ã§) --remove_bg=True ãèšå®ããããšã§ãrembgã䜿çšããŠèæ¯ãåé€ãããããªãã¬ãŒã ãããªãã³ã°ããŸãããã€ãºã®å€ãèæ¯ãæã€çŸå®äžçã®å ¥ååç»ã§ããé«å質ã®åºåãåŸãã«ã¯ãSV4Dãå®è¡ããåã«ãCliipdropã䜿çšããŠåæ¯ãªããžã§ã¯ããã»ã°ã¡ã³ãåããŠã¿ãŠãã ããã
# ãã®ãŸãŸã ãš A100 GPU (40GB)ã§ãåäœããªã
#!python scripts/sampling/simple_video_sample_4d.py --input_path assets/test_video1.mp4 --output_folder outputs/sv4d
import os
os.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'max_split_size_mb:512'
#ãã©ã¡ãŒã¿ãå°ããããŠã¿ãŸãããåãã
!python scripts/sampling/simple_video_sample_4d.py \
  --input_path assets/test_video2.mp4 \
  --output_folder outputs/sv4d \
  --model_path checkpoints/sv4d.safetensors \
  --model_path_sv3d checkpoints/sv3d_u.safetensors \
  --batch_size 1 \
  --height 32 --width 32 \
  --num_steps 1
# ã©ãªããåäœç¢ºèªããŠããã ããæ¹ãåéããŸãïŒ