Dados sintéticos: melhorando algoritmos de percepção e otimizando a busca de limites

imagem



Para cobrir todos os casos extremos encontrados no mundo real, os sistemas de sensoriamento crítico requerem grandes quantidades de dados. Uma das abordagens mais comuns para algoritmos de treinamento para carros autônomos é a seleção e identificação de dados de direção reais. No CVPR 2020, Andrey Karpaty disse que a Tesla também usa essa abordagem - seus carros adaptam tags de objetos online. “Variação e controle” são muito importantes, pois os engenheiros estão constantemente adaptando a ontologia e a metodologia para rotular os dados, já que os carros autônomos são constantemente confrontados com novos cenários que precisam ser analisados.



No entanto, esta abordagem baseada em dados tem várias limitações devido à escalabilidade, custos de coleta de dados e a quantidade de esforço necessária para marcar conjuntos de dados com precisão. Neste texto, a equipe aplicada discutirá uma abordagem sintética de dados marcados. Essa abordagem torna o aprendizado e o desenvolvimento de algoritmos críticos para veículos não tripulados mais rápidos e econômicos.



imagem



Um exemplo de dados sintéticos para imagens de câmeras com marcações de referência. Imagem RGB original (canto superior esquerdo), quadros 2D (canto superior direito), marcação semântica (canto inferior esquerdo) e quadros 3D (canto inferior direito).



Abordagem moderna para marcação de dados e problemas relacionados



A Figura 2 mostra uma abordagem típica para a criação de conjuntos de dados marcados. Este é um processo que consome muito tempo - os motoristas de teste dirigem veículos equipados com vários sensores em modo manual ou não tripulado. Durante essas viagens, um software especial embutido no veículo registra os dados brutos do sensor e a saída do programa dos módulos de detecção, controle e planejamento. Durante o processo de desenvolvimento, pode ser necessário criar veículos especiais, uma vez que os veículos em série podem não ter os sensores precisos necessários para a coleta de dados. Após a coleta dos dados, surge a complexa tarefa de formar uma amostra dos dados que serão marcados. Isso requer uma seleção cuidadosa de eventos específicos e interessantes, após os quais os conjuntos de dados são enviados para as empresas,engajado na marcação (é aconselhável minimizar o tamanho do conjunto de dados para salvar em sua marcação). Às vezes, isso inclui a busca por casos específicos de ponta nos logs (como um pacote voando na rodovia). Além disso, a recoleta e rotulagem podem ser necessárias ao atualizar a configuração de qualquer um dos sensores.



imagem



2:



Embora a marcação possa ser a única maneira de preparar os dados brutos necessários para treinar algoritmos de direção autônomos, a principal desvantagem dessa abordagem é o investimento necessário para aumentar o suficiente. Os motoristas de teste podem precisar viajar centenas ou milhares de quilômetros para detectar qualquer caso extremo. A Tesla, por exemplo, tem uma frota de mais de um milhão de carros de produção que coletam grandes quantidades de dados: sinais de parada em diferentes idiomas, diferentes locais, validação de dados e muito mais - tudo em nome da empresa. A maioria dos OEMs não possui veículos suficientes para coletar tais conjuntos de dados. Mesmo que grandes quantidades de dados de condução estivessem disponíveis, ainda não há garantia.que esses dados estariam disponíveis em conjuntos de dados. Nesse caso, para coletar esses dados, é necessário realizar campanhas especiais, o que aumenta o custo de desenvolvimento e aumenta o prazo.



Outro aspecto é a disponibilidade e disponibilidade de condições específicas. No momento em que este livro foi escrito, os EUA estavam passando por condições climáticas extremas - o céu fica laranja (às vezes até vermelho) (Fig. 3). Se não houver veículos em uma área com essas condições, levará anos para coletar esses dados - para que as condições extremas voltem a ocorrer. Caso contrário, haverá distorções no conjunto de dados devido ao fato de que ele não fornece amostras de tais condições.



imagem



Figura 3: Condições extremas são difíceis de prever e capturar em conjuntos de dados de veículos autônomos. Fonte: CBS News.



