Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Open-Vocabulary Affordance Detection in 3D Point Clouds

Autores: Toan Nguyen, Minh Nhat Vu, An Vuong, Dzung Nguyen, Thieu Vo, Ngan Le, Anh Nguyen · IROS 2023

Licenças

  • Acesso aberto
  • Artigo: CC0 1.0 Universal

Tudo o que segue se baseia no artigo completo, que os autores liberaram sob CC0 1.0 Universal; sua figura é mostrada com crédito aos autores.

Em resumo

Associa características por ponto do PointNet++ a embeddings de texto congelados do CLIP, de modo que um robô pode consultar uma nuvem de pontos por qualquer palavra de affordance, inclusive as ausentes do treinamento.

Por que importa

É possível dizer a um robô, em palavras simples, sobre qual parte de um objeto agir e obter uma região 3D que ele pode passar diretamente para a detecção de preensão, a cinemática inversa e o planejamento de trajetória, sem retreinar para cada verbo novo. A inferência leva cerca de 100 ms, e os autores a executam em um KUKA LBR iiwa com uma RealSense D435i e uma garra Robotiq 2F-85.

Problema

Os detectores de affordance existentes, em imagens ou nuvens de pontos, são treinados com um conjunto fixo de rótulos de affordance, então um robô não pode pedir um novo sem nova anotação. Os detectores baseados em imagem também precisam de uma etapa extra para levar os resultados 2D para 3D, e os métodos de affordance one-shot ou few-shot anteriores ainda precisam de exemplos anotados e funcionam apenas em imagens 2D.

Solução proposta

O OpenAD usa um backbone PointNet++ para produzir um embedding de 512 dimensões para cada um dos 2048 pontos de entrada e codifica cada rótulo de affordance com o codificador de texto congelado do CLIP ViT-B/32. A similaridade de cosseno entre cada embedding de ponto e cada embedding de rótulo, escalada por uma temperatura aprendível, gera um softmax por ponto sobre os rótulos fornecidos; o treinamento usa uma perda de log-verossimilhança negativa ponderada por classe. Na inferência, qualquer texto pode ser passado como rótulo.

Principais ideias

  • Alinhar as características dos pontos aos embeddings de texto de um modelo de linguagem faz com que rótulos não vistos, mas semanticamente relacionados, caiam nas regiões certas sem um único exemplo anotado
  • A escolha do codificador de texto importa para os resultados de vocabulário aberto: o CLIP ViT-B/32 superou o BERT em mIoU com os dois backbones, enquanto os resultados de conjunto fechado ficaram praticamente iguais
  • Adicionar a cabeça guiada por linguagem não custa precisão em conjunto fechado: o OpenAD fica a uma fração de ponto das redes dedicadas de segmentação de nuvens de pontos
  • Como cada ponto recebe o melhor rótulo do conjunto de rótulos atual, adicionar um rótulo mais específico (por exemplo, 'grasp' depois de 'contain') rerrotula os pontos relevantes

Principais resultados

  • Zero-shot, forma completa (3D AffordanceNet rerrotulado para 37 classes): mIoU 14,37 contra 9,97 do ZSLPC, 6,46 do 3DGenZ e 3,86 do TZSLPC; Acc 46,31 e mAcc 19,51, ambos os mais altos
  • Zero-shot, vista parcial: mIoU 12,50 contra 9,52 do ZSLPC. O texto afirma uma margem de 3,98 %, enquanto os números da Tabela I dão 2,98 pontos; Acc 45,25 e mAcc 17,37 também são os mais altos
  • 3D AffordanceNet em conjunto fechado (Tabela II), forma completa: mIoU 42,00 contra 42,09 do DGCNN, 41,26 do PointNet++ e 41,26 do Point Transformer; maior Acc, com 69,03
  • Conjunto fechado, vista parcial: mIoU 41,87 contra 41,93 do DGCNN, 41,10 do PointNet++ e 40,51 do Point Transformer; maior Acc, com 69,91
  • Ablação (vocabulário aberto, forma completa): PointNet++ com CLIP 14,37 mIoU contra 10,55 com BERT; DGCNN com CLIP 10,88 contra 9,43 com BERT
  • A inferência leva cerca de 100 ms em média; as demonstrações com robô real incluem segurar e levantar uma bolsa, envolver uma garrafa e empurrar um fone de ouvido

Limitações

  • Os autores afirmam que o método ainda está longe de detectar affordances completamente não vistas e mostram casos de falha em objetos vistos
  • Os autores mostram falsos positivos em que o OpenAD encontra affordances que o objeto não oferece (display em uma bolsa, support em um micro-ondas, openable em um chapéu)
  • As pontuações zero-shot absolutas continuam baixas (mIoU 14,37 em forma completa, 12,50 em vista parcial), e os autores pedem melhor correlação entre visão e linguagem (por exemplo, atenção cruzada), backbones mais fortes e um conjunto de dados de affordances maior
  • Os experimentos com robô real são demonstrações sem taxas de sucesso relatadas
  • A entrada é um único objeto segmentado amostrado em 2048 pontos; o pipeline do robô depende de uma etapa separada de localização do objeto

Impacto na área

Incluído na lista conjunta de finalistas do IROS 2023 para os prêmios de Best Overall Paper e Best Student Paper, com 66 citações. O artigo afirma que os autores vão liberar o código-fonte; a cópia licenciada não traz nenhum link.

Resumo

A detecção de affordances é um problema desafiador com uma grande variedade de aplicações robóticas. Os métodos tradicionais de detecção de affordances se limitam a um conjunto predefinido de rótulos de affordance, o que pode restringir a adaptabilidade de robôs inteligentes em ambientes complexos e dinâmicos. Neste artigo, apresentamos o método Open-Vocabulary Affordance Detection (OpenAD), capaz de detectar um número ilimitado de affordances em nuvens de pontos 3D. Ao aprender simultaneamente o texto da affordance e a característica do ponto, o OpenAD explora com sucesso as relações semânticas entre affordances. Assim, o método proposto permite a detecção zero-shot e pode detectar affordances não vistas anteriormente sem um único exemplo anotado. Resultados experimentais extensivos mostram que o OpenAD funciona de forma eficaz em uma ampla gama de configurações de detecção de affordances e supera outras baselines por uma grande margem. Além disso, demonstramos a praticidade do OpenAD proposto em aplicações robóticas reais com uma velocidade de inferência rápida (≈100 ms).

Links

  • arXiv 2303.02401: https://arxiv.org/abs/2303.02401
  • DOI 10.1109/IROS55552.2023.10341553: https://doi.org/10.1109/IROS55552.2023.10341553
  • PDF: https://arxiv.org/pdf/2303.02401v1

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.