Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2019025664) SYSTEM AND METHOD FOR CREATING 3D MODELS OF PRODUCTS
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

Système et procédé de création de

modèles 3D de produits

La présente invention concerne un système et un procédé de création de modèles 3D de produits de détails.

Introduite notamment grâce au célèbre jeu Pokémon Go®, la réalité augmentée (AR) s'applique également à l'industrie du commerce de détail et de l'électronique. En effet, cette technologie permet aux consommateurs d'utiliser des espaces réels pour pratiquement "essayer" dans un environnement réel des modèles 3D de meubles, d'appareils électroniques et autres. Le but est de permettre le commerce partout, pour quiconque, en créant un excellent environnement d'interaction entre acheteurs et vendeurs, permettant aux acheteurs d'expérimenter virtuellement les produits qu'ils cherchent à acheter, sans même quitter leur environnement régulier. Le secteur du commerce électronique a déjà reconnu l'énorme potentiel de la réalité augmentée et comment il pourrait résoudre divers problèmes associés à la vente à distance. Selon une récente étude, le taux de retour des produits a été réduit de plus de 23% en utilisant la réalité augmentée (AR) et la réalité virtuelle (VR). Les applications mondiales de la réalité augmentée dans le commerce de détail et le commerce électronique devraient atteindre 19,8 milliards de dollars d'ici 2020 avec une croissance exponentielle.

Or, alors que les réalités augmentée et virtuelle sont en train de devenir es technologies matures, l'industrie grand public n'a pas de processus pour la production de modèles 3D. Les fabricants achètent généralement des modèles 3D de leurs propres produits auprès d'entreprises externes et seulement pour une petite partie de leurs catalogues.

Aujourd'hui, la production de modèles 3D est plutôt empirique, réalisée à la main, et non automatisée, impliquant une forte intervention humaine. Ainsi, c'est généralement un artiste qui crée ces modèles 3D les

uns après les autres en se basant sur des photos des produits. Il en découle un temps de fabrication important, avec donc un coût de fabrication élevé.

Par conséquent, seule une très petite partie des milliards de produits vendus dans le monde ont un modèle 3D. Sans les modèles 3D les réalités augmentée et virtuelle risquent de perdre leur intérêt et de manquer leur plein potentiel.

La présente invention a pour but de fournir un système et un procédé de création de modèles 3D qui ne reproduisent pas les inconvénients susmentionnés.

La présente invention a ainsi pour but de fournir un système et un procédé de création de modèles 3D qui permettent une création automatique ou quasi-automatique de modèles 3D.

La présente invention a aussi pour but de fournir un système et un procédé de création de modèles 3D qui permettent d'accélérer la fabrication de modèles 3D et d'en réduire substantiellement les coûts.

La présente a donc pour objet un système de création de modèles 3D de produits, comprenant:

- des moyens pour importer des données, telles que des images et des métadonnées relatives auxdits produits,

- des moyens pour normaliser lesdites données importées,

- des moyens pour formater lesdites données normalisées,

- des moyens de traitement d'image, pour extraire desdites images importées des paramètres, caractéristiques et/ou textures relatifs auxdits produits,

- des moyens de conception assistée par ordinateur pour créer des modèles 3D paramétrés desdits produits à partir desdites données formatées et desdits paramètres, caractéristiques et/ou textures extraits,

- des moyens pour exporter lesdits modèles 3D dans une ou plusieurs bases de données, et

- des moyens d'intelligence artificielle pour améliorer progressivement la précision dudit système.

Avantageusement, lesdits moyens pour normaliser lesdites données importées comportent des templates ou gabarits normalisés.

Avantageusement, ledit système comporte en outre des moyens d'interface utilisateur pour obtenir des paramètres, caractéristiques et/ou textures relatifs auxdits produits.

Avantageusement, lesdits moyens d'intelligence artificielle utilisent des réseaux antagonistes générateurs.

La présente a aussi pour objet un procédé de création de modèles 3D de produits, comprenant les étapes suivantes:

- importer des données, telles que des images et des métadonnées relatives auxdits produits,

- normaliser lesdites données importées,

- formater lesdites données normalisées,

- utiliser des moyens de traitement d'image, pour extraire des images importées des paramètres, caractéristiques et/ou textures relatifs auxdits produits,