Além disso, os desenvolvedores de veículos autônomos estão sempre em busca de novos projetos e uma infraestrutura significativa será necessária para processar os dados com eficiência. Muitas consultas sobre esses dados presumem que os dados já possuem tags ou marcação. O problema é que, se esse método não foi usado antes, talvez não seja. Finalmente, o custo da marcação de dados é bastante alto e os dados são frequentemente marcados manualmente. Existe uma grande probabilidade de erros e imprecisões (por exemplo, quando um carro se sobrepõe a outro na imagem).



Usando dados sintéticos e seus benefícios



Os dados sintéticos fornecem uma abordagem alternativa que é mais escalonável e precisa. Embora os dados sintéticos sejam gerados a partir da simulação, informações confiáveis ​​(etiquetas semânticas de veículos ou texto em sinais de trânsito) são fornecidas com precisão. As simulações também podem fornecer dados precisos sobre albedo, profundidade, reflexão posterior e rugosidade de cada objeto na cena (Figura 4). Além disso, os objetos têm máscaras de pixel e rótulos semânticos. Tudo isso permite que você crie anotações automaticamente, sem a necessidade de marcar manualmente os dados dos sensores. Embora possa exigir um software de extração do mundo real dedicado para criar anotações individuais, será um investimento único que permite criar e usar novas classes de rótulo.



imagem



4: . : , , , , .



Outra vantagem notável da marcação de dados sintéticos é que ela permite criar muitas variações da mesma cena sem ter que viajar ao redor do mundo e confiar na sorte. Os dados sintéticos também permitem que você se concentre em objetos específicos de interesse dos desenvolvedores. Com os algoritmos certos configurados, milhões de variantes de sinais de trânsito podem ser simulados em questão de horas. Essas opções podem incluir diferentes condições de iluminação, colocação de objetos, várias obstruções e danos (ferrugem, manchas de óleo, grafite). Assim, os dados sintéticos podem complementar os dados retirados do mundo real. Eventos compostos do mundo real podem ser usados ​​como um ponto de partida a partir do qual milhares de variações da cena original serão criadas.



A diversidade também é importante do ponto de vista geográfico. Para atender aos sinais de trânsito estrangeiros com modificações específicas usadas em países individuais, os veículos de teste precisarão viajar para esses países. Além disso, um carro de teste pode viajar centenas de quilômetros para encontrar um sinal de trânsito específico, mas no final ele foi parcialmente bloqueado por um ônibus escolar. Todas essas dificuldades podem ser contornadas criando instantaneamente as cenas necessárias usando conjuntos de dados sintéticos (Figura 5). Devido ao fato de que uma ampla gama de cenários pode ser criada com base em dados sintéticos, os algoritmos podem ser testados em muitos casos extremos (Fig. 6).Este post descreve como a Kodiak Robotics (que lida com caminhões autônomos) usa simulações sintéticas para treinar algoritmos e testes - eles verificam se seu sistema Kodiak Driver lida adequadamente com vários casos de teste de borda.



imagem



imagem



Figura 5: Exemplos de diferentes sinais de trânsito na Europa e nos EUA



imagem



Figura 6: Modificação das condições das estradas e marcações em dados sintéticos



Outro caso de uso importante é obter amostras de dados de referência que não podem ser coletados de sensores ou adicionados manualmente. Um exemplo típico é a extração de profundidade precisa de uma câmera com uma ou mais lentes. Os dados do mundo real não nos dizem a profundidade de cada pixel individual, e é impossível calculá-lo com precisão ou marcá-lo à mão.



Requisitos de dados sintéticos



Dados do sensor



