Interactive Object Segmentation in 3D Point Clouds
Autores: Theodora Kontogianni, Ekin Celikkan, Siyu Tang, Konrad Schindler · ICRA 2023
Licenças
- Acesso aberto
- Artigo: CC BY 4.0
Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.
Em resumo
Os usuários clicam em pontos positivos e negativos diretamente em uma nuvem de pontos 3D; uma rede de voxels esparsos treinada apenas no ScanNet refina a máscara do objeto e se transfere para outros conjuntos de dados internos e externos.
Por que importa
Modelos de percepção robótica precisam de nuvens de pontos rotuladas, e este método funciona apenas com a nuvem de pontos, sem imagens alinhadas, e pode ser acrescentado a qualquer rede de segmentação 3D baseada em pontos ou em voxels. Ele também segmenta classes ausentes do seu conjunto de treinamento, e os autores mostram que ele pode refinar máscaras de instâncias automáticas e ground truth existente com alguns cliques.
Problema
Rótulos 3D densos são caros: as cenas contêm milhões de pontos e as interfaces de rotulagem 3D são lentas. Métodos interativos 3D anteriores recebiam o feedback do usuário em imagens 2D, o que exige imagens alinhadas com poses de câmera conhecidas e alternar entre vistas 2D e 3D, enquanto a segmentação de instâncias totalmente supervisionada precisa de grandes conjuntos de treinamento, não generaliza para classes não vistas e gera máscaras grosseiras demais para servir como ground truth.
Solução proposta
O usuário clica em pontos da cena 3D; cada clique marca todos os pontos dentro de um pequeno cubo (aresta de 5 cm, cerca de 30 pontos no ScanNet) em um de dois canais de entrada extras, para cliques positivos e negativos. Uma rede de convolução esparsa do MinkowskiEngine, inicializada com pesos de segmentação semântica do ScanNetV2, gera uma máscara binária de primeiro plano/fundo e passa por ajuste fino com cliques simulados aleatoriamente; no momento do teste, um usuário simulado clica no centro da maior região de erro. Uma adaptação online opcional atualiza o modelo a partir dos cliques do usuário durante a rotulagem.
Principais ideias
- Codificar os cliques como pequenos cubos se ajusta às ferramentas de rotulagem 3D existentes que usam caixas delimitadoras; uma aresta de 5 cm funcionou melhor (NOC@90 de 14,72, contra 16,09 com 10 cm).
- Um modelo treinado apenas no ScanNetV2 precisou de menos cliques no S3DIS do que em seu próprio conjunto de validação, enquanto o SemanticKITTI (esparso, sem cor, sensor diferente) precisou de muito mais.
- A adaptação online a partir dos cliques do usuário economizou cerca de 4 cliques no SemanticKITTI e ajudou em classes do S3DIS ausentes no ScanNet, como viga e placa.
- Os cliques simulados foram representativos de anotadores reais em um estudo com três usuários.
- Máscaras com 80 % de IoU ainda contêm regiões errôneas significativas, por isso os autores argumentam que a rotulagem de ground truth deveria visar cerca de 90 % de IoU.
Principais resultados
- Validação do ScanNetV2, cliques necessários para atingir 80 / 85 / 90 % de IoU: 8,3 / 10,6 / 13,6 em classes vistas e 11,7 / 14,1 / 16,5 em classes não vistas.
- AP de segmentação de instâncias 3D nas classes do benchmark ScanNetV2: 61,8 com 5 cliques por objeto na Tabela 1 (o texto dá 61,5) e 75,5 com 10 cliques, contra 55,1 do HAIS agnóstico à classe e 49,4 do SSTNet.
- Classes do ScanNetV2 não vistas: AP de 13,5 com 1 clique, 33,1 com 3 cliques e 60,3 com 10 cliques, contra 13,8 do HAIS agnóstico à classe.
- S3DIS Area 5 sem ajuste fino: 6,8 / 8,9 / 11,8 cliques até 80 / 85 / 90 % de IoU, e 6,5 / 8,6 / 11,5 com adaptação online.
- SemanticKITTI: 19,4 / 19,5 / 19,6 cliques até 80 / 85 / 90 % de IoU, reduzidos para 15,1 / 15,4 / 15,9 com adaptação online.
- Estudo com usuários: na difícil classe “picture”, o IoU após 5 cliques foi 49,6 para humanos contra 32,0 para o simulador; em objetos aleatórios, o IoU após 10 cliques foi 82,0 contra 84,8.
Limitações
- O trabalho é uma ferramenta de percepção 3D: segmenta objetos em nuvens de pontos com os cliques de uma pessoa, e nenhum robô é usado em seus experimentos.
- Os autores listam como trabalho futuro enriquecer a entrada com backbones semânticos e de instâncias pré-treinados.
- Máscaras de interações anteriores ainda não são realimentadas como entrada para a próxima correção.
- O treinamento amostra cliques aleatoriamente, e não com uma estratégia iterativa que emule um usuário real, e nenhuma função de perda trata o desbalanceamento de classes entre primeiro plano e fundo.
- Varreduras externas esparsas e sem cor precisam de muito mais cliques: cerca de 19,5 para atingir 80–90 % de IoU no SemanticKITTI sem adaptação.
Impacto na área
Finalista do prêmio ICRA 2023 Outstanding Physical Human-Robot Interaction Paper, com 36 citações. A cópia licenciada não traz links para código ou dados; descreve uma ferramenta de anotação construída para o estudo com usuários, mas não diz que ela foi disponibilizada.
Resumo
O aprendizado profundo depende de grandes quantidades de dados de treinamento rotulados. A rotulagem manual é cara e representa um gargalo, especialmente para tarefas como a segmentação, em que os rótulos precisam ser atribuídos até o nível de pontos individuais. Esse desafio é ainda mais assustador para dados 3D: nuvens de pontos 3D contêm milhões de pontos por cena, e sua anotação precisa consome muito mais tempo. A situação é agravada ainda mais pela complexidade adicional das interfaces de usuário para nuvens de pontos 3D, que torna a anotação ainda mais lenta. No caso da segmentação de imagens 2D, técnicas interativas se tornaram comuns, nas quais o feedback do usuário na forma de alguns cliques orienta um algoritmo de segmentação – hoje em dia geralmente uma rede neural – para alcançar uma rotulagem precisa com esforço mínimo. Surpreendentemente, a segmentação interativa de cenas 3D foi pouco explorada. Trabalhos anteriores tentaram obter máscaras de segmentação 3D precisas usando feedback humano do domínio 2D, o que só é possível se imagens corretamente alinhadas estiverem disponíveis junto com a nuvem de pontos 3D, e envolve alternar entre os domínios 2D e 3D. Aqui, apresentamos um método de segmentação interativa de objetos 3D em que o usuário interage diretamente com a nuvem de pontos 3D. Importante: nosso modelo não requer dados de treinamento do domínio de destino: quando treinado no ScanNet, ele tem bom desempenho em vários outros conjuntos de dados com características de dados diferentes, bem como com classes de objetos diferentes. Além disso, nosso método é ortogonal aos métodos de segmentação (de instâncias) supervisionada e pode ser combinado com eles para refinar segmentações automáticas com esforço humano mínimo.
Links
- 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