Sistema de Visão Computacional

author

Vinicius Conceição Ferreira dos Santos | Nov. 2, 2023

O sistema de visão foi feito através da biblioteca OpenCV (Cv2) em Python. Foi desenvolvido um algoritmo que pode identificar e discriminar as cores exibidas pelo semáforo. O código funciona rastreando as cores no formato RGB (Vermelho, Verde e Azul) e, diferenciado os limiares de cada cor desejada a ser reconhecida, nesse caso, o vermelho, verde e amarelo.

project

Introdução

A visão é um dos sentidos mais fundamentais para a comunicação dos seres humanos com o mundo e as cores desempenham um papel fundamental nesse quesito, permitindo a diferenciação de sinais e objetos. No entanto, pessoas com algum tipo de deficiência visual, como o daltonismo, tem uma certa falta de acessibilidade quando o assunto é trânsito.

O daltonismo é um distúrbio genético que compromete a capacidade de distinguir certas cores, resultando em uma visão atípica. Como descreveu o cientista John Dalton, que era afetado por essa condição em sua própria vida, "As flores e os frutos artificiais têm uma aparência muito diferente para mim das coisas reais, de modo que uma cor artificial pode parecer real e uma cor real pode parecer artificial." (Dalton, J. 1794) Essa observação pessoal de Dalton demonstra muito sobre os desafios enfrentados por indivíduos com daltonismo e abre caminho para uma compreensão mais profunda dessa deficiência visual.

A visão computacional é uma área ampla, de acordo com Neves et al. (2012) “procura integrar as áreas de processamento digital de imagens e inteligência artificial, tendo como objetivo a obtenção de algoritmos capazes de interpretar o conteúdo visual de imagens”. Sabe-se que uma imagem pode ser representada como uma matriz de cores no sistema RGB: red, green e blue (vermelho, verde e azul). Entretanto, durante os testes, observou-se que variações na iluminação afetam significativamente o reconhecimento das cores. Isso ocorre porque, nesse formato, uma cor específica é obtida através do somatório das três cores primárias. Para contornar esse problema, optou-se por usar um algoritmo que faz a varredura na região de interesse mostrada no display da câmera, tendo como saída o somatório de todos os pixels que atingem algum tipo de cor desejada (vermelho, verde ou amarelo). Sendo assim, contornando o problema de iluminação e tendo um resultado com tempo de resposta rápido e confiável.

Objetivos

O principal objetivo deste projeto foi criar um sistema de visão computacional para reconhecer as cores de um semáforo, especialmente voltado para pessoas com daltonismo que têm dificuldade em distinguir as cores. Utilizando a biblioteca OpenCV (Cv2) em Python, foi desenvolvido um algoritmo que pode identificar e discriminar as cores exibidas pelo semáforo. O código funciona rastreando as cores no formato RGB (Vermelho, Verde e Azul) e, diferenciado os limiares de cada cor desejada a ser reconhecida, nesse caso, o vermelho, verde e amarelo. Com base nessa conversão, é exibida uma mensagem de aviso indicando a cor detectada no momento. Este trabalho representa um pequeno avanço na melhoria da acessibilidade das pessoas com daltonismo no trânsito. Os testes foram conduzidos com sucesso no laboratório, atingindo com êxito o objetivo principal de rastrear e identificar as cores exibidas no centro de uma câmera. O desenvolvimento do experimento seguiu conforme as expectativas, permitindo a conclusão do algoritmo e dos objetivos estabelecidos.

Funcionamento do Algoritmo

O algoritmo em questão é um sistema de visão computacional que utiliza uma câmera para identificar as cores de um semáforo em tempo real. Ele funciona processando continuamente os quadros da câmera. Para cada quadro, o algoritmo analisa uma área circular no centro da imagem, identificando as cores verde, amarela e vermelha com base nos valores de intensidade das componentes de cor RGB. Quando uma cor é detectada, o sistema reproduz um som correspondente, como "Siga", "Atenção" ou "Pare". O algoritmo também exibe a ordem do semáforo no vídeo, indicando se é seguro avançar, se deve haver atenção ou se é necessário parar. Ele funciona em um loop contínuo e pode ser encerrado pelo usuário pressionando a tecla "Esc".

Esse sistema tem um propósito prático na melhoria da acessibilidade para pessoas com daltonismo no trânsito, fornecendo informações sobre o estado do semáforo de maneira auditiva e visual. Ele utiliza as bibliotecas OpenCV e Pygame para processamento de imagem e reprodução de áudio, respectivamente, e demonstra como a tecnologia pode ser aplicada para tornar o trânsito mais seguro e acessível para pessoas com deficiência visual.

Experiências

O projeto foi levado para o maior evento de robótica da américa latina, que aconteceu em outubro de 2023 no centro de conversões em Salvador - BA. Para mais informações acesse a aba “artigos” e “O LABIC no maior evento de robótica da américa latina”.

Conclusão

Através dos resultados obtidos com os testes realizados, conclui-se que o algoritmo foi de acordo com todas as expectativas. Como o objetivo principal era rastrear e identificar a cor específica em um sinal de trânsito, o código construído demonstrou certa facilidade quando submetido a diferentes tipos de iluminação, principalmente, quando as cores resultantes no pixel central eram o verde ou o amarelo.

Dessa forma, o projeto tem grande potencial para cumprir com a demanda mencionada na introdução. Pessoas com daltonismo poderão usar o algoritmo para rastrear e identificar as cores em um sinal de trânsito.