FR3136297A1 - Method and device for calculating a three-dimensional model of a vehicle silhouette. - Google Patents

Method and device for calculating a three-dimensional model of a vehicle silhouette. Download PDF

Info

Publication number
FR3136297A1
FR3136297A1 FR2205359A FR2205359A FR3136297A1 FR 3136297 A1 FR3136297 A1 FR 3136297A1 FR 2205359 A FR2205359 A FR 2205359A FR 2205359 A FR2205359 A FR 2205359A FR 3136297 A1 FR3136297 A1 FR 3136297A1
Authority
FR
France
Prior art keywords
code
vehicle
silhouette
dimensional
codes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2205359A
Other languages
French (fr)
Inventor
Theo Pierre
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stellantis Auto Sas Fr
Original Assignee
PSA Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PSA Automobiles SA filed Critical PSA Automobiles SA
Priority to FR2205359A priority Critical patent/FR3136297A1/en
Publication of FR3136297A1 publication Critical patent/FR3136297A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Physiology (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Genetics & Genomics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

La présente invention concerne un procédé de codage/décodage d’un modèle tridimensionnel de silhouette de véhicule. La présente invention utilise un auto-encodeur (100) pour mettre en œuvre ce procédé de codage/décodage qui permet d’obtenir une représentation compacte et fidèle d’un modèle tridimensionnel d’un véhicule et un algorithme génétique pour obtenir des variations d’un modèle tridimensionnel d’une silhouette initiale de véhicule. Figure pour l’abrégé : Figure 1The present invention relates to a method for encoding/decoding a three-dimensional vehicle silhouette model. The present invention uses an autoencoder (100) to implement this coding/decoding method which makes it possible to obtain a compact and faithful representation of a three-dimensional model of a vehicle and a genetic algorithm to obtain variations of a three-dimensional model of an initial vehicle silhouette. Figure for abstract: Figure 1

Description

Procédé et dispositif de calcul d’un modèle tridimensionnel d’une silhouette d’un véhicule.Method and device for calculating a three-dimensional model of a vehicle silhouette.

La présente invention concerne un procédé et dispositif de calcul d’un modèle tridimensionnel d’une silhouette d’un véhicule à partir d’un algorithme génétique.The present invention relates to a method and device for calculating a three-dimensional model of a silhouette of a vehicle using a genetic algorithm.

Arrière-plan technologiqueTechnology background

Dans le domaine automobile, la conception assistée par ordinateur est largement utilisée pour concevoir de nouveaux modèles tridimensionnels de silhouette de véhicule. La silhouette d’un véhicule représente l’aspect esthétique extérieur général du véhicule mais aussi les aspects esthétiques de ses éléments visibles de l’extérieur (par exemple forme des phares, forme du bas de caisse, etc.).In the automotive field, computer-aided design is widely used to design new three-dimensional vehicle silhouette models. The silhouette of a vehicle represents the general exterior aesthetic appearance of the vehicle but also the aesthetic aspects of its elements visible from the outside (for example shape of the headlights, shape of the rocker panel, etc.).

La conception assistée par ordinateur ou CAO (en anglais, Computer Aided Design ou CAD) comprend l'ensemble des logiciels et des techniques de modélisation géométrique, par exemple de véhicule, permettant de concevoir un modèle, par exemple de véhicule, de le visualiser à l'aide d'un ordinateur, de simuler son fonctionnement et de réaliser des produits manufacturés sur la base de ce modèle.Computer aided design or CAD (in English, Computer Aided Design or CAD) includes all the software and geometric modeling techniques, for example of a vehicle, making it possible to design a model, for example of a vehicle, to visualize it using a computer, to simulate its operation and to produce manufactured products based on this model.

On peut citer, par exemple, le logiciel CATIA® (Conception Assistée Tridimensionnelle Interactive Appliquée, en anglais Computer-Aided Three dimensional Interactive Application). CATIA® comprend différents ateliers (logiciels) qui couvrent un très grand nombre de domaines, allant de la conception mécanique, à la conception de systèmes électriques, à la création de modèle esthétique (en anglais design) ou à la FAO (Fabrication Assistée par Ordinateur).We can cite, for example, the CATIA® software (Computer-Aided Three-dimensional Interactive Application). CATIA® includes different workshops (software) which cover a very large number of areas, ranging from mechanical design, to the design of electrical systems, to the creation of aesthetic models (in English design) or to CAM (Computer Aided Manufacturing). ).

CATIA® permet d’obtenir un modèle tridimensionnel de silhouette de véhicule.CATIA® allows you to obtain a three-dimensional vehicle silhouette model.

Lorsqu’un nouveau modèle tridimensionnel de silhouette d’un véhicule est créé, il existe très peu d’indicateur fiable pour assurer que cette silhouette puisse être appréciée majoritairement par les consommateurs.When a new three-dimensional silhouette model of a vehicle is created, there is very little reliable indicator to ensure that this silhouette can be appreciated by the majority of consumers.

L’un des problèmes résolus par la présente invention est de calculer un modèle tridimensionnel d’une silhouette d’un véhicule qui ait un maximum de chance d’être plébiscité par les consommateurs.One of the problems solved by the present invention is to calculate a three-dimensional model of a silhouette of a vehicle which has a maximum chance of being popular with consumers.

Un objet de la présente invention est de fournir d’un modèle tridimensionnel d’une silhouette de véhicule.An object of the present invention is to provide a three-dimensional model of a vehicle silhouette.

Selon un premier aspect, la présente invention concerne un procédé de calcul d’un modèle tridimensionnel d’une silhouette d’un véhicule. Des modèles tridimensionnels de silhouette de véhicule sont obtenus à partir d’un premier moyen de stockage. Un code est produit pour chaque modèle tridimensionnel obtenu à partir d’un encodeur d’un auto-encodeur, chaque code étant ajouté à un ensemble de codes. Des critères de succès de silhouette de véhicule ayant des indices de succès supérieur à un premier seuil pour un intervalle de prix donné, sont obtenus à partir d’un deuxième moyen de stockage. Un premier code est sélectionné parmi l’ensemble de codes en fonction des critères de succès obtenus. Au moins un deuxième code est produit à partir du premier code sélectionné, chaque deuxième code produit correspondant à une mutation aléatoire du premier code sélectionné. Chaque deuxième code produit est ajouté à l’ensemble de codes. Un score est associé à chaque code de l’ensemble de codes et chaque score est comparé avec un deuxième seuil. Les étapes de sélection, production, ajout et association sont itérées tant qu’un score associé à un code de l’ensemble de codes n’est pas supérieur au deuxième seuil.According to a first aspect, the present invention relates to a method for calculating a three-dimensional model of a silhouette of a vehicle. Three-dimensional vehicle silhouette models are obtained from a first storage means. A code is produced for each three-dimensional model obtained from an encoder of an autoencoder, each code being added to a set of codes. Vehicle silhouette success criteria having success indices greater than a first threshold for a given price interval are obtained from a second storage means. A first code is selected from the set of codes according to the success criteria obtained. At least one second code is produced from the first selected code, each second code produced corresponding to a random mutation of the first selected code. Every second product code is added to the code set. A score is associated with each code in the set of codes and each score is compared with a second threshold. The selection, production, addition and association steps are iterated as long as a score associated with a code from the set of codes is not greater than the second threshold.

Un modèle tridimensionnel de silhouette du véhicule est alors calculé par décodage, par un décodeur de l’auto-encodeur, à partir du code dont le score associé est supérieur au deuxième seuil.A three-dimensional silhouette model of the vehicle is then calculated by decoding, by a decoder of the autoencoder, from the code whose associated score is greater than the second threshold.

