Partage
  • Partager sur Facebook
  • Partager sur Twitter

Réseaux de neurone convolutifs (CNN)

Dimension des images

    6 mars 2020 à 16:45:35

    Bonjour, j'ai pour projet de coder un réseau convolutif, seulement un point théorique m'échappe. Je me demande ainsi, si les images  d'entrée (entrainement et tests) doivent avoir obligatoirement la même dimension. Je m'explique, étant donné que le réseaux final de classification doit avoir un vecteur d'entrée de dimension constante, les opérations de convolution, pooling, doivent avoir une dimension de vecteur de sortie finale constante. Cependant, cette dimension finale est directement liée à la dimension initiale de l'image, qui suivant le même raisonnement devrait être constante.

    Ce point n'est développé nul part, j'apprécierai donc grandement que vous m'éclaireriez.

    • Partager sur Facebook
    • Partager sur Twitter
      6 mars 2020 à 19:34:38

      Salut ! Je n'ai aucune réponse à t'apporter... xD Mais pour moi il faudrait tester... Essayes avec des images de différente dimension et des image de même dimension.

      En tout cas, l'hypothèse la plus logique serait que les images d'entrée aient toutes la même dimension car je cite: "le réseau final de classification doit avoir un vecteur d'entrée de dimension constante, les opérations de convolution, pooling, doivent avoir une dimension de vecteur de sortie finale constante." 

      Ps: quels outils utilises-tu pour programmer ce réseau de neurones. Cela fait longtemps que je recherche de quoi faire. Merci !

      • Partager sur Facebook
      • Partager sur Twitter
        6 mars 2020 à 23:30:40

        Merci de ta réponse ! Je n'utilise pas d'outils particuliers, j'ai codé un perceptron multicouche en utilisant uniquement la librairie numpy pour les opérations matricielles. Effectivement, je pourrai tester, mais vu ce que j'ai compris des réseaux convolutifs et le fait que les cours utilisent toujours les mêmes dimensions, me laissent à penser que ca ne fonctionnera pas. J'aimerai donc une explication théorique, qui serait je pense utile à d'autres.

        -
        Edité par QuentinRevillon4 6 mars 2020 à 23:32:39

        • Partager sur Facebook
        • Partager sur Twitter
          15 mars 2020 à 9:49:47

          Hello, 

             Tu code ton réseau à la main et tu applique un algo du genre "retro propagation du gradient" alors ? 

          Effectivement ta couche d'entrée à une taille fixe. Donc elle attends des données de taille fixe. Pour traiter des images de grande taille, tu peux utiliser un système de convolution. Au lieu de traiter toute l'image d'un coup, tu ne traite qu'une image de taille X*Y. Puis tu décales ta fenêtre dans l'image en prenant soin d'avoir un recoupement. 

          C'est un peu le même système pour le floutage ou la détection des contours par des matrices de convolution.

          Sinon les bibliothèques comme TensorFlow sont quand même bien bien simples et rapides à utiliser. Tu peux même utiliser ton GPU pour accélérer les choses.

          -
          Edité par raoullevert 15 mars 2020 à 9:55:35

          • Partager sur Facebook
          • Partager sur Twitter

          Réseaux de neurone convolutifs (CNN)

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown