Inteligência Artificial em Carros — Dentro do Cérebro
Veículos autônomos (AVs), ou mesmo veículos com sistemas avançados de assistência ao motorista (ADAS), dependem de dados de muitos sensores – várias câmeras, lidar, radar e às vezes até sonar. Lidar com os fluxos de dados provenientes desse conjunto de sensores é uma tarefa enorme e, ao mesmo tempo, crítica. Todos esses dados precisam ser transformados em informações em tempo real para serem usados para dirigir o carro com segurança, pelo menos tão bem quanto se um motorista humano perfeito estivesse no controle. “Na estrada, os motoristas humanos precisam ter cuidado com o ambiente atual, interagir com outros motoristas e tomar decisões. Assim como os motoristas humanos, os AVs também devem perceber, interagir e tomar decisões. Além disso, os AVs devem construir um bom relacionamento com seus passageiros.” 1
Essas funções contam com inteligência artificial (IA) para assimilar os dados dos diferentes sensores e combiná-los para uma imagem instantânea do veículo e seu ambiente dinâmico – o processo chamado de fusão de sensores. Ideal para uso automotivo, a IA emprega redes neurais profundas (DNNs). Modeladas na forma como as informações são processadas pelo cérebro humano, as DNNs aprendem a atravessar o mundo real da condução aprendendo com a experiência, em vez de serem instruídas por um programador. A DNN funciona aceitando várias entradas, atribuindo diferentes pesos a elas e fazendo inferências. Requer uma plataforma de computação de alto desempenho e eficiência energética para fazer tudo isso em “tempo real”. Isso pode ser acelerado usando um acelerador de processamento.
Colocando a IA em ação
Para saber o que acontece em uma plataforma de alto desempenho para IA automotiva, entrevistei Gil Abraham da CEVA, Inc. sobre suas ferramentas para implementá-la.
A unidade de negócios de visão e IA da CEVA tem o que Abraham chamou de três pilares:NeuPro-M, que é o processador de IA; SensPro, que é um processador de sinal digital (DSP) de hub de sensor de alto desempenho; e software CDNN-Invite. O CDNN-Invite permite que os fabricantes insiram seus próprios aceleradores DNN proprietários para trabalhar em conjunto com o processador NeuPro-M AI da CEVA, bem como o SensPro DSP e desfrutar de um sistema unificado que pode ser gerenciado centralmente pelo mesmo kit de desenvolvimento de software de memória e fluxo ( SDK).
O SensPro DSP pode realizar o processamento de sinal em entradas de muitos sensores diferentes, incluindo vários lidars, radares e câmeras e convolvê-los – um processo chamado fusão de sensores, que reúne as entradas de muitos sensores. Isso é fundamental para o uso automotivo porque cada sensor tem suas próprias limitações.
Por exemplo:
-
As câmeras podem ter uma resolução muito alta para que possam detectar detalhes finos. Mas você normalmente precisa de mais de um para cobrir pontos cegos do veículo, visão traseira, visão surround e várias câmeras frontais com diferentes distâncias focais. Cada câmera fornecerá um fluxo de dados separado. Além disso, não se pode confiar que as câmeras funcionem bem à noite ou se estiverem voltadas para o sol.
-
O radar funciona bem à noite e pode fornecer medições de distância. Mas não tem resolução alta o suficiente para perceber a localização precisa de um objeto ou distinguir entre vários objetos próximos uns dos outros. Ele pode falhar em detectar objetos estacionários ou em movimento lento e também não pode detectar a “semântica” da cena:cor e forma dos objetos – para isso você precisa de câmeras.
-
O Lidar atua como sua própria fonte de luz, por isso funciona bem tanto na escuridão quanto na luz do dia. Ele também fornece dados de medição rápidos e precisos com resolução alta o suficiente para detecção precisa de espaço livre em tempo real enquanto rastreia vários objetos em uma cena. Mas para ter pontos de dados lidar suficientes, você precisaria de cinco ou seis desses dispositivos caros montados em um veículo.
O SensPro DSP pode receber entradas desses, bem como sensores de tempo de voo (ToF), unidades de medição inercial (IMUs), algoritmos de processo eficiente para localização e mapeamento simultâneos (SLAM) e, usando todos eles, pode criar “consciência contextual” — uma imagem completa da situação do automóvel e seu ambiente. Você também pode adicionar um conjunto de instruções dedicado no hardware para obter aceleração adicional de outro processamento específico, se necessário.
Integrando o sistema
O NeuPro-M aborda muitos dos principais desafios das funções de veículos autônomos, incluindo operação escalável de alta velocidade e baixa latência, baixa potência operacional, alta segurança e a capacidade de atender aos requisitos funcionais do padrão ISO 26262 para sistemas elétricos/eletrônicos relacionados à segurança em veículos rodoviários de produção. Também é escalável, por exemplo, pode ser usado para sensores únicos, grupos de sensores em uma zona ou pode até ser incorporado como parte da unidade de controle do motor do automóvel (ECU).
A arquitetura de uma plataforma de IA automotiva de alto desempenho
A função do processador CEVA NeuPro-M AI é tomar decisões de direção de alto nível. Essas decisões são baseadas nas entradas DNN que fornecem informações situacionais, tais como:Há carros se aproximando; é o automóvel que permanece na pista; qual é a localização absoluta (SLAM)?
O processador NeuPro-M AI é o tomador de decisões sobre quais ações tomar, de acordo com as informações que recebe. A IA requer um grande número de cálculos para tomar decisões, e isso deve ser feito quase em tempo real. Portanto, é preciso um processador poderoso. Para aplicações automotivas, também é necessário minimizar o consumo de energia – à medida que o número de cálculos aumenta e o tempo para realizá-los diminui, a energia consumida aumenta. A medida do desempenho do processador pode ser resumida em um número:tera operações por segundo por watt (TOPS/watt) — quanto maior o número, melhor o desempenho. A eficiência de energia do NeuPro-M é de 24 TOPS/watt, o que é significativamente maior do que a maioria dos outros processadores de IA automotivos.
A segurança é de extrema importância - na verdade, você pode dizer que segurança e proteção são os requisitos mais importantes para aplicações automotivas. O processador de IA em um veículo autônomo é o motorista responsável. As redes neurais que realizam o processamento de IA atribuem pesos a cada uma de suas entradas, e esses pesos são vulneráveis a adulterações maliciosas. Os sistemas de segurança são, portanto, parte integrante do processador para se proteger contra esses ataques.
Otimização do desempenho
Para otimizar o desempenho, é importante perceber que não importa quão rápido seja o processador, o sistema pode entrar em um gargalo devido às limitações de largura de banda no movimento de informações para o processador, principalmente devido às limitações de interface do sistema em termos de memória. As unidades de computação funcionam muito mais rápido do que o tempo necessário para armazenar e buscar as enormes quantidades de dados para informar a memória. Uma maneira de resolver isso é direcionando um fluxo contínuo de dados para o processador, em vez de esperar por informações suficientes para realizar um cálculo específico.
Outra maneira de otimizar o desempenho é ser adaptável — usar uma topologia adaptativa modular. As topologias do processador podem ser otimizadas para processar diferentes tipos de sensores e realizar diferentes tipos de operações. Uma função, por exemplo, pode ser otimizar a eficiência do trem de força, o que requer muita matemática, ou, por outro lado, pode ser apenas processar um único sensor.
Se você precisa calcular algo com muita precisão, você pode usar aritmética de ponto flutuante em vez de ponto fixo, dentro de um processador vetorial. Outra maneira de lidar com a redução da largura de banda é compactar os dados, para que você não precise movê-los todos no sistema. Essas são correções de software, mas você também precisa otimizar os DSPs e o processador de IA, mergulhando profundamente para resolver todos os gargalos em cada uma dessas áreas.
Processamento paralelo
O processador NeuPro-M (NPM) tem três partes (veja a Figura 2):O controlador mestre; o subsistema comum do NPM; e o motor NPM. O processador pode incluir de um a oito mecanismos, que podem ser selecionados para atender às necessidades de uma aplicação específica. A operação do processador pode ser dimensionada escolhendo o número de mecanismos. “É assim que você ganha cada vez mais potência”, disse Abraham.
O subsistema comum do NPM está em constante comunicação com o mecanismo NPM. Esse canal é monitorado para garantir que não se torne um gargalo — para garantir que os dados continuem fluindo para o sistema. A IA de inferência é executada com dois conjuntos de dados:os próprios dados, talvez uma imagem; e o peso, que é aplicado aos dados para fazer a inferência. O subsistema comum mantém o canal aberto aplicando compactação aos dados e aos pesos.
O processamento paralelo pode ser implementado usando vários mecanismos e também usando os coprocessadores dentro dos mecanismos, cada um dos quais contém cinco coprocessadores e uma memória interna compartilhada.
Exemplo — Controlando um veículo com um NPM de quatro motores
A Figura 3 ilustra uma aplicação automotiva simples de processamento paralelo. O lado esquerdo da figura mostra uma imagem da estrada, que é capturada por uma câmera frontal. Um processador dentro do veículo bloqueia a pista oposta para simplificar os cálculos necessários para manter o veículo centrado em seu lado da estrada e armazena a imagem na memória. A imagem armazenada é inserida da memória do veículo para o subsistema comum NPM, que neste exemplo está atendendo a quatro motores. O software então decide qual é o caso de uso – o que é necessário – e como dividir a imagem para obter o máximo desempenho com o mínimo de energia (alta utilização) para a função desejada. Nesse caso, o NPM divide a imagem em quatro partes, com alguma sobreposição, e cada parte é enviada para um mecanismo diferente. A inferência de IA é então executada em cada um dos quatro segmentos da estrada. Os quatro segmentos são então costurados de volta na memória do subsistema, da qual são enviados para a camada de percepção em outro lugar no SoC, para executar as tarefas desejadas.
Este exemplo ilustra os dois níveis de processamento paralelo, um usando os quatro mecanismos para trabalhar em diferentes segmentos da imagem e dentro de cada mecanismo, o processamento paralelo compartilhando os cálculos entre os cinco coprocessadores internos.
Otimização via software
A IA funciona principalmente por meio de convolução, que é uma operação matemática em duas funções que produz uma terceira função que expressa como a forma de uma é modificada pela outra. O matemático Shmuel Winograd inovou um novo método de fazer a convolução na metade do número usual de etapas. A CEVA implementou essa ideia teórica em seus processadores para obter a mesma precisão que seria alcançada com a convolução normal, mas com uma aceleração de quase 2x — um ganho de desempenho com redução de potência. Isso pode ser feito em cada um dos cinco coprocessadores dentro do mecanismo.
Outro truque é operar de forma diferente em diferentes tipos de dados, dependendo de qual seria o ideal para um determinado aplicativo. Por exemplo, localização e mapeamento simultâneos (SLAM) requerem precisão muito alta, então você precisa usar aritmética de ponto flutuante. Para outras aplicações, um número fixo de bits seria perfeito. Desta forma o fabricante do automóvel pode escolher o método computacional que funciona melhor para cada função dentro do veículo.
Ao usar manipulação de software e otimização de hardware, você pode obter uma aceleração significativa - até 16x com NeuPro-M, de acordo com Abraham.
Resumindo
Esta foi uma visão geral do funcionamento interno de um processador de IA específico, pois processa os dados de uma variedade de sensores - radar, lidar, sonar, câmeras - e toma decisões. O NPM é um processador heterogêneo — ele pode operar em diferentes tipos de dados e otimizar sua operação conforme medido por TOPS/watt usando dois níveis de processamento paralelo, bem como o design direcionado do software.
- Fang Chen, PhD, Relatório de Pesquisa SAE Edge — Questões não resolvidas na autonomia do veículo, inteligência artificial e interação homem-máquina.
Este artigo foi escrito por Ed Brown, editor da Sensor Technology. Para mais informações, entre em contato com Ed em Este endereço de e-mail está protegido contra spambots. Você precisa habilitar o JavaScript para visualizá-lo. ou visite aqui .
Sensor
- Inteligência artificial é ficção ou moda passageira?
- Por que a Internet das Coisas precisa de Inteligência Artificial
- A inteligência artificial desempenha um papel importante na IoT
- Inteligência Artificial vs Aprendizado de Máquina vs Aprendizado Profundo | A diferença
- AI:encontre o uso certo para a inteligência artificial
- Vídeo:o impacto da inteligência artificial (IA) na fabricação e usinagem
- Robôs de Inteligência Artificial
- Assistente de IA:o futuro da indústria de viagens com o aumento da inteligência artificial
- O Impacto dos Sensores na Manufatura
- Inteligência Artificial, a melhor defesa em segurança cibernética