Esta es una implementación de referencia del efecto 3D Ken Burns de una sola imagen [1] usando Pytorch. Dada una sola imagen de entrada, anima esta imagen fija con un escaneo de cámara virtual y un zoom sujeto al paralaje de movimiento. Si está haciendo uso de nuestro trabajo, por favor cita nuestro documento [1].
Varias funciones se implementan en CUDA usando Cupy, por lo que Cupy es una dependencia requerida. Se puede instalar utilizando pip install cupy o alternativamente utilizando uno de los paquetes binarios proporcionados como se describe en el repositorio de Cupy. También asegúrese de configurar la variable de entorno CUDA_HOME .
Para generar los resultados del video, también asegúrese de tener instalado pip install moviepy .
Para ejecutarlo en una imagen y generar el efecto 3D Ken Burns completamente automáticamente, use el siguiente comando.
python autozoom.py --in ./images/doublestrike.jpg --out ./autozoom.mp4
Para iniciar la interfaz que le permite ajustar manualmente la ruta de la cámara, use el siguiente comando. Luego puede navegar a http://localhost:8080/ y cargar una imagen usando el botón en la esquina inferior derecha. Tenga paciencia al cargar una imagen y guardar el resultado, hay un poco de procesamiento de fondo.
python interface.py
Para ejecutar la estimación de profundidad para obtener la estimación de profundidad sin procesar, use el siguiente comando. Tenga en cuenta que este script no realiza el ajuste de profundidad, consulte el #22 para obtener información sobre cómo agregarlo.
python depthestim.py --in ./images/doublestrike.jpg --out ./depthestim.npy
Para comparar la estimación de profundidad, ejecute python benchmark-ibims.py o python benchmark-nyu.py . Puede usarlo para verificar fácilmente que la implementación proporcionada se ejecuta como se esperaba.
Si no tiene un entorno adecuado para ejecutar estos proyectos, entonces podría probar a Colab. Le permite ejecutar el proyecto en la nube, de forma gratuita. Hay varias personas que proporcionan cuadernos Colab que deberían comenzar a comenzar. Algunos que conozco incluyen uno de Arnaldo Gabriel, uno de Vlad Alex y otro de Ahmed Harmouche.
Este conjunto de datos tiene licencia bajo el Creative Commons Attribution-No Commercial-Sharealike 4.0 International Public License (CC BY-NC-SA 4.0) y solo puede usarse para fines no comerciales. Consulte el archivo de licencia para obtener más información.
| escena | modo | color | profundidad | normal |
|---|---|---|---|---|
| asdf | vuelo | 3.7 GB | 1.0 GB | 2.9 GB |
| asdf | caminando | 3.6 GB | 0.9 GB | 2.7 GB |
| blanco | vuelo | 3.2 GB | 1.0 GB | 2.8 GB |
| blanco | caminando | 3.0 GB | 0.9 GB | 2.7 GB |
| enfriar | vuelo | 5.4 GB | 1.1 GB | 10.8 GB |
| enfriar | caminando | 5.2 GB | 1.0 GB | 10.5 GB |
| ciudad | vuelo | 0.8 GB | 0.2 GB | 0.9 GB |
| ciudad | caminando | 0.7 GB | 0.2 GB | 0.8 GB |
| ambiente | vuelo | 1.9 GB | 0.5 GB | 3.5 GB |
| ambiente | caminando | 1.8 GB | 0.5 GB | 3.3 GB |
| fuerte | vuelo | 5.0 GB | 1.1 GB | 9.2 GB |
| fuerte | caminando | 4.9 GB | 1.1 GB | 9.3 GB |
| césped | vuelo | 1.1 GB | 0.2 GB | 1.9 GB |
| césped | caminando | 1.1 GB | 0.2 GB | 1.6 GB |
| hielo | vuelo | 1.2 GB | 0.2 GB | 2.1 GB |
| hielo | caminando | 1.2 GB | 0.2 GB | 2.0 GB |
| caballeros | vuelo | 0.8 GB | 0.2 GB | 1.0 GB |
| caballeros | caminando | 0.8 GB | 0.2 GB | 0.9 GB |
| avanzada | vuelo | 4.8 GB | 1.1 GB | 7.9 GB |
| avanzada | caminando | 4.6 GB | 1.0 GB | 7.4 GB |
| piratas | vuelo | 0.8 GB | 0.2 GB | 0.8 GB |
| piratas | caminando | 0.7 GB | 0.2 GB | 0.8 GB |
| tirador | vuelo | 0.9 GB | 0.2 GB | 1.1 GB |
| tirador | caminando | 0.9 GB | 0.2 GB | 1.0 GB |
| tiendas | vuelo | 0.2 GB | 0.1 GB | 0.2 GB |
| tiendas | caminando | 0.2 GB | 0.1 GB | 0.2 GB |
| barrios marginales | vuelo | 0.5 GB | 0.1 GB | 0.8 GB |
| barrios marginales | caminando | 0.5 GB | 0.1 GB | 0.7 GB |
| metro | vuelo | 0.5 GB | 0.1 GB | 0.9 GB |
| metro | caminando | 0.5 GB | 0.1 GB | 0.9 GB |
| templo | vuelo | 1.7 GB | 0.4 GB | 3.1 GB |
| templo | caminando | 1.7 GB | 0.3 GB | 2.8 GB |
| titán | vuelo | 6.2 GB | 1.1 GB | 11.5 GB |
| titán | caminando | 6.0 GB | 1.1 GB | 11.3 GB |
| ciudad | vuelo | 1.7 GB | 0.3 GB | 3.0 GB |
| ciudad | caminando | 1.8 GB | 0.3 GB | 3.0 GB |
| subterráneo | vuelo | 5.4 GB | 1.2 GB | 12.1 GB |
| subterráneo | caminando | 5.1 GB | 1.2 GB | 11.4 GB |
| victoriano | vuelo | 0.5 GB | 0.1 GB | 0.8 GB |
| victoriano | caminando | 0.4 GB | 0.1 GB | 0.7 GB |
| aldea | vuelo | 1.6 GB | 0.3 GB | 2.8 GB |
| aldea | caminando | 1.6 GB | 0.3 GB | 2.7 GB |
| depósito | vuelo | 0.9 GB | 0.2 GB | 1.5 GB |
| depósito | caminando | 0.8 GB | 0.2 GB | 1.4 GB |
| occidental | vuelo | 0.8 GB | 0.2 GB | 0.9 GB |
| occidental | caminando | 0.7 GB | 0.2 GB | 0.8 GB |
Tenga en cuenta que esta es una versión actualizada del conjunto de datos que hemos utilizado en nuestro documento. Entonces, si bien tiene menos escenas en total, cada captura de muestra ahora tiene una distancia focal variable que debería ayudar con la generalización. Además, algunos ejemplos están sobrecargados o subexpuestos y sería una buena idea eliminar estos valores atípicos. Consulte #37, #39 y #40 para discusiones complementarias.
Este es un proyecto de Adobe Research. Tiene licencia bajo el Creative Commons Attribution-No Commercial-Sharealike 4.0 International Public License (CC BY-NC-SA 4.0) y solo puede usarse para fines no comerciales. Consulte el archivo de licencia para obtener más información.
[1] @article{Niklaus_TOG_2019,
author = {Simon Niklaus and Long Mai and Jimei Yang and Feng Liu},
title = {3D Ken Burns Effect from a Single Image},
journal = {ACM Transactions on Graphics},
volume = {38},
number = {6},
pages = {184:1--184:15},
year = {2019}
}
El video anterior utiliza materiales bajo una licencia común creativa o con el permiso del propietario, como se detalla al final.