Brevet FR3162093A1 — publié le 20251114

La présente invention concerne un procédé et un dispositif de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule. A cet effet, une image de test est augmentée pour obtenir une première image fortement augmentée (101) et une deuxième image faiblement augmentée (102). Des images de contours (103, 104) sont générées pour la première image fortement augmentée (101) et la deuxième image faiblement augmentée (102). Des représentations vectorielles (111, 112, 121, 122) de caractéristiques de chacune des images augmentées (101, 102) et de chacune des images de contours (103, 104) sont déterminées par un premier encodeur (11) et un deuxième encodeur (12). Les paramètres du modèle de classification sont mis à jour par minimisation d’au moins une fonction de perte incluant une perte contrastive à partir des représentations vectorielles (111, 112, 121, 122). Figure pour l’abrégé : Figure 1 Procédé et dispositif de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule L’invention concerne les procédés et dispositifs de contrôle d’un système d’aide à la conduite, dit système ADAS, d’un véhicule. L’invention concerne également un procédé et un dispositif de généralisation d’un modèle de classification d’image pour un système d’aide à la conduite d’un véhicule. Arrière-plan technologique Les véhicules contemporains embarquent un nombre de plus en plus important de systèmes embarqués qui participent au contrôle du véhicule en assistant le conducteur et/ou au confort du conducteur et des passagers du véhicule. Certains de ces systèmes sont connus sous l’appellation système ADAS (de l’anglais « Advanced Driver-Assistance System » ou en français « Système d’aide à la conduite avancé »). Certains systèmes ADAS actuels utilisent des réseaux de neurones pour classifier des images de situations routières capturées par un dispositif d’imagerie embarqué d’un véhicule, le contrôle du système ADAS étant alors fonction d’un résultat de la classification de la ou les images acquises. De tels réseaux de neurones sont particulièrement adaptés à la prise de décision pour le contrôle d’un véhicule circulant selon un mode autonome, c’est-à-dire pour contrôler des systèmes de conduite autonome, dits systèmes AD (de l’anglais « Automatic Driving »). Dans les systèmes ADAS et AD modernes, des réseaux de neurones dits profonds sont habituellement utilisés et entrainés sur des dizaines voire des centaines de millions d'images, par exemple tirées de situations routières pertinentes rencontrées dans la vie réelle et pour lesquelles la vérité terrain est connue. On peut notamment citer les réseaux de neurones profonds EfficientNet-v2 (M.Tan, Q. Le, “EfficientNetV2: Smaller Models and Faster Training”, Proceedings of the 38th International Conference on Machine Learning, PMLR 132:10026-10106, 2021) et MobileNet-v2 [M. Sandler, A. Howard, M. Zhu, A. Zhmoginov, and L. C. Chen, “MobileNetV2: Inverted Residuals and Linear Bottlenecks,” Proc. IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recognit., pp. 4510–4520, 2018] pour la classification d’images de situations routières. Les performances des réseaux de neurones dépendent fortement de la façon dont une image d'entrée est liée à la distribution des images utilisées pour l’entrainement de ces réseaux de neurones. Lorsque les statistiques d’une image d’entrée se trouvent à l’intérieur de la distribution résultant des images utilisées pour l’entrainement de réseaux de neurones, c’est-à-dire que l’image d’entrée est identique à une image utilisée pour l’entrainement ou à une image interpolée à partir d’une image utilisée pour l’entrainement (on parle alors de capacité de généralisation des réseaux de neurones), les réseaux de neurones affichent généralement de bonnes performances de classification. Par contre, lorsque l'image d’entrée est OOD (de l’anglais « Out Of Distribution » ou en français « en dehors de la distribution ») des images utilisées pour l’entrainement, ces réseaux de neurones extrapolent une réponse de classification avec une faible précision. Pour valider un modèle appris dans une phase d’apprentissage préalable, il est connu de tester ce modèle dans une phase dite de test pour vérifier que le modèle réagit selon des attendus déterminés, avant d’utiliser le modèle en phase de production ou d’inférence dans des véhicules en circulation. La phase de test est utilisée pour généraliser le modèle à plusieurs domaines qui peuvent être différents du domaine pour lequel le modèle a été appris. Par exemple, un modèle de prédiction appris avec des images d’environnement urbain de jour (avec des images d’apprentissages correspondantes) nécessite d’être généralisé aux environnements urbains de jour comme de nuit, dans différentes conditions météorologiques, pour pouvoir être utilisé en phase de production, un véhicule embarquant un tel modèle étant amené à circuler dans toutes les conditions, et pas seulement de jour. Les solutions actuelles pour résoudre le problème de généralisation ODD utilisent soit plusieurs réseaux de neurones qui supposent plusieurs distributions de données d’entrainement, soit un seul réseau de neurones entrainé à partir de plusieurs distributions de données d'entrainement pertinentes pour un ensemble de situations routières particulières. Ces solutions ne sont pas satisfaisantes car elles requièrent l’entrainement et l’utilisation de plusieurs réseaux de neurones et/ou de plusieurs distributions de données d’entrainement. De plus, il pourra toujours se produire des situations routières réelles qui ne correspondront pas aux situations routières correspondantes aux distributions de données d’entrainement. Résumé de la présente invention Un objet de la présente invention est de résoudre au moins l’un des problèmes de l’arrière-plan technologique décrit précédemment. Un autre objet de la présente invention est d’améliorer les performances d’un réseau de neurones, par exemple profond, utilisé pour classifier des images de situations routières. Un autre objet de la présente invention est d’améliorer la sécurité routière. Selon un premier aspect, la présente invention concerne un procédé de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule, un ensemble de paramètres du modèle de classification ayant été appris dans une phase préalable d’apprentissage, le procédé étant mis en œuvre par au moins un processeur et comprenant les étapes suivantes : - pour chaque image de test d’au moins une partie d’un ensemble d’images de test, augmentation de l’image de test selon un premier ensemble d’opérations d’augmentation pour obtenir une première image augmentée et augmentation de l’image de test selon un deuxième ensemble d’opérations d’augmentation pour obtenir une deuxième image augmentée, l’augmentation associée à la première image étant plus forte que l’augmentation associée à la deuxième image ; - détection de contours dans la première image augmentée pour générer une première image de contours correspondant à la première image augmentée ; - détection de contours dans la deuxième image augmentée pour générer une deuxième image de contours correspondant à la deuxième image augmentée ; - détermination d’une première représentation vectorielle de caractéristiques de la première image augmentée et d’une deuxième représentation vectorielle de caractéristiques de la première image de contours par un encodeur de base du modèle de classification recevant en entrée la première image augmentée et la première image de contours ; - détermination d’une troisième représentation vectorielle de caractéristiques de la deuxième image augmentée et d’une quatrième représentation vectorielle de caractéristiques de la deuxième image de contours par un encodeur dynamique du modèle de classification recevant en entrée la deuxième image augmentée et la deuxième image de contours ; - mise à jour de l’ensemble de paramètres du modèle de classification par minimisation d’un ensemble de fonctions de perte comprenant au moins une fonction de perte fonction d’au moins une partie des première, deuxième, troisième et quatrième représentations vectorielles ; - chargement de l’ensemble de paramètres mis à jour dans une mémoire d’un calculateur du véhicule. L’utilisation d’images augmentées d’un ensemble d’images de test et d’images de contours obtenues de ces images augmentées pour affiner les paramètres du modèle de classification permet d’apporter de la variété dans les données utilisées pour mettre à jour les paramètres du modèle appris préalablement dans une phase d’apprentissage du modèle. Cela permet d’étendre l’apprentissage du modèle à plusieurs domaines pour pouvoir utiliser le modèle dans un véhicule dans des conditions réelles de circulation, ce qui permet au véhicule de faire face à une variété de situations particulières non apprises dans l’apprentissage préalable. Selon une variante, l’ensemble de fonctions de perte comprend une première fonction de perte correspondant à une fonction de perte contrastive, la perte contrastive étant déterminée par analyse de similitude entre la première représentation vectorielle et la troisième représentation vectorielle. Selon une autre variante, un ensemble de paramètres de l’encodeur de base est mis à jour par minimisation de la fonction de perte contrastive. Selon encore une variante, l’ensemble de fonctions de perte comprend une deuxième fonction de perte déterminée par analyse de similitude entre la première représentation vectorielle et la deuxième représentation vectorielle et une troisième fonction de perte déterminée par analyse de similitude entre la troisième représentation vectorielle et la quatrième représentation vectorielle, l’ensemble de paramètres de l’encodeur de base étant en outre mis à jour par minimisation de la deuxième fonction de perte et un ensemble de paramètres de l’encodeur dynamique étant mis à jour par minimisation de la troisième fonction de perte. Selon une variante supplémentaire, le premier ensemble d’opérations d’augmentation est sélectionné dans une librairie d’opérations d’augmentation selon une stratégie d’augmentation apprise dans une phase d’apprentissage renforcée, et le deuxième ensemble d’opérations d’augmentation correspond à une opération de retournement horizontal et une opération de translation horizontal et vertical appliquées à l’image de test. Selon encore une variante, le modèle de classification est mis en œuvre par un réseau de neurones profond. Selon une variante additionnelle, le procédé comprend en outre les étapes suivantes : - réception de données d’image d’au moins une image d’un environnement routier devant le véhicule selon un sens de circulation du véhicule acquise par une caméra embarquée dans le véhicule ; - classification des données d’image par le modèle de classification embarqué dans le véhicule ; et - contrôle du système d’aide à la conduite en fonction d’un résultat de la classification. Selon un deuxième aspect, la présente invention concerne un dispositif de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule, le dispositif comprenant une mémoire associée à un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de la présente invention. Selon un troisième aspect, la présente invention concerne un véhicule, par exemple de type automobile, comprenant un dispositif tel que décrit ci-dessus selon le deuxième aspect de la présente invention ou un système tel que décrit ci-dessus selon le troisième aspect de la présente invention. Selon un quatrième aspect, la présente invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de la présente invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur. Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code de test, d’un code objet, ou d’un code intermédiaire entre un code de test et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable. Selon un cinquième aspect, la présente invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de la présente invention. D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur. D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon la présente invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des figures D’autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation particuliers et non limitatifs de la présente invention ci-après, en référence aux figures 1 à 3 annexées, sur lesquelles : FIG. 1 illustre schématiquement un environnement de généralisation d’un modèle de classification appris dans une phase d’apprentissage, selon un exemple de réalisation particulier de la présente invention ; FIG. 2 illustre un dispositif configuré pour généraliser un modèle de classification d’image pour système d’aide à la conduite d’un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. [Fig. 3 illustre un organigramme des différentes étapes d’un procédé de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. Description des exemples de réalisation Un procédé et un dispositif de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 3. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre. Les termes « premier(s) », « deuxième(s) » (ou « première(s) », « deuxième(s) »), etc. sont utilisés dans ce document par convention arbitraire pour permettre d’identifier et de distinguer différents éléments (tels que des opérations, des moyens, etc.) mis en œuvre dans les modes de réalisation décrits ci-après. De tels éléments peuvent être distincts ou correspondre à un seul et unique élément, selon le mode de réalisation. La FIG. 1 illustre schématiquement un processus 1 de généralisation d’un modèle de prédiction (ou de classification) appris pour un domaine à plusieurs domaines, selon des exemples de réalisation particuliers et non limitatifs de la présente invention. Un tel processus est avantageusement mis en œuvre pendant une phase de test du modèle, la phase de test étant postérieure à la phase d’apprentissage. La phase de test est basée sur un ensemble d’images de tests, les images de test étant non labélisées ou non étiquetées (un label ou une étiquette étant appelée « label » en anglais), c’est-à-dire que les images ne sont pas associées à des classes. La phase de test comprend un ensemble d’opérations ayant pour objectif de généraliser le modèle de classification (aussi appelé modèle d’apprentissage) appris pour un domaine d’utilisation particulier (ou pour un contexte d’utilisation particulier) à plusieurs domaines ou contextes pour pouvoir utiliser ce modèle de classification en production dans un véhicule, par exemple un véhicule autonome ou semi-autonome. La généralisation du modèle de classification met en œuvre les principes de l’apprentissage auto-supervisé (de l’anglais « self-supervised learning ») et plus particulièrement les principes de l’apprentissage contrasté (de l’anglais « contrastive learning ») selon un exemple de réalisation particulier. De tels principes sont décrits avec plus de détails ci-après. Le modèle de classification est avantageusement mis en œuvre sous la forme d’un réseau de neurones (de l’anglais « neural network »), par exemple un réseau de neurones profond (de l’anglais « deep neural network »). Le modèle de classification est aussi appelé modèle d’apprentissage ou modèle d’apprentissage profond lorsqu’il utilise des réseaux de neurones artificiels. Le modèle d’apprentissage met en œuvre un encodeur (ou extracteur de caractéristiques) configuré pour coder automatiquement une image et extraire de cette image un ensemble de caractéristiques qui seront fournies en entrée du classificateur du modèle d’apprentissage pour classifier l’image (c’est-à-dire lui associer une ou plusieurs classes (ou étiquettes)). Un encodeur se compose par exemple de plusieurs couches du réseau de neurones ordonnées de façon séquentielles. Une image contient plusieurs caractéristiques. Un objectif de l'encodeur consiste à extraire uniquement les caractéristiques essentielles, en faisant abstraction du bruit, et à convertir ces caractéristiques en une représentation vectorielle. Cette représentation codée de l'image peut être projetée dans un espace n-dimensionnel ou latent, selon la taille du vecteur. Par conséquent, pour chaque image, l'encodeur génère un vecteur représentant l'image dans cet espace latent. Le principe sous-jacent est de s'assurer que les vecteurs d'images de la même classe peuvent être regroupés dans cet espace latent. Les encodeurs sont entraînés pour améliorer leur représentation d'images afin de pouvoir coder des caractéristiques plus riches des images dans des vecteurs qui aideront à distinguer ces vecteurs dans l'espace latent. Les vecteurs générés par les encodeurs peuvent être utilisés pour traiter de multiples tâches, telles que la classification d'images et la détection d'objets. Les couches du réseau de neurones dans l'encodeur correspondent par exemple à des couches d'un réseau neuronal convolutif. Selon un autre exemple, les couches du réseau de neurones correspondent à des couches de réseau attentionnel dans leur architecture. De tels encodeurs sont appelés transformateurs (de l’anglais « transformer »). Les vecteurs peuvent être transmis à des modèles de classification, qui peuvent être une série de couches de réseau de neurones ou des modèles basés sur le regroupement, tels que le classificateur k plus proches voisins. Le processus de généralisation du modèle d’apprentissage est décrit ci-après en référence à une image de test 100 fournie en entrée du processus de généralisation. Dans une première opération du processus, un premier ensemble d’opérations d’augmentation est appliquée à l’image 100 pour obtenir une première image augmentée 101 et un deuxième ensemble d’opérations d’augmentation est appliquée à l’image 100 pour obtenir une deuxième image augmentée 102. La première image augmentée 101 est ainsi générée ou obtenue en appliquant une première stratégie d’augmentation à l’image de test 100 et la deuxième image augmentée 102 est ainsi générée ou obtenue en appliquant une deuxième stratégie d’augmentation à l’image de test 100, la première stratégie d’augmentation étant différente de la deuxième stratégie d’augmentation. Chaque ensemble d’opérations d’augmentation comprend une ou plusieurs opérations. La première image augmentée 101 correspond à une image dite fortement augmentée et la deuxième image augmentée 102 correspond à une image dite faiblement augmentée. L’augmentation appliquée à l’image de test 100 pour obtenir la première image augmentée 101 est ainsi plus forte ou plus importante que l’augmentation appliquée à l’image de test 100 pour obtenir la deuxième image augmentée 102. Ainsi, une image faiblement augmentée est plus proche de l’image de test dont elle est issue qu’une image fortement augmentée de cette même image de test. Une image faiblement augmentée d’une image de test possède plus de caractéristiques communes ou proches de l’image de test qu’une image fortement augmentée qui s’en différencie plus. La ou les opérations d’augmentation appliquées à l’image 100 pour obtenir la première image augmentée 101 et la deuxième image augmentée 102 appartiennent à un ensemble d’opérations ou de transformations comprenant par exemple : - un retournement (de l’anglais « flip ») horizontal et/ou vertical ; - une translation (de l’anglais « shift ») horizontal et/ou vertical ; - une rotation ; - une mise à l’échelle (de l’anglais « scale ») vers l’extérieur (de l’anglais « outward ») ou vers l’intérieur (de l’anglais « inward ») ; - un recadrage de l’image (de l’anglais « crop ») ; - ajout d’un bruit gaussien ; - un changement de luminosité ; - inversion des couleurs ; - égalisation de l’histogramme de l’image ; - etc. Le type de la ou les opérations d’augmentations appliquées à l’image de test 100 pour obtenir la première image augmentée 101 est/sont différents ou identiques au type de la ou les opérations d’augmentations appliquées à l’image de test 100 pour obtenir la deuxième image augmentée 102. Selon un exemple de réalisation particulier, la première image augmentée 101 (c’est-à-dire l’image fortement augmentée) est obtenue en appliquant un ensemble de distorsions à l’image de test dont l’amplitude est sélectionnée aléatoirement dans un intervalle prédéfini, pour chaque distorsion appliquée. Selon une variante, les transformations appliquées à l’image de test pour obtenir la première image augmentée sont sélectionnées dans une librairie selon une stratégie d’augmentation apprise dans une phase d’apprentissage renforcée, tel que décrit dans l’article « FixMatch : Simplifying Semi-Supervised Learning with Consistency and Confidence », de Kihyuk Sohn et David Berthelot, publié en 2020 lors de la conférence NeurIPS à Vancouver au Canada. La deuxième image augmentée 102 (c’est-à-dire l’image faiblement augmentée) est par exemple obtenue en appliquant une stratégie d’augmentation de type retournement horizontal et translation horizontal et vertical (avec un maximum de 12,5 %). Dans une deuxième opération du processus, une détection des bords et contours est mise en œuvre sur la première image augmentée 101 et sur la deuxième image augmentée 102. La détection des bords et contours pour la première image augmentée 101 et la deuxième image augmentée 102 est obtenue selon toute méthode connue de l’homme du métier. L’image de contours correspondant à la première image augmentée 101 et obtenue en appliquant un algorithme de détection des contours aux données de la première image augmentée 101 est dite première image de contours 103. De la même manière, l’image de contours correspondant à la deuxième image augmentée 102 et obtenue en appliquant un algorithme de détection des contours aux données de la deuxième image augmentée 102 est dite deuxième image de contours 104. Selon un exemple de réalisation particulier, la détection des contours appliquée à la première image augmentée 101 et la deuxième image augmentée 102 est obtenue en fournissant la première image augmentée 101 et la deuxième image augmentée 102 en entrée d’un modèle d’apprentissage profond, tel que décrit dans l’article « Holistically-Nested Edge Detection », de Saining Xie et Zhuowen Tu, publié le 4 octobre 2015. Dans une troisième opération du processus, la première image augmentée 101 et la première image de contours 103 correspondant à la première image augmentée 101 (c’est-à-dire les données représentatives de ces images 101, 103, par exemple des données associées à chaque pixel de ces images 101, 103) sont fournies en entrée du modèle d’apprentissage appris préalablement, et plus spécifiquement à un premier encodeur 11 de ce modèle d’apprentissage. De la même manière, la deuxième image augmentée 102 et la deuxième image de contours 104 correspondant à la deuxième image augmentée 102 (c’est-à-dire les données représentatives de ces images 102, 104, par exemple des données associées à chaque pixel de ces images 102, 104) sont fournies en entrée du modèle d’apprentissage appris préalablement, et plus spécifiquement à un deuxième encodeur 12 de ce modèle d’apprentissage. Le premier encodeur 11 et le deuxième encodeur 12 partagent par exemple la même architecture (par exemple ResNet-50 pour les 2 encodeurs), un tel exemple de réalisation correspondant à une architecture dite de réseau siamois. Le premier encodeur 11 fournit en sortie une représentation vectorielle 111 pour la première image augmentée 101 et une représentation vectorielle 112 pour la première image de contours 103. Le deuxième encodeur 12 fournit en sortie une représentation vectorielle pour la deuxième image augmentée 102 et une représentation vectorielle 122 pour la deuxième image de contours 104. Dans une quatrième opération du processus, une mesure de similarité et un calcul de perte 130 associée sont mis en œuvre à partir de la représentation vectorielle 111 de la première image augmentée 101 et de la représentation vectorielle 121 de la deuxième image augmentée 102. La perte calculée 130 est utilisée pour mettre à jour les poids du premier encodeur 11 et les poids du deuxième encodeur 12, par exemple selon un processus connu sous le nom de « distillation des connaissances ». La distillation des connaissances correspond à un format d'entraînement étudiant-enseignant. L'encodeur étudiant (par exemple premier encodeur 11) est entraîné en ligne et subit une propagation vers l'avant et vers l'arrière, tandis que les poids de l'encodeur enseignant (par exemple le deuxième encodeur 12) sont mis à jour à intervalles réguliers à l'aide de poids stables de l'étudiant avec des techniques telles que la moyenne mobile exponentielle. Un apprentissage contrasté (aussi appelé apprentissage contrastif) du modèle d’apprentissage est par exemple mis en œuvre sur la base de la première image augmentée 101 et de la deuxième image augmentée 102, une telle méthode utilisant la perte contrastive 130 pour entraîner les encodeurs dans un réseau siamois avec distillation des connaissances. Dans un apprentissage contrasté, des paires d’images positives et des paires d’images négatives sont utilisées pour l’apprentissage. Une paire positive est par exemple une paire d’images augmentées telles que la première image augmentée 101 et la deuxième image augmentée 102. Une paire négative serait formée de l’image de test 100 et d’une image appartenant à une classe différente de celle de l’image de test 100. La fonction sous-jacente d’une méthode d'apprentissage contrasté est d'aider les encodeurs à générer des vecteurs (ou représentations vectorielles) de sorte que les vecteurs des paires positives soient plus proches les uns des autres et que ceux des paires négatives soient plus éloignés les uns des autres dans l'espace latent. La fonction de perte contrastive est généralement définie comme une perte basée sur la marge, où la similarité entre les instances (images) est mesurée à l'aide d'une métrique de distance, telle que la distance euclidienne ou la similarité cosinus. La perte contrastive est calculée en pénalisant les échantillons positifs pour leur éloignement et les échantillons négatifs pour leur proximité dans l'espace d'intégration Selon une variante, la fonction de perte mise en œuvre correspond à la perte dite InfoNCE (de l’anglais « Information Noise Contrastive Estimation » ou en français « Estimation contrastive de l’information de bruit »). La perte InfoNCE est dérivée de l’architecture de l'estimation contrastive du bruit. Elle mesure la similarité entre les paires positives et négatives dans l'espace d'intégration appris. La perte InfoNCE maximise la concordance entre les paires positives et minimise la concordance entre les paires négatives. L'idée principale derrière la perte InfoNCE est de traiter le problème de l'apprentissage contrastif comme un classificateur binaire. Étant donné une paire positive et un ensemble de paires négatives, le modèle est entraîné à discriminer entre les instances positives et négatives. La similarité entre les instances est mesurée à l'aide d'une approche probabiliste, telle que la fonction softmax. Une méthode d’apprentissage contrasté est par exemple décrite dans l’article « Contrastive Learning with Stronger Augmentations », de Xiao Wang et Guo-Jun Qi, publié en avril 2021 dans « IEEE Transactions on pattern analysis and machine intelligence ». Selon un exemple de réalisation particulier, l’apprentissage contrasté est selon la méthode dite de contraste dynamique (de l’anglais « momentum contrast »), une telle méthode étant décrite dans l’article « Momentum Contrast for Unsupervised Visual Representation Learning », de Kaiming He et al., publié le 23 mars 2020. Selon cet exemple particulier, le premier encodeur 11 correspond à un encodeur de base, aussi appelé encodeur de requête (de l’anglais « query encoder »), c’est-à-dire l’encodeur étudiant, alors que le deuxième encodeur 12 correspond à un encodeur dit dynamique (de l’anglais « momentum encoder »), c’est-à-dire l’encodeur enseignant. L’encodeur dynamique 12 est un réseau de neurones de même architecture que l’encodeur de requête, noté fθ, mais dont les poids sont obtenus en faisant la moyenne glissante exponentielle des différentes versions de fθ au cours de l’entraînement, soit : avec θ un poids du premier encodeur 11, ξ un poids du deuxième encodeur 12 (« momentum encoder ») et τ est un coefficient dynamique (ou « momentum ») compris entre 0 et 1. Selon cet exemple particulier, seuls les poids du premier encodeur 11 sont mis à jour par propagation vers l’arrière. Ainsi, le premier encodeur 11 (encodeur de requête ou de base) est mis à jour par descente stochastique de gradient, tandis que le deuxième encodeur (encodeur dynamique ou momentum) est mis à jour sur la base d'une moyenne mobile exponentielle des poids du premier encodeur. Selon une variante de réalisation, une mesure de similarité et un calcul de perte 110 associée sont mis en œuvre à partir de la représentation vectorielle 111 de la première image augmentée 101 et de la représentation vectorielle 112 de la première image de contours 103. De la même manière, une mesure de similarité et un calcul de perte 120 associée sont mis en œuvre à partir de la représentation vectorielle 121 de la deuxième image augmentée 102 et de la représentation vectorielle 122 de la deuxième image de contours 104. Une deuxième fonction de perte 110 est déterminée par analyse de similitude entre la première représentation vectorielle 111 et la deuxième représentation vectorielle 112 et une troisième fonction de perte 120 déterminée par analyse de similitude entre la troisième représentation vectorielle 121 et la quatrième représentation vectorielle 122. L’ensemble de paramètres de l’encodeur de base 11 est mis à jour par minimisation de la deuxième fonction de perte 110 et un ensemble de paramètres de l’encodeur dynamique 12 est mis à jour par minimisation de la troisième fonction de perte 120. Dit autrement, la perte 110 est utilisée pour mettre à jour les poids du premier encodeur 11 et la perte 120 est utilisée pour mettre à jour les poids du deuxième encodeur 12, par minimisation de la fonction de perte. Les paramètres (poids) du modèle d’apprentissage sont chargés dans une mémoire d’un calculateur contrôlant le système d’aide à la conduite pour lequel le modèle d’apprentissage est prévu. Le chargement dans la mémoire comprend la transmission de ces paramètres via une liaison filaire ou sans fil à destination du véhicule, et plus particulièrement du calculateur. En phase de production ou d’inférence, le modèle d’apprentissage chargé dans le véhicule et mis en œuvre par le calculateur, reçoit des données d’images acquises par une caméra embarquée dans le véhicule. Ces images sont par exemples représentatives de l’environnement routier situé devant le véhicule selon le sens de circulation du véhicule. Une classification des données d’image est mise en œuvre par le modèle d’apprentissage, le résultat de la classification étant utilisé pour contrôler le système d’aide à la conduite (correspondant par exemple à un système ADAS). Le processus décrit précédemment est mis en œuvre pour généraliser une pluralité de modèles d’apprentissage lors des phases de test de ces modèles. Un véhicule, par exemple un véhicule autonome avec un niveau d’autonomie supérieur ou égal à 4 embarquant ces modèles d’apprentissage est alors en mesure de circuler avec un niveau de sécurité amélioré en se basant sur les prédictions ou classifications obtenues des modèles dont les paramètres ont été mis à jour ou affinés pendant les phases de test. La FIG. 2 illustre schématiquement un dispositif 2 configuré pour généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule, selon des exemples de réalisation de l’invention. Le dispositif 2 correspond par exemple à un dispositif de traitement de données de type ordinateur ou serveur, et plus particulièrement un dispositif configuré pour mettre en œuvre un ou plusieurs réseaux de neurones artificiels, par exemple un ou plusieurs réseaux de neurones profonds. Le dispositif 2 correspond par exemple à un dispositif embarqué dans le véhicule 10, par exemple un calculateur. Le dispositif 2 est par exemple configuré pour la mise en œuvre des opérations décrites en regard de la FIG. 1 et/ou des étapes du procédé décrit en regard de la FIG. 3 . Des exemples d’un tel dispositif 2 comprennent, sans y être limités, un ordinateur, un serveur, un ordinateur portable, un téléphone intelligent, une tablette, un équipement électronique embarqué tel qu’un ordinateur de bord d’un véhicule ou un calculateur électronique tel qu’une UCE (« Unité de Commande Electronique »). Les éléments du dispositif 2, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 2 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. Le dispositif 2 comprend un (ou plusieurs) processeur(s) 20 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le dispositif 2. Le processeur 20 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 2 comprend en outre au moins une mémoire 21 correspondant par exemple à une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique. Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 21. Selon différents exemples de réalisation particuliers et non limitatifs, le dispositif 2 est couplé en communication avec d’autres dispositifs ou systèmes similaires et/ou avec des dispositifs de communication, par exemple une TCU (de l’anglais « Telematic Control Unit » ou en français « Unité de Contrôle Télématique »), par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés. Le réseau de neurones peut être entrainé par un premier dispositif 2 correspondant à un serveur ou une série de serveurs, en communication avec un deuxième dispositif 2 correspondant à un calculateur d’un véhicule, via un réseau de communication. Les paramètres internes (ou poids) du réseau de neurones peuvent alors être transmis par ce dispositif distant à destination du calculateur qui les reçoit. Le calculateur est alors apte à mettre en œuvre le réseau de neurones et le procédé de classification lorsqu’une image d’entrée acquise par le dispositif d’imagerie du véhicule est présentée en entrée du réseau de neurones entrainé. Selon un exemple de réalisation particulier et non limitatif, le dispositif 2 comprend un bloc 22 d’éléments d’interface pour communiquer avec des dispositifs externes. Les éléments d’interface du bloc 22 comprennent une ou plusieurs des interfaces suivantes : - interface radiofréquence RF, par exemple de type Wi-Fi® (selon IEEE 802.11), par exemple dans les bandes de fréquence à 2,4 ou 5 GHz, ou de type Bluetooth® (selon IEEE 802.15.1), dans la bande de fréquence à 2,4 GHz, ou de type Sigfox utilisant une technologie radio UBN (de l’anglais Ultra Narrow Band, en français bande ultra étroite), ou LoRa dans la bande de fréquence 868 MHz, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ; - interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ; - interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ; - interface LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »). Des paramètres internes (poids) du réseau de neurones entrainés et/ou mis à jour peuvent être reçus via l’interface de communication 23. Selon un autre exemple de réalisation particulier et non limitatif, le dispositif 2 comprend une interface de communication 23 qui permet d’établir une communication avec d’autres dispositifs (tels que d’autres calculateurs du système embarqué) via un canal de communication 230. L’interface de communication 23 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 230. L’interface de communication 23 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (standardisé par la norme ISO 17458) ou Ethernet (standardisé par la norme ISO/IEC 802-3). Selon un exemple de réalisation particulier et non limitatif, le dispositif 2 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage 240, tactile ou non, un ou des haut-parleurs 250 et/ou d’autres périphériques 260 (système de projection) via respectivement des interfaces de sortie 24, 25 et 26. Selon une variante, l’un ou l’autre des dispositifs externes est intégré au dispositif 2. La FIG. 3 illustre un organigramme des différentes étapes d’un procédé de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est par exemple mis en œuvre par le dispositif 2 de la FIG. 2 . Dans une première étape 31, pour chaque image de test d’au moins une partie d’un ensemble d’images de test, l’image de test est augmentée selon un premier ensemble d’opérations d’augmentation pour obtenir une première image augmentée et l’image de test est augmentée selon un deuxième ensemble d’opérations d’augmentation pour obtenir une deuxième image augmentée, l’augmentation associée à la première image étant plus forte que l’augmentation associée à la deuxième image. Dans une deuxième étape 32, des contours sont détectés dans la première image augmentée pour générer une première image de contours correspondant à la première image augmentée. Dans une troisième étape 33, des contours sont détectés dans la deuxième image augmentée pour générer une deuxième image de contours correspondant à la deuxième image augmentée. Dans une quatrième étape 34, une première représentation vectorielle de caractéristiques de la première image augmentée et d’une deuxième représentation vectorielle de caractéristiques de la première image de contours sont déterminées par un encodeur de base du modèle de classification recevant en entrée la première image augmentée et la première image de contours. Dans une cinquième étape 35, une troisième représentation vectorielle de caractéristiques de la deuxième image augmentée et une quatrième représentation vectorielle de caractéristiques de la deuxième image de contours sont déterminées par un encodeur dynamique du modèle de classification recevant en entrée la deuxième image augmentée et la deuxième image de contours. Dans une sixième étape 36, l’ensemble de paramètres du modèle de classification est mis à jour par minimisation d’un ensemble de fonctions de perte comprenant au moins une fonction de perte fonction d’au moins une partie des première, deuxième, troisième et quatrième représentations vectorielles. Dans une septième étape 37, l’ensemble de paramètres mis à jour est chargé dans une mémoire d’un calculateur du véhicule. Selon une variante, les variantes et exemples des opérations décrits en relation avec la FIG. 1 s’appliquent aux étapes du procédé de la FIG. 3 . Bien entendu, la présente invention ne se limite pas aux exemples de réalisation décrits ci-avant mais s’étend à un procédé de contrôle d’un ou plusieurs systèmes d’aide à la conduite d’un véhicule, par exemple un véhicule autonome, qui inclurait des étapes secondaires sans pour cela sortir de la portée de la présente invention. Il en serait de même d’un dispositif configuré pour la mise en œuvre d’un tel procédé. La présente invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule autonome à moteur terrestre, par exemple autonome, comprenant le dispositif 2 de la FIG. 2 . Procédé de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule, un ensemble de paramètres dudit modèle de classification ayant été appris dans une phase préalable d’apprentissage, ledit procédé étant mis en œuvre par au moins un processeur et comprenant les étapes suivantes : - pour chaque image de test (100) d’au moins une partie d’un ensemble d’images de test, augmentation de ladite image de test (100) selon un premier ensemble d’opérations d’augmentation pour obtenir une première image augmentée (101) et augmentation de ladite image de test (100) selon un deuxième ensemble d’opérations d’augmentation pour obtenir une deuxième image augmentée (102), l’augmentation associée à ladite première image (101) étant plus forte que l’augmentation associée à ladite deuxième image (102) ; - détection de contours dans ladite première image augmentée (101) pour générer une première image de contours (103) correspondant à ladite première image augmentée (101) ; - détection de contours dans ladite deuxième image augmentée (102) pour générer une deuxième image de contours (104) correspondant à ladite deuxième image augmentée (102) ; - détermination d’une première représentation vectorielle (111) de caractéristiques de ladite première image augmentée (101) et d’une deuxième représentation vectorielle (112) de caractéristiques de ladite première image de contours (103) par un encodeur de base (11) dudit modèle de classification recevant en entrée ladite première image augmentée (101) et ladite première image de contours (103) ; - détermination d’une troisième représentation vectorielle (121) de caractéristiques de ladite deuxième image augmentée (102) et d’une quatrième représentation vectorielle (122) de caractéristiques de ladite deuxième image de contours (104) par un encodeur dynamique (12) dudit modèle de classification recevant en entrée ladite deuxième image augmentée (102) et ladite deuxième image de contours (104) ; - mise à jour dudit ensemble de paramètres du modèle de classification par minimisation d’un ensemble de fonctions de perte comprenant au moins une fonction de perte fonction d’au moins une partie des première, deuxième, troisième et quatrième représentations vectorielles ; - chargement dudit ensemble de paramètres mis à jour dans une mémoire d’un calculateur dudit véhicule. Procédé selon la revendication 1, pour lequel ledit ensemble de fonctions de perte comprend une première fonction de perte correspondant à une fonction de perte contrastive (130), la perte contrastive (130) étant déterminée par analyse de similitude entre la première représentation vectorielle (111) et la troisième représentation vectorielle (121). Procédé selon la revendication 2, pour lequel un ensemble de paramètres dudit encodeur de base est mis à jour par minimisation de la fonction de perte contrastive (130). Procédé selon la revendication 2 ou 3, pour lequel ledit ensemble de fonctions de perte comprend une deuxième fonction de perte (110) déterminée par analyse de similitude entre la première représentation vectorielle (111) et la deuxième représentation vectorielle (112) et une troisième fonction de perte (120) déterminée par analyse de similitude entre la troisième représentation vectorielle (121) et la quatrième représentation vectorielle (122), l’ensemble de paramètres dudit encodeur de base étant en outre mis à jour par minimisation de la deuxième fonction de perte (110) et un ensemble de paramètres dudit encodeur dynamique étant mis à jour par minimisation de la troisième fonction de perte (120). Procédé selon l’une des revendications 1 à 4, pour lequel ledit premier ensemble d’opérations d’augmentation est sélectionné dans une librairie d’opérations d’augmentation selon une stratégie d’augmentation apprise dans une phase d’apprentissage renforcée, et ledit deuxième ensemble d’opérations d’augmentation correspond à une opération de retournement horizontal et une opération de translation horizontal et vertical appliquées à l’image de test (110). Procédé selon l’une des revendications 1 à 5, pour lequel ledit modèle de classification est mis en œuvre par un réseau de neurones profond. Procédé selon l’une des revendications 1 à 6, comprenant en outre les étapes suivantes : - réception de données d’image d’au moins une image d’un environnement routier devant ledit véhicule selon un sens de circulation dudit véhicule acquise par une caméra embarquée dans ledit véhicule ; - classification desdites données d’image par ledit modèle de classification embarqué dans ledit véhicule ; et - contrôle du système d’aide à la conduite en fonction d’un résultat de ladite classification. Programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé selon l’une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un processeur. Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon l’une des revendications 1 à 7. Dispositif (2) de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule, ledit dispositif (2) comprenant une mémoire (21) associée à au moins un processeur (20) configuré pour la mise en œuvre d’au moins une étape du procédé selon l’une quelconque des revendications 1 à 7.