Drone com câmera estéreo. A pequena caixa branca contém o sistema embarcado, que avalia as imagens levemente deslocadas das duas câmeras em tempo real para detectar obstáculos. Crédito:Fraunhofer IOSB
Seja para o carro ou para o drone:o desenvolvimento de software de processamento de imagem para sistemas embarcados leva muito tempo e, portanto, é muito caro. Agora, a plataforma Tulipp torna possível desenvolver sistemas de processamento de imagem embutidos com eficiência energética de forma mais rápida e econômica, com uma redução drástica no tempo de colocação no mercado. Instituto Fraunhofer de Optrônica, Tecnologias de sistema e exploração de imagem O IOSB é membro do consórcio da UE que simplificou o processo.
À primeira vista, drones, os sistemas de assistência ao motorista e o equipamento de diagnóstico médico móvel não parecem ter muito em comum. Mas, na realidade, sim:todos usam cada vez mais componentes de processamento de imagem, por exemplo, para detectar obstáculos e pedestres. O processamento de imagem também pode ser usado com equipamento de raio-X móvel para garantir a qualidade de imagem adequada em níveis de radiação reduzidos, reduzindo consideravelmente a exposição radioativa.
Em contraste com um computador de estação de trabalho, onde as dimensões e o consumo de energia não são fatores particularmente críticos, aplicativos como esses exigem, para pequenos, leve, componentes de processamento de imagem com baixo consumo de energia, mas com capacidade em tempo real. As plataformas de hardware baseadas em arquiteturas de computador convencionais e processadores não podem atender adequadamente a esses requisitos. É por isso que os sistemas embarcados que usam matrizes de portas programáveis em campo (FPGAs) são freqüentemente usados.
Matrizes de portas programáveis em campo são componentes lógicos cuja estrutura de circuito pode ser configurada livremente usando um tipo especial de programação, geralmente envolvendo a linguagem de baixo nível VHDL. Há um problema, no entanto:a maioria dos aplicativos de processamento de imagem é escrita em linguagens de programação de nível superior, como C / C ++, e sua migração para os sistemas incorporados é altamente complicada. Não só o VHDL difere muito de outras linguagens de programação, mas o código também deve ser adaptado ao hardware específico. Isso significa que mesmo os programas VHDL existentes não podem ser transferidos para outro hardware. Os desenvolvedores de software têm que começar virtualmente do zero com cada novo sistema.
Kit inicial para implementação rápida de sistemas embarcados especialmente eficientes em termos de energia
A câmera estéreo e o sistema embutido instalado no drone. Crédito:Fraunhofer IOSB
Um consórcio de oito parceiros de seis países, incluindo o Instituto Fraunhofer de Optrônica, Tecnologias de sistema e exploração de imagem IOSB em Karlsruhe, agora simplificou consideravelmente este procedimento no projeto Tulipp. "O resultado é uma plataforma de desenvolvimento que consiste em diretrizes de design, uma plataforma de hardware configurável e um sistema operacional com capacidade em tempo real que suporta processadores multicore, bem como uma cadeia de ferramentas de programação, "diz o Dr.-Ing. Igor Tchouchenkov, gerente de grupo no Fraunhofer IOSB. "Um kit inicial colocado no mercado por um de nossos parceiros em Tulipp fornece suporte adicional. O kit inicial torna o desenvolvimento de tais aplicativos muito mais rápido e fácil. Portando programas C ++ para FPGA, o que frequentemente significa vários meses de trabalho para o desenvolvedor, pode ser tratada em apenas algumas semanas usando o kit inicial Tulipp. "
Isso significa que o desenvolvedor primeiro deve considerar, baseado no software programado em C ++, quais elementos de código devem ser distribuídos para quais componentes de hardware e quais etapas do programa podem ser otimizados ou paralelizados. As diretrizes de design formuladas fornecem ajuda para essa tarefa. Em seguida, o kit inicial entra em jogo. Ele contém o hardware configurável ao qual os sensores e dispositivos de saída necessários podem ser conectados, o sistema operacional em tempo real com capacidade para multiprocessador, e o que é chamado de conjunto de ferramentas STHEM. Os aplicativos da cadeia de ferramentas permitem otimizar o programa C ++ de forma que ele possa ser portado para o FPGA da maneira mais fácil e rápida possível. "Um foco especial do conjunto de ferramentas é a otimização de energia:afinal, o objetivo é projetar sistemas de processamento de imagem que possam ser alimentados por uma pequena bateria sempre que possível, "diz Tchouchenkov." O conjunto de ferramentas torna possível exibir e otimizar individualmente o consumo de energia para cada função do código. "
Cem vezes mais rápido que um PC de última geração
Imagem de vídeo de uma das duas câmeras do drone. Crédito:Fraunhofer IOSB
O consórcio trabalhou em três casos de uso específicos para desenvolver e testar a plataforma Tulipp:A equipe de pesquisa do Fraunhofer IOSB abordou a detecção de obstáculos com base em câmera estéreo para drones, enquanto outros parceiros do projeto trabalharam na detecção de pedestres nas proximidades de um carro e no aprimoramento da qualidade ao vivo de imagens de raios-X feitas por braços C móveis durante operações cirúrgicas. Em Tulipp, eles portaram o software de processamento de imagem correspondente de C ++ para FPGA.
Os resultados são impressionantes:o processamento, que originalmente levava vários segundos para analisar uma única imagem em um PC de última geração, agora pode ser executado no drone em tempo real, ou seja, agora cerca de 30 imagens são analisadas por segundo. "A velocidade do algoritmo de detecção de pedestres pode ser aumentada em um fator de 100:agora o sistema pode analisar 14 imagens por segundo em comparação com uma imagem a cada sete segundos. O aprimoramento da qualidade da imagem de raios-X pela aplicação de filtros de imagem de remoção de ruído permitiu reduzir o intensidade da radiação durante as operações cirúrgicas para um quarto do nível anterior.Ao mesmo tempo, o consumo de energia pode ser reduzido significativamente para todas as três aplicações.
A mesma imagem com informações de profundidade sobrepostas da análise de imagem estéreo, destacando obstáculos próximos em vermelho. A seta indica o caminho evasivo recomendado resultante. Crédito:Fraunhofer IOSB