Explication détaillée de l'application de la technologie d'amélioration vidéo iQIYI ZoomAI | Million People Learning AI

Dingdong ~ Vous avez été touché par le bien-être! À partir de maintenant, "2020 AI Developer Ten Thousand Conference" 299 billets sont gratuits! Accédez à la page d'inscription [2020 AI Developer Ten Thousand Conference (Online Live Tickets) -IT Training Live-CSDN Academy], cliquez sur "S'inscrire maintenant", utilisez le code de réduction "AIP1410" lors du règlement, le prix deviendra "0" yuan !

Regarder divers programmes vidéo est devenu une méthode actuelle de divertissement et de loisirs. Les progrès de la technologie et la mise à niveau de la vitesse du réseau ont amélioré notre plaisir visuel, mais vous rencontrerez toujours certaines situations, telles que le scintillement et la couleur des vieux films / séries télévisées. Dim; la bande passante de l'utilisateur est limitée, choisissez le mode de flux binaire faible; la qualité vidéo / courte vidéo téléchargée par l'UP principal est incontrôlable, etc. Alors, comment optimiser la technologie pour fournir aux utilisateurs un contenu vidéo de meilleure qualité?

Le professeur Jiang Zidong, ingénieur principal en algorithmes d'iQIYI, a récemment partagé un cours ouvert sur l'application de la technologie d'amélioration vidéo iQIYI ZoomAI sur la plate-forme du camp de base de technologie AI. Grâce à ce cours, vous serez en mesure de comprendre l'application des algorithmes d'IA dans le domaine de l'amélioration de l'image et des affaires iQiyi; comprendre l'évolution technique des modèles d'apprentissage profond tels que la super-résolution, l'amélioration des couleurs et la suppression des rayures, ainsi que les défis et les solutions en ingénierie .

Ce qui suit est le compte rendu du discours de l'enseignant Jiang Zidong

Bonsoir tout le monde! Je suis Jiang Zidong, un ingénieur en algorithme d'iQiyi. Je suis honoré de participer à cet événement aujourd'hui. Je souhaite également la bienvenue à tout le monde pour participer à ce partage de la technologie d'amélioration vidéo ZoomAI. C'est également l'un de mes principaux emplois chez iQiyi.

Ce partage aura probablement ces quatre aspects:

Tout d'abord, l'arrière-plan de cette technologie et pourquoi avons-nous besoin d'une amélioration vidéo?

Deuxièmement, nous présentons les principes de diverses technologies d'amélioration dans des vidéos ou des images, y compris les derniers articles académiques, et certaines de nos propres pensées et tentatives.

Troisièmement, présenter le cadre de la technologie iQiyi ZoomAI et son application dans divers secteurs d'activité.

Quatrièmement, partagez le résumé et quelques références.

1. L'importance et l'état de la technologie d'amélioration vidéo / image

Voyons maintenant pourquoi nous voulons améliorer la vidéo. Depuis l'année dernière, tout le monde s'entend pour dire que l'industrie de la vidéo est entrée dans l'ère de l'Ultra HD. L'année dernière, CCTV a également lancé une nouvelle chaîne de télévision ultra haute 4K. Nous constaterons que les produits matériels sur le marché sont essentiellement Ultra HD ou 4K. Il s'agit d'un écran de télévision, d'un décodeur, d'un appareil VR, etc. En fait, bien que nous ayons autant de périphériques matériels haute définition, nous n'avons en fait pas autant de ressources vidéo ultra haute définition. On peut même dire que la qualité de nombreuses ressources vidéo est très faible. Pourquoi cela arrive-t-il? Nous avons résumé les raisons suivantes:

La première raison est que le comportement de l'utilisateur est incontrôlable. Tout le monde sait que les applications vidéo ou images UGC récentes sont très populaires, c'est-à-dire que les utilisateurs peuvent filmer, produire et télécharger eux-mêmes de nombreuses courtes vidéos et images. Par exemple, comme Weibo, Douyin, Circle of Friends, etc., iQIYI a également beaucoup d'applications telles que la vidéo, le pain d'épice et les bulles, mais le comportement de l'utilisateur est incontrôlable et l'utilisateur manque d'équipement de prise de vue professionnel et de compétences de prise de vue. Par exemple, la prise de vue en basse lumière provoque beaucoup de bruit en arrière-plan et l'image est trop sombre. Par exemple, l'image est compressée plusieurs fois pendant la diffusion, ce qui entraîne un bruit de compression important.

La deuxième raison est que sa source est très ancienne. Par exemple, dans les deux exemples suivants, "Longing" à gauche a 90 ans et "Nurse Diary" à droite est un film en noir et blanc de 1957.

