Deepomatic a déposé un brevet pour une nouvelle fonctionnalité de sa plateforme Deepomatic Studio permettant de décrire un univers visuel et de le faire évoluer dans le temps avec une flexibilité et une simplicité sans commune mesure.
Jusqu’à présent, vous avez organisé vos ensembles d’images par projet sur la plateforme Deepomatic. Pour chacun de ces projets, vous avez dû définir les concepts que vous souhaitiez reconnaître, et vous pouviez ensuite entraîner des réseaux de neurones pour apprendre à un modèle la classification ou la détection automatique de ces concepts.
Toutefois, pour construire une solution qui répond à votre problème métier, il est systématiquement nécessaire de combiner plusieurs réseaux de neurones selon des règles logiques spécifiques. A chacun de ces réseaux de neurones correspond donc un projet sur la plateforme, et tous les projets que vous avez créés étaient jusque là indépendants les uns des autres.
Prenons l’exemple d’une solution permettant de valider un point de contrôle pour un technicien effectuant une tâche sur le terrain. La solution se décompose en deux étapes :
- la première étape correspond à la validation que le technicien envoie bien la photo demandée.
- la seconde étape correspond à la détection sur cette image d’objets spécifiques. Il est alors possible de compter le nombre d’objets, ce qui permet de valider ou non le point de contrôle.
Pour construire cette solution, il est nécessaire de créer deux projets, l’un avec toutes les images triées par typologie, et l’autre avec uniquement les images d’un certain type. Le premier projet est un projet de classification, le second projet est un projet de détection dans lequel le travail d’annotation consiste à entourer chaque objet à l’aide d’une boîte englobante. Il n’y a néanmoins aucun lien entre les images des deux projets, même si les images du second projet sont aussi dans le premier projet.
La nouvelle version de la plateforme Deepomatic introduit la notion de view qui permet de définir plusieurs tâches de reconnaissance au sein d’un même projet et en utilisant les mêmes images. Chaque view est définie par un ensemble de concepts comme vous le faisiez jusqu’à présent dans un projet.
Les views peuvent par ailleurs s’enchaîner les unes à la suite des autres. Nous définissons ainsi les notion de view enfant, de view parent ainsi que de view racine.
- une view racine porte sur l’ensemble des images d’un projet et il est possible d’en créer plusieurs au sein d’un même projet.
- une view enfant est définie par rapport à une view existante et correspond à un filtre sur les concepts de la view parent.
Pour reprendre l’exemple ci-dessus, il est désormais possible de créer un unique projet avec toutes les images et de définir deux views :
- une view racine de classification
- une view enfant de la view racine, qui sera une view de détection et qui ne portera que sur les images correspondant à la catégorie d’intérêt.
Cette nouvelle façon d’organiser vos données permet une étroite synchronisation entre vos views. Imaginons qu’une erreur d’annotation ait été faite dans la view racine de classification, une image ayant été incorrectement classée comme étant dans la catégorie d’intérêt. Cette image se retrouve naturellement dans la view enfant. Lorsque vous vous rendez compte de cette erreur d’annotation, le fait de la corriger dans la view racine, et donc de la changer de catégorie, va automatiquement la supprimer de la view enfant. Là où vous auriez eu beaucoup de mal à retrouver cette image en utilisant des projets indépendants, vous n’avez désormais plus à vous soucier de la synchronisation et de la cohérence globale de vos jeux de données !
La plateforme Deepomatic vous permet ainsi de construire une représentation hiérarchique de votre univers visuel, et de complexifier progressivement cette représentation au fur et à mesure que vous avez besoin d’ajouter des niveaux de détails à votre solution. Ne cherchez pas d’emblée à créer une arborescence extrêmement riche et complexe, commencez simplement et la plateforme vous permettra nativement d’ajouter de nouvelles views pour créer une solution de plus en plus fine et puissante.
C’est une étape décisive dans l’évolution de la plateforme, car elle vous permet de construire des solutions répondant à des problèmes de grande complexité. Au fur et à mesure de la vie de votre solution, là où vous pouviez vous perdre dans la multiplicité des projets créés, vous pouvez désormais organiser des ensembles d’images très importants de façon cohérente et structurée.