- utiliser des moyens de conception assistée par ordinateur pour créer des modèles 3D paramétrés desdits produits à partir desdites données formatées et desdits paramètres, caractéristiques et/ou textures extraits, - exporter lesdits modèles 3D dans une ou plusieurs bases de données, et

- utiliser des moyens d'intelligence artificielle pour améliorer progressivement la précision dudit procédé.

Avantageusement, ladite étape de normaliser lesdites données importées utilise des templates ou gabarits normalisés.

Avantageusement, ledit procédé comporte en outre une étape d'utiliser une interface utilisateur pour obtenir des paramètres, caractéristiques et/ou textures relatifs auxdits produits.

Avantageusement, ladite étape d'utiliser des moyens d'intelligence artificielle utilise des réseaux antagonistes générateurs.

Ces caractéristiques et avantages et d'autres apparaîtront plus clairement au cours de la description détaillée suivante, faite en référence aux dessins joints, donnés à titre d'exemples non limitatifs, et sur lesquels :

- la figure 1 est un schéma de principe illustrant le fonctionnement de l'invention, selon un mode de réalisation avantageux,

- la figure 2 illustre les trois étapes de la définition des paramètres pendant le procédé d'analyse de données,

- la figure 3 est un schéma de principe illustrant le fonctionnement du moteur d'intelligence artificielle, selon un mode de réalisation avantageux de l'invention, et

- la figure 4 est un schéma de principe illustrant l'implémentation d'une modélisation procédurale.

La présente invention a notamment pour but de remplacer autant que possible la partie humaine par une automatisation de la déduction à partir des images disponibles. Pour ce faire, l'invention prévoit :

- de normaliser les templates ou gabarits de base; et

- d'intégrer de l'intelligence artificielle.

Le système de la présente invention génère des modèles 3D de produits de détail, en utilisant deux sources distinctes:

- les spécifications des produits inclus dans les bases de données fournies par les clients, en particulier les métadonnées correspondant à ces spécifications, et

- des images 2D du produit.

La méthodologie pour générer des modèles 3D est la suivante:

• Le générateur reprend, dans les bases de données et les images disponibles des produits, les informations nécessaires pour la création de modèles 3D.

• Des techniques de traitement d'image sont appliquées à des images 2D pour extraire des paramètres qui permettent de générer les modèles 3D.

Un modèle 3D est composé de deux parties: la géométrie d'une part, et les matériaux et textures d'autre part.

Étant donné que les modèles produits possèdent diverses géométries, il faut tenir compte de nombreux paramètres. Tout d'abord, les produits sont divisés en catégories en fonction de leur géométrie.

La génération automatique de modèles 3D à partir d'images 2D implique une liste d'outils techniques pour la reconnaissance de formes et de matériaux. Ces outils sont améliorés par des techniques de segmentation d'image qui sont nécessaires pour décomposer un produit en plusieurs sous-composants. On couple la reconnaissance matérielle avec la segmentation d'image.

En se référant notamment aux figures 1 et 4, le fonctionnement du système et procédé de création de modèles 3D comprend:

• l'importation d'informations et d'images provenant de diverses sources spécialisées (interfaces de programmation applicative API, sites et bases de données produits),

· la mise en œuvre de la procédure de normalisation pour fusionner les données collectées et unifier les champs de la base de données dans une unité métrique spécifique, formant des templates ou gabarits normalisés,

• le formatage et la traduction en paramètres de modèle compatibles avec le logiciel de modélisation,

· l'extraction de paramètres, de caractéristiques ou de textures, grâce au traitement d'image, par exemple en utilisant la bibliothèque OpenCV ("Open Computer Vision", bibliothèque graphique libre, spécialisée dans le traitement d'images en temps réel, créée par la société Intel®); seulement lorsque cet outil est inefficace, on prévoit de substituer une interaction humaine via une interface utilisateur, par exemple en utilisant MTurk ("Mechanical Turk", service de micro-travail fourni par la société Amazon®),

• l'utilisation d'un logiciel de modélisation procédurale, tel qu'un logiciel de CAO (Conception Assistée par Ordinateur, par exemple Houdini, solution d'animation 3D créé par la société Side Effects Software Inc.) pour créer les modèles paramétrés du produit, et

• l'exportation du résultat, en particulier au format de fichier COLLADA ("Collaborative Design Activity", signifiant activité de conception