Le procédé permet d’obtenir de nouveaux modèles tridimensionnels de silhouette de véhicule en maximisant la réussite de ces dernières auprès des consommateurs grâce à des mutations appliquées à un code représentant un modèle tridimensionnel d’une silhouette initiale d’un véhicule, mutations qui sont fonction de critères de succès d’autres silhouettes de véhicule. L’utilisation de mutations de code permet d’obtenir de nombreuses variations d’un modèle tridimensionnel de silhouette initiale et permet ainsi la génération de nombreuses variations de silhouettes plus complexes et précises que celles créées par un être humain.The method makes it possible to obtain new three-dimensional models of vehicle silhouette by maximizing the success of the latter with consumers thanks to mutations applied to a code representing a three-dimensional model of an initial silhouette of a vehicle, mutations which are function criteria for success of other vehicle silhouettes. The use of code mutations makes it possible to obtain many variations of an initial three-dimensional silhouette model and thus allows the generation of many variations of silhouettes more complex and precise than those created by a human being.

Selon un exemple particulier et non limitatif de réalisation, l’encodeur et le décodeur comportent chacun une couche d’un même nombre de neurones.According to a particular and non-limiting example of embodiment, the encoder and the decoder each comprise a layer of the same number of neurons.

Selon un exemple particulier et non limitatif de réalisation, l’encodeur et le décodeur sont reliés par une seule couche.According to a particular and non-limiting example of embodiment, the encoder and the decoder are connected by a single layer.

Selon un exemple particulier et non limitatif de réalisation, l’auto-encodeur est entraîné, lors d’une phase d’apprentissage, à partir d’un premier ensemble de modèles tridimensionnels de silhouette de véhicule, et, une fois entraîné, l’auto-encodeur est testé lors d’une étape de test à partir d’un deuxième ensemble de modèles tridimensionnels de silhouette de véhicule.According to a particular and non-limiting example of embodiment, the auto-encoder is trained, during a learning phase, from a first set of three-dimensional vehicle silhouette models, and, once trained, the autoencoder is tested in a test step from a second set of three-dimensional vehicle silhouette models.

Selon un exemple particulier et non limitatif de réalisation, un indice de succès est un rapport du nombre de vente d’un véhicule répondant à une silhouette particulière de véhicule par rapport à un nombre de véhicules fabriqués.According to a particular and non-limiting example of embodiment, a success index is a ratio of the number of sales of a vehicle meeting a particular vehicle silhouette compared to a number of vehicles manufactured.

Selon un exemple particulier et non limitatif de réalisation, les codes de l’ensemble de codes sont ordonnés selon des indices de succès associés à des silhouettes de véhicule dont des critères de succès ont été obtenus, et le code sélectionné parmi l’ensemble de codes est le code correspondant à l’indice de succès le plus élevé.According to a particular and non-limiting example of embodiment, the codes of the set of codes are ordered according to success indices associated with vehicle silhouettes for which success criteria have been obtained, and the code selected from the set of codes is the code corresponding to the highest success index.

Selon un exemple particulier et non limitatif de réalisation, lorsqu’un code se présente sous la forme d’un ensemble de valeurs binaires, une mutation aléatoire est un changement aléatoire d’au moins une desdites valeurs binaires.According to a particular and non-limiting example of implementation, when a code is in the form of a set of binary values, a random mutation is a random change of at least one of said binary values.

Selon un deuxième aspect, la présente invention concerne un dispositif de codage ou décodage d’un modèle tridimensionnel de silhouette de véhicule comprenant des moyens pour mettre en œuvre des étapes du procédé selon le premier aspect de la présente invention.According to a second aspect, the present invention relates to a device for coding or decoding a three-dimensional vehicle silhouette model comprising means for implementing steps of the method according to the first aspect of the present invention.

Selon un troisième aspect, la présente invention concerne un produit programme d’ordinateur comportant des instructions adaptées pour l’exécution des étapes des procédés selon le premier aspect lorsque le programme d’ordinateur est exécuté par au moins un processeur.According to a third aspect, the present invention relates to a computer program product comprising instructions adapted for the execution of the steps of the methods according to the first aspect when the computer program is executed by at least one processor.

Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.Such a computer program can use any programming language, and be in the form of a source code, an object code, or an intermediate code between a source code and an object code, such as in partially compiled form, or in any other desirable form.

Selon un quatriè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.According to a fourth aspect, the present invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for executing the steps of the method according to the first aspect of the present 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.On the one hand, the recording medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM memory, a CD-ROM or a ROM memory of the microelectronic circuit type, or even a magnetic recording means or a hard disk.

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 l'invention peut être en particulier téléchargé sur un réseau de type Internet.On the other hand, this recording medium can also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or terrestrial radio or by self-directed laser beam or by other ways. The computer program according to the invention can in particular be downloaded onto an Internet-type network.

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.Alternatively, the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in executing the method in question.

Brève description des figuresBrief description of the figures

D’autres caractéristiques et avantages de la présente invention ressortiront de la description des modes de réalisation non limitatifs de la présent invention ci-après, en référence aux figures 1 à 7 annexées, sur lesquelles :Other characteristics and advantages of the present invention will emerge from the description of the non-limiting embodiments of the present invention below, with reference to the attached Figures 1 to 7, in which:

illustre schématiquement un système mettant en œuvre la présente invention selon un exemple de réalisation particulier et non limitatif ; schematically illustrates a system implementing the present invention according to a particular and non-limiting exemplary embodiment;

illustre schématiquement un auto-encodeur selon un exemple de réalisation particulier et non limitatif de la présente invention; schematically illustrates an autoencoder according to a particular and non-limiting embodiment of the present invention;

illustre schématiquement l’auto-encodeur lors d’une étape d’apprentissage et de test selon un exemple de réalisation particulier et non limitatif de la présente invention ; schematically illustrates the autoencoder during a learning and testing step according to a particular and non-limiting exemplary embodiment of the present invention;

illustre un organigramme des différentes étapes d’un procédé 200 de codage d’un modèle tridimensionnel de silhouette d’un véhicule selon un exemple de réalisation particulier et non limitatif de la présente invention ; illustrates a flowchart of the different stages of a method 200 for coding a three-dimensional silhouette model of a vehicle according to a particular and non-limiting embodiment of the present invention;

illustre un organigramme des différentes étapes d’un procédé 300 de décodage d’un modèle tridimensionnel de silhouette de véhicule selon un exemple de réalisation particulier et non limitatif de la présente invention ; illustrates a flowchart of the different stages of a method 300 of decoding a three-dimensional vehicle silhouette model according to a particular and non-limiting embodiment of the present invention;

illustre schématiquement un dispositif 400 mettant en œuvre le procédé de la , 5 et/ou 7 selon un exemple de réalisation particulier et non limitatif de la présente invention ; et schematically illustrates a device 400 implementing the method of , 5 and/or 7 according to a particular and non-limiting embodiment of the present invention; And

illustre un organigramme des différentes étapes d’un procédé de calcul d’un modèle tridimensionnel d’une silhouette d’un véhicule selon un exemple de réalisation particulier et non limitatif de la présente invention. illustrates a flowchart of the different stages of a method of calculating a three-dimensional model of a silhouette of a vehicle according to a particular and non-limiting exemplary embodiment of the present invention.

Des procédés et dispositifs de calcul d’un modèle tridimensionnel d’une silhouette d’un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 7.Methods and devices for calculating a three-dimensional model of a silhouette of a vehicle will now be described in what follows with reference jointly to Figures 1 to 7.

