J'ai affaire à ** l'interpolation d'images vidéo par apprentissage en profondeur ** à l'université, et je sortirai l'implémentation que j'essaie dans le processus. Je continuerai à publier la suite de la mise en œuvre de l'interpolation d'images pour les vidéos, alors suivez LGTM et suivez-moi si vous le souhaitez.
Ce que j'ai fait cette fois, c'est de construire un réseau qui utilise des images vidéo réelles pour générer 1 image intermédiaire à partir de 6 images avant et après.
Google Colab https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja
** Apprentissage profond qui génère un cadre intermédiaire à partir des cadres avant et arrière (3 avant et 3 arrière). ** Le réseau est DnCNN [1]. J'ai ce réseau à portée de main, donc je l'utilise. ([1] Kai Zhang, Wangmeng Zuo, Yunjin Chen, Deyu Meng, and Lei Zhang, “Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising”, https://arxiv.org/abs/1608.03981)
Le réseau de DnCNN est le suivant. À l'origine, il était destiné à supprimer le bruit. Pour l'entrée, la taille de l'image est de 160 * 90 et le nombre de canaux est de 18 canaux (6 images * RBG). Pour la sortie, la taille de l'image est similaire et le nombre de canaux est de 3.
J'ai joué avec les paramètres de la couche intermédiaire bleue. Il a 15 couches, une taille de noyau de 3 * 3 et 72 canaux.
J'ai utilisé MOT17 qui a pris une photo de la ville. https://motchallenge.net/ Le nombre d'ensembles est le train 1320, test 1285.
La première image correspond aux 2 cadres avant, au cadre intermédiaire généré et aux 2 cadres arrière à partir du haut. En fait, il y a une autre entrée pour chaque image, mais je l'ai omise parce que l'image devient petite.
L'image suivante est une comparaison avec le cadre central correct.
C'est un résultat dont on ne peut pas dire du tout interpolé, comme le fait d'être tiré d'avant en arrière et le changement de couleur.
Cliquez ici pour un graphique des performances de généralisation. Il semble qu'il n'y ait pas de problème ici car cela prend une valeur proche. Cliquez ici pour obtenir des données numériques telles que les valeurs de perte.
La valeur numérique n'est pas si mauvaise. Il est proche de la valeur de perte et du PSNR moyen lorsqu'une image a été préalablement rognée et qu'une interpolation de pseudo-trame a été effectuée. Cependant, cela semble être dû au fait que les images avant et arrière sont presque la même image. Le taux moyen est faible et doit être augmenté ici.
La raison pour laquelle il n'a pas pu être interpolé ・ Petit nombre d'ensembles de données ・ Les images d'entrée 6 ne fonctionnent pas bien ・ Problèmes de réseau (DnCNN) Je pense qu'il y a trois points.
Il existe environ 1300 ensembles de données d'entraînement et de test. Bien que le nombre d'images originales soit important, il est difficile d'en gagner car un ensemble consomme 7 images. Je suis en train de créer mon propre jeu de données, alors j'aimerais garder un œil sur le nombre de jeux de données.
Qu'en est-il de 6 trames d'entrée? .. Chaque article examine l'interpolation dans 2 images avant et après, donc je m'inquiète si cela continuera à fonctionner dans 6 images. J'ai commencé à penser que je devrais revenir à 2 cadres pour comparaison.
-Augmentez le nombre d'ensembles avec votre propre jeu de données.
Merci d'avoir lu jusqu'au bout. N'hésitez pas à signaler les améliorations. Je continuerai à publier ce système, alors suivez LGTM et suivez-moi si vous le souhaitez!
Recommended Posts