Parce que la résolution des médias précédents comme VCD et DVD est inférieure à 720P. On peut le regarder brièvement, par exemple, c'est l'effet de "Désir", il y a beaucoup de bruits sur le visage du personnage, et il y a beaucoup de rayures sur le fond. Vous pouvez voir qu'il y a beaucoup de bruit sur le visage, puis il y aura des rayures dans le film, qui sont des lignes horizontales, et les détails sont également flous. Ensuite, comme le "Journal de l'infirmière" ici, vous pouvez voir qu'il y a une évidence Beaucoup de rayures et de taches blanches. Nous pouvons voir qu'il y a beaucoup de rayures blanches ou noires sur la table à côté. La raison en est que cela peut être le dommage du film lui-même, ou qu'il peut être introduit pendant le processus de conversion du film en numérisation, ce qui entraînera ces problèmes à droite, tels que les rayures, le bruit et la gigue.

Enfin, les utilisateurs choisissent activement le faible débit binaire. Un problème objectif est que même si la qualité est bonne, je dois regarder la faible qualité. Pourquoi? Parce que, par exemple, ce peut être la fin du mois, ou le signal réseau à l'endroit où je me trouve n'est pas bon, je dois choisir le mode low stream. Étant donné que le faible débit binaire est sélectionné, le serveur réduira la résolution autant que possible et ajoutera plus de compression, ce qui générera beaucoup de bruit de compression.

Cela montre qu'il existe plusieurs raisons pour une vidéo de faible qualité. Alors que tout le monde poursuit de plus en plus haut, le besoin d'améliorer la qualité des vidéos ou des images est devenu de plus en plus urgent. Nous pouvons regarder la littérature pertinente sur l'amélioration de l'image et de la vidéo au fil des ans, et nous pouvons voir que c'est une tendance à l'amélioration progressive.

2. Le principe de la technologie d'amélioration vidéo / image et les défis auxquels elle est confrontée

Parce que nous avons mentionné précédemment que les raisons de la mauvaise qualité des images ou des vidéos sont multidimensionnelles. En fait, chaque dimension fait l'objet de recherches académiques et industrielles.

La super-résolution est de résoudre le problème de la basse résolution; le débruitage et la netteté sont de résoudre le problème du bruit de fond ou du bruit de compression; l'amélioration des couleurs est de résoudre le problème de la couleur grise; l'interpolation est la faible fréquence d'images; le grattage est dû au film Il y a de nombreuses rayures sur la vidéo causées par les dommages, ou des points blancs, des blocs blancs ou des taches d'eau.

Examinons d'abord le problème de la super résolution. Je pense que la description de ce problème devrait être comprise par les amis qui viennent dans cette classe. C'est une image basse résolution. Après un module, cela devient une haute résolution. Figure. Si nous utilisons le modèle d'apprentissage en profondeur le plus populaire pour compléter cela, il s'agit généralement d'un modèle CNN, obtenez une carte à haute résolution, puis nous avons une vraie carte à haute résolution, entre les deux Prendre une perte et minimiser cette perte pour optimiser les coefficients dans le CNN par transfert inverse.

Il y a deux problèmes principaux: le premier est la conception structurelle de CNN, comment concevoir cette structure de modèle, afin qu'elle puisse effectivement restaurer ou créer plus de pixels. En fait, il s'agit ici de créer des pixels, car les pixels d'origine sont peu nombreux, et deviennent plus de pixels après haute résolution.

Le deuxième point est de savoir comment le choix de la fonction Loos peut rendre les détails ou les bords de l'image plus clairs.

Jetons un coup d'il à plusieurs pratiques courantes:

La première catégorie est le super score d'une seule image.

L'entrée est une image et la sortie est une image haute résolution de l'image d'entrée. Cette image est un résumé de cet article de DBPN dans le coin inférieur droit. Je l'ai apporté. Premièrement, le coin supérieur gauche est la méthode DNN originale, qui est une petite image. Elle est d'abord amplifiée par un processus d'interpolation traditionnel, comme l'interpolation bilinéaire, puis amplifiée par un réseau entièrement convolutionnel. Le plus classique ici est le SRCNN, qui utilise l'apprentissage en profondeur pour obtenir des super scores, suivi de son VDSR évolutif. La principale différence entre le VDSR est qu'il forme finalement la différence entre les deux, au lieu de générer directement Zhang Zhang's Figure. Ce résidu global sera également utilisé ultérieurement, et l'effet de mesure réel est bon.