collaborative), qui définit un standard de schéma XML ouvert et qui est utilisé par la base de données des modèles 3D générés par l'invention.

L'utilisation du logiciel de CAO Houdini 3D est avantageuse car il est orienté vers la modélisation procédurale. Flexible et puissant dans les graphismes techniques 3D, le logiciel est susceptible d'être automatisé grâce à l'interface de programmation applicative (API) python Houdini Engine. Les paramètres peuvent être appliqués directement à travers ses outils de script et l'exportation est déjà en format de maille polygone. Houdini permet de modifier et d'assembler facilement un modèle, même à partir des outils de script. Si nécessaire, on peut prévoir une conversion de son format de sortie (FBX) au format compatible avec la base de données des modèles 3D générés par l'invention (COLLADA). Les scripts de Houdini comprennent la conversion, la modification et l'exportation, tout ce qui est nécessaire pour générer automatiquement des modèles 3D à partir de dimensions réelles.

Les images forment une source d'informations importante. Ainsi, le traitement de l'image est une clé de l'invention et représente en même temps un important défi.

En dépit de plusieurs simplifications, certaines difficultés peuvent se poser dues à l'automatisation du processus, telles que des images incomplètes, de faible qualité, de faible résolution et de bruit élevé, des transformations de perspective pour aligner les points pour extraire les mesures correctes, la distorsion de la caméra, la distance jusqu'à l'objet photographié, des objets irréguliers (trous, blocs multiples, formes atypiques), des images qui ne sont pas prises frontalement, etc.

Par conséquent, on utilise des techniques de collecte de données telles que la détection d'angle simple pour un point de vue frontal, la détection de transparence, la correction de perspective ou la simulation de pièces mobiles.

L'invention fournit des modèles 3D à partir d'images 2D et d'analyse de données. La qualité du maillage est un paramètre important pour de bons objets façonnés et texturés. Un maillage plus fin est adapté aux zones critiques telles que les coins, les zones de transitions ou les petits dessins et un maillage plus grand convient aux zones grandes et plates. Ainsi, les modèles 3D de produits tels que les lave-vaisselle ou les tables de cuisson sont plus difficiles à obtenir et certains compromis doivent être effectués.

Un aspect important est l'analyse de données. Certaines informations sur les produits peuvent être trouvés directement sur Internet et sont fiables et d'autres doivent être obtenues grâce à d'autres stratégies, tel que le traitement d'image et l'interaction humaine.

Une première étape est la normalisation des données où on choisit les champs qui peuvent être utiles aux besoins de modélisation et on détermine lesquelles de ces informations sont fiables et représentent correctement les produits.

Le groupe de ces champs de base de données doit de préférence être normalisé et un format approprié pour unifier ces valeurs est par exemple donné par les mesures du produit exprimées dans une unité métrique spécifique. Chaque mesure est liée à une caractéristique de produit (par exemple pour un écran, hauteur globale, diagonale d'écran, etc.). Il s'agit d'une étape intermédiaire qui aide la compréhension des données pour un agent et donne la possibilité de fusionner des données à partir de plusieurs types de sources. Les mesures formatées ne correspondent pas nécessairement à un champ particulier de la base de données de produit, car elle peut résulter de la composition de différents ensembles de données. Entre les sources et les mesures, il est possible d'ajouter des couches de traitement différentes, notamment celles liées au traitement d'image et aux interactions humaines.

Une fois les mesures formatées, elles doivent être traduites dans les paramètres du modèle, afin d'être "comprises" par le logiciel. En fait, les paramètres ne sont pas toujours des valeurs réelles, mais ils dépendent fortement de la logique du logiciel de modélisation interne. Par exemple, ils peuvent être des valeurs relatives, ou une même mesure peut être insérée dans plusieurs fonctionnalités pour être correctement appliquée.

Ici, on se réfère uniquement aux valeurs numériques, mais il est aussi possible d'inclure des chaînes et des valeurs logiques (par exemple, matériaux, présence de détails ...).

Un autre aspect important est le traitement des données. Les paramètres modifient la forme des modèles et les associent à chaque produit individuel. Ils peuvent être faciles ou extrêmement difficiles à obtenir. Certains peuvent être trouvés directement dans une base de données, mais d'autres peuvent nécessiter des opérations complexes ou coûteuses à détecter (par exemple, la position de l'écran dans une face de moniteur, la forme et les proportions des composants). La collecte de paramètres est un gros goulot d'étranglement pour la fidélité des modèles générés au produit réel. Même la forme la plus compliquée pourrait être reproduite avec une liste adéquate de paramètres.

