Je suis conscient qu'il y a eu beaucoup d'avancées en matière de reconnaissance d'image, de classification d'image, etc. avec des réseaux neuronaux profonds et convolutionnels.
Mais si je forme un réseau sur, disons, des images PNG, cela ne fonctionnera- t-il que pour les images ainsi encodées? Quelles autres propriétés d'image affectent cela? (canal alpha, entrelacement, résolution, etc.?)
neural-networks
deep-learning
image-processing
Felipe Almeida
la source
la source
Réponses:
La réponse courte est NON .
Le format dans lequel l'image est encodée est lié à sa qualité. Les réseaux de neurones sont essentiellement des modèles mathématiques qui effectuent beaucoup, beaucoup d'opérations (multiplications matricielles, ajouts par élément et fonctions de cartographie). Un réseau de neurones voit un tenseur comme son entrée (c'est-à-dire un tableau multidimensionnel). Sa forme est généralement 4-D (nombre d'images par lot, hauteur d'image, largeur d'image, nombre de canaux).
Différents formats d'image (en particulier ceux avec perte) peuvent produire des tableaux d'entrée différents mais les réseaux neuronaux à proprement parler voient les tableaux dans leur entrée, et NON les images.
la source
Bien que la réponse de Djib2011 soit correcte, je comprends que votre question est plus axée sur la façon dont la qualité / les propriétés de l'image affectent l'apprentissage du réseau neuronal en général. Il n'y a que peu de recherches sur ce sujet (afaik), mais il pourrait y en avoir plus à l'avenir. Je n'ai trouvé que cet article dessus. Le problème à l'heure actuelle est que c'est plus un problème apparaissant dans les applications pratiques et moins dans un domaine de recherche universitaire. Je me souviens d'un podcast actuel où les chercheurs ont observé que même l'appareil photo utilisé pour prendre une photo pouvait avoir un effet important.
la source
Ceci est un riff sur la première réponse de Djib2011. La réponse courte doit être non. Plus long - Premièrement, les photos sont toujours codées comme un tenseur comme suit. Une image est un nombre de pixels. Si la photo est considérée comme ayant m lignes et n colonnes, chaque pixel est spécifié par son emplacement de ligne et de colonne, c'est-à-dire par la paire (m, n). En particulier, il y a m * n pixels, ce qui est très grand même pour les "petites" photos. Chaque pixel de la photo est codé par un nombre compris entre zéro et un (intensité de noirceur) si la photo est en noir et blanc. Il est codé par trois nombres (intensités RVB) si la photo est en couleur. On se retrouve donc avec un tenseur qui est soit un 1xmxn soit un 3xmxn. La reconnaissance d'image se fait via CNN qui, profitant du fait que les photos ne changent pas beaucoup d'un pixel à l'autre, comprimeles données via des filtres et la mise en commun. Donc, le fait est que CNN travaille en compressant le nombre incroyablement grand de points de données (ou fonctionnalités) d'une photo en un plus petit nombre de valeurs. Donc, quel que soit le format avec lequel vous commencez, CNN commence par compresser davantage les données de la photo. D'où l'indépendance en soi de la taille de la représentation de la photo.
Cependant, un CNN exigera que toutes les images qui le traversent soient toutes de la même taille. Il y a donc cette dépendance qui changera selon la façon dont l'image est enregistrée. De plus, dans la mesure où différents formats de fichiers de même taille produisent des valeurs différentes pour leurs tenseurs, on ne peut pas utiliser le même modèle CNN pour identifier des photos stockées par différentes méthodes.
la source