HyperAI

Super SloMo : Utiliser Les Réseaux Neuronaux Pour Créer Un Super Ralenti

il y a 4 ans
Nouvelles des grandes usines
神经小兮
特色图像

Afin de résoudre les problèmes de gel et de manque de fluidité de la vidéo, la méthode d'interpolation vidéo a vu le jour. La méthode Super SloMo proposée par NVIDIA est bien en avance sur de nombreuses méthodes. Pour une vidéo enregistrée avec un équipement ordinaire, il peut produire « de manière imaginative » une vidéo au ralenti à fréquence d'images élevée. Avec cet outil magique, le seuil de production vidéo est encore abaissé.

De nos jours, les gens recherchent des fréquences d'images vidéo de plus en plus élevées, car les vidéos à fréquence d'images élevée sont plus fluides et peuvent grandement améliorer l'expérience de visionnage des gens.
La fréquence d'images des vidéos filmées par les caméras existantes a également été continuellement améliorée, passant de 25 FPS (images par seconde) à 60 FPS, puis à 240 FPS et même plus.

À une époque où la plupart des films ont une fréquence d'images de 24, Gemini Killer d'Ang Lee a révolutionné la technologie cinématographique avec une fréquence d'images de 120.

Cependant, les équipements de caméra à fréquence d'images élevée ont d'énormes besoins en mémoire et sont coûteux, ils ne sont donc pas encore populaires. Afin d'obtenir des vidéos à fréquence d'images élevée sans équipement professionnel, la technologie d'interpolation vidéo a vu le jour.

La méthode de « supplément cérébral » d'IA de NVIDIA, Super SloMo, est bien en avance sur de nombreuses technologies d'interpolation vidéo, même si la fréquence d'images n'est que de Les vidéos de 30 images peuvent également être complétées par 60 images, 240 images ou même plus en utilisant Super SloMo.

Avantages et inconvénients des méthodes traditionnelles d'insertion de cadres

Pour mieux comprendre le Super SloMo, examinons d’abord la technologie d’interpolation vidéo plus traditionnelle existante.

Échantillonnage de la base de sondage 

L'échantillonnage d'images consiste à utiliser des images clés comme images de compensation. Son essence est d'étendre le temps d'affichage de chaque image clé, ce qui équivaut à ne pas insérer d'images. Outre l'obtention d'une fréquence d'images plus élevée et d'une taille de fichier plus grande avec la même qualité vidéo, cela n'apportera aucune amélioration de la perception visuelle.

avantage:L'échantillonnage de trame consomme moins de ressources et est rapide.

défaut:Cela peut rendre la vidéo peu fluide.

Mixage d'images 

Le mélange d'images, comme son nom l'indique, consiste à augmenter la transparence des images clés précédentes et suivantes, puis à les fusionner dans une nouvelle image pour combler l'espace.

avantage:Calculez combien de temps cela prendra.

défaut:L'effet n'est pas bon. Étant donné que l'image clé d'origine est simplement rendue translucide, lorsque le contour de l'objet en mouvement chevauche les images précédentes et suivantes, une scène floue évidente sera produite, ce qui n'améliore que légèrement la fluidité de l'effet visuel de la vidéo.

Compensation de mouvement 

Le principe de la compensation de mouvement (MEMC) consiste à trouver les blocs avec mouvement dans les directions horizontale et verticale en fonction de la différence entre deux images, à analyser la tendance de mouvement des blocs d'image, puis à calculer les images intermédiaires.

Le MEMC est principalement utilisé dans les téléviseurs, les moniteurs et les appareils mobiles pour améliorer la fréquence d'images vidéo et offrir aux téléspectateurs une expérience de visionnage plus fluide.

avantage:Réduisez les tremblements de mouvement, affaiblissez les traînées et les images fantômes et améliorez la clarté de l'image.

défaut:Lorsque l'arrière-plan de l'objet en mouvement est complexe, le bug du mouvement des bords de l'objet apparaît.

Méthode du flux optique 

La méthode du flux optique est une direction importante dans la recherche en vision par ordinateur. Il déduit la trajectoire du mouvement des pixels en fonction des images supérieures et inférieures et génère automatiquement de nouvelles images vides. C'est quelque peu similaire à la méthode de calcul du flou de mouvement.

avantage:L'image est plus fluide et la sensation de décalage est moindre.

défaut:Le calcul est long et fastidieux ; il est sensible à la lumière et est sujet à des erreurs de trouble de l'image lorsque la lumière change beaucoup.

Super SloMo : méthode d'interpolation IA, un classique du secteur

Lors de la conférence informatique CVPR 2018, NVIDIA a publié un article « Super SloMo : estimation de haute qualité de plusieurs images intermédiaires pour l'interpolation vidéo »Dans le document, le Super SloMo a été proposé, ce qui a attiré une grande attention dans l'industrie.

Super ralenti : estimation de haute qualité pour l'interpolation de plusieurs images intermédiaires dans les vidéos

Adresse du document : https://arxiv.org/pdf/1712.00080.pdf

Super SloMo est différent des méthodes traditionnelles. Il utilise des réseaux neuronaux profonds pour mettre en œuvre l'interpolation d'images. L'idée de base est :Utilisez un grand nombre de vidéos normales et de vidéos au ralenti pour la formation, puis laissez le réseau neuronal apprendre à raisonner et à générer des vidéos au ralenti de haute qualité basées sur des vidéos normales..

Le schéma-cadre de la méthode Super SloMo comprend un module de calcul de flux optique (à gauche) et un module d'interpolation de flux temporel spécifique (à droite)

