Brevet FR3133254A1 — publié le 20230908

Alignement facial en temps réel léger avec recherche par architecture neuronale ponctuelle Avec les réseaux neuronaux convolutifs (CNN), les réseaux d’alignement facial (FAN) ont atteint une précision significative sur une vaste gamme d’ensembles de données publiques, s’accompagnant d’une taille de modèle plus grande et de coûts de calcul informatique onéreux, les rendant impossible à adapter à des applications en temps réel sur des dispositifs périphériques. L’invention propose une approche de compression de modèle sur un FAN à l’aide d’une recherche par architecture neuronale ponctuelle pour surmonter ce problème tout en préservant les critères de performance. Des procédés et des dispositifs fournissent un entraînement et une recherche efficaces (sur une seule GPU), et des modèles résultants peuvent se déployer pour s’exécuter en temps réel dans des applications par navigateur sur des dispositifs périphériques comportant des tablettes et des téléphones intelligents. Les modèles compressés fournissent une précision de pointe comparable, tout en ayant une taille de modèle 30 fois plus petite et peuvent s’exécuter à 40,7 ms par trame dans un navigateur populaire sur un téléphone et un système d’exploitation populaires. Figure pour l'abrégé : 1 ALIGNEMENT FACIAL EN TEMPS REEL LEGER AVEC RECHERCHE PAR ARCHITECTURE NEURONALE PONCTUELLE Domaine La présente demande concerne l’amélioration d’un traitement par ordinateur, d’un traitement d’image, et de réseaux neuronaux pour le traitement d’image et plus particulièrement des systèmes, procédés et techniques pour un alignement facial en temps réel léger avec une recherche par architecture neuronale (NAS) ponctuelle. Contexte L’alignement de visage est une tâche de visualisation par ordinateur populaire qui localise des repères faciaux sur des visages humains. Cette technologie est largement utilisée en tant que bloc de construction dans divers types d’applications industrielles liées au visage telles que le suivi de visage en direct, l’estimation de géométrie de visage tridimensionnelle (3D), et l’extraction de caractéristiques faciales. Lors de l’application d’un modèle conçu par intelligence artificielle (AI) à une application réelle, la vitesse et la précision de calcul informatique représentent les difficultés principales du fait de ressources limitées sur des dispositifs périphériques (par exemple des dispositifs informatiques personnels comportant des tablettes et des téléphones intelligents). L’informatique en nuage fournit une solution qui peut accélérer le temps d’inférence d’un modèle AI tout en conservant une bonne précision, toutefois, une solution en nuage pâtit de problèmes de confidentialité et de stabilité. D’autres solutions utilisent des modèles conçus manuellement ciblés sur les appareils mobiles (Howard et al. 2017) (Sandler et al. 2019) pour réduire le temps de calcul informatique, mais ces modèles ne donnent pas de résultats suffisamment compétents en comparaison avec un modèle conçu soigneusement qui cible uniquement l’alignement de visage. Ainsi, avec les réseaux neuronaux convolutifs (CNN), les réseaux d’alignement facial (FAN) ont obtenu une précision significative sur une vaste gamme d’ensembles de données publiques, s’accompagnant d’une taille de modèle plus grande et de coûts de calcul informatique onéreux, les rendant impossible à adapter à des applications en temps réel sur des dispositifs périphériques. Résumé Avec les CNN, les réseaux d’alignement facial ont obtenu une précision significative sur une vaste gamme d’ensembles de données publiques, s’accompagnant d’une taille de modèle plus grande et de coûts de calcul informatique onéreux, les rendant impossible à adapter à des applications en temps réel sur des dispositifs périphériques. Il est proposé une approche de compression de modèle sur un FAN à l’aide d’une recherche par architecture neuronale ponctuelle pour surmonter ce problème tout en préservant les critères de performance. Des procédés et des dispositifs assurent un entraînement et une recherche efficaces (sur une seule GPU), et des modèles résultants peuvent se déployer pour s’exécuter en temps réel dans des applications par navigateur sur des dispositifs périphériques comportant des tablettes et des téléphones intelligents. Les modèles compressés fournissent une précision de pointe comparable, tout en ayant une taille de modèle 30 fois plus petite et peuvent s’exécuter à 40,7 ms par trame dans un navigateur populaire sur un téléphone intelligent et un système d’exploitation populaires. Il est proposé dans un mode de réalisation, un procédé définissant un modèle de réseau d’alignement de visage (FAN), dans lequel la définition comprend : la génération d’un ensemble de sous-modèles candidats à partir d’une structure de réseau par le biais de l’entraînement de la structure de réseau à l’aide i) d’un ensemble de données d’entraînement ; et ii) d’opérations d’entraînement d’extension et de rétrécissement (EST), lesquelles opérations EST définissent et retiennent des instances de sous-modèles candidats de divers paramètres de structure avec lesquels définir l’ensemble de sous-modèles candidats ; et la réalisation d’une recherche évolutive des sous-modèles candidats à l’aide de critères d’évaluation de vitesse et de précision pour sélectionner le modèle FAN parmi les sous-modèles candidats. Dans un mode de réalisation, le modèle FAN est défini pour une exécution par un dispositif périphérique afin de traiter des images faciales. Dans un mode de réalisation, les opérations EST déclenchent un entraînement à partir d’un modèle de base défini précédemment en conformité avec la structure de réseau. Dans un mode de réalisation, les opérations EST utilisent des paramètres pré-entraînés à partir du modèle de base en tant que paramètres partiellement entraînés dans chacun des sous-modèles candidats pour un entraînement supplémentaire à l’aide d’opérations EST. Dans un mode de réalisation, les sous-modèles candidats sont davantage entraînés pour les unes quelconques parmi : entre 2 époques et 60 époques ; entre 2 et 25 époques ; et 2 époques. Dans un mode de réalisation, les opérations EST activent des sous-réseaux aléatoires dans chaque itération d’entraînement pour entraîner des poids partiels de sous-réseaux de façon intégrale et pour entraîner le partage de poids efficacement entre des sous-modèles. Dans un mode de réalisation, les opérations EST définissent un espace de recherche pour la génération de sous-modèles candidats en conformité avec une pluralité de dimensions de recherche comprenant : une taille de profondeur ; une taille de noyau ; un rapport de canaux ; et un rapport d’extension. Dans un mode de réalisation, les opérations EST se déclenchent avec une petite taille de profondeur, une petite taille de noyau, un grand rapport de canaux, et un grand rapport d’extension, puis les opérations, en phases, et dans l’ordre suivant, étendent graduellement la taille de profondeur et la taille de noyau à des maximums respectifs et, à des phases de fin, rétrécissent progressivement le rapport de canaux et le rapport d’extension à des minimums respectifs. Dans un mode de réalisation, les opérations EST comprennent des opérations d’entraînement de noyau à une phase précoce qui entraînent un noyau de première taille et utilisent le noyau de première taille pour entraîner par la suite un noyau de seconde taille où le noyau de première taille est un centre du noyau de seconde taille. Dans un mode de réalisation, les opérations EST comprennent des opérations d’entraînement de profondeur dans une phase intermédiaire qui entraînent des couches moins nombreuses, puis graduellement ajoutent des options de couche plus grandes à l’entraînement. Dans un mode de réalisation, les opérations EST comprennent des opérations d’entraînement de rapport de canaux et de rapport d’extension qui rétrécissent le rapport de canaux et le rapport d’extension respectivement à des phases finales. Dans un mode de réalisation, la recherche évolutive évalue le modèle de base pour déterminer des critères d’évaluation de vitesse et de précision. Dans un mode de réalisation, la recherche évolutive évolue à partir du modèle de base pour définir une population de sous-modèles candidats pour un échantillonnage et une évaluation ultérieurs. Dans un mode de réalisation, la recherche évolutive : réalise une pluralité de cycles comprenant : l’échantillonnage dans la population pour sélectionner une quantité de sous-modèles candidats ; la sélection d’un sous-modèle le plus rapide parmi la quantité ; l’évolution du sous-modèle le plus rapide pour déterminer un sous-modèle associé ; l’élimination d’un sous-modèle le plus ancien de la population ; et si le sous-modèle associé satisfait un essai de seuil de précision : l’ajout du sous-modèle associé à la population pour une disponibilité pour un échantillonnage ultérieur et l’ajout du sous-modèle associé à un ensemble de sous-modèles candidats les plus rapides finaux ; et à la suite de la réalisation de la pluralité de cycles, sélectionne le sous-modèle le plus rapide parmi l’ensemble de sous-modèles candidats les plus rapides finaux en tant que modèle FAN. Dans un mode de réalisation, la recherche évolutive : réalise une pluralité de cycles comprenant : l’échantillonnage dans la population pour sélectionner une quantité de sous-modèles candidats ; la sélection d’un sous-modèle le plus précis parmi la quantité ; l’évolution du sous-modèle le plus précis pour déterminer un sous-modèle associé ; l’élimination d’un sous-modèle le plus ancien de la population ; et si le sous-modèle associé satisfait un essai de seuil de vitesse : l’ajout du sous-modèle associé à la population pour une disponibilité pour un échantillonnage ultérieur et l’ajout du sous-modèle associé à un ensemble de sous-modèles candidats les plus précis finaux ; et à la suite de la réalisation de la pluralité de cycles, sélectionne le sous-modèle le plus précis parmi l’ensemble de sous-modèles candidats les plus précis finaux en tant que modèle FAN. Dans un mode de réalisation, la structure de réseau est une structure à deux étages fournissant en sortie une couche d’alignement de Région d’intérêt (RoI) pour affiner des caractéristiques extraites pour une prédiction. Dans un mode de réalisation, un premier étage comprend quatre blocs et un second étage comprend un bloc, chaque bloc ayant un maximum de quatre couches comprenant chacune une couche résiduelle inversée. Dans un mode de réalisation, le procédé comprend la définition d’une application comprenant le modèle FAN pour une exécution par un dispositif périphérique. Dans des modes de réalisation respectifs, l’application est l’une quelconque parmi : une application de simulation de maquillage pour simuler l’essai de produits de maquillage sur le visage ; une application d’analyse de peau pour analyser et donner un score à une région ou à des régions du visage en termes d’au moins un signe cutané ; une application de simulation d’effets pour simuler un effet graphique associé à une région du visage ; et une application de suivi facial pour suivre et indiquer un emplacement d’un visage. Dans un mode de réalisation, l’application est configurée pour traiter une vidéo par le modèle FAN. Dans un mode de réalisation, le dispositif périphérique est un téléphone intelligent ou une tablette et le modèle FAN est configuré pour une exécution par une unité de traitement graphique (GPU). Dans un mode de réalisation, l’application est l’application de simulation de maquillage ou l’application d’analyse de peau et l’application est configurée pour fournir une interface à un service d’achat par commerce électronique pour l’achat d’un produit ou d’un service associé, respectivement, à du maquillage et à un traitement de la peau. Dans un mode de réalisation, l’application est l’application de simulation de maquillage ou l’application d’analyse de peau et l’application est configurée pour fournir une interface avec un service de recommandation par commerce électronique qui recommande un produit ou service associé respectivement à du maquillage et à un traitement de la peau. Il est proposé, dans un mode de réalisation, un dispositif informatique comprenant une unité de traitement couplée à un dispositif de stockage stockant des instructions, qui, lorsqu’elles sont exécutées par l’unité de traitement, configurent le dispositif informatique pour réaliser un procédé selon l’un quelconque des modes de réalisation de procédé. Il est proposé, dans un mode de réalisation, un produit-programme d’ordinateur comprenant un dispositif de stockage non transitoire stockant des instructions et des données définissant un modèle FAN pour une exécution par une unité de traitement d’un dispositif informatique, le modèle FAN étant défini en conformité avec un procédé de l’un quelconque des modes de réalisation de procédé. Il est proposé, dans un mode de réalisation, un dispositif d’ordinateur comprenant une unité de traitement couplée à un dispositif de stockage stockant des instructions qui, lorsqu’elles sont exécutées par l’unité de traitement, configurent le dispositif informatique pour fournir un modèle FAN défini en conformité avec un procédé de l’un quelconque des modes de réalisation de procédé. La est une illustration simplifiée de la structure de CNN à deux étages en conformité avec un mode de réalisation. Les figures 2A, 2B, 2C, 2D et 3 sont des schémas fonctionnels qui illustrent une comparaison entre des opérations d’entraînement en un pour tous (OFA) et des opérations d’entraînement d’extension et de rétrécissement (EST) en conformité avec un mode de réalisation. sont des graphiques montrant des résultats d’expériences en conformité avec des modes de réalisation. Les figures 5A et 5B sont des graphiques montrant des résultats d’expériences en conformité avec des modes de réalisation. Les figures 6A et 6B sont des images illustrant des annotations d’ensemble de données. La est un dessin d’un réseau d’ordinateur montrant un dispositif informatique de développement, un dispositif informatique de site Web et des dispositifs informatiques périphériques, entre autres, en conformité avec un mode de réalisation. La est un dessin d’un dispositif informatique, en conformité avec un mode de réalisation. La est un organigramme d’opérations, en conformité avec un mode de réalisation. Procédé de traitement par ordinateur comprenant : la définition d’un modèle de réseau d’alignement de visage (FAN), dans lequel la définition comprend : la génération d’un ensemble de sous-modèles candidats à partir d’une structure de réseau par le biais de l’entraînement de la structure de réseau à l’aide i) d’un ensemble de données d’entraînement ; et ii) d’opérations d’entraînement d’extension et de rétrécissement (EST), lesquelles opérations EST définissent et retiennent des instances de sous-modèles candidats de divers paramètres de structure avec lesquels définir l’ensemble de sous-modèles candidats ; et la réalisation d’une recherche évolutive des sous-modèles candidats à l’aide de critères d’évaluation de vitesse et de précision pour sélectionner le modèle FAN parmi les sous-modèles candidats. Procédé selon la revendication 1, dans lequel le modèle FAN est défini pour une exécution par un dispositif périphérique afin de traiter des images faciales ; et dans lequel les opérations EST déclenchent l’entraînement à partir d’un modèle de base défini précédemment en conformité avec la structure de réseau. Procédé selon la revendication 2, dans lequel les opérations EST utilisent des paramètres pré-entraînés à partir du modèle de base en tant que paramètres partiellement entraînés dans chacun des sous-modèles candidats pour un entraînement supplémentaire à l’aide d’opérations EST. Procédé selon la revendication 3, dans lequel les sous-modèles candidats sont davantage entraînés pour les unes quelconques parmi : entre 2 époques et 60 époques ; entre 2 et 25 époques ; et 2 époques. Procédé selon l’une quelconque des revendications 3 ou 4, dans lequel les opérations EST activent des sous-réseaux aléatoires dans chaque itération d’entraînement pour entraîner des poids partiels de sous-réseaux de façon intégrale et pour entraîner le partage de poids efficacement entre des sous-modèles. Procédé selon l’une quelconque des revendications 3 à 5, dans lequel les opérations EST définissent un espace de recherche pour la génération de sous-modèles candidats en conformité avec une pluralité de dimensions de recherche comprenant : une taille de profondeur ; une taille de noyau ; un rapport de canaux ; et un rapport d’extension. Procédé selon la revendication 6, dans lequel les opérations EST se déclenchent avec une petite taille de profondeur, une petite taille de noyau, un grand rapport de canaux, et un grand rapport d’extension, puis les opérations, en phases et dans l’ordre suivant, étendent graduellement la taille de profondeur et la taille de noyau à des maximums respectifs et, à des phases de fin, rétrécissent progressivement le rapport de canaux et le rapport d’extension à des minimums respectifs. Procédé selon la revendication 6 ou 7, dans lequel les opérations EST comprennent des opérations d’entraînement de noyau à une phase précoce qui entraînent un noyau de première taille et utilisent le noyau de première taille pour entraîner par la suite un noyau de seconde taille où le noyau de première taille est un centre du noyau de seconde taille. Procédé selon l’une quelconque des revendications 2 à 8, dans lequel la recherche évolutive évolue à partir du modèle de base pour définir une population de sous-modèles candidats pour un échantillonnage et une évaluation ultérieurs. Procédé selon la revendication 9, dans lequel la recherche évolutive : réalise une pluralité de cycles comprenant : l’échantillonnage dans la population pour sélectionner une quantité de sous-modèles candidats ; la sélection d’un sous-modèle le plus rapide parmi la quantité ; l’évolution du sous-modèle le plus rapide pour déterminer un sous-modèle associé ; l’élimination d’un sous-modèle le plus ancien de la population ; et si le sous-modèle associé satisfait un essai de seuil de précision : l’ajout du sous-modèle associé à la population pour une disponibilité pour un échantillonnage ultérieur et l’ajout du sous-modèle associé à un ensemble de sous-modèles candidats les plus rapides finaux ; et à la suite de la réalisation de la pluralité de cycles, sélectionne le sous-modèle le plus rapide parmi l’ensemble de sous-modèles candidats les plus rapides finaux en tant que modèle FAN.