Le coin inférieur gauche est la première convolution complète, et enfin un processus de suréchantillonnage qui peut utiliser la déconvolution ou des sous-pixels, qui représentent FSRCNN et EDSR. Il a l'avantage que la taille de l'image d'entrée est relativement petite lorsqu'il effectue cette convolution complète, donc le premier avantage est sa vitesse. Ensuite, cela m'a donné une chance de former cette chose, c'est-à-dire que mon zoom n'est pas un zoom direct, il peut avoir un coefficient d'entraînement.

Bien que les deux à droite soient de nouvelles méthodes, en fait, elles conviennent pour zoomer deux fois ou plus. Comme le zoom ci-dessus comme celui-ci Lap, la première fois que vous entendez le nom, vous savez que vous décomposez d'abord l'image, puis Par exemple, si vous souhaitez effectuer un zoom avant huit fois, vous devez d'abord zoomer deux fois, puis deux fois, puis deux fois, au lieu de huit fois à la fois.

Le DBPN dans le coin inférieur droit est une image qui est d'abord agrandie puis réduite, puis agrandie puis réduite, puis chaque module au milieu est tous connectés par une méthode telle que DenseNet, et enfin un résultat est obtenu après la fusion. Il y a des comparaisons de données dans le propre article de DBPN. Ses performances ne sont pas aussi bonnes que EDSR lorsqu'il est agrandi deux fois. Ce n'est que lorsque le multiple élevé dépasse le score que l'avantage peut se refléter dans cette structure. Le prix est que la complexité de l'opération et le temps qu'elle consomme ainsi que la consommation de mémoire mémoire vont augmenter.

Le deuxième type est la super-résolution basée sur des images multi-images.

Parce que dans de nombreux cas, nous traitons de vidéo, nous pouvons réellement utiliser la relation entre les images avant et arrière de la vidéo, car les images avant et arrière ont plus de détails, nous pouvons afficher plus de détails. Comment fusionner la relation entre les cadres avant et arrière? Une façon consiste à utiliser le temps comme nombre de canaux. Dans des circonstances normales, nous avons trois canaux pour une image. S'il y a trois images, il s'agit en fait de neuf canaux. Ensuite, traitez-la comme une chose à neuf canaux, puis effectuez directement le traitement suivant par convolution 2D. Vous pouvez également utiliser Autre dimension, le temps est géré par convolution 3D.

La deuxième méthode de fusion des images avant et arrière consiste à utiliser le flux optique, qui est également très populaire récemment et sera utilisé dans de nombreux domaines de la vidéo. Parmi les algorithmes qui prennent en compte la relation entre les images avant et arrière, il existe une grande classe de méthodes qui utilisent le flux optique. Voyons brièvement ce qu'est le flux optique. Regardez cette personne à gauche. Quand il a pris une flèche de son dos, son coude est passé de cette position à cette position. En fait, chaque pixel ici Le mouvement du point est le flux optique. Si une compréhension grossière peut être considérée comme une sorte d'estimation de mouvement.

Parce qu'il existe différents réseaux qui peuvent apprendre le flux optique, en supposant que notre flux optique a été appris, comment pouvons-nous nous intégrer? Il est mentionné dans l'article TOFlow que si nous avons ce cadre et ses cadres précédent et suivant, nous pouvons l'estimer en fonction du flux optique entre les deux cadres, le cadre actuel basé sur le point précédent, ou selon La trame suivante pour estimer la trame actuelle, donc nous avons trois trames actuelles, c'est-à-dire la trame actuelle réelle et deux trames actuelles estimées, nous assemblons ces trois trames, après un processus de convolution 2D et 3D, Vous pouvez obtenir la carte super-résolution résultante.

La structure de notre modèle actuel est la suivante: d'abord, nous utilisons le traitement d'une seule trame, puis le suréchantillonnage une fois, puis les résidus globaux.

Parce que nous avons en fait comparé la différence entre une seule image et plusieurs images, et nous avons constaté qu'à l'il nu, l'effet de l'image unique est très proche de celui de l'image multiple. Dans ce cas, la consommation de plusieurs images sera beaucoup plus importante, et il y aura Certains autres effets, nous avons donc choisi une méthode de traitement d'image unique. Pourquoi n'utiliser qu'un seul suréchantillonnage? Dans notre scénario commercial, l'image sera essentiellement agrandie deux fois, il est peu probable qu'elle soit agrandie quatre fois, il est donc le plus rentable d'utiliser directement une seule photo. La structure de DenseNet est d'emprunter l'idée de DBPN et d'introduire plus de fonctionnalités de bas niveau. Ensuite, les résidus globaux, car après VDRI, la plupart des super scores prendront essentiellement la forme de résidus globaux. Parce qu'il est concevable que l'image basse résolution et l'image haute résolution soient fondamentalement les mêmes aux basses fréquences. La seule différence est les détails. Cet ajout signifie que l'image de droite est la composante basse fréquence. Apprenez simplement ces détails à haute fréquence.