Ci-après seront discutés divers traitements de données, tel que le traitement d'image, la production de textures, les transformations ponctuelles et, si nécessaire, l'intervention humaine.

Concernant le traitement d'image, il faut savoir qu'il n'est pas trivial d'obtenir des informations sur des séries d'images, et ce pour plusieurs raisons. La plus grande difficulté est la qualité des images. Bien qu'il soit fréquent de trouver des images où les produits sont placés sur un fond blanc et les points de vue sont optimaux, ce n'est toujours pas suffisant. Habituellement, les points de vue varient selon un même ensemble d'images. Cela rend plus difficile la recherche automatique des caractéristiques dans la forme d'un produit et nécessite l'ajout de certaines transformations de perspective pour aligner les points trouvés et extraire des mesures correctes. Cette opération ne peut être appliquée qu'à certains cas simples et les résultats ne sont pas très précis, car aucune information n'est donnée sur la façon dont une photo est prise (par exemple distance, distorsion de la caméra). Les images sont en format .png ou .jpg et, comme elles sont destinées à être visualisées sur le Web, leur résolution n'est jamais élevée et le bruit est fort. Il faut donc utiliser une stratégie adaptée à chaque situation et une bonne configuration des coefficients.

Le traitement d'image n'est pas uniquement utilisé pour extraire les valeurs des paramètres, mais aussi pour les utiliser comme textures. C'est le cas de certains objets simples comme les affiches, les portes, les portes, les tapis, qui ont une forme simple et il est facile d'appliquer une image sur eux. Dans ces cas, il peut être nécessaire de recadrer l'image et parfois de rendre l'arrière-plan transparent et d'effectuer une transformation en perspective.

Lorsque les images sont prises sous un angle de vue, elles sont faussées par une perspective. Pour les utiliser comme texture, il faut réparer cette distorsion avec la transformation de la perspective opposée.

Cette opération est couramment utilisée pour la reconnaissance d'objets, et la bibliothèque OpenCV possède tous les outils pour le faire.

Pour calculer la transformation de la perspective, il faut trouver, dans l'exemple d'un écran, les coordonnées des coins à partir des images et des distances réelles entre les coins. Les coins des coordonnées représentent les positions de départ de la transformation. En utilisant les distances entre les coins, on peut calculer leurs coordonnées sur le plan où ils se trouvent. Ayant ce couple de quatre points triés, il est possible de calculer une transformation en perspective entre eux, notamment en calculant la matrice de transformation en utilisant cette relation:

Xi

mapjiatrix


Dans certains cas, notamment complexes, une intervention humaine restera nécessaire. Comme indiqué précédemment, l'invention prévoit d'utiliser une interface, et plus particulièrement l'interface MTurk.

