Open Source Robotics

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

Distilled Feature Fields Enable Few-Shot Language-Guided Manipulation

Autores: William Shen, Ge Yang, Alan Yu, Jansen Wong, Leslie Pack Kaelbling, Phillip Isola · CoRL 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

O F3RM destila características 2D do CLIP ou do DINO em um campo de características NeRF 3D, de modo que um robô consegue inferir preensões e posicionamentos de 6-DOF a partir de duas demonstrações por tarefa e pegar objetos nomeados em texto livre.

Por que importa

O método não precisa de ajuste fino dos modelos de visão, nem de máscaras de segmentação ou suposições sobre a pose dos objetos, porque opera sobre todo o campo de características. Os autores relatam que conectar um modelo de visão e linguagem mais recente ao pipeline exige poucos minutos de engenharia, sem retreinamento e sem novas demonstrações.

Problema

Modelos de imagem 2D pré-treinados carregam rico conhecimento semântico, mas pegar e posicionar objetos exige geometria 3D precisa, que falta às características 2D. O artigo pergunta como um robô pode pegar objetos que nunca viu, a partir de poucas demonstrações ou de uma descrição em texto, em cenas desordenadas onde os objetos diferem dos demonstrados em forma, tamanho, pose e material.

Solução proposta

O robô escaneia a mesa com uma câmera RGB em um pau de selfie (50 imagens) e treina um NeRF que também renderiza características densas do DINO ViT ou do CLIP; as características por patch do CLIP são extraídas com a reparametrização do MaskCLIP para que continuem alinhadas com a linguagem. Uma pose de garra de 6-DOF é codificada amostrando o campo de características ponderado pela ocupação em 100 pontos de consulta no referencial da garra, e as poses são encontradas por pré-filtragem de voxels mais otimização com Adam em relação ao embedding médio de duas demonstrações. Para comandos em texto, o embedding de texto do CLIP recupera as demonstrações mais próximas e pondera o custo da pose em direção às regiões que correspondem à consulta.

Principais ideias

  • Os campos de características do DINO e do CLIP são complementares: o DINO oferece boa geometria no nível das partes, mas se confunde com distratores parecidos e tende a sobreajustar à cor, enquanto o CLIP privilegia a semântica em detrimento da geometria: 21 de 27 falhas do CLIP contra 7 de 19 falhas do DINO vieram de erros de rotação ou translação da preensão.
  • Características densas do CLIP extraídas da penúltima camada com o MaskCLIP mantêm o alinhamento com o codificador de texto, então consultas em linguagem funcionam sobre o campo de características 3D sem ajuste fino do CLIP.
  • Ponderar as características pela ocupação do NeRF (alfa) permite que uma única representação de pontos de consulta codifique tanto a geometria local quanto a semântica, sem segmentação nem poses de objetos.
  • Demonstrações com canecas e chaves de fenda foram transferidas para novas categorias, como tigelas, béqueres de medição, rolos de fita, marcadores de quadro branco e utensílios, quando o alvo era nomeado em texto.
  • A maioria das falhas guiadas por linguagem (13 de 19) veio do CLIP se comportar como um saco de palavras e ignorar relações, atributos e informações ordinais da consulta.

Principais resultados

  • Preensão e posicionamento a partir de duas demonstrações por tarefa, cinco tarefas com dez cenas de teste cada: características CLIP ResNet 39/50, CLIP ViT 34/50, DINO ViT 31/50.
  • Baselines nas mesmas tarefas: densidade do NeRF 27/50, RGB 21/50, características intermediárias do NeRF 9/50 e MIRA 15/50.
  • Manipulação guiada por linguagem em 13 cenas sobre mesa: 31 de 50 consultas tiveram sucesso; por categoria, cor 7/10, material 7/10, relacionais 4/10, gerais 4/10 e categorias de objetos fora da distribuição 9/10.
  • Ajustar o NeRF e o campo de características leva no máximo 90 s (80 s em média) em uma NVIDIA RTX 3090, e cada cena precisa de 60 a 120 MB, contra de 50 a várias centenas de GB por cena no ConceptFusion, baseado em surfels.
  • A otimização da pose de preensão leva 15 s em média; em uma ablação do número de vistas, a qualidade cai drasticamente abaixo de cerca de 20 das 50 imagens escaneadas.

Limitações

  • Segundo os autores: o pipeline automatizado de escaneamento e modelagem leva alguns minutos por cena e é o principal gargalo do sistema.
  • Os autores observam que a taxa de sucesso de 31/50 na manipulação guiada por linguagem está longe de ser prática para uso industrial.
  • O comportamento de saco de palavras do CLIP causou falhas em consultas como "black screwdriver" e "mug on a can of spam", e recuperar demonstrações por texto às vezes exigiu engenharia de prompts.
  • As distribuições de pontos de consulta são ajustadas à mão para cada tarefa, e o melhor de cinco conjuntos de pontos de consulta amostrados é escolhido em cenas de desenvolvimento.
  • Seis das 19 falhas guiadas por linguagem vieram de erros de rotação ou translação na preensão prevista.

Impacto na área

Vencedor do CoRL 2023 Best Paper Award. A página oficial do projeto traz o link para o repositório de código do F3RM.

Resumo

Modelos de imagem autossupervisionados e supervisionados por linguagem contêm um rico conhecimento do mundo que é importante para a generalização. Muitas tarefas robóticas, porém, exigem uma compreensão detalhada da geometria 3D, que muitas vezes falta nas características de imagem 2D. Este trabalho preenche essa lacuna entre 2D e 3D para a manipulação robótica, usando campos de características destilados para combinar geometria 3D precisa com a rica semântica de modelos de fundação 2D. Apresentamos um método de aprendizado few-shot para preensão e posicionamento em 6-DOF que aproveita esses fortes priors espaciais e semânticos para obter generalização em condições reais para objetos não vistos. Usando características destiladas de um modelo de visão e linguagem, o CLIP, apresentamos uma forma de designar novos objetos para manipulação por meio de linguagem natural em texto livre e demonstramos sua capacidade de generalizar para expressões não vistas e novas categorias de objetos.

Links

  • arXiv 2308.07931: https://arxiv.org/abs/2308.07931
  • PDF: https://arxiv.org/pdf/2308.07931v1
  • Código: https://github.com/f3rm/f3rm
  • Página do projeto: https://f3rm.csail.mit.edu/

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