Melhorando a percepção de profundidade em robôs com câmeras duplas
Um novo método melhora os mapas de profundidade usando dois tipos de câmeras para robótica.
― 7 min ler
Índice
Câmeras de Profundidade são ferramentas importantes usadas na robótica, especialmente para tarefas como fazer um robô conseguir ver e interagir com os objetos ao seu redor. No entanto, muitas câmeras de profundidade menores e mais baratas não fornecem as informações de profundidade claras que um robô precisa para se mover com precisão e detectar objetos. Isso pode gerar problemas ao tentar rastrear objetos ou entender efetivamente o ambiente do robô.
Para resolver essa questão, a gente propõe um método que usa dois tipos diferentes de câmeras de profundidade para melhorar a qualidade das informações que um robô recebe. A ideia é usar uma câmera de profundidade mais avançada e cara para guiar o processo de remoção de ruído dos dados coletados de uma câmera mais barata. Com isso, esperamos criar mapas de profundidade mais claros que ajudem o robô a entender melhor o seu ambiente.
Contexto sobre Câmeras de Profundidade
Câmeras de profundidade capturam imagens que incluem tanto informações de cor quanto valores de profundidade, que indicam quão longe cada objeto está. Na robótica, câmeras de profundidade ajudam os robôs a entenderem melhor os seus arredores, permitindo que realizem tarefas de maneira mais parecida com a de humanos. No entanto, nem todas as câmeras de profundidade são iguais. Algumas, como a Intel RealSense, são compactas e oferecem altas taxas de quadros, mas produzem mapas de profundidade ruidosos. Outras, como a Zivid One+, fornecem informações de profundidade de alta resolução e mais claras, mas são maiores e têm taxas de quadros mais lentas.
Essa diferença de qualidade significa que os robôs muitas vezes têm que fazer concessões. Uma câmera mais barata pode funcionar melhor em certos cenários, mas pode não fornecer os melhores dados. Em contraste, uma câmera mais cara pode dar melhores dados, mas pode ser mais difícil de usar.
Método Proposto
Nosso enfoque combina os pontos fortes de ambos os tipos de câmeras, usando dados de alta qualidade de uma para melhorar a precisão da outra. A gente foca em criar um sistema que consiga remover ruídos dos mapas de profundidade capturados pela câmera mais barata, usando as informações de profundidade da câmera melhor.
Primeiro, alinhamos as imagens tiradas pelas duas câmeras, garantindo que capturem a mesma cena de ângulos ligeiramente diferentes. Depois, criamos um conjunto de dados rotulados gerando mapas de profundidade limpos, que são essenciais para treinar o modelo de remoção de ruído.
Coleta de Dados
Para coletar dados, usamos tanto uma câmera de qualidade inferior (RealSense D435) quanto uma câmera de qualidade superior (Zivid One+). Garantimos que ambas as câmeras estivessem configuradas na mesma posição para a coleta de dados consistente. Capturamos imagens de objetos específicos e também combinações desses objetos em várias posições. Isso nos permitiu criar um conjunto de dados diversificado e abrangente para nosso processo de treinamento.
O conjunto de dados resultante consiste em pares de imagens de profundidade e cor. Cada par de imagens contém dados de ambas as câmeras, oferecendo uma visão mais clara dos objetos estudados.
Técnica de Máscara
Para garantir que nosso modelo se concentre apenas nos objetos de interesse e ignore informações de fundo irrelevantes, desenvolvemos uma técnica para criar máscaras. Essas máscaras identificam quais partes das imagens contêm os objetos que nos interessam.
Primeiro, usamos um método que agrupa pontos no espaço 3D com base em suas superfícies suaves. Isso ajuda a distinguir objetos do fundo. Em seguida, aplicamos uma segunda etapa de agrupamento para remover quaisquer pontos que não façam parte dos objetos principais. Por fim, combinamos as duas máscaras para obter uma representação mais precisa das posições dos objetos nas imagens.
Treinando a Rede
Assim que nosso conjunto de dados está pronto, usamos ele para treinar uma Rede Neural especificamente projetada para remover ruídos dos mapas de profundidade. A arquitetura da rede que escolhemos se chama UNet, que é bem adequada para tarefas de segmentação de imagem.
O processo de treinamento envolve alimentar a rede com pares de imagens de profundidade e suas respectivas máscaras. A rede aprende a prever mapas de profundidade mais limpos com base na entrada ruidosa que recebe. Para garantir um desempenho melhor, também aplicamos várias técnicas para reduzir o risco de superajuste do modelo ao nosso conjunto de dados limitado.
Aumento de Dados
Dado que nosso conjunto de dados é relativamente pequeno, aplicamos técnicas de aumento de dados para aumentar artificialmente seu tamanho. Em vez de simplesmente modificar as imagens originais, o que poderia levar a valores de profundidade incorretos, operamos no espaço 3D. Manipulando as nuvens de pontos 3D derivadas das imagens, podemos criar novas variações dos dados enquanto mantemos a integridade de profundidade.
Isso aumenta a quantidade de dados de treinamento disponíveis, permitindo que o modelo aprenda características mais robustas e melhore seu desempenho em dados não vistos.
Avaliação do Modelo
Após treinar o modelo, avaliamos seu desempenho usando métricas que analisam quão bem o modelo remove ruídos dos mapas de profundidade. Comparamos o desempenho do nosso modelo com as imagens de entrada originais e os dados de verdade gerados pela câmera de alta qualidade.
A métrica principal que usamos é a média de perda L1, que nos dá uma ideia de quão próximos os mapas de profundidade previstos estão dos verdadeiros. Também observamos várias faixas de diferenças de profundidade para entender em quais áreas o modelo se sai melhor.
Nossos resultados mostram que o modelo reduz efetivamente o ruído nos mapas de profundidade, especialmente em discrepâncias maiores entre os valores de profundidade de entrada e de alvo. Embora tenha dificuldades com diferenças menores, no geral, o modelo melhora significativamente a clareza das informações de profundidade.
Comparação com Trabalhos Anteriores
Contrastamos nossos resultados com aqueles de estudos anteriores que abordaram tarefas semelhantes. Embora esses estudos tenham usado Conjuntos de dados e métodos diferentes, é evidente que nossa abordagem é eficaz na Remoção de ruídos de mapas de profundidade de objetos YCB, que apresentam desafios únicos devido às suas formas e tamanhos variados.
O desempenho do nosso modelo indica que ele fornece um método valioso para aprimorar as capacidades de sensoriamento de profundidade na robótica, fechando a lacuna entre sensores de baixa qualidade e a necessidade de informações de profundidade precisas.
Conclusão
Em resumo, apresentamos uma abordagem nova para remover ruídos dos mapas de profundidade de uma câmera de qualidade inferior usando informações de uma câmera de qualidade superior. Ao desenvolver um processo estruturado para coleta de dados, criação de máscaras e treinamento de uma rede de remoção de ruídos, mostramos que é possível obter informações de profundidade mais claras que podem melhorar a percepção do ambiente por parte de um robô.
Embora nosso método tenha suas limitações, especialmente em relação à geração de máscaras e à complexidade de alinhar diferentes câmeras, ele oferece uma avenida promissora para melhorar a percepção de profundidade robótica. Trabalhos futuros poderiam envolver a integração de nossa estrutura em sistemas robóticos ativos para aplicações em tempo real, permitindo que os robôs aprendam de seus ambientes de forma dinâmica.
O objetivo é tornar essas tecnologias mais robustas e adaptáveis para uso no mundo real, melhorando, em última análise, a eficácia dos robôs em várias aplicações, desde ambientes industriais até tarefas cotidianas.
Título: Multi-Object Self-Supervised Depth Denoising
Resumo: Depth cameras are frequently used in robotic manipulation, e.g. for visual servoing. The quality of small and compact depth cameras is though often not sufficient for depth reconstruction, which is required for precise tracking in and perception of the robot's working space. Based on the work of Shabanov et al. (2021), in this work, we present a self-supervised multi-object depth denoising pipeline, that uses depth maps of higher-quality sensors as close-to-ground-truth supervisory signals to denoise depth maps coming from a lower-quality sensor. We display a computationally efficient way to align sets of two frame pairs in space and retrieve a frame-based multi-object mask, in order to receive a clean labeled dataset to train a denoising neural network on. The implementation of our presented work can be found at https://github.com/alr-internship/self-supervised-depth-denoising.
Autores: Claudius Kienle, David Petri
Última atualização: 2023-05-09 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2305.05778
Fonte PDF: https://arxiv.org/pdf/2305.05778
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.