La méthode proposée par l'équipe Super SloMo,L'ensemble de son cadre repose sur deux réseaux neuronaux entièrement convolutifs U-Net.

Tout d’abord, un U-Net est utilisé pour calculer le flux optique bidirectionnel entre les images d’entrée adjacentes. Ces flux optiques sont ensuite ajustés linéairement à chaque pas de temps pour approximer le flux optique bidirectionnel des trames intermédiaires.

Pour résoudre le problème des artefacts de limite de mouvement, un autre U-Net est utilisé pour améliorer le flux optique approximatif et prédire la carte de visibilité flexible. Enfin, les deux images d’entrée sont déformées et fusionnées linéairement pour former une image intermédiaire.

De plus, les paramètres du réseau de calcul de flux optique et du réseau d'interpolation de Super SloMo ne dépendent pas du pas de temps spécifique de la trame interpolée (le pas de temps est utilisé comme entrée du réseau). Il peut donc interpoler des images à n'importe quel pas de temps entre deux images en parallèle, dépassant ainsi les limites de nombreuses méthodes d'interpolation d'image unique.

Vidéo SloMo originale (en haut) Vidéo Super SloMo après ajout d'images (en bas)

Les auteurs affirment qu'en utilisant leur code PyTorch non optimisé, la génération de 7 images intermédiaires avec une résolution de 1280*720 ne prend que 0,97 seconde et 0,79 seconde sur un seul GPU NVIDIA GTX 1080Ti et Tesla V100, respectivement.

Pour former le réseau,Les auteurs ont collecté plusieurs vidéos à 240 ips à partir de YouTube et de caméras portables. Au total, 1 100 segments vidéo ont été collectés, constitués de 300 000 images vidéo indépendantes avec une résolution de 1 080 × 720.Ces vidéos couvrent un large éventail de scénarios, de l'intérieur à l'extérieur, des caméras statiques aux caméras dynamiques, et des activités quotidiennes aux sports professionnels.

Le modèle a ensuite été vérifié sur d’autres ensembles de données, et les résultats ont montré que cette étude améliorait considérablement les performances des méthodes existantes sur ces ensembles de données.

Suivez le tutoriel pour réaliser Super SloMo en un clic

Bien que les auteurs de cet article de NVIDIA n'aient pas encore publié l'ensemble de données et le code, il existe des experts parmi le public. Un utilisateur nommé avinashpaliwal sur GitHub a ouvert le code source de sa propre implémentation PyTorch de Super SloMo, et les résultats sont presque les mêmes que ceux décrits dans l'article.

Les détails du projet sont les suivants :

Interpolation d'objectif Super SloMo Super Slow Motion

Étant donné que la formation et les tests des modèles sont effectués sur PyTorch 0.4.1 et CUDA 9.2, il est essentiel d'installer ces deux logiciels. De plus, vous avez également besoin d'une carte graphique NVIDIA.

De plus, le modèle ne peut pas être formé directement à l'aide de vidéos, vous devez donc également installer ffmpeg pour extraire les images de la vidéo. Une fois toutes ces préparations terminées, vous pouvez télécharger l’ensemble de données Adobe 240 ips pour la formation.

Cependant, vous n’avez pas besoin de les préparer, soyez simplement un « demandeur » silencieux et réalisez le Super SloMo en un seul clic.

Nous avons trouvé le tutoriel correspondant sur la plate-forme de service de conteneur de puissance de calcul d'apprentissage automatique domestique (https://openbayes.com). Des ensembles de données aux codes en passant par la puissance de calcul, tout est disponible, de sorte que même un novice peut facilement démarrer.

Lien du tutoriel :
https://openbayes.com/console/openbayes/containers/xQIPlDQ0GyD/overview

Guide d'utilisation du didacticiel 

Tout d'abord, inscrivez-vous et connectez-vous sur https://openbayes.com/, sous le menu « Ressources publiques » « Tutoriel public », sélectionnez ce tutoriel——« Implémentation PyTorch de la caméra Super-SloMo Super Slow Motion ».

L'exemple de fichier d'affichage dans le didacticiel est Super-SloMo.ipynb. L'exécution de ce fichier installera l'environnement et affichera l'effet de super ralenti de l'image interpolée finale.
Vous pouvez également utiliser votre propre matériel vidéo et remplacer lightning-dick-clip.mp4 dans le code généré ci-dessous par le nom de votre fichier vidéo.
L'attribut « échelle » est utilisé pour contrôler la vitesse de la vidéo générée. Par exemple, s'il est réglé sur 4, le ralenti sera de 4 fois.

Générer du code :

!python3 'Super-SloMo/eval.py' \    'lightning-dick-clip.mp4' \    --checkpoint='/openbayes/input/input0/SuperSloMo.ckpt' \    --output='output-tmp.mp4' \    --scale=4print('Done')

Convertir le code du format vidéo :

!ffmpeg -i output-tmp.mp4 -vcodec libx264 -acodec aac output.mp4

Dans ce tutoriel, un clip vidéo provenant d'Internet a été utilisé pour effectuer une interpolation Super SloMo, et les résultats suivants ont été obtenus :

imageRalenti 4x pour voir clairement chaque étape des mouvements d'arts martiaux

Actuellement, la plateforme propose également du temps d’utilisation gratuit du vGPU chaque semaine. Tout le monde peut le compléter facilement, alors essayez-le maintenant !

Créez de superbes ralentis de vos propres mains


Références :

Article : https://arxiv.org/pdf/1712.00080.pdf

Page d'accueil du projet : http://jianghz.me/projects/superslomo/

https://zhuanlan.zhihu.com/p/86426432