
L'Ă©poque oĂč l'une des tĂąches les plus urgentes de la vision par ordinateur Ă©tait de pouvoir distinguer les photographies de chiens des photographies de chats, est dĂ©jĂ rĂ©volue. Ă l'heure actuelle, les rĂ©seaux de neurones sont capables d'effectuer des tĂąches beaucoup plus complexes et intĂ©ressantes pour le traitement d'images. En particulier, le rĂ©seau avec l'architecture Mask R-CNN vous permet de sĂ©lectionner les contours («masques») de diffĂ©rents objets dans les photographies, mĂȘme s'il y en a plusieurs, ils ont des tailles diffĂ©rentes et se chevauchent partiellement. Le rĂ©seau est Ă©galement capable de reconnaĂźtre les poses de personnes dans l'image.
Au début de cette année, j'ai eu l'occasion de participer au concours Data Science Bowl 2018 à Kaggle à des fins éducatives. à des fins éducatives, j'ai utilisé l'un de ces modÚles que certains participants occupant des postes élevés présentent généreusement. Il s'agissait d'un réseau neuronal Mask R-CNN récemment développé par Facebook Research. (Il convient de noter que l'équipe gagnante utilisait toujours une architecture différente - U-Net. Apparemment, elle était plus adaptée aux tùches biomédicales, dont le Data Science Bowl 2018).
Le but Ă©tant de se familiariser avec les tĂąches du Deep Learning et de ne pas occuper une place de choix, aprĂšs la fin de la compĂ©tition, il y avait un fort dĂ©sir de comprendre comment fonctionne le rĂ©seau neuronal utilisĂ© «sous le capot». Cet article est une compilation d'informations obtenues Ă partir de documents originaux d'arXiv.org et de plusieurs articles sur Medium. Le matĂ©riel est de nature purement thĂ©orique (bien qu'Ă la fin il y ait des liens sur l'application pratique), et il ne contient pas plus qu'il n'y en a dans les sources indiquĂ©es. Mais il y a peu d'informations sur le sujet en russe, donc l'article sera peut-ĂȘtre utile Ă quelqu'un.
Toutes les illustrations proviennent de sources d'autres personnes et appartiennent à leurs propriétaires légitimes.
Types de tĂąches de vision par ordinateur
Habituellement, les tĂąches modernes de vision par ordinateur sont divisĂ©es en quatre types (il n'Ă©tait pas nĂ©cessaire de rĂ©pondre aux traductions de leurs noms mĂȘme dans les sources en russe, donc en anglais, afin de ne pas crĂ©er de confusion):
- Classification - classification de l'image par le type d'objet qu'elle contient;
- Segmentation sĂ©mantique - dĂ©finition de tous les pixels d'objets d'une certaine classe ou d'un arriĂšre-plan dans l'image. Si plusieurs objets de la mĂȘme classe se chevauchent, leurs pixels ne peuvent pas ĂȘtre sĂ©parĂ©s les uns des autres;
- Détection d'objets - détection de tous les objets des classes spécifiées et détermination du cadre englobant pour chacune d'elles;
- Segmentation d'instance - définition des pixels appartenant à chaque objet de chaque classe séparément;
En utilisant l'exemple d'une image avec des ballons de
[9], cela peut ĂȘtre illustrĂ© comme suit:
Développement évolutif du masque R-CNN
Les concepts sous-jacents à Mask R-CNN ont connu un développement progressif à travers l'architecture de plusieurs réseaux de neurones intermédiaires qui ont résolu différentes tùches de la liste ci-dessus. La façon la plus simple de comprendre les principes de fonctionnement de ce réseau est probablement de considérer séquentiellement toutes ces étapes.
Sans s'attarder sur des choses de base comme la rétropropagation, la fonction d'activation non linéaire et ce qu'est un réseau neuronal multicouche en général, une brÚve explication du fonctionnement des couches de réseaux de neurones à convolution en vaut probablement la peine (R-CNN).
Convolution et MaxPooling
Une couche convolutionnelle vous permet de combiner les valeurs des pixels adjacents et de mettre en Ă©vidence des caractĂ©ristiques plus gĂ©nĂ©rales de l'image. Pour ce faire, l'image est sĂ©quentiellement glissĂ©e par une fenĂȘtre carrĂ©e de petite taille (3x3, 5x5, 7x7 pixels, etc.) appelĂ©e noyau (noyau). Chaque Ă©lĂ©ment central a son propre coefficient de poids multipliĂ© par la valeur de ce pixel de l'image sur laquelle l'Ă©lĂ©ment central est actuellement superposĂ©. Ensuite, les nombres obtenus pour toute la fenĂȘtre sont additionnĂ©s, et cette somme pondĂ©rĂ©e donne la valeur du signe suivant.
Pour obtenir une matrice («carte») d'attributs de l'image entiĂšre, le noyau est dĂ©calĂ© sĂ©quentiellement horizontalement et verticalement. Dans les couches suivantes, l'opĂ©ration de convolution est dĂ©jĂ appliquĂ©e aux cartes caractĂ©ristiques obtenues Ă partir des couches prĂ©cĂ©dentes. Graphiquement, le processus peut ĂȘtre illustrĂ© comme suit:
Une image ou des cartes de caractĂ©ristiques dans une couche peuvent ĂȘtre numĂ©risĂ©es non pas par un mais par plusieurs filtres indĂ©pendants, donnant ainsi non pas une carte, mais plusieurs (elles sont Ă©galement appelĂ©es «canaux»). L'ajustement des poids de chaque filtre s'effectue en utilisant la mĂȘme procĂ©dure de rĂ©tropropagation.
Ăvidemment, si le noyau du filtre pendant la numĂ©risation ne dĂ©passe pas l'image, la dimension de la carte d'entitĂ©s sera infĂ©rieure Ă celle de l'image d'origine. Si vous souhaitez conserver la mĂȘme taille, appliquez les soi-disant rembourrages - valeurs qui complĂštent l'image sur les bords et qui sont ensuite capturĂ©es par le filtre avec les vrais pixels de l'image.
En plus des rembourrages, les changements dimensionnels sont Ă©galement affectĂ©s par les foulĂ©es - les valeurs de l'Ă©tape avec laquelle la fenĂȘtre se dĂ©place autour de l'image / de la carte.
La convolution n'est pas le seul moyen d'obtenir une caractéristique généralisée d'un groupe de pixels. La façon la plus simple de le faire est de sélectionner un pixel selon une rÚgle donnée, par exemple le maximum. C'est exactement ce que fait la couche MaxPooling.
Contrairement à la convolution, le maxpool est généralement appliqué aux groupes de pixels disjoints.
R-CNN
L'architecture du réseau R-CNN (Regions With CNNs) a été développée par une équipe de UC Berkley pour appliquer les réseaux de neurones à convolution à une tùche de détection d'objets. Les approches de résolution de ces problÚmes qui existaient à l'époque se rapprochaient au maximum de leurs capacités et leurs performances n'étaient pas significativement améliorées.
CNN a bien performĂ© dans la classification des images, et dans le rĂ©seau donnĂ©, elles ont Ă©tĂ© essentiellement appliquĂ©es pour la mĂȘme chose. Pour ce faire, non pas l'image entiĂšre a Ă©tĂ© envoyĂ©e Ă l'entrĂ©e CNN, mais les rĂ©gions prĂ©alablement allouĂ©es d'une maniĂšre diffĂ©rente, sur lesquelles certains objets sont censĂ©s se trouver. Ă cette Ă©poque, il y avait plusieurs de ces approches, les auteurs ont choisi la
recherche sélective , bien qu'ils indiquent qu'il n'y a pas de raisons particuliÚres de préférence.
Une architecture prĂȘte Ă l'emploi a Ă©galement Ă©tĂ© utilisĂ©e comme rĂ©seau CNN -
CaffeNet (AlexNet). Ces réseaux de neurones, comme d'autres pour l'ensemble d'images ImageNet, se classent en 1000 classes. R-CNN a été conçu pour détecter des objets d'un plus petit nombre de classes (N = 20 ou 200), de sorte que la derniÚre couche de classification de CaffeNet a été remplacée par une couche avec N + 1 sorties (avec une classe supplémentaire pour l'arriÚre-plan).
La recherche sélective a renvoyé environ 2000 régions de tailles et de rapports d'aspect différents, mais CaffeNet accepte des images d'une taille fixe de 227x227 pixels en entrée, vous avez donc dû les modifier avant de soumettre des régions à l'entrée réseau. Pour cela, l'image de la région était enfermée dans le plus petit carré couvrant. Le long du cÎté (plus petit) le long duquel les champs ont été formés, plusieurs pixels «contextuels» (entourant la région) de l'image ont été ajoutés, le reste du champ n'était rempli de rien. Le carré résultant a été mis à l'échelle à une taille de 227x227 et alimenté à l'entrée de CaffeNet.

Malgré le fait que CNN s'est entraßné à reconnaßtre les classes N + 1, il n'a finalement été utilisé que pour extraire un vecteur caractéristique à 4096 dimensions fixes. N SVM linéaires ont été engagés dans la détermination directe de l'objet dans l'image, chacun d'eux a effectué une classification binaire en fonction de son type d'objets, déterminant s'il y avait une telle chose dans la région transférée ou non. Dans le document d'origine, l'ensemble de la procédure est illustré par le schéma suivant:
Les auteurs soutiennent que le processus de classification dans SVM est trÚs productif, étant essentiellement de simples opérations matricielles. Les vecteurs de caractéristiques obtenus à partir de CNN sont combinés sur toutes les régions dans une matrice 2000x4096, qui est ensuite multipliée par une matrice 4096xN avec des poids SVM.
Il convient de noter que les régions obtenues à l'aide de la recherche sélective
ne peuvent contenir que certains objets, et non le fait qu'elles les contiennent dans leur intégralité. La prise en compte ou non d'une région contenant un objet a été déterminée par la
métrique Intersection over Union (IoU) . Cette métrique est le rapport de la zone d'intersection d'une région candidate rectangulaire avec un rectangle qui englobe réellement l'objet à la zone d'union de ces rectangles. Si le rapport dépasse une valeur de seuil prédéterminée, la région candidate est considérée comme contenant l'objet souhaité.
IoU a Ă©galement Ă©tĂ© utilisĂ© pour filtrer un nombre excessif de rĂ©gions contenant un objet particulier (suppression non maximale). Si l'IoU d'une rĂ©gion avec une rĂ©gion qui a reçu le rĂ©sultat maximum pour le mĂȘme objet Ă©tait au-dessus d'un seuil, la premiĂšre rĂ©gion Ă©tait simplement jetĂ©e.
Au cours de la procĂ©dure dâanalyse des erreurs, les auteurs ont Ă©galement dĂ©veloppĂ© une mĂ©thode qui permet de rĂ©duire lâerreur de sĂ©lection du cadre englobant de lâobjet - rĂ©gression du cadre de dĂ©limitation. AprĂšs avoir classifiĂ© le contenu de la rĂ©gion candidate, quatre paramĂštres ont Ă©tĂ© dĂ©terminĂ©s en utilisant une rĂ©gression linĂ©aire basĂ©e sur les attributs de CNN - (dx, dy, dw, dh). Ils ont dĂ©crit Ă quel point le centre du cadre de la rĂ©gion devait ĂȘtre dĂ©calĂ© de x et y, et Ă quel point changer sa largeur et sa hauteur afin de couvrir plus prĂ©cisĂ©ment lâobjet reconnu.
Ainsi, la procĂ©dure de dĂ©tection d'objets par le rĂ©seau R-CNN peut ĂȘtre divisĂ©e en les Ă©tapes suivantes:
- Mettez en surbrillance les régions candidates à l'aide de la recherche sélective.
- Conversion d'une région à la taille acceptée par CNN CaffeNet.
- Obtention à l'aide d'un vecteur d'entités CNN 4096.
- Réalisation de N classifications binaires de chaque vecteur caractéristique à l'aide de N SVM linéaires.
- Régression linéaire des paramÚtres de trame de région pour une couverture d'objet plus précise
Les auteurs ont noté que l'architecture qu'ils avaient développée fonctionnait également bien dans le problÚme de segmentation sémantique.
R-cnn rapide
Malgré les bons résultats, les performances de R-CNN étaient encore faibles, en particulier pour les réseaux plus profonds que CaffeNet (tels que VGG16). De plus, la formation pour le régresseur de boßte englobante et SVM a nécessité la sauvegarde d'un grand nombre d'attributs sur le disque, ce qui a coûté cher en termes de taille de stockage.
Les auteurs de Fast R-CNN ont proposé d'accélérer le processus en raison de quelques modifications:
- Passer par CNN non pas chacune des 2000 régions candidates séparément, mais l'image entiÚre. Les régions proposées sont ensuite superposées sur la carte des caractéristiques communes résultante;
- Au lieu d'une formation indépendante de trois modÚles (CNN, SVM, régresseur bbox), combinez toutes les procédures de formation en une seule.
La conversion des signes qui sont tombés dans différentes régions en une taille fixe a été effectuée en utilisant la procédure
RoIPooling . Une fenĂȘtre de rĂ©gion de largeur w et de hauteur h a Ă©tĂ© divisĂ©e en une grille ayant des cellules H Ă W de taille h / H Ă w / W. (Les auteurs du document ont utilisĂ© W = H = 7). Pour chacune de ces cellules, Max Pooling a Ă©tĂ© effectuĂ© pour sĂ©lectionner une seule valeur, donnant ainsi la matrice de caractĂ©ristiques H Ă W rĂ©sultante.
Les SVM binaires n'ont pas été utilisés, mais les entités sélectionnées ont été transférées vers une couche entiÚrement connectée, puis vers deux couches parallÚles: softmax avec sorties K + 1 (une pour chaque classe + 1 pour l'arriÚre-plan) et régresseur de boßte englobante.
L'architecture générale du réseau ressemble à ceci:
Pour la formation conjointe du classificateur softmax et du régresseur bbox, la fonction de perte combinée a été utilisée:
Ici:
- la classe de l'objet effectivement représenté dans la région candidate;
- perte de log pour la classe u;
- de réels changements dans le cadre de la région pour une couverture plus précise de l'objet;
- changements prévus dans le cadre de la région;
- fonction de perte entre les changements de trame prévus et réels;
- fonction d'indicateur égale à 1 lorsque
et 0 quand vice versa. Classe
l'arriÚre-plan est indiqué (c'est-à -dire l'absence d'objets dans la région).
- coefficient conçu pour équilibrer la contribution des deux fonctions de perte au résultat global. Dans toutes les expériences des auteurs du document, cependant, il était égal à 1.
Les auteurs mentionnent également qu'ils ont utilisé la décomposition SVD tronquée de la matrice de poids pour accélérer les calculs dans une couche entiÚrement connectée.
R-cnn plus rapide
AprĂšs les amĂ©liorations apportĂ©es Ă Fast R-CNN, le goulot d'Ă©tranglement du rĂ©seau neuronal s'est avĂ©rĂ© ĂȘtre le mĂ©canisme pour gĂ©nĂ©rer des rĂ©gions candidates. En 2015, une Ă©quipe de Microsoft Research a pu accĂ©lĂ©rer considĂ©rablement cette Ă©tape. Ils ont suggĂ©rĂ© de calculer les rĂ©gions non pas Ă partir de l'image d'origine, mais Ă nouveau Ă partir d'une carte de caractĂ©ristiques obtenue de CNN. Pour cela, un module appelĂ© Region Proposition Network (RPN) a Ă©tĂ© ajoutĂ©. L'architecture entiĂšre est la suivante:

Dans le cadre du RPN, selon le CNN extrait, ils glissent dans un «mini rĂ©seau neuronal» avec une petite fenĂȘtre (3x3). Les valeurs obtenues avec son aide sont transfĂ©rĂ©es vers deux couches parallĂšles entiĂšrement connectĂ©es: la couche de rĂ©gression de boĂźte (reg) et la couche de classification de boĂźte (cls). Les sorties de ces couches sont basĂ©es sur les soi-disant ancres: k cadres pour chaque position de la fenĂȘtre coulissante, qui ont des tailles et des rapports d'aspect diffĂ©rents. La couche Reg pour chacune de ces ancres produit 4 coordonnĂ©es, corrigeant la position du cadre englobant; La couche cls produit deux nombres chacun - la probabilitĂ© que la trame contienne au moins un objet ou non. Dans le document, cela est illustrĂ© par le schĂ©ma suivant:
Les couches reg et cls du processus d'apprentissage combinées; ils ont une fonction de perte en commun, qui est la somme des fonctions de perte de chacun d'eux, avec un coefficient d'équilibrage.
Les deux couches RPN ne proposent que des offres pour les régions candidates. Celles qui sont trÚs susceptibles de contenir un objet sont transmises au module de détection et de raffinement d'objet, qui est toujours implémenté en tant que Fast R-CNN.
Afin de partager les fonctionnalités obtenues dans CNN entre le RPN et le module de détection, le processus de formation de l'ensemble du réseau est construit de maniÚre itérative en plusieurs étapes:
- La partie RPN est initialisée et formée pour identifier les régions candidates.
- En utilisant les régions RPN proposées, la partie Fast R-CNN est recyclée.
- Un réseau de détection formé est utilisé pour initialiser les poids des RPN. Cependant, les couches de convolution générales sont fixes et seules les couches spécifiques au RPN sont réaccordées.
- Avec des couches de convolution fixes, Fast R-CNN est enfin réglé.
Le schĂ©ma proposĂ© n'est pas le seul, et mĂȘme dans sa forme actuelle, il peut ĂȘtre poursuivi par d'autres Ă©tapes itĂ©ratives, mais les auteurs de l'Ă©tude originale ont menĂ© des expĂ©riences prĂ©cisĂ©ment aprĂšs une telle formation.
Masque r-cnn
Mask R-CNN développe l'architecture Faster R-CNN en ajoutant une autre branche qui prédit la position du masque couvrant l'objet trouvé, et résout ainsi le problÚme de segmentation d'instance. Le masque est juste une matrice rectangulaire, dans laquelle 1 à une certaine position signifie que le pixel correspondant appartient à un objet d'une classe donnée, 0 - que le pixel n'appartient pas à l'objet.

La visualisation de masques multicolores sur les images source peut donner des images colorées:

Les auteurs du document divisent conditionnellement l'architecture dĂ©veloppĂ©e en un rĂ©seau CNN pour calculer les caractĂ©ristiques de l'image, appelĂ© l'Ă©pine dorsale, et la tĂȘte - l'union des parties chargĂ©es de prĂ©dire le cadre enveloppant, de classer l'objet et de dĂ©terminer son masque. La fonction de perte est courante pour eux et comprend trois composants:
L'extraction des masques a lieu dans un style indépendant de la classe: les masques sont prédits séparément pour chaque classe, sans connaissance préalable de ce qui est représenté dans la région, puis le masque de la classe qui a remporté le classificateur indépendant est simplement sélectionné. On fait valoir qu'une telle approche est plus efficace que de s'appuyer sur une connaissance a priori de la classe.
L'une des principales modifications résultant de la nécessité de prédire le masque est un changement de la procédure
RoIPool (qui calcule la matrice de caractéristiques pour la région candidate) vers ce que l'on appelle
RoIAlign . Le fait est que la carte d'entitĂ©s obtenue Ă partir de CNN a une taille plus petite que l'image d'origine, et la rĂ©gion couvrant le nombre entier de pixels dans l'image ne peut pas ĂȘtre affichĂ©e dans une rĂ©gion proportionnelle de la carte avec le nombre d'entitĂ©s:
Dans RoIPool, le problÚme a été résolu simplement en arrondissant les valeurs fractionnaires aux nombres entiers. Cette approche fonctionne bien lors de la sélection du cadre englobant, mais le masque calculé sur la base de ces données est trop imprécis.
En revanche, RoIAlign n'utilise pas d'arrondi, tous les nombres restent valides et une interpolation bilinéaire sur les quatre points entiers les plus proches est utilisée pour calculer les valeurs d'attribut.
Dans le document d'origine, la différence est expliquée comme suit:
Ici, la carte hachurée dénote une carte d'entités, et continue - l'affichage sur la carte d'entités de la région candidate à partir de la photographie originale. Il devrait y avoir 4 groupes dans cette région pour la mise en commun maximale avec 4 attributs indiqués par des points sur la figure. Contrairement à la procédure RoIPool, qui, en raison de l'arrondi, alignerait simplement la région avec des coordonnées entiÚres, RoIAlign laisse les points à leur emplacement actuel, mais calcule les valeurs de chacun d'eux en utilisant une interpolation bilinéaire selon les quatre signes les plus proches.
Interpolation bilinéaireL'interpolation bilinéaire de la fonction de deux variables est réalisée en appliquant une interpolation linéaire, d'abord dans le sens de l'une des coordonnées, puis dans l'autre.
Soit qu'il soit nécessaire d'interpoler la valeur de la fonction
au point P avec des valeurs connues de la fonction aux points environnants
(voir photo ci-dessous). Pour ce faire, les valeurs des points auxiliaires R1 et R2 sont d'abord interpolées, puis la valeur au point P est interpolée en fonction d'eux.
( â ,
)
En plus des résultats élevés dans les tùches de segmentation d'instance et de détection d'objets, le masque R-CNN s'est révélé approprié pour déterminer la pose de personnes en photographie (estimation de la pose humaine). Le point clé ici est la sélection de points clés (points clés), tels que l'épaule gauche, le coude droit, le genou droit, etc., par lesquels vous pouvez dessiner un cadre de la position d'une personne:
Pour dĂ©terminer les points de rĂ©fĂ©rence, le rĂ©seau neuronal est entraĂźnĂ© de maniĂšre Ă ce qu'il dĂ©livre des masques, en dont un seul pixel (le mĂȘme point) avait une valeur de 1, et le reste - 0 (masque un-chaud). Dans le mĂȘme temps, le rĂ©seau s'entraĂźne Ă Ă©mettre K de tels masques Ă pixel unique, un pour chaque type de point de rĂ©fĂ©rence.RĂ©seaux de pyramides
Dans des expĂ©riences sur le masque R-CNN, ainsi que l'habituel CNN ResNet-50/101 comme colonne vertĂ©brale, des Ă©tudes ont Ă©galement Ă©tĂ© menĂ©es sur la faisabilitĂ© de l'utilisation de Feature Pyramid Network (FPN). Ils ont montrĂ© que l'utilisation du FPN dans le squelette donne au Mask R-CNN une augmentation Ă la fois de la prĂ©cision et des performances. Il est donc utile de dĂ©crire l'amĂ©lioration de la mĂȘme maniĂšre, malgrĂ© le fait qu'un document distinct lui soit dĂ©diĂ© et ait peu Ă voir avec la sĂ©rie d'articles Ă l'Ă©tude.Les pyramides d'objets, comme les pyramides d'images, ont pour but d'amĂ©liorer la qualitĂ© de dĂ©tection des objets, en tenant compte d'un large Ă©ventail de leurs tailles possibles.Dans Feature Pyramid Network, les cartes d'entitĂ©s extraites par des couches CNN successives avec des dimensions dĂ©croissantes sont considĂ©rĂ©es comme une sorte de "pyramide" hiĂ©rarchique appelĂ©e la voie ascendante. De plus, les cartes des signes des niveaux infĂ©rieur et supĂ©rieur de la pyramide ont leurs avantages et leurs inconvĂ©nients: les premiers ont une capacitĂ© de gĂ©nĂ©ralisation haute rĂ©solution mais faible sĂ©mantique; le second - au contraire:L'architecture FPN vous permet de combiner les avantages des couches supĂ©rieures et infĂ©rieures en ajoutant un chemin descendant et des connexions latĂ©rales. Pour cela, la carte de chaque couche superposĂ©e est agrandie Ă la taille de la couche sous-jacente et leur contenu est ajoutĂ© Ă©lĂ©ment par Ă©lĂ©ment. Dans les prĂ©dictions finales, les cartes rĂ©sultantes de tous les niveaux sont utilisĂ©es.SchĂ©matiquement, cela peut ĂȘtre reprĂ©sentĂ© comme suit:L'augmentation de la taille de la carte de niveau supĂ©rieur (surĂ©chantillonnage) se fait par la mĂ©thode la plus simple - le plus proche voisin, c'est-Ă -dire approximativement comme ceci:Liens utiles
Documents de recherche originaux sur arXiv.org:1. R-CNN: https://arxiv.org/abs/1311.25242. R-CNN rapide: https://arxiv.org/abs/1504.080833. R-CNN plus rapide : https://arxiv.org/abs/1506.014974. Masque R-CNN: https://arxiv.org/abs/1703.068705. Feature Pyramid Network: https://arxiv.org/abs/1612.03144Sur support moyen. com au sujet du Masque R-CNN il y a beaucoup d'articles, ils sont faciles Ă trouver. Comme rĂ©fĂ©rences, je n'apporte que celles que j'ai lues:6. ComprĂ©hension simple du masque RCNN - un bref rĂ©sumĂ© des principes de l'architecture rĂ©sultante.7. Une brĂšve histoire des CNN dans la segmentation d'image: du R-CNN au masque R-CNN- L'histoire du dĂ©veloppement du rĂ©seau dans le mĂȘme ordre chronologique que dans cet article.8. Du R-CNN au masque R-CNN est une autre considĂ©ration des stades de dĂ©veloppement.9.
Splash of Color: Segmentation d'instance avec Mask R-CNN et TensorFlow - implĂ©mentation d'un rĂ©seau de neurones dans la bibliothĂšque opensource de Matterport.Le dernier article, en plus de dĂ©crire les principes du Masque R-CNN, offre la possibilitĂ© d'essayer le rĂ©seau en pratique: pour colorier des ballons de diffĂ©rentes couleurs sur des images en noir et blanc.De plus, vous pouvez vous entraĂźner avec le rĂ©seau neuronal sur le modĂšle que j'ai utilisĂ© dans le concours de kaggle Data Science Bowl 2018 (mais pas seulement avec ce modĂšle, bien sĂ»r; vous pouvez trouver beaucoup de choses intĂ©ressantes dans les sections Kernels et Discussions):10. Masque R- CNN dans PyTorch par Heng CherKeng. La mise en Ćuvre implique une sĂ©rie d'Ă©tapes de dĂ©ploiement; l'auteur fournit des instructions. Le modĂšle nĂ©cessite PyTorch 0.4.0, la prise en charge de l'informatique GPU, NVIDIA CUDA. Si mon propre systĂšme ne rĂ©pond pas aux exigences, je peux recommander des images Deep Learning AMI pour les machines virtuelles Amazon (les instances sont payantes, avec une facturation horaire, la taille minimale appropriĂ©e, apparemment, est p2.xlarge).Je suis Ă©galement tombĂ© sur le hub, un article sur l'utilisation du rĂ©seau de Matterport dans le traitement d'image avec des plats (bien que sans source). J'espĂšre que l'auteur ne sera satisfait que de la mention supplĂ©mentaire:11. ConvNets. Prototype d'un projet Ă l'aide du masque R-CNN