Je suis confronté au problème d'avoir des images de différentes dimensions comme entrées dans une tâche de segmentation. Notez que les images n'ont même pas le même rapport hauteur / largeur.
Une approche courante que j'ai trouvée en général dans l'apprentissage profond est de recadrer les images, comme cela est également suggéré ici . Cependant, dans mon cas, je ne peux pas recadrer l'image et garder son centre ou quelque chose de similaire car dans la segmentation, je veux que la sortie ait les mêmes dimensions que l'entrée.
Cet article suggère que dans une tâche de segmentation, on peut alimenter la même image plusieurs fois sur le réseau mais avec une échelle différente et ensuite agréger les résultats. Si je comprends bien cette approche, cela ne fonctionnerait que si toutes les images d'entrée ont le même rapport d'aspect. S'il vous plait corrigez moi si je me trompe.
Une autre alternative serait de simplement redimensionner chaque image à des dimensions fixes. Je pense que cela a également été proposé par la réponse à cette question. Cependant, il n'est pas spécifié de quelle manière les images sont redimensionnées.
J'ai envisagé de prendre la largeur et la hauteur maximales dans l'ensemble de données et de redimensionner toutes les images à cette taille fixe afin d'éviter la perte d'informations. Cependant, je pense que notre réseau peut avoir des difficultés avec les images déformées car les bords d'une image peuvent ne pas être clairs. Quelle est peut-être la meilleure façon de redimensionner vos images avant de les alimenter sur le réseau?
Y a-t-il une autre option que je ne connais pas pour résoudre le problème d'avoir des images de différentes dimensions?
De plus, laquelle de ces approches est la meilleure compte tenu de la complexité de calcul mais également de la perte possible de performances par le réseau?
J'apprécierais que les réponses à mes questions incluent un lien vers une source s'il y en a une. Je vous remercie.