Brevet FR3135555A1 — publié le 20231117

L’invention concerne un procédé de localisation de pièces disposées en vrac, comprenant des étapes consistant à : acquérir un nuage de points tridimensionnel d’un ensemble de pièces (CC) disposées en vrac ; acquérir une image bidimensionnelle de l’ensemble de pièces ; analyser l’image pour identifier et localiser une pièce (P[I]) et placer dans l’image une région d’intérêt entourant la pièce ; placer la région d’intérêt dans le nuage de points ; extraire du nuage de points une partie de nuage de points délimitée par la région d’intérêt placée dans le nuage de points ; obtenir un modèle tridimensionnel de la pièce ; placer le modèle dans la partie de nuage de points de manière à faire correspondre la partie de nuage de points avec le modèle tridimensionnel ; et déterminer dans un référentiel lié à l’ensemble de pièces une position du modèle placé dans la partie de nuage de points. Figure 1 Procédé de préhension d’objets disposés en vrac La présente invention concerne le domaine de la robotisation de processus industriels et notamment de chaines de fabrication. La présente invention concerne plus précisément le dévracage, c’est-à-dire la préhension de pièces disposées en vrac dans un contenant. Etat de la technique Le dévracage constitue une étape cruciale dans de nombreux domaines d’activité. Cette tâche est hautement répétitive et sans valeur ajoutée pour un opérateur. On a donc tenté d’automatiser cette tâche. Pour cela on utilise habituellement des feeders ou bols vibrants. Cependant, ces organes sont encombrants, peu flexibles et chers. Il en résulte que ces organes sont considérés comme des contraintes dans les usines, et que la préhension d’objets en vrac constitue un frein au développement de la robotique dans les usines. Pour réaliser une opération de préhension par une pince robotisée d’une pièce disposée en vrac, il a déjà été proposé de former un nuage de points tridimensionnel d’un ensemble de pièces en vrac, et d’utiliser un modèle tridimensionnel des pièces avec un algorithme de recherche de correspondance ("matching") pour reconnaitre et localiser dans le nuage de points plusieurs des pièces en vrac correspondant au modèle tridimensionnel et leurs orientations respectives dans l’espace. Il s’avère que les capteurs tridimensionnels présentent des performances insuffisantes, avec pour conséquence des nuages de points bruités et incomplets notamment en raison de la présence de surfaces réfléchissantes ou absorbantes. Par ailleurs, le contenant peut rassembler plusieurs centaines ou milliers de pièces pouvant être enchevêtrées et se chevauchant. Il en résulte de nombreuses occultations de pièces, accentuant davantage le caractère partiel du nuage de points. Pour compenser ces faibles performances, on a tenté d’utiliser des capteurs tridimensionnels présentant une plus grande résolution. Ainsi certains capteurs peuvent fournir un nuage de points d’une scène comportant plusieurs millions de points. Or, l’algorithme de recherche de correspondance de pièce dans le nuage de points agit itérativement en déplaçant le modèle tridimensionnel dans le nuage de points et en évaluant la correspondance entre le modèle et la partie du nuage de points couverte par le modèle en cherchant à minimiser des écarts entre les géométries de la scène et du modèle. Le temps de traitement de l’algorithme de recherche peut ainsi devenir excessivement long si le nuage de points est à la fois très étendu et très dense. Il est donc souhaitable de pouvoir proposer un procédé de localisation de pièces disposées en vrac, qui soit robuste, rapide et précis, y compris en présence de nombreuses pièces enchevêtrées et se chevauchant. Des modes de réalisation concerne un procédé de localisation de pièces disposées en vrac, le procédé comprenant des étapes exécutées par un processeur et consistant à : acquérir un nuage de points tridimensionnel d’un ensemble de pièces disposées en vrac ; acquérir une image bidimensionnelle de l’ensemble de pièces ; analyser l’image bidimensionnelle pour identifier et localiser une pièce de l’ensemble de pièces et placer dans l’image bidimensionnelle une région d’intérêt entourant la pièce ; placer la région d’intérêt dans le nuage de points en tenant compte d’une position de la région d’intérêt dans l’image bidimensionnelle et d’une correspondance entre les points du nuage de points et les points de l’image bidimensionnelle ; extraire du nuage de points une partie de nuage de points délimitée par la région d’intérêt placée dans le nuage de points ; obtenir un modèle tridimensionnel de la pièce ; placer le modèle tridimensionnel dans la partie de nuage de points de manière à faire correspondre les points de la partie de nuage de points avec le modèle tridimensionnel ; et déterminer dans un référentiel lié à l’ensemble de pièces une position du modèle tridimensionnel ainsi placé dans la partie de nuage de points. Le fait de limiter à une fraction la zone du nuage de points où positionner le modèle tridimensionnel de la pièce et de connaitre à l’avance ce modèle tridimensionnel permet de limiter le calcul de positionnement du modèle tridimensionnel aux seuls points du nuage de points appartenant à la pièce. Il en résulte une réduction significative du temps de calcul nécessaire au placement du modèle tridimensionnel dans le nuage de points, qui converge plus rapidement et plus systématiquement. Selon un mode de réalisation, la région d’intérêt est délimitée par des contours de la pièce identifiée dans l’image bidimensionnelle. Ainsi, la partie du nuage de points extraite est davantage réduite, ce qui permet de réduire davantage le temps de calcul nécessaire au placement du modèle tridimensionnel dans le nuage de points. Selon un mode de réalisation, le placement du modèle tridimensionnel dans la partie de nuage de points) est effectué en considérant des éléments géométriques incluant des éléments de surface et des éléments de bord du modèle tridimensionnel. De cette manière, le placement du modèle tridimensionnel dans le nuage de points abouti même si la pièce à localiser ne présente que des faces lisses sans bords proéminents. Selon un mode de réalisation, l’analyse de l’image bidimensionnelle est effectuée par un réseau neuronal de type convolutif, exécuté par le processeur et configuré pour identifier et localiser des pièces de l’ensemble de pièces dans l’image bidimensionnelle et localiser une région d’intérêt autour de chacune des pièces identifiées dans l’image bidimensionnelle. Il s’avère que le réseau neuronal convolutif constitue un moyen robuste et efficace pour détecter et localiser des pièces en vrac. Selon un mode de réalisation, l’ensemble de pièces comprend plusieurs types de pièces, l’analyse de l’image bidimensionnelle par le réseau neuronal fournissant un type de pièce en association avec chaque région d’intérêt identifiée dans l’image bidimensionnelle, l’obtention d’un modèle tridimensionnel de pièce étant effectué en sélectionnant un modèle tridimensionnel correspondant au type de pièce correspondant à la partie de nuage de points extraite. La reconnaissance d’un type de pièce pour chaque pièce localisée dans l’ensemble de pièces permet de connaitre à l’avance le modèle tridimensionnel à utiliser pour localiser la pièce dans la partie de nuage de points correspondante. Il en résulte que la recherche de correspondance peut être particulièrement efficace et rapide. Selon un mode de réalisation, le procédé de localisation comprend une étape d’entrainement du réseau neuronal à l’aide de données d’apprentissage comprenant des images bidimensionnelles dans lesquelles des pièces d’un ensemble de pièces en vrac sont entourées et chaque pièce entourée est associée à un modèle tridimensionnel de la pièce. Selon un mode de réalisation, le procédé de localisation comprend une étape de génération de données d’apprentissage pour entrainer le réseau neuronal, l’étape de génération de donnée d’apprentissage consistant à : (a) acquérir une image bidimensionnelle et un nuage de points tridimensionnel d’un ensemble de pièces ; (b) charger un modèle tridimensionnel d’une pièce présente dans l’ensemble de pièces ; (c) rechercher dans le nuage de points une correspondance entre une partie du nuage de points et le modèle tridimensionnel, pour localiser le modèle tridimensionnel dans l’ensemble de points et déterminer une position d’une région d’intérêt entourant le modèle tridimensionnel localisé dans le nuage de points ; (d) mémoriser la position de la région d’intérêt dans l’image bidimensionnelle, en association avec l’image bidimensionnelle ; (e) répéter les étapes à pour d’autres pièces présentes dans l’image bidimensionnelle et le nuage de points ; et (f) répéter les étapes à pour acquérir et traiter d’autres images bidimensionnelles et d’autres nuages de points. De cette manière, les données d’apprentissage du réseau neuronal peuvent être générées automatiquement. Selon un mode de réalisation, la position du modèle tridimensionnel placé dans la partie de nuage de points est définie par trois coordonnées spatiales d’un point de référence A du modèle tridimensionnel dans le référentiel lié à l’ensemble de pièces et trois angles définissant une orientation du modèle tridimensionnel dans le référentiel lié à l’ensemble de pièces. Selon un mode de réalisation, l’image bidimensionnelle de l’ensemble de pièces est : générée à partir du nuage de points sous la forme d’une image de profondeur, ou bien fournie par un capteur d’image pointé sur l’ensemble de pièces en vrac, ou bien extraite de signaux à partir desquels le nuage de points est formé. Des modes de réalisation peuvent également concerner un procédé de préhension d’une pièce dans un ensemble de pièces en vrac, le procédé de préhension comprenant des étapes consistant à : exécuter le procédé de localisation tel que précédemment défini, appliqué à un ensemble de pièces en vrac pour déterminer la position d’un modèle tridimensionnel de pièce dans un référentiel lié à l’ensemble de pièces ; et commander un bras robotisé muni d’une pince de préhension pour prendre une pièce à la position du modèle tridimensionnel dans le nuage de points. Dès lors qu’une pièce peut être localisée dans l’espace, précisément et rapidement dans un ensemble de pièces en vrac, le bras robotisé peut être commandé rapidement et efficacement pour prendre une pièce dans l’ensemble de pièces. Selon un mode de réalisation, le modèle tridimensionnel est associé à plusieurs directions de préhension, le procédé de préhension comprenant la sélection d’une direction de préhension en fonction de la position du modèle tridimensionnel de pièce dans un référentiel lié à l’ensemble de pièces, le bras robotisé étant commandé pour suivre la direction de préhension sélectionnée afin de prendre la pièce. La détermination d’une direction de préhension permet d’améliorer la commande du bras robotisé, en évitant les erreurs de préhension conduisant à une chute de la pièce prise. Selon un mode de réalisation, le procédé de préhension comprend l’exécution du procédé de localisation à chaque fois qu’un groupe d’au moins une pièce a été pris par le bras robotisé. Au fur et à mesure que des pièces sont prises dans l’ensemble de pièces en vrac, des pièces masquées de l’ensemble se retrouvent découvertes. Il est donc avantageux d’exécuter à nouveau le procédé de localisation pour localiser les nouvelles pièces découvertes. Grâce à la rapidité du procédé de localisation, celui-ci peut être facilement mis en œuvre dans un processus de fabrication comportant une étape de préhension d’une pièce dans un ensemble de pièces en vrac, et ce sans ajouter de latence. Des modes de réalisation peuvent également concerner un système de localisation de pièces disposées en vrac, le système comprenant : un dispositif de génération d’un nuage de points tridimensionnel pointé sur un ensemble de pièces en vrac, et un processeur connecté au dispositif de génération du nuage de points tridimensionnel, et configuré pour mettre en œuvre le procédé de localisation tel que précédemment défini. Selon un mode de réalisation, le système comprend en outre un capteur d’image connecté au processeur et pointé sur l’ensemble de pièces en vrac, le capteur d’image étant configuré pour fournir une image bidimensionnelle de l’ensemble de pièces en vrac. Selon un mode de réalisation, le système comprend en outre un bras robotisé muni d’une pince de préhension, et commandé par le processeur pour mettre en œuvre le procédé de préhension tel que précédemment défini. Brève description des figures La présente invention sera bien comprise à l’aide de la description qui suit en référence aux figures annexées, dans lesquelles des signes de références identiques correspondent à des éléments structurellement et/ou fonctionnellement identiques ou similaires. La f igure 1 est une vue schématique en perspective d’un contenant rassemblant plusieurs pièces en vrac, observé par un capteur tridimensionnel, selon un mode de réalisation, La f igure 2 représente des étapes d’un procédé de localisation de pièces disposées en vrac, selon un mode de réalisation, La f igure 3 représente plus en détail une étape du procédé de localisation de pièces disposées en vrac, selon un mode de réalisation, La f igure 4 est une vue schématique d’un nuage de points fourni par le capteur tridimensionnel observant l’intérieur du contenant, selon un mode de réalisation, La f igure 5 représente un exemple d’image bidimensionnelle de l’intérieur du contenant, La f igure 6 est une vue schématique de l’image de l’intérieur du contenant, illustrant une étape d’identification de régions d’intérêt dans une carte de profondeur, selon un mode de réalisation, La f igure 7 est une vue schématique de l’image de l’intérieur du contenant, illustrant une étape de masquage, selon un mode de réalisation, La f igure 8 représente schématiquement un réseau neuronal mis en œuvre durant une étape du procédé de localisation de pièces disposées en vrac, selon un mode de réalisation, La f igure 9 représente plus en détail des étapes du procédé de localisation de pièces disposées en vrac, selon un mode de réalisation, La f igure 10 présente une vue schématique d’une image bidimensionnelle de l’intérieur du contenant et une vue schématique du nuage de points fourni par le capteur tridimensionnel, illustrant une étape de segmentation du nuage de points, selon un mode de réalisation, La f igure 11 est une vue schématique d’un modèle tridimensionnel d’une pièce, La f igure 12 est une vue schématique de segments extraits du nuage de points, illustrant une étape d’établissement de correspondances entre le modèle tridimensionnel et les segments extraits du nuage de points, La f igure 13 est une vue schématique d’un bras robotisé configuré pour mettre en œuvre un procédé de préhension de pièces, pour déterminer les positions respectives de pièces, et exploiter ces positions pour attraper les pièces, selon un mode de réalisation, La f igure 14 représente des étapes d’un procédé d’apprentissage d’un réseau neuronal utilisé pour identifier et localiser des pièces dans une image, selon un mode de réalisation, Description détaillée La f igure 1 représente un système SYS de localisation de pièces P[I] disposées en vrac dans un contenant CC, par exemple un bac. Le système de localisation comprend un processeur ou une unité de calcul CU et un dispositif S3D d’acquisition tridimensionnel, placé en regard du contenant CC, le dispositif S3D étant configuré pour fournir un nuage de points tridimensionnel de l’intérieur du contenant CC. La f igure 2 illustre des étapes S1 à S6 d’un procédé de localisation de pièces disposées en vrac, selon un mode de réalisation. Les étapes S1-S6 peuvent être mises en œuvre par le système SYS. A l’étape S1, l’unité de calcul CU commande le scanner S3D pour acquérir un nuage de points tridimensionnel des pièces P[I] disposées en vrac dans le contenant CC. Ainsi, la position des pièces P[I] est inconnue. Selon un mode de réalisation, l’unité de calcul CU acquiert également une image bidimensionnelle de l’intérieur du contenant CC. L’image bidimensionnelle peut être une carte de profondeur ou de réflectance, ou encore une image en couleur (par exemple de type RBG). L’image bidimensionnelle peut être générée à partir du nuage de points ou produite par le scanner S3D ou une caméra C2D connectée à l’unité de calcul CU. A l’issue de l’étape S1, on dispose donc d’un nuage de points et d’une image bidimensionnelle définies dans un même repère spatial, de sorte que n’importe quel point du nuage de point relatif à une pièce peut être positionné dans l’image bidimensionnelle et réciproquement. A cet effet, une calibration peut être nécessaire notamment lorsque l’image bidimensionnelle est obtenue à l’aide d’une autre caméra, telle que la camera C2D. A l’étape S2, l’unité de calcul CU effectue une reconnaissance du contour des pièces dans l’image bidimensionnelle. Cette opération peut être effectuée à l’aide d’un réseau neuronal convolutif qui a été généré par apprentissage à l’aide d’un jeu de données d’apprentissage comportant des nuages de points tridimensionnels et/ou des images bidimensionnelles labellisés. A l’issue de l’étape S2, des contours de pièces sont disposés sur des images de pièces ainsi identifiées et localisées dans l’image bidimensionnelle. Le réseau neuronal peut être entrainé pour reconnaitre plusieurs formes de pièces. Dans ce cas, chaque contour de pièce identifié est associé à une forme de pièce. A l’étape S3, les contours de pièces déterminés à l’étape S2 sont placés dans le nuage de points en considérant une correspondance entre les points de l’image bidimensionnelle et les points du nuage de points. A l’étape S4, l’unité de calcul CU exploite la disposition des contours de pièces dans le nuage de points pour déterminer des parties du nuage de points contenant une pièce identifiée à l’étape S2. Ainsi, chaque partie de nuage de points contient des points appartenant à une pièce localisée à l’étape S2. A l’étape S5, l’unité de calcul CU détermine par un calcul de correspondance ("matching"), la position et l’orientation d’un modèle de pièce dans chaque partie de nuage de points identifiée à l’étape S4. A cet effet, l’unité de calcul CU charge pour chaque partie de nuage de point le modèle tridimensionnel de la forme de pièce correspondante identifiée à l’étape S2. A l’étape S6, l’unité de calcul CU détermine la position et l’orientation de chaque pièce P[I] en exploitant la position et l’orientation du modèle de pièce dans chaque partie de nuage de points, déterminées à l’étape S5. La position et l’orientation de chaque pièce P[I] peut comprendre trois coordonnées cartésiennes (x, y, z) spécifiant dans un repère de référence la position d’un point de référence de la pièce, par exemple un point remarquable tel que son centre de gravité, et trois angles α, β, γ spécifiant l’orientation d’un repère lié à la pièce par rapport au repère de référence. Le repère de référence peut être lié au contenant CC ou à un robot. A l’issue l’étape S6, l’unité de calcul CU a fourni un ensemble de positions en six dimensions (x, y, z, α, β, γ) de pièces se trouvant dans le contenant CC. Grâce aux positions (x, y, z, α, β, γ) et à la définition d’un axe de préhension dans le modèle de pièce, un bras robotisé pourvu d’une pince de préhension peut positionner correctement sa pince dans l’espace pour attraper successivement chacune des pièces ainsi localisées. La f igure 3 illustre des étapes S11 à S14 exécutées à l’étape S1 pour générer le nuage de points tridimensionnel et l’image bidimensionnelle. A l’étape S11, le nuage de points de l’intérieur du contenant CC est généré par le scanner S3D. A l’étape S12, une image bidimensionnelle de l’intérieur du contenu 2D peut être générée soit à partir du nuage de points (étape S14), soit directement à partir de signaux produits par le scanner S3D qui peut produire plusieurs images bidimensionnelles (étape S13). L’image bidimensionnelle générée à partir du nuage de points peut être une carte de profondeur ou une carte de réflectance. L’image de profondeur peut être générée en projetant les points du nuage de points sur un plan, et en affectant un niveau de gris à chaque point de l’image bidimensionnelle en fonction de la distance du point dans le nuage de points. L’image bidimensionnelle peut également être fournie par un capteur d’image ou une caméra C2D connectée à l’unité de calcul CU. A noter que le nuage de points peut être généré par d’autres dispositifs tel qu’un scanner à temps de vol ou à lumière structurée, un LIDAR ("Light / Laser Detection and Ranging") un dispositif de stéréovision passive ou active. Les f igures 4 et 5 représentent le nuage de points PC et l’image bidimensionnelle IM de l’intérieur du contenant CC faisant apparaître différentes pièces P[I]. Le nuage de points PC fait apparaitre la forme des pièces telle qu’on peut l’observer depuis le dessus du contenant CC. Les f igures 6 et 7 illustrent deux exemples de résultat obtenu à l’issue de l’étape S2 de reconnaissance du contour des pièces dans l’image bidimensionnelle IM et de reconnaissance d’une forme ou d’un type de pièce. Sur la f igure 6, plusieurs régions d’intérêt ROI[I] de pièces P[I] sont identifiées dans l’image IM par à l’aide du réseau neuronal mis en œuvre par l’unité de calcul CU. Chacune des régions d’intérêt ROI[I] entoure une seule pièce P[I] identifiée. Sur la f igure 7, un masque MP[I] suivant le contour de chaque pièce P[I] repérée dans l’image IM est placé sur chacune de ces pièces. La f igure 8 représente le réseau neuronal NN, selon un exemple de réalisation. Le réseau neuronal NN, par exemple de type convolutif, comprend plusieurs étages FP1-FP5, en série dont des étages FP1, FP3 de convolution et de rectification (ReLU : "Rectified Linear Unit"). Les étages FP1, FP3 réalisent chacun un traitement de filtrage configuré pour extraire un type de motif par détection de contours ou reconnaissance de certaines formes, ainsi qu’un traitement de rectification permettant d’écarter les valeurs négatives. Les étages FP2, FP4 réalisent un traitement de regroupement ("pooling"), l’étage FP2 étant interposé entre les étages FP1, FP3 de convolution et de rectification, et l’étage FP4 étant disposé à la suite de l’étage FP3. Les étages FP2, FP4 permettent de réduire la taille des images en ne conservant que les pixels les plus importants. Cette réduction de taille d’image a pour effet de déformer l’image et donc entraine une perte d’information sur la position précise des pixels dans l’espace, mais limite des risques de surapprentissage. L’algorithme peut ainsi détecter la présence de deux pièces, sans pour autant déterminer au pixel près la distance qui les sépare. Le dernier étage FP5 du réseau neuronal, disposé à la suite de l’étage FP4, comporte un réseau de neurones totalement connecté, configuré pour calculer la probabilité qu’une pièce dans l’image corresponde à une catégorie de pièce apprise en amont dans une base d’apprentissage. A noter qu’un réseau neuronal convolutif comporte généralement un dernier étage de classification. Or, dans le cas présent où une seule forme de pièce ou un nombre réduit de formes de pièces peut être présent, la réalisation d’une telle classification n’est pas utile. La f igure 9 illustre des étapes S31 à S39 détaillant les étapes S3 et S4. A l’étape S31, l’unité de calcul CU initialise à un un compteur I de pièce. A l’étape S32, la pièce P[I] est sélectionnée. A l’étape S33, la position dans l’image IM de la région d’intérêt ROI[I] ou du masque MP[I] de la pièce P[I] est récupérée. Aux étapes S32, S33, l’unité de calcul CU peut sélectionner une pièce associée à un indice de confiance excédant une certaine valeur de seuil, un tel indice de confiance pouvant être fourni à l’étape S2 par le réseau neuronal NN. A l’étape S34, l’unité de calcul CU identifie et extrait les points du nuage de points PC situés dans la région d’intérêt ROI[I] ou dans le masque MP[I] pour former une partie de nuage de point extraite SG[I]. A l’étape S35, l’unité de calcul CU charge un modèle tridimensionnel M3D de la forme de pièce identifiée à l’étape S2, correspondant à la région d’intérêt ROI[I] ou dans le masque MP[I]. A l’étape S36, l’unité de calcul CU réalise un traitement de mise en correspondance du modèle M3D avec la partie de nuage de points SG[I]. Ce traitement peut consister à chercher la position du modèle M3D qui coïncide avec le plus grand nombre de points de la partie de nuage de points SG[I]. Cette opération peut être effectuée en déplaçant le modèle dans la partie de nuage de points SG[I] et en calculant des écarts entre la géométrie du modèle et la géométrie de la partie SG[I], et finalement en sélectionnant la position du modèle présentant les écarts les plus faibles. Selon un mode de réalisation, les éléments géométriques considérés peuvent combiner des éléments de surface et des éléments de bord. De cette manière, la position du modèle dans la partie de nuage de point SG[I] peut être déterminée de manière robuste même si l’objet comporte des surfaces lisses sans bords proéminents. A l’étape S37, l’unité de traitement CU détermine les coordonnées (x, y, z, α, β, γ) du modèle de pièce M3D positionné dans la partie de nuage de point SG[I] à l’étape S36, et mémorise ces coordonnées en référence à la pièce P[I]. Aux étapes S38 et S39, le compteur I est incrémenté de un et comparé au nombre N de régions d’intérêt ROI[I] ou de masques MP[I] placés dans l’image IM. Si le compteur I est plus grand que le nombre N, toutes les pièces repérées dans l’image IM ont été traitées et le traitement se termine. Dans le cas contraire, le traitement se poursuit pour une autre pièce P[I] à partir de l’étape S32. La f igure 10 illustre l’étape S34 durant laquelle les limites des régions d’intérêt ROI[I] (ou MP(I)) dans l’image IM sont positionnées dans le nuage de points PC et les points du nuage de points PC situés dans chaque région d’intérêt ROI[I] (ou MP(I)) sont extraits pour former les parties de nuage de point SG[I]. La f igure 11 représente le modèle tridimensionnel M3D des pièces P[I] se trouvant dans le contenant CC. Le modèle M3D est lié à un repère Axyz. La f igure 12 illustre les étapes S36 et S37 de mise en correspondance du modèle M3D avec chaque partie de nuage de points SG[I] extraite du nuage de points PC et de détermination pour chaque pièce P(I) repérée de la position du repère Axyz lié au modèle dans un repère OXYZ lié au contenant CC. La f igure 13 représente un bras robotisé BR muni d’une pince GP qui peut être utilisé dans le cadre d’un procédé de préhension de pièces P[I] dans le contenant CC. Le bras robotisé BR peut être couplé au scanner 3D. L’unité de calcul CU est connectée au scanner S3D et éventuellement à une caméra bidimensionnelle observant l’intérieur du contenant CC. L’unité de calcul CU est également connectée aux circuits de commande du bras robotisé BR et configurée pour mettre en œuvre le procédé de préhension de pièces. Pour mettre en œuvre le procédé de préhension de pièces, l’unité de calcul CU commande le positionnement de la pince GP en fonction de la position (x, y, z, α, β, γ) d’une pièce P[I] préalablement sélectionnée parmi les pièces détectées et localisées dans le contenant CC, et commande la pince pour prendre la pièce sélectionnée. A cet effet, le modèle tridimensionnel de chaque pièce P[I] peut définir un ou plusieurs directions de préhension à utiliser lors de la commande du bras robotisé pour prendre la pièce. Si plusieurs directions de préhension sont définies pour la pièce P[I], l’une de ces directions peut être sélectionnée en fonction de la position de la pièce. Dans le cadre d’un procédé de préhension, l’unité de calcul CU peut préalablement sélectionner une pièce P[I] à prendre, en fonction de la position (x, y, z, α, β, γ) de cette dernière. Par exemple, lorsque plusieurs pièces détectées et localisées se chevauchent, l’unité de calcul CU peut sélectionner une pièce qui n’est recouverte par aucune autre. En outre, la correspondance évaluée à l’étape S36 peut être assortie d’un facteur de qualité qui peut être utilisé par l’unité de calcul pour sélectionner une pièce à prendre, la pièce ayant le plus grand facteur de qualité étant sélectionnée en premier. Comme toutes les pièces en vrac ne peuvent pas être localisées en raison de possibles chevauchements ou recouvrements, les étapes S1 à S6 peuvent être à nouveau exécutées dans le cadre d’un procédé de préhension, à chaque fois que le bras robotisé a retiré une ou plusieurs pièces du contenant CC. La f igure 14 illustre des étapes S40 à S62 d’un procédé d’apprentissage du réseau neuronal NN. L’étape S40 initialise un compteur d’image k à la valeur 1. Les étapes S41, S42, S43 et S44 peuvent être identiques aux étapes S11 à S14. Les étapes S41-S44 permettent d’obtenir un nouveau nuage de points PC associé à une image bidimensionnelle IM de l’intérieur du contenant CC. L’étape S45 est exécutée à l’issue de l’étape S43 ou S44. L’étape S45 offre la possibilité d’effectuer une labellisation manuelle ou automatique. Si une labellisation manuelle est requise, les étapes S46 à S50 sont exécutées, et si une labellisation automatique est requise, les étapes S53 à S62 sont exécutées. A l’étape S46, un compteur I de pièce est initialisé à un. A l’étape S47, une pièce P[I] est détourée manuellement dans l’image IM, ce qui permet d’obtenir la position et la forme d’un masque MP[I] ou d’une région d’intérêt ROI[I] autour de la pièce P[I]. A l’étape S48, la position et la forme du masque MP[I] ou de la région d’intérêt ROI[I] sont mémorisées en référence à l’indice I et à l’image k. A l’étape S49, l’indice de pièce I est incrémenté de un. A l’étape S50, si une nouvelle pièce doit être traitée dans l’image IM, les étapes S47 à S50 sont à nouveau exécutées avec l’indice I incrémenté de un. A l’étape S51, une image labellisée LBIM[k] rassemblant la forme et la position de tous les masques MP[I] ou les régions d’intérêt ROI[I] de l’image IM est mémorisée. A l’étape S52, le compteur d’image k est incrémenté de un et les étapes S41 à S52 sont à nouveau exécutées sur une nouvelle image IM. Les étapes S53 à S54 de labellisation automatique comprennent une première étape S53 d’incrémentation d’un compteur j de modèle de pièce. A l’étape S54, le modèle tridimensionnel M3D[j] d’indice j est chargé. A l’étape S55, une correspondance avec le modèle M3D[j] dans le nuage de point PC est recherchée. Cette recherche de correspondance peut être effectuée dans l’ensemble du nuage de points, sachant que le temps d’exécution de la labellisation d’images n’est pas critique. A l’étape S56, si une correspondance est trouvée à l’étape S55, les étapes S58 à S62 sont exécutées, sinon les étapes S54 à S56 sont à nouveau exécutées pour charger un nouveau modèle de pièce M3D[j], le modèle de pièce précédent n’ayant pas été trouvé dans le nuage de points PC. A l’étape S57, le compteur j de modèle pièce est incrémenté de un, ce qui permet de charger un nouveau modèle de pièce à l’étape S54 et à l’étape S55, de chercher une correspondance avec ce nouveau modèle de pièce dans le nuage de points. A l’étape S58, la position (x, y, z, α, β, γ) du modèle de pièce M3D[j] trouvée dans le nuage de point PC est calculée. Cette étape peut être identique à l’étape S37. A l’étape S59, le modèle M3D[j] de la pièce P[I] est exploité pour déterminer la position et la forme d’un masque MP[I] ou d’une région ROI[I] dans le nuage de points PC. L’étape suivante S60 est identique à l’étape S48. A l’étape S61, le compteur I de pièce est incrémenté de un. A l’étape S62, si une nouvelle pièce P[I] doit être traitée automatiquement, les étapes S55 à S62 sont à nouveau exécutées. Les étapes S51 et S52, puis S41 et suivantes sont exécutées à la suite de l’étape S62 si toutes les pièces P[I] repérées dans le nuage de points k ont été traitées. Le procédé illustré par la f igure 14 permet ainsi de constituer un jeu d’images labellisées pouvant être utilisé pour entrainer le réseau neuronal NN. Il apparaîtra clairement à l’homme de l’art que la présente invention est susceptible de diverses variantes de réalisation et diverses applications. En particulier, l’invention n’est pas limitée à la localisation de plusieurs pièces dans un ensemble de pièces en vrac. En effet, le procédé peut être exécuté pour localiser une seule pièce, et plusieurs fois, notamment si la pièce localisée est retirée de l’ensemble de pièces. L’invention n’est pas non plus limitée au dévracage de pièces au moyen d’un bras robotisé. En effet, l’invention peut présenter d’autres applications, comme le contrôle qualité visant à détecter et localiser des corps étrangers dans un ensemble d’objets, ou des pièces non conformes. Procédé de localisation de pièces disposées en vrac, le procédé comprenant des étapes exécutées par un processeur (CU) et consistant à : acquérir un nuage de points (PC) tridimensionnel d’un ensemble de pièces (CC) disposées en vrac ; acquérir une image bidimensionnelle (IM) de l’ensemble de pièces ; analyser l’image bidimensionnelle pour identifier et localiser une pièce (P[I]) de l’ensemble de pièces et placer dans l’image bidimensionnelle une région d’intérêt (ROI[I], MP[I]) entourant la pièce ; placer la région d’intérêt dans le nuage de points en tenant compte d’une position de la région d’intérêt dans l’image bidimensionnelle et d’une correspondance entre les points du nuage de points et les points de l’image bidimensionnelle ; extraire du nuage de points une partie (SG[I]) de nuage de points délimitée par la région d’intérêt placée dans le nuage de points ; obtenir un modèle tridimensionnel (M3D) de la pièce ; placer le modèle tridimensionnel dans la partie de nuage de points (SG[I]) de manière à faire correspondre les points de la partie de nuage de points avec le modèle tridimensionnel ; et déterminer dans un référentiel (OXYZ) lié à l’ensemble de pièces une position (x, y, z, α, β, γ) du modèle tridimensionnel ainsi placé dans la partie de nuage de points. Procédé de localisation selon la revendication 1, dans lequel la région d’intérêt est délimitée par des contours (MP[I]) de la pièce (P[I]) identifiée dans l’image bidimensionnelle (IM). Procédé de localisation selon la revendication 1 ou 2, dans lequel le placement du modèle tridimensionnel (M3D) dans la partie de nuage de points (SG[I])) est effectué en considérant des éléments géométriques incluant des éléments de surface et des éléments de bord du modèle tridimensionnel. Procédé de localisation selon l’une des revendications 1 à 3, dans lequel l’analyse de l’image bidimensionnelle est effectuée par un réseau neuronal (NN) de type convolutif, exécuté par le processeur (CU) et configuré pour identifier et localiser des pièces de l’ensemble de pièces (CC) dans l’image bidimensionnelle (IM) et localiser une région d’intérêt (ROI[I], MP[I]) autour de chacune des pièces identifiées dans l’image bidimensionnelle (IM). Procédé de localisation selon la revendication 4, dans lequel l’ensemble de pièces comprend plusieurs types de pièces, l’analyse de l’image bidimensionnelle (IM) par le réseau neuronal (NN) fournissant un type de pièce en association avec chaque région d’intérêt (ROI[I], MP[I]) identifiée dans l’image bidimensionnelle, l’obtention d’un modèle tridimensionnel (M3D) de pièce étant effectué en sélectionnant un modèle tridimensionnel correspondant au type de pièce correspondant à la partie de nuage de points extraite (SG[I]). Procédé de localisation selon l’une des revendications 4 et 5, comprenant une étape d’entrainement du réseau neuronal (NN) à l’aide de données d’apprentissage comprenant des images bidimensionnelles dans lesquelles des pièces d’un ensemble de pièces en vrac sont entourées et chaque pièce entourée est associée à un modèle tridimensionnel de la pièce. Procédé de localisation selon l’une des revendications 4 à 6, comprenant une étape de génération de données d’apprentissage pour entrainer le réseau neuronal (NN), l’étape de génération de donnée d’apprentissage consistant à : (a) acquérir une image bidimensionnelle et un nuage de points tridimensionnel d’un ensemble de pièces ; (b) charger un modèle tridimensionnel d’une pièce présente dans l’ensemble de pièces ; (c) rechercher dans le nuage de points une correspondance entre une partie du nuage de points et le modèle tridimensionnel, pour localiser le modèle tridimensionnel dans l’ensemble de points et déterminer une position d’une région d’intérêt entourant le modèle tridimensionnel localisé dans le nuage de points ; (d) mémoriser la position de la région d’intérêt dans l’image bidimensionnelle, en association avec l’image bidimensionnelle ; (e) répéter les étapes (b) à (d) pour d’autres pièces présentes dans l’image bidimensionnelle et le nuage de points ; et (f) répéter les étapes (a) à (e) pour acquérir et traiter d’autres images bidimensionnelles et d’autres nuages de points. Procédé de localisation selon l’une des revendications 1 à 7, dans lequel la position (x, y, z, α, β, γ) du modèle tridimensionnel (M3D) placé dans la partie de nuage de points (SG[I]) est définie par trois coordonnées spatiales (x, y, z) d’un point de référence A du modèle tridimensionnel dans le référentiel (OXYZ) lié à l’ensemble de pièces (CC) et trois angles (α, β, γ) définissant une orientation du modèle tridimensionnel dans le référentiel lié à l’ensemble de pièces. Procédé de localisation selon l’une des revendications 1 à 8, dans lequel l’image bidimensionnelle de l’ensemble de pièces (CC) est : générée à partir du nuage de points (PC) sous la forme d’une image de profondeur, ou bien fournie par un capteur d’image (C2D) pointé sur l’ensemble de pièces en vrac, ou bien extraite de signaux à partir desquels le nuage de points est formé. Procédé de préhension d’une pièce dans un ensemble de pièces en vrac, le procédé de préhension comprenant des étapes consistant à : exécuter le procédé de localisation, selon l’une des revendications 1 à 9, appliqué à un ensemble de pièces (CC) en vrac pour déterminer la position (x, y, z, α, β, γ) d’un modèle tridimensionnel de pièce (M3D) dans un référentiel (OXYZ) lié à l’ensemble de pièces ; et commander un bras robotisé (BR) muni d’une pince de préhension (GP) pour prendre une pièce (P[I]) à la position du modèle tridimensionnel dans le nuage de points (PC). Procédé de préhension selon la revendication 10, dans lequel le modèle tridimensionnel (M3D) est associé à plusieurs directions de préhension, le procédé de préhension comprenant la sélection d’une direction de préhension en fonction de la position (x, y, z, α, β, γ) du modèle tridimensionnel de pièce dans un référentiel lié à l’ensemble de pièces (CC), le bras robotisé (BR) étant commandé pour suivre la direction de préhension sélectionnée afin de prendre la pièce (P[I]). Procédé de préhension selon la revendication 10 ou 11, comprenant l’exécution du procédé de localisation à chaque fois qu’un groupe d’au moins une pièce (P[I]) a été pris par le bras robotisé (BR). Système de localisation de pièces disposées en vrac, le système comprenant : un dispositif (S3D) de génération d’un nuage de points (PC) tridimensionnel pointé sur un ensemble de pièces (CC) en vrac, et un processeur (CU) connecté au dispositif de génération du nuage de points tridimensionnel, et configuré pour mettre en œuvre le procédé de localisation selon l’une des revendications 1 à 9. Système selon la revendication 13, comprenant en outre un capteur d’image (C2D) connecté au processeur (CU) et pointé sur l’ensemble de pièces en vrac (CC), le capteur d’image étant configuré pour fournir une image bidimensionnelle (IM) de l’ensemble de pièces en vrac. Système selon la revendication 13 ou 14, comprenant en outre un bras robotisé (BR) muni d’une pince de préhension (GP), et commandé par le processeur (CU) pour mettre en œuvre le procédé de préhension selon l’une des revendications 10 à 12.