Rôle de la résolution d'image dans le Deep Learning

Oct 29 2020

J'ai plusieurs ensembles de données d'image sur le même sujet que je souhaite utiliser pour une tâche de classification utilisant le Deep Learning. Les jeux de données diffèrent par la résolution des images (c'est-à-dire que certaines images mesurent 128x128px, certaines 512x512, d'autres 2048x2048).

Si j'utilisais l'ensemble de données avec la résolution la plus élevée pour entraîner mon intuition, ce serait qu'il sera plus difficile de classer les images avec une résolution inférieure car le réseau apprend des modèles qu'il peut ne pas reconnaître dans les images de résolution inférieure. D'un autre côté, si j'utilise l'ensemble de données basse résolution pour l'entraînement, les modèles appris sont plus rudimentaires et ils fonctionnent mieux sur toutes les nouvelles données, car les images à plus haute résolution peuvent être facilement réduites. Mon intuition est-elle juste ou est-ce que je manque quelque chose? Quelle serait la meilleure approche dans mon cas pour sélectionner les données d'entraînement appropriées?

Réponses

2 ShahriyarMammadli Nov 01 2020 at 04:20

La réponse peut dépendre du type d'informations que vous souhaitez extraire des images. Cependant, l'approche générale du problème est de trouver un équilibre parfait pour que votre image ne soit pas trop petite, ce qui est difficile d'extraire trop d'informations ou ce n'est pas une entrée haute résolution qui compliquera inutilement votre modèle. Ce dernier sera également difficile à former en termes de complexité spatiale et de complexité temporelle.

Ainsi, si votre objectif n'est pas quelque chose comme l'identification et la classification d'objets minuscules dans l'image, ou une tâche similaire détaillée et complexe, alors vous pouvez utiliser la petite taille des images.

Avoir une bonne architecture et un modèle bien formé peut garantir un résultat puissant. Considérez que la plupart des modèles NN célèbres et puissants dans les domaines de la vision par ordinateur et du traitement d'image utilisent des tailles d'entrée telles que 96x96, 128x128, 224x224, 256x256. Peut-être que je vais trop loin en disant cela, mais le bon défi serait de construire un modèle puissant avec une petite taille de pixels comme 224x224 ou proche de cela, car dans ce cas, la convivialité et l'utilité du modèle seront augmentées. Comme vous l'avez également mentionné, les images de haute qualité peuvent être réduites à de petites échelles, mais il n'est pas possible d'agrandir l'image de petite taille (du moins, sans l'aide de l'IA). Comme votre modèle est raisonnablement petit, il abordera la plupart de toutes les images disponibles (également, la détection ou la classification des images recadrées, des petits objets dans les images, etc.peut être considérée comme une autre raison d'avoir une petite taille d'entrée). Donc, si vous construisez un modèle en utilisant une grande taille de pixel, il faudra également une image de haute qualité pour pouvoirtravailler et n’accepterait pas les images de mauvaise qualité. Considérez que l'API google vision fonctionne parfaitement même avec les images 64x64.

En bref, si votre objectif n'est pas inhabituel et qu'il ne nécessite pas d'images haute résolution pour travailler avec des objets de petite taille dans les images, utilisez des images de petite taille. Avec l'aide de bonnes couches de convolution architecturées, vous pouvez extraire beaucoup d'informations de ces petites images et processus dans les couches suivantes. Considérez également que même de petits changements dans la taille de l'image d'entrée peuvent affecter considérablement le temps d'apprentissage.