Como os carros autônomos usam a visão computacional para ver?
Publicados: 2021-02-08No mundo de hoje, a demanda por robôs ou veículos autônomos está aumentando a uma taxa exponencial e a aplicação de Localização e Mapeamento Simultâneos (SLAM) está recebendo mais atenção. Em primeiro lugar, os veículos autônomos possuem um conjunto de sensores como câmeras, Lidar, Radar, etc.
Esses sensores analisam o ambiente ao redor do veículo antes que o veículo tome qualquer decisão crucial em relação ao seu próximo estado de movimento. A partir do Lidar e dos dados da câmera é criado um mapa de localização. Pode ser um mapa 2D ou 3D. O objetivo do mapa é identificar os objetos estáticos ao redor do veículo autônomo, como prédios, árvores, etc. Todos os objetos dinâmicos são removidos removendo todos os pontos Lidar encontrados dentro da caixa delimitadora de objetos dinâmicos detectados. Saiba mais sobre as aplicações da IA
objetos estáticos que não interferem com o veículo também são removidos, como superfícies dirigíveis ou galhos de árvores. Com a grade estabelecida, podemos prever uma trajetória livre de colisões para o veículo. Um dos elementos significativos do SLAM é o 3DMapping do ambiente, que facilita os robôs autônomos a entender o ambiente como um ser humano, para o qual muitas câmeras de profundidade ou câmeras RGB-D são valiosas.
Para que os veículos autônomos naveguem com eficiência, eles exigem um quadro de referência e observam o ambiente ao redor usando algoritmos de visão computacional para traçar um mapa de seus arredores e percorrer a pista. A reconstrução 3D inclui o uso de visão computacional para observar o ambiente externo usando uma nuvem de pontos 3D baseada em profundidade.
Portanto, o princípio básico é um ponto de junção entre a reconstrução 3D e a navegação autônoma. O aumento do interesse por soluções 3D exige uma solução completa que possa perceber a envolvente e construir uma projeção 3D da envolvente correspondente.
A prática de algoritmos de visão computacional para automatizar a robótica ou produzir projetos 3D tem sido bastante comum. O enigma da localização e mapeamento simultâneos continua por um longo tempo e muitas pesquisas estão sendo realizadas para encontrar metodologias eficientes para enfrentar o problema do mapeamento.
A pesquisa atual neste domínio emprega câmeras caras para produzir mapas de disparidade e profundidade que, embora sejam mais precisos, ainda assim caros. Diferentes métodos envolvem a utilização de câmeras de visão estéreo para determinar a profundidade dos objetos ao redor, que são usados para produzir nuvens de pontos 3D.
Índice
Tipos de Mapas de Representação de Ambientes
- Mapas de localização: é criado usando um conjunto de pontos LIDAR ou recursos de imagem da câmera à medida que o carro se move. Este mapa junto com GPU, IMU e odometria é usado pelo módulo de localização para estimar a posição precisa do veículo autônomo. à medida que novos dados do LIDAR e da câmera são recebidos, eles são comparados com o mapa de localização e a medição da posição do veículo autônomo é criada alinhando os novos dados com o mapa existente.
- Mapa de Grade de Ocupação : este mapa usa um conjunto contínuo de pontos LIDAR para construir um ambiente de mapa que indica a localização de todos os objetos estáticos, é usado para planejar um caminho seguro e sem colisões para o veículo autônomo.
É importante notar que a presença de objetos dinâmicos na nuvem de pontos dificulta a reconstrução precisa da nuvem de pontos. Esses objetos dinâmicos impedem a real remodelação do entorno. Para o mesmo propósito, é importante formular uma solução que aborde este problema.
A principal intenção é identificar esses objetos dinâmicos usando aprendizado profundo. Uma vez que esses objetos são identificados, os pontos que envolvem essa caixa delimitadora podem ser descartados. Desta forma, o modelo reconstruído será completamente de objetos estáticos.
A câmera RGB-D pode medir a profundidade usando um sensor IR. A saída assim obtida são os dados de imagem (os valores RGB) e os dados de profundidade (alcance do objeto da câmera). Como a profundidade deve ser precisa, qualquer incompatibilidade pode causar um acidente fatal. Por esse motivo, as câmeras são calibradas de forma a fornecer uma medição precisa do ambiente. Os mapas de profundidade geralmente são usados para validar a precisão dos valores de profundidade calculados.
O mapa de profundidade é uma saída em escala de cinza do ambiente em que os objetos mais próximos da câmera possuem pixels mais claros e os mais distantes possuem pixels mais escuros. Os dados de imagem obtidos da câmera são passados para o módulo de detecção de objetos que identifica os objetos dinâmicos presentes no quadro.
Então, como identificamos esses objetos dinâmicos que você pode perguntar?
Aqui, uma rede neural de aprendizado profundo é treinada para identificar os objetos dinâmicos. O modelo assim treinado percorre cada quadro recebido da câmera. Se houver um objeto dinâmico identificado, esses quadros serão ignorados. Mas, há um problema com esta solução. Pular o quadro inteiro não faz sentido. O problema é – retenção de informações.
Para resolver isso, apenas os pixels da caixa delimitadora são eliminados, enquanto os pixels circundantes são mantidos. No entanto, em aplicações relacionadas a veículos autônomos e drones de entrega autônomos, a solução é levada para outro nível. Lembre-se, eu mencionei que obtemos um mapa 3D dos arredores usando sensores LIDAR.
Depois disso, o modelo de aprendizado profundo (3D CNN) é usado para eliminar objetos em um quadro 3D (eixos x,y,z). Esses modelos de rede neural têm saídas de 2 formas. Uma é a saída de previsão que é uma probabilidade ou probabilidade do objeto identificado. E a segunda são as coordenadas da caixa delimitadora. Lembre-se, tudo isso está acontecendo em tempo real. Portanto, é extremamente importante que exista uma boa infraestrutura para suportar esse tipo de processamento.
Além disso, a visão computacional também desempenha um papel importante na identificação de sinais de trânsito. Existem modelos que funcionam em conjunto para detectar esses sinais de trânsito de vários tipos – limite de velocidade, cuidado, quebra de velocidade, etc. Novamente, um modelo de aprendizado profundo treinado é usado para identificar esses sinais vitais para que o veículo possa agir de acordo.
Para detecção de linha de pista, a visão computacional é aplicada de maneira semelhante
A tarefa é produzir os coeficientes da equação de uma linha de pista. A equação das linhas de pista pode ser representada usando coeficientes de primeira, segunda ou terceira ordem. Uma equação simples de primeira ordem é simplesmente uma equação linear do tipo mx+n (uma linha reta). Equações de alta dimensão para serem de maior poder ou ordem que representam curvas.
Os conjuntos de dados nem sempre são consistentes e sugerem coeficientes de linha de pista. Além disso, também podemos querer identificar a natureza da linha (sólida, tracejada, etc). Existem inúmeras características que podemos querer detectar e é quase impossível para uma única rede neural generalizar os resultados. Um método comum para resolver esse dilema é empregar uma abordagem de segmentação.
Na segmentação, o objetivo é atribuir uma classe para cada pixel de uma imagem. Neste método, cada lane se assemelha a uma classe e o modelo de rede neural tem como objetivo produzir uma imagem com lanes compostas por cores diferentes (cada lane terá sua cor única).
Leia também: Ideias e tópicos de projetos de IA
Conclusão
Aqui discutimos as aplicações gerais da visão computacional no domínio dos veículos autônomos. Espero que você tenha gostado deste artigo.
Se você estiver interessado em aprender mais sobre aprendizado de máquina e IA, confira o Diploma PG do IIIT-B e upGrad em aprendizado de máquina e IA, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, Status de ex-aluno do IIIT-B, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.
Aprenda ML Course das melhores universidades do mundo. Ganhe Masters, Executive PGP ou Advanced Certificate Programs para acelerar sua carreira.
Para que serve a visão computacional?
A visão computacional é um ramo especializado da inteligência artificial que ajuda os computadores a extrair dados significativos de entradas visuais e tomar decisões com base nas informações derivadas. A visão computacional é na verdade um subconjunto multidisciplinar de inteligência artificial e aprendizado de máquina que emprega técnicas sofisticadas e algoritmos gerais de aprendizado. Com a ajuda da visão computacional, os computadores podem ver e entender entradas como vídeos e imagens digitais e realizar as ações necessárias conforme programado. Assim como a inteligência artificial ajuda os computadores a pensar, a visão computacional os capacita a observar e entender. Com a ajuda da visão computacional, os computadores podem extrair com eficiência o máximo dos dados visuais para ver uma imagem e entender o conteúdo.
Carros autônomos são seguros?
Quando se trata da segurança desses carros automáticos, não se pode negar alguns aspectos aparentemente arriscados. Em primeiro lugar, as preocupações com a segurança cibernética vêm à mente. Veículos autônomos podem ser vulneráveis a ataques cibernéticos em que criminosos hackeiam o software do carro para roubar o carro ou os dados pessoais de seu proprietário. Em seguida, falhas de software sem precedentes ou os perigos de o motorista depender inteiramente do carro para responder a situações inesperadas, resultando em acidentes, também são riscos prováveis. No entanto, existem muitos benefícios dos carros autônomos, que podem equilibrar os perigos aparentes. Os carros autônomos são ecologicamente corretos e extremamente seguros em casos de dirigir embriagado, onde os motoristas podem contar com o veículo para um deslocamento seguro.
Quais empresas lançaram carros autônomos a partir de hoje?
Carros autônomos ou autônomos já fazem parte da realidade hoje e um dos tópicos de discussão mais quentes. À medida que a tecnologia avança, os carros autônomos também estão evoluindo e lançando modelos de primeira linha que se tornam muito superiores a cada passagem do tempo. Gigantes automobilísticos em todo o mundo já lançaram carros totalmente autônomos de suas versões anteriores de veículos semi-autônomos. Algumas das empresas mais notáveis que lançaram carros autônomos são Tesla, Waymo, Pony.ai e outras.