Je suis impatient de m'inscrire à un MSc en traitement du signal et des images, ou peut-être à Computer Vision (je n'ai pas encore décidé), et cette question est apparue.
Ce qui me préoccupe, c'est que l'apprentissage en profondeur n'a pas besoin d'extraction de caractéristiques et presque pas de prétraitement d'entrée, est-il en train de tuer le traitement des images (ou le traitement du signal en général)?
Je ne suis pas un expert en apprentissage en profondeur, mais cela semble très bien fonctionner dans les tâches de reconnaissance et de classification, prenant des images directement au lieu d'un vecteur de caractéristiques comme d'autres techniques.
Existe-t-il des cas dans lesquels une approche traditionnelle d'extraction de caractéristiques + classification serait préférable, utilisant des techniques de traitement d'images, ou est-ce en train de mourir en raison d'un apprentissage en profondeur?
Réponses:
Cet article a été mis à jour beaucoup. En haut, vous pouvez voir les mises à jour des liens. Ci-dessous, variations de la réponse initiale. Pour la version courte: les succès des réseaux de neurones convolutionnels et l’apprentissage en profondeur ressemblent à une sorte de révolution galiléenne. Du point de vue pratique, le traitement du signal classique ou la vision par ordinateur sont morts… à condition de disposer de suffisamment de données étiquetées, de se soucier peu des défaillances évidentes de la classification ( défauts profonds ), de disposer d'une énergie infinie pour effectuer des tests sans se soucier de l'empreinte carbone , et ne vous inquiétez pas des explications rationnelles. Pour les autres, cela nous a amené à repenser tout ce que nous faisions auparavant: extraction de fonctionnalités, optimisation (cf. mon collègue J.-C. Pesquet, travail sur les structures de réseaux neuronaux profonds Résoudre les inégalités variationnelles), invariance, quantification, etc. Et de cette recherche émergent des recherches vraiment intéressantes, en rattrapant, espérons-le, des principes bien ancrés et des performances similaires.
Liens mis à jour:
Vous trouverez en bas des références d’apprentissage approfondi sur le traitement standard du signal et des images. Michael Elad vient d'écrire Deep, Deep Trouble: Impact de Deep Learning sur le traitement des images, les mathématiques et l'humanité (SIAM News, 2017/05), extrait:
Cette tribune est intéressante, car elle montre un passage du "traitement d'image" traditionnel, essayant de modéliser / comprendre les données, à un domaine de correction, sans trop de perspicacité.
Ce domaine évolue assez vite. Cela ne signifie pas qu'il évolue dans une direction intentionnelle ou constante. Ni vrai ni faux. Mais ce matin, j'ai entendu le dicton suivant (ou est-ce une blague?):
Voici mon très bref essai: l'apprentissage en profondeur peut fournir des résultats à la pointe de la technologie, mais on ne comprend pas toujours pourquoi , et une partie de notre travail de scientifique reste à expliquer pourquoi les choses fonctionnent, quel est le contenu d'une donnée , etc.
Un apprentissage en profondeur nécessite des bases de données (énormes) bien étiquetées. Chaque fois que vous faites du bricolage sur des images uniques ou singulières (c'est-à-dire sans une énorme base de données), en particulier dans des endroits où il est peu probable que des "images avec balises basées sur l'utilisateur" soient fournies gratuitement (dans la série complémentaire de " chats amusants jouant à des jeux et à des visages ") , vous pouvez vous en tenir au traitement traditionnel des images pendant un certain temps et dans un but lucratif. Un récent tweet résume que:
S'ils sont tués (ce dont je doute fort à court terme), ils ne sont pas encore morts. Donc, toute compétence que vous acquérez dans le traitement du signal, l'analyse d'images, la vision par ordinateur vous aidera dans le futur. Ceci est par exemple discuté dans l'article de blog: Avons-nous oublié la géométrie dans la vision par ordinateur? par Alex Kendall:
Un exemple concret peut être le suivant: quelques images très sombres (surveillance, par exemple) du même endroit, devant être évaluées si une d’entre elles contient un changement spécifique qui devrait être détecté, relèvent potentiellement du traitement traditionnel de l’image, Deep Learning (à partir d'aujourd'hui).
D'un autre côté, aussi fructueux que soit Deep Learning à grande échelle, cela peut conduire à la classification erronée de petits ensembles de données, qui pourraient être inoffensifs "en moyenne" pour certaines applications. Deux images qui diffèrent légèrement de l'œil humain pourraient être classées différemment via DL. Ou des images aléatoires pourraient être définies pour une classe spécifique. Voir, par exemple, les réseaux neuronaux profonds sont facilement dupés: prévisions de grande confiance pour des images non reconnaissables (Nguyen A, Yosinski, Clune J. Proc. Vision par ordinateur et Pattern Recognition 2015) ou l' apprentissage en profondeur présente-t-il des défauts profonds? , sur les négatifs contradictoires:
Avec tout le respect que vous devez à "Deep Learning", pensez à "une production de masse répondant à un comportement enregistré, connu, validable en masse ou prévu" par opposition à un "artisanat singulier". Aucune n’est meilleure (encore) dans une seule échelle d’indice. Les deux peuvent avoir à coexister pendant un moment.
Cependant, l'apprentissage en profondeur imprègne de nombreux domaines nouveaux, comme décrit dans les références ci-dessous.
Heureusement, certaines personnes essaient de trouver une justification mathématique à la base de l'apprentissage en profondeur, comme par exemple les réseaux de diffusion ou les transformations proposées par Stéphane Mallat et ses co-auteurs, voir le site de l'ENS pour la diffusion . Analyse harmonique et opérateurs non linéaires, fonctions de Lipschitz, invariance de translation / rotation, convient mieux au traitement moyen du signal. Voir par exemple Comprendre les réseaux convolutionnels profonds .
la source
Premièrement, il n’ya rien de mal à faire un travail graduel en traitement de l’image ou en vision par ordinateur et en utilisant un apprentissage en profondeur. L’apprentissage en profondeur ne tue pas le traitement des images et la vision par ordinateur, il s’agit simplement du sujet de recherche actuellement à l’étude dans ces domaines.
Deuxièmement, l'apprentissage en profondeur est principalement utilisé dans la reconnaissance des catégories d'objets. Mais ce n’est qu’un des nombreux domaines de la vision par ordinateur. Il existe d'autres domaines, tels que la détection d'objet, le suivi, la reconstruction 3D, etc., dont beaucoup reposent encore sur des fonctionnalités "conçues à la main".
la source
Aucun apprentissage en profondeur ne tue le traitement de l'image. Vous avez besoin d'énormes ensembles de données et de nombreuses ressources informatiques pour effectuer un apprentissage en profondeur. Il existe de nombreuses applications où il est souhaitable de pouvoir effectuer un traitement d'image avec une charge de calcul moindre, une empreinte mémoire réduite et sans avoir accès à d'énormes bases de données. Quelques exemples sont les téléphones mobiles, les tablettes, les caméras mobiles, les automobiles, les quadcoptères. L’apprentissage en profondeur est très prisé en ce moment car il existe des résultats très impressionnants au classement.
La classification est l'un des nombreux problèmes traités par le traitement des images. Même s'il était vrai que l'apprentissage en profondeur résoudrait tous les problèmes de classification, il resterait de nombreux autres types de traitement de l'image. Réduction du bruit, enregistrement d'image, calculs de mouvement, morphing / blending, netteté, corrections et transformations optiques, calcul de géométries, estimation 3D, modèles de mouvement 3D + temporels, stéréoscopie, compression et codage de données, segmentation, flou, stabilisation de mouvement, infographie, toutes sortes de rendu.
la source
Aujourd'hui, nous avons eu une discussion avec un de mes amis. C'était un jour de pluie ici à Munich, alors qu'une grande partie de l'Europe avait une sorte d'ambiance ensoleillée. Les gens partageaient des photos sur les médias sociaux, où ils étaient vêtus de jolies robes d'été, errant dans les mers. Vexée, elle s’est retournée vers moi et a demandé: «Pourriez-vous écrire un logiciel pour bloquer les images sur les médias sociaux, qui impliquent de si jolies photos de l’été, quand il fait si mauvais ici?». J'ai dit, pourquoi pas. Tout ce que vous avez à faire est de rassembler un vaste ensemble d’images d’été et d’exemples négatifs, puis de l’alimenter via un réseau, qui effectue une classification binaire au niveau "Bloc" ou "Aucun bloc". Former et régler le réseau. C'est ça.
Ensuite, je me suis tourné vers moi-même: est-ce que je sais réellement comment écrire un algorithme simple pour décider si le temps est beau ou non, sans laisser à la machine le soin de penser pour moi? Barely ... Peut-être ... Pour le lecteur curieux, voici quelques fonctionnalités que vous voudrez peut-être concevoir si vous voulez essayer:
De toute évidence, je ne me soucierais même plus de cette publication de CVPR de nos jours et je voudrais aller en profondeur. Donc, même si j'apprécie l'apprentissage en profondeur pour ses performances robustes dans de nombreux scénarios, je l'utilise également avec prudence. Même si cela ne nuirait pas à ma connaissance du traitement d'images, cela tend à diminuer les compétences de domaine dont j'ai besoin. Intellectuellement, ce n'est pas très élégant.
Dès que la personne décide de rester sur la bonne voie et profite des deux mondes, elle sera en sécurité.
la source
La réponse courte est que non. DL peut reconnaître une tasse sur une photo, mais cela ne gêne en aucun cas le traitement du signal. Cela dit, votre question est tout à fait pertinente en ces temps troublés. Il y a une belle table ronde sur le sujet, mettant en vedette Stéphane Mallat, etc., ici .
la source
L’ingénierie des données est toujours utilisée dans l’apprentissage automatique pour prétraiter et sélectionner les données transmises aux DNN afin d’améliorer leur temps d’apprentissage et leur efficacité d’évaluation. Le traitement de l'image (le contenu entre le capteur de la caméra et les bitmaps RGB / etc. Transmis aux DNN), une forme de traitement de données, est toujours nécessaire.
la source
Une compréhension approfondie du traitement du signal (ainsi que de l’algèbre linéaire, du calcul vectoriel, des statistiques mathématiques, etc.) est indispensable pour un travail non trivial dans le domaine de l’apprentissage en profondeur, en particulier de la vision par ordinateur.
Certains des documents les plus percutants de l'apprentissage en profondeur (maintenant que la plupart des solutions simples ont été retenues) démontrent une bonne compréhension des concepts de traitement du signal.
Quelques concepts de motivation:
La liste continue. Ainsi, même si vous finissez par travailler dans le domaine de la vision par ordinateur et à appliquer un apprentissage approfondi à vos problèmes, l’arrière-plan de traitement du signal rendra les choses très faciles à comprendre pour vous.
la source
Je ne fais vraiment pas beaucoup de traitement d'image, mais j'ai travaillé pour une organisation (US Navy) qui a financé et financé des recherches sur la classification des signaux la dernière fois que les réseaux de neurones étaient un sujet brûlant, du milieu à la fin des années 80. Je devais passer à travers un grand nombre de choses essentiellement marketing. Les arguments étaient du type:
Il a fallu le livre de Bishop pour caler mon cynisme.
Dans de nombreuses applications, l'algorithme de traitement du signal optimal nécessitera une recherche d'énumération exhaustive sur un grand espace de paramètres qui devient rapidement intraitable. Une grande batterie de serveurs peut augmenter cet espace de recherche mais, à un moment donné, vous devez trouver une heuristique. DL semble être capable de trouver certaines de ces heuristiques, mais cela ne résout pas l'optimisation dure sous-jacente de NP.
la source
Mon point de vue de l'université était que beaucoup de personnes travaillant dans le traitement du signal étaient un peu hostiles envers le ML, je suppose, parce qu'elles se sentaient menacées que cela empiétait sur leur domaine. Mais récemment, de nombreuses recherches ont été menées sur les avantages de réseaux de neurones profonds complexes et valorisés, ce qui pourrait laisser penser que le meilleur moyen d’aller de l’opinion est une solide compréhension des deux disciplines.
la source
Hé bien oui. De la même manière que le développement dans des langages de programmation de niveau supérieur tels que C ++ et la programmation d'assemblage 'tué' de Python. Cela ne veut pas dire pour autant qu'il soit inutile d'apprendre l'assemblage lorsque vous vous inscrivez à un cours CS. Il donne une bonne idée du fonctionnement de l'ordinateur, de ce qui se passe dans les coulisses de langages de haut niveau, des principes de base du langage informatique, etc.
la source