Open Source Robotics

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

Semantic keypoint

  • Também chamado: category-level keypoint, object keypoint
  • Categoria: Sensing › Perception outputs
  • Tags: manipulation, perception, object-representation, category-level, keypoints

Um ponto de um objeto definido de forma consistente em toda uma categoria de objetos, como a alça ou o centro do fundo de uma caneca, que um robô detecta em 3D para especificar e planejar a manipulação.

Definição

Um ponto-chave semântico (semantic keypoint) é um ponto de um objeto que tem o mesmo significado em todas as instâncias de uma categoria: o centro do fundo de uma caneca, a ponta de uma chave de fenda, a extremidade de um pino, a ponta de um sapato. Ao contrário de uma feature genérica de imagem, escolhida por ser fácil de detectar e rastrear, um ponto-chave semântico é escolhido pelo que significa para uma tarefa. Um modelo de percepção, geralmente uma rede neural treinada com imagens rotuladas, prevê a posição de cada ponto-chave na imagem, e dados de profundidade ou múltiplas vistas transformam essas posições em posições 3D.

Na manipulação, os pontos-chave semânticos são uma alternativa à estimativa de uma pose completa de 6-DOF do objeto. Uma pose só é bem definida em relação a um modelo-gabarito fixo, o que deixa de funcionar quando as instâncias de uma categoria diferem em tamanho e forma: duas canecas podem diferir em altura, largura e posição da alça, de modo que nenhuma transformação rígida única alinha uma com a outra. Um pequeno conjunto de pontos-chave continua fazendo sentido em ambas. A abordagem kPAM (Manuelli, Gao, Florence e Tedrake, 2019) usa isso para especificar tarefas como custos e restrições sobre pontos-chave, por exemplo que o centro do fundo de uma caneca fique apoiado em uma prateleira com o centro do topo logo acima, e resolve o movimento rígido do objeto que as satisfaz; uma preensão então leva o objeto ao longo desse movimento. O kPAM 2.0 estende a abordagem ao controle por realimentação em malha fechada, o que permite tarefas ricas em contato, como a inserção de pino em furo.

A representação é compacta e interpretável, e os custos sobre pontos-chave podem ser escritos diretamente em um problema de otimização junto com restrições de colisão e cinemáticas. Seus limites vêm da mesma fonte. Alguém precisa escolher quais pontos-chave uma categoria requer para uma determinada tarefa, e poucos pontos dizem pouco sobre a geometria completa, por isso a verificação de colisões geralmente precisa de uma nuvem de pontos ou de uma malha separada. Oclusão, simetria, quando vários pontos parecem equivalentes, e objetos diferentes dos dados de treinamento degradam a detecção. Entre as representações relacionadas estão os descritores visuais densos, que atribuem uma feature aprendida a cada pixel, e os mapas de coordenadas normalizadas do objeto, que preveem um referencial canônico da forma para cada pixel.

Por que importa

Robôs em casas, laboratórios e armazéns encontram muitas instâncias de objetos que têm a mesma finalidade, mas não exatamente a mesma forma. Os pontos-chave semânticos permitem escrever uma única especificação de tarefa para toda uma categoria e ainda assim posicionar os objetos com precisão, sem um modelo CAD de cada objeto.

Principais aplicações

  • Pick-and-place em nível de categoria para objetos com variação de forma
  • Especificação de tarefas de posicionar, pendurar e empilhar
  • Montagem rica em contato, como a inserção de pino em furo
  • Uso de ferramentas, em que pontos relevantes para a tarefa definem como uma ferramenta encontra uma peça
  • Rastreamento de objetos articulados ou deformáveis por meio de alguns pontos significativos

Na prática

Uma equipe quer que um robô pendure em um suporte qualquer uma de algumas dezenas de canecas diferentes. Eles anotam três pontos-chave em algumas centenas de imagens de profundidade: o centro do fundo, o centro do topo e um ponto dentro da alça. Uma rede treinada com essas imagens prevê os pontos-chave em canecas novas, e suas posições 3D são lidas da imagem de profundidade. A tarefa é escrita como restrições: o ponto da alça deve terminar no gancho do suporte, e o eixo do fundo ao topo deve estar próximo da horizontal. Um otimizador encontra a transformação rígida da caneca que as satisfaz, o robô pega a borda e o movimento planejado da caneca é convertido em uma trajetória do efetuador final. A maioria das falhas acontece quando a alça fica escondida da câmera, então a equipe faz o robô mover a câmera ou girar a caneca e detectar de novo antes de planejar.

Equívocos comuns

  • Pontos-chave semânticos são o mesmo que pontos de features de imagem, como cantos SIFT ou ORB — estes são escolhidos por serem distintivos e rastreáveis, enquanto os pontos-chave semânticos são escolhidos pelo significado para a tarefa e se correspondem entre instâncias
  • Pontos-chave substituem toda a geometria do objeto — eles descrevem apenas os pontos relevantes para a tarefa, então o desvio de colisões e a escolha da preensão ainda precisam de uma nuvem de pontos ou de uma malha
  • Pontos-chave eliminam a pose do problema — eles evitam uma pose de 6-DOF do objeto baseada em gabarito, mas o robô ainda calcula uma transformação rígida para o objeto e uma pose completa para a garra

Quem deve saber

  • Engenheiros de manipulação que trabalham com objetos do dia a dia variados
  • Engenheiros de percepção que treinam detectores de pontos-chave
  • Pesquisadores de aprendizado robótico que projetam representações de objetos
  • Integradores que constroem células flexíveis de pick-and-place e de montagem

Tecnologias relacionadas

  • kPAM
  • Regressão de mapas de calor de pontos-chave (Keypoint Heatmap Regression)
  • Descritores densos de objetos (Dense Object Descriptors)
  • Normalized Object Coordinate Space (NOCS)
  • Perspective-n-Point

Termos relacionados

  • Category-Level Manipulation
  • Affordance
  • Point Cloud
  • Perspective-n-Point
  • Task-Oriented Grasping
  • Peg-in-hole insertion

Projetos relacionados

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
  • PCL: Industry-standard C++ library for point cloud processing in robotics perception
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation

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