Open Source Robotics

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

Dense Object Nets: Learning Dense Visual Object Descriptors By and For Robotic Manipulation

Autores: Peter R. Florence, Lucas Manuelli, Russ Tedrake · CoRL 2018

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

Um robô escaneia objetos com uma câmera RGBD no punho, autossupervisiona descritores por pixel a partir de reconstruções 3D e depois pega pontos escolhidos pelo usuário em diferentes poses, deformações e instâncias.

Por que importa

Descritores densos permitem que um robô se refira a um ponto específico de um objeto, como o calcanhar de um sapato ou a orelha de um brinquedo, em novas poses, deformações e outras instâncias de uma classe. O robô coleta e rotula seus próprios dados de treinamento, e um novo objeto pode ser aprendido em cerca de 20 minutos.

Problema

Métodos gerais de preensão pegam qualquer item que possa ser agarrado, mas não mantêm uma representação de objetos consistente, enquanto o aprendizado específico da tarefa pode precisar de muitas tentativas para generalizar entre configurações de objetos ou tarefas. A segmentação de instâncias fornece apenas máscaras do objeto inteiro e nada diz sobre a estrutura do objeto. Os autores querem uma representação agnóstica à tarefa para objetos rígidos e não rígidos que use priors de visão 3D e seja aprendida inteiramente por autossupervisão.

Solução proposta

Um braço Kuka com uma câmera RGBD montada no punho escaneia cada cena estática, e a fusão TSDF com poses de câmera obtidas por cinemática direta gera uma reconstrução 3D densa que fornece correspondências de pixels entre imagens para uma perda contrastiva por pixel em uma rede totalmente convolucional ResNet-34. Máscaras de objeto obtidas por detecção de mudanças 3D permitem a amostragem mascarada de correspondências e a randomização de domínio do fundo, o escalonamento de negativos difíceis mantém informativa a perda de não correspondências, e a perda entre objetos e cenas sintéticas com múltiplos objetos tornam os descritores distintos entre objetos. Em tempo de execução, um usuário clica em um pixel de uma imagem de referência, o robô encontra a melhor correspondência de descritores em uma nova cena e pega o ponto 3D correspondente.

Principais ideias

  • Reconstruções 3D de cenas estáticas a partir de um robô calibrado fornecem correspondências densas de pixels sem rótulos humanos.
  • A associação de dados de cenas estáticas sozinha não gerou descritores de objeto consistentes; foram necessários mascaramento de objetos, randomização de fundo e de orientação e escalonamento de negativos difíceis.
  • Treinar apenas dentro de cenas faz objetos diferentes se sobreporem no espaço de descritores; a perda entre objetos os separa, ao custo de precisão nas correspondências para descritores de baixa dimensão, que dimensões um pouco maiores recuperam.
  • Treinados em conjunto com instâncias semelhantes, os descritores generalizam dentro de uma classe (chapéus, sapatos, canecas), enquanto o modo de treinamento 'específico' separa até instâncias muito parecidas.
  • Projetar os descritores na esfera unitária trouxe ganhos substanciais ao passar de D = 4 para D = 8, embora isso não tenha sido usado nos experimentos com hardware.

Principais resultados

  • Foram aprendidos descritores para 47 objetos em 275 cenas, incluindo 3 classes (8 chapéus, 15 sapatos, 15 canecas) e 9 outros objetos.
  • O treinamento executa 3500 passos a cerca de 0,22 s por passo (cerca de 13 minutos) em uma única Nvidia 1080 Ti ou Titan Xp; com a coleta das cenas, um novo objeto leva cerca de 20 minutos.
  • Com o procedimento padrão de objeto único, em 93 % dos pares de imagens a melhor correspondência ficou a até 13 % da diagonal da imagem da correspondência verdadeira; superou a implementação dos autores do procedimento de Schmidt et al., e o mascaramento de objetos e o escalonamento de negativos difíceis trouxeram cada um ganhos mensuráveis.
  • Descritores de chapéus treinados com apenas 6 instâncias generalizaram para chapéus não vistos, incluindo um chapéu azul, uma cor nunca vista no treinamento.
  • Demonstrações com o robô: pegar a cauda ou a orelha direita de uma lagarta de brinquedo em várias configurações, um ponto geral de classe em sapatos não vistos após treinar com 4 sapatos, e o calcanhar de um sapato em uma pilha desordenada de sapatos.
  • Cada varredura leva cerca de 70 s e captura cerca de 2100 quadros RGBD a 30 Hz, subamostrados para cerca de 315 imagens por cena.

Limitações

  • Com múltiplos objetos, uma pessoa ainda precisa trocar os objetos para o robô e indicar quais cenas correspondem a qual objeto.
  • Objetos suficientemente diferentes não compartilham descritores: os brinquedos antropomórficos Baymax e Starbot não obtiveram descritores gerais.
  • Os descritores não podem guiar preensões antes que o aprendizado tenha ocorrido e não restringem a orientação da garra, por isso as preensões dependem de um planejador geométrico simples sobre a nuvem de pontos.
  • A perda entre objetos reduz a precisão das correspondências em espaços de descritores de baixa dimensão em redes de múltiplos objetos.
  • As demonstrações de preensão são mostradas qualitativamente; o artigo não relata taxas de sucesso de preensão.

Impacto na área

Vencedor do CoRL 2018 Best Paper Award, com 321 citações. Código, dados e vídeo estão disponíveis em github.com/RobotLocomotion/pytorch-dense-correspondence.

Resumo

Qual é a representação de objetos adequada para a manipulação? Gostaríamos que os robôs percebessem visualmente as cenas e aprendessem uma compreensão dos objetos nelas que (i) seja agnóstica à tarefa e possa ser usada como bloco de construção para uma variedade de tarefas de manipulação, (ii) seja aplicável em geral tanto a objetos rígidos quanto não rígidos, (iii) aproveite os fortes priors fornecidos pela visão 3D e (iv) seja aprendida inteiramente por autossupervisão. Isso é difícil de alcançar com métodos anteriores: grande parte do trabalho recente em preensão não se estende à preensão de objetos específicos ou a outras tarefas, enquanto o aprendizado específico da tarefa pode exigir muitas tentativas para generalizar bem entre configurações de objetos ou outras tarefas. Neste artigo apresentamos as Dense Object Nets, que se apoiam em desenvolvimentos recentes no aprendizado autossupervisionado de descritores densos, como uma representação de objetos consistente para compreensão visual e manipulação. Demonstramos que elas podem ser treinadas rapidamente (aproximadamente 20 minutos) para uma ampla variedade de objetos não vistos anteriormente e potencialmente não rígidos. Apresentamos ainda contribuições inovadoras que permitem o aprendizado de descritores para múltiplos objetos, e mostramos que, modificando nosso procedimento de treinamento, podemos obter descritores que generalizam entre classes de objetos ou descritores distintos para cada instância de objeto. Por fim, demonstramos a aplicação inovadora de descritores densos aprendidos à manipulação robótica. Demonstramos a preensão de pontos específicos de um objeto em configurações do objeto potencialmente deformadas, e demonstramos o uso de descritores gerais de classe para transferir preensões específicas entre objetos de uma classe.

Links

  • arXiv 1806.08756: https://arxiv.org/abs/1806.08756
  • DOI 10.48550/arXiv.1806.08756: https://doi.org/10.48550/arXiv.1806.08756
  • PDF: http://proceedings.mlr.press/v87/florence18a/florence18a.pdf
  • Código: https://github.com/RobotLocomotion/pytorch-dense-correspondence

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