SORNet: Spatial Object-Centric Representations for Sequential Manipulation
Autores: Wentao Yuan, Chris Paxton, Karthik Desingh, Dieter Fox · CoRL 2021
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 SORNet gera um embedding para cada objeto de uma imagem RGB a partir de uma vista canônica desse objeto; pequenos MLPs de leitura transformam os embeddings em pré-condições de habilidades e direções 3D para objetos não vistos.
Por que importa
Os predicados previstos alimentam um planejador simbólico de tarefas e movimentos, de modo que a mesma rede pode servir a novas tarefas e novos objetos sem retreinamento nem ajuste fino. Os autores usam predicados previstos a partir da imagem da câmera de um robô real para preencher o estado de um planejador para execução em malha aberta, e usam as previsões de direção para servocontrole visual até um objeto-alvo.
Problema
A manipulação sequencial precisa saber quais relações espaciais valem entre objetos, por exemplo se o topo de um bloco está livre, antes que um planejador possa escolher a próxima habilidade. Estimadores explícitos de estado são difíceis de generalizar para coleções arbitrárias de objetos, especialmente objetos em contato, e redes de ponta a ponta ficam presas à tarefa em que foram treinadas: uma rede treinada para empilhar blocos não consegue simplesmente desempilhá-los.
Solução proposta
O SORNet é um Vision Transformer que recebe patches de contexto RGB da cena mais vistas canônicas dos objetos de interesse como tokens de consulta, com a atenção mascarada para que as consultas leiam apenas da cena, e produz um embedding por objeto consultado. Redes de leitura MLP de duas camadas mapeiam embeddings individuais ou em pares para predicados unários e binários ou para direções 3D contínuas, com parâmetros independentes do número de objetos; o treinamento usa o Leonardo, um novo conjunto de dados simulado de um Franka Panda empilhando blocos, rotulado com predicados reais (ground truth).
Principais ideias
- Condicionar a vistas canônicas dos objetos, que não precisam corresponder à aparência do objeto na cena, permite que o modelo identifique objetos não vistos sob mudanças de iluminação, pose e oclusão sem retreinamento.
- Mascarar a atenção entre os tokens de consulta e dos patches de contexto para as consultas torna as saídas equivariantes a permutações, então qualquer número de objetos pode ser consultado na inferência.
- Embeddings treinados apenas com rótulos de predicados lógicos ainda carregam informação espacial contínua: um regressor sobre embeddings congelados prevê direções 3D melhor que baselines treinadas com supervisão de pose.
- Baselines sem condicionamento por objeto falham em zero-shot com objetos não vistos e continuam muito atrás mesmo após ajuste fino 100-shot.
- Agregar três vistas de câmera ajuda com a oclusão, e acrescentar o estado da garra melhora os predicados ligados à garra, como has-object.
Principais resultados
- Acurácia de relações zero-shot no CLEVR-CoGenT: 99,006 % em valA e 98,222 % em valB, contra 84,950 % / 59,627 % do MDETR e 97,944 % / 98,052 % do MDETR-oracle, que viu todos os objetos no treinamento.
- Classificação de predicados no Leonardo com objetos não vistos (52 predicados): o SORNet M-View (G) atinge 98,9 % de acurácia, 63,6 % de acurácia de correspondência total (all-match) e F1 de 89,5; a melhor baseline 100-shot atinge 92,8 %, 4,1 % e 0,0.
- Cenas com 5 e 6 objetos (treinado com 4): 98,5 % e 98,0 % de acurácia, com a correspondência total caindo para 45,5 % e 29,7 % à medida que os predicados aumentam para 70 e 102.
- 30 imagens de robô do mundo real: 96,3 % de acurácia, 26,7 % de acurácia de correspondência total, F1 de 76,5.
- Acurácia de executabilidade de habilidades: 76,3 % para o SORNet M-View (G) contra cerca de 27 % das baselines ResNet18 e ViT, que marcam 0 % em grasp, align, place e lift.
- Regressão de direção 3D relativa (erro euclidiano sobre vetores unitários, 1000 exemplos de treinamento): 0,1458 objeto-objeto e 0,1777 efetuador final-objeto para o SORNet (pré-treinado, multivista), contra 0,4308 / 0,3251 do ResNet18 e 0,6145 / 0,4960 do CLIP-ViT pré-treinado.
Limitações
- As redes de leitura lidam apenas com relações unárias e binárias; relações envolvendo mais de dois objetos ficam para trabalho futuro.
- As relações espaciais são previstas a partir de um único quadro RGB; o raciocínio temporal não é abordado.
- Em imagens reais o modelo comete erros em situações nunca vistas no treinamento, como um bloco empilhado entre dois blocos, e a acurácia de correspondência total nas 30 imagens reais é de 26,7 %.
- A acurácia de correspondência total cai à medida que objetos são acrescentados (29,7 % com 6 objetos), porque o número de predicados binários cresce quadraticamente.
- Os dados de treinamento cobrem uma única tarefa, empilhar 4 blocos; a demonstração de planejamento com o robô real roda em malha aberta e é mostrada apenas no vídeo suplementar.
Impacto na área
Finalista do CoRL 2021 Best System Paper Award, com 82 citações. O artigo contribui com o conjunto de dados Leonardo de observações RGB rotuladas com predicados espaciais, e a página oficial do projeto aponta para o código (github.com/wentaoyuan/sornet).
Resumo
Tarefas de manipulação sequencial exigem que um robô perceba o estado de um ambiente e planeje uma sequência de ações que leve a um estado objetivo desejado, em que a capacidade de raciocinar sobre relações espaciais entre entidades de objetos a partir de entradas brutas de sensores é crucial. Trabalhos anteriores que dependem de estimação explícita de estado ou de aprendizado de ponta a ponta têm dificuldades com objetos novos ou tarefas novas. Neste trabalho, propomos o SORNet (Spatial Object-Centric Representation Network), que extrai representações centradas em objetos a partir de imagens RGB condicionadas a vistas canônicas dos objetos de interesse. Mostramos que os embeddings de objetos aprendidos pelo SORNet generalizam zero-shot para entidades de objetos não vistas em três tarefas de raciocínio espacial: classificação de relações espaciais, classificação de pré-condições de habilidades e regressão de direção relativa, superando significativamente as baselines. Além disso, apresentamos experimentos robóticos no mundo real que demonstram o uso dos embeddings de objetos aprendidos no planejamento de tarefas para manipulação sequencial.
Links
- arXiv 2109.03891: https://arxiv.org/abs/2109.03891
- DOI 10.48550/arXiv.2109.03891: https://doi.org/10.48550/arXiv.2109.03891
- PDF: https://proceedings.mlr.press/v164/yuan22a/yuan22a.pdf
- Código: https://github.com/wentaoyuan/sornet
- Página do projeto: https://wentaoyuan.github.io/sornet