quarta-feira, 8 de julho de 2015

Visão Computacional: Concepts & OpenCV

Podemos descrever a visão computacional como "a ciência e tecnologia das máquinas que enxergam". A partir da captura de imagens - ou vídeo - é possível extrair infinitas possibilidades de informações. Esta técnica é largamente utilizada no meio industrial, em sistemas artificiais, biotecnologia, modelagem de ambientes, organização de informação, interação (atrelado a interação humano-computador) dentre outras. Ela atua especialmente em tarefas como reconhecimento, detecção, identificação, tratamento de dados e de imagem em si.

Seu fluxo funcional se baseia na seguinte sequência de tarefas: aquisição de imagem, pré-processamento, extração de características, detecção e segmentação, e por fim, processamento de alto nível. A partir destes - ou parte destes - temos uma gama de aplicações, tais como computação gráfica, processamento de imagens, aprendizagem de máquina, reconhecimento de padrões, sistemas de visão entre outros, além de ser uma forte aliada à robótica.

O OpenCV é um framework open-source multiplataforma para desenvolvimento de aplicativos na área de visão computacional. Foi originalmente desenvolvido pela Intel em 2000 e é bastante utilizado no meio acadêmico e também comercial. Sua biblioteca possui módulos de processamento de imagens e vídeo I/O, estrutura de dados, álgebra linear, interface gráfica (GUI), sistema de janelas independentes, controle de mouse e teclado, além de mais de 350 algoritmos de visão computacional como: filtros de imagem, calibração de câmera, reconhecimento de objetos, análise estrutural entre outros, podendo inclusive trabalhar com estas funções paralelamente e com processamento em tempo real.

O framework foi originalmente desenvolvido em C/C++, mas atualmente é suportado nas linguagens Java, Python e Visual Basic, sendo possível desenvolver para diversas plataformas, inclusive Android e iOS. Algumas de suas aplicações englobam interface humano-computador, identificação de objetos, sistema de reconhecimento facial e de movimentos, robôs móveis, reconstrução 3D entre outros.

Alguns exemplos de utilização da visão computacional atualmente:

Reconhecimento facial

 
 
Jogos e simulação virtual

Monitoramento urbano

Tratamento de imagens

A visão computacional contribui com a tecnologia e a sociedade à medida que evolui e se especializa. Hoje ela tanto auxilia e diverte seus usuários quanto pode salvar vidas. Por exemplo, em um evento esportivo, com milhares de espectadores, a visão computacional pode ajudar a monitorar a multidão, de forma a evitar que um tumulto qualquer faça as pessoas ficarem bloqueadas, com ferimentos ou até mesmo vítimas fatais. Não há limites para a aplicação da visão computacional.

Novas idéias surgem a cada dia e assim novos desafios dão abertura a inovações e descobertas, estimulando a evolução da visão computacional e difundindo seu uso em todas as áreas possíveis.

Nenhum comentário:

Postar um comentário