PROCEDE DE GUIDAGE D’UN BRAS ROBOT, SYSTEME DE GUIDAGE
Le domaine de l’invention concerne le domaine des méthodes permettant de construire une image tridimensionnelle du corps humain afin d’asservir dynamiquement un dispositif à proximité du corps. Le domaine de l’invention se rapporte plus particulièrement aux procédés permettant un contrôle dynamique temps réel nécessitant une rapidité de calcul de la surface tridimensionnelle. L’invention traite donc des procédés de génération d’une surface à partir d’algorithmes combinant des modèles paramétrés et un apprentissage par une technique d’intelligence artificielle.
Il existe actuellement différentes techniques pour reconstituer des surfaces tridimensionnelles dans l’espace. Toutefois, ces dernières ne sont pas adaptées à un guidage en temps réel d’un dispositif médical destiné à réaliser un traitement à proximité de la surface de la peau d’un patient. En effet, reconstituer la surface d’un corps nécessite un traitement d’images imposant des ressources de calculs importantes et souvent de nombreux systèmes d’acquisition. Par ailleurs, cette complexité impose le plus souvent un traitement partiel ou une approximation nécessitant une assistance humaine.
Aujourd’hui, cette limitation ne permet pas de réaliser un guidage complexe d’un dispositif dans l’espace. Typiquement, le guidage d’un bras robotisé dans l’espace asservi par un calcul d’une surface à traiter pouvant subir des déformations ou des déplacements reste difficile à mettre en œuvre. Pourtant, il existe des besoins de manipulation d’un bras robotisé qui soit réactif et automatiquement guidé en fonction de certaines analyses à réaliser en temps réel. A ce jour, les solutions existantes imposent des manipulations supplémentaires d’opérateur ou des temps de traitement qui restent longs.
Il existe donc un besoin de définir une solution qui puisse répondre à cette problématique.
La présente invention vise à résoudre les inconvénients précités.
Selon un aspect, l’invention concerne un procédé de guidage en temps réel d’un bras robot pour le traitement de données de surface d’un corps comportant les étapes de :
■ Génération d’un modèle d’un corps comportant un maillage de points ;
■ Planification d’une trajectoire de traitement à la surface du modèle de corps au moyen d’un calculateur ; paramètres de capteurs
■ Calcul d’une trajectoire de guidage de l’extrémité distale du bras robot;
■ Génération d’une cinématique du bras robot de sorte qu’un point de la tête agencée à l’extrémité distale du bras robot soit asservi sur la trajectoire de guidage ;
■ Activation de la cinématique du bras robot pour parcourir la trajectoire de guidage, ladite trajectoire étant calculée en temps réel à partir du modèle de corps généré ;
■ Réception d’au moins une position d’un point cible de l’espace ;
■ Activation d’au moins une émission d’un émetteur et/ou d’une acquisition d’un capteur d’un dispositif opérateur, ledit dispositif opérateur étant agencé à l’extrémité distale du bras robotisé, l’activation étant réalisée lorsque l’orientation de l’axe du capteur ou de l’émetteur est confondue avec une droite prédéfinie passant par le point cible, ledit point cible étant référencé sur le modèle de corps généré.
Un avantage est d’utiliser un procédé de guidage qui prenne en considération un modèle de corps reproduisant le corps d’un patient. Les calculs sont allégés et l’asservissement en temps réel d’un équipement médical est rendu possible. La reconstitution d’un monde réel est optimisée par l’utilisation d’un modèle de corps maillé qui est calculé à partir d’un corps d’un patient. Un avantage est de prendre en compte les mouvements potentiels d’un patient ou d’anticiper d’éventuelles collisions en utilisant un modèle de corps qui soit simple à exploiter. Le modèle de corps utilisé comporte un ensemble de points ou un maillage qui peut être plus facile à exploiter pour un guidage temps réel plutôt qu’un système basé sur l’acquisition des images directes d’un patient pour anticiper les mouvements du robot.
Selon un aspect, l’invention concerne un procédé de guidage en temps réel d’un bras robot pour le traitement de données de surface d’un corps comportant les étapes de :
■ Génération d’un modèle 3D de tout ou partie d’une surface d’un corps humain comportant un maillage de points ;
■ Planification d’une trajectoire de traitement à la surface du modèle de corps au moyen d’un calculateur ;
■ Calcul d’une trajectoire de guidage de l’extrémité distale du bras robot ;
■ Génération d’une cinématique du bras robot de sorte qu’un point de la tête agencée à l’extrémité distale du bras robot soit asservi sur la trajectoire de guidage ;
■ Activation de la cinématique du bras robot pour parcourir la trajectoire de guidage, ladite trajectoire de guidage étant calculée en temps réel à partir du modèle 3D de surface du corps humain;
■ la génération d’un nouveau modèle 3D de la surface du corps humain à des instants réguliers assurant le calcul d’une nouvelle cinématique du bras robot pour piloter ses déplacements automatiquement en temps réel, une nouvelle surface calculée du modèle 3D entraînant un calcul d’une nouvelle trajectoire de traitement et un calcul d’une nouvelle trajectoire de guidage,
■ Réception d’au moins une position d’un point cible de l’espace ;
■ Activation d’au moins une émission d’un émetteur et/ou d’une acquisition d’un capteur d’un dispositif opérateur, ledit dispositif opérateur étant agencé à l’extrémité distale du bras robotisé, l’activation étant réalisée lorsque l’orientation de l’axe du capteur ou de l’émetteur est confondue avec une droite prédéfinie passant par le point cible, ledit point cible étant référencé sur le modèle de corps généré.
Selon un mode de réalisation, le modèle de corps est généré à partir d’un système d’acquisition d’images du corps d’un patient, ledit système étant agencé en un point de l’espace. Un avantage est que l’acquisition d’une vue partielle du corps humain permet de générer un corps humain entier à partir d’un algorithme basé sur l’exploitation d’un réseau de neurones.
Selon un mode de réalisation, la trajectoire de traitement est générée au sein d’une zone de traitement d’une surface du modèle de corps.
Un avantage est de définir une trajectoire de guidage qui générée vis-à-vis de la surface générée du modèle de corps utilisé en entrée. Le guidage est donc optimisé du fait de l’exploitation simplifiée d’un modèle de corps maillé.
Selon un mode de réalisation, la trajectoire de traitement est automatiquement générée à partir de la définition d’une zone de traitement définie sur une surface du modèle de corps.
Un avantage est d’automatiser une tâche pour un opérateur qui n’a qu’à sélectionner une région. La région est définie sur le modèle de corps qui est généré. Ainsi sa définition est simplifiée et la trajectoire peut être facilement générée.
Selon un mode de réalisation, la trajectoire de guidage est calculée à partir d’une consigne de distance et d’orientation prédéfinie permettant de générer une position relative d’une extrémité distale du bras robot vis-à-vis de la trajectoire de traitement.
Un avantage est d’obtenir un guidage simplifié par un système d’asservissement prenant en considération un minimum de paramètres.
Selon un mode de réalisation, le bras robot comporte au moins 3 branches articulées deux à deux, l’une par rapport à l’autre par une liaison pivot, l’ensemble des liaisons pivots comportant une cinématique planifiée pour une trajectoire de guidage donnée et un modèle de corps généré.
Un avantage est de dissocier la génération de la cinématique du bras robot qui peut être réalisée au sein d’un calculateur du bras robotisé en fonction d’une position d’un point de guidage de la trajectoire généré depuis une console d’exploitation.
Selon un mode de réalisation, le procédé de guidage comporte la génération d’un nouveau modèle de corps à des instants réguliers de sorte que le bras robot puisse être commandé en temps réel à partir de la génération d’une nouvelle trajectoire du bras robot, une nouvelle surface calculée du modèle de corps entraînant une modification de la trajectoire de traitement, le procédé comportant, en outre, un calcul d’une nouvelle cinématique du bras robot asservie sur la définition de la nouvelle trajectoire. Un avantage est d’obtenir de bonnes performances de guidage en temps réel. La prise en
compte d’un modèle de corps simplifie les calculs de guidage. L’asservissement du bras robot peut être rapide et ainsi il permet de limiter les cas de collisions ou les mouvements brusques d’un patient.
Selon un mode de réalisation, le procédé de guidage comporte une étape de calibration de la position du bras robot à partir d’une position fixe à laquelle sont acquises des images permettant de générer un modèle de corps. Un avantage de la calibration est de connaître la position du modèle de corps par rapport à la position du bout du bras robot.
Selon un mode de réalisation, la trajectoire de traitement est utilisée pour établir une stratégie de tir d’un faisceau laser à partir d’un émetteur laser, ledit émetteur laser étant fixé au dispositif opérateur.
Selon un mode de réalisation, le modèle de corps comporte un maillage homogène de manière à créer un nouveau maillage défini par un agencement de cercles, au moins un cercle définissant la position d’un point cible de l’espace. Un avantage est de simplifier l’activation d’un dispositif opérateur en tête du bras robot en fonction de points pouvant être facilement repérés sur un maillage.
Selon un mode de réalisation, le nouveau maillage est généré en fonction d’une consigne de puissance de tir et/ou une consigne relative à un taux de recouvrement entre deux tirs. Un avantage est de disposer d’un maillage adapté au cas d’usage du bras robotisé.
Selon un mode de réalisation, l’échantillonnage du nombre de tirs réalisés est une fonction du nouveau maillage, de la puissance de tir configurée et du taux de recouvrement défini entre deux cercles colocalisés. Un avantage est de fournir à un opérateur une console d’exploitation simple d’usage.
Selon un mode de réalisation, la trajectoire de traitement est utilisée pour établir une stratégie de tir d’un signal ultrason à partir d’un émetteur ultrason, ledit émetteur ultrason étant fixé au dispositif opérateur.
Selon un mode de réalisation, un ensemble d’images est réalisé à partir d’un dispositif optique agencé sur le dispositif opérateur, chaque image étant indexée à au moins un nœud ou une maille du maillage du modèle de corps en fonction de la position du point cible sur ledit modèle de corps et d’un angle de vue du dispositif optique. Un avantage est de reconstituer une
enveloppe telle qu’une peau sur le modèle de corps paramétré ou paramétrique correspondant au corps d’un patient.
Selon un mode de réalisation, au moins un couple d’images est acquis simultanément à partir d’un dispositif optique comportant deux capteurs solidaires et agencés sur des axes différents du dispositif opérateur, chaque image étant indexée à au moins un nœud ou une maille du maillage du modèle de corps en fonction de la position du point cible sur ledit modèle de corps et d’un angle de vue du dispositif optique, lesdites images étant traitées de manière à reconstituer une image locale tridimensionnelle.
Selon un mode de réalisation, l’image locale tridimensionnelle est superposée dans une représentation 3D à un modèle de corps généré.
Selon un mode de réalisation, une première image acquise par un premier dispositif optique du dispositif opérateur est comparée à un ensemble d’images en temps réel, l’opération de comparaison comportant, le cas échéant, la génération d’un indicateur d’intérêt , ledit indicateur d’intérêt permettant de générer une commande numérique de pilotage du bras robot.
Selon un mode de réalisation, la consigne de guidage entraîne un premier pilotage du bras robot à la position cible d’où est extraite la première image et un second pilotage du dispositif opérateur pour activer un second dispositif optique, l’activation du second dispositif optique permettant de réaliser une seconde image en champ proche d’une zone comportant le point cible. Un avantage est de générer une banque d’images pouvant être notamment utilisée à des fins de diagnostics, d’étude qualitative de patients et de maladies ou encore pour générer un historique d’images pour un patient comportant des informations du revêtement cutané à différentes échelles.
Selon un mode de réalisation, l’étape de comparaison est une étape de classification de ladite image acquise à partir d’un réseau de neurones entraîné sur un ensemble d’images. Un avantage est d’optimiser l’étape de détection d’une singularité sur le revêtement cutané d’un patient.
Selon un autre aspect, l’invention concerne un système de guidage d’un bras robot comportant :
■ un calculateur pour générer une pluralité de modèles de corps à des instants différents ;
■ un bras robot asservi par un calculateur d’une unité de contrôle calculant une cinématique du bras robot à partir d’une trajectoire
calculée à partir de points définis sur un maillage d’un modèle de corps acquis ;
■ un dispositif opérateur agencé à l’extrémité du bras robot comportant au moins un émetteur ou un capteur, l’activation du au moins un émetteur ou un capteur étant réalisée lorsque l’orientation de l’axe du capteur ou de l’émetteur est dirigée selon une droite passant par le point cible, ledit point cible étant référencé sur le modèle de corps généré.
Selon un aspect, l’invention concerne un système de guidage d’un bras robot comportant un dispositif d’acquisition d’une image d’un corps d’un patient pour produire un modèle de corps paramétré et un bras robot muni d’un dispositif opérateur pour la mise en œuvre du procédé de l’invention.
Le système de l’invention comporte, selon différentes variantes de réalisation, les différents moyens décrits dans les différentes mises en œuvre de l’invention. En outre, selon les différentes variantes, il est configuré selon les différentes réalisations du procédé de l’invention.
Selon un aspect, l’invention concerne un système de guidage d’un bras robot comportant :
■ un bras robot asservi par un calculateur d’une unité de contrôle calculant une cinématique du bras robot à partir d’une trajectoire calculée à partir de points définis sur un maillage d’un modèle 3D d’une surface de corps humain acquis ;
■ un calculateur pour générer une pluralité de modèles de corps à des instants différents, la génération d’un nouveau modèle 3D de la surface du corps humain à des instants réguliers assurant le calcul d’une nouvelle cinématique du bras robot pour piloter ses déplacements automatiquement en temps réel, une nouvelle surface calculée du modèle 3D entraînant un calcul d’une nouvelle trajectoire ;
■ un dispositif opérateur agencé à l’extrémité du bras robot comportant au moins un émetteur ou un capteur, l’activation du au moins un émetteur ou un capteur étant réalisée lorsque l’orientation de l’axe du capteur ou de l’émetteur est dirigé selon une droite passant par le point cible, ledit point cible (étant
référencé sur le modèle 3D d’une surface de corps humain généré.
Selon un autre aspect, l’invention concerne un procédé de génération d’une surface tridimensionnelle de travail d’un corps humain comportant les étapes de :
■ Réception de données d’entrées correspondant à des données géométriques ;
■ Génération d’un premier nuage de points à partir des données d’entrées, chaque point étant associé à une coordonnée spatiale tridimensionnelle ;
■ Détermination d’une pluralité d’attributs en chaque point du premier nuage de points , lesdits attributs comportant au moins un descripteur de forme, au moins un descripteur de forme étant calculé à partir d’un sous ensemble de points au voisinage du point considéré, au moins un attribut d’un point comportant les données décrivant un vecteur normal en ce point du premier nuage de points,
■ Association desdits attributs à chaque point pour générer un second nuage de points enrichi ;
■ Calcul d’un ensemble de paramètres géométriques comportant au moins une rotation en au moins un point du second nuage de points et au moins un coefficient de forme au moyen d’une régression, ladite régression étant effectuée à partir d’une série d’opérations matricielles réalisées selon différentes couches d’un réseau de neurones entraîné à partir d’une pluralité de vues partielles de modèles paramétriques paramétrés avec différentes configurations de paramétrage ;
■ Détermination d’un modèle paramétré pour générer un modèle de corps d’un corps comportant un premier maillage.
Selon un exemple les données d’entrée comprennent des données décrivant des images. Les données géométriques peuvent par exemple être déduite de données décrivant des images 2D. Selon un cas, les données d’entrées sont donc des images.
Un avantage du procédé est de permettre un asservissement en temps réel du guidage d’un équipement médical à proximité d’un corps d’un
patient avec système d’acquisition minimaliste comportant par exemple une paire de caméras. Les performances de guidage sont notamment obtenues grâce à un procédé d’apprentissage d’un réseau de neurones performant.
Selon un mode de réalisation, le procédé comprend, en outre, un traitement du premier maillage pour générer un second maillage homogène. Un avantage du maillage de l’utilisation d’un maillage homogène est de faciliter les commandes d’asservissement du ou des capteurs ou du ou des émetteurs en tête du bras robot. En effet, le traitement d’un point d’un maillage homogène de faciliter l’exploitation du dispositif en tête du bras robot.
Selon un mode de réalisation, un descripteur de forme est calculé en au moins un point donné du premier nuage de points à partir de la matrice d’adjacence du premier graphe au moyen d’une méthode de partitionnement spectral du premier nuage de points. Un avantage est de prendre en compte au voisinage d’un point un descripteur de forme qui soit pondéré selon un critère de distance au point où il est appliqué. Un autre avantage est de permettre d’obtenir une prise en compte de la topologie de la surface locale au voisinage d’un point.
Selon un mode de réalisation, au moins un descripteur de forme locale et/ou un descripteur de forme globale, lesdits descripteurs pouvant être du type : « Wave Kernel Signature » ou « Heat Kernel Signature » ou « Gaussian Curvature ». Un avantage est de définir des descripteurs de forme à partir d’une analyse spectrale de la région au voisinage d’un point. Un avantage est l’utilisation simplifiée d’équations ou d’opérateurs normalisés dont le traitement numérique peut être optimisé.
Selon un mode de réalisation, le calcul d’un vecteur normal en un point donné du premier nuage de points est calculé en considérant une surface générée localement autour de chaque point considéré à partir des points à son voisinage. Un avantage est de paramétrer une résolution ou une granularité souhaitée d’analyse de la topologie de la surface locale de la surface du corps traité.
Selon un mode de réalisation, la surface générée localement à un point considéré du premier nuage de points est calculée :
■ Soit, à partir de la surface sous-jacente définie par les points du premier nuage de points ;
■ Soit, à partir d’une approximation d’une surface locale directement obtenue à partir d’une méthode des k plus proches voisins du point considéré.
Selon un mode de réalisation, au moins deux descripteurs de forme sont associés à chaque point du premier nuage de points. Un avantage est d’enrichir la description du modèle. Un intérêt est d’obtenir un meilleur apprentissage lors de l’entrainement du réseau de neurones. En outre, un avantage est d’améliorer les performances de l’étape de régression du réseau de neurones.
Selon un mode de réalisation, le premier nuage de points est généré à partir de données obtenues :
■ Par l’acquisition d’une pluralité d’images à partir d’au moins deux optiques, chaque position d’un point du premier nuage de points étant déduite d’une mesure stéréoscopique d’au moins deux images acquises et/ou ;
■ Par l’acquisition d’une image comportant un motif déformé, ledit motif étant projeté par un projecteur et comportant une géométrie connue et/ou ;
■ Par l’acquisition de signaux ultrasons émis et réfléchis à la surface de la peau d’un patient et/ou ;
■ Par l’acquisition d’un laser émis à la surface de la peau d’un patient.
Un avantage est de mettre en œuvre le procédé de l’invention avec différentes techniques d’acquisition. Un intérêt est d’obtenir un nuage de points pouvant être exploité par le procédé de l’invention, notamment pour le guidage d’un appareil médical. Les différentes techniques d’acquisition peuvent être combinées ou remplacées les unes par les autres. Le système d’acquisition d’image, tel que des caméras, reste néanmoins un système d’acquisition simple à mettre en œuvre, simple à configurer et facilement déployable.
Selon un mode de réalisation, les modèles paramétrés de corps sont obtenus à partir d’une modélisation paramétrique du corps humain dans laquelle un ensemble d’articulations sont prédéfinies, lesdits paramètres modélisants :
au moins un angle de rotation pour au moins une articulation et;
■ au moins un coefficient de forme.
Un avantage est de définir un paramétrage simple d’un corps humain prenant en compte les différents degrés de liberté de chaque membre du corps. Un avantage est de réaliser un asservissement temps réel d’un dispositif guidé en fonction des mouvements possibles d’un patient.
Selon un mode de réalisation, lesdits paramètres modélisent, en outre :
■ au moins une translation globale du modèle dans l’espace, et/ou;
■ au moins une rotation globale du modèle dans l’espace.
Un avantage est de permettre de prendre en compte des déplacements d’un patient et de calibrer le système d’acquisition du corps d’un patient en fonction de l’agencement des différents équipements.
Selon un mode de réalisation, un modèle de corps paramétré est obtenu à partir d’une définition d’un paramétrage donné, un paramétrage donné comportant la définition d’ensemble de paramètres de modélisation permettant de définir une représentation donnée du modèle de corps paramétrique. Ledit modèle de corps paramétré peut être ensuite représenté par un troisième nuage de points, un graphe ou un maillage. Un avantage est de générer un nuage de points directement exploitable à partir des corps paramétrés obtenus. Un autre avantage est d’obtenir une grande quantité de corps selon des poses différentes afin d’obtenir une bonne performance de généralisation du réseau de neurones.
Selon un mode de réalisation, une pluralité de vues partielles est générée. Chacune des vues partielles peut par exemple être obtenue à partir d’un sous-ensemble de points du troisième nuage de point. Un avantage est de générer de nombreuses vues susceptibles de correspondre à des prises réelles d’images. Le réseau de neurones est donc mieux entraîné et les performances de l’étape de régression sont meilleures avec un apprentissage sur un grand nombre de vues partielles.
Selon un mode de réalisation, chaque sous-ensemble de points du troisième nuage de points est obtenu par une sélection de points vus depuis un point de vue donné de l’espace, l’ensemble des vues partielles étant généré pour une pluralité de points de vue de l’espace.
Selon un mode de réalisation, la régression comprend :
■ Des convolutions ou des couches de réseau de neurones comportant une pluralité de multiplications de matrices comportant des coefficients de pondération obtenus à partir d’un procédé d’apprentissage ;
■ des opérations non-linéaires.
Selon un mode de réalisation, la régression comprend en entrées :
■ des points du nuage de points et la valeur de leurs attributs et/ou;
■ la matrice d’adjacence du graphe correspondant à un nuage de points.
Selon un mode de réalisation, le procédé comprend une étape préliminaire d’apprentissage du réseau de neurones, ladite étape préliminaire étant réalisée par un procédé d’apprentissage profond comportant :
■ un entrainement réalisé à partir d’une pluralité de vues partielles de modèles paramétriques paramétrés avec différentes configurations de paramétrage,
■ la production de matrices comportant des coefficients de pondération pour chaque couche du réseau entraîné.
Selon un autre aspect, l’invention concerne un système comportant une interface d’acquisition de données d’entrées, un calculateur et une mémoire pour traiter des données d’entrées acquises au moyen du procédé pour générer un modèle de corps paramétré.
Selon un mode de réalisation, l’invention concerne un système comportant un moyen d’acquisition de données de distance d’un ensemble de points d’une surface d’un corps situé dans l’espace, un bras robot guidé comportant au moins un degré de liberté, ledit bras robot comportant en outre un capteur ou un émetteur dont la position est asservie par une trajectoire de guidage obtenue à partir d’une trajectoire de traitement définie à la surface d’une vue partielle d’un modèle de corps, ledit modèle de corps étant généré à partir du procédé de l’invention.
Le système de l’invention peut être configuré selon les différents paramètres énoncés pour décrire le procédé de l’invention. En outre, le système de l’invention comprend selon les différentes mises en œuvre les différents moyens décrits dans les différentes mises en œuvre du procédé de l’invention.
D’autres caractéristiques et avantages de l’invention ressortiront à la lecture de la description détaillée qui suit, en référence aux figures annexées, qui illustrent :
Fig. 1 : les principales étapes d’un mode de réalisation du procédé de l’invention ;
Fig. 2 : un mode de réalisation d’un système pour contrôler spatialement les mouvements d’un bras robot à proximité d’une surface d’un corps à traiter ; Fig. 3 : une représentation d’un mode de réalisation d’un système de l’invention comportant une console d’exploitation, un système de positionnement et un bras robot pilotable à partir du procédé de l’invention ; Fig. 4 : un exemple d’un bras robot de l’invention comportant six axes guidé pour parcourir une trajectoire planifiée;
Fig. 5 : un exemple d’un bras robot de l’invention comportant six axes illustrant un repère de la tête du bras robot;
Fig. 6A : un premier exemple d’un dispositif opérateur agencé en tête d’un bras robot de l’invention destiné par exemple à une application dermatologique ; Fig. 6B : un second exemple d’un dispositif opérateur agencé en tête d’un bras robot de l’invention;
Fig. 7 : un exemple d’un premier maillage de points d’une surface à traiter selon le procédé de l’invention ;
Fig. 8 : un premier exemple d’un second maillage obtenu à partir d’un mode de réalisation de l’invention,
Fig. 9 : un second exemple d’un second maillage obtenu à partir d’un mode de réalisation de l’invention.
L’invention traite d’un procédé pour acquérir des images de la surface d’un corps et reconstruire une surface tridimensionnelle dudit corps. L’invention traite également d’un système d’acquisition et de traitement d’images. L’invention traite également d’une méthode et d’un système pour activer un dispositif médical à partir d’un modèle de corps modélisé. L’invention traite du guidage par exemple d’un objet robot pour le diagnostic ou le traitement du revêtement cutané d’un patient.
Dans la suite de la description, un système d’acquisition 5 de points du corps d’un patient 1 est agencé préférentiellement à un point fixe de l’espace. A titre d’exemple, ce système d’acquisition de points peut être fixé
au plafond, au mur ou encore en tout autre point de l’espace destiné à rester fixe pendant l’exécution du procédé de l’invention. Ce système d’acquisition 5 est référencé dans un repère noté Ro (O, xo, yo, zo). Il peut également être référencé dans un repère Ri (O-i , x-i , y-i, z-i) associé au système d’acquisition 5. A partir d’une calibration de position entre le référentiel « monde » et le système d’acquisition 5, le système d’acquisition 5 peut être référencé dans le repère Ro, au moyen d’une transformation Ri -> Ro.
Dans la suite de la description, un bras robot 6 est agencé dans le même espace couvert par le champ d’acquisition du dispositif d’acquisition 5. Il peut s’agir d’une salle de traitement d’un hôpital ou encore une salle correspondant à un cabinet médical. Le bras robot 6 peut être positionné sur un socle tel qu’un meuble 25 amovible et pouvant être fixé à une position donnée lors du traitement effectué grâce au procédé de l’invention. Ce bras robot 6 est référencé dans un repère noté Ro (O, xo, yo, zo). La position du bras robot 6 dans l’espace peut être repérée au sein du repère R2 (O2, X2, y2, Z2) dans lequel les mouvements du bras robot 6 peuvent être facilement exprimés. Un changement de repère R2 -> Ro permet d’exprimer les mouvements du bras robot 6 dans le repère du système Ro d’acquisition 5. Ce changement de repère peut se révéler particulièrement efficace lors d’une réalisation d’une fonction de détection de collision entre le bras robot 5 et le corps d’un patient 1 .
Selon un exemple de réalisation, le système d’acquisition 5 peut être solidaire du repère R2. Dans ce cas d’exemple, le système d’acquisition peut être fixé au socle supportant le bras robot 6. Cette configuration peut être obtenue par exemple grâce à une tige de maintien (non représenté) permettant d’élever le système d’acquisition 5. Un avantage de cette configuration est de faciliter l’installation du système de l’invention. Un autre avantage est de disposer d’une pré-calibration entre le positionnement du système d’acquisition 5 et le bras robot 6.
Selon un autre exemple de réalisation, le système d’acquisition 5 peut être fixé à un socle sur lequel est installée une console d’exploitation 20. Ce cas e figure permet de disposer d’un dispositif d’acquisition autonome comportant une partie matérielle et une partie logicielle. Une tige de maintien peut également être employée pour fixer le système d’acquisition 5 ou tout autre dispositif mécanique de maintien.
Dans la suite de la description, une tête 8 du bras robot 6, également dénommée dispositif opérateur 8, est agencée à l’extrémité distale du bras robot 6. La tête 8 peut être liée à un repère noté R3 (O3, X3, y3, Z3) représenté à la figure 5. La position de la tête 8 du bras robot 6 peut être facilement identifiée dans le repère R2 (O2, X2, y2, Z2) avec la connaissance de la cinématique animant les branches du bras robot 6. Un intérêt est de référencer les images acquises par le dispositif opérateur 8 par exemple dans le repère Ro (O, xo, yo, zo).
La présente description s’applique à tout type d’objet robotisé notamment un bras robotisé. Le bras robotisé de l’invention peut comporter une pluralité d’axes de liberté, notamment en 2 et 9 axes amovibles. Dans la suite de la description, nous considérerons le cas d’application d’un bras robotisé de 6 axes pour décrire un mode de réalisation. Toutefois, l’invention ne se limite pas à cet exemple.
Selon différentes variantes, le bras robotisé peut-être fixé à un socle horizontal, le premier bras s’étendant verticalement ou le bras robotisé peut être fixé sur un socle vertical, le premier bras s’étendant horizontalement. Différentes configurations sont compatibles de l’invention.
On nomme dans la suite de la description un « modèle de corps », un modèle tridimensionnel d’un corps. Ce modèle de corps peut être représenté par un nuage de points. Le nuage de points peut être généré à partir d’une modélisation donnée d’un modèle de corps paramétriques obtenue avec un paramétrage donné.
En outre, ce modèle de corps peut être utilisé de sorte à générer différentes vues partielles de ce corps correspondant à un sous-ensemble de points d’un nuage de points modélisant l’intégralité d’un corps. A cette fin, un point de vue peut être défini pour extraite une vue partielle d’un modèle de corps. Un tel modèle de corps peut être obtenu à partir d’une configuration d’un paramétrage donné d’un modèle paramétrique du corps humain.
On nomme dans la suite de la description une vue partielle d’un « modèle de corps », un modèle tridimensionnel d’un corps selon un point de vue donné à partir duquel on observe une surface du précédent modèle de corps.
On nomme dans la suite de la description un « modèle paramétrique de corps humain », MOD_S, un modèle pouvant être paramétré
de sorte à générer des transformations de certaines parties de ce corps ou des vues en fonction de la configuration de paramètres donnés. Un modèle de corps précédemment défini peut ainsi être généré à partir d’un modèle paramétrique de corps humain avec un paramétrage donné, on parle alors de modèle de corps paramétré, MOD_P.
Le modèle de corps paramétrique peut être utilisé selon un premier usage lors du procédé de l’invention pour effectuer l’étape de régression afin de déterminer un ensemble de paramètres permettant de générer un modèle de corps pour le guidage d’un équipement médical par exemple. Il peut être utilisé selon un second usage lors de l’apprentissage profond pour générer des matrices de poids qui seront utilisées justement lors de l’étape de régression.
Selon un exemple, un modèle de corps paramétrique MOD_S peut être obtenu à partir du modèle paramétrique avec l’entrée des paramètres suivants :
■ Translation globale du modèle dans l’espace : Tx, Ty, Tz, soient 3 paramètres ;
■ Rotation globale du modèle dans l’espace : Rx, Ry, Rz, soient 3 paramètres ;
■ Des angles de rotation de chaque articulation, par exemple en utilisant un modèle paramétrique comportant 24 articulations ayant chacune 3 paramètres de rotation : Rxi, Ryi, Rzi définissant au total 72 paramètres ;
■ Des coefficients de formes, par exemple en utilisant un modèle paramétrique comportant 20 coefficients de forme. Ces derniers influencent la forme du corps humain.
Dans cet exemple, 88 paramètres peuvent être déterminés pour générer un modèle de corps humain.
D’autres exemples peuvent être mis en œuvre avec le procédé ou le système de l’invention.
Acquisition de points
Selon un mode de réalisation, le procédé comprend une étape d’acquisition de points ACQ. Cette acquisition peut se faire, par exemple, au moyen d’un dispositif d’acquisition d’images. Dans un exemple de réalisation, un système optique 5 sur la figure 3 comporte deux capteurs 51 , 52 pour
d’acquérir des images IM-i, IM2. Il peut s’agir par exemple de caméras telles que des caméras 3D comportant au moins deux caméras couleur ou infrarouge. Selon différents exemples de réalisation, des caméras couleur ou infrarouge peuvent être utilisées. On choisira préférentiellement des paires de caméras identiques. Une étape de calibration préalable peut être réalisée pour configurer les couleurs de chaque caméra et les faire correspondre pour des mêmes points de l’espace.
Une autre calibration, dite « calibration stéréoscopique », inter caméras peut être réalisée entre les deux caméras pour réaliser une reconstruction 3D d’un sujet. La calibration vise à calculer une transformation entre deux images acquises par chacune des caméras.
Selon un exemple, cette transformation peut comprendre la détection de points-clés et le calcul de descripteurs obtenus par une transformation de caractéristiques visuelles invariante à l'échelle, plus connue sous l’acronyme « SIFT », désignant « Scale Invariant Feature Transform ». Une étape de corrélation visant à se faire correspondre des points clefs peut être mise en œuvre, par exemple avec une méthode d’estimation telle que la méthode connue sous le nom « RANSAC », désignant « RANdom Sample Consensus ». Ensuite, un calcul de la transformation isométrique entre les points clés détectés est réalisé. Enfin, la transformation permet de trianguler les points des images et donc de construire une carte de profondeur.
Selon une première méthode, des images 2D acquises d’un même objet depuis deux points de vue dont on connaît l’agencement peuvent être combinées selon des techniques connues pour obtenir une carte dite de profondeur ou de distance.
Le procédé de l’invention permet de traiter des images 2D qui sont ensuite combinées pour obtenir un nuage de points G-i . Les points vont constituer un premier graphe G1. Selon un exemple, les points du premier graphe G1 obtenus sont non orientés et non connectés. Dans sa forme la plus simple, le graphe G1 est une liste de points non ordonnée dont les coordonnées sont référencées dans l’espace, par exemple dans Ro, Ri, R2 ou R3. Les points sont alors définis chacun indépendamment des autres. Dans sa forme la plus simple, le graphe G1 est donc un nuage de points.
Les images IM1 , IM2 peuvent être acquises simultanément. Avantageusement, les optiques sont dirigées selon des axes parallèles et sont
colocalisées. Un intérêt est de pouvoir traiter les images par une technique de stéréoscopie pour générer une carte de profondeur. La carte de profondeur permet d’adresser des coordonnées spatiales x, y, z à une pluralité de points.
Selon un mode de réalisation, les couleurs des images sont utilisées pour générer des différences de tons et donc des variations de distance.
La carte de profondeur peut être obtenue en encodant les distances entre différents points obtenus dont la résolution peut être configurée. Les niveaux de gris peuvent varier selon une première gamme de valeurs. En choisissant un encodage, par exemple, sur 16 bits, l’encodage en niveaux de gris de la carte de profondeur permet d’obtenir une grande précision de la distance séparant les différents points.
Le procédé de l’invention permet d’acquérir en continu un flux d’images par les optiques 51 , 52 afin de traiter en temps réel ces dernières. Les notations IM-i , IM2 désignent aussi bien les images acquises que le flux d’images acquises par chacune des caméras 51 , 52.
Les images peuvent être traitées de sorte à extraire un périmètre d’acquisition limitant la zone à traiter. Pour cela, un gabarit peut être utilisé pour éviter de prendre en considération des points en dehors d’une zone d’intérêt défini par la surface du corps.
L’acquisition de deux images IM1, IM2 et la couverture de l’intégralité de la surface à traiter permet de générer une carte de profondeur de la totalité du corps. La carte de profondeur comprend un ensemble de points et des distances relatives les uns par rapport aux autres.
Selon un autre exemple, aucune surface n’est traitée à ce stade du procédé. Les distances entre points sont générées indépendamment d’une reconnaissance de forme telle qu’une enveloppe d’un corps.
Selon un exemple, le nombre de points générés par unité de surface est configurable selon une résolution souhaitée du nuage de points. A cette fin l’acquisition peut être configurée pour acquérir plus ou moins d’images afin d’augmenter la résolution.
Selon un mode de réalisation, un système de positionnement SYS_POS permet de définir un référentiel et un système de coordonnées pour repérer chaque point dans un unique référentiel. Ce système de positionnement peut être avantageusement le dispositif d’acquisition 5.
La calibration stéréoscopique permet d’obtenir la transformation entre Ro et Ri , avec R1 le repère associé au système d’acquisition 5. Ensuite, le procédé de l’invention permet de calibrer l’objet robotisé 6 par rapport au système d’acquisition 5 et donc de réaliser les transformations des images dans les référentiels R2->RI->RO. Lorsqu’un référentiel R3 est associé à la tête 8 du bras robotisé 6, une transformation de R3 -> R2 est connue du fait que la cinématique d’articulation de chaque bras est connue par un calculateur et une mémoire du système pilotant le bras robot 6.
Autres techniques d’acquisition
Selon un mode de réalisation, un dispositif de projection est utilisé pour projeter un motif sur la surface du corps. Les images acquises peuvent alors être traitées de sorte à analyser la déformation du motif projeté. Cette technique permet d’obtenir une donnée supplémentaire et permet d’améliorer la reconstruction 3D. En particulier, la détection d’une déformation d’un motif projeté permet d’améliorer la précision des évaluations des distances calculées pour générer la carte de profondeur. En outre, le projecteur permet de réduire le bruit lors de la construction du nuage de points pour générer le premier graphe G1.
En conséquence, la reconstruction par stéréoscopie d’une carte de profondeur peut être obtenue avec des paires de caméras utilisées éventuellement avec au moins un projecteur de motifs. La lumière projetée peut être dans la gamme visible ou non, telle que la gamme des infrarouges. Selon un exemple, le dispositif d’acquisition 5 peut comprendre une paire de caméras 3D couleur et au moins un projecteur infrarouge.
Selon un autre mode de réalisation, les caméras utilisées peuvent être des caméras infrarouges ou ayant une gamme de fréquences dans le proche infrarouge.
D’autres techniques de construction d’une carte de profondeur peuvent être utilisées, telles qu’un dispositif émetteur-récepteur laser. La réflexion du faisceau laser permet de générer une donnée relative à la géométrie de la surface de réflexion. Une autre technique peut s’appuyer sur un émetteur-récepteur à ultrasons. Un exemple d’un système qui pourrait être mis en œuvre est le système de type LIDAR.
Selon un mode de réalisation, le procédé de l’invention permet de récupérer un nuage de points issu des images acquises et de le transférer par
exemple sur un processeur graphique tel qu’un GPU, GPU désignant dans la terminologie anglo-saxonne « Graphie Processing Unit ».
Génération d’un premier Graphe G1
Le procédé de l’invention comprend une étape visant à générer un ensemble de points associés à des coordonnées spatiales référencées par exemple dans un repère Ro de l’espace. Ces coordonnées peuvent être obtenues à partir d’une calibration préalable d’un système de positionnement SYS_POS. La calibration peut être réalisée à partir d’un motif particulier acquis par une optique du système de positionnement SYS_POS au démarrage du procédé de l’invention. Selon un mode de réalisation, le système de positionnement SYS_POS et le système optique SYS_OPT peuvent être un même système. Selon un autre mode de réalisation, ils peuvent correspondre à deux systèmes distincts.
Ainsi, une carte de profondeur obtenue par un système d’acquisition SYS_OPT peut être exploitée pour obtenir un ensemble de points de l’espace associés à des coordonnées dans un repère Ro de l’espace.
Le procédé de l’invention comporte une étape de réception REC_DATAi de données, les données DATAi correspondant à des points de l’espace référencés dans un repère Ro de l’espace.
Selon un exemple, le procédé de l’invention peut comprendre une étape visant à segmenter les données associées à une surface prédéfinie. La surface peut être par exemple la surface d’un corps humain. Cette segmentation peut être réalisée automatiquement par une analyse des données telles que les données issues des images 2D acquises et/ou de la carte de profondeur obtenue. Par exemple, le procédé de l’invention peut comprendre une analyse des écarts de distance entre certains points ou encore en réalisant un traitement colorimétrique. La carte de profondeur peut être utilisée pour filtrer le nuage de points et garder uniquement les points d’intérêt, c’est-à-dire ceux du corps humain.
Selon un autre exemple, un contour de surface peut être acquis depuis une console d’exploitation telle que le PC 20 représenté à la figure 3. Selon ce dernier exemple, le contour de la surface d’un corps peut être obtenu au moyen d’un outil de sélection tel qu’un stylet ou une souris et une image représentée sur l’écran de la console 20 par un opérateur. Selon d’autres exemples, une sélection peut être opérée par une commande tactile sur un
écran ou une commande vocale. Un intérêt est d’écarter par exemple des points appartenant à la table 22 sur laquelle repose le patient 1 .
Le procédé de l’invention comprend la génération d’un premier graphe GEN_Gi . Le premier graphe Gi peut être obtenu à partir d’une représentation matricielle de l’ensemble des points générés de la surface du corps d’un patient 1 . Chaque point est noté vi et peut être représenté par un vecteur comportant notamment ses coordonnées dans un repère Ro. Selon un mode de réalisation, à ce stade le premier graphe Gi est non-ordonné dans le référentiel d’acquisition. La notation « graphe » est utilisée ici même dans la réalisation la plus simple ou l’ensemble des points correspond à une liste de points ayant des coordonnées, c’est-à-dire un simple nuage de points. Dans d’autres modes de réalisation, le graphe peut être connecté ou non, orienté ou non, etc.
Filtrage
Selon un mode de réalisation, le procédé de l’invention comprend une étape de filtrage du graphe obtenue, le filtrage peut être un filtrage temporel et/ou spatial. L’étape de filtrage permet de réduire le bruit généré lors de la génération du premier graphe G1 consécutivement à l’étape de détection.
Détermination des attributs
Le procédé de l’invention comprend une étape de détermination d’au moins un attribut DET_ATi pour chaque point vi. Les attributs correspondent à des données associées au point vi, ces attributs peuvent être de différentes natures : données cartésiennes, descripteurs de forme, identifiants, vecteur, etc.
Selon un mode de réalisation, un attribut comprend des données décrivant un vecteur normal n\ au point vi du premier graphe G-i . Le vecteur normal n peut être déterminé de différentes manières. L’intérêt du calcul du vecteur normal comme attribut d’un point du nuage de point est de produire une information relative à la convexité de la surface locale.
Selon un mode de réalisation, le vecteur normal ni en un point donné vi du premier graph Gi est calculé en considérant une surface générée localement autour de chaque point considéré vi à partir des points ViLk à son voisinage. A cet effet, les coordonnées spatiales de chaque point sont comparées aux coordonnées du point considéré. Selon un exemple, les
données de distance ou de profondeur acquises sont utilisées pour identifier les points au voisinage du point considéré.
Selon un premier exemple, la surface considérée pour calculer le vecteur normal est calculée à partir de la surface sous-jacente définie par les points du premier graphe G-i .
Selon un second exemple, la surface considérée pour calculer le vecteur normal est calculée d’une méthode implémentée sur GPU. Selon un autre exemple, le vecteur normal est calculé à partir d’une approximation d’une surface locale directement obtenue à partir d’une méthode des k plus proches voisins du point considéré. Cette méthode de triangulation qui connecte une liste de point 3D peut néanmoins être plus coûteuse que la méthode implémentée sur GPU.
Une exploitation possible du calcul du vecteur Normal en un point du graphe est d’augmenter la description d’un point afin d’enrichir le nuage de point.
Descripteur de forme
Selon un mode de réalisation, un attribut comprend au moins un descripteur de forme, noté Dfi, en chaque point vi du premier graph G-i. Un descripteur de forme est une signature descriptive locale de l’espace en un point.
Selon un exemple, un descripteur de forme Dfi est calculé à partir d’un sous ensemble de points au voisinage du point considéré Vi. Le procédé comprend donc une étape de génération d’un graphe de points reconstruit ou extrait à partir d’un modèle de corps à partir et d’un point de vue de chaque dispositif d’acquisition d’images susceptibles d’exploiter ces données. A titre d’exemple, lorsqu’un dispositif d’acquisition est agencé à l’extrémité distale d’un bras robot, une vue partielle d’un modèle de corps peut être générée depuis la position du dispositif d’acquisition pour effectuer un traitement particulier.
Les descripteurs de forme peuvent également être déduits en chaque point d’un modèle 3D de corps obtenus à partir du nuage de points. Dans la mesure, où ils présentent des propriétés de symétrie et d’isotropie, les descripteurs dé formé restent invariants lors d’une transformation isométrique, telle qu’une rotation du modèle de corps. Ceci présente un intérêt pour transposer les descripteurs de forme, quel que soit l’angle de vue considéré.
Un avantage est de réaliser le calcul des descripteurs de forme directement sur les points du premier graphe G-i. L’invention permet donc d’optimiser le calcul de ces descripteurs de forme qui ne sont pas appliqués à des portions de surface, mais directement à des points prédéfinis d’un graphe. Les calculs de descripteurs peuvent être réalisés sur la matrice d’adjacence d’un graphe connecté obtenu à partir du graphe G-i . Le graphe connecté implique que chaque point est connecté avec tous les autres. La matrice d’adjacence permet d’obtenir les points ayant des connexions directes avec un point donné. En outre, un degré de proximité d’un point vis-à-vis d’un autre peut être déduit de la matrice d’adjacence. Selon les descripteurs de forme, un voisinage d’un point peut être déduit de la matrice d’adjacence.
Alternativement, le procédé de l’invention permet d’appliquer un seuil de distance pour ne connecter un point qu’avec ses N voisins les plus proches.
Selon un mode de réalisation, les descripteurs de forme sont choisis comme étant isométriques et invariants. Un intérêt est d’obtenir des descripteurs de forme qui restent invariants lorsqu'un mouvement du corps est réalisé avec une transformation isométrique.
Selon un premier exemple, le descripteur de forme est du type : « Wave Kernel Signature », noté WKS. Selon un second exemple, le descripteur de forme est du type : « Heat Kernel Signature », noté HKS. Selon un troisième exemple, le descripteur de forme est du type : « Gaussian Curvature ».
Selon différents modes de réalisation, une pluralité de descripteurs de forme Dfi est calculée en chaque point considéré du premier graphe Gi et est associée en chacun de cesdits derniers points.
Certains descripteurs de forme sont des descripteurs de forme appartenant au groupe des méthodes d’analyse de forme spectrale, telle que les descripteurs HKS ou WKS. Le descripteur HKS est notamment basé sur une solution de l’équation de chaleur, il est basé sur l’opérateur de Laplace - Beltrami.
Un des avantages de ces descripteurs de forme est notamment leur invariance dans certaines transformations, notamment dans les transformations isométriques. Par ailleurs, ce descripteur de forme peut être calculé à partir de la matrice d’adjacence du graphe G-i. Un avantage est de
permettre de prendre en compte la distance relative d’un point considéré avec l’ensemble des points à son voisinage.
Selon un exemple, le procédé de l’invention peut être utilisé en considérant des seuils appliqués à la matrice d’adjacence de manière à considérer uniquement un sous-ensemble de points pour lesquels la distance est supérieure à un seuil donné.
Le descripteur WKS est lui basé sur une solution de l’équation de Shrôdinger. Un intérêt du descripteur WKS est sa capacité de séparation spectrale de la modélisation obtenue par l’opérateur.
Les descripteurs de forme peuvent être choisis de sorte qu’ils modélisent une forme tridimensionnelle locale ou globale. Lorsque ces descripteurs encodent une modélisation locale, un rayon de validité peut être introduit. Toutefois, une modélisation globale bénéficiera de la totalité des invariances géométriques de l’opérateur utilisé.
Le descripteur de forme « Global Point Signature », noté GPS, peut également être utilisé. Ce descripteur est basé sur un opérateur de type Laplace-Beltrami. Un intérêt de cet opérateur est sa capacité à obtenir une modélisation globale.
Le descripteur de forme « Gaussian Curvature », noté GC, peut également être utilisé. Ce descripteur offre la possibilité de considérer une surface paramétrée et donc inversement de considérer des points qui définissent localement une surface.
Le descripteur « Spectral Graph Wavelet Signature », noté SGWS, peut également être utilisé pour définir un descripteur local multi-résolution.
Un intérêt des descripteurs de forme basés sur une analyse spectrale de forme est leur capacité à être traités mathématiquement pour assembler des surfaces connexes ou voisines, segmenter des zones et effectuer des algorithmes de reconnaissances de formes.
Un avantage est d’enrichir la description d’un point et donc d’améliorer les performances de la régression du réseau de neurones.
Un autre avantage des descripteurs de forme est de générer une identité à un point du premier graphe G-i. Lorsque le corps d’un patient bouge ou change au cours du temps, la surface du corps est considérée comme un objet déformable dont les transformations sont non isométriques. Les descripteurs de forme permettent de générer en chaque point des
caractéristiques propres qu’il est possible de retrouver grâce au procédé de l’invention après une déformation.
Association des attributs
Ainsi chaque point vi du premier graphe Gi peut être associé à des coordonnées {xi, y\, z\}, un vecteur normal n, un ensemble de descripteurs de forme {Dfn , DFi2, DFÎ3, DfiN}. Cette étape est notée ASSO_ATi à la figure 1 .
Le point vi peut alors être construit comme un vecteur de dimension finie dont chaque dimension correspond à un attribut donné. Un second graphe G2 peut alors être généré. Ce second graphe G2 correspond à une liste de vecteurs enrichis de leurs attributs ATi.
Régression
Une étape de calcul permettant la reconstruction tridimensionnelle du corps humain acquis et enrichi à l’aide d’une approximation par un modèle paramétrique de corps humain. Cette étape est notée REG sur la figure 1 . L’objectif de l’étape de régression est d’estimer des paramètres donnés pour configurer le modèle de corps paramétrable avec ces paramètres. Ainsi, à partir d’une vue partielle acquise par la caméra, un modèle de corps paramétré complet peut être estimé.
A cette fin, le procédé de l’invention comprend alors une étape de calcul d’un ensemble de paramètres géométriques comportant des paramètres de forme et de rotation ROTi.
Les rotations peuvent être calculés en une pluralité de points du second graphe G2. Selon un mode de réalisation, les rotations sont calculées pour chaque point du second graphe G2. Selon un mode de réalisation, chaque rotation peut être associée à une articulation. Une articulation peut être associée à une région délimitée du modèle de corps paramétrique MOD_S et une articulation donnée peut être donc associée à un modèle de corps paramétré MOD_P. Une articulation donnée peut donc être associée à l’issue de l’opération de régression à un ensemble de points du second graphe G2.
Les paramètres de forme peuvent être définis par un ensemble de positions de points d’un modèle de corps paramétrés dans un repère donné.
Selon un mode de réalisation, les paramètres d’entrées sont l’ensemble des points du nuage de points G1 ou G2 muni de leurs attributs calculés dans l’espace euclidien R3.
Selon une alternative, les paramètres d’entrées peuvent être la matrice d’adjacence correspondant au graphe Gi de chaque point du nuage de points. Ces entrées permettent une étude dans le domaine spectral de l’entrée et ne nécessitent pas nécessairement la prise en compte des attributs.
Les paramètres de forme et les rotations d’un ensemble d’articulations correspondent aux paramètres de sortie du réseau de neurones. Ce sont ces paramètres qui permettront de configurer le modèle paramétrique de corps MOD_S pour générer un modèle de corps paramétré MOD_P.
Selon un mode de réalisation, l’étape de régression comporte une série d’opérations mathématiques telles que des opérations matricielles entre la matrice d’entrée et une matrice de poids préalablement entraînée par un processus d’apprentissage profond.
Chacune de ses opérations étant suivie d’une fonction non-linéaire. Il s’agit de fonctions d’activation ou de fonctions de transfert permettant de produire la sortie d’un nœud du réseau. A titre d’exemple des fonctions non- linéaires telles que ReLU, Sigmoid ou Tanh peuvent être réalisées.
Selon un exemple, l’étape comprend une régression effectuée à partir d’une série de convolutions de couches d’un réseau de neurones entraîné à partir d’une pluralité de modèles paramétrés de corps prédéfinis MPPi}ie[1 ;N]
Il peut s’agir de convolutions ou de couches du réseau de neurones. En effet, le réseau peut comprendre dans ses premières couches des convolutions, ou des couches de neurones entièrement connectées, dite « fully connected layers » à la fin du modèle. Dans ce dernier cas, ce sont des neurones connectés à tous les neurones de la couches précédentes et connectés à tous ceux de la couche suivante.
Les couches de convolutions peuvent comprendre un balayage d’une matrice d’entrée produisant une série de calculs matriciels. Les autres couches du réseau de neurones comprennent, elles généralement des calculs matriciels sur la taille de la matrice d’entrée. Dans tous les cas, l’étape comprendre des calculs matriciels.
Selon un exemple, chaque convolution comprend un produit de matrice entre une matrice d’entrées et une matrice de poids et la prise en compte d’un biais additionnel.
L’application d’un traitement par couches successives au sein du réseau de neurones comprend l’application d’une série de multiplications matricielles qui sont suivies d’une fonction non linéaire pour produire une sortie d’une couche. La succession de ces opérations définit la profondeur du réseau de neurones.
Selon un exemple de réalisation, le réseau de neurones est un perceptron multicouche, connu sous l’acronyme MLP et dans la terminologie anglo-saxonne par « multi-layers perceptron ». Selon un exemple, le réseau de neurones peut être un réseau équivalent au MLP.
Selon un exemple, le réseau de neurones est configuré de sorte que le résultat soit invariant par permutation des points de la liste d’entrée. Cette configuration est rendue possible par l’usage de fonctions d’agrégation telle que la fonction connue sous le nom « MAX POOLING » ou encore « AVG POOLING ».
Selon un mode de réalisation, la structure du réseau de neurones permet d’extraire des attributs de l’entrée à différente échelle. Le voisinage de chaque point du nuage de points à différentes échelles est successivement considéré pour extraire un encodage dans un espace à dimension réduite de l’entrée.
Cet encodage est ensuite passé dans une série de couches entièrement connectées pour faire une régression sur l’ensemble des paramètres du modèle paramétrique de corps humain.
Successivement des étapes d’échantillonnage et/ou de regroupement du voisinage des points échantillonné puis de regroupement de ces points sont répétées et encodées par des couches de convolutions pour créer des cartes des paramètres obtenus.
Le procédé de l’invention permet avantageusement de créer une fonction conservant la symétrie de l’ensemble des points en entrée du réseau avec celle en sortie du réseau. Ainsi, l’application du réseau de neurones à un graphe non connecté, non orienté peut être assurée par la mise en œuvre de cette fonction conservant les symétries. Cette fonction assure une indépendance de cette étape vis-à-vis de l’ordonnancement des points en entrée.
Cette fonction permet également la mise en œuvre d’auto encodeurs au sein du traitement de la régression.
L’ensemble des modèles paramétrés peuvent être obtenus à partir d’un modèle générique. Un intérêt d’un tel modèle est de pouvoir générer une pluralité de poses d’un corps humain à partir d’un paramétrage des articulations et de paramètres de forme. Une particularité d’un tel modèle de corps est qu’il peut être modélisé par un ensemble d’articulations comportant chacune au moins une rotation et une position. Une rotation d’une articulation peut être définie par un angle. La position de l’articulation peut être associée à au moins une position d’au moins un point du graphe ou plusieurs points du même graphe. Selon un autre exemple la position de l’articulation est obtenue à partir d’une opération combinant différentes positions du graphe par exemple pour générer une nouvelle position d’un nouveau point. Ce nouveau point peut être par exemple un barycentre d’un sous-ensemble de points du graphe. Des paramètres de forme peuvent être paramétrés pour définir des paramètres globaux de forme du corps.
L’ensemble des configurations données d’un ensemble d’articulations en position et en rotation permet de définir une pose donnée du modèle de corps. Ainsi, il est possible de générer une pluralité de poses du modèle de corps.
Selon un mode de réalisation, la modélisation paramétrique du corps humain est un réseau maillé de points. Chaque articulation paramétrée génère une configuration associant un sous-ensemble de points du réseau maillé de points.
Selon ce dernier exemple, 24 articulations peuvent être définies à partir de 72 paramètres de rotations, chacune des articulations est associée à 3 rotations. Ce modèle paramétrique peut comprendre également 3 rotations globales. Un sous-ensemble d’articulations peut être extrait pour réaliser un mode de réalisation de l’invention, comme le poignet, le coude, etc.
Chaque articulation peut comprendre également un ensemble de paramètres de forme tels que la largeur du poignet, la longueur du poignet, etc.
Selon un exemple de réalisation, une fonction d’analyse en composantes principales, dite ACP et désignée par « Principal component analysis » permet d’extraite des paramètres généraux dont la configuration permet d’agir sur un ensemble de paramètres d’une pluralité d’articulations. A titre d’exemple, la taille d’un individu, l’épaisseur de la zone ventrale, la
corpulence, la taille du bassin, etc. peuvent être configurées pour prérégler un ensemble de paramètres locaux liés à une pluralité d’articulation.
Le paramétrage d’un corps peut comprendre une pluralité de vecteurs définissant une forme et un angle. A titre d’exemple, il peut s’agir de la cheville, de la taille, du bras, etc. Une configuration générale permet d’obtenir une silhouette ou un gabarit donné du corps qui peut être paramétré.
D’autres modélisations paramétrables de corps peuvent être utilisées avec le procédé de l’invention.
Apprentissage du réseau de neurones
Le réseau de neurones entraîné par un apprentissage automatique, plus connu sous le nom anglo-saxon de « machine Learning ».
Un tel algorithme d’apprentissage automatique peut comprendre une étape de récupération d’une base de données de scans de corps humain en haute définition. Puis, des étapes de déformations d’un gabarit de corps du modèle paramétrique par l’application de transformations isométriques. Les transformations peuvent comprendre des translations et des rotations et leurs combinaisons appliquées à différentes facettes du gabarit de manière à se conformer aux scans issus des données récupérées. Cette étape peut comprendre l’exécution d’une fonction de coûts à optimiser par descente de gradient par exemple.
Le procédé comprend une étape d’agrégation des transformations effectuées sur chaque scan. Les composantes principales des transformations sont alors déduites par une méthode de type ACP.
L’application de cet algorithme permet d’extraire les paramètres principaux de forme et de position d’un corps humain.
Afin de générer un ensemble de vues partielles VP d’un ensemble de modèles de corps paramétrés obtenus à partir d’une pluralité de paramétrages d’un modèle de corps paramétrique, un algorithme de « lancer de rayons », plus connu dans la terminologie anglo-saxonne de « ray tracing » peut être appliqué. L’algorithme peut prendre en compte un grand nombre de points de vue différents afin de générer une multitude de vues partielles VP à partir d’un modèle de corps paramétré donné. Un avantage est d’éviter une étape de calibration lors de l’exécution du procédé de l’invention et de se rapprocher du monde réel lorsque les images d’un corps d’un patient seront acquises. La multiplication de l’apprentissage avec un grand nombre de vues
partielles permet d’éviter des étapes de traitement du corps telles que des translations ou des rotations des données acquises représentant le corps d’un patient.
Un intérêt de cette solution est de générer un grand nombre de modèles de corps en faisant varier des paramètres avec différentes vues partielles d’un modèle de corps. Ces dernières vues partielles VP correspondant à un sous-ensemble du nuage de points définissant l’intégralité du corps. Un avantage est d’entrainer le réseau de neurones avec une multitude de configurations pouvant correspondre au cas d’acquisitions d’un réel corps lors de l’utilisation du procédé de l’invention. Les points de vue correspondent à des points de capture d’une caméra par exemple. Afin de constituer une bibliothèque la plus complète possible de données représentant des modèles de corps, les points de vue sont multipliés autour de la surface de chaque corps généré à partir du modèle paramétrique. Ainsi, une multitude de surfaces de corps représentée selon différents points de vue est enregistrée dans une mémoire. L’ensemble des données générées pour entraîner un réseau de neurones en vue de réaliser l’étape de régression est un ensemble de vues partielles VP d’une pluralité de modèle de corps paramétrés MOD_P.
Un avantage est d’entrainer les poids de la régression avec les descripteurs de forme associés à chaque point d’un modèle de corps tel qu’il puisse être perçu dans la réalité. Les descripteurs de forme peuvent être obtenus pour chaque vue partielle VP de modèle de corps générés et pour chaque point d’un modèle de corps donné. Les descripteurs de forme obtenus grâce à l’apprentissage permettent de définir des matrices de poids, autrement appelées des matrices comportant des coefficients de pondération pour chaque couche du réseau de neurones. Lors de la régression effectuée en temps réel lors du calcul d’un modèle de corps d’un patient, l’étape de régression sera avantageusement réalisée avec les matrices de poids définis par l’étape d’apprentissage.
Les modèles de corps paramétrés MOD_P ainsi générés permettent donc d’entrainer le réseau de neurones utilisé pour effectuer l’étape de régression REG. La régression effectuée en temps réel permet alors d’extraire les paramètres caractérisant le corps considéré.
Cette étape permet d’obtenir un modèle de corps dont la surface peut être facilement extraite et de considérer un modèle de corps paramétré complet et non une partie uniquement vue de la caméra
Un avantage du procédé de l’invention est de reconstruire une surface tridimensionnelle en temps réel par inférence. Cette solution repose sur l’utilisation de modèles qui ont été entraînés grâce à une technique d’apprentissage profond. Un intérêt est de s’affranchir d’une méthode d’optimisation, telle que des méthodes itératives, par exemple, par un algorithme du gradient qui nécessite des temps de calcul plus importants et des limitations d’intégration pour l’asservissement temps réel du bras robotisé. Un intérêt du procédé de l’invention est de réaliser l’optimisation lors de l’apprentissage et non lors du traitement des données acquises lors du guidage d’un bras robotisé.
L’inférence en apprentissage profond comprend des opérations de multiplications matricielles avec des poids préalablement entraînés.
Selon un mode de réalisation, les couches du réseau de neurones comportent une résolution dépendante de la couche considérée. L’échelle peut devenir de plus en plus grande à mesure qu’on descend dans les couches du réseau. Un exemple de réseau de neurones tel qu’un réseau MLP peut être utilisé.
Premier maillage, Mi
Le procédé comporte donc une étape d’extraction d’une surface maillée. Le maillage de la surface obtenue est un premier maillage noté M-i. Selon un mode de réalisation, le premier maillage Mi est un maillage dans lequel des triangles sont définis par des points de la surface considérés avec les points à leur voisinage. La figure 7 représente un exemple de maillage Mi comportant une pluralité de triangles formés par des triplets de points n\ colocalisé au sein de la surface considérée.
Selon un autre mode de réalisation, un autre motif de maillage peut être considéré dans d’autres modes de réalisation de l’invention : des quadrilatères carrés, des pentagones et généralement tout type de polygone dont les sommets sont des points du maillage.
Le maillage Mi est créé après l’opération de régression. Avant l’étape de régression, le nuage de points est considéré de sorte que chaque
point est indépendant des uns et des autres, les points ne sont pas liés entre eux.
Second maillage, M2
Selon un mode de réalisation, le procédé de l’invention comporte une étape de définition d’un second maillage M2 à partir du premier maillage Mi . Le second maillage M2 peut avantageusement être défini de sorte à générer des triangles rendus semi-homogènes, par exemple des triangles isocèles. Dans cet exemple, les triangles peuvent être transformés selon un algorithme donné par exemple utilisant des propriétés de symétries du maillage généré.
La figure 8 représente un exemple de réalisation d’un second maillage M2 obtenu à partir d’une transformation. Le maillage M2 comporte un ensemble de points comportant un premier ensemble de points n\ resté invariant et un second ensemble de points ni’ généré à partir de la création d’une bissectrice de chaque triangle considéré pour créer deux nouveaux triangles isocèles.
D’autres techniques peuvent être employées pour homogénéiser un maillage afin de régulariser un maillage. Selon une autre technique, des triangles équilatéraux sont générés tels que représentés à la figure 9. Un avantage est de générer un maillage totalement homogène permettant notamment de faciliter le guidage du dispositif opérateur 8.
Le procédé de l’invention permet d’appliquer des transformations aux points du maillage de sorte que leurs attributs soient également transformés en fonction des positions cartésiennes de chaque nouveau point généré.
Selon un exemple, la résolution du maillage M1 ou M2 souhaitée est obtenue en fonction d’un paramétrage du ou des capteurs ou du ou des émetteurs à l’extrémité du bras robotisé. La résolution du graphe G1 peut être configurée de taille variable et être indépendante de la résolution du maillage M1 ou M2. A titre d’exemple, les cercles 36, 37, 38 représentent des points de visées souhaités d’une puissance à délivrer d’un laser sur une surface de la peau d’un patient 1 . Un intérêt de cette solution est de générer une résolution dermatologique adaptée au traitement à appliquer.
Ainsi, dans la figure 8 illustre des cercles 36 de différentes tailles obtenues par un maillage présentant des triangles isocèles de différentes
dimensions. Ainsi, un coefficient doit être appliqué au moment du tir pour adapter la puissance appliquée au signal. Selon un autre exemple, le second maillage M2 peut être rendu homogène par une série de traitements géométriques afin d’obtenir des triangles de dimensions équivalentes.
La figure 9 représente un point de visée 37 ou 38 d’une puissance à délivrer d’un laser sur une surface de la peau. Un intérêt de cette configuration de maillage est de pouvoir obtenir une même configuration de tir d’un triangle à l’autre. Les triangles 38 sont tangents entre eux et permettent de contrôler un paramètre de taux de recouvrement.
Selon un mode de réalisation, un nouveau maillage M3 est défini par des cercles 36, 37, 38 générés à partir du second maillage M2.
Asservissement temps réel
Selon un mode de réalisation, le dispositif d’acquisition 5 réalise en temps réel une acquisition ACQ de points de toute ou partie du corps d’un patient 1 afin de calculer un modèle de corps paramétré MOD_P à partir du procédé de l’invention qui soit adapté pour asservir les mouvements d’un bras robot 6. Le guidage d’un bras robot 6 est effectué à partir d’une trajectoire de traitement TRAJ1 , notée 30 sur la figure 4, établie au sein d’une zone définie 9 de la surface ainsi modélisée et recalculée.
La trajectoire TRAJ2 du bras robot 6 peut être automatiquement générée à partir de la trajectoire de traitement TRAJ1 en fonction d’une orientation et d’une distance relative entre la tête 8 du bras robot 6 et la surface de la peau à définir, par exemple, au moyen d’une interface utilisateur Ul. L’orientation est déterminée par défaut à 90°, c’est-à-dire que l’axe principal d’un capteur ou d’un émetteur de la tête 8 du bras robot 6 est confondu avec la normal N au point cible de la surface du corps considéré, notamment du modèle de corps paramétré MOD_P qui a été préalablement généré. La distance correspond à la distance d’un point du capteur ou de l’émetteur de la tête 8 du bras robot 6 et un point de visé, noté point cible PCIBLE à la surface du corps modélisé généré à la position du patient.
Un intérêt d’un calcul en temps réel de la surface modélisée du corps d’un patient 1 est d’anticiper, par exemple, des mouvements dudit patient 1 de prendre en compte des mouvements, par exemple, issus de la respiration du patient 1 .
L’avantage du procédé de l’invention est de pouvoir générer une nouvelle surface modélisée en moins de 30ms. Ces temps de réponse permettent notamment d’asservir les mouvements d’un bras robot 6 avec une vitesse suffisante pour anticiper des collisions ou des mouvements brusques afin de se dégager le plus rapidement possible. La configuration d’une acquisition par une caméra peut être par exemple de 10 à 90 fps.
L’asservissement en temps réel du bras robot 6 permet d’activer au moins une émission d’un émetteur et/ou d’une acquisition d’un capteur d’un dispositif opérateur 8. L’activation est alors réalisée lorsque l’orientation de l’axe du capteur ou de l’émetteur est perpendiculaire à la droite passant par le point cible PCIBLE. Le point cible PCIBLE est référencé sur le modèle de corps paramétré généré. Cette dernière est générée à la position et l’orientation du dispositif opérateur 8. Le point cible PCIBLE peut être obtenu avant le guidage du bras robot 6, par exemple, lors de la planification d’une stratégie de tirs laser ou d’un tir d’ultrasons. Selon un autre cas, le point cible PCIBLE est obtenu pendant le guidage par exemple lorsqu’une comparaison d’images réalisées active un changement du guidage pour activer un autre détecteur.
Dans tous les cas de figure, le point cible PCIBLE est défini selon une stratégie de guidage et sa position peut être corrigée lorsque la surface du corps considérée subit une transformation imposant une adaptation de la stratégie de guidage.
Selon un mode de réalisation, l’acquisition ACQ réalisée par le dispositif 5 peut également être couplée à une acquisition d’images réalisée par une optique agencée à l’extrémité du bras robot 6. Cela peut être le cas lorsque les mouvements du bras robot 6 masquent la zone d’intérêt du corps du patient 1 à acquérir par le dispositif d’acquisition de points 5 ou lorsque des mouvements de faibles amplitudes sont contrôlés par l’optique distale du bras robot 6.
Ainsi deux modes d’asservissement peuvent être réalisés et éventuellement combinés pour générer une nouvelle surface modélisée lors de l’exécution d’un traitement.
Bras robot
Le bras robot 6 est guidé par un contrôleur de mouvement GEN_TRAJ qui en prend en compte différentes contraintes pour asservir le bras robot. Notamment, ce contrôleur prend en compte une planification d’une
trajectoire configurée et la définition d’une zone à traiter par un utilisateur. Cette surface est définie sur la surface du corps reconstruite selon le procédé de l’invention. En outre, le contrôleur CTRL peut prendre en compte une consigne provenant d’un module de détection de collision pour adapter la course du bras robot en temps réel. Enfin, le contrôleur CTRL prend en considération des données provenant de la tête du robot 6 au moyen d’un module CNTR_8, par exemple lorsqu’une détection d’une image singulière impose une manipulation particulière du robot.
Selon un mode de réalisation, le bras robot 6 comprend un ensemble de branches 61 , 62, 63, 64, 65 articulées au moyen d’articulations pivots 612, 623, 634, 645, 656. Le bras robot 6 comprend dans ce cas 5 branches articulées à partir de liaisons pivots. Selon une variante, il comprend 6 branches articulées et selon d’autres variantes, il peut comprendre 7, 8 ou 9 branches articulées. En effet, dans ce mode de réalisation, chaque articulation est capable d’effectuer au moins une rotation entre deux branches adjacentes.
Selon un mode de réalisation, chaque branche un bras robot comporte un capteur d’effort. Un avantage est de prévenir de collision brusque. Lorsqu’un contact est établi entre une branche du bras robot 6 et un objet, les mouvements du bras robot peut être automatiquement arrêté ou son guidage modifié de manière à ce qu’il change sa trajectoire.
Selon un mode de réalisation, une étape de calibration du bras robot 6 est réalisée préalablement au procédé de l’invention. La calibration peut comprendre les positionnements relatifs du bras robot vis-à-vis du repère Ro ainsi que sa position initiale.
Dispositif opérateur et optique
Selon un mode de réalisation, le bras robot 6 comporte un dispositif opérateur 8 avantageusement agencé à l’extrémité du bras robot 6. Selon les modes de réalisation, l’optique 67 peut être agencée de sorte à être désaxée vis-à-vis de la tête 8 du bas robot ou elle peut être agencée à l’extrémité de cette tête comme dans le cas de la figure 6A.
Un intérêt de la configuration de la figure 3 est de munir la tête du bras robot , par exemple, d’un dispositif laser ou d’un dispositif générant des ultrasons pour des traitements localisés et de déporter l’optique d’acquisition d’images. Un intérêt de la configuration de la figure 6A est de configurer un bras robot 6 pour des applications dermatologiques de prises d’images.
Toutefois toutes les configurations sont envisageables ainsi que les combinaisons des précédents cas de figure.
Selon un exemple, le dispositif opérateur 8 comprend au moins un capteur et/ou au moins un émetteur. Le dispositif opérateur 8 est également appelée la « tête » du bras robot 6.
Dans l’exemple de la figure 5, le bras robotisé 6 est muni d’un ou plusieurs capteurs optiques 67 pour acquérir des images locales de la surface de la peau. Un intérêt de la prise d’images locales en tête du bras robot 6 est la possibilité de reconstruire une surface du corps « colorisé », c’est-à-dire dans laquelle les images prises sont intégrées au modèle de corps paramétré MOD_P généré par le procédé de l’invention. A cette fin, le dispositif optique situé à l’extrémité du bras robot 67 ou {83 ; 84} peut comprendre préférentiellement deux optiques de sorte à reconstituer une carte de profondeur associée aux images acquises simultanément par les deux optiques. Les images peuvent alors être indexées sur la surface du corps paramétré.
Autres dispositifs d’émission/acquisition
En outre, le dispositif opérateur 8 peut comprendre un émetteur de type ultrasons, radiofréquences ou laser ou toute autre source de signaux susceptibles d’être utilisés pour générer un faisceau incident. Selon un mode de réalisation, le dispositif opérateur s peut comprendre un réseau d’émetteurs focalisés et des moyens de contrôle de la direction et de la puissance émise.
Lorsqu’un émetteur ultrason est agencé à l’extrémité du dispositif opérateur 8, un récepteur ultrason peut être associé pour mesurer le signal réfléchi de manière à construire une image du derme et/ou une image de l’épaisseur de la peau d’un patient, voire une image de vaisseaux ou d’un organe.
La figure 6 représente un autre mode de réalisation dans lequel le dispositif opérateur 8 comprend une tête réceptrice 80 positionnée à l’extrémité dudit dispositif opérateur. La tête réceptrice 80 comporte deux optiques locales 83, 84 pour prendre des images de la surface du corps et une optique millimétrique ou microscopique amovible bidirectionnelle selon une direction longitudinale 86. Un intérêt est de générer des images avec une résolution millimétrique comportant une résolution pour des applications dermatologiques, par exemple pour des applications de diagnostic.
Guidage du bras robot
Initialement, la génération du mouvement du bras robot 6 est définie au moyen d’une trajectoire configurée par l’utilisateur au moyen d’un composant noté PATH sur la figure 2. L’utilisateur peut sélectionner une zone d’intérêt de la surface du corps d’un patient 1 , telle qu’une zone : « un bras », une jambe » ou une portion de cette zone ou encore tout le corps.
La sélection d’une zone peut être réalisée au moyen d’une interface utilisateur Ul. La zone peut être détourée au moyen d’un stylet ou au moyen d’une souris ou encore par la sélection d’une ou plusieurs zones prédéfinies que l’utilisateur sélectionne. Selon un autre exemple, la sélection peut être réalisée au moyen d’une commande tactile directement sur un afficheur ou au moyen d’une commande vocale.
La sélection peut être réalisée sur un modèle de corps paramétré MOD_P généré par le procédé de l’invention 10. Le module permettant de réaliser une sélection d’une zone est noté ROI sur la figure 2. Le modèle de corps paramétré MOD_P peut être représenté sur un afficheur de l’interface utilisateur Ul. Lorsqu’une zone est sélectionnée, une extraction d’une portion de surface peut être réalisée sur laquelle la trajectoire du dispositif opérateur 8 va être définie. Selon un exemple, une trajectoire 30 peut être automatiquement définie à partir des dimensions d’une zone sélectionnée. Par exemple, en fonction de l’opération à mener avec le dispositif opérateur 8, telle que des prises d’image, un traitement laser et/ou un traitement à partir d’une source à ultrasons, la fonction de génération automatique de trajectoire peut être mise en œuvre de différentes façons. Lorsqu’il s’agit de réaliser une prise d’images sur une zone prédéfinie, l’objectif est de couvrir la totalité de la zone sélectionnée. Ainsi, une trajectoire optimisée peut être calculée en fonction de la résolution de l’optique et de son champ.
Lorsqu’un utilisateur définit lui-même une trajectoire sur la zone sélectionnée, la trajectoire est acquise par le composant PLAN_TRAJ qui va optimiser ou calculer des paramètres de courses du bras robot pour couvrir la surface sélectionnée.
Le procédé de l’invention permet de réaliser un guidage en temps réel du bras robot 6. A cette fin, un module de génération GEN_TRAJ du mouvement du bras robot 6 est mis en œuvre. Afin de calculer en temps réel la trajectoire en fonction par exemple des mouvements du patient, d’une
capture d’une image singulière ou encore du contrôle d’une fin de course en cas de contact avec un objet, le module permet de recalculer en temps réel la course du bras robot 6.
Le guidage du bras robot 6 est configuré, par exemple, à partir d’un système de cordonnées cartésiennes référencées dans le repère Ro. L’orientation de l’extrémité du bras robot 6 peut être configurée en contrôlant l’orientation de la normale N représentée à la figure 3 ou 5. La normale N est définie par un angle à 90° avec le point de visée de la surface du corps. Un intérêt de ce paramétrage est que chaque point du maillage enrichi comprend déjà un attribut correspondant à la normale d’un point du modèle. Ainsi le guidage de l’orientation de la tête du bras robot peut être réalisé en alignant l’orientation du robot sur la normale N de la surface du corps.
Selon un mode de réalisation, la distance entre l’extrémité de la tête 8 du bras robot 6 et un point de visée 35 de la surface modélisée du corps d’un patient 1 est asservie pour rester sensiblement constante, par exemple d’une distance de 5cm. Ainsi, le guidage du bras du robot 6 est asservi selon une orientation et une distance à la peau du patient 1 .
Une fonction de détection de collision DET_COLLI peut alors être mise en œuvre afin de délivrer une consigne de contrôle au module de génération du mouvement GEN_TRAJ du bras robot 6. En outre, ce module prend en considération la trajectoire initiale établie par le composant PLAN_TRAJ. Enfin, le mouvement du bas robot peut également être piloté en fonction d’une fonction de contrôle CNTR_8 de la tête 8 du bras robot 6. Lorsqu’un ou plusieurs dispositifs optiques sont montés en tête du bras robot 6, un asservissement du bras robot peut être nécessaire pour activer une seconde optique.
Selon un mode de réalisation, le système optique 5 est configuré pour contrôler chaque mouvement du corps 1 au moyen d’une boucle de contrôle. Ce contrôle permet de comparer les différences entre les images acquises à un instant avec de nouvelles images acquises consécutivement. L’intérêt d’un tel contrôle est d’effectuer une modification du guidage du bras robot 5 en adaptant sa course initiale à une nouvelle trajectoire. A cette fin, une fonction de détection de collision DET_COLLI peut être mise en œuvre de sorte à adapter le mouvement de la course du bras robot 6. La génération du mouvement du bras robot 6 est déterminée par la fonction GEN_TRAJ.
Selon un mode de réalisation, la tête du bras robot 6 est amovible de sorte que ce dernier soit utilisable pour différentes applications. Une tête comportant un ou plusieurs dispositifs optiques pour des applications dermatologiques peut être par exemple remplacée par une tête comportant un laser pour des applications de traitements de surface de la peau, telles qu’une épilation, un dé-tatouage, ou une Ulthérapie pour des applications de lifting.
Selon l’application visée, une configuration optique donnée peut être choisie préférentiellement.
Selon un exemple, un agencement d’optiques ayant différents points focaux est mis en œuvre à l’extrémité de la tête du bras robot 6. Ces optiques peuvent être articulées ou déplacées indépendamment ou conjointement selon les modes de réalisations.
Selon un exemple, au moins une optique est un système de microscopie confocal. Selon un exemple, le plan focal peut être déplacé de sorte à produire des images à différents niveaux de profondeur. Une image tridimensionnelle locale de la surface de la peau peut être reconstruite. Cette application peut trouver un intérêt pour reconstruire un volume tel que celui d’un grain de beauté à la surface de la peau.
Dans le cas d’une utilisation d’une optique confocale, un éclairage peut être obtenue à partir d’une source de lumière, telle qu’un laser.
Selon un autre exemple, au moins une optique est configurée pour réaliser une série d’images en coupe pour mettre en œuvre une technique tomographique. Selon une configuration donnée, cette technique peut être de type OCT, dite de « tomographie de cohérence optique ». Ces techniques impliquent souvent de coupler un capteur avec un émetteur tel qu’un émetteur laser.
D’autres applications possibles concernent les traitements à partir d’émissions ultrasons. A cette fin au moins un émetteur à ultrasons peut être disposé au niveau de la tête du bras robot. Ce ou ces émetteurs peuvent associés à un capteur pour mesurer un signal écho ou une modification de la forme d’one émise. Selon un exemple, il peut s’agir d’une matrice d’émetteurs organisée pour générer un faisceau focalisé en un point. Les puissances peuvent être configurées pour brûler un tissu ou pour mesurer l’élasticité d’une singularité sur le revêtement cutané en créant une pression acoustique à la surface de la peau.
Selon un mode de réalisation, l’émetteur est configuré pour traiter une zone sous-cutanée. Un point image peut être défini en référence au point cible PCIBLE, ledit point image étant situé sur la surface du modèle de corps. Le point image est, par exemple, situé à quelques millimètres, voir quelques centimètres sous la surface de la peau selon la normale à la surface du modèle passant par le point cible PCIBLE.
Le guidage de l’émetteur peut être réalisé à partir du point cible PCIBLE et par la construction d’un point image. Alternativement, le guidage de l’émetteur peut être réalisé directement à partir de la définition d’un point de l’espace à atteindre et définissant le point image, ledit point image étant situé sous la peau du patient. Lorsque ce point n’est pas défini vis-à-vis du point cible PCIBLE. Le point cible PCIBLE est utilisé pour acquérir une image ou pour la planification d’une trajectoire modifiée du robot.
La tête du bras robot peut être également dotée d’un capteur de permettant de sonder une propriété mécanique de la peau, telle que son élasticité, sa fermeté son hydratation ou encore sa rugosité.
Selon un autre exemple, un capteur de fluorescence est agencé à l’extrémité distale du bras robot 6. Un tel capteur permet de suivre des actifs biologiques par exemple pour des applications cosmétiques. Selon un autre exemple, une technique de spectroscopie peut être employée pour effectuer une caractérisation moléculaire.
Application dermatologique
Selon un mode de réalisation, la tête du bras robot 6, également appelée « dispositif opérateur » 8, est équipée d’un système optique pour des applications dermatologiques. Dans ce cas, un double dispositif optique peut être agencé. Un premier dispositif optique 83, 84 comprend des caméras réalisant un balayage dit « macroscopique » du fait du mouvement réalisé par le bras robot 6. Ces caméras réalisent une capture d’images d’intérêt de la surface de la peau. Selon un exemple, une source de lumière permet d’éclairer la zone capturée. La lumière émise peut être dans le visible ou l’infrarouge ou encore une source fluorescente par exemple. Selon un exemple un système de LED comportant un polariseur est configuré pour émettre de la lumière polarisée. Dans le cas de la lumière polarisée, la source de lumière de type LED est couverte d’un filtre polarisant. Dans cet exemple, une caméra agencée à l’extrémité de la tête du bras robotisé est équipée d’un filtre
polarisant. Les filtres de la source de lumière et de la caméra sont, selon un exemple, configurés de manière orthogonale.
Lorsqu’une singularité est détectée, le bras robot 6 est commandé de sorte à modifier sa trajectoire. Un positionnement de la tête est réalisé sur un point de la singularité détectée, par exemple le centre ou le barycentre de la zone formant la singularité. Le guidage est donc arrêté et la trajectoire initiale est temporairement suspendue.
Un contrôleur active un second dispositif optique 85 permettant une capture d’image millimétrique ou microscopique avec une résolution dermatologique. Afin d’obtenir une bonne résolution, le dispositif optique 85 peut être contrôlé selon un mouvement 86 selon un axe perpendiculaire au plan de l’une des optiques 83, 84 ou 85.
La figure 4 représente une portion d’une surface 9 d’un corps d’un patient 1 sur laquelle est représentée une trajectoire 30. La trajectoire 30 peut être obtenue à partir d’une stratégie de balayage du bras robot 6. Selon un exemple, la trajectoire générée 30 est obtenue grâce à un module de planification PLAN_TRAJ. Dans l’exemple de la figure 4, trois singularités 91 dermatologiques sont représentées sur une portion 9 de peau d’un patient 1 . Il peut s’agir par exemple d’une cicatrice, d’un mélanome, d’un grain de beauté, ou de toute autre singularité de la surface de la peau. Lorsque le champ optique 87 du premier dispositif optique 83, 84 intercepte une singularité 91 , les images acquises sont analysées dynamiquement pour asservir le contrôle du bras robot 6.
Le second dispositif optique permet donc de prendre une image d’une zone rapprochée de la surface de la peau d’un patient 1 . Selon un exemple, le second dispositif optique 85 est un Dermatoscope. Le second dispositif optique 85 peut comprendre une plaque en verre venant au contact de la peau. Selon un exemple de réalisation, le second dispositif optique peut comprendre un émetteur de lumière polarisée de manière à obtenir une information d’image en profondeur de l’épiderme.
A cet effet, la dernière branche 66 du bras robot 6 ou le dispositif opérateur 81 peut/peuvent être équipé(s) d’un capteur de retour d’effort afin de freiner sa course du second dispositif optique 85, voire l’arrêter et la stabiliser. Lorsque le second dispositif optique 85 est en contact de la peau d’un patient 1 , le déclenchement d’une prise de vue peut être engagé.
Selon un autre exemple, chaque axe du robot est équipé d’un capteur d’effort. L’analyse des valeurs d’effort relevées sur les capteurs sont utilisées pour asservir la pression exercée sur la surface. Ainsi, le robot grâce à ses capteurs de couple dans chaque axe permet d’asservir une pression de contact entre un outil et la surface de travail, dans ce cas la peau d’un patient. Cela peut être utilisé également pour effectuer un « glissement » de l’outil sur une surface de travail.
Selon un mode de réalisation, un dispositif de balayage 87 est activé afin d’écarter les poils de l’optique 85. Un tel dispositif de balayage 87 peut être automatiquement mis en œuvre lors de la stabilisation de l’optique du second dispositif optique 85. Un intérêt est d’éviter la prise de vue de poils situés à proximité d’une singularité dont on souhaite réaliser une prise de vue. Le dispositif de balayage 87, selon un mode de réalisation, comprend une tige en rotation qui active des pinceaux flexibles à proximité de l’optique 85. Un avantage est de faire tourner le poil de sorte qu’il ne reste pas entre l’optique 85 et la peau. Selon un exemple de réalisation, une pluralité de dispositifs de balayage 87 est agencée autour de l’optique 85. La figure 6B en représente deux.
Lorsque la seconde optique a capturé une ou plusieurs images avec une résolution plus précise de la singularité, le second dispositif 85 peut effectuer un mouvement de rétractation pour revenir à sa position initiale. Le bras robot peut alors continuer sa course et reprendre la trajectoire de guidage qui a été planifiée.
Selon un exemple, de réalisation, le guidage est réalisé à une distance comprise entre 1 cm et 20 cm de la surface du corps d’un patient 1. Selon un mode préférentiel, le guidage est réalisé à une distance comprise entre 2cm et 8 cm de la surface de la peau.
Selon un mode de réalisation, à une distance donnée de la surface du robot, les caractéristiques des optiques étant connues, le champ de vue de l’optique peut être obtenu. Ces caractéristiques permettent de connaître la portion couvrante des images acquises sur la surface complexe du corps du patient. Un avantage est de pouvoir faire correspondre précisément les images avec la surface tridimensionnelle du corps d’un patient. Outre, l’indexage possible des images acquises sur le modèle de corps paramétré MOD_P généré, les images peuvent être agencées dans une position donnée
dudit modèle. Ainsi, une représentation tridimensionnelle d’un corps peut être archivée avec les images accessibles pour un utilisateur susceptible de représenter des singularités de la peau. L’association des images acquises avec le modèle de corps paramétré généré peut être réalisée à partir du maillage Mi ou M2. Lorsque le maillage comprend, par exemple, des triangles, une image peut être subdivisée de sorte à faire correspondre lesdits triangles avec la surface de l’image.
Selon un mode de réalisation, l’invention comprend une étape de référencement des images capturées avec un ensemble de nœuds du maillage. Selon un cas d’exemple, chaque triangle du maillage comprend un identifiant. Les images peuvent alors être enregistrées avec une donnée associant ladite image avec un ensemble d’identifiants.
Selon un mode de réalisation, les images acquises par les optiques 83, 84 et 85 sont enregistrées dans une mémoire, par exemple la mémoire du contrôleur de mouvement du bras robot 6. Selon une alternative le dispositif opérateur 8 comprend une carte électronique munie d’au moins un calculateur et une mémoire. Les images acquises peuvent être enregistrées dans un premier temps localement avant d’être ensuite transmises vers un dispositif électronique distant.
Selon un exemple de réalisation, chaque photo prise simultanément par les optiques 83 et 84 est associée l’une à l’autre. Les images acquises peuvent être, par exemple, horodatées et associées à un point de l’espace dans le repère Ro. Elles peuvent également être associées à un point repéré par rapport à un référentiel R3 lié au dispositif opérateur du bras robot 6 ou encore référencé vis-à-vis de la trajectoire 30.
Lorsqu’une image est acquise avec le second dispositif optique 85, cette dernière peut être associée aux images acquises par le premier dispositif optique 83, 84 et en particulier à la même position de la trajectoire 30 qu’à laquelle le dispositif opérateur 8 a activé un mouvement du second dispositif optique 85.
Un avantage de l’invention est de pouvoir indexer chaque image acquise à une image sur le modèle paramétrique généré depuis l’étape de régression REG. Ainsi, le procédé permet de localiser une portion d’image sur la peau et l’indexer sur un modèle généré. Un avantage est de conserver une trace précise de la zone photographiée par rapport à la géométrie du corps.
Ainsi, lorsqu’un patient change de position ou lorsqu’il revient pour une autre visite ultérieure, l’indexation des photos qui a été enregistrée permet directement de générer un nouveau pointage de la zone d’intérêt déjà indexé en fonction d’une nouvelle acquisition d’image.
Un intérêt est de constituer une banque d’images de différentes résolutions de différentes portions de la surface du corps considérée.
Afin d’obtenir une bonne réponse du bras du robot 6 lors de l’acquisition en temps réel des images prises par le dispositif opérateur, les images acquises peuvent être comparées à une banque d’images caractéristiques. Selon un autre exemple, un réseau de neurones entraîné permet d’effectuer une classification des images acquises pour les classifier et générer une commande selon le résultat de la classification. A titre d’exemple, la détection de certaines singularités ne nécessite pas l’activation du second dispositif optique 85 alors que la détection d’autres singularités nécessite une prise de vue avec une résolution plus précise.
Selon un autre exemple de mise en œuvre, le bras robot 6 effectue une première trajectoire 30 planifiée avec une couverture d’images acquises par le premier dispositif 83, 84. Le bras robot 6 effectue alors, dans un second temps, une seconde prise de vues aux points auxquels une singularité a été détectée. Lorsqu’une première trajectoire 30 est réalisée pour guider le bras robot 6 sur une portion sélectionnée par un opérateur et qu’un ensemble d’images acquises par le premier dispositif optique est réalisé, le bras robot 6 engage une seconde trajectoire 31 . Cette trajectoire peut être automatiquement générée à partir des points singuliers identifiés lors du parcours de la première trajectoire 30. Afin de collecter une seconde série d’images en des points identifiés, le second dispositif 85 est activé automatiquement en des points caractéristiques de la seconde trajectoire 31 .
Application laser
Selon un autre cas d’application, le bras robot 6 comprend un émetteur laser à son extrémité distale. L’émetteur laser peut être, par exemple, agencé sur la partie distale du dispositif opérateur 8. Ce dernier peut être utilisé pour l’épilation, le traitement de certaines affections cutanées ou pour le détatouage. En outre, un traitement d’ulthérapie ou tout traitement dermatologique médical ou esthétique ayant recours au laser peut être mis en œuvre avec un bras robot comportant une source laser. A cette fin, la
configuration de la source laser peut-être adaptée selon l’usage en fonction des paramètres de puissance, de longueur d’onde, du régime pulsé ou continu, etc.
Dans le cas du pilotage d’une source laser, un maillage M2 peut être avantageusement utilisé pour optimiser la configuration du tir laser notamment pour piloter la puissance de tir. En effet, un maillage homogène, comprenant par exemple, des triangles équilatéraux permet de définir un maillage de cercles circonscrits auxdits triangles ou inscrits dans lesdits triangles. Un avantage d’un maillage de cercle circonscrits auxdits des triangles est de définir un recouvrement entre les cercles et donc entre les tirs. Cette configuration permet définir des zones cibles de tir adjacentes à une zone cible considérée. Un intérêt de la construction de cercles tangents directement issus d’un maillage homogène est de générer une zone cible d’un tir laser en permettant de gérer un paramètre de taux de recouvrement homogène entre deux tirs consécutifs sur des cibles voisines.
L’invention permet de piloter le taux de recouvrement de manière à compenser l’inhomogénéité de la quantité d’énergie d’un faisceau laser autour de l’axe principal de tir. Ainsi, il devient possible de déposer une quantité d’énergie sensiblement homogène sur une zone donnée avec un maillage de type homogène.
Dans le cas d’une pluralité d’émissions laser à réaliser en vue d’accomplir un objectif de traitement d’une zone de la peau, le guidage du bras robot 6 peut être configuré pour s’immobiliser en un ensemble de points pour effectuer des tirs successifs selon une planification de trajectoire donnée. La planification de la trajectoire PLAN_TRAJ est déterminée au moyen d’une interface utilisateur UE. La trajectoire du bras robot 6 peut être adaptée en temps réel pour tenir compte, par exemple, de données liées à la configuration de la source laser, à un mouvement du patient ou encore à la détection d’une collision du bras.
Le système de l’invention comporte un moyen pour définir les paramètres de tirs lasers, à savoir une puissance de tir et/ou un diamètre à atteindre à la surface de la peau ainsi qu’un taux de recouvrement. L’émetteur laser et la trajectoire de guidage peuvent être configurés pour atteindre ces objectifs.
Selon un mode de réalisation, la résolution du maillage homogène peut être adaptée selon une configuration de tir donné. Typiquement, lorsqu’une surface d’un tir laser est définie avec un rayon maximum à atteindre à la surface de la peau, le maillage est configuré pour définir des cercles dont les dimensions correspondent avec la contrainte de tir.
Dans chacune des applications, lors du guidage en temps réel, le bras robot 6 qui parcourt une trajectoire donnée est amené à évaluer la trajectoire en temps réel. Cette évaluation est réalisée grâce à un calculateur et la mise en œuvre du procédé de l’invention.
Lorsque le corps ne bouge pas, les images recalculées de la surface du corps afin de positionner le bras robot 6 ne font intervenir que des rotations d’une surface déjà calculée, c’est-à-dire que la transformation est isométrique et correspond à une ou plusieurs rotations du bras robot selon la portion de trajectoire parcourue. La position générée de la surface du corps est générée pour une position de la tête du bras robot.
Lorsque le corps bouge, les images recalculées de la surface du corps afin de positionner le bras robot 6 font intervenir une transformation non isométrique, la surface est recalculée à partir du procédé de l’invention. Outre d’éventuelles rotations à prendre en compte, le procédé de l’invention en permet d’effectuer une régression sur les descripteurs de forme et de régénérer une surface du corps au point de vue de la position de la tête u bras robot.
Selon un mode de réalisation, notamment dans le cadre d’un agencement d’un émetteur sur la tête 8 du bras robot 6, de type laser ou ultrason, lorsqu’une région d’intérêt est inférieure à un seuil de surface donnée, une étape d’optimisation du maillage de la surface d’intérêt peut être mise en œuvre. Cette optimisation peut être réalisée afin que la transformation dans cette région soit considérée comme isométrique. Selon un exemple de réalisation, le procédé de l’invention permet de déterminer des points clefs sur la surface considérée du corps afin de délimiter une région d’intérêt ayant subi une transformation de forme qui soit isométrique.
Un avantage de l’invention est de pouvoir être adaptée à des applications dermatologiques, chirurgicales, cardiologies, etc.