La présente invention porte sur le calcul d’une modélisation tridimensionnelle d’une silhouette d’un véhicule en fonction de critère de succès de silhouettes de véhicule auprès de consommateurs à l’aide d’un algorithme génétique.The present invention relates to the calculation of a three-dimensional modeling of a silhouette of a vehicle based on criteria for the success of vehicle silhouettes with consumers using a genetic algorithm.

Les algorithmes génétiques appartiennent à la famille des algorithmes évolutionnistes. Leur but est d'obtenir une solution approchée à un problème d'optimisation, lorsqu'il n'existe pas de méthode exacte (ou que la solution est inconnue) pour le résoudre en un temps raisonnable. Les algorithmes génétiques utilisent la notion de sélection naturelle et l'appliquent à une population de solutions potentielles au problème donné.Genetic algorithms belong to the family of evolutionary algorithms. Their goal is to obtain an approximate solution to an optimization problem, when there is no exact method (or the solution is unknown) to solve it in a reasonable time. Genetic algorithms take the notion of natural selection and apply it to a population of potential solutions to the given problem.

Les algorithmes génétiques étant basés sur des phénomènes biologiques, les termes utilisés sont ceux couramment utilisés en génétique. On utilise aussi, dans les algorithmes génétiques, une analogie avec la théorie de l'évolution qui propose qu'au fil du temps, les gènes conservés au sein d'une population donnée sont ceux qui sont les plus adaptés aux besoins de l'espèce vis-à-vis de son environnement. En effet, certaines variations de gènes confèrent aux individus les possédant un avantage compétitif par rapport au reste de la population. Cet avantage compétitif se traduit alors par une meilleure reproduction de ces individus qui permet de transmettre les allèles à l'ensemble de la population après de nombreuses générations.Since genetic algorithms are based on biological phenomena, the terms used are those commonly used in genetics. We also use, in genetic algorithms, an analogy with the theory of evolution which proposes that over time, the genes conserved within a given population are those which are most adapted to the needs of the species. towards its environment. Indeed, certain gene variations give individuals possessing them a competitive advantage over the rest of the population. This competitive advantage then results in better reproduction of these individuals which makes it possible to transmit the alleles to the entire population after many generations.

