Super SloMo divertido. Ou como você pode criar vídeos incríveis do YouTube com o AI

George Seif Blocked Desbloquear Seguir Seguindo 31 de dezembro

Alguma vez você já se perguntou como o YouTube ou a National Geographic faz esses vídeos super slow motion? Eles são tão loucos que quase parece mágica!

Costumava ser muito caro criar um vídeo desse tipo. A única maneira de fazer isso de maneira limpa era com uma câmera super alta-fps.

Para nossa sorte, já não é o caso! A explosão da IA que ocorreu nos últimos anos mudou tudo. Para criar um vídeo em câmera lenta épico, tudo que você precisa é baixar um pouco de código, instalar uma ou duas bibliotecas e deixar a Computer Vision fazer o resto.

Super SloMo

Super SloMo é uma nova técnica de visão computacional para interpolação entre quadros. Ele vem da Nvidia e foi publicado na conferência CVPR deste ano.

Fluxo Óptico Super SloMo

Em suma, o Super SloMo tenta calcular quadros intermediários no vídeo. Dados dois quadros, como podemos estimar com precisão o quadro que estaria entre eles (se tivéssemos uma câmera de alta fps) sem qualquer informação adicional . Ele faz isso com uma profunda rede neural convolucional, treinada para prever o fluxo óptico entre os quadros.

Fluxo óptico é o padrão de movimento aparente de objetos de imagem entre dois quadros consecutivos causados pelo movimento do objeto ou da câmera. Com este fluxo óptico, o Super SloMo saberá como cada pixel na imagem foi movido de quadro para quadro. Uma vez que saiba o caminho do movimento, ele pode determinar onde cada pixel estaria se realmente tivéssemos um quadro intermediário. Uma vez que você sabe onde todos os pixels devem estar, você pode simplesmente combiná-los para formar o quadro intermediário!

Resultados do Super SloMo, cortesia da Nvidia

Código para fazer seus vídeos SloMo

Graças à beleza da mentalidade de código aberto na comunidade de IA, existe uma implementação publicamente disponível do Super SloMo aqui ! Veja como você pode usá-lo.

Primeiro clone o repositório

 git clone https://github.com/avinashpaliwal/Super-SloMo.git 

Instale as bibliotecas necessárias

 pip instalar tocha torchvision 
pip instale tensorflow-gpu
pip instalar numpy
pip instalar matplotlib
sudo apt instala ffmpeg

Você pode baixar o modelo pré-treinado aqui . Coloque esse ponto de verificação no diretório Super-SloMo.

Para converter seu vídeo de regular para câmera lenta, você só precisa executar um pequeno script!

 python video_to_slomo.py --video = teste.mp4  
--sf = 4
--checkpoint = SuperSloMo.ckpt
--fps = 25
--output = saída.mp4

O parâmetro video é o caminho para o seu vídeo de entrada. sf controla quanto você quer diminuir o vídeo, neste caso, por 4x. checkpoint é o caminho para o checkpoint do modelo pré-treinado. fps é a taxa de quadros do vídeo original; você pode descobrir isso clicando com o botão direito do mouse no vídeo e indo para "propriedades". saída é o nome que você deseja que seu vídeo de saída seja.

Se você estiver em uma máquina Ubuntu, talvez seja necessário comentar as seguintes duas linhas como eu precisava no meu:

 FILE_ATTRIBUTE_HIDDEN = 0x02 
 ctypes.windll.kernel32.SetFileAttributesW (extractionDir, FILE_ATTRIBUTE_HIDDEN) 

Experimente o código, é muito divertido! Veja se você pode fazer seus próprios vídeos incríveis do SloMo. Sinta-se à vontade para postar um link abaixo para compartilhar seu vídeo com a comunidade.

Resultados do Super SloMo, cortesia da Nvidia