FR 3147887 A1 20241018 FR 2303724 A 20230414 PROCÉDÉ ET SYSTÈME D'ANTICRÉNELAGE D'OBJET DANS UNE EXPÉRIENCE DE RÉALITÉ AUGMENTÉE Les procédés, appareils et modes de réalisation techniques localisent des objets en utilisant l'anticrénelage tel que pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel (VTO). Un exemple de système comprend un moteur de localisation d'ongles comportant une circuiterie de calcul pour localiser un ou plusieurs objets d'ongles dans une image d'entrée d'une main ou d'un pied via un ou plusieurs réseaux neuronaux profonds, dans lequel les un ou plusieurs réseaux neuronaux profonds sont configurés pour un anticrénelage dans chacun des composants d'encodeur et de décodeur ; et un composant de rendu comportant une circuiterie de calcul pour rendre une image de sortie simulant un produit pour ongles ou un services pour ongles appliqué sur les un ou plusieurs objets d'ongles, en réponse à la localisation par le moteur de localisation d'ongles, pour fournir une expérience d'essai virtuel (VTO). Dans un mode de réalisation, les opérateurs de flou respectifs dans chacun des encodeurs et décodeurs dispersent des valeurs vers des régions voisines pour contrebalancer la variance de décalage. Figure pour l'abrégé : néant PROCÉDÉ ET SYSTÈME D'ANTICRÉNELAGE D'OBJET DANS UNE EXPÉRIENCE DE RÉALITÉ AUGMENTÉE DOMAINE DE L'INVENTION Cette demande concerne le traitement d’images de façon à localiser un objet dans une ou plusieurs images et plus particulièrement la réalisation d'un anticrénelage d'objet, et le rendu d'un effet sur l'objet dans une expérience de réalité augmentée telle qu’un essayage virtuel (VTO pour Virtual Try On). CONTEXTE Les techniques d’apprentissage profond sont utiles pour traiter des images incluant une série de trames vidéo pour localiser un ou plusieurs objets dans les images. Dans un exemple, les objets sont des portions du corps d’un utilisateur telles qu’un visage ou une main, en particulier les ongles des doigts. Les techniques de traitement d’image sont également utiles pour rendre des effets en association avec ces objets tels que pour augmenter la réalité pour l’utilisateur. Un exemple d’une telle réalité augmentée est la fourniture d’un VTO qui simule l’application d’un produit sur l’objet. La simulation de produit dans l’industrie de la beauté inclut la simulation d’effets de maquillage, de cheveux et d’ongles. D’autres exemples peuvent inclure la localisation d’iris et la simulation d’un changement de couleur de celui-ci, par exemple par une lentille de contact colorée. Ces aspects ainsi que d’autres apparaîtront. Les réseaux d’apprentissage profond sont souvent sujets à une variance de décalage entraînant des différences perceptibles dans la localisation d'objet, comme entre les trames d’un flux vidéo. Des techniques améliorées sont souhaitées pour déterminer des informations d’objet à partir d’images comme lors de la fourniture de réalités augmentées incluant des expériences VTO. RÉSUMÉ Les procédés, appareils et modes de réalisation techniques localisent des objets en utilisant l'anticrénelage tel que pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel (VTO). Un exemple de système comprend un moteur de localisation d'ongles comportant une circuiterie de calcul pour localiser un ou plusieurs objets d'ongles dans une image d'entrée d'une main ou d'un pied via un ou plusieurs réseaux neuronaux profonds, dans lequel les un ou plusieurs réseaux neuronaux profonds sont configurés pour un anticrénelage dans chacun des composants d'encodeur et de décodeur ; et un composant de rendu comportant une circuiterie de calcul pour rendre une image de sortie simulant un produit pour ongles ou un services pour ongles appliqué sur les un ou plusieurs objets d'ongles, en réponse à la localisation par le moteur de localisation d'ongles, pour fournir une expérience d'essai virtuel (VTO). Dans un mode de réalisation, les opérateurs de flou respectifs dans chacun des encodeurs et décodeurs dispersent les valeurs vers les régions voisines pour contrecarrer le scintillement et la variance de décalage, cherchant à obtenir une invariance de décalage. Il est proposé un procédé mis en œuvre par ordinateur comprenant l'exécution sur un processeur d'une ou plusieurs étapes comprenant : la localisation d'un ou de plusieurs objets d'ongles dans une image d'entrée d'une main ou d'un pied via un ou plusieurs réseaux neuronaux profonds, dans lequel les un ou plusieurs réseaux neuronaux profonds sont configurés pour un anticrénelage dans chacun des composants d'encodeur et de décodeur ; et le rendu d'une image de sortie simulant un produit pour ongles ou un services pour ongles appliqué sur les un ou plusieurs objets d'ongle, en réponse à la localisation par le moteur de localisation d'ongle, pour fournir une expérience d'essai virtuel (VTO). Cet aspect ainsi que d'autres seront apparents pour une personne du métier. La est un graphique représentant un contour extrait comprenant une pluralité de points numérotés pour une instance d’un objet représenté dans une carte de classe. La est un graphique représentant un contour standardisé converti à partir du contour de la . La montre un graphique représentant un contour normalisé construit à partir du contour standardisé de la . La est un graphique représentant deux contours, à savoir une forme d’entrée comprenant les points du contour de la et une forme de sortie déterminée à partir des points de sortie d’un modèle d’analyse en composantes principales (PCA) après application de réduction de dimensionnalité à l’aide de PCA. La est un agrandissement représentant une portion de la . La est un graphique représentant deux contours comprenant une forme d’entrée avec bruit ajouté et une forme de sortie comprenant les points de sortie du modèle PCA après application de réduction de dimensionnalité à l’aide de PCA. Les Figures 6A et 6B montrent respectivement une image rendue sans mise en forme d’objet, et une image rendue avec mise en forme d’objet conformément à un mode de réalisation ici. Les Figures 7A et 7B montrent respectivement une image rendue sans mise en forme d’objet, et une image rendue avec mise en forme d’objet conformément à un mode de réalisation ici. Les Figures 8A et 8B montrent respectivement une image rendue sans mise en forme d’objet, et une image rendue avec mise en forme d’objet conformément à un mode de réalisation ici. Les Figures 9A et 9B montrent respectivement une image rendue sans mise en forme d’objet, et une image rendue avec mise en forme d’objet conformément à un mode de réalisation ici La est une illustration d’un réseau d'ordinateurs fournissant un environnement pour divers aspects selon des modes de réalisation ici. La est un schéma fonctionnel d’un dispositif informatique du réseau d'ordinateurs de la . La est un organigramme d'opérations d'un dispositif informatique conformément à un mode de réalisation. La est une illustration graphique d’un CNN traitant une image conformément à un exemple. La est une illustration graphique d’une portion du CNN de la . La est une illustration graphique d’une opération BlurZoom conformément à un mode de réalisation ; et les Figures 15B, 15C, 15D, 15E, 15F et 15G sont des exemples de données de tenseur en lien avec des opérations BlurZoom conformément à des modes de réalisation. La est un organigramme d'opérations d'un dispositif informatique conformément à un mode de réalisation. DESCRIPTION DÉTAILLÉE Conformément aux modes de réalisation ici, sont décrites une ou plusieurs techniques de localisation d’objet et de mise en forme d’objet. Dans des modes de réalisation décrits ici, la classe d’objet est un ongle pour la coloration des ongles tel qu’un ou plusieurs ongles des doigts d’une main ou ongles des orteils d’un pied. Une image peut comprendre plusieurs instances de ces objets. Dans un exemple de main ou de pied pour localiser les ongles, le nombre d’objets est typiquement de cinq. Dans les modes de réalisation ici, un réseau neuronal profond classe et segmente les objets d'ongles. Dans un mode de réalisation, tel que pour fournir une expérience de VTO à partir d’un flux « en direct » de vidéo (par exemple, une vidéo d'autoportrait), chaque trame (par exemple, chaque image) de la vidéo est traitée pour localiser les objets, générer une forme traitée des objets et rendre les objets avec un ou plusieurs effets conformément à la forme traitée. Un exemple de réseau neuronal profond pour la localisation d’objets est décrit dans US2020/0349711A1 publié le 5 novembre 2020, désormais US11410314B2, et intitulé « Image Processing Using a Convolutional Neural Network to Track a Plurality of Objects ». Un exemple de réseau neuronal profond pour la localisation d’objets, tel qu’adapté de US2020/0349711A1, est décrit plus en détail ci-dessous en référence aux Figures 13 et 14. Dans un mode de réalisation, la localisation d’objet comprend la détermination de l’emplacement d’un objet ou de plus d'un objet dans une image. Dans un exemple, un réseau neuronal profond est entraîné en tant que classificateur sémantique pour détecter, par exemple, une classe d’objet particulière. Le réseau neuronal profond peut effectuer une segmentation sémantique pour traiter une image afin de fournir un masque classant chaque pixel pour indiquer si un pixel est ou non un pixel d’objet, c’est-à-dire si un pixel fait partie de la classe d’objet ou est un pixel d’arrière-plan. Dans un mode de réalisation, un masque est une sortie à un canal du réseau indiquant une probabilité pour chaque pixel d’une image d’entrée, telle que traitée par le réseau, de savoir si le pixel est un ongle. Les valeurs de probabilité sont typiquement entre 0 et 1. Un seuil peut être appliqué à la valeur de probabilité d’un pixel pour déterminer quel pixel est un pixel d’ongle et quel pixel est un pixel d’arrière-plan, par exemple, pour produire un masque à seuil de valeurs binaires. Dans un mode de réalisation, chaque pixel se voit attribuer un 1 ou un 0 en réponse au seuil appliqué à la probabilité dans le masque à partir du réseau. Un seuil peut être 0,5. Le masque à seuil résultant est donc une représentation de forme bidimensionnelle de l’objet ou des objets de classe tridimensionnelle dans l’image. Certains réseaux neuronaux profonds peuvent classer de multiples classes d’objets. Dans un mode de réalisation, le réseau neuronal profond produit en outre une carte de classe. Dans un mode de réalisation d'ongles qui localise cinq ongles par main, à titre d’exemple, la carte de classe est une sortie à cinq canaux, consistant en les probabilités pour chaque classe de doigt (auriculaire, annulaire, majeur, index et pouce). Toutefois, ces probabilités ne sont valables qu'au sein des régions d'ongles définies par le masque d'ongle. Par conséquent, la carte de classe ne contient en réalité pas d’informations indiquant si le pixel actuel est un ongle ou non. Pour certaines tâches, une carte de classe est utile au lieu d’un masque de segmentation car le masque a tendance à être plus bruyant tandis que la carte de classe a des bords plus propres. Une carte de classe augmentée pour les objets peut être construite pour contenir la classe d’arrière-plan, à l’aide du masque à seuil. Dans un mode de réalisation, pour faciliter le travail avec la carte de classe et pour définir la carte de classe augmentée, la carte de classe est traitée par aplatissement de la carte de classe à 5 canaux en une carte à 1 canal où chaque pixel contient un nombre entier représentant la classe, où la classe est déterminée par le doigt avec la probabilité la plus élevée. La classe « d'arrière-plan » est également ajoutée en utilisant les données du masque. La carte de classe augmentée peut être utilisée, dans un mode de réalisation, pour trouver des contours des objets (ongles), par exemple. Il est noté qu’il est possible d’utiliser soit le masque à seuil, soit la carte de classe augmentée pour une étape d’extraction de contour. De plus, dans un mode de réalisation, le réseau neuronal profond produit en outre une carte de direction indiquant une direction de chaque objet telle que d’une première extrémité à une seconde extrémité de l’objet (par exemple, d'une base jusqu'à un bout ou vice versa pour un objet d'ongle). La localisation d’objet est décrite plus en détail ci-dessous, après une description de la mise en forme d’objet. La mise en forme d’objet affine la forme de l’objet à partir d'informations de forme d’objet présentées dans la carte de classe. Amélioration d'une forme d’objet Les informations de forme d'objet dans les cartes de classe peuvent être inexactes et les différences de détection entre les trames d’une vidéo peuvent mettre en évidence des différences de forme, en particulier des inexactitudes. Un objectif de la tâche de mise en forme d’objet est d’améliorer la forme et la stabilité d'un objet (par exemple, lorsqu’il est rendu dans une image de sortie). À partir de la carte de classe, un contour de chaque objet peut être déterminé, où le contour comprend une marge ou une bordure autour de l’objet suivant le contour extérieur de la forme de l’objet telle que représentée sur la carte de classe. Dans un mode de réalisation, une carte de classe augmentée est définie et utilisée pour l’extraction de contour. Dans un mode de réalisation, un modèle de forme est utilisé pour affiner la forme de chaque objet, en réponse aux contours. La forme affinée est utile pour actualiser le masque. Dans des modes de réalisation, le rendu, le processus d’application d’un effet sur l’objet pour construire une image de sortie telle que pour une expérience de VTO, se fait en réponse aux contours d’objet traités au lieu des contours de la carte de classe d’origine pour chaque objet détecté. Un masque révisé peut être déterminé conformément aux formes affinées telles que déterminées par application des contours à un modèle de forme. Pendant le rendu, le masque est utilisé car les valeurs de probabilité font apparaître le résultat rendu plus lisse. Dans un mode de réalisation, lors du rendu, le traitement rend un ongle à la fois dans l’image de sortie, de sorte que la carte de classe est également utile pour déterminer quels pixels de masque appartiennent à la classe actuelle. Conformément à un mode de réalisation, les étapes de mise en forme d’objet comprennent : 1. L'extraction des contours d’objet de la carte de classe ; 2. Pour chaque contour : 3. La conversion du contour en une forme « standardisée » ; 4. La normalisation du contour pour supprimer la rotation, la position et la mise à l'échelle ; 5. La projection du contour dans un modèle de forme (par exemple un modèle PCA) de dimensionnalité réduite ; 6. La stabilisation du contour dans l’espace de modèle ; 7. La déprojection du contour de l’espace de modèle ; 8. La réapplication de la rotation, la translation et la mise à l’échelle au contour ; et 9. La génération d’un nouveau masque à partir des contours. Chaque étape 1 à 9 est décrite plus en détail. Extraction de contours : dans un mode de réalisation, les contours sont extraits de la carte de classe, par exemple augmentés conformément à la description ci-dessus. Cependant, le masque à seuil peut être utilisé dans un mode de réalisation. L’extraction de contour peut être effectuée à l’aide de techniques connues. Un exemple libre d’une fonction d’extraction de contour est « cv::findContours » disponible auprès d’OpenCV (Open source Computer Vision) sur opencv.org. Cette fonction met en œuvre des aspects de S. Suzuki et K. Abe, « Topological structural analysis of digitized binary images by border following » Computer Vision, Graphics, and Image Processing 30 (1) : 32-46 (1985). La fonction est capable de déterminer automatiquement le nombre de contours et l’emplacement de chaque contour. La montre un graphique 100 représentant un contour 102 extrait comprenant une pluralité de points numérotés de 0 à 30 pour une instance d’un objet représenté dans une carte de classe (non montrée). La est un exemple construit de ce à quoi un contour détecté peut ressembler. Les axes x et y représentent la position (x, y) dans le système de coordonnées du graphique 100 d’image comportant un point 104 qui représente la base et un point 106 qui représente le bout de l’objet (un ongle). Ces points sont fournis à titre d’illustration et ne font pas partie de la sortie de la fonction d’extraction de contour, par exemple. Conversion du contour en forme standardisée : La est un graphique 200 représentant un contour standardisé 202 converti à partir du contour 102. Les contours extraits à l’aide d’une fonction d’extraction (par exemple le contour 102) ont typiquement un nombre différent de points pour des instances d’objet différentes. Également, l'emplacement des points est typiquement différent. Pour simplifier le travail avec des points de contour extraits, les points extraits sont convertis en courbe à l’aide d’une méthode d’ajustement de courbe et rééchantillonnés (par exemple, à des emplacements prédéfinis et répartis de manière relativement uniforme) de sorte que le même nombre (par exemple 25) de points par ongle (objet) sont définis pour une utilisation (par exemple les points 0 à 24) et chaque point respectif est situé approximativement dans la même zone de l'ongle (par exemple, le point 0 (204) se trouve toujours au bout de l’objet d'ongle). Dans un mode de réalisation, l’ajustement de courbe utilisant des splines cardinales est utilisé (voir en.wikipedia.org/wiki/Cubic_Hermite_spline#Cardinal_spline). Normalisation du contour : Les informations de contour standardisées comportent des dimensions de données qui peuvent compliquer une analyse supplémentaire et qui ne se rapportent pas uniquement à la forme en soi. Pour faciliter une analyse supplémentaire de la forme d’objet, par exemple en utilisant des techniques d’analyse en composantes principales (PCA), il est souhaitable que la modélisation de forme ne modélise que la forme et rien d’autre. Les opérations de normalisation éliminent la rotation, la position et la mise à l’échelle des contours standardisés. La montre un graphique 300 représentant un contour normalisé 302 construit à partir du contour normalisé 202. Dans un mode de réalisation, un processus de normalisation comprend : 1) le calcul de la moyenne de tous les points de contour pour obtenir une estimation du centre de l’objet (en variante, le centroïde pourrait être calculé) ; 2) la soustraction du point central de tous les points pour normaliser la position ; 3) la rotation de tous les points de l’angle d'ongle négatif pour normaliser la rotation, par exemple où l’angle d'ongle est obtenu à partir de la carte de direction fournie en sortie par le modèle de détection d'ongle ; et 4) le calcul des valeurs X minimales/maximales et la mise à l’échelle uniforme des points de sorte que les valeurs X soient comprises entre -1 et 1 pour normaliser l’échelle. Dans un mode de réalisation, une mise à l’échelle uniforme est utilisée afin de conserver le rapport de côté. Projection du contour dans l’espace de modèle : Dans un mode de réalisation, la forme d’objet est contrainte à l'aide de techniques PCA, y compris un modèle PCA. Le modèle PCA est entraîné avec les données de forme d’objet applicables. Le modèle PCA a des exigences de données d’entrée. Il est noté que d’autres approches peuvent être utilisées pour un modèle de forme. Par exemple, un procédé différent de réduction de dimensionnalité pourrait être utilisé, comme l'entraînement d’un auto-encodeur à l’aide d’un réseau neuronal. En général, la PCA est utilisée pour apprendre une représentation différente des données de contour, où l’espace nouvellement appris contient des dimensions qui sont ordonnées selon la variance dont elles tiennent compte dans les données. Pour un modèle PCA qui modélise, par exemple, des formes d'ongle, la représentation d’entrée dans un mode de réalisation comprend un ensemble de points 2D et la représentation de sortie comprend un ensemble de nombres qui représente plus abstraitement la forme. Par exemple, le premier nombre peut affecter la forme globale de haut niveau, tandis que les nombres suivants peuvent affecter progressivement les détails de plus en plus fins de la forme. La réduction de dimensionnalité (sur le modèle PCA) peut être effectuée pour contraindre une forme d’ongle par élimination des dimensions qui modélisent les petits détails, ce qui peut donner une forme d’ongle paraissant plus lisse et plus naturelle. Les données résultantes de modèle PCA sont ensuite déprojetées de retour dans l’espace d'entrée (par exemple les contours) pour obtenir un nouvel ensemble de points 2D. Pour cette tâche, dans un mode de réalisation, le modèle PCA répond à trois objectifs. Le modèle PCA contient des connaissances sur l'aspect d'une forme d’ongle valide et peut être utilisé pour contraindre le contour d'ongle détecté afin de corriger tout contour atypique ou bruyant. La stabilisation peut être effectuée dans l’espace PCA, ce qui permet de stabiliser la forme dans le temps (par exemple, entre des trames d’une vidéo). Le modèle peut également mesurer la quantité d’erreur entre la forme actuelle et la forme d'ongle la plus proche du modèle. Si l’erreur est importante, cela peut indiquer une fausse détection ou un contour très inexact et elle peut rejeter cet ongle particulier du rendu. Il peut être préférable de ne pas rendre un ongle que de le rendre de forme vraiment inexacte. Un exemple où la forme est inexacte comporte une occlusion par un objet autre qu’un ongle ou lorsque deux objets d'ongles se chevauchent et ne peuvent pas être distingués. De plus, l’inexactitude peut être causée par un certain nombre d’autres facteurs tels que : mauvais éclairage, flou de mouvement, limite non nette entre l’ongle et l’arrière-plan, et tout ce qui rendrait difficile la segmentation correcte de l’ongle. Pour entraîner le modèle PCA, les contours des données d’entraînement d'ongles sont prétraités à l'aide des mêmes étapes de standardisation et de normalisation que celles décrites ci-dessus. Pour chaque objet d'ongle, l’entrée vers le modèle PCA est de 25 points (50 dimensions au total lorsqu’elles sont aplaties, en raison des valeurs des points x et y). Environ 6500 formes d'ongles ont été utilisées pour l’entraînement du modèle. La réduction de dimensionnalité est effectuée lors de la projection sur l’espace PCA. La PCA fournit un moyen de réaliser une cartographie de l’espace d’entrée à l’espace PCA. La transformation comprend la multiplication des données d’entrée par une matrice de projection. Cette matrice est obtenue lors de l'entraînement. Pour plus de détails, voir en.wikipedia.org/wiki/Principal_component_analysis#Dimensionality_reduction. Il existe un compromis entre la capacité du modèle à contraindre la forme et l'expressivité du modèle. Si le nombre de dimensions est faible, le modèle contraindra très bien la forme d’ongle, mais peut avoir des difficultés à modéliser toutes les formes d'ongles et poses d’ongles possibles. Si un grand nombre de dimensions est utilisé, il peut mieux modéliser les différentes formes et poses d’ongles, mais il sera moins performant pour contraindre la forme. L’expérimentation a montré que sa réduction de 50 à 15 dimensions conférait un équilibre acceptable dans le compromis ci-dessus. Cette réduction peut être effectuée après l’entraînement du modèle de forme et comprend le « rognage » de la matrice de projection d'après le nombre de dimensions. La est un graphique 400 représentant deux contours, à savoir une forme d’entrée comprenant les points du contour 302 et une forme de sortie (contour 402) déterminée à partir des numéros de sortie du modèle PCA après application de réduction de dimensionnalité à l’aide de PCA. Dans cet exemple, comme l’entrée est déjà relativement lisse, la sortie n’est pas très différente de l’entrée. La est un agrandissement représentant une portion de la au niveau de la zone 404 montrant les points numérotés du contour 302 et du contour 402. Les points du contour 302 sont représentés sous forme de cercle creux et sont immédiatement adjacents à un coin inférieur gauche du numéro du point. La est un graphique 500 représentant deux contours, à savoir une forme d’entrée comprenant les points d’un contour 502 et une forme de sortie (points du contour 504) déterminée à partir des numéros de sortie du modèle PCA après application de réduction de dimensionnalité à l’aide de PCA. Le contour d’entrée 502 de la montre un exemple différent où le bruit est intentionnellement ajouté à la courbe d’entrée pour simuler une détection de bruit. L’utilisation de la réduction de dimensionnalité PCA élimine presque tout le bruit. Stabilisation dans l’espace PCA : Facultativement, dans un mode de réalisation, les données de forme sont stabilisées dans le temps. En mode « en direct » (par exemple dans un composant d’une expérience de VTO où les trames d’une vidéo sont rendues avec des effets appliqués sur un ou plusieurs objets dans les trames), les données PCA (par exemple dans l’espace PCA) sont stabilisées afin de stabiliser la forme dans le temps (par exemple d'une trame à l’autre). Dans un mode de réalisation, une moyenne mobile exponentielle est appliquée aux données PCA, où le poids est déterminé par la vitesse des ongles afin de minimiser le retard perçu. Dans un mode de réalisation, la vitesse est déterminée par calcul du changement de position centrale du contour d’une trame à l’autre. Un historique de N vitesses actuelles et passées est conservé et la moyenne est calculée pour produire une vitesse finale par ongle. Dans un mode de réalisation, N =2. Lorsque les ongles bougent, peu de stabilisation est effectuée et lorsque les ongles sont immobiles, une grande quantité de stabilisation est utilisée. Dans le mode de réalisation, le même poids est appliqué à tous les composants. Dans un autre mode de réalisation, les composants sont pondérés différemment. Par exemple, les composants les plus importants (qui modélisent la forme globale) peuvent être moins stabilisés que les composants les moins importants (qui modélisent les petits détails de la forme). La stabilisation n'est pas applicable au traitement et au rendu d’une image unique, car aucun domaine temporel n’est présent dans les données. Il est préférable de stabiliser dans l’espace de données PCA, bien qu’il serait possible de stabiliser après déprojection depuis l’espace PCA, par exemple après avoir réappliqué les transformations. Un avantage de la stabilisation au sein de l’espace PCA est qu’elle se concentre uniquement sur la stabilisation des aspects essentiels de la forme, plutôt que d'affecter la rotation, la position, etc. La stabilisation de la position peut produire un retard très perceptible, ce qui n’est pas un résultat préféré. Déprojection depuis l’espace PCA : Dans cette étape, les données PCA sont déprojetées de retour dans l’espace d’origine (espace de contour) pour obtenir le nouveau contour. Réapplication de la rotation, la translation et la mise à l’échelle : La rotation, la translation et la mise à l’échelle sont réappliquées au nouveau contour. Génération d'un nouveau masque : Une nouvelle image de masque d’ongle (par exemple une image de rendu) est générée par traçage des nouveaux contours pour chaque ongle dans une image vierge. Une nouvelle carte de classe est également générée car les formes d'ongles ont à présent changé. Le rendu peut être effectué conformément au nouveau masque, par exemple, pour rendre un effet au sein de la région de l’objet définie par le contour actualisé, à savoir sur les pixels à l’intérieur, tels qu’identifiés par le nouveau masque. Dans un exemple, l’effet est un effet d'ongle, par exemple l’application d’un couleur d'ongles pour simuler un vernis à ongles ou une texture d’ongle. D’autres effets d'ongles peuvent être appliqués en réponse à l’objet mis en forme. Par exemple, la forme d’ongle peut être appliquée, par exemple, pour prolonger la longueur afin de simuler une manucure à la française, un type acrylique ou un autre type de matériau de forme d’ongle, etc. Résultats d'exemples de mise en forme d’objet Les Figures 6A et 6B montrent, en lien avec un premier exemple d’image d’entrée (non montrée), une image rendue sans mise en forme d'objet 600A, et une image rendue avec mise en forme d'objet 600B conformément à un mode de réalisation ici. Les Figures 7A et 7B montrent, en lien avec un deuxième exemple d’image d’entrée (non montrée), une image rendue sans mise en forme d'objet 700A et une image rendue avec mise en forme d'objet 700B conformément à un mode de réalisation ici. Les Figures 8A et 8B montrent, en lien avec un troisième exemple d’image d’entrée (non montrée), une image rendue sans mise en forme d'objet de 800A et une image rendue avec mise en forme d'objet 800B conformément à un mode de réalisation ici. Les Figures 9A et 9B montrent, en lien avec un quatrième exemple d’image d’entrée (non montrée), une image rendue sans mise en forme d'objet 900A et une image rendue avec mise en forme d'objet 900B conformément à un mode de réalisation ici. Les Figures 6A et 6B, 7A et 7B, 8A et 8B et 9A et 9B sont des portions agrandies d'images de main pour montrer plus clairement les différences fournies par la mise en forme d’objet. La est une illustration d’un réseau d'ordinateurs fournissant un environnement pour divers aspects selon des modes de réalisation ici. La est un schéma fonctionnel d’un dispositif informatique du réseau d'ordinateurs de la . En référence à la , un exemple de réseau d'ordinateurs 1000 est montré, dans lequel un dispositif informatique 1002 à usage personnel est exploité par un utilisateur 1004. Le dispositif 1002 est en communication via un réseau de communications 1006 avec des dispositifs informatiques de serveur situés à distance, à savoir le serveur 1008 et le serveur 1010. L’utilisateur 1004 peut être un consommateur de produits ou de services liés aux ongles. Sont également montrés un second utilisateur 1012 et un second dispositif informatique 1014 configurés pour une communication via le réseau de communications 1006, telle que pour communiquer avec les dispositifs de serveur 1008 ou 1010. Le second utilisateur 1012 peut également être un consommateur de produits ou de services liés aux ongles. En bref, chacun des dispositifs informatiques 1002 et 1014 est configuré pour effectuer un essayage virtuel de produits ou de services pour ongles. Dans un mode de réalisation, un réseau neuronal pour localiser les objets d'ongles est stocké et utilisé à bord du dispositif informatique 1002 ou 1014. Dans une variante de mode de réalisation ou il peut être fourni à partir du serveur 1008 tel que via un service en nuage, un service Web, etc. à partir d’une image ou d'images reçues du dispositif informatique 1002 ou 1014. Dans un mode de réalisation, le réseau neuronal est tel que décrit ici et fournit en sortie des masques et des cartes de classe lors du traitement d'images. Ainsi, les dispositifs 1002, 1014 ou 1008 peuvent chacun comprendre un moteur de localisation d’objet d'ongle ayant une circuiterie de calcul configurée pour localiser un ou plusieurs objets d'ongles dans une image d’entrée d’une main ou d’un pied via un ou plusieurs réseaux neuronaux profonds. Les un ou plusieurs objets localisés peuvent être remis en forme à l’aide d’un modèle de forme entraîné tel que décrit ici. Ainsi, les dispositifs 1002, 1014 ou 1008 peuvent chacun comprendre un moteur de mise en forme d'ongles comportant une circuiterie de calcul pour la remise en forme, via un modèle de forme entraîné, des un ou plusieurs objets d'ongles tels que localisés par le moteur de localisation d'ongles. Dans un mode de réalisation, le modèle de forme entraîné réduit la dimensionnalité de données pour identifier les particularités importantes. Dans un mode de réalisation, le modèle entraîné est défini et entraîné conformément aux techniques d’analyse en composantes principales. Les objets d’ongles remis en forme sont utiles pour rendre des effets sur les images d’entrée, tels que pour simuler un produit ou un service fournissant une expérience d’essayage virtuel (VTO) à un utilisateur. Ainsi, les dispositifs 1002, 1014 ou 1008 peuvent chacun comprendre un composant de rendu comprenant un circuit de calcul pour rendre une image de sortie simulant un produit pour ongles ou un service pour ongles appliqué sur les un ou plusieurs objets d’ongle conformément à la remise en forme par le moteur de mise en forme d'ongles pour fournir une expérience de VTO. Dans un mode de réalisation, les dispositifs 1002 et 1014 comprennent des dispositifs d’affichage respectifs pour visualiser l’expérience de VTO. Le dispositif 1008 ou 1010 peut fournir un ou plusieurs services en nuage et/ou sur le Web tels que l’un ou les deux d’un service pour recommander des produits ou services liés aux ongles (par exemple services de salon de manucure) et d'un service d’achat de produits ou services liés aux ongles par le biais d’une transaction de commerce électronique. Ainsi, par exemple, chacun des dispositifs 1002, 1014, 1008 ou 1010 peut comporter un composant de VTO d'ongle comportant une circuiterie de calcul pour l’un ou les deux d'une recommandation de produit pour ongles ou de service pour ongles pour un essayage virtuel, et d'un achat du produit pour ongles ou du service pour ongles via une transaction de commerce électronique. Dans un mode de réalisation, le composant de VTO d'ongle des dispositifs 1002 et 1014 peut communiquer avec l'un ou les deux serveurs 1008 et 1010 pour obtenir une recommandation ou effectuer une transaction d’achat. Il est entendu que les dispositifs liés aux services de paiement pour effectuer une transaction de commerce électronique ne sont pas montrés par souci de simplicité, et que les composants de stockage stockant des informations de produits ou de services pour ces recommandations et/ou achats ne le sont pas non plus. Les dispositifs 1002 et 1014, dans un mode de réalisation, comprennent des caméras respectives telles que pour la prise d’images d’entrée, qui peuvent comprendre des images d'autoportrait, y compris des vidéos ayant une série de trames. Les images d’entrée pour traitement peuvent être des trames de la vidéo, y compris, par exemple, une trame actuelle d’une vidéo. Chacun des éléments 1002, 1014 ou 1008 peut comprendre un composant de stabilisation comportant une circuiterie de calcul pour stabiliser la remise en forme des un ou plusieurs objets d'ongles entre la série de trames de la vidéo. Le dispositif informatique 1002 est montré comme un dispositif mobile portable (par exemple un smartphone ou une tablette). Cependant, il peut s’agir d’un autre dispositif informatique tel qu’un ordinateur portable, un ordinateur de bureau, un poste de travail, etc. De même, le dispositif 1014 peut prendre un autre facteur de forme. Les dispositifs informatiques 1002 et 1014 peuvent être configurés à l’aide d’une ou de plusieurs applications natives ou d’applications par navigateur, par exemple, pour fournir l'expérience de VTO. La est un schéma fonctionnel du dispositif informatique 1002, conformément à un ou plusieurs modes de réalisation de la présente divulgation. Le dispositif informatique 1002 comprend un ou plusieurs processeurs 1102, un ou plusieurs dispositifs d'entrée 1104, un dispositif d'E/S gestuel 1106, une ou plusieurs unités de communication 1108 et un ou plusieurs dispositifs de sortie 1110. Le dispositif informatique 1002 comporte également un ou plusieurs dispositifs de stockage 1112 stockant un ou plusieurs modules et/ou données. Les modules peuvent faire référence à des modules logiciels, un composant d’un tel dispositif 1002 et peuvent comporter un modèle de réseau neuronal profond 1114 tel que pour un moteur de localisation d'ongles, un modèle de forme (entraîné) 1116 tel que pour un moteur de mise en forme d'ongles, un module pour un composant de rendu 1118, un module pour un composant de stabilisation 1120, des modules d’interface utilisateur tels que des composants pour une interface utilisateur graphique (GUI 11120) et un module pour l’acquisition d’images 1124. Les données peuvent inclure une ou plusieurs images pour traitement ou en sortie de traitement (par exemple, images 1130), etc. Les modules tels que lorsqu’ils sont exécutés par les un ou plusieurs processeurs 1102 offrent la fonctionnalité d’acquérir une ou plusieurs images telles qu’une vidéo et de traiter les images pour fournir l’expérience de VTO. Dans un autre exemple (non montré), un ou plusieurs du modèle de réseau neuronal, modèle de forme entraîné, composant de rendu et composant de stabilisation sont situés à distance (par exemple, sur le serveur 1008, 1010 ou un autre dispositif informatique). Le dispositif informatique 1002 peut communiquer une ou des images d’entrée (par exemple, à partir des images 1130) pour traitement et retour. Le ou les dispositifs de stockage 1112 peuvent stocker des modules supplémentaires tels qu’un système d’exploitation 1132 et d’autres modules (non montrés), y compris des modules de communication ; des modules de traitement graphique (par exemple, pour une GPU de processeurs 1102) ; un module carte ; un module contacts ; un module calendrier ; un module photos/galerie ; un éditeur photo (image/multimédia) ; un lecteur multimédia et/ou un module de diffusion en continu ; des applications réseaux sociaux ; un module navigateur ; etc. Les dispositifs de stockage peuvent être référencés comme unités de stockage ici. Les un ou plusieurs processeurs 1102 peuvent mettre en œuvre une fonctionnalité et/ou exécuter des instructions au sein du dispositif informatique 1002. Par exemple, les processeurs 1102 peuvent être configurés pour recevoir des instructions et/ou des données des dispositifs de stockage 1112 afin d’exécuter la fonctionnalité des modules que montre la , entre autres (par exemple, système d’exploitation, applications, etc.) Le dispositif informatique 1002 peut stocker des données/informations sur les dispositifs de stockage 1112. Certaines des fonctionnalités sont davantage décrites ci-dessous. Il est entendu que les opérations peuvent ne pas correspondre exactement aux modules présentés dans le dispositif de stockage 1112 de la de sorte qu’un module puisse aider à la fonctionnalité d’un autre. Le code de programme d'ordinateur pour réaliser des opérations peut être écrit dans n’importe quelle combinaison d’un ou de plusieurs langages de programmation, par exemple, un langage de programmation orienté objet tel que Java, Smalltalk, C++ ou similaire, ou un langage de programmation procédural conventionnel, tel que le langage de programmation « C » ou des langages de programmation similaires. Le dispositif informatique 1002 peut générer une sortie pour l'affichage sur un écran du dispositif d’E/S gestuel 1106 ou, dans certains exemples, pour l’affichage par un projecteur, un moniteur ou un autre dispositif d’affichage. Il sera entendu que le dispositif d’E/S 1106 gestuel peut être configuré à l’aide de diverses technologies (par exemple en lien avec les capacités d’entrée : un écran tactile résistif, un écran tactile à ondes acoustiques de surface, un écran tactile capacitif, un écran tactile capacitif projectif, un écran sensible à la pression, un écran tactile à reconnaissance d’impulsions acoustiques ou une autre technologie d’écran sensible à la présence ; et en lien avec les capacités de sortie : un afficheur à cristaux liquides (LCD), un afficheur à diode électroluminescente (DEL), un afficheur à diode électroluminescente organique (DELO), un afficheur à matrice de points, un écran à encre électronique, monochrome ou couleur similaire. Dans les exemples décrits ici, le dispositif d’E/S gestuel 1106 comporte un dispositif à écran tactile capable de recevoir en entrée une interaction tactile ou des gestes d’un utilisateur interagissant avec l’écran tactile. Ces gestes peuvent comporter des gestes de tapotement, de glissement ou de balayage, des gestes de pichenette, des gestes de pause (par exemple lorsqu’un utilisateur touche un même emplacement de l’écran pendant au moins une période seuil) où l’utilisateur touche ou pointe vers un ou plusieurs emplacements du dispositif d’E/S gestuel 1106. Le dispositif d’E/S gestuel 1106 peut également comporter des gestes sans tapotement. Le dispositif d’E/S gestuel 1106 peut fournir en sortie ou afficher des informations, telles que l’interface utilisateur graphique, à un utilisateur. Le dispositif d’E/S gestuel 1106 peut présenter diverses applications, fonctions et capacités du dispositif informatique 1002, y compris, par exemple, pour acquérir des images, visualiser des images, traiter les images et afficher de nouvelles images, des applications de messagerie, des communications téléphoniques, des applications de contact et de calendrier, des applications de navigation sur le Web, des applications de jeu, des applications de livre électronique et des applications ou fonctions financières, de paiement et autres applications ou fonctions, entre autres. Bien que la présente divulgation illustre et évoque un dispositif d’E/S gestuel 1106 principalement sous la forme d’un dispositif à écran d’affichage avec des capacités d’E/S (par exemple, écran tactile), d’autres exemples dispositifs d’E/S gestuels peuvent être utilisés pour détecter des mouvements et qui peuvent ne pas comprendre un écran en soi. Dans ce cas, le dispositif informatique 1002 comporte un écran d’affichage ou est couplé à un dispositif d’affichage pour présenter de nouvelles images et les GUI. Le dispositif informatique 1002 peut recevoir une entrée gestuelle d’un pavé tactile/bloc à effleurement, d’une ou de plusieurs caméras, ou d’un autre dispositif d’entrée sensible à la présence ou aux gestes, lorsque la présence signifie des aspects de présence d’un utilisateur, y compris, par exemple, un mouvement de tout ou partie de l’utilisateur. Une ou plusieurs unités de communication 1108 peuvent communiquer avec des dispositifs externes (par exemple, serveur 1008, serveur 1010, second dispositif informatique 1014) comme aux fins décrites et/ou à d’autres fins (par exemple, impression), comme via le réseau de communication 1006, par transmission et/ou réception de signaux de réseau sur les un ou plusieurs réseaux. Les unités de communication peuvent comporter diverses antennes et/ou cartes d’interface réseau, des puces (par exemple, système mondial de localisation (GPS)), etc. pour les communications sans fil et/ou filaires. Les dispositifs d’entrée 1104 et les dispositifs de sortie 1110 peuvent comporter un ou plusieurs boutons, interrupteurs, dispositifs de pointage, caméras, clavier, microphone, un ou plusieurs capteurs (par exemple, biométrique, etc.), un haut-parleur, un avertisseur sonore, un ou plusieurs voyants, un dispositif haptique (vibrant), etc. Un ou plusieurs d’entre eux peuvent être couplés via un bus série universel (USB) ou un autre canal de communication (1138). Une caméra (un dispositif d’entrée 1104) peut être orientée vers l’avant (c'est-à-dire du même côté) pour permettre à un utilisateur de capturer une ou des images à l’aide de la caméra tout en regardant le dispositif d’E/S gestuel 1106 pour prendre un « autoportrait ». Les un ou plusieurs dispositifs de stockage 1112 peuvent prendre différentes formes et/ou configurations, par exemple, telles qu'une mémoire à court terme ou mémoire à long terme. Les dispositifs de stockage 1112 peuvent être configurés pour le stockage à court terme d’informations en tant que mémoire volatile, qui ne conserve pas le contenu stocké lorsque l’alimentation est coupée. Des exemples de mémoire volatile comportent la mémoire vive (RAM), la mémoire dynamique à accès aléatoire (DRAM), la mémoire statique à accès aléatoire (SRAM), etc. Les dispositifs de stockage 1112, dans certains exemples, comportent également un ou plusieurs supports de stockage lisibles par ordinateur, par exemple, pour stocker de plus grandes quantités d’informations que la mémoire volatile et/ou pour stocker ces informations à long terme, en conservant les informations lorsque l’alimentation est coupée. Les exemples de mémoire non volatile incluent les disques durs magnétiques, les disques optiques, les disquettes, les mémoires flash ou des formes de mémoire programmable électriquement (EPROM) ou de mémoire effaçable et programmable électriquement (EEPROM). Bien que non montré, un dispositif informatique peut être configuré comme un environnement d'entraînement pour entraîner le modèle de réseau neuronal 1114, par exemple avec des données d'entraînement et/ou d'essai appropriées. Le réseau neuronal profond peut être adapté à une architecture légère pour un dispositif informatique qui est un dispositif mobile (par exemple, un smartphone ou une tablette) ayant moins de ressources de traitement qu’un dispositif « plus grand » tel qu’un ordinateur portable, un ordinateur de bureau, un poste de travail, un serveur ou un autre dispositif informatique de génération comparable. Il est entendu que le second dispositif informatique 1014 peut être configuré de façon similaire au dispositif informatique 1002. Le second dispositif informatique 1014 peut avoir des GUI telles que pour demander et afficher une ou des images et des diagnostics de signes cutanés à partir de données stockées sur le serveur 1008 pour différents utilisateurs, etc. La est un organigramme des opérations 1200 telles que pour la réalisation d'un procédé. Le procédé, dans un mode de réalisation, est un procédé mis en œuvre par ordinateur exécuté par un processeur pour effectuer une ou plusieurs étapes. En 1202, les opérations rendent un effet sur un objet ayant une forme d’origine telle que détectée dans une image d’entrée (par exemple, par un réseau neuronal profond pour la localisation d’objets), dans lequel l’effet est appliqué à l’image d’entrée conformément à une forme actualisée obtenue à partir d’un modèle de forme entraîné qui contraint la forme d'origine en réponse à des particularités de forme importantes identifiées par le modèle de forme entraîné. Mode de réalisation 1 : Dans ce mode de réalisation, le procédé comprend par exemple l’étape 1202. Des modes de réalisation supplémentaires sont apparents, y compris les modes de réalisation numérotés suivants. Mode de réalisation 2 : Conformément au Mode de réalisation 1, le rendu est un composant d’un procédé pour fournir une expérience de réalité augmentée, telle qu’une expérience de VTO, dans laquelle l’effet simule l’application d’un produit sur l’objet. Mode de réalisation 3 : Dans le Mode de réalisation 1 ou 2, l’objet est un ongle d’une main ou d’un pied et l’effet est un effet d'ongle simulant un produit pour ongles. Mode de réalisation 4 : Dans le Mode de réalisation 3, l’objet est un premier objet d’une pluralité d’objets comportant un second objet comprenant un autre ongle d’une main ou d’un pied et dans lequel la méthode comprend la localisation de chacun du premier objet et du second objet et le suivi des emplacements respectifs du premier objet et du second objet entre des trames d’une vidéo. Le rendu comprend en outre le rendu d’un premier effet sur le premier objet et le rendu d’un second effet, différent du premier effet, sur le second objet, le premier effet étant appliqué conformément à une première forme actualisée obtenue à partir du modèle de forme entraîné pour le premier objet et le second effet étant appliqué conformément à une seconde forme actualisée obtenue à partir du modèle de forme entraîné pour le second objet. Par exemple, le Mode de réalisation 4 propose des ongles ayant différentes couleurs, des effets de décoration d'ongles ou d’autres effets. La localisation et le suivi des différents ongles sont décrits au moins en référence à des cartes de classe et des cartes augmentées et des cinq ongles d’une seule main. Mode de réalisation 5 : Dans l’un quelconque des Modes de réalisation 1 à 4, les une ou plusieurs étapes comprennent en outre : l’obtention d’un contour de l’objet ; l’utilisation du modèle de forme entraîné pour déterminer les particularités importantes de la forme d'origine en réponse au contour ; la contrainte du contour en réponse aux particularités importantes ; et la génération d’un masque de rendu utilisant le contour tel que contraint, le masque de rendu à utiliser lors du rendu de l’effet sur l’objet. Mode de réalisation 6 : Dans le Mode de réalisation 5, les une ou plusieurs étapes peuvent en outre comprendre : la standardisation et la normalisation du contour avant l’application du contour au modèle de forme entraîné, et, en lien avec le contour tel que contraint par le modèle de forme entraîné, l’annulation de la normalisation avant la génération du masque de rendu. Mode de réalisation 7 : Dans l’un quelconque des Modes de réalisation 1 à 6, l’un ou les deux éléments suivants se vérifient : le modèle de forme entraîné réduit la dimensionnalité de données pour identifier les particularités importantes en réponse au contour de la forme d'origine et le modèle de forme entraîné est défini et entraîné conformément aux techniques d'analyse en composantes principales. Mode de réalisation 8 : Dans l’un quelconque des Modes de réalisation 1 à 7, l’image d’entrée comprend une pluralité d’objets d’une même classe (par exemple, cinq objets d'ongles) et l’étape de rendu est effectuée pour chacun de la pluralité d'objets tels que détectés dans l’image d’entrée (par exemple, pour rendre des effets d'ongle sur chaque objet d'ongle). Mode de réalisation 9 : Dans l’un quelconque des Modes de réalisation 1 à 8, l’image d’entrée comprend une trame actuelle d’une série de trames d’une vidéo et dans laquelle les une ou plusieurs étapes comprennent, avant le rendu, la stabilisation de la forme actualisée en réponse à une vitesse de l’objet dans la série de trames de la vidéo, y compris la trame actuelle. Mode de réalisation 10 : Dans le Mode de réalisation 9, l’image d’entrée est une trame actuelle d’un flux vidéo et le procédé comprend : la détection d’un emplacement de l’objet dans une trame précédente de l’étape vidéo ; la détermination de la vitesse de l’objet conformément à l’emplacement dans la trame précédente et un emplacement dans la trame actuelle ; l’application d’une moyenne mobile exponentielle au contour tel que contraint lorsqu’un poids est déterminé par la vitesse. Mode de réalisation 11 : Dans l’un quelconque des Modes de réalisation 1 à 10, le modèle de forme entraîné détermine ou non une erreur de détection de forme pour la forme d'origine conformément au modèle de forme. Dans un tel mode de réalisation, l’étape de rendu peut être effectuée conformément à une absence d’erreur de détection de forme pour l’objet dans l’image d’entrée et l’effet est non appliqué à l’objet en présence de l’erreur de détection de forme. Des modes de réalisation de dispositif informatique et des modes de réalisation de produit-programme informatique correspondant à un ou plusieurs des Modes de réalisation 1 à 11 seront apparents. Le Mode de réalisation 12 est en outre prévu : Un système comprenant : un moteur de localisation d'ongles comportant une circuiterie de calcul pour localiser un ou plusieurs objets d'ongles dans une image d’entrée d’une main ou d’un pied via un ou plusieurs réseaux neuronaux profonds ; un moteur de mise en forme d'ongles comportant une circuiterie de calcul pour la remise en forme, via un modèle de forme entraîné, des un ou plusieurs objets d'ongles tels que localisés par le moteur de localisation d'ongles ; et un composant de rendu comportant une circuiterie de calcul pour rendre une image de sortie simulant un produit pour ongles ou un service pour ongles appliqué sur les un ou plusieurs objets d’ongles conformément à la remise en forme par le moteur de mise en forme d'ongles pour fournir une expérience d’essayage virtuel (VTO). Des modes de réalisation supplémentaires comportaient les modes de réalisation numérotés suivants. Mode de réalisation 13 : Dans le Mode de réalisation 12, le système comprend un composant de VTO d'ongles comportant une circuiterie de calcul pour l’un ou les deux d'une recommandation du produit pour ongles ou du service pour ongles pour l’essayage virtuel, et de l'achat du produit pour ongles ou du service pour ongles via une transaction de commerce électronique. Mode de réalisation 14 : Dans le Mode de réalisation 12 ou 13, l’image d’entrée comprend une trame actuelle d’une série de trames d’une vidéo et le système comprend un composant de stabilisation comportant une circuiterie de calcul pour stabiliser la remise en forme des un ou plusieurs objets d'ongles entre la série de trames de la vidéo. Mode de réalisation 15 : Dans le Mode de réalisation 14 par rapport à une seule main, les un ou plusieurs objets d'ongles comprennent cinq objets comprenant un objet d'ongle d'auriculaire, un objet d'ongle d'annulaire, un objet d'ongle de majeur, un objet d'ongle d'index et un objet d'ongle de pouce et le moteur de localisation d'ongle comprend une circuiterie de calcul pour localiser chacun des cinq objets et suivre les emplacements respectifs des cinq objets entre les trames d’une vidéo et dans lequel le composant de rendu comporte une circuiterie de calcul pour rendre un premier effet simulant un produit ou un service sur au moins l'un des cinq objets et rendre un second effet, différent du premier effet, sur au moins un objet différent parmi les cinq objets. Mode de réalisation 16 : Dans l’un quelconque des Modes de réalisation 12 à 15, l’un ou les deux éléments suivants se vérifient : le modèle de forme entraîné réduit la dimensionnalité de données pour identifier les particularités importantes ; et le modèle entraîné est défini et entraîné conformément aux techniques d’analyse en composantes principales. Mode de réalisation 17 : Dans l’un quelconque des Modes de réalisation 12 à 16, les un ou plusieurs réseaux neuronaux profonds sont configurés pour l’anticrénelage dans chacun des composants d'encodeur et de décodeur, les composants d'encodeur effectuant un anticrénelage lors du sous-échantillonnage et les composants de décodeur effectuant un anticrénelage lors du suréchantillonnage. Des modes de réalisation de procédé mis en œuvre par ordinateur et des modes de réalisation de produit-programme informatique correspondant à un ou plusieurs des Modes de réalisation 12 à 17 seront apparents. Localisation d’objet – Anticrénelage Il est souhaitable que les réseaux neuronaux convolutifs (CNN) soient équivariants en décalage. Cela signifie que le décalage d’une entrée de quelques pixels dans une direction donnée doit produire une sortie égale à la sortie d'origine décalée dans la même direction. Cependant, en raison du crénelage, les CNN produisent des sorties différentes même pour les versions décalées de la même entrée. L'anticrénelage est évoqué dans Zhang, R. Making Convolutional Networks Shift-Invariant Again, International Conference on Machine Learning (ICML) 2019, (disponible au moment du dépôt sur arxiv.org/abs/1904,11486). La est une illustration graphique d’un CNN 1300 conformément à un mode de réalisation de traitement d’une image conformément à un exemple de crénelage amélioré. Le CNN 1300 est adapté à l’anticrénelage à l’aide du CNN de US2020/0349711A1. Le CNN 1300 est un exemple de réseau neuronal profond pour la localisation et la segmentation d'objets, par exemple pour les objets d'ongles avec un anticrénelage amélioré. Lors de la réalisation d'une localisation d’objets, en particulier une segmentation d’objets, le crénelage est introduit par des opérateurs de rééchantillonnage dans un CNN de segmentation, tel que le réseau neuronal profond décrit dans US2020/0349711A1. Le rééchantillonnage se produit au niveau des couches de sous-échantillonnage et de suréchantillonnage lorsque l’entrée est redimensionnée à une résolution inférieure ou supérieure (sous- et suréchantillonnage, respectivement). Dans le CNN d'ongle de US2020/0349711A1, le sous-échantillonnage se produit dans l'encodeur au niveau des couches de convolution avec un pas de 2 (dernières couches convolutives de chaque « étage » dans le CNN non adapté). Le suréchantillonnage se produit dans le décodeur du CNN non adapté lorsque les cartes de particularités de résolution inférieure sont suréchantillonnées et combinées à des cartes de particularités de résolution supérieure (couches « supérieures » dans le CNN non adapté). Pour contrebalancer le crénelage, l’anticrénelage est introduit à la fois dans les couches de convolution de pas 2 de chaque étage et dans les couches de suréchantillonnage des couches supérieures, comme décrit plus en détail. La Figure 13 montre le CNN 1300, tel qu’adapté pour l'anticrénelage conformément à un mode de réalisation, et le traitement d’une entrée (image) 1302 à l'aide de deux branches. La Figure 14 est une illustration graphique d’une portion de CNN 1300. La première branche 1300A (branche supérieure sur la Figure 13) comprend les blocs 1304 à 1324. La seconde branche 1300B (inférieure) de la Figure 13 comprend les blocs 1326 à 1338. Il sera apprécié que ces distinctions en ligne claire puissent être modifiées. Par exemple, le bloc 1326 peut être un bloc de la première branche 1300A. Le bloc 1304 est un bloc 2 de sous-échantillonnage de zone. Bien que non illustré, BlurPool peut être utilisé ici à la place du sous-échantillonnage de zone. Les blocs 1306 à 1320 (également appelés stage_low1, stage_low2... stage_low8) sont des blocs du réseau fédérateur encodeur-décodeur (ayant une phase d'encodeur et une phase de décodeur) comme décrit plus en détail. Les blocs 1306 à 1320 sont adaptés à l’anticrénelage comme décrit plus en détail. Le bloc 1322 est un bloc 2 d’échantillonnage et le bloc 1324 est un premier bloc de fusion de branche comme décrit plus en détail. Le bloc 1322 est adapté à l’anticrénelage comme décrit plus en détail. Le bloc 1326 est également un bloc X2 de suréchantillonnage. Le bloc 1326 est adapté à l’anticrénelage comme décrit plus en détail. Les blocs 1328 à 1334 (également appelés stage_high1, stage_high2... stage_high4) sont des blocs d’une phase d'encodeur comme décrit plus en détail. Les blocs 1328 à 1334, similaires aux blocs 1306 à 1320, sont adaptés à l’anticrénelage comme décrit plus en détail. Le bloc 1338 suréchantillonne x 8, puis fournit la carte de particularités résultante au modèle de décodeur 1340 décrit plus en détail en référence à la . Le bloc 1338 est adapté à l’anticrénelage, comme les blocs 1322 et 1326 décrits plus en détail ci-dessous. Dans un mode de réalisation, le réseau fédérateur d'encodeur-décodeur est modélisée sur MobileNetV2 (Voir, Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov et Liang-Chieh Chen. Mobilenetv2 : Résidus inversés et goulots d’étranglement linéaires. Lors de la Conférence IEEE sur la vision par ordinateur et la reconnaissance des formes (CVPR), juin 2018, tel qu’adapté davantage pour l’anticrénelage, comme décrit ici. Dans un mode de réalisation, la phase d'encodeur (blocs 1328 à 1332) de la seconde branche est également modélisée sur l'encodeur de MobileNetV2 ) tel qu’adapté davantage pour l’anticrénelage tel que décrit ici. Dans un mode de réalisation, les blocs d'encodeurs 1306 à 1320 et 1328 à 1334 sont adaptés à partir de blocs similaires du CNN d'ongle d’origine. Aux blocs 1306 à 1320 et 1328 à 1334, tous les opérateurs CNN d'ongle d’origine de type : [Conv(stride=2) -> BatchNorm -> ReLU] deviennent [Conv(stride=1) -> BatchNorm -> ReLU -> BlurPool(stride=2)] dans le CNN 1300. BlurPool est mis en œuvre comme décrit dans Zhang, R. Making Convolutional Networks Shift-Invariant Again, ICML 2019. Une carte de particularités d’entrée de forme HxLxC est d’abord convolutionnée avec un filtre passe-bas. La taille et le type du filtre sont un hyperparamètre du procédé qu’il contient. Ensuite, la carte de particularités ayant subi un traitement BlurPool est sous-échantillonnée du pas. Dans un mode de réalisation pour les ongles, le pas est de 2 pour le CNN 1300. Dans un mode de réalisation, tous les opérateurs de suréchantillonnage voisins ou bilinéaires les plus proches dans le CNN d'ongle d’origine deviennent un opérateur BlurZoom personnalisé (pas=2) dans le CNN 1300. La est une illustration graphique d’une opération BlurZoom 1500 effectuée lors du suréchantillonnage, conformément à un mode de réalisation. Dans un mode de réalisation, BlurZoom comprend deux étapes : une opération d’insertion de zéro 1500 comme le montre la suivie d’une convolution avec un filtre passe-bas. Les Figures 15B à 15G sont des exemples de données de tenseur en lien avec les opérations BlurZoom conformément aux modes de réalisation décrits plus loin. L'insertion de zéro intercale dans un groupe (par exemple 4 x 4) de valeurs existantes 1502 une pluralité de valeurs zéro, pour produire un groupe suréchantillonné (par exemple 8 x 8) où ¾ des valeurs résultantes sont des valeurs zéro. Le groupe suréchantillonné est alors convolutionné avec un filtre (par exemple gaussien ou autre). Dans un mode de réalisation, les filtres passe-bas BlurZoom sont les mêmes filtres que ceux utilisés dans BlurPool. Si la somme du filtre est égale à 1, les opérations sont multipliées par 4. On peut comprendre que si la somme d'un filtre est égale à 1, cela implique que le filtre préserve l'intensité moyenne de la sortie. Normalement, la somme de la plupart des filtres, y compris les filtres passe-bas, est égale à un. Dans BlurZoom, puisque des zéros sont insérés (ou théoriquement insérés comme décrit ci-dessous), l’intensité moyenne résultante est diminuée. Par exemple, lorsque 3 zéros sont insérés autour de chaque valeur, l’intensité moyenne est réduite à 1/4. Une multiplication par 4 contrebalance cette réduction pour conserver la propriété de préservation d’intensité moyenne du filtre. Dans les opérateurs BlurPool et BlurZoom, les filtres passe-bas fournissent une forme d'anticrénelage pour réaliser l'équivariance de décalage. Normalement, la convolution à pas n'est pas équivariante en décalage, car les valeurs de sortie peuvent changer considérablement lorsque l’entrée est légèrement décalée en raison du sous-échantillonnage discret qui se produit.BlurPool cherche à résoudre ce problème en appliquant un filtre passe-bas avant le sous-échantillonnage. De manière intuitive, le filtre passe-bas peut être considéré comme « diffusant » chaque valeur dans les régions voisines (de valeurs), de sorte que le sous-échantillonnage devient moins sensible aux décalages lorsque les valeurs sont « diffusées ». Conformément aux enseignements et aux techniques ici, dans le cas de BlurZoom, le filtre passe-bas « diffuse » des valeurs dans les lignes et colonnes nouvellement insérées (réellement ou théoriquement), de sorte que toute opération ultérieure reçoit une entrée équivariante en décalage. Comme décrit en référence à la , dans un mode de réalisation sans aucune optimisation, l’opération BlurZoom est mise en œuvre d’abord par insertion de zéros autour de chaque valeur, puis par application d'une convolution à chaque valeur pour le filtrage passe-bas. Par exemple, dans le cas d’une convolution 3x3, le calcul implique 9 multiplications et 8 additions par valeur. Pour optimiser cela, dans un mode de réalisation, les opérations BlurZoom peuvent ignorer les zéros dans le calcul. Les Figures 15B, 15C, 15D, 15E et 15F sont des exemples de données de tenseur (valeurs) 1506, 1508, 1510, 1512 en lien avec des opérations BlurZoom conformément à des modes de réalisation pour illustrer l’optimisation. Les lettres A à D sur les Figures B à E représentent les valeurs existantes avant l’insertion de zéro. Dans le cas d’une convolution 3x3 avec insertion de zéro à pas de 2, une valeur centrale (par exemple, A au centre de la fenêtre 3x3) sera soit entourée de zéros (1506), la valeur centrale sera de zéro et sera entourée de valeurs existantes (par exemple, des valeurs non zéro) dans les coins (1506), soit les valeurs existantes sont dispersées comme montré en 1510 et 1512. Dans le premier cas (1506), si les opérations BlurZoom ignorent les zéros, les opérations BlurZoom n’ont besoin de faire qu’une seule multiplication et aucune addition. Dans le second cas, les opérations de BlurZoom n’ont besoin de faire que 4 multiplications et 3 additions. Les deux derniers cas nécessitent 2 multiplications et une addition. Cela donne une moyenne d’environ 2,25 multiplications et 1,25 addition par valeur de sortie. Dans un mode de réalisation, ceci peut être encore optimisé par omission de l’étape d’insertion de zéro. Dans l’exemple ci-dessus, les opérations BlurZoom pourraient créer un nouveau tenseur double en largeur et en hauteur, et calculer chaque valeur dans le tenseur à l'aide de l’approche ci-dessus, en déterminant quel scénario des Figures 15B à 15E s’applique selon que les numéros de ligne et de colonne sont impairs ou pairs. Il convient de noter que les limites du tenseur seraient un cas particulier. Lorsque la convolution nécessite une valeur en dehors du tenseur, elle « refléterait » les valeurs près du bord. Par exemple, comme montré en 1514 à la , s’il y a des valeurs dans toutes les positions, avec un « A » dans le coin supérieur gauche du tenseur, alors une convolution 3x3 à « A » verrait le résultat à 1516 de la . À noter que dans un scénario réel, la plupart de ces valeurs sont de zéro. Ainsi, dans un mode de réalisation, la convolution 3X3 est optimisée pour réduire les opérations de multiplication ou d'addition en réponse à des valeurs zéro. Il est noté que les valeurs zéro ne doivent pas nécessairement être présentes (c'est-à-dire, insérées). Les zéros sont théoriquement présents lorsque les opérations prennent en compte l’expansion de zéro sans insérer les valeurs. Le Tableau 1 montre une description détaillée couche par couche. Le Tableau 1 présente un résumé détaillé de l’architecture de modèle de segmentation d'ongles. Chaque nom de couche correspond aux blocs des Figures 13 et 14 tel que décrit ici. La hauteur et la largeur font référence à la taille d’entrée de résolution intégrale. Pour la projection 1408 et les couches dilatées 1410, . Pour les étages stage3_low à stage7_low, le nombre de canaux entre parenthèses correspond à la première couche de l’étage (non montrée), qui augmente jusqu’au nombre sans parenthèse pour les couches suivantes du même étage. nom de couche taille de sortie iOS TF.js stage1_low stage2_low stage3_low stage4_low stage5_low stage6_low stage7_low N/A stage8_low N/A stage 1-4_high identique à stage 1-4_low avec taille E/S x2 projection_ p dilatée_ p Le décodeur du CNN 1300 est montré au milieu et en bas à droite de la Figure 13 (par exemple, les blocs 1324 et 1336 (comprenant les blocs de fusion) et les blocs de suréchantillonnage 1322 et 1326 adaptés à l’anticrénelage) et une vue détaillée du modèle de fusion de décodeur pour chacun des blocs 1324 et 1336 est montrée sur la Figure 14. Pour une entrée d’origine de taille , le décodeur fusionne les particularités de stage_low4 (du bloc 1312) avec les particularités suréchantillonnées du bloc 1322 dérivées de stage_low8, puis suréchantillonne (bloc 1326) et fusionne les particularités résultantes via le bloc de fusion 1336 avec les particularités de stage_low4 (bloc 1334). La Figure 14 représente le module de fusion 1400 utilisé pour fusionner les particularités d’informations sémantiques hautes et basse résolution suréchantillonnées représentées par la carte de particularités (1402) avec les particularités d’informations sémantiques basses et haute résolution représentées par la carte de particularités (1404) pour produire des particularités fusionnées haute résolution représentées par la carte de particularités (1406) dans le décodeur à l’aide des blocs 1408, 1410, 1412 et de l’additionneur 1414. En lien avec le bloc 1324, la carte de particularités (1402) est fournie en sortie à partir du bloc 1322 et la carte de particularités (1404) est fournie en sortie à partir du bloc 1312. La carte de particularités (1406) du bloc 1324 est suréchantillonnée en 1326 pour être fournie au bloc 1336 en tant que carte de particularités (1402) dans l’instance du modèle 1400 de ce bloc. Comme noté, le suréchantillonnage effectué aux blocs 1322 et 1326 est adapté à l’anticrénelage. Au bloc 1336, la carte de particularités (1404) est reçue en sortie du bloc 1334 et la carte de particularités (1406) est fournie en sortie au bloc 338. Le bloc 1338 suréchantillonne jusqu’à la résolution d’entrée/4, puis fournit la carte de particularités résultante au modèle de décodeur 1340. Le bloc 1338 est adapté à l’anticrénelage comme noté. Le modèle de décodeur 1340 produit trois types d’informations pour l’image (par exemple, une sortie à 3 canaux 1342) comme décrit ci-dessous. Comme le montre la Figure 14, un classificateur convolutif 1412 est appliqué aux particularités suréchantillonnées, qui sont utilisées pour prédire des étiquettes sous-échantillonnées. Cette « pyramide laplacienne » de sorties (Voir, Golnaz Ghiasi et Charless C. Fowlkes. Laplacian reconstruction and refinement for semantic segmentation. Dans ECCV, 2016) optimise les cartes de particularités de champ réceptif de plus petite taille et de plus haute résolution pour se concentrer sur l’affinement des prédictions à partir de cartes de particularités de champ réceptif de plus grande taille et de basse résolution. Ainsi, sur le modèle 1400, la carte de particularités (non montrée) du bloc 1412 n’est pas utilisée comme sortie en tant que telle. Au contraire, dans l’entraînement, la fonction de perte est appliquée sous la forme d’une régularisation de sortie de pyramide. Le bloc 1342 représente une sortie globale du décodeur 1340 qui comprend trois canaux correspondant aux sorties des blocs des trois branches de décodeur (non montrées). Un premier canal comprend une classification par pixel (par exemple, un masque de premier plan/arrière-plan ou des masques de segmentation d’objet), un deuxième canal comprend une classification des masques segmentés en classes de bouts de doigts individuelles, et un troisième canal comprend un champ de vecteurs de directionnalité 2D par pixel de masque segmenté (par exemple, ( x,y ) par pixel). Dans un mode de réalisation, le décodeur 1340 utilise de multiples branches de décodeur de sortie (par exemple, trois) pour fournir des informations de directionnalité (par exemple, des vecteurs de la base jusqu'au bout dans le troisième canal) nécessaires pour un rendu sur les bouts des ongles, et prédictions de classe d’ongles des doigts (dans le deuxième canal) nécessaires pour trouver des instances d’ongles des doigts à l’aide de composants connectés. Ces décodeurs supplémentaires sont entraînés pour produire des prédictions denses pénalisées uniquement dans la zone d'ongles des doigts annotée de l’image. Chaque branche emploie une fonction de perte respective selon l’exemple. Alors que, dans un mode de réalisation, une fonction exponentielle normalisée (Softmax) est utilisée dans deux des branches, une autre fonction d’activation pour la segmentation/classification peut être utilisée. Il sera entendu que les dimensions ici sont représentatives et peuvent être adaptées à différentes tâches. Par exemple, dans le décodeur 1340, deux branches concernent 10 classes (une par ongle sur deux mains par exemple), et sont dimensionnées en conséquence. Dans un mode de réalisation, le CNN 1300 fournit un réseau neuronal profond pour un moteur de localisation d'ongles afin de localiser un ou plusieurs objets d'ongles dans une image d’entrée d’une main ou d’un pied via un ou plusieurs réseaux neuronaux profonds. Dans un mode de réalisation, une sortie du CNN 1300 est fournie à un composant de rendu, par exemple pour utiliser un ou plusieurs parmi le masque, la carte de classe et les informations directionnelles pour rendre des effets sur les objets détectés. Par exemple, des effets d'ongles sont appliqués sur les ongles détectés à partir du CNN 1300, par exemple pour fournir une expérience d’essayage virtuel (VTO). Dans un mode de réalisation, une sortie du CNN 1300 est fournie à un moteur de mise en forme d'ongles pour la remise en forme, via un modèle de forme entraîné, des un ou plusieurs objets d'ongles tels que localisés par le moteur de localisation d'ongles. Les objets d’ongles remis en forme sont fournis à un composant de rendu pour rendre une image de sortie simulant un produit pour ongles ou un service pour ongles appliqué sur les un ou plusieurs objets d’ongles conformément à la remise en forme par le moteur de mise en forme d'ongles pour fournir une expérience d’essayage virtuel (VTO). La est un organigramme d'opérations 1600 telles que pour un procédé conformément à un mode de réalisation. Le procédé peut comprendre l’exécution par un ou plusieurs processeurs des étapes que montre la . Dans un Mode de réalisation 18, un procédé comprend : (en 1602) la localisation d’un ou de plusieurs objets d'ongles dans une image d’entrée d’une main ou d’un pied via un ou plusieurs réseaux neuronaux profonds (par exemple, d’un moteur de traqueur), dans lequel les un ou plusieurs réseaux neuronaux profonds sont configurés pour un anticrénelage dans chacun des composants d'encodeur et de décodeur ; et (en 1604) un composant de rendu comportant une circuiterie de calcul pour rendre une image de sortie simulant un produit pour ongles ou un service pour ongles appliqué sur les un ou plusieurs objets d'ongles, en réponse à la localisation par le moteur de localisation d'ongle, pour fournir une expérience d’essayage virtuel (VTO). Ces modes de réalisation ainsi que d’autres modes seront apparents, y compris les modes de réalisation numérotés suivants. Mode de réalisation 19 : Dans le Mode de réalisation 18, le procédé comprend l’une ou les deux d'une recommandation du produit pour ongles ou du service pour ongles pour un essayage virtuel, et d'une facilitation d'un achat du produit pour ongles ou du service pour ongles via une transaction de commerce électronique. Mode de réalisation 20 : Dans le Mode de réalisation 18 ou 19, les un ou plusieurs réseaux neuronaux profonds sont configurés pour un anticrénelage dans chaque étage d'encodeur ayant une opération de sous-échantillonnage et chaque bloc de décodeur ayant une opération de suréchantillonnage. Mode de réalisation 21 : Dans le Mode de réalisation 20, chaque bloc de décodeur ayant une opération de suréchantillonnage est configuré avec un opérateur du type : BlurZoom(pas=2), où l’opérateur BlurZoom comprend une opération d’insertion de zéro réelle ou théorique pour intercaler des lignes et des colonnes autour de valeurs existantes et une opération de filtrage passe-bas pour diffuser les valeurs existantes dans les lignes et colonnes nouvellement insérées afin de fournir à toute opération ultérieure une entrée équivariante en décalage. Mode de réalisation 22 : Dans le Mode de réalisation 21, l'opération de filtrage passe-bas est optimisée pour réduire les multiplications et les additions en réponse à des valeurs zéro réellement ou théoriquement insérées. Mode de réalisation 23 : Dans l’un quelconque des Modes de réalisation 20 à 22, chaque étage d'encodeur ayant une opération de sous-échantillonnage est configurée avec des opérateurs du type : Conv(stride=1) -> BatchNorm -> ReLU -> BlurPool(stride=2), où l’opérateur BlurPool comprend l’application d’un filtre passe-bas pour diffuser chaque valeur dans des régions voisines des valeurs. Mode de réalisation 24 : Dans l’un quelconque des Modes de réalisation 18 à 23, le procédé comprend la remise en forme, via un modèle de forme entraîné (par exemple, un moteur de mise en forme d’ongle), des un ou plusieurs objets d'ongles tels que localisés par le moteur de localisation d’ongle ; et dans lequel le composant de rendu rend l’image de sortie conformément à la remise en forme des un ou plusieurs objets d'ongles par le moteur de mise en forme d’ongle. Mode de réalisation 25 : Dans le Mode de réalisation 24 : l’image d’entrée comprend une trame actuelle d’une série de trames d’une vidéo et le procédé comprend la stabilisation de la remise en forme des un ou plusieurs objets d'ongles entre la série de trames de la vidéo. Mode de réalisation 26 : Dans le Mode de réalisation 24 ou le Mode de réalisation 25 : l’un ou les deux parmi : le modèle de forme entraîné réduit la dimensionnalité de données pour identifier les particularités importantes ; et le modèle entraîné est défini et entraîné conformément aux techniques d’analyse en composantes principales. Des modes de réalisation de procédé mis en œuvre par ordinateur et des modes de réalisation de produit-programme informatique correspondant à un ou plusieurs des Modes de réalisation 18 à 26 seront apparents. En outre, n’importe lequel des Modes de réalisation d'anticrénelage 18 à 26 peut être combiné à n’importe lequel des modes de réalisation de mise en forme (contournage) et/ou de stabilisation d’objet 1 à 17 (par exemple, en combinant des modes de réalisation de système, de procédé ou de produit-programme d’ordinateur correspondants. Ainsi, les techniques d’anticrénelage peuvent être utilisées dans des opérations de localisation en combinaison avec les techniques de contournage et/ou de stabilisation d’objet. En plus des aspects de dispositif informatique et de procédé, l'homme du métier comprendra que des aspects de produit-programme d'ordinateur sont divulgués, où des instructions sont stockées dans un dispositif de stockage non transitoire (par exemple une mémoire, un CD-ROM, un DVD-ROM, un disque, etc.), et qui, lorsqu’elles sont exécutées, amènent un dispositif informatique à effectuer l’un quelconque des aspects de procédé stockés ici. Bien que les dispositifs informatiques soient décrits en référence aux processeurs et aux instructions qui, lorsqu’elles sont exécutées, amènent les dispositifs informatiques à effectuer des opérations, il est entendu que d’autres types de circuiterie que les processeurs programmables peuvent être configurés. Des composants matériels comprenant des circuits spécifiquement conçus peuvent être employés, tels que sans s'y limiter, un circuit intégré spécifique à l’application (ASIC) ou d’autres matériels conçus pour effectuer des fonctions spécifiques, qui peuvent être plus efficaces qu’une unité centrale de traitement (CPU) universelle programmée à l’aide d’un logiciel. Ainsi, un aspect appareil se rapporte ici généralement à un système ou dispositif ayant une circuiterie (parfois des références à une circuiterie de calcul) qui est configurée pour effectuer certaines opérations décrites dans le présent document, telles que, notamment, celles d’un aspect méthode dans le présent document, que le circuiterie soit configurée via la programmation ou via sa conception matérielle. La mise en œuvre pratique peut comporter tout ou partie des particularités décrites ici. Ces aspects, particularités et diverses combinaisons, ainsi que d’autres, peuvent être exprimés sous forme de procédés, d’appareils, de systèmes, de moyens d’exécution de fonctions, de produits programmes, et d’autres manières, combinant les particularités décrites ici. Un certain nombre de modes de réalisation ont été décrits. Néanmoins, il sera entendu que diverses modifications pourront être apportées sans s'écarter de l’esprit et de la portée des processus et techniques décrits ici. De plus, d’autres étapes peuvent être fournies, ou des étapes peuvent être éliminées, du processus décrit, et d’autres composants peuvent être ajoutés aux systèmes décrits ou en être retirés. Par conséquent, d’autres modes de réalisation entrent dans la portée des revendications qui suivent. Tout au long de la description et des revendications du présent mémoire, les termes « comprendre » et « contenir » et leurs variations signifient « comportant sans s'y limiter » et ne visent pas à exclure (et ne le font pas) d’autres composants, nombres entiers ou étapes. Les particularités, nombres entiers, caractéristiques, composés, fractions chimiques ou groupes décrits conjointement avec un aspect, un mode de réalisation ou un exemple particulier de l’invention doivent être compris comme étant applicables à tout autre aspect, mode de réalisation ou exemple, à moins qu’ils ne soient incompatibles avec ceux-ci. Toutes les particularités divulguées ici (y compris les revendications, l'abrégé et les dessins annexés), et/ou toutes les étapes de tout procédé ou processus ainsi divulgué, peuvent être combinées dans n’importe quelle combinaison, sauf les combinaisons où au moins certaines de ces particularités et/ou étapes sont mutuellement exclusives. L’invention ne se limite pas aux détails des exemples ou modes de réalisation qui précèdent. L’invention s’étend à toute particularité nouvelle, ou toute combinaison nouvelle, des particularités divulguées dans le présent mémoire (y compris toute revendication, l'abrégé et tout dessin annexés) ou à toute particularité nouvelle, ou toute combinaison nouvelle, des étapes de tout procédé ou de tout processus divulgué. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel, comprenant : un moteur de localisation d'ongles comportant une circuiterie de calcul pour localiser un ou plusieurs objets d'ongles dans une image d’entrée d’une main ou d’un pied via un ou plusieurs réseaux neuronaux profonds, dans lequel les un ou plusieurs réseaux neuronaux profonds sont configurés pour un anticrénelage dans chacun des composants d'encodeur et de décodeur ; et un composant de rendu comportant une circuiterie de calcul pour rendre une image de sortie simulant un produit pour ongles ou un service pour ongles appliqué sur les un ou plusieurs objets d'ongles, en réponse à la localisation par le moteur de localisation d'ongles, pour fournir une expérience d’essayage virtuel. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel selon la revendication 1, comprenant un composant d’expérience d’essayage virtuel d'ongles comportant une circuiterie de calcul pour l’un ou les deux d'une recommandation du produit pour ongles ou du service pour ongles pour l’essayage virtuel, et de la facilitation d'un achat du produit pour ongles ou du service pour ongles via une transaction de commerce électronique. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel selon la revendication 1, dans lequel les un ou plusieurs réseaux neuronaux profonds sont configurés pour un anticrénelage dans chaque étage d'encodeur ayant une opération de sous-échantillonnage et chaque bloc de décodeur ayant une opération de suréchantillonnage. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel selon la revendication 3, dans lequel chaque bloc de décodeur ayant une opération de suréchantillonnage est configuré avec un opérateur du type : BlurZoom(stride=2), où l’opérateur BlurZoom comprend une opération d’insertion de zéro et une opération de filtrage passe-bas pour diffuser les valeurs existantes dans les lignes et colonnes nouvellement insérées afin de fournir à toute opération ultérieure une entrée équivariante en décalage. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel selon la revendication 4, dans lequel l'opération de filtrage passe-bas est optimisée pour réduire les multiplications et les additions en réponse à des valeurs zéro réellement ou théoriquement insérées. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel selon la revendication 3, dans lequel chaque étage d'encodeur ayant une opération de sous-échantillonnage est configuré avec des opérateurs de type : Conv(stride=1) -> BatchNorm -> ReLU -> BlurPool(stride=2), où l’opérateur BlurPool comprend l’application d’un filtre passe-bas pour diffuser chaque valeur dans des régions voisines des valeurs. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel selon la revendication 1, comprenant un moteur de mise en forme d'ongles comportant une circuiterie de calcul pour la remise en forme, via un modèle de forme entraîné, des un ou plusieurs objets d'ongles tels que localisés par le moteur de localisation d’ongle ; et dans lequel le composant de rendu rend l’image de sortie conformément à la remise en forme des un ou plusieurs objets d'ongles par le moteur de mise en forme d’ongle. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel selon la revendication 7, dans lequel l’image d’entrée comprend une trame actuelle d’une série de trames d’une vidéo et le système comprend un composant de stabilisation comportant une circuiterie de calcul pour stabiliser la remise en forme des un ou plusieurs objets d'ongles entre la série de trames de la vidéo. Système de localisation d’objets en utilisant un anticrénelage pour le rendu d'un objet avec un effet pour une expérience d’essai virtuel selon la revendication 7, dans lequel l’un ou les deux : le modèle de forme entraîné réduit la dimensionnalité de données pour identifier les particularités importantes ; et le modèle entraîné est défini et entraîné conformément à des techniques d’analyse en composantes principales.