La génétique a mis en évidence l'existence de processus importants au sein d'un groupe d'organismes d'une même espèce (ou d'espèces proches chez les bactéries) donnant lieu au brassage génétique. Ces processus interviennent lors de la phase de reproduction lorsque les chromosomes de deux organismes fusionnent en créant un nouvel organisme.Genetics has highlighted the existence of important processes within a group of organisms of the same species (or close species in bacteria) giving rise to genetic mixing. These processes occur during the reproduction phase when the chromosomes of two organisms fuse to create a new organism.

Ces opérations sont «imitées» par les algorithmes génétiques afin de faire évoluer une population de solutions de manière progressive.These operations are “ imitated ” by genetic algorithms in order to progressively evolve a population of solutions.

L’une de ces opérations est la sélection qui permet de déterminer quels individus d’une population sont plus enclins à obtenir les meilleurs résultats. Ce processus est analogue à un processus de sélection naturelle, les individus les plus adaptés gagnent la compétition de la reproduction tandis que les moins adaptés meurent avant la reproduction, ce qui améliore globalement l'adaptation. Étant donné que la sélection est le résultat d'une intervention humaine ou, du moins, l'application d'un critère défini par l'homme, les algorithmes génétiques devraient donc plutôt être rapprochés de la sélection artificielle telle que la pratiquent les agriculteurs que de la sélection naturelle, qui œuvre « en aveugle ».One of these operations is selection, which determines which individuals in a population are more likely to obtain the best results. This process is analogous to a process of natural selection, the most adapted individuals win the reproductive competition while the least adapted die before reproduction, which improves adaptation overall. Given that selection is the result of human intervention or, at least, the application of a criterion defined by man, genetic algorithms should therefore rather be compared to artificial selection as practiced by farmers. of natural selection, which works “blindly”.

Une autre de ces opérations est la mutation. De façon aléatoire, un gène peut, au sein d'un chromosome, être substitué à un autre. On définit un taux de mutation lors des changements de population qui est généralement compris entre 0,001 et 0,01. Il est nécessaire de choisir pour ce taux de mutation une valeur relativement faible, de manière à ne pas tomber dans une recherche aléatoire et à conserver le principe de sélection et d'évolution. La mutation sert à éviter une convergence prématurée de l'algorithme génétique. Par exemple, lors d'une recherche d'extremum, la mutation sert à éviter la convergence vers un extremum local.Another of these operations is mutation. Randomly, a gene can, within a chromosome, be substituted for another. We define a mutation rate during population changes which is generally between 0.001 and 0.01. It is necessary to choose a relatively low value for this mutation rate, so as not to fall into a random search and to preserve the principle of selection and evolution. The mutation serves to avoid premature convergence of the genetic algorithm. For example, when searching for an extremum, the mutation serves to avoid convergence towards a local extremum.

Les algorithmes génétiques se basent sur les différents principes décrits ci-dessus afin de permettre la résolution de problèmes.Genetic algorithms are based on the different principles described above to enable problem solving.

illustre schématiquement un système 100 mettant en œuvre la présente invention selon un exemple de réalisation particulier non limitatif. schematically illustrates a system 100 implementing the present invention according to a particular non-limiting exemplary embodiment.

Le système 100 comprend un premier moyen de stockage 110 destiné à mémoriser des modèles tridimensionnels de véhicule et un deuxième moyen de stockage 160 destiné à mémoriser des critères de succès rattachés à des modèles tridimensionnels de silhouette de véhicule mémorisés par le premier moyen de stockage 110.The system 100 comprises a first storage means 110 intended to memorize three-dimensional vehicle models and a second storage means 160 intended to memorize success criteria attached to three-dimensional vehicle silhouette models memorized by the first storage means 110.

Le système 100 comprend aussi un auto-encodeur formé d’un encodeur 120 et d’un décodeur 150 décrit en relation avec les figures 2 à 5.The system 100 also includes an autoencoder formed by an encoder 120 and a decoder 150 described in relation to Figures 2 to 5.

Le système 100 comprend également un dispositif 130 adapté à mettre en œuvre les étape d’un algorithme génétique et un dispositif 140 adapté pour mettre en œuvre une étape d’évaluation d’un code z’ issu du dispositif 130.The system 100 also includes a device 130 adapted to implement the steps of a genetic algorithm and a device 140 adapted to implement a step of evaluating a code z' from the device 130.

Dans une première opération, des modèles tridimensionnels Mi de silhouette de véhicule sont obtenus à partir du moyen de stockage 110 et présentés, tour à tour, à l’entrée de l’encodeur 120.In a first operation, three-dimensional models Mi of vehicle silhouette are obtained from the storage means 110 and presented, in turn, at the input of the encoder 120.

Dans une deuxième opération, l’encodeur 120 produit un code z(i) (référencé z sur la ) pour chaque modèle tridimensionnel Mi. Les codes z(i) produits forment un ensemble EC de codes.In a second operation, the encoder 120 produces a code z(i) (referenced z on the ) for each three-dimensional model Mi. The codes z(i) produced form a set EC of codes.

Par analogie à la biologie, le code est parfois appelé « ADN » du véhicule.By analogy to biology, the code is sometimes called the “DNA” of the vehicle.

Selon un exemple de réalisation particulier et non limitatif, un code z(i) peut se présenter sous la forme d’un ensemble de valeurs binaires identifiant de manière unique un modèle tridimensionnel particulier Mi de silhouette de véhicule.According to a particular and non-limiting exemplary embodiment, a code z(i) can be in the form of a set of binary values uniquely identifying a particular three-dimensional model Mi of the vehicle silhouette.

Dans une troisième opération, des critères de succès de modèles tridimensionnels de silhouette de véhicule ayant des indices de succès supérieur à un seuil S1 pour un intervalle de prix donné, sont obtenus à partir du moyen de stockage 160.In a third operation, success criteria for three-dimensional vehicle silhouette models having success indices greater than a threshold S1 for a given price interval are obtained from the storage means 160.

Des critères de succès auprès de consommateurs peuvent être divers. Ils peuvent s’exprimer sous la forme de scores (valeurs numériques sur une échelle de valeurs prédéterminées) donnés par des consommateurs lors d’enquêtes de satisfaction.Criteria for success with consumers can be diverse. They can be expressed in the form of scores (numerical values on a scale of predetermined values) given by consumers during satisfaction surveys.

Un indice de succès est un résultat d’une fonction mathématique définie à partir de succès historique de différentes silhouettes de véhicules. Grâce à des données (par exemple caractéristiques véhicules, prix, nombre de ventes, nombre de véhicule produit, etc.) relatives à ces silhouettes de véhicule et/ou à des données récoltées auprès des consommateurs relatives à leur évaluation de ces silhouettes, cette fonction mathématique donne comme résultat un indice dit de succès qui donne une indication de succès de ces silhouettes de véhicule.A success index is a result of a mathematical function defined from historical success of different vehicle silhouettes. Thanks to data (for example vehicle characteristics, prices, number of sales, number of vehicles produced, etc.) relating to these vehicle silhouettes and/or data collected from consumers relating to their evaluation of these silhouettes, this function The mathematical result is a so-called success index which gives an indication of the success of these vehicle silhouettes.

Cette fonction mathématique peut être définie de manière empirique selon un historique de données récoltées pour plusieurs silhouettes de véhicule.This mathematical function can be defined empirically according to a history of data collected for several vehicle silhouettes.

Selon un exemple de réalisation particulier et non limitatif, un indice de succès peut se présenter sous la forme d’un rapport du nombre de vente de véhicule répondant à une silhouette particulière de véhicule par rapport à un nombre de ces véhicules fabriqués. Par exemple, un véhicule répondant à une silhouette particulière et coûtant entre 10k et 20k euros est dit à succès lorsque son indice de succès dépasse 0,7 (S1).According to a particular and non-limiting example of embodiment, a success index can be in the form of a ratio of the number of vehicle sales responding to a particular vehicle silhouette compared to a number of these vehicles manufactured. For example, a vehicle with a particular silhouette and costing between 10k and 20k euros is said to be successful when its success index exceeds 0.7 (S1).

Dans une quatrième opération, le dispositif 130 sélectionne un code z(i) parmi l’ensemble de codes EC en fonction des critères de succès obtenus.In a fourth operation, the device 130 selects a code z(i) from the set of EC codes according to the success criteria obtained.

Selon une variante, les codes z(i) de l’ensemble EC de codes sont ordonnés selon les indices de succès associés aux silhouettes de véhicule dont les critères de succès ont été obtenus, et le code z(i) sélectionné est le premier code de l’ensemble EC de codes ordonnés, c’est-à-dire le code correspondant à l’indice de succès le plus élevé.According to a variant, the codes z(i) of the EC set of codes are ordered according to the success indices associated with the vehicle silhouettes whose success criteria have been obtained, and the code z(i) selected is the first code of the EC set of ordered codes, that is to say the code corresponding to the highest success index.

Dans la cinquième opération, le dispositif 130 produit au moins un code z(i,j) à partir du code z(i) sélectionné, chaque code z(i,j) correspondant à une mutation aléatoire du code z(i).In the fifth operation, the device 130 produces at least one code z(i,j) from the selected code z(i), each code z(i,j) corresponding to a random mutation of the code z(i).

Selon une variante, lorsqu’un code z(i) se présente sous la forme d’un ensemble de valeurs binaires, une mutation aléatoire peut être un changement aléatoire d’au moins une de ces valeurs binaires.According to a variant, when a code z(i) is in the form of a set of binary values, a random mutation can be a random change of at least one of these binary values.

Dans la sixième opération, le dispositif 140 ajoute les codes z(i,j) produits à l’ensemble EC de codes.In the sixth operation, the device 140 adds the codes z(i,j) produced to the set EC of codes.

Dans la septième opération, le dispositif 140 associe un score sc(i,j) à chaque code z(i,j) et compare ce score sc(i,j) avec un seuil S2.In the seventh operation, the device 140 associates a score sc(i,j) with each code z(i,j) and compares this score sc(i,j) with a threshold S2.

Le seuil est choisi de manière à ce que si un score dépasse le seuil S2 alors le code z(i,j) est considéré comme ayant atteint un optimum de succès.The threshold is chosen so that if a score exceeds the threshold S2 then the code z(i,j) is considered to have reached an optimum of success.

Les quatrième, cinquième, sixième et septième opération sont itérées tant qu’un score associé à un code de l’ensemble EC de codes n’est pas supérieur au seuil S2.The fourth, fifth, sixth and seventh operations are iterated as long as a score associated with a code from the EC set of codes is not greater than the threshold S2.

Dans une huitième opération, le code sélectionné dont le score est supérieur au seuil S2, qui est référencé z’ sur la , est présenté à l’entrée du décodeur 150 et le décodeur 150 calcul un modèle tridimensionnel X’ du véhicule à partir de ce code z’.In an eighth operation, the selected code whose score is greater than the threshold S2, which is referenced z' on the , is presented at the input of the decoder 150 and the decoder 150 calculates a three-dimensional model X' of the vehicle from this code z'.

illustre schématiquement un auto-encodeur selon un exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates an autoencoder according to a particular and non-limiting embodiment of the present invention.

De manière générale, un auto-encodeur, ou auto-associateur est un réseau de neurones artificiels utilisé pour l'apprentissage non supervisé de caractéristiques discriminantes. L'objectif d'un auto-encodeur est d'apprendre une représentation (encodage) d'un ensemble de données, généralement dans le but de réduire la dimension de cet ensemble. La forme la plus simple d'un auto-encodeur est un réseau de neurones non récurrents qui se propage vers l'avant, très semblable au perceptron multicouches.Generally speaking, an autoencoder, or autoassociator, is an artificial neural network used for unsupervised learning of discriminative features. The objective of an autoencoder is to learn a representation (encoding) of a set of data, generally with the aim of reducing the dimension of this set. The simplest form of an autoencoder is a non-recurrent neural network that propagates forward, very similar to the multilayer perceptron.

Un auto-encodeur comporte un premier module appelé encodeur, référencé 120 sur la , et un second module appelé décodeur, référencé 150 sur la .An autoencoder includes a first module called an encoder, referenced 120 on the , and a second module called decoder, referenced 150 on the .

L’association de cet encodeur 120 et de ce décodeur 150 conduit à des erreurs de reconstruction faibles comparées à l’utilisation d’un seul module.The combination of this encoder 120 and this decoder 150 leads to low reconstruction errors compared to the use of a single module.

Un auto-encodeur ne requiert que peu de paramètres relativement à d’autres réseaux de neurones, ce qui facilite son implémentation.An autoencoder requires few parameters compared to other neural networks, making it easier to implement.

L’encodeur 120 comporte une couche d’entrée et le décodeur 150 comporte une couche de sortie . La couche de sortie possède un même nombre de neurones (nœuds) que la couche d’entrée , autrement dit et ont le même nombre de dimensions.The encoder 120 includes an input layer and the decoder 150 includes an output layer . The output layer has the same number of neurons (nodes) as the input layer , in other words And have the same number of dimensions.

L’auto-encodeur peut aussi comporter une ou plusieurs couches encodeur cachées reliant l’encodeur et le décodeur.The autoencoder may also include one or more hidden encoder layers connecting the encoder and decoder.

Une entrée de l’auto-encodeur correspond à une entrée de l’encodeur 120. Une sortie de l’encodeur 120 correspond à une entrée d’une couche de neurones cachée la plus interne à l’auto-encodeur, dite couche latente. Un code z(i) est issu de la couche latente. Le code z(i) est aussi généralement appelé variable latente ou représentation latente. Le code z(i) représente l’entrée mais dans un espace avec moins de dimensions (moins d’informations pour représenter z(i) que ).An input from the autoencoder corresponds to an input from the encoder 120. An output from the encoder 120 corresponds to an input from a hidden layer of neurons most internal to the autoencoder, called the latent layer. A z(i) code comes from the latent layer. The z(i) code is also generally called a latent variable or latent representation. The code z(i) represents the input but in a space with fewer dimensions (less information to represent z(i) than ).

L’encodeur 120 a pour but de produire (calculer) un code z(i) à partir d’une entrée et le décodeur 150 a pour but d’obtenir (reconstruire) une sortie (modèle tridimensionnel de véhicule) à partir d’un code The purpose of the encoder 120 is to produce (calculate) a code z(i) from an input and the decoder 150 aims to obtain (reconstruct) an output (three-dimensional vehicle model) from a code

Selon une variante, l’encodeur 120 et le décodeur 150 peuvent être mis en œuvre par des fonctions (transitions), et , telles que :According to a variant, the encoder 120 and the decoder 150 can be implemented by functions (transitions), And , as :

est l’espace de dimension où sont et , et où est l’espace auquel appartient le code z(i) de dimension . Les fonctions et sont ainsi définies pour minimiser une erreur entre l’entrée et la sortie .Or is the dimension space where are And , and or is the space to which the code z(i) of dimension belongs . Functions And are thus defined to minimize an error between the input and the exit .

L’espace caractéristique possède une dimension inférieure à celui de l'espace d'entrée . Ainsi le vecteur caractéristique peut être considéré comme une représentation compressée de .The characteristic space has a dimension smaller than that of the input space . So the characteristic vector can be considered as a compressed representation of .

Selon une variante, lorsqu’il n'y a qu'une seule couche cachée, telle que illustré sur la , l'étape d'encodage prend l'entrée et l'associe à un code z(i) obtenu à partir de fonction paramétrée par des valeurs de poids :According to a variant, when there is only one hidden layer, as illustrated in the , the encoding step takes input and associates it with a code z(i) obtained from a function parameterized by weight values:

(1) (1)

est une fonction d’activation, par exemple la sigmoïde ou la fonction ReLU, W une matrice de valeur de poids et b un vecteur de biais.Or is an activation function, for example the sigmoid or the ReLU function, W a weight value matrix and b a bias vector.

L’étape de décodage associe le code à la sortie de forme identique à The decoding step combines the code to the output identical in shape to

(2) (2)

du décodeur peuvent différer ou non des de l'encodeur, selon la conception de l'auto-encodeur.Or of the decoder may or may not differ from the of the encoder, depending on the design of the autoencoder.

illustre schématiquement l’auto-encodeur lors d’une étape d’apprentissage et de test selon un exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates the autoencoder during a learning and testing step according to a particular and non-limiting exemplary embodiment of the present invention.

L’auto-encodeur est entraîné, lors de la phase d’apprentissage, à partir d’un premier ensemble E1 de modèles tridimensionnels M1 de véhicule. Une fois entraîné, l’auto-encodeur est testé lors d’une étape de test, à partir d’un deuxième ensemble E2 de modèles tridimensionnels M2 de véhicule.The autoencoder is trained, during the learning phase, from a first set E1 of three-dimensional vehicle models M1. Once trained, the autoencoder is tested during a test step, using a second set E2 of three-dimensional vehicle models M2.

Selon une variante, les modèles tridimensionnels du premier et deuxième ensembles sont tirés aléatoirement à partir d’un troisième ensemble de modèles tridimensionnels de véhicule.According to a variant, the three-dimensional models of the first and second sets are drawn randomly from a third set of three-dimensional vehicle models.

illustre un organigramme des différentes étapes d’un procédé 200 de codage d’un modèle tridimensionnel de silhouette d’un véhicule selon un exemple de réalisation particulier et non limitatif de la présente invention. illustrates a flowchart of the different stages of a method 200 for coding a three-dimensional silhouette model of a vehicle according to a particular and non-limiting embodiment of the present invention.

Le procédé 200 est mis en œuvre par l’auto-encodeur une fois entraîné et testé comme expliqué précédemment en relation avec la .The method 200 is implemented by the autoencoder once trained and tested as explained previously in relation to the .

Le procédé 200 comporte une étape d’apprentissage 210 de l’auto-encodeur à partir du premier ensemble E1.The method 200 includes a step 210 of learning the autoencoder from the first set E1.

L’étape 210 comporte les sous-étapes 211 à 214.Step 210 includes substeps 211 to 214.

Au cours de la sous-étape 211, un code issu de la couche latente est calculé par l’encodeur de l’auto-encodeur pour un modèle tridimensionnel M1 de silhouette de véhicule présent à une entrée de l’encodeur (équation 1).During substep 211, a code from the latent layer is calculated by the encoder of the autoencoder for a three-dimensional model M1 of vehicle silhouette present at an input to the encoder (equation 1).

Au cours de la sous-étape 212, un modèle tridimensionnel reconstruit est calculé à une sortie du décodeur de l’auto-encodeur à partir du code calculé (équation 2 avec z’=z(i)).During substep 212, a reconstructed three-dimensional model is calculated at an output of the decoder of the autoencoder from the code calculated (equation 2 with z'=z(i)).

Au cours de la sous-étapes 213, une erreur E1 est calculée entre le modèle tridimensionnel M1 et le modèle tridimensionnel reconstruit.During substeps 213, an error E1 is calculated between the three-dimensional model M1 and the reconstructed three-dimensional model.

Au cours de la sous-étape 214, au moins un paramètre de l’auto-encodeur est modifié pour minimiser l’erreur E1 calculée.During substep 214, at least one parameter of the autoencoder is modified to minimize the calculated error E1.

Le procédé 200 comporte également une étape de test 220 de l’auto-encodeur à partir du deuxième ensemble E2.The method 200 also includes a step 220 of testing the autoencoder from the second set E2.

L’étape 220 comporte les sous-étapes 221 à 225.Step 220 includes substeps 221 to 225.

Au cours de la sous-étape 221, un code issu de la couche latente est calculé par l’encodeur de l’auto-encodeur pour un modèle tridimensionnel M2 de silhouette de véhicule présent à une entrée de l’encodeur (équation 1).During substep 221, a code from the latent layer is calculated by the encoder of the autoencoder for a three-dimensional model M2 of vehicle silhouette present at an input to the encoder (equation 1).

Au cours de la sous-étape 222, un taux de compression T est calculé entre le code calculé et le modèle tridimensionnel M2.During substep 222, a compression rate T is calculated between the calculated code and the three-dimensional model M2.

Selon une variante, le taux de compression T est le rapport de la quantité d’informations (nombre de bits) nécessaire pour représenter le code en mémoire sur la quantité d’informations (nombre de bits) nécessaire pour représenter le modèle tridimensionnel M2.According to a variant, the compression rate T is the ratio of the quantity of information (number of bits) necessary to represent the code in memory on the quantity of information (number of bits) necessary to represent the three-dimensional model M2.

Au cours de la sous-étape 223, un modèle tridimensionnel reconstruit est calculé à une sortie du décodeur de l’auto-encodeur à partir du code calculé (équation 2 avec z’=z(i)).During substep 223, a reconstructed three-dimensional model is calculated at an output of the decoder of the autoencoder from the code calculated (equation 2 with z'=z(i)).

Au cours de la sous-étape 224, une valeur de qualité de codage est calculée. Cette valeur de qualité de codage est représentative d’une erreur E2 entre le modèle tridimensionnel reconstruit et le modèle tridimensionnel M2.During substep 224, a coding quality value is calculated. This coding quality value is representative of an error E2 between the reconstructed three-dimensional model and the three-dimensional model M2.

Au cours de la sous-étape 225, au moins un paramètre de l’auto-encodeur est modifié pour minimiser une fonction de coût de codage qui dépend de la valeur de qualité de codage et du taux de compression.During substep 225, at least one parameter of the autoencoder is modified to minimize a coding cost function which depends on the coding quality value and the compression rate.

Selon une variante, la fonction de coût est une somme pondérée de la valeur de qualité de codage et du taux de compression.According to a variant, the cost function is a weighted sum of the coding quality value and the compression rate.

Le procédé 200 comporte également une étape 230 d’obtention d’un modèle tridimensionnel de véhicule M3 de silhouette de véhicule à coder à l’entrée de l’encodeur de l’auto-encodeur.The method 200 also includes a step 230 of obtaining a three-dimensional model of vehicle M3 of vehicle silhouette to be coded at the input of the encoder of the autoencoder.

Le procédé comporte aussi une étape 240 de calcul d’un code (équation 1) issu de la couche latente pour le modèle tridimensionnel M3.The method also includes a step 240 of calculating a code (equation 1) from the latent layer for the three-dimensional model M3.

Selon une variante, la modification d’un paramètre de l’auto-encodeur consiste à rétro-propager l'erreur E1 ou E2 vers l'arrière et effectuer une mise à jour des poids W et W’ (équations 1 et 2).According to a variant, modifying a parameter of the autoencoder consists of back-propagating the error E1 or E2 backwards and updating the weights W and W’ (equations 1 and 2).

Un auto-encodeur est bien souvent entrainé en utilisant l'une des nombreuses variantes de la rétropropagation, e.g., méthode du gradient conjugué, algorithme du gradient. Bien que cela fonctionne de manière raisonnablement efficace, il existe des problèmes fondamentaux concernant l'utilisation de la rétropropagation avec des réseaux de neurones possédant de nombreuses couches cachées. Une fois les erreurs rétro-propagées aux premières couches, elles deviennent minuscules et insignifiantes. Cela signifie que le réseau de neurones apprendra presque toujours à reconstituer la moyenne des données d'entrainement. Bien que les variantes de la rétropropagation soient capables, dans une certaine mesure, de résoudre ce problème, elles résultent toujours en un apprentissage lent et peu efficace. Ce problème peut toutefois être résolu en utilisant des poids initiaux proches de la solution finale. Le processus de recherche de ces poids initiaux est souvent appelé pré-entrainement.An autoencoder is often trained using one of several variations of backpropagation, e.g., conjugate gradient method, gradient algorithm. Although it works reasonably efficiently, there are fundamental problems with using backpropagation with neural networks that have many hidden layers. Once errors are back-propagated to the first few layers, they become tiny and insignificant. This means that the neural network will almost always learn to average the training data. Although variants of backpropagation are able to solve this problem to some extent, they still result in slow and inefficient learning. This problem can, however, be solved by using initial weights close to the final solution. The process of finding these initial weights is often called pre-training.

Selon une variante, l’erreur E1 ou E2 est une erreur quadratique .According to a variant, the error E1 or E2 is a quadratic error .

est généralement la moyenne d'un ensemble de données d'apprentissage.Or is usually the average of a training data set.

illustre un organigramme des différentes étapes d’un procédé 300 de décodage d’un modèle tridimensionnelle M4 de silhouette d’un véhicule selon un exemple de réalisation particulier et non limitatif de la présente invention. illustrates a flowchart of the different stages of a method 300 for decoding a three-dimensional model M4 of the silhouette of a vehicle according to a particular and non-limiting embodiment of the present invention.

Le procédé 300 est mis en œuvre par l’auto-encodeur une fois entraîné et testé comme expliqué précédemment en relation avec la .The method 300 is implemented by the autoencoder once trained and tested as explained previously in relation to the .

Le procédé 300 comprend une étape 310 d’obtention d’un code issu de la couche latente et une étape 320 d’obtention du modèle tridimensionnel M4 à partir de la sortie du décodeur lorsque le code est présent à l’entrée du décodeur.The method 300 comprises a step 310 of obtaining a code from the latent layer and a step 320 of obtaining the three-dimensional model M4 from the output of the decoder when the code is present at the input of the decoder.

illustre schématiquement un dispositif 400 mettant en œuvre le procédé de la , 5 et/ou 7 selon un exemple de réalisation particulier et non limitatif de la présente invention. schematically illustrates a device 400 implementing the method of , 5 and/or 7 according to a particular and non-limiting embodiment of the present invention.

Des exemples d’un tel dispositif 400 comprend, sans y être limité, un équipement électronique tel qu’un ordinateur. Les éléments du dispositif 400, 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 400 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. Selon différents modes de réalisation particuliers, le dispositif 400 est couplé en communication avec d’autres dispositifs ou systèmes similaires, par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés.Examples of such a device 400 include, but are not limited to, electronic equipment such as a computer. The elements of the device 400, individually or in combination, can be integrated into a single integrated circuit, into several integrated circuits, and/or into discrete components. The device 400 can be produced in the form of electronic circuits or software (or computer) modules or even a combination of electronic circuits and software modules. According to different particular embodiments, the device 400 is coupled in communication with other similar devices or systems, for example via a communication bus or through dedicated input/output ports.

Le dispositif 400 comprend un (ou plusieurs) processeur(s) 401 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 400. Le processeur 410 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 400 comprend en outre au moins une mémoire 402 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.The device 400 comprises one (or more) processor(s) 401 configured to execute instructions for carrying out the steps of the method and/or for executing the instructions of the software(s) embedded in the device 400. The processor 410 may include integrated memory, an input/output interface, and various circuits known to those skilled in the art. The device 400 further comprises at least one memory 402 corresponding for example to a volatile and/or non-volatile memory and/or comprises a memory storage device which may comprise volatile and/or non-volatile memory, such as EEPROM, ROM , PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.

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 402.The computer code of the embedded software(s) comprising the instructions to be loaded and executed by the processor is for example stored on memory 402.

Selon un mode de réalisation particulier et non limitatif, le dispositif 400 comprend un bloc 403 d’éléments d’interface pour communiquer avec des dispositifs externes ou encore un serveur distant ou un équipement. Les éléments d’interface du bloc 303 comprennent une ou plusieurs des interfaces suivantes :According to a particular and non-limiting embodiment, the device 400 comprises a block 403 of interface elements for communicating with external devices or even a remote server or equipment. The interface elements of block 303 include one or more of the following interfaces:

- interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi®, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ;- RF radio frequency interface, for example of the Bluetooth® or Wi-Fi® type, LTE (from the English “Long-Term Evolution” or in French “Long-Term Evolution”), LTE-Advanced (or in French LTE-advanced ) ;

- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;- USB interface (from the English “Universal Serial Bus” or “Bus Universel en Série” in French);

- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ;- HDMI interface (from the English “High Definition Multimedia Interface”, or “Interface Multimedia Haute Definition” in French);

- interface LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »).- LIN interface (from English “Local Interconnect Network”, or in French “Réseau interconnecté local”).

Selon une variante, le dispositif 400 comprend une interface de communication 404 qui permet d’établir une communication avec d’autres dispositifs via un canal de communication 405. L’interface de communication 404 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 405 tels que des évènements extérieurs pris en considération par le dispositif 400 pour la mise en œuvre du procédé de la ou 4. L’interface de communication 404 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 (selon la norme ISO 17458) ou Ethernet (selon la norme ISO/IEC 802.3).According to a variant, the device 400 comprises a communication interface 404 which makes it possible to establish communication with other devices via a communication channel 405. The communication interface 404 corresponds for example to a transmitter configured to transmit and receive messages. information and/or data via the communication channel 405 such as external events taken into consideration by the device 400 for the implementation of the method of the or 4. The communication interface 404 corresponds for example to a wired network of the CAN type (from the English “Controller Area Network” or in French “Réseau de controllers”), CAN FD (from the English “Controller Area Network” Flexible Data-Rate” or in French “Flexible Data Rate Controller Network”), FlexRay (according to ISO 17458) or Ethernet (according to ISO/IEC 802.3).

Selon un mode de réalisation particulier supplémentaire, le dispositif 400 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage, un ou des haut-parleurs et/ou d’autres périphériques via respectivement des interfaces de sortie non représentées.According to an additional particular embodiment, the device 400 can provide output signals to one or more external devices, such as a display screen, one or more speakers and/or other peripherals respectively via interfaces output not shown.

illustre un organigramme des différentes étapes d’un procédé de calcul d’un modèle tridimensionnel d’une silhouette d’un véhicule représentant un aspect esthétique du véhicule selon un exemple de réalisation particulier et non limitatif de la présente invention. illustrates a flowchart of the different stages of a method of calculating a three-dimensional model of a silhouette of a vehicle representing an aesthetic aspect of the vehicle according to a particular and non-limiting exemplary embodiment of the present invention.

Dans une première étape 510, des modèles tridimensionnels Mi de silhouette de véhicule sont obtenus à partir d’un premier moyen de stockage ;In a first step 510, three-dimensional vehicle silhouette models Mi are obtained from a first storage means;

Dans une deuxième étape 520, un code est produit pour chaque modèle tridimensionnel Mi obtenu à partir d’un encodeur d’un auto-encodeur, chaque code étant ajouté à un ensemble EC de codes.In a second step 520, a code is produced for each three-dimensional model Mi obtained from an encoder of an autoencoder, each code being added to a set EC of codes.

Dans une troisième étape 530, de critères de succès de modèles tridimensionnels de silhouette de véhicule ayant des indices de succès supérieur à un premier seuil pour un intervalle de prix donné, sont obtenus à partir d’un deuxième moyen de stockage.In a third step 530, success criteria for three-dimensional vehicle silhouette models having success indices greater than a first threshold for a given price interval are obtained from a second storage means.

Dans une quatrième étape 540, un code z(i) est sélectionné parmi l’ensemble EC de codes en fonction des critères de succès obtenus.In a fourth step 540, a code z(i) is selected from the set EC of codes according to the success criteria obtained.

Dans une cinquième étape 550, au moins un deuxième code z(i,j) est produit à partir du code sélectionné, chaque deuxième code produit correspond à une mutation aléatoire du code sélectionné z(i).In a fifth step 550, at least one second code z(i,j) is produced from the selected code, each second code produced corresponds to a random mutation of the selected code z(i).

Dans une sixième étape 560, ledit au moins un deuxième code produit z(i,j) est ajouté à l’ensemble EC de codes.In a sixth step 560, said at least one second product code z(i,j) is added to the set EC of codes.

Dans une septième étape 570, un score est associé à chaque deuxième code z(i,j) et ce score est comparé avec un deuxième seuil.In a seventh step 570, a score is associated with each second code z(i,j) and this score is compared with a second threshold.

Les étapes 540-570 sont itérées tant qu’un score associé à un code de l’ensemble de codes n’est pas supérieur au deuxième seuil.Steps 540-570 are iterated as long as a score associated with a code from the set of codes is not greater than the second threshold.

Dans une huitième étape 580, un modèle tridimensionnel du véhicule est calculé par décodage, par le décodeur de l’auto-encodeur, à partir du code sélectionné dont le score associé est supérieur au deuxième seuil.In an eighth step 580, a three-dimensional model of the vehicle is calculated by decoding, by the decoder of the autoencoder, from the selected code whose associated score is greater than the second threshold.

Bien entendu, la présente invention ne se limite pas aux modes de réalisation et autres exemples ou variantes décrits ci-avant mais s’étend à tous modes et/ou variante de réalisation qui aurait la même portée.Of course, the present invention is not limited to the embodiments and other examples or variants described above but extends to all modes and/or variant embodiments which would have the same scope.

Claims (10)

Procédé de calcul d’un modèle tridimensionnel d’une silhouette d’un véhicule, le procédé étant mis en œuvre par un dispositif, ledit procédé comprenant les étapes suivantes :
- obtention (510) de modèles tridimensionnels de silhouette de véhicule à partir d’un premier moyen de stockage ;
- production (520) d’un code pour chaque modèle tridimensionnel obtenu à partir d’un encodeur d’un auto-encodeur, chaque code étant ajouté à un ensemble de codes ;
- obtention (530), à partir d’un deuxième moyen de stockage, de critères de succès de de silhouette de véhicule ayant des indices de succès supérieur à un premier seuil pour un intervalle de prix donné ;
- sélection (540) d’un premier code parmi l’ensemble de codes en fonction des critères de succès obtenus ;
- production (550) d’au moins un deuxième code à partir du premier code sélectionné, chaque deuxième code produit correspondant à une mutation aléatoire du premier code sélectionné ;
- ajout (560) dudit au moins un deuxième code produit à l’ensemble de codes ;
- association (570) d’un score à chaque code de l’ensemble de codes et comparaison de chaque score avec un deuxième seuil ;
les étapes de sélection (540), production (550), ajout (560) et association (570) sont itérées tant qu’un score associé à un code de l’ensemble de codes n’est pas supérieur au deuxième seuil ;
- calcul (580) du modèle tridimensionnel de silhouette du véhicule par décodage, par un décodeur de l’auto-encodeur, à partir du code dont le score associé est supérieur au deuxième seuil.
Method for calculating a three-dimensional model of a silhouette of a vehicle, the method being implemented by a device, said method comprising the following steps:
- obtaining (510) three-dimensional vehicle silhouette models from a first storage means;
- production (520) of a code for each three-dimensional model obtained from an encoder of an autoencoder, each code being added to a set of codes;
- obtaining (530), from a second storage means, success criteria for vehicle silhouettes having success indices greater than a first threshold for a given price interval;
- selection (540) of a first code from the set of codes according to the success criteria obtained;
- production (550) of at least one second code from the first selected code, each second code produced corresponding to a random mutation of the first selected code;
- addition (560) of said at least one second product code to the set of codes;
- association (570) of a score with each code of the set of codes and comparison of each score with a second threshold;
the selection (540), production (550), addition (560) and association (570) steps are iterated as long as a score associated with a code from the set of codes is not greater than the second threshold;
- calculation (580) of the three-dimensional silhouette model of the vehicle by decoding, by a decoder of the autoencoder, from the code whose associated score is greater than the second threshold.
Procédé selon la revendication 1, dans lequel l’encodeur et le décodeur comportent chacun une couche d’un même nombre de neurones.Method according to claim 1, in which the encoder and the decoder each comprise a layer of the same number of neurons. Procédé selon la revendication 1, dans lequel l’encodeur et le décodeur sont reliés par une seule couche.Method according to claim 1, in which the encoder and the decoder are connected by a single layer. Procédé selon l’une des revendication 1 à 3, dans lequel l’auto-encodeur est entraîné, lors d’une phase d’apprentissage, à partir d’un premier ensemble de modèles tridimensionnels de silhouette de véhicule, et, une fois entraîné, l’auto-encodeur est testé lors d’une étape de test à partir d’un deuxième ensemble de modèles tridimensionnels de silhouette de véhicule.Method according to one of claims 1 to 3, in which the autoencoder is trained, during a learning phase, from a first set of three-dimensional vehicle silhouette models, and, once trained , the autoencoder is tested in a test step using a second set of three-dimensional vehicle silhouette models. Procédé selon l’une des revendications précédentes, dans lequel un indice de succès est un rapport du nombre de vente d’un véhicule répondant à une silhouette particulière par rapport à un nombre de véhicules fabriqués.Method according to one of the preceding claims, in which a success index is a ratio of the number of sales of a vehicle meeting a particular silhouette compared to a number of vehicles manufactured. Procédé selon l’une des revendications précédentes, dans lequel les codes de l’ensemble de codes sont ordonnés selon des indices de succès associés à des silhouettes de véhicule dont des critères de succès ont été obtenus, et le code sélectionné (540) parmi l’ensemble de codes est le code correspondant à l’indice de succès le plus élevé.Method according to one of the preceding claims, in which the codes of the set of codes are ordered according to success indices associated with vehicle silhouettes for which success criteria have been obtained, and the code selected (540) from among the The code set is the code corresponding to the highest success index. Procédé l’une des revendications 1 à 6, dans lequel lorsqu’un code se présente sous la forme d’un ensemble de valeurs binaires, une mutation aléatoire est un changement aléatoire d’au moins une desdites valeurs binaires.Method one of claims 1 to 6, in which when a code is in the form of a set of binary values, a random mutation is a random change of at least one of said binary values. Dispositif (400) de codage ou décodage d’un modèle tridimensionnel de silhouette d’un véhicule comprenant des moyens pour mettre en œuvre des étapes du procédé selon l’une des revendications 1 à 7.Device (400) for coding or decoding a three-dimensional silhouette model of a vehicle comprising means for implementing steps of the method according to one of claims 1 to 7. Produit programme d’ordinateur comportant des instructions adaptées pour l’exécution des étapes du procédé selon l’une des revendications 1 à 7, lorsque le programme d’ordinateur est exécuté par au moins un processeur.Computer program product comprising instructions adapted for the execution of the steps of the method according to one of claims 1 to 7, when the computer program is executed by at least one processor. 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.Computer-readable recording medium on which a computer program is recorded comprising instructions for carrying out the steps of the method according to one of claims 1 to 7.
FR2205359A 2022-06-03 2022-06-03 Method and device for calculating a three-dimensional model of a vehicle silhouette. Pending FR3136297A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2205359A FR3136297A1 (en) 2022-06-03 2022-06-03 Method and device for calculating a three-dimensional model of a vehicle silhouette.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2205359 2022-06-03
FR2205359A FR3136297A1 (en) 2022-06-03 2022-06-03 Method and device for calculating a three-dimensional model of a vehicle silhouette.

Publications (1)

Publication Number Publication Date
FR3136297A1 true FR3136297A1 (en) 2023-12-08

Family

ID=83188417

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2205359A Pending FR3136297A1 (en) 2022-06-03 2022-06-03 Method and device for calculating a three-dimensional model of a vehicle silhouette.

Country Status (1)

Country Link
FR (1) FR3136297A1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HYUN KYUNG HOON ET AL: "Balancing homogeneity and heterogeneity in design exploration by synthesizing novel design alternatives based on genetic algorithm and strategic styling decision", ADVANCED ENGINEERING INFORMATICS, vol. 38, 1 October 2018 (2018-10-01), AMSTERDAM, NL, pages 113 - 128, XP093004120, ISSN: 1474-0346, Retrieved from the Internet <URL:https://www.sciencedirect.com/science/article/pii/S1474034617305657/pdfft?md5=bc50f677993d625e842f53318a9168ad&pid=1-s2.0-S1474034617305657-main.pdf> [retrieved on 20221222], DOI: 10.1016/j.aei.2018.06.005 *
Y PAN ET AL: "INTERNATIONAL DESIGN CONFERENCE -DESIGN 2016 A QUANTITATIVE MODEL FOR IDENTIFYING REGIONS OF DESIGN VISUAL ATTRACTION AND APPLICATION TO AUTOMOBILE STYLING", 16 May 2016 (2016-05-16), XP055614141, Retrieved from the Internet <URL:https://pdfs.semanticscholar.org/1f27/ab1304d2ae5184545421f6e0b24136906e5a.pdf> [retrieved on 20190820] *

Similar Documents

Publication Publication Date Title
EP0624847B1 (en) Device and method to generate an approximating function
CN113222123B (en) Model training method, device, equipment and computer storage medium
CN111445476A (en) Monocular depth estimation method based on multi-mode unsupervised image content decoupling
WO2011007058A1 (en) Simulation of real world evolutive aggregate, in particular for risk management
FR2944125A1 (en) METHOD FOR IDENTIFYING AERODYNAMIC MODELS FOR AIRCRAFT SIMULATION METHOD
CN111325285B (en) Fatigue driving prediction method and device based on automatic machine learning and storage medium
FR3095042A1 (en) PROCESS FOR DEFINING A PATH
EP3888048B1 (en) Super-resolution device and method
FR2756073A1 (en) LEARNING METHOD FOR GENERATING SMALL-SIZE NEURONE NETWORKS FOR DATA CLASSIFICATION
WO2020094995A1 (en) Method of neural network construction for the simulation of physical systems
EP3877912A1 (en) Method of neural network construction for the simulation of physical systems
FR3136297A1 (en) Method and device for calculating a three-dimensional model of a vehicle silhouette.
EP1587003A2 (en) Song search system and song search method
EP1387232A1 (en) Method for determining a value to be allocated to different parameters of a system
CN115346091B (en) Method and device for generating Mura defect image data set
CN115661498A (en) Self-optimization single cell clustering method
FR3136296A1 (en) Method and device for coding a three-dimensional model of a vehicle
FR3089329A1 (en) Method for analyzing a set of parameters of a neural network in order to obtain a technical improvement, for example a gain in memory.
EP4256412A1 (en) System and method for controlling machine learning-based vehicles
EP1688872A2 (en) Informatics tool for prediction
CN113850819A (en) Blood vessel refined segmentation method, device, terminal and storage medium
FR2754080A1 (en) LEARNING METHOD FOR CLASSIFYING DATA ACCORDING TO TWO CLASSES SEPARATED BY A SEPARATING SURFACE OF ORDER 1 OR 2
FR3104291A1 (en) Method and system for configuring an imaging device of a motor vehicle comprising N sensors and N dedicated encoder neural networks
FR3080932A1 (en) AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS
CN118555215B (en) Diffusion model-based missing network traffic matrix filling method and system

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20231208

CD Change of name or company name

Owner name: STELLANTIS AUTO SAS, FR

Effective date: 20240313

PLFP Fee payment

Year of fee payment: 3