En ce qui concerne le choix de la fonction de perte, la plus courante est la perte de L1 ou L2, c'est-à-dire mse ou mae. De nombreux articles ont également été discutés. La perte de mse entraînera naturellement une image floue. Il existe une grande classe appelée Perte de GAN, qui génère des pixels en fonction de la distribution de l'image. La perte de GAN peut être considérée comme très étonnante dans de nombreuses démos, mais nous avons constaté qu'il y a deux problèmes majeurs dans le processus d'utilisation.

Le premier peut causer le problème de l'incohérence sémantique. Nous pouvons regarder la boîte. À gauche, il n'y a pas de GAN, et à droite est GAN. Vous pouvez voir que l'image de droite est en effet beaucoup plus claire que la gauche.

Mais le problème est "trop clair". La vraie coiffure de l'image originale à l'extrême droite est en fait un soleil, mais bien que l'image agrandie par GAN soit très claire, elle ne peut pas voir le soleil. Cela change donc la sémantique du graphique. Bien que celui de gauche soit flou, il ne peut tout simplement pas être vu clairement, mais la sémantique n'est pas modifiée. Si nous visons des images téléchargées par des utilisateurs d'images UGC, nous ne pouvons pas modifier l'intention initiale de l'utilisateur sans autorisation. Nous devons faire un compromis entre la précision sémantique et les images floues. Nous pensons que la précision sémantique est plus importante.

Le deuxième problème avec les GAN est d'amplifier le bruit. Les images à basse résolution sont souvent accompagnées de bruit, qui peut être visualisé par le GAN comme une chose spécifique.

Notre choix final est mse plus une perte de gradient. La perte de gradient est en fait une perte courante dans le réseau de prédiction d'action, ce qui nécessite que le gradient du graphique généré et du graphique réel soit cohérent. Parce que le dégradé est le bord. Dans de nombreux cas, notre super score est de rendre les bords plus nets. Après avoir ajouté la perte de gradient, les bords de l'ensemble du réseau auront tendance à être nets. Nous pouvons regarder l'exemple suivant, celui de gauche est le plus courant, et voici le los sans gradient, et la perte de gradient est ajoutée ici, c'est-à-dire que le bord des cheveux est plus net.

Ci-dessous, nous pouvons voir un exemple de super score dans la vidéo. Cet exemple a été montré au Congrès mondial iQIYI l'année dernière. Vous pouvez voir que l'image globale à gauche est plus floue et l'image à droite sera plus claire. Il s'agit d'une vidéo de 540P à 1080P.

J'ai déjà présenté un algorithme de cloud. En fait, la méthode d'apprentissage en profondeur ne convient pas au terminal mobile. Bien qu'il existe des cadres d'apprentissage en profondeur mobile tels que tflite et ncnn, il n'a pas été bien adapté à la machine après tout. De nombreux téléphones mobiles bas de gamme ne peuvent pas réellement exécuter ce modèle de génération. Nous considérons principalement l'efficacité du côté mobile, nous utilisons donc un filtre monocouche pour réaliser la formation et l'optimisation.

Après avoir parlé de super-résolution, parlons du problème du débruitage. Le bruit dans l'image est principalement le bruit de fond et le bruit de compression. Générez un réseau, donc fondamentalement tout ce qui est mentionné précédemment peut apprendre les uns des autres. Par exemple, le côté droit guide également ces résidus globaux.

En fait, il y a deux principaux problèmes de débruitage:

La première est que le débruitage lui-même est un filtre passe-bas, c'est-à-dire qu'il peut essentiellement être approché comme un filtre passe-bas. Comment puis-je conserver les bords et les détails autant que possible lors de la suppression du bruit?

La seconde est de savoir comment simuler un bruit réel, car de nombreux articles ont en fait dit que de nombreuses méthodes de débruitage sont très bonnes sur l'ensemble de test de bruit synthétique, car elles sont également formées à l'aide de méthodes synthétiques artificielles lors de la formation, par exemple Ajoutez un bruit gaussien, mais cette fois peut ne pas fonctionner sur l'image réelle, alors comment mieux simuler la cause réelle est également un gros problème.

