Interactive Object Segmentation in 3D Point Clouds
Auteurs: Theodora Kontogianni, Ekin Celikkan, Siyu Tang, Konrad Schindler · ICRA 2023
Licences
- Accès libre
- Article: CC BY 4.0
Tout ce qui suit s'appuie sur l'article complet sous sa licence CC BY 4.0 ; sa figure est montrée en citant les auteurs.
En bref
Les utilisateurs cliquent des points positifs et négatifs directement dans un nuage de points 3D ; un réseau à voxels creux entraîné uniquement sur ScanNet affine le masque de l'objet et se transfère à d'autres jeux de données intérieurs et extérieurs.
Pourquoi c'est important
Les modèles de perception robotique ont besoin de nuages de points étiquetés, et cette méthode fonctionne sur le seul nuage de points, sans images alignées, et peut être ajoutée à n'importe quel réseau de segmentation 3D fondé sur des points ou des voxels. Elle segmente aussi des classes absentes de son ensemble d'entraînement, et les auteurs montrent qu'elle peut affiner des masques d'instances automatiques et une vérité terrain existante en quelques clics.
Problème
Les étiquettes 3D denses sont coûteuses : les scènes contiennent des millions de points et les interfaces d'étiquetage 3D sont lentes. Les méthodes 3D interactives antérieures recueillaient le retour de l'utilisateur dans des images 2D, ce qui nécessite des images alignées avec des poses de caméra connues et des allers-retours entre vues 2D et 3D, tandis que la segmentation d'instances entièrement supervisée exige de grands ensembles d'entraînement, ne se généralise pas aux classes non vues et produit des masques trop grossiers pour servir de vérité terrain.
Solution proposée
L'utilisateur clique des points dans la scène 3D ; chaque clic marque tous les points situés dans un petit cube (arête de 5 cm, environ 30 points sur ScanNet) dans l'un de deux canaux d'entrée supplémentaires, pour les clics positifs et négatifs. Un réseau à convolutions creuses MinkowskiEngine, initialisé à partir des poids de segmentation sémantique de ScanNetV2, produit un masque binaire premier plan/arrière-plan et est ajusté finement avec des clics simulés aléatoirement ; au moment du test, un utilisateur simulé clique au centre de la plus grande région d'erreur. Une adaptation en ligne optionnelle met à jour le modèle à partir des clics de l'utilisateur pendant l'étiquetage.
Idées clés
- Coder les clics sous forme de petits cubes s'accorde avec les outils d'étiquetage 3D existants qui utilisent des boîtes englobantes ; une arête de 5 cm a donné les meilleurs résultats (NOC@90 de 14,72, contre 16,09 avec 10 cm).
- Un modèle entraîné uniquement sur ScanNetV2 a nécessité moins de clics sur S3DIS que sur son propre ensemble de validation, tandis que SemanticKITTI (épars, sans couleur, capteur différent) en a nécessité beaucoup plus.
- L'adaptation en ligne à partir des clics de l'utilisateur a économisé environ 4 clics sur SemanticKITTI et a aidé pour des classes de S3DIS absentes de ScanNet, comme beam et board.
- Les clics simulés étaient représentatifs d'annotateurs réels dans une étude utilisateur à trois personnes.
- Les masques à 80 % d'IoU contiennent encore des régions erronées importantes, si bien que les auteurs estiment que l'étiquetage de vérité terrain devrait viser environ 90 % d'IoU.
Principaux résultats
- Validation ScanNetV2, clics nécessaires pour atteindre 80 / 85 / 90 % d'IoU : 8,3 / 10,6 / 13,6 sur les classes vues et 11,7 / 14,1 / 16,5 sur les classes non vues.
- AP de segmentation d'instances 3D sur les classes du benchmark ScanNetV2 : 61,8 avec 5 clics par objet dans la Table 1 (le texte indique 61,5) et 75,5 avec 10 clics, contre 55,1 pour HAIS agnostique à la classe et 49,4 pour SSTNet.
- Classes ScanNetV2 non vues : AP de 13,5 avec 1 clic, 33,1 avec 3 clics et 60,3 avec 10 clics, contre 13,8 pour HAIS agnostique à la classe.
- S3DIS Area 5 sans ajustement fin : 6,8 / 8,9 / 11,8 clics pour atteindre 80 / 85 / 90 % d'IoU, et 6,5 / 8,6 / 11,5 avec adaptation en ligne.
- SemanticKITTI : 19,4 / 19,5 / 19,6 clics pour atteindre 80 / 85 / 90 % d'IoU, réduits à 15,1 / 15,4 / 15,9 avec adaptation en ligne.
- Étude utilisateur : sur la classe difficile « picture », l'IoU après 5 clics était de 49,6 pour les humains contre 32,0 pour le simulateur ; sur des objets aléatoires, l'IoU après 10 clics était de 82,0 contre 84,8.
Limites
- Ce travail est un outil de perception 3D : il segmente des objets dans des nuages de points à l'aide des clics d'une personne, et aucun robot n'est utilisé dans ses expériences.
- Les auteurs citent comme travaux futurs l'enrichissement de l'entrée par des backbones sémantiques et d'instances pré-entraînés.
- Les masques issus des interactions précédentes ne sont pas encore réinjectés comme entrée pour la correction suivante.
- L'entraînement échantillonne les clics au hasard plutôt qu'avec une stratégie itérative imitant un utilisateur réel, et aucune perte ne traite le déséquilibre entre classes premier plan et arrière-plan.
- Les scans extérieurs épars sans couleur nécessitent beaucoup plus de clics : environ 19,5 pour atteindre 80–90 % d'IoU sur SemanticKITTI sans adaptation.
Impact sur le domaine
Finaliste du prix ICRA 2023 Outstanding Physical Human-Robot Interaction Paper, avec 36 citations. La copie sous licence ne renvoie ni au code ni aux données ; elle décrit un outil d'annotation construit pour l'étude utilisateur, mais n'indique pas qu'il est publié.
Résumé
L'apprentissage profond dépend de grandes quantités de données d'entraînement étiquetées. L'étiquetage manuel est coûteux et constitue un goulot d'étranglement, en particulier pour des tâches comme la segmentation, où les étiquettes doivent être attribuées jusqu'au niveau des points individuels. Ce défi est encore plus redoutable pour les données 3D : les nuages de points 3D contiennent des millions de points par scène, et leur annotation précise prend nettement plus de temps. La situation est encore aggravée par la complexité supplémentaire des interfaces utilisateur pour les nuages de points 3D, qui ralentit davantage l'annotation. Dans le cas de la segmentation d'images 2D, les techniques interactives sont devenues courantes : un retour de l'utilisateur sous forme de quelques clics guide un algorithme de segmentation – aujourd'hui généralement un réseau de neurones – pour obtenir un étiquetage précis avec un effort minimal. Étonnamment, la segmentation interactive de scènes 3D a peu été explorée. Des travaux antérieurs ont tenté d'obtenir des masques de segmentation 3D précis à l'aide de retours humains issus du domaine 2D, ce qui n'est possible que si des images correctement alignées sont disponibles avec le nuage de points 3D, et implique de passer d'un domaine à l'autre entre 2D et 3D. Nous présentons ici une méthode de segmentation interactive d'objets 3D dans laquelle l'utilisateur interagit directement avec le nuage de points 3D. Point important, notre modèle ne nécessite pas de données d'entraînement du domaine cible : entraîné sur ScanNet, il obtient de bons résultats sur plusieurs autres jeux de données présentant des caractéristiques de données différentes ainsi que des classes d'objets différentes. De plus, notre méthode est orthogonale aux méthodes de segmentation (d'instances) supervisées et peut être combinée avec elles pour affiner des segmentations automatiques avec un effort humain minimal.
Liens
- arXiv 2204.07183: https://arxiv.org/abs/2204.07183
- DOI 10.1109/ICRA48891.2023.10160904: https://doi.org/10.1109/ICRA48891.2023.10160904
- PDF: https://arxiv.org/pdf/2204.07183v1