Para que a marcação de dados sintéticos seja útil em termos de algoritmos de teste e treinamento para veículos autônomos, os dados dos sensores simulados e anotações devem atender a certos critérios. Como escrevemos anteriormente no post sobre modelagem de sensor, grandes conjuntos de dados de sensores artificiais usados ​​para desenvolver veículos não tripulados devem ser gerados de forma barata e rápida (em alguns dias). Além disso, os sensores artificiais devem ser modelados levando em consideração os princípios físicos básicos inerentes a tipos específicos de sensores. O fator mais importante é o nível de precisão dos modelos criados. Há uma compensação entre a lacuna de plausibilidade (como os algoritmos percebem dados reais e sintéticos de maneira diferente) e a velocidade da coleta de dados.Esta lacuna pode variar dependendo do tipo de sensor simulado, objetos circundantes e condições ambientais. Também é muito importante ser capaz de quantificar essa lacuna e usar a estimativa resultante para formar uma estratégia de uso de dados sintéticos. Como exemplo, dê uma olhada na Figura 7, que mostra como o modelo lidar responde a uma estrada molhada. Na foto, você pode ver como o lidar reage ao feedback do nível do solo e pulveriza de veículos próximos.Na foto, você pode ver como o lidar reage ao feedback do nível do solo e pulveriza de veículos próximos.Na foto, você pode ver como o lidar reage ao feedback do nível do solo e pulveriza de veículos próximos.



imagem



7:







Outro aspecto importante que surge ao trabalhar com dados sintéticos é a variedade de mídias e materiais encontrados nessas mídias. Os ambientes devem ser gerados rapidamente a partir de mapas e dados reais - conforme mostrado na Figura 8. A capacidade de criar rapidamente esses ambientes depende de técnicas de geração de procedimentos. A capacidade de modelar qualquer região geográfica ao redor do mundo é outra vantagem incrível dos dados sintéticos sobre os dados reais. No entanto, embora locais diferentes sejam fáceis de criar, se os métodos estiverem configurados incorretamente, áreas e dados podem ser duplicados. Atualmente, um aspecto muito importante nesta área é encontrar a relação entre a repetição de dados e o reflexo da diversidade do mundo real. A diversidade deve ser levada em consideração tanto no nível macro (o quanto a superfície da estrada pode mudar em um segmento de quilômetro da rota),e no nível micro (por exemplo, como os diferentes materiais do ambiente podem diferir).



A importância dos materiais em tornar ambientes fisicamente verossímeis foi discutida em um post anterior, embora geralmente as texturas que compõem esses materiais sejam digitalizações de superfícies reais. A criação de combinações e variações desses materiais para adicionar variedade aos dados gerados pode ser crítica tanto em algoritmos de treinamento quanto em testá-los.



imagem



Figura 8: Ambiente urbano de alta qualidade gerado por procedimentos.



Anotações



Os requisitos para anotações de dados dependem de casos de uso e algoritmos. Os tipos de anotações de dados retirados do mundo real são apresentados na Tabela 1.



Um tipo Detalhes
Semântica Segmentação semântica (pixel ou ponto)
Cubóide Para imagens, pontos lidar ou reflexos de radar
Quadro, Armação Anotação de pixel para marcação 2D




Tabela 1: Tipos de anotações para dados do mundo real



No caso de dados sintéticos, informações muito mais confiáveis ​​estão disponíveis para gerar anotações semelhantes que podem ser capturadas nos dados coletados. Os dados subjacentes também são reproduzidos com precisão de ponto / pixel. Finalmente, os dados do sensor e as anotações podem ser processados ​​em qualquer quadro de referência (o mundo, o próprio sistema, um sensor separado, etc.).



A Tabela 2 mostra os tipos padrão de anotação para dados gerados pela modelagem. Além disso, muitos formatos e tipos de dados podem ser personalizados ainda mais.



Um tipo Detalhes
Semântica Segmentação semântica (pixel ou ponto)
Cubóide , ( )
,
, , , ,
,
,
( BBox – )
Albedo, normais de superfície, profundidade, rugosidade da superfície, reflexos, metalicidade, superfícies reflexivas, propriedades ópticas




Tabela 2: Tipos de anotação para dados sintéticos O



uso de todos esses tipos de dados de referência adicionais acelera drasticamente o desenvolvimento do algoritmo. A escala dos dados, a qualidade e o volume dos dados disponíveis permitem que os engenheiros tomem decisões mais rapidamente.



imagem



Figura 9: dados sintéticos anotados mostrando caixas 2D perfeitas em pixels










imagem



Vagas
, , , - .



, , , .



, , . , , , , , .



, , .







Sobre ITELMA
- automotive . 2500 , 650 .



, , . ( 30, ), -, -, - (DSP-) .



, . , , , . , automotive. , , .





All Articles