Nous pouvons jeter un oeil à deux réseaux de débruitage classiques. Le premier est DNCNN, qui est un modèle entièrement convolutionnel. Nous entrons un graphique de bruit, et après une convolution multicouche, nous obtenons finalement un résidu global. Lors de l'entraînement, il ajoute divers niveaux de débruitage gaussien à l'ensemble d'apprentissage pour simuler l'ensemble de données qui provoque plus de mélange. Le deuxième est CBDNet, qui est CVPR en 2019. Son réseau est divisé en deux parties. Tout d'abord, nous devons estimer le niveau de bruit après une image, puis saisir le niveau de bruit estimé dans le deuxième réseau, ajouter l'image d'origine, puis calculer un Le chiffre final généré. Il introduit également une perte asymétrique au milieu, qui est basée sur l'expérience pour trouver l'estimation de bruit précédente. Si l'estimation est également inexacte, l'estimation plus petite est meilleure que l'estimation plus grande. La perte asymétrique signifie que la pénalité des deux côtés est incohérente.

Lorsque nous faisons cela, nous adoptons un réseau de bout en bout pour terminer le débruitage et la netteté en même temps. Le bruit est principalement le bruit de fond et le bruit de compression. Dans le même temps, le débruitage et la netteté sont effectués pour compenser le flou des bords provoqué par le débruitage La structure du réseau est très similaire au super score précédent.

Comment terminer la création et l'affûtage en même temps? En fait, l'idée générale est d'ajouter une certaine proportion de bruit et de flou dans l'ensemble d'entraînement, puis de rester proche de la situation réelle, puis de s'adapter constamment, puis d'obtenir un meilleur effet.

Vous pouvez voir quelques exemples de vraies images. Le bruit autour de la main verte a disparu. Ensuite, dans l'image de "Désir" à droite, par exemple, le texte est mis en surbrillance, et la texture en treillis des vêtements sera plus claire.

Ensuite, regardons le problème suivant, le problème de l'amélioration des couleurs. Il résout principalement le problème de la luminosité de l'image ou de la vidéo, des couleurs trop lumineuses, surexposées ou sombres. Il existe deux méthodes principales, la première est le mode boîte noire Il s'agit d'un modèle de génération de bout en bout, qui consiste à prendre un mauvais graphique et, après ce réseau, à convolution complète ou non, puis à générer un bon graphique, tel que DPE représente 18 ans de CVPR. Le réseau précédent est une structure non rétablie. Après avoir sorti une image, alors si nous avons une paire de personnes concernées, c'est-à-dire qu'il y a une mauvaise image et la bonne image correspondante après PS artificiel, alors nous pouvons utiliser la perte de mse + La perte de GAN pour le faire, si nous n'avons pas de données appariées, nous utilisons cycleGAN pour le faire. Pourquoi est-ce le mode boîte noire? Parce que ce que nous obtenons finalement est un graphique amélioré, nous ne savons pas comment il transforme un mauvais graphique en un bon graphique.

Le deuxième type est le modèle à boîte blanche. Ce réseau n'est pas un réseau génératif, mais un modèle de régression. Entrer l'image d'origine et sortir divers paramètres liés aux couleurs.L'étape suivante consiste à utiliser la méthode de traitement d'image normale pour traiter l'image d'origine. On peut se référer à la méthode d'exposition proposée par Microsoft, qui intègre l'apprentissage par renforcement et GAN, étape par étape pour transformer un mauvais graphique en un bon graphique, pourquoi l'apprentissage par renforcement? C'est la même chose que de jouer aux échecs. Par exemple, il y a 12 pièces, dont chaque étape doit être effectuée en premier, laquelle doit être effectuée plus tard, et le montant de chaque étape peut être ajusté.

Nous pouvons résumer ces deux méthodes: premièrement, le modèle de boîte noire est relativement facile à former, car il s'agit d'un modèle génératif, et les modèles génératifs utilisés auparavant peuvent être formés. Mais son problème est qu'il peut y avoir des valeurs aberrantes dans les blocs de couleur qui peuvent provoquer des incohérences sémantiques. Après tout, le principe de convolution se traduit par le fait que la valeur de pixel de sortie est liée à d'autres valeurs de pixel dans le champ récepteur en plus de la valeur de pixel d'origine. Le deuxième problème est que si l'image d'origine est très grande, cette fois sera très lente.

Le modèle de boîte blanche est en fait plus conforme aux habitudes du PS humain. Après avoir obtenu une image, il vous suffit de savoir quels paramètres ajuster pour changer. Et il est plus adapté au traitement vidéo. Mais son problème est que la formation est difficile à faire converger, et les meilleurs exemples en vigueur peuvent ne pas être aussi bons que les boîtes noires.

