FR 3058816 A1 20180518 FR 1661101 A 20161116 1 PROCÉDÉ DE CONTRÔLE NON-DESTRUCTIF DE PIÈCE MÉTALLIQUE DOMAINE TECHNIQUE GENERAL L'invention concerne le domaine du contrôle non destructif (CND) sur des pièces industrielles en matériau métallique, notamment dans le domaine de l'aéronautique, à l'aide d'images acquises au moyen d'un générateur de rayons X. Plus précisément, l'invention concerne l'automatisation des méthodes de CND. ETAT DE L'ART Le CND est primordial pour contrôler la santé matière des matériaux. Par exemple, les aubes de turbine haute pression sont des pièces critiques qui doivent être contrôlées en intégralité. Chaque pièce issue de la chaine de production est contrôlée individuellement pour s'assurer de la conformité de cette dernière par rapport à un cahier des charges. Ce contrôle santé matière peut être réalisé au moyen d'un générateur de rayons X qui vient bombarder la pièce à inspecter. L'atténuation des rayons X est observée grâce à un détecteur placé derrière la pièce formant une image 2D (cf. figure 1). Les niveaux de gris de cette image projetée sont proportionnels à l'atténuation des rayons X traversant la pièce. Les aubes de turbine haute pression ont une structure interne complexe, creuse, laissant passer de l'air pour les refroidir. Des surépaisseurs et des sous-épaisseurs peuvent être présentes à l'intérieur de l'aube. De plus, d'autres défauts peuvent apparaitre lors du procédé de fabrication de la pièce : des corps étrangers plus ou moins denses, des retassures, des inclusions, des résidus, des oxydes... 3058816 2 Traditionnellement, après l'acquisition d'une projection de la pièce (image 2D), un opérateur vient contrôler manuellement cette image à la recherche d'indications de défauts critiques. 5 L'image est codée en 16 bits (soit 65536 niveaux de gris) or les écrans de contrôle ne permettent que d'afficher des images 8 bits. L'opérateur doit alors constamment régler le contraste de l'image pour distinguer des petites irrégularités de niveaux de gris dans l'image. Ce phénomène est accentué pour des pièces d'épaisseur variable (comme les pièces 10 d'aubes), les niveaux de gris étant corrélés à cette variation d'épaisseur. L'opérateur doit ainsi balayer toute l'image tout en réglant le contraste de l'image. C'est une opération relativement longue et fastidieuse, et source d'erreur. Après avoir détecté manuellement toutes les indications de la pièce, la 15 pièce est soit acceptée et montée sur le moteur, ou soit rebutée suivant alors le processus de dérogation. Il existe donc un besoin permettant d'automatiser ce processus de détection, afin de réduire le temps d'analyse par rapport à une analyse 20 manuelle, et de réduire les coûts de l'inspection. Un procédé automatisé permet également de s'affranchir de la subjectivité introduite par les opérateurs (fatigue visuelle, variabilité intra-opérateur, variabilité inter-opérateur). Le procédé étant plus répétitif et fiable, il permet l'amélioration du rendement. 25 On connait des méthodes de contrôle non destructif mettant en oeuvre des méthodes automatiques de détection de défauts de pièce. Celles-ci peuvent faire appel à des descripteurs, qui définissent des analyses des niveaux de gris de l'image, pour rechercher des 30 caractéristiques de l'image correspondant à des défauts. Ainsi, ces méthodes utilisent classiquement des descripteurs génériques (ex : US20110182495A1). 3058816 3 On connait aussi des méthodes utilisant des descripteurs conçus manuellement (ex : US 20090066939A1). Cependant, il existe un besoin pour concevoir des descripteurs plus performants permettant d'obtenir de façon automatique des 5 descripteurs, optimaux, spécifiques à une pièce à examiner et aux types de défauts associés. Dans le but d'améliorer la détection et la caractérisation des défauts présents dans une pièce métallique. PRESENTATION DE L'INVENTION 10 L'invention met en oeuvre un contrôle non-destructif, par rayons X générant des images 2D des pièces à inspecter, et par un procédé d'analyse automatique utilisant des méthodes statistiques d'apprentissage profond supervisé. 15 L'invention propose un procédé de contrôle non-destructif d'une pièce métallique pour aéronautique comprenant les étapes suivantes : - E0 : génération d'une image 2D de la pièce métallique à l'aide d'un générateur de rayons X, ladite image 2D correspondant à une projection sur un plan de la pièce, 20 - El : traitement de l'image 2D adapté pour atténuer des artéfacts et/ou variabilités de l'image 2D, - E3 : traitement des pixels de pièce afin de réaliser un pavage de la pièce dans l'image 2D en une pluralité d'imagettes, - E4 : pour au moins une imagette, extraction automatique d'une 25 signature de ladite imagette , déterminant une pluralité de p descripteurs, un descripteur étant le résultat d'une analyse d'image, à partir de descripteurs d'un modèle statistique déterminés préalablement par apprentissage profond supervisé à partir d'une base de données de référence, 30 - E5 : classement automatique de la signature de l'imagette dans un espace p-dimensionnel permettant d'attribuer à ladite imagette, un label représentatif de la présence d'anomalies dans la pièce, l'espace p-dimensionnel et une partition dudit espace étant déterminés au 3058816 4 préalable automatiquement par apprentissage profond supervisé à partir de ladite base de données de référence, ladite base de données de référence comprenant des imagettes de référence auxquelles sont attribuées un label relatif à la présence 5 d'anomalies. L'invention permet de libérer du temps à l'opérateur qui pourra alors réaliser des tâches à plus forte valeur ajoutée. De plus, la subjectivité introduite par les opérateurs, liée à la variabilité intra- et inter-opérateur 10 est supprimée. De plus, le coût financier de l'inspection est diminué. L'invention peut en outre comprendre les caractéristiques suivantes : - l'étape de traitement comprend une segmentation de l'image en pixels 15 de pièce et en pixels de vide, - les signatures sont des vecteurs à p dimensions, p étant le nombre de descripteurs, - les vecteurs ayant un même label définissent une partition de l'espace p-dimensionnel en domaines auxquels on associe ledit label et ladite 20 valeur de label, lesdits domaines étant mémorisés, - l'étape de classement associe un label au vecteur d'une des imagettes lorsque ledit vecteur se trouve dans un domaine associé audit label. - on génère préalablement ladite base de données de référence à partir d'au moins une pièce d'apprentissage, sur laquelle on met en oeuvre les 25 étapes suivantes : - FO : génération de l'image 2D de ladite pièce test à l'aide d'un générateur à rayons X, - F1 : traitement de l'image 2D adapté pour atténuer des artéfacts et/ou variabilités de l'image 2D, 30 - F3 : traitement des pixels de pièce afin de réaliser un pavage de la pièce dans l'image 2D en une pluralité d'imagettes, 3058816 5 - F4 : pour chaque imagette de ladite pluralité d'imagettes, attribution à ladite imagette, d'un label et d'une valeur de label relatif à la présence d'anomalies en fonction d'une inspection visuelle de l'imagette, ladite inspection visuelle 5 ayant pour but de détecter des anomalies au sein de ladite imagette, et stockage de ladite attribution dans la base de données de référence - F5 : pour une pluralité d'imagettes de la base de données, évaluation automatique d'une signature de chaque 10 imagette, par apprentissage profond supervisé à partir de ladite base de données de référence, déterminant une pluralité de descripteurs, - F6 : détermination automatique d'un espace p- dimensionnel et d'une partition dudit espace par 15 apprentissage profond supervisé à partir de ladite base de données de référence, et classement de la signature de l'imagette dans ledit espace p-dimensionnel permettant d'attribuer automatiquement à ladite imagette, un label représentatif 20 de la présence d'anomalies dans la pièce, - F7 : Stockage dudit modèle statistique comprenant ladite pluralité de descripteurs et l'espace p-dimensionnel et une partition dudit espace dans une base de données d'apprentissage. 25 - l'apprentissage profond est mis en oeuvre par une architecture de réseau de neurones convolutionnels comprenant un ensemble de couches de convolution et de sous-échantillonnage pour l'étape d'évaluation automatique de la signature, et au moins une couche de 30 neurones permettant le classement automatique de ladite signature, - chaque imagette de la pièce d'apprentissage est modélisée sous la forme d'un vecteur à p composantes, le vecteur étant positionné dans 3058816 6 l'espace à p dimensions, et chaque imagette possède un label et une valeur de label attribués à l'aide de l'analyse visuelle, - l'étape de pavage est effectuée pour toute l'image, - au moins un label n'a qu'une seule classe, ledit domaine de dimension 5 p étant un domaine fermé, - au moins un label à au moins deux classes, lesdites classes correspondant à une région sans défaut et au moins à une région avec défaut, correspondant à au moins deux domaines de dimension p, qui sont deux domaines et dans lequel une frontière entre ces deux 10 domaines est établie. - le traitement par pavage fait intervenir des zones de recouvrement entre imagettes, afin de minimiser le taux de fuite. L'invention concerne également une unité de calcul, comprenant des 15 moyens de traitement et une mémoire, ladite unité étant configurée pour mettre en oeuvre un procédé selon l'une des caractéristiques précédentes. L'invention concerne également un produit programme d'ordinateur, 20 configuré pour être exécuté par une unité de calcul tel que décrite précédemment et comprenant des instructions de code pour l'exécution d'un procédé selon l'une des caractéristiques précédentes. PRESENTATION DES FIGURES 25 D'autres caractéristiques, buts et avantages de la présente invention apparaîtront à la lecture de la description détaillée qui va suivre et en regard des dessins annexés, donnés à titre d'exemples et non limitatifs et sur lesquels : 30 - La figure 1, déjà présentée, illustre un système d'acquisition d'image 2D par un générateur de rayons X, - La figure 2 illustre certaines étapes d'un mode de réalisation conforme à l'invention, ainsi que les liens entre un procédé de 3058816 7 CND selon l'invention et un procédé de génération de base de données pour mettre en oeuvre un CND, - Les figures 3, 4 et 5A, 5B illustrent les différents dispositifs et produits intervenant dans le cadre de l'invention, 5 - La figure 6 illustre une architecture de réseau de neurones convolutionnels, - La figure 7 illustre un espace p-dimensionnel dans lequel sont positionnés des points formant des domaines, et - La figure 8 illustre la comparaison de performance entre différents 10 types de descripteurs. DESCRIPTION DETAILLEE Le CND peut être appliqué à différentes étapes de fabrication d'une 15 pièce 10 à inspecter. La pièce 10 est en matériau métallique. Les pièces sur lesquelles les procédés décrits peuvent être mis en oeuvre sont destinées préférentiellement à l'aéronautique. Il s'agit d'aube de turbine haute pression par exemple, plus spécifiquement d'aube de moteur M53 (moteur du mirage 2000). 20 La figure 2 représente certaines étapes d'un mode de réalisation de l'invention. Afin de pouvoir effectuer un contrôle non-destructif à l'intérieur de la 25 pièce 10, une étape préliminaire d'acquisition à l'aide d'un système d'imagerie 20, comme un générateur de rayons X, et de moyens de calcul (voir figure 3) est effectuée. Cette étape permet d'obtenir une image 2D de la pièce 10. Cette image est appelée "une projection". Un ensemble de projections 30 est acquis sans bouger. Par exemple, dans un mode de réalisation, le générateur 21 et le détecteur 22 étant fixé, un bras articulé (exemple : robot type du fabricant Kuka C)) vient saisir automatiquement la pièce 3058816 8 10 et la placer entre le générateur 21 et le détecteur 22 à une position définie à l'avance dans une gamme d'acquisitions. Une unité de calcul 30 est prévue pour effectuer les traitements 5 informatiques. Elle comprend des moyens de traitement 31 comme un micro-processeur et une mémoire 32. En référence aux figures 4 et 5A, 5B, le procédé mis en oeuvre pour détecter automatiquement des anomalies nécessite des bases de 10 données (BDD) 40 et 41. BDD 40 et 41 sont stockées sur au moins un serveur 40, et une unité de calcul 50, qui peut être la même unité de calcul que pour l'acquisition de l'image 2D, est utilisée. L'unité de calcul 50 comprend elle aussi des moyens de traitement de données 51 et une mémoire 52. Le serveur 40 peut être cette unité de calcul 50 et les BDD 15 40 et 41 peuvent être stockées dans ladite mémoire 52. Calcul d'un modèle statistique Dans ce qui suit, la pièce 10 est une pièce dite d'apprentissage et sera 20 référencée 11. Cette pièce d'apprentissage 11 va permettre de générer des images de références dans une BDD de référence 40 qui va contribuer à calculer un modèle statistique des images de ladite pièce d'apprentissage 11. 25 Prétraitement de l'image (F1) Avant de mettre en oeuvre les procédés qui seront décrits par la suite, des étapes de prétraitements F1 sont préférablement effectuées pour améliorer la qualité des analyses, suite à l'étape FO d'acquisition de 30 l'image 2D de la pièce d'apprentissage 11. En effet, au cours de cette acquisition, des artéfacts et des variabilités peuvent apparaitre (pixels défectueux, bruit engendré par le flux diffusé, 3058816 9 diffraction...). Des prétraitements peuvent donc être appliqués sur l'image 2D pour supprimer et/ou atténuer ces artéfacts/variabilités. Ainsi, on peut mettre en oeuvre sur l'image 2D un filtrage du bruit de 5 l'image en utilisant, par exemple, un filtre médian, un filtre gaussien (classe des filtres passe bas). L'image 2D peut subir également avantageusement une étape de normalisation pour uniformiser les images 2D afin qu'elles soient toutes 10 comparables. Plusieurs méthodes de normalisation peuvent être utilisées indépendamment ou couplées ensemble : - un recalage des images appliqué aux images afin de les remettre toutes dans un référentiel commun dans le but d'absorber la variabilité de l'acquisition. 15 - Un calcul de la valeur médiane et le MAD (Median Absolute Difference) sur les pixels correspondant à la pièce pour chaque image et figée à des valeurs prédéterminées identiques pour toutes les images. - Un calcul du contraste local : la pièce inspectée n'a pas toujours 20 une épaisseur constante (ce n'est jamais le cas pour une aube). Aussi, le contraste local est calculé pour tous les pixels de l'image (soustraction des basses fréquences de l'image uniformisée) (filtre bilatéral [1], diffusion anisotropique [2], total variation filter [3], Edge-avoiding wavelets [4]). 25 En outre, un masque de la pièce d'apprentissage 11 est généré à partir de l'image 2D, c'est-à-dire qu'une segmentation entre deux classes de pixels, air et matière, est effectuée (étape F2). Cette segmentation peut être réalisée en calculant automatiquement le seuil optimal permettant 30 de séparer les deux classes. Un exemple de méthode consiste à calculer l'histogramme des niveaux de gris de l'image et à maximiser la variance interclasse de cet histogramme afin de définir le seuil qui sépare les pixels de l'air et ceux 3058816 10 de la matière (voir référence [5]). D'autres méthodes de seuillage automatique sont envisageables (voir référence [6]). Cette étape permet de réaliser l'analyse de la pièce uniquement sur des régions d'intérêt, relatives aux zones de matière de la pièce 11. 5 Après traitement, dans une étape F2, l'image 2D de la pièce d'apprentissage 11 elle-même est récupérée par l'unité de traitement pour l'analyse topologique suivante. 10 Étape F3 de pavage L'image 2D est pavée par des boites de taille fixe (pouvant se superposer). La taille des boites ainsi que le pourcentage de superposition (généralement entre 50 et 75%) sont des paramètres qui 15 sont optimisés en fonction des applications. L'image est donc décomposée en un ensemble d'imagettes (patch). Par exemple, la taille du patch pourra être égale à 32x32 pixels (représentant quelques mm2 sur la pièce 11). À l'issue de l'étape de pavage, on obtient ainsi une pluralité d'imagettes 20 I'1,... ,I'n, dont la recombinaison permet de reconstruire l'image. Dans la suite de la description, on suppose que le pavage de l'image est fait à l'aide de n imagettes I'1, ..., I'n, n étant un entier naturel. La superposition permet de diminuer le taux de fuite, ainsi pour éviter 25 de manquer un défaut, le pavage de la pièce 11 fait intervenir des zones de recouvrement entre deux imagettes. Du fait de ce recouvrement, une anomalie qui ne serait pas complètement incluse dans une imagette donnée sera complètement incluse dans une autre imagette positionnée à un emplacement proche. 30 3058816 11 Constitution d'une base de données de référence 40 (F4) On rappelle qu'une pluralité de pièces d'apprentissage 11 est nécessaire pour générer une base de données de référence 40. 5 Cette étape fait intervenir une inspection visuelle de l'image 2D représentant une projection de la pièce d'apprentissage 11. Cette inspection visuelle est effectuée par un opérateur, selon des méthodes connues de l'art antérieur. Néanmoins, toute méthode permettant 10 d'identifier un défaut avec certitude peut être utilisée, qu'elle soit effectuée manuellement ou semi-automatiquement par un opérateur. À la suite de l'inspection visuelle, à chaque imagette I'1, I'n est attribué un label. Comme la pièce, avec ses éventuels défauts, a été 15 inspectée visuellement, la signature va servir de référence. On distingue deux manières de marquer une imagette. Un label Li mono classe, permettant la détection des défauts, est attribué s'il n'est pas possible de trouver des imagettes possédant la 20 classe contraire. Par exemple, s'il n'est pas possible d'identifier d'imagette avec des anomalies, le label Li monoclasse a comme unique valeur possible « sans défaut » (ou « sain »). Un label L2 multi-classe, permettant la détection et la caractérisation des anomalies, est attribué si l'imagette peut être identifiée selon M 25 sous-catégories : oxyde, résidu, surépaisseur, etc. Le label L2 multi- classe le plus élémentaire consiste à attribuer une valeur « sans défaut » (« sain ») ou une valeur « défaut » (« anomalie »). On obtient ainsi un vecteur Y de dimension n, correspondant au nombre d'imagettes, dont chaque composante correspond à la valeur d'un label. 30 La valeur du label peut être avantageusement définie numériquement, c'est-à-dire qu'une imagette sans défaut (« saine ») aura un label L1 ou 3058816 12 L2 égal à 0, et les défauts seront numérotés de 1 à M par exemple, M étant un entier naturel. Ainsi, dans l'espace E p-dimensionnel, chaque vecteur du nuage de 5 vecteurs comprend un label L1 ou L2 avec une valeur attribuée. À titre d'illustration, un vecteur Y peut avoir la forme suivante : [L1=0, L1=0, L2=2, L1=0, L2=M, L2=0, L1=0,..., L2=1], avec n composantes. Cette correspondance entre imagette et label est stockée dans la BDD 10 de référence 40. Pour obtenir une base de données de référence 40 exploitable de façon fiable, elle doit être construite à l'aide d'un grand nombre d'imagettes représentatives de la variabilité des images de la pièce 11 et de la 15 variabilité de la production. Plusieurs pièces 11 sont avantageusement utilisées. Le nombre d'imagettes à insérer dans la BDD 40 doit être important pour avoir une description robuste des signatures d'une région saine et d'une région anormale. 20 Une phase d'équilibrage de la base de données peut éventuellement être réalisée. En effet, il est en général beaucoup plus difficile d'obtenir des échantillons défauts par rapport aux échantillons sains. Aussi, le nombre d'échantillons est très déséquilibré ce qui est préjudiciable lors de l'apprentissage statistique. Pour combler ce déséquilibre et pour 25 améliorer la robustesse de l'apprentissage, des transformations peuvent être ajoutées aux patchs superposant un défaut pour augmenter la représentativité des anomalies. Ainsi, chaque échantillon « défaut » sera boosté (application de petites transformations géométriques réalistes), de la sorte que pour chaque échantillon « défaut », une centaine 30 d'autres échantillons défauts sont générés. Ce boost de la BDD 40 permet d'augmenter la variabilité et ainsi de limiter le sur-apprentissage. 3058816 13 Signature de l'image (étape F5) De chaque imagette I'1, I'n est ensuite calculé automatiquement une signature à partir de la BDD de référence 40. Une signature est un 5 ensemble de valeurs numériques, que l'on définit commodément sous la forme d'un vecteur, auquel on associe un point P. Ces valeurs numériques sont obtenues à l'aide de descripteurs, qui sont par exemple des opérations de convolution appliquées à l'imagette. Les descripteurs constituent des analyses des niveaux de gris NDG de l'imagette. 10 Pour chaque imagette, on dispose préférablement d'une pluralité de descripteurs. On définit p comme le nombre de descripteurs, qui est un entier naturel. Chaque imagette est donc représentable comme un point P dans un 15 espace E p-dimensionnel. Autrement formulé, le vecteur associé à l'imagette est projeté dans cet espace E p-dimensionnel (voir figure 7 détaillée plus loin dans la description). Dans l'étape F5, la signature de l'imagette est obtenue 20 automatiquement par des méthodes statistiques profondes. Ces méthodes permettent d'extraire automatiquement la signature optimale de l'imagette et d'obtenir des descripteurs spécifiques à une application donnée. Les méthodes statistiques profondes peuvent être réalisées par 25 apprentissage supervisé. La figure 6 illustre un exemple d'architecture d'apprentissage profond par un réseau de neurones convolutionnels. La donnée d'entrée du réseau de neurones est une imagette d'une 30 dimension de 32x32 pixels par exemple. Les réseaux de neurones convolutionnels extraient la signature de ladite imagette par une succession de couches de traitement comprenant des 3058816 14 opérations de convolutions (Cl, C2, ..., C6) et facultativement de pooling (P2, P4, P6). Une convolution est une opération mathématique qui permet de modifier 5 l'image initiale par un noyau de convolution en la filtrant. Un noyau de convolution va analyser une caractéristique de l'image d'entrée. Une opération non linéaire est appliquée à chaque étape (à chaque convolution) : sigmoid, relu, tanh, ... permettant d'extraire des caractéristiques visuelles (détection de côté, angle, extrémité ...). 10 Le noyau de convolution peut être par exemple une matrice de taille 3x3. Pour analyser plusieurs caractéristiques, on empile des strates de noyaux de convolution indépendants, chaque strate analysant une caractéristique de l'image. L'ensemble des strates ainsi empilées forme 15 la "couche de traitement convolutif". Le nombre de strates de traitement définit la profondeur de la couche de convolution. L'ensemble des sorties d'une couche de traitement permet de reconstituer une image intermédiaire, qui servira de base à la couche de traitement suivante. 20 Comme illustré en figure 6, la première couche Layerl comprend une couche de convolution comprenant une profondeur de taille 20. Ladite première couche est suivie par une deuxième couche de traitement Layer2 comprenant une seconde couche de convolution C2 par exemple de même profondeur et taille de noyau. La convolution dans ladite 25 seconde couche est suivie par une couche de pooling. Une couche de pooling permet une étape de sous-échantillonnage de l'image, réduisant ainsi la quantité de paramètres et de calcul, permettant de gros gains en puissance de calcul. La couche de pooling permet également une approche multi-échelle, la couche de convolution 30 suivante traitant une plus grande partie de l'image initiale. Il est donc fréquent d'insérer périodiquement une couche de pooling entre deux couches convolutives successives d'une architecture de méthodes statistiques profondes. 3058816 15 Le pooling réduit la taille spatiale d'une image intermédiaire en prenant par exemple la réponse maximale entre les différents pixels (max pooling) par exemple par une méthode "Max-Pool 2x2" (compression d'un facteur 4). 5 On peut utiliser également, du "average pooling" (moyenne), du "L2- norm pooling" ou une fonction de pooling stochastique. Après l'application du pooling "Max-Pool 2x2" dans la couche de pooling P2, la taille des images est donc de 16x16 pixels. Une troisième couche de traitement (layer 3) comprend une couche de 10 convolution C3 de profondeur 50. Une quatrième couche de traitement layer4, comprend une couche de convolution C4 et une couche de pooling P4 qui fait passer la taille de l'image à analyser par exemple a 8x8 pixels. L'architecture peut également comprendre une cinquième et une 15 sixième couche de traitement, layer5 et layer6, d'une profondeur par exemple de taille 100. Pour chaque imagette I'1, I'n de la pièce d'apprentissage 11, on obtient une signature sous forme d'un vecteur à p dimensions. Pour un 20 ensemble d'imagettes I'1, I'n, on obtient un nuage de points P dans l'espace à p dimensions, par projection des vecteurs associés. Par conséquent, on obtient pour la pièce d'apprentissage 11 concernée une matrice X de dimension n par p, dont les coefficients correspondent 25 aux valeurs numériques des descripteurs. Classement de la signature (F6) À la suite des enchaînements de couches de convolution et de pooling, 30 l'architecture comprend au moins une couche "entièrement connectée" FC, qui est une couche de type perceptron. Les neurones dans une couche entièrement connectée ont des connexions vers toutes les 3058816 16 sorties de la couche précédente (comme on le voit régulièrement dans les réseaux réguliers de neurones). Ainsi, dans une étape F6, cette couche permet le classement de la signature d'une imagette et donc d'attribuer un label à l'imagette de 5 ladite signature. Pour permettre le classement des imagettes, on réunit les imagettes de la BDD de référence 40 possédant les mêmes labels afin de déterminer des intervalles de valeurs des descripteurs permettant de caractériser 10 une imagette. Il s'agit de déterminer à l'aide des imagettes possédant les mêmes labels (c'est-à-dire un nuage de points P), des sous-domaines Dl, D2, \D2 de l'espace E p-dimensionnel (voir figure 7 à nouveau). Ces sous-domaines Dl, D2, \D2 peuvent être de dimension p si l'ensemble des 15 descripteurs est pris en compte, ou bien de dimension inférieure, si au moins un descripteur est ignoré. À l'issue de l'étape F6 une partition de l'espace E est générée. La génération de ces domaines Dl, D2, \D2 permet de déterminer quel 20 label et quelle valeur de label accorder à un point placé dans l'espace E p-dimensionnel. S'il s'agit d'un label monoclasse Li, les imagettes sans défaut (« saines ») forment donc un nuage de points P dans l'espace E à p 25 dimensions. On définit ainsi un domaine fermé (voir D1 sur figure 7) à l'intérieur duquel se trouvent tous les points ou une large majorité des points comprenant la même valeur d'un label de type Li. En effet, il est possible de ne pas tenir compte de certains points (valeurs trop éloignées, « erreurs », etc.). 30 Lorsqu'un nouveau vecteur est inséré (nouvelle imagette), la valeur opposée du label monoclasse lui sera attribué s'il est à l'extérieur de la zone définie. 3058816 17 S'il s'agit d'un label multi-classe L2, l'étape de classement revient à définir une frontière de décision entre les signatures des imagettes saines et celle des imagettes anormales. On définit ainsi au moins deux domaines ouverts (voir D2, \D2 sur figure 7), tous (ou quasiment tous) 5 les points comprenant la même valeur d'un label de type L2 étant dans un même domaine. À titre d'exemple, la frontière peut être un hyperplan de l'espace p-dimensionnel (c'est-à-dire un plan de dimension p-1), qui scinde l'espace en deux domaines. Si le label L2 a trois classes, on obtient trois sous-domaines. 10 Détermination du meilleur modèle statistique et stockage (F7) Dans une étape dite de « feed forward » allant de la première couche vers la dernière couche de traitement (layer1 vers FC). On extrait des 15 imagettes présentées au réseau de neurones une signature, ainsi qu'un label prédit. L'étape de « feed forward » permet de prédire un label par l'apprentissage des signatures optimales et de la partition de l'espace p20 dimensionnel. Pour chaque imagette, le label prédit dans l'étape de « feed forward » est comparé au label déterminé par l'opérateur de ladite imagette de la base de données annotée. Si ces derniers diffèrent, on détermine une erreur. L'apprentissage statistique est réalisé par rétropropagation de 25 l'erreur commise. On calcule la dérivée de cette erreur pour déterminer comment changer les poids des noyaux de convolutions des différentes couches de façon à réduire l'erreur. L'erreur est ainsi rétropropagée dans le réseau couche par couche (FC 30 vers layer1), de la dernière vers la première couche pour mettre à jour les poids de chaque couche. L'algorithme d'apprentissage mis en oeuvre pour la rétropropagation est par exemple la méthode de descente de gradient stochastique. 3058816 18 Ce sont donc ces noyaux de convolution qui sont appris lors de l'apprentissage statistique lors de la mise à jour des poids. L'apprentissage statistique permet alors de déterminer : 5 - l'apprentissage de la meilleure signature (descripteurs) des images permettant de discriminer les images saines des images à défauts, - l'apprentissage de la meilleure séparation (frontière de décision) entre les signatures des images saines et des signatures des 10 anomalies d'une pièce, en générant un espace de représentation dans lequel les données peuvent être classées avec une performance maitrisée. Dans une étape F7, les paramètres du modèle statistique obtenus par 15 apprentissage supervisé à partir de la BDD de référence 40 sont stockés dans une base de données d'apprentissage 41. Les paramètres stockés sont par exemple, la meilleure signature (descripteur(s)) de la pièce d'apprentissage 11, et la meilleure frontière de décision entre les signatures des images saines et des signatures des anomalies d'une 20 pièce. Bien entendu, d'autres architectures et d'autres méthodes statistiques profondes peuvent être utilisées par exemple les réseaux de neurones multicouches, les machines de Boltzman multicouches (Deep Belief 25 Network), les stacked auto-encoder. La figure 8 illustre le gain en performances d'un réseau de neurones convolutionnels par rapport à des méthodes classiques utilisant des descripteurs génériques qui peuvent être utilisés pour différentes 30 applications. Une liste non exhaustive de telles méthodes possibles pour calculer lesdits descripteurs génériques est décrite ci-après : 3058816 19 - Histogramme de l'image, où analyse statistique de celui-ci à travers la moyenne, la médiane, le mode, l'écart type, le kurtosis (qui constitue chacun un descripteur), - Descripteurs de Haralick qui caractérise la texture à travers 5 l'organisation spatiale de bi-points, - Descripteurs « Grey Level Run Length Matrix (GLRLM) » qui caractérisent la longueur des zones homogène de la texture de l'image, - Descripteurs « Grey Level Size Zone Matrix (GLSZM) » qui caractérisent la taille des zones homogène de la texture d'une image, 10 - Granulométries : en utilisant un procédé de tamisage, une granulométrie permet de compter les éléments constituant une caractéristique déterminée en les classant par taille, - Filtres de Gabor : une banque de filtres de Gabor permet de faire une analyse en ondelette directionnelle de la texture en regardant 15 l'énergie de la réponse de chaque filtre, - Autocorrélation : Utilisation de l'autocorrélation du volume 3D dans certaines directions privilégiées, - Analyse fréquentielle non directionnelle : à partir de la transformée de Fourier du volume, calcul de l'énergie dans différentes 20 bandes de fréquences, - « Histogram of Oriented Gradient 3D (HOG) » : après avoir calculé l'orientation du gradient pour chaque pixel de l'image, on compte le nombre de pixels ayant une direction similaire. La sphère unitée est alors pavée en différentes zones qui correspondent aux différentes cases 25 de l'histogramme. - Analyse en ondelette/curvelette : analyse temps/fréquence du volume tomographique, on utilise par exemple des ondelettes de Haar, de Daubechies, de Morlet... - Descripteurs binaires : Local Binary Pattern, DAISY, FREAK, 30 BRIEF, BRISK... La ligne des abscisses représente le pourcentage de faux positifs, la ligne des ordonnées le pourcentage de vrai positif. La ligne définit par 3058816 20 les points(x=0, y=0) et (x=1, y=1) représente une décision qui serait prise aléatoirement. Le point parfait que l'on vise dans la figure 4 est le point (x=0, y=1) correspondant à 0% de faux positifs pour 100% de défauts détectés. La 5 courbe (CNN) correspondant à un modèle réseau de neurones convolutionnels est très proche du point visé et offre des performances bien meilleures que celles des méthodes classiques. 10 Exemple de mise en oeuvre d'un procédé d'automatisation du contrôle non-destructif Le procédé est similaire à la génération de la base de données BDD, à l'exception du fait que la base de données est utilisée pour attribuer un 15 label Li, L2 aux imagettes I1, ... In de l'image de la pièce 10. On ne parle plus à présent de signature de référence pour la pièce 10, puisque l'on cherche à caractériser si la pièce est saine ou anormale à l'aide de ces signatures. 20 Les mêmes étapes E0, El, E2, et E3 correspondant aux étapes FO, Fi, F2, et F3 sont effectuées. Dans une étape E4, par l'application du modèle statistique et plus particulièrement de ses descripteurs stockés dans la BDD 25 d'apprentissage 41 on obtient une signature. Une fois la signature obtenue, dans une étape E5, au lieu de lui attribuer un label par inspection visuelle, et la stocker (étape F4), cette signature est projetée dans l'espace E p-dimensionnel du modèle statistique de la BDD d'apprentissage 41. En d'autres termes, chaque vecteur associé à 30 une image I1, ..., In est projeté dans l'espace p-dimensionnel, de façon à positionner ladite imagette dans ledit espace E, et à classer ladite imagette. Ensuite, du fait de l'application du modèle statistique et de la partition de l'espace E, le placement du point P correspondant au 3058816 21 vecteur permet de lui attribuer automatiquement la valeur d'un label L1, L2. Plus précisément, le point P correspondant à une des imagettes I1, ..., In 5 est positionnée dans l'espace E p-dimensionnel. À partir de ce positionnement, on détermine dans quel domaine D1, D2, \D2 prédéterminé de la BDD d'apprentissage 41 appartient ce vecteur, ce qui permet d'attribuer à l'imagette la valeur du label qui caractérise ledit domaine. 10 En positionnant tous les vecteurs des imagettes I1, ..., In constituant l'image de la pièce 10, l'ensemble des signatures déterminées par la méthode d'apprentissage statistique supervisé a permis de générer une partition de l'espace E, qui à son tour permet de générer un vecteur Y, dit de prédiction, tel que défini précédemment, regroupant toutes les 15 valeurs des labels. Il suffit qu'une seule coordonnée de ce vecteur Y, c'est-à-dire une valeur d'un label, corresponde à une imagette avec défaut pour que la pièce 10 ne soit pas considérée comme sans défaut. Les critères de tolérance peuvent néanmoins être fixés en fonction d'un cahier des charges. 20 Si le domaine est défini par une frontière, on calcule la distance algébrique à cette frontière pour déterminer le label. S'il peut arriver que le point tombe trop près d'une frontière, il est aussi possible de déplacer artificiellement la frontière, notamment dans le but de réduire 25 le taux de fuites : il est en effet préférable de faussement détecter une anomalie que de la manquer. Par exemple, si l'imagette est éloignée d'un label L1 correspondant à une pièce sans défaut, on pourra déduire que l'imagette correspond à 30 une pièce non-saine. Afin de permettre une compatibilité entre la BDD de référence 40 et le procédé de CND automatique, la taille des boites de pavage de l'étape 3058816 22 de pavage E3 a des dimensions identiques à celui de l'étape F3. De la sorte, toutes les imagettes utilisées ont les mêmes dimensions. Dans une étape facultative, une cartographie des défauts présents dans 5 l'image de la pièce 10 est générée. Si besoin, une inspection visuelle, appelée consolidation, est effectuée par un opérateur pour valider la détection. En outre, suite à cette inspection visuelle, les données générées par le procédé peuvent venir compléter la base de données, de sorte que la 10 BDD de référence 40 s'enrichit à mesure que les pièces sont analysées. Préférablement, ces données ne complètent la base de données que si un écart entre le résultat obtenu et la consolidation est observé. Ainsi, la pièce 10 devient une pièce d'apprentissage 11. 15 3058816 23 Références [1] Carlo Tomasi and Roberto Manduchi, "Bilateral filtering for gray and 5 color images," in Computer Vision, 1998. Sixth International Conference on . IEEE, 1998, pp. 839- 846. [2] Pietro Perona and Jitendra Malik (November 1987). "Scale-space and edge detection using anisotropic diffusion". Proceedings of IEEE 10 Computer Society Workshop on Computer Vision,. pp. 16-22. [3] Rudin, L. I.; Osher, S.; Fatemi, E. (1992). "Nonlinear total variation based noise removal algorithms". Physica D 60: 259-268. 15 [4] Raanan Fattal Edge-avoiding wavelets and their applications, ACM Trans. Graph, 28, 3, 2009. [5] K Dabov, A Foi, V Katkovnik Image and video denoising by sparse 3D transform-domain collaborative filtering. [6] Nobuyuki Otsu, « A threshold selection method from gray-level histograms », IEEE Trans. Sys., Man., Cyber., vol. 9, 1979, p. 62-66 (DOI 10.1109/TSMC.1979.4310076). 20 25 REVENDICATIONS1. Procédé de contrôle non-destructif d'une pièce métallique (10) pour aéronautique comprenant les étapes su[vantes : - (E0) génération d'une image 2D de la pièce métallique (10) à l'aide d'un générateur de rayons X (20), ladite image 2D correspondant à une projection sur un plan de la pièce (10), - (El) traitement de l'image 2D adapté pour atténuer des artéfacts et/ou variabilités de l'image 2D, - (E3) traitement des pixels de pièce afin de réaliser un pavage de la pièce dans l'image 2D en une pluralité d'imagettes (I1, ..., In), (E4) pour au moins une imagette, extraction automatique d'une signature de ladite imagette, déterminant une pluralité de p descripteurs, un descripteur étant le résultat d'une analyse d'image, à partir de descripteurs d'un modèle statistique déterminés préalablement par apprentissage profond supervisé à partir d'une base de données de référence (40), - (E5) classement automatique de la signature de l'imagette (I1, In) dans un espace (E) p-dimensionnel permettant d'attribuer à ladite imagette, un label représentatif de la présence d'anomalies dans la pièce (L1, L2), l'espace (E) p-dimensionnel et une partition dudit espace étant déterminés au préalable automatiquement par apprentissage profond supervisé à partir de ladite base de données de référence (40), ladite base de données de référence (40) comprenant des imagettes de référence auxquelles sont attribuées un label (L1, L2) relatif à la présence d'anomalies. 2. Procédé de contrôle non-destructif d'une pièce métallique (10) selon la revendication précédente, dans lequel l'étape de traitement comprend une segmentation de l'image en pixels de pièce et en pixels de vide. 3058816 25 3. Procédé selon la revendication 1 ou 2, dans lequel : - les signatures sont des vecteurs à p dimensions, p étant le nombre de descripteurs, les vecteurs ayant un même label (L1, L2) définissent une 5 partition de l'espace (E) p-dimensionnel en domaines (D) auxquels on associe ledit label et ladite valeur de label, lesdits domaines étant mémorisés, - l'étape de classement (E5) associe un label au vecteur d'une des imagettes (I1, ..., In) lorsque ledit vecteur se trouve dans un 10 domaine associé audit label. 4. Procédé selon l'une des revendications précédentes, dans lequel on génère préalablement ladite base de données de référence (40) à partir d'au moins une pièce d'apprentissage (11), sur laquelle on met 15 en oeuvre les étapes suivantes : (FO) génération de l'image 2D de ladite pièce test (11) à l'aide d'un générateur à rayons X (20), (F1) traitement de l'image 2D adapté pour atténuer des artéfacts et/ou variabilités de l'image 2D, 20 - (F3) traitement des pixels de pièce afin de réaliser un pavage de la pièce dans l'image 2D en une pluralité d'imagettes (I1, ..., In), - (F4) pour chaque imagette de ladite pluralité d'imagettes (I1, In), attribution à ladite imagette d'un label (L1, L2) et d'une valeur de label relatif à la présence d'anomalies en fonction d'une 25 inspection visuelle de l'imagette (1'1, I'n), ladite inspection visuelle ayant pour but de détecter des anomalies au sein de ladite imagette, et stockage de ladite attribution dans la base de données de référence (40). 30 5. Procédé selon la revendication précédente, dans lequel on génère préalablement lesdits descripteurs dudit modèle statistique à partir 3058816 26 de la base de données de référence (40), sur laquelle on met en oeuvre les étapes suivantes : (F5) pour une pluralité d'imagettes de la base de données (40), évaluation automatique d'une signature de chaque imagette (I'l, 5 I'n), par apprentissage profond supervisé à partir de ladite base de données de référence (40), déterminant une pluralité (p) de descripteurs, (F6) détermination automatique d'un espace (E) p-dimensionnel et d'une partition dudit espace par apprentissage profond 10 supervisé à partir de ladite base de données de référence (40), et classement de la signature de l'imagette (I1, ..., In) dans ledit espace (E) p-dimensionnel permettant d'attribuer automatiquement à ladite imagette, un label représentatif de la présence d'anomalies dans la pièce (L1, L2), 15 (F7) Stockage dudit modèle statistique comprenant ladite pluralité de descripteurs et l'espace (E) p-dimensionnel et une partition dudit espace dans une base de données d'apprentissage (41). 6. Procédé selon la revendication précédente, dans lequel : 20 chaque imagette (I'1,..., I'n) de la pièce d'apprentissage (11) est modélisée sous la forme d'un vecteur à p composantes, le vecteur étant positionné dans l'espace à p dimensions, et chaque imagette (I'1, I'n) possède un label (L1, L2) et une valeur de label attribués à l'aide de l'analyse visuelle. 25 7. Procédé selon l'une des revendications précédentes, dans lequel l'apprentissage profond est mis en oeuvre par une architecture de réseau de neurones convolutionnels comprenant un ensemble de couches de convolution et de sous-échantillonnage pour l'étape 30 d'évaluation automatique de la signature, et au moins une couche de neurones permettant le classement automatique de ladite signature. 3058816 27 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'étape de pavage (E3, F3) est effectuée pour toute l'image. 9. Procédé selon l'une quelconque des revendications précédentes, dans 5 lequel au moins un label (L1) n'a qu'une seule classe, ledit domaine de dimension p étant un domaine fermé (D1). 10.Procédé selon l'une quelconque des revendications précédentes, dans lequel au moins un label (L2) à au moins deux classes (M), lesdites 10 classes (M) correspondant à une région sans défaut et au moins à une région avec défaut, correspondant à au moins deux domaines ouverts (D2, \D2) de dimension p, qui sont deux domaines (D2, \D2) et dans lequel une frontière entre ces deux domaines est établie. 15 11.Procédé selon l'une quelconque des revendications précédentes, dans lequel le traitement par pavage (E3, F3) fait intervenir des zones de recouvrement entre imagettes (I1, ..., In, I'1, I'n), afin de minimiser le taux de fuite. 20 12.Produit programme d'ordinateur, destiné à être exécuté par des moyens de traitement d'une unité de calcul, ladite unité de calcul comprenant en outre une mémoire, et comprenant des instructions de code pour l'exécution d'un procédé selon l'une des revendications précédentes. 25