MTurk ("Mechanical Turk" ou Turk Mécanique) est un service offert par Amazon®, où il est possible de vendre ou d'acheter du travail sous la forme d'exercices courts. Cela signifie qu'il est possible de télécharger certaines tâches et de payer quelqu'un qui va le faire pour vous. N'importe qui peut être un travailleur MTurk; Il suffit de créer un compte. Cet outil permet d'automatiser certaines tâches qui ne sont pas faciles à compléter sans intervention humaine (par exemple matériel d'images, position de détails spécifiques dans des images), ce qui nécessiterait beaucoup de temps et d'énergie.

Les exercices doivent être les plus simples possibles, car ils doivent être clairs et rapides à faire. Si un exercice est trop complexe ou long, personne ne voudra le faire ou, dans le pire des cas, la tâche pourrait être mal comprise et les réponses pourraient être fausses. La manière de présenter, expliquer et structurer un exercice est donc très importante. Un autre aspect important dans la planification des exercices est de trouver un moyen de vérifier si les réponses sont correctes. Il existe plusieurs façons de le faire. Il est possible de le vérifier en utilisant le service lui-même ou en posant la même question à plusieurs reprises. Un autre choix est de prendre des échantillons de test de chaque utilisateur afin de vérifier leur fiabilité.

Pour automatiser le procédé, l'invention combine l'utilisation de templates ou gabarits normalisés avec de l'intelligence artificielle (IA).

Les paramètres d'entrée pour le réseau de neurones sont les images et les métadonnées des produits. Les sorties sont les paramètres qui seront injectés dans le template ou gabarit 3D. L'entraînement du réseau de neurones se fait avantageusement grâce aux jeux de photos annotées par des humains au travers de MTurk. Une fois entraînée, l'intelligence artificielle peut de manière autonome et instantanée trouver les paramètres pour toutes les familles de produits sur lesquelles elle a été entraînée.

Une fois que le modèle 3D est généré, un humain va valider qu'il correspond à ce qui était attendu. Si le modèle ne correspond pas, les données peuvent être réinjectées dans ΙΊΑ pour qu'elle puisse apprendre de ses erreurs.

Avantageusement, une deuxième étape de l'automatisation est de faire valider les modèles 3D générés à l'aide d'une deuxième intelligence artificielle qui elle aussi apprendra de mieux en mieux à détecter un bon d'un mauvais résultat. L'assemblage de ces deux intelligences constitue un réseau antagoniste générateur (GAN).

Les réseaux antagonistes générateurs sont des intelligences artificielles du réseau neuronal qui travaillent ensemble pour donner de meilleures réponses. Il s'agit d'un système de deux réseaux de neurones s'opposant l'un à l'autre dans un cadre de jeu à somme nulle. Un réseau neuronal est le générateur et l'autre est le discriminateur. Le générateur tente de fournir des données au discriminateur qui entraînera une mauvaise réponse du discriminateur. Le discriminateur va alors apprendre à ne pas donner une mauvaise réponse, et le générateur tentera de tromper à nouveau le discriminateur. Au fur et à mesure que cela se poursuit, le discriminateur s'améliorera et ne sera pas trompé aussi souvent, et le discriminateur pourra être utilisé pour faire de bonnes prédictions.

Un réseau génère des candidats qui sont évalués. En règle générale, le réseau générateur apprend à mapper d'un espace latent à une distribution de données particulière d'intérêt, tandis que le réseau discriminateur établit une discrimination entre des événements de la vraie distribution de données et les candidats produits par le générateur. L'objectif de formation du réseau générateur est d'augmenter le taux d'erreur du réseau discriminatif (c'est-à-dire de «tromper» le réseau discriminateur en produisant de nouveaux événements synthétisés qui semblent provenir de la vraie distribution de données).

L'idée principale derrière un GAN est d'avoir deux modèles de réseaux neuronaux concurrents, comme illustré sur la figure 3. L'un (le générateur) prend le bruit en entrée et génère des échantillons. L'autre (le discriminateur) reçoit à la fois des échantillons du générateur et des données d'entraînement, et doit pouvoir distinguer les deux sources. Ces deux réseaux jouent un jeu continu, où le générateur apprend à produire des échantillons de plus en plus réalistes, et le discriminateur apprend à mieux distinguer les données générées des données réelles. Ces deux réseaux fonctionnent simultanément, et l'objectif est que cette compétition conduira les échantillons générés à être impossible à distinguer des données réelles.

En pratique, un ensemble de données connu sert de données de formation initiale pour le discriminateur. La formation du discriminateur

implique de l'alimenter avec des échantillons à partir de l'ensemble de données, jusqu'à ce qu'il atteigne un certain niveau de précision. Généralement, le générateur est alimenté avec une entrée aléatoire qui est échantillonnée à partir d'un espace latent prédéfini (par exemple, une distribution normale multivariée). Par la suite, les échantillons synthétisés par le générateur sont évalués par le discriminateur.

L'invention permet ainsi d'automatiser la génération de modèles 3D de produits de consommation, permettant ainsi d'alimenter les bases de données correspondantes rapidement et à faibles coûts, favorisant ainsi le développement de l'utilisation de la réalité augmentée et de la réalité virtuelle dans les domaines des produits de consommation et de l'électronique.

La présente invention a été décrite en référence à un mode de réalisation avantageux, mais il est entendu qu'un homme du métier peut y apporter toutes modifications, sans sortir du cadre de la présente invention telle que défini par les revendications annexées.