Afin de stabiliser le modèle en ligne, nous avons conçu une version boîte blanche très simplifiée par rapport à l'exposition. Tout d'abord, nous n'introduisons plus l'apprentissage par renforcement, nous ne traitons que ces trois quantités: exposition, saturation et balance des blancs. Parce qu'après de nombreuses expériences, nous avons constaté que ces trois valeurs sont les plus importantes pour ajuster la couleur de l'image. Ensuite, nous avons fixé sa commande. Enfin, nous avons deux pertes lorsque nous demandons une perte. La première perte est le mse du graphique amélioré et le très bon graphique, car nous avons des ensembles de données appariés, comme le FiveK d'Adobe. La seconde perte est le mse du paramètre de réglage de la couleur Comment cette valeur de vérité est-elle obtenue? Nous pouvons également créer des ensembles de données auto-construits. Après avoir obtenu une bonne image, nous réduisons délibérément son exposition et sa saturation. À ce stade, nous savons réellement combien d'exposition et de saturation doivent être ajoutées pour la récupérer. . Nous pouvons donc également fusionner ces deux pertes, d'une part pour obtenir la perte de ce mse, d'autre part pour rendre ces pertes de régression également plus petites, ce qui peut rendre l'ensemble du modèle plus stable. Dans le même temps, son calcul est très petit, une grande image peut être réduite à 64 × 64 pour le traitement.

En regardant l'effet de traitement final, les première et troisième colonnes sont les images originales, et les deux colonnes à droite sont les images améliorées. Après avoir ajusté la luminosité, la saturation et la balance des blancs, nous pouvons voir que l'effet est toujours correct.

La question suivante est de savoir comment maintenir la cohérence entre les images dans le traitement vidéo. Dans de nombreux cas, notre vidéo est réalisée image par image. Comment vous assurer que la couleur rouge de cette image est rouge positif et que l'image suivante doit également être rouge positif. Si elle devient de plus en plus sombre plus tard, vous trouverez Les couleurs tremblent. Comment résoudre ce problème? Il y a très peu de discussions sur ce problème dans les journaux publics, et nous avons conçu une solution: d'abord passer la segmentation de la scène, puis effectuer le modèle de boîte blanche. Une fois qu'une image vidéo est segmentée, nous pouvons la diviser en différentes scènes. La base de cette segmentation de scène est de trouver les changements soudains de la couleur de l'image. Ensuite, nous sélectionnons une image dans chaque scène pour effectuer le modèle de boîte blanche afin d'obtenir les paramètres. , Toutes les images de cette scène utilisent les mêmes paramètres pour l'amélioration des couleurs.

Nous pouvons regarder un exemple vidéo simple, les améliorations de couleur apportées à "Désir", telles que les feuilles seront plus vertes.

Après avoir terminé l'amélioration des couleurs, regardez les rayures ci-dessous. Le grattage est en fait un problème relativement mineur, et il y a relativement peu de papiers, principalement parce que le film lui-même a été endommagé. Par exemple, certaines personnes peuvent gratter le film, et il y aura une rayure quand il sera finalement diffusé, ou il sera perturbé par la tête magnétique ou quelque chose pendant la lecture, et ce type d'ondulation de haut en bas se déplacera.

La solution à ce type de problème, la méthode classique est une approche en deux étapes, d'abord la détection des rayures, puis supprimez les rayures, la détection des rayures dans la plupart des cas adopte la méthode de détection en ligne droite, la détection en ligne droite consiste à trouver l'espace Lignes verticales, lignes horizontales et lignes droites, puis utilisez l'interpolation spatiale ou l'interpolation temporelle pour compléter cette ligne avec d'autres pixels. Ses défauts sont plus évidents: premièrement, si la rayure n'est pas une ligne droite, c'est une tache d'eau, c'est une tache blanche, elle est courbée et l'effet peut ne pas fonctionner. Deuxièmement, l'image elle-même peut avoir des lignes horizontales ou verticales, telles que des poteaux téléphoniques ou des textures sur la table, elle sera donc supprimée par erreur.

Alors, comment gérer cette méthode? Nous pouvons nous référer à la méthode de flux optique mentionnée dans le super score précédent pour concevoir, mais il y a ici une prémisse que la rayure ne peut apparaître qu'à cette position de cette image, et elle n'apparaîtra pas à la même position des images précédente et suivante. Ceci est déterminé par le principe des rayures, car il est impossible que deux films produisent exactement les mêmes rayures au même endroit. Une fois que nous avons cette prémisse, nous pouvons concevoir le modèle ci-dessus, utiliser le flux optique pour estimer une certaine trame, puis effectuer la fusion.

Mais il y a un problème, comment pouvons-nous nous assurer que les images 2k avant et après cela sont dans la même scène? Parce qu'il y a des clips dans la vidéo normale, une commutation de scène se produit. À ce moment, l'algorithme de scène que nous venons de mentionner peut être réutilisé. Nous pouvons voir l'effet final.

