Esta é uma implementação de referência do efeito 3D Ken Burns de uma única imagem [1] usando Pytorch. Dada uma única imagem de entrada, ele anima essa imagem ainda com uma verificação de câmera virtual e zoom sujeito a paralaxe de movimento. Se você estiver usando nosso trabalho, cite nosso artigo [1].
Várias funções são implementadas no CUDA usando Cupy, e é por isso que o Cupy é uma dependência necessária. Ele pode ser instalado usando pip install cupy ou, alternativamente, usando um dos pacotes binários fornecidos, conforme descrito no repositório Cupy. Certifique -se de ter a variável de ambiente CUDA_HOME configurada.
Para gerar os resultados do vídeo, também certifique -se de pip install moviepy instalado.
Para executá -lo em uma imagem e gerar o efeito 3D Ken Burns totalmente automaticamente, use o seguinte comando.
python autozoom.py --in ./images/doublestrike.jpg --out ./autozoom.mp4
Para iniciar a interface que permite ajustar manualmente o caminho da câmera, use o seguinte comando. Você pode navegar para http://localhost:8080/ e carregar uma imagem usando o botão no canto inferior direito. Por favor, seja paciente ao carregar uma imagem e salvar o resultado, há um pouco de processamento em segundo plano em andamento.
python interface.py
Para executar a estimativa de profundidade para obter a estimativa de profundidade bruta, use o seguinte comando. Observe que este script não executa o ajuste de profundidade, consulte #22 para obter informações sobre como adicioná -lo.
python depthestim.py --in ./images/doublestrike.jpg --out ./depthestim.npy
Para comparar a estimativa de profundidade, execute python benchmark-ibims.py ou python benchmark-nyu.py . Você pode usá -lo para verificar facilmente se a implementação fornecida é executada conforme o esperado.
Se você não tiver um ambiente adequado para executar esses projetos, poderá experimentar o Colab. Ele permite que você execute o projeto na nuvem, gratuitamente. Existem várias pessoas que fornecem notebooks do Colab que devem começar. Alguns que eu conheço incluem um de Arnaldo Gabriel, um de Vlad Alex e um de Ahmed Harmouche.
Este conjunto de dados é licenciado sob a Licença Pública Creative Commons Attribution-NonCommercial-Sharealike 4.0 International Public (CC BY-NC-SA 4.0) e pode ser usada apenas para fins não comerciais. Consulte o arquivo de licença para obter mais informações.
| cena | modo | cor | profundidade | normal |
|---|---|---|---|---|
| ASDF | vôo | 3,7 GB | 1,0 GB | 2,9 GB |
| ASDF | andando | 3,6 GB | 0,9 GB | 2,7 GB |
| em branco | vôo | 3,2 GB | 1,0 GB | 2,8 GB |
| em branco | andando | 3,0 GB | 0,9 GB | 2,7 GB |
| frio | vôo | 5.4 GB | 1,1 GB | 10,8 GB |
| frio | andando | 5.2 GB | 1,0 GB | 10,5 GB |
| cidade | vôo | 0,8 GB | 0,2 GB | 0,9 GB |
| cidade | andando | 0,7 GB | 0,2 GB | 0,8 GB |
| ambiente | vôo | 1,9 GB | 0,5 GB | 3,5 GB |
| ambiente | andando | 1,8 GB | 0,5 GB | 3,3 GB |
| forte | vôo | 5,0 GB | 1,1 GB | 9,2 GB |
| forte | andando | 4,9 GB | 1,1 GB | 9,3 GB |
| grama | vôo | 1,1 GB | 0,2 GB | 1,9 GB |
| grama | andando | 1,1 GB | 0,2 GB | 1,6 GB |
| gelo | vôo | 1,2 GB | 0,2 GB | 2.1 GB |
| gelo | andando | 1,2 GB | 0,2 GB | 2,0 GB |
| Cavaleiros | vôo | 0,8 GB | 0,2 GB | 1,0 GB |
| Cavaleiros | andando | 0,8 GB | 0,2 GB | 0,9 GB |
| posto avançado | vôo | 4,8 GB | 1,1 GB | 7,9 GB |
| posto avançado | andando | 4,6 GB | 1,0 GB | 7.4 GB |
| piratas | vôo | 0,8 GB | 0,2 GB | 0,8 GB |
| piratas | andando | 0,7 GB | 0,2 GB | 0,8 GB |
| atirador | vôo | 0,9 GB | 0,2 GB | 1,1 GB |
| atirador | andando | 0,9 GB | 0,2 GB | 1,0 GB |
| lojas | vôo | 0,2 GB | 0,1 GB | 0,2 GB |
| lojas | andando | 0,2 GB | 0,1 GB | 0,2 GB |
| favelas | vôo | 0,5 GB | 0,1 GB | 0,8 GB |
| favelas | andando | 0,5 GB | 0,1 GB | 0,7 GB |
| metrô | vôo | 0,5 GB | 0,1 GB | 0,9 GB |
| metrô | andando | 0,5 GB | 0,1 GB | 0,9 GB |
| templo | vôo | 1,7 GB | 0,4 GB | 3,1 GB |
| templo | andando | 1,7 GB | 0,3 GB | 2,8 GB |
| titã | vôo | 6.2 GB | 1,1 GB | 11,5 GB |
| titã | andando | 6,0 GB | 1,1 GB | 11,3 GB |
| cidade | vôo | 1,7 GB | 0,3 GB | 3,0 GB |
| cidade | andando | 1,8 GB | 0,3 GB | 3,0 GB |
| Underland | vôo | 5.4 GB | 1,2 GB | 12,1 GB |
| Underland | andando | 5.1 GB | 1,2 GB | 11,4 GB |
| vitoriano | vôo | 0,5 GB | 0,1 GB | 0,8 GB |
| vitoriano | andando | 0,4 GB | 0,1 GB | 0,7 GB |
| aldeia | vôo | 1,6 GB | 0,3 GB | 2,8 GB |
| aldeia | andando | 1,6 GB | 0,3 GB | 2,7 GB |
| armazém | vôo | 0,9 GB | 0,2 GB | 1,5 GB |
| armazém | andando | 0,8 GB | 0,2 GB | 1,4 GB |
| ocidental | vôo | 0,8 GB | 0,2 GB | 0,9 GB |
| ocidental | andando | 0,7 GB | 0,2 GB | 0,8 GB |
Observe que esta é uma versão atualizada do conjunto de dados que usamos em nosso artigo. Portanto, embora tenha menos cenas no total, cada captura de amostra agora tem uma distância focal variável, o que deve ajudar na generalização. Além disso, alguns exemplos são super ou subexpostos e seria uma boa idéia remover esses outliers. Consulte #37, #39 e #40 para discussões suplementares.
Este é um projeto da Adobe Research. Ele está licenciado sob a Creative Commons Attribution-NonCommercial-Sharealike 4.0 International Public License (CC BY-NC-SA 4.0) e só pode ser usado para fins não comerciais. Consulte o arquivo de licença para obter mais informações.
[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}
}
O vídeo acima usa materiais sob uma licença comum criativa ou com a permissão do proprietário, conforme detalhado no final.