Uso de visão computacional para detecção de imagens para controle de drones
##plugins.themes.bootstrap3.article.main##
Resumo
O avanço da robótica aérea e a crescente aplicação de veículos aéreos não tripulados (VANTs) em tarefas de inspeção, monitoramento e manipulação remota têm impulsionado a pesquisa por soluções autônomas de navegação e interação com o ambiente (ARAFAT; ALAM; MOH, 2023). Dentre essas soluções, a visão computacional se destaca por permitir que sistemas embarcados realizem medições e tomadas de decisão com base em imagens. No que diz respeito às técnicas de visão computacional, a detecção de objetos específicos se destaca como uma abordagem para missões que exigem precisão, como o pouso autônomo. Essa abordagem permite não apenas identificar os alvos de interesse, mas também extrair suas características essenciais, como posição e distância. O presente trabalho tem como objetivo desenvolver e validar um algoritmo baseado em visão computacional para a detecção e identificação de formas geométricas específicas em tempo real, visando a extração de parâmetros essenciais para o pouso autônomo de drones. Para isso, foi empregado o uso da biblioteca OpenCV para a criação de um algoritmo em Python capaz de processar os quadros de vídeo capturados por uma câmera. O algoritmo consiste em uma série de etapas de Processamento Digital de Imagens (PDI) para otimizar a identificação dos alvos. Inicialmente, cada quadro é convertido para a escala cinza, seguido pela aplicação de um filtro bilateral, escolhido por sua capacidade de redução de ruídos enquanto preserva as bordas das formas. Em seguida, é utilizada uma binarização por limiarização adaptativa gaussiana (Adaptative Thresholding), que se mostra eficaz em segmentar a imagem de forma consistente sob condições de iluminação não uniforme (REHMAN; HAROON, 2023), e operações morfológicas de fechamento e abertura são aplicados para refinar a segmentação dos objetos de interesse, eliminando ruídos e preenchendo descontinuidades. A partir da imagem processada, o algoritmo realiza a extração dos contornos. Em seguida, a identificação das formas ocorre por meio da comparação entre os contornos extraídos da imagem em tempo real e contornos de referência, que são extraídos de arquivos de imagem dos alvos de interesse e submetidos ao mesmo processamento de imagem dos quadros capturados pela câmera. Dessa forma, a identificação das formas é realizada utilizando o método de movimentos invariantes de Hu (CHACON et al., 2011), que garante invariância à translação, escala e rotação, associado a uma verificação do número de vértices do polígono aproximado para aumentar a precisão. O algoritmo gera, para cada forma detectada, uma estrutura de dados que armazena seu tipo, área, a coordenada de seu centróide, o deslocamento estimado nos eixos x e y, e a distância estimada em metros no eixo z. A detecção do centróide é obtida dividindo os momentos de primeira ordem pelo momento de ordem zero, que representa a área do contorno. A partir do centróide, juntamente com a altitude do drone e o campo de visão (FoV) da câmera, o algoritmo calcula, por meio de funções trigonométricas, o deslocamento métrico real do centro da imagem ao centro do alvo nos eixos x e y no plano do solo. Esse deslocamento oferece um sinal de erro quantitativo (em centímetro) que pode ser diretamente utilizado por um sistema de controle Proporcional-Integral-Derivativo (PID) para alinhamento longitudinal e lateral do drone. De forma paralela, a medição da distância ao objeto no eixo z é implementada com base na semelhança de triângulos, relacionando a largura real conhecida do objeto, sua largura aparente na imagem em pixels e a distância focal. A distância obtida através do cálculo pode ser utilizada para o controle de altitude (throttle), permitindo a execução de uma trajetória de descida controlada e o acionamento do procedimento de pouso na altitude correta. A precisão da medição da altura depende da calibração da câmera, que é um processo prévio para determinar os parâmetros como a distância focal e corrigir distorções da lente. A validação experimental foi conduzida com três alvos impressos (quadrado, cruz e círculo), escolhidos para avaliar a detecção de polígonos simples, complexos e formas não poligonais. Nos testes, uma câmera com 50MP e distância focal de 26 mm, foi posicionada a uma altitude fixa de 1.0 metro, com uma distância horizontal de 45 cm dos alvos, e cada alvo foi exposto a cinco condições de iluminação distintas (luz solar direta, sombra, luz artificial, baixa luminosidade e iluminação com reflexo), totalizando 15 testes. Os resultados demonstraram, até o momento, que o algoritmo é capaz de identificar e extrair os parâmetros de cada um dos três alvos nas quatro primeiras condições de iluminação (luz solar direta, sombra, luz artificial, baixa luminosidade), possuindo um erro médio de ±0.17 cm no cálculo do posicionamento horizontal e ±0.20 cm no posicionamento vertical. Contudo o algoritmo apresentou falhas na detecção e extração das características de cada alvo quando submetido à última exposição de iluminação (iluminação com reflexo), indicando uma limitação do processamento de imagem frente a brilhos intensos. Portanto, até o presente momento, o sistema desenvolvido se demonstrou eficaz na detecção e extração de características de alvos na maioria das condições de iluminação comuns e controladas.
Downloads
Não há dados estatísticos.
##plugins.themes.bootstrap3.article.details##
Seção
Engenharia da Computação e Sistemas