La dernière question concerne l'insertion d'images. La technique d'insertion d'images est en fait très facile à comprendre, c'est-à-dire que la fréquence d'images vidéo d'origine est relativement faible. Comment pouvons-nous augmenter la fréquence d'images de la vidéo pour rendre l'expérience de visionnage de films plus fluide, comme les sports en direct, ou Les films d'animation ou de combat, les films d'arts martiaux peuvent être plus utilisés. Les méthodes traditionnelles sont essentiellement comme ceci, estimées par flux optique, puis déformées, après fusion, très similaires à la structure avant de se gratter.

Par exemple, cet article de CVPR18, vous pouvez voir que c'est le flux optique sur le côté et la fusion sur la droite. Où est son innovation? Il s'agit d'ajouter une extraction des bords et de faire quelques fonctionnalités de bord, pour s'assurer que le cadre final synthétisé et inséré a également de meilleurs bords. Il n'y a pas d'implémentation open source pour cet article. Nous avons effectué quelques réductions sur la base de ce modèle, car celui de droite est trop volumineux. Regardons simplement la vidéo originale sur le côté gauche de l'effet. Lorsque la voiture glisse pour voir une carte, une carte et une carte, celle de droite sera plus fluide.

3. Présenter la mise en uvre et l'application de la technologie ZoomAI

La troisième partie est l'introduction du cadre et de l'application de ZoomAI.

Solution d'image ZoomAI. Pour les images, il en a trois dans la super-résolution de la boîte à outils, une netteté débruitante, une amélioration des couleurs. Parce qu'elles sont toutes réalisées sur une seule image, après avoir saisi une image, ces trois interfaces peuvent faire de même, afin que chaque ligne métier puisse être librement configurée, quels outils sont utilisés et dans quel ordre sont-ils finalement , Ou quels sont les paramètres respectifs, peuvent être configurés de manière flexible, c'est le schéma 1.0.

Dans la version 2.0, nous avons ajouté la compréhension du contenu. Pensons maintenant à de nombreuses images. Par exemple, l'arrière-plan est flou lors de la prise de vue en mode portrait. Pour l'instant, l'arrière-plan ne doit pas être accentué. S'il y a du texte dans cette image, le texte L'affûtage de la zone peut être fait avec beaucoup d'audace. Donc, dans 2.0, nous passons d'abord par la détection de texte pour détecter la zone de texte, et utilisons également un réseau d'extraction de premier plan pour détecter la zone de premier plan et la zone d'arrière-plan de cette image, puis le module de chaque zone est le module avant 1.0, et enfin obtenir Un résultat.

Regardons le diagramme schématique. Par exemple, dans cette image, Xie Na lui-même est la zone de premier plan, la partie du texte est la zone de texte et le reste est la zone d'arrière-plan.

Solution vidéo ZoomAI. Cette solution vidéo dispose de plusieurs outils, deux premiers outils de prétraitement - segmentation des scènes et suppression des images répétées, puis certains algorithmes entre les images - pour supprimer les rayures et insérer des images, puis un algorithme à une seule image - Super score, débruitage et netteté, amélioration des couleurs, etc. pour le traitement d'une seule image. Chaque vidéo est décompressée en une image, puis les images répétées sont supprimées, puis la scène est segmentée, et chaque scène est soumise séparément à un algorithme inter-images et à un algorithme à image unique, et enfin synthétisée avec l'audio d'origine pour devenir la vidéo finale. La partie médiane peut être ajustée à tout moment selon la logique du métier.

Divers scénarios commerciaux et d'utilisation. On peut voir que ZoomAI contient déjà plusieurs modules d'algorithmes, qui sont utilisés dans plusieurs gammes de produits et plusieurs scénarios d'application d'iQiyi.

Ce qui suit décrit certains scénarios d'application existants. Tout d'abord, c'est le projet de cette réparation dramatique nationale. Il utilise principalement les deux modules de débruitage et d'affûtage et de suppression des rayures. Mise en évidence.

Le plus grand avantage du traitement de l'IA par rapport au traitement manuel ici est une efficacité accrue, un coût réduit et une efficacité accrue de 500 fois. Les résultats de la première période de la restauration de l'opéra national ont été lancés lors de la Fête du Printemps. Nous nous préparons maintenant à lancer le deuxième lot de séries télévisées classiques, dont quatre uvres célèbres en été.

Il s'agit du traitement de vieilles vidéos de variétés. La collection complète du conteur "Autant en emporte le vent" vient d'être lancée sur iQiyi. Sa résolution d'origine est très faible, seulement 240P, et il y a beaucoup de dents de scie. Aller en ligne. Prenons l'exemple: la texture du tableau est plus claire et l'image originale de gauche sera plus floue.

