Qu’est-ce qu’une ontologie ?
Dans le contexte de l’annotation de données, une ontologie (ou taxonomie d’étiquettes) est le schéma complet de classes, attributs et relations que les annotateurs utilisent pour étiqueter les données. Elle définit :- Quels objets étiqueter (classes d’objets)
- Comment les décrire (attributs et propriétés)
- Comment les classes sont liées entre elles (hiérarchie et regroupement)
Classes d’objets
Les classes d’objets sont les éléments de base de votre taxonomie. Chaque classe représente une catégorie d’objet que les annotateurs identifieront et étiquetteront dans les données.Définir les classes
Lors de la création d’un projet dans Avala, vous définissez votre configuration d’étiquettes comme une liste de classes :Bonnes pratiques de nommage des classes
| Pratique | Exemple | Pourquoi |
|---|---|---|
| Utilisez des noms en minuscules et spécifiques | sedan, pickup_truck | Réduit l’ambiguïté |
| Évitez les définitions qui se chevauchent | N’ayez pas à la fois car et vehicle au même niveau | Évite la confusion des annotateurs |
| Soyez cohérent avec les séparateurs | traffic_light et non traffic-light ou trafficLight | Analyse cohérente dans les pipelines d’entraînement |
| N’incluez des classes négatives/d’arrière-plan que si nécessaire | unknown, ignore_region | Certains modèles nécessitent des étiquettes d’arrière-plan explicites |
Attributs
Les attributs ajoutent des métadonnées structurées à chaque annotation au-delà de la classe d’objet. Ils permettent aux annotateurs de décrire des propriétés comme la visibilité, la pose ou l’état.Types d’attributs
Avala supporte plusieurs types d’attributs que vous pouvez attacher à n’importe quelle classe d’objet :| Type | Description | Quand l’utiliser | Exemple |
|---|---|---|---|
| Liste déroulante | Sélection unique dans une liste prédéfinie | Options mutuellement exclusives | Occlusion : none, partial, heavy |
| Case à cocher | Bascule booléenne | Indicateurs simples oui/non | is_parked: true/false |
| Texte | Saisie de texte libre | Identifiants ou descriptions uniques | Numéro de plaque d’immatriculation |
| Nombre | Valeur numérique | Mesures ou comptages | Distance estimée en mètres |
| Sélection multiple | Sélections multiples dans une liste | États concurrents non exclusifs | Visible : headlights, taillights, turn_signal |
Configurer les attributs
Les attributs sont définis dans la configuration de classification du projet aux côtés de la configuration des étiquettes :Attributs conditionnels
Utilisez le champapplies_to pour afficher les attributs uniquement pour les classes pertinentes. Cela garde l’interface de l’annotateur propre — un pedestrian n’a pas besoin d’un attribut is_parked, et un traffic_light n’a pas besoin de truncation.
Taxonomies hiérarchiques
Pour les domaines complexes, les listes de classes plates deviennent difficiles à gérer. Les taxonomies hiérarchiques regroupent les classes liées sous des catégories parentes.Exemple : taxonomie de véhicules
Quand utiliser les hiérarchies
| Scénario | Recommandation |
|---|---|
| Moins de 15 classes | Une liste plate est plus simple et rapide |
| 15-50 classes | Regroupez en 3-5 catégories de premier niveau |
| Plus de 50 classes | Utilisez une hiérarchie multi-niveaux avec recherche |
| Les classes partagent des attributs | Regroupez sous un parent pour que les attributs soient hérités |
Concevoir les hiérarchies
- Commencez large, puis affinez. Débutez avec des catégories de premier niveau (
vehicle,pedestrian,infrastructure) et ajoutez de la spécificité uniquement là où votre modèle en a besoin. - Chaque classe feuille doit être non ambiguë. Si les annotateurs ne peuvent pas distinguer de manière fiable deux sous-classes, fusionnez-les.
- Équilibrez profondeur et largeur. Les hiérarchies profondes (4+ niveaux) ralentissent les annotateurs. Préférez des arbres plus larges avec 2-3 niveaux.
Classification mono-étiquette vs multi-étiquette
Avala supporte les deux modes de classification selon les besoins de votre projet.Mono-étiquette
Chaque objet ou scène reçoit exactement une étiquette de classe. C’est le mode par défaut pour la plupart des types d’annotation.- Détection d’objets : chaque boîte englobante reçoit une classe
- Classification de scène : chaque image reçoit une catégorie
Multi-étiquette
Un objet ou une scène peut recevoir plusieurs étiquettes simultanément. Utilisez ceci lorsque les catégories ne sont pas mutuellement exclusives.- Une image peut être à la fois
rainyetnighttime - Un véhicule peut être à la fois
damagedetparked
Liste de vérification de conception d’ontologie
Avant de démarrer votre projet d’annotation, vérifiez votre ontologie par rapport à cette liste :| Vérification | Question |
|---|---|
| Complétude | Chaque objet que votre modèle doit détecter a-t-il une classe ? |
| Exclusivité mutuelle | Un annotateur peut-il toujours assigner exactement une classe sans ambiguïté ? |
| Couverture des attributs | Toutes les propriétés nécessaires à l’entraînement sont-elles capturées comme attributs ? |
| Granularité cohérente | Les classes au même niveau sont-elles également spécifiques ? |
| Clarté pour l’annotateur | Un nouvel annotateur peut-il comprendre chaque classe uniquement par son nom ? |
| Alignement avec le modèle | La taxonomie correspond-elle à ce que l’architecture de votre modèle attend ? |
| Évolutivité | Pouvez-vous ajouter de nouvelles classes plus tard sans restructurer ? |
Pièges courants
Sur-spécification des classes
Créer trop de classes finement détaillées conduit à un faible accord inter-annotateurs et à des données d’entraînement clairsemées par classe. Problème : 50 sous-classes de véhicules où la plupart ont moins de 100 exemples chacune. Solution : Commencez avec 5-10 classes larges. Ajoutez des sous-classes uniquement lorsque vous avez suffisamment de données et que votre modèle bénéficie de la distinction.Limites ambiguës
Lorsque deux classes se chevauchent conceptuellement, les annotateurs ne s’accorderont pas sur laquelle utiliser. Problème :van et minivan existent tous les deux, mais les annotateurs ne peuvent pas les distinguer de manière fiable.
Solution : Fusionnez-les en une seule classe ou fournissez des directives visuelles explicites avec des images de référence montrant la frontière.
Cas limites manquants
Les données du monde réel contiennent des objets qui ne rentrent pas proprement dans votre taxonomie. Problème : Un annotateur rencontre une voiturette de golf mais la taxonomie n’a quecar, truck et motorcycle.
Solution : Incluez une classe fourre-tout comme other_vehicle et révisez périodiquement les éléments étiquetés avec celle-ci pour identifier les classes à ajouter.
Prochaines étapes
Concepts fondamentaux
Revoyez les éléments de base de la plateforme Avala.
Contrôle qualité
Configurez des flux de révision pour valider la qualité des annotations.
Types d'annotation
Consultez les formats JSON pour les boîtes englobantes, polygones, cuboïdes et plus.
Premier jeu de données
Téléchargez des données et créez votre premier projet d’annotation.