Il y a une amélioration d'animation ci-dessous, nous utilisons le module super-point et l'amélioration des couleurs, le rouge à droite sera plus rouge. Regardons l'effet de la vidéo. L'herbe à droite sera plus verte et la couleur générale sera plus vive. Le rouge ici, y compris le jaune qui apparaîtra plus tard, sera plus vif dans l'ensemble. Et après l'adoption de la segmentation de la scène, la couleur ne tremblera pas et est très stable.

Ceci est un affichage de l'animation 3D "Four Sea Whale Ride". Celui de gauche est original. Vous pouvez voir que le bateau est coincé un par un lors du virage. Celui de droite est évidemment plus lisse. Surtout lorsque l'objectif est dézoomé, il y a un fort sentiment de stagnation à gauche, et la droite sera lisse.

L'effet de l'amélioration de la pochette de chaque canal est le suivant. La pochette que vous voyez lorsque vous ouvrez iQiyi est essentiellement améliorée par ZoomAI. Les modules utilisés sont le débruitage et l'amélioration des couleurs.

4. Recommandations de ressources avancées et partage d'expérience

Ici, nous nous concentrons sur la question de la pensée technique. Les deux groupes, les cercles universitaires et les applications d'ingénierie, sont différents: le premier se concentre principalement sur la conception de modèles et l'innovation, tandis que les applications d'ingénierie consacrent la majeure partie de leur temps aux données et à la formation.

Le point le plus important de notre entreprise est les données. Contrairement aux compétitions kaggle, nous n'avons pas de jeux de données prêts à l'emploi. Nous devons nous appuyer sur diverses techniques d'ingénierie pour collecter des données qui reflètent les scénarios d'application réels. La qualité des données affecte considérablement l'effet du modèle final. Ensuite, pour les résultats du modèle, des indicateurs tels que le PSNR peuvent être utilisés comme référence, mais en fin de compte, cela dépend des sentiments subjectifs. Dans la formation des super scores et des trames interpolées, nous avons rencontré de nombreuses situations où A est meilleur que B, mais sentons subjectivement que B est meilleur que A. Après tout, ce sont les sentiments subjectifs qui sont finalement présentés à l'utilisateur. C'est aussi la déviation des indicateurs d'évaluation actuels. Beaucoup de documents liés au GAN ont été élaborés, et nous étudions également cette question.

Pour le choix du modèle, nous accordons plus d'attention à la stabilité et à la capacité de généralisation du modèle. Après tout, c'est un service en ligne, pas pour un effet démo époustouflant. Bien sûr, lors du choix et de la conception d'un modèle, vous devez également prendre en compte des contraintes plus restrictives, telles que les contraintes sur la taille du modèle lui-même, les contraintes sur la vitesse d'exécution et le cadre à utiliser pour prendre en charge, etc. Trouver enfin un équilibre entre efficacité et efficience.

Enfin, j'ai mentionné la source des articles des algorithmes mentionnés plus haut. Les amis intéressés peuvent regarder de plus près. C'est à peu près ce que j'ai partagé aujourd'hui.

Maîtrisez les connaissances de base de l'apprentissage automatique en même temps | Des millions de personnes apprennent l'IA
Précédent
Microsoft Xiaobing: Explication détaillée de tous les dialogues vocaux dual | millions de personnes apprennent l'IA
Prochain
Technologie de traitement structurée pour les résultats de reconnaissance de texte basée sur des modèles | Million People Learning AI
Explication détaillée de l'application de la technologie d'amélioration vidéo iQIYI ZoomAI | Million People Learning AI
Système de dialogue homme-machine basé sur un graphe de connaissances | Des millions de personnes apprennent l'IA
Geling Deep Pupil: Discussion sur la pratique de la reconnaissance faciale sur la reconnaissance faciale à grande échelle à l'échelle industrielle | Un million de personnes apprennent l'IA
Les données de fabricant interne | Redis optimisation des performances des 13 règlements militaires
Comment passer à travers bord AI calcul « Renduermai »?
Réclamer Bitcoin créateur Satoshi, maintenant que les gens sont en colère juges haine faux témoignage
Chercheur de l'algorithme de Yunzhongshen: Explication détaillée de la technologie de suivi et des difficultés de suivi transversal | Million de personnes apprenez l'IA
De 0 à 1 : la technologie et l'application de vision par ordinateur derrière l'explosion du moment | Des millions de personnes apprennent l'IA
Cerveau de Meituan: méthode de modélisation et application du graphique des connaissances | Des millions de personnes apprennent l'IA
Wenyin Internet Bao Jie: Analyse approfondie du développement clé des connaissances et du contexte technique | Des millions de personnes apprennent l'IA
Système de dialogue homme-machine basé sur un graphe de connaissances | Des millions de personnes apprennent l'IA