quinta-feira, 18 de junho de 2015

Visão Computacional - uma breve introdução

A Visão Computacional é uma área de pesquisa de “multi-aplicações”, por motivos intrínsecos a sua natureza. Pode-se afirmar que, de forma geral, ela oferece ferramentas, metodologias e tecnologias inerentes a grandes áreas como a Robótica, Automação e Controle, Engenharia de Computação, Medicina, dentre outras.
A Visão Computacional utiliza-se de conceitos teóricos de áreas como matemática e processamento digital de sinais e busca também muita inspiração em áreas mais centradas no entendimento do cérebro, principalmente o que compete ao sistema visual, e do corpo humano como neurologia, fisiologia e psicologia.
Na literatura especializada se encontram muitos trabalhos que exaltam procedimentos, métodos e algoritmos para a resolução de problemas relacionados ao processamento de dados vindos de imagens, empregando métodos convencionais e modernos. Os objetivos das áreas são tratamento e extração de informação quantitativa e qualitativa de imagens e sequencias de imagens (vídeos). Os problemas são tratados sob várias abordagens diferentes, cada uma enfatizando técnicas e métodos que tentam superar os problemas de outra, más em todas é possível perceber a importância dos estudos realizados e a preocupação em tonar automática as análises normalmente feitas por olhares humanos, na ânsia de se conseguir resultados que não seriam obtidos pelo homem devido a diversas limitações naturais de seu sistema visual.
Neste sentido, uma linha de pesquisa tenta dotar as máquinas com as mesmas capacidades de processamento dos humanos, tanto para o melhoramento dos dados, como para a extração automática de informações que eles representam. Dentre as inúmeras possibilidades possíveis, pode-se citar: classificação automática de alimentos, avaliação da qualidade de produtos em uma fábrica, detecção de patologias em imagens médicas, controle de máquinas industriais baseado em câmeras, etc. Tais aplicações, mesmo não sendo tudo que um sistema de Visão Computacional pode oferecer, são o bastante para evidenciar a relevância dessa área para a Ciência e para a Tecnologia.
A Visão Computacional utiliza várias técnicas de Processamento Digital de Imagens (PDI) com a finalidade de segmentar, reconhecer e/ou identificar detalhes de regiões de interesse em uma determinada imagem, de modo automático ou semiautomático. Normalmente um sistema de VC possui como entrada uma cena, e como saída uma fonte de atributos desta mesma cena. Estes sistemas são divididos basicamente em cinco etapas: aquisição, pré-processamento, segmentação, extração de atributos e reconhecimento e interpretação (Gonzalez; Woods, 2008).

Figura 1: Etapas de um sistema típico de Visão Computacional
Na etapa de aquisição a imagem é capturada por meio de um dispositivo sensor, e convertida para uma representação adequada para a etapa subsequente. Usualmente utiliza-se câmeras de vídeo, máquinas fotográficas ou outros dispositivos com tecnologia CCD e CMOS.


Figura 2: Ilustração artistica do processo da captura de imagens (analogia alégórica entre natural e digital)
Na aquisição de imagens médicas são utilizados equipamentos de raios-X, doppler colorido, tomógrafos, ultrassonografia, dentre outros. Dentre os aspectos envolvidos nesta etapa estão as condições de iluminação, preparação da cena, ajuste e aferição dos dispositivos de aquisição e número de cores ou cinza da imagem digitalizada (Pedrini; Schwartz, 2008). A imagem resultante desta primeira etapa pode apresentar imperfeições ou degradações decorrentes, por exemplo, das condições do ambiente ou do equipamento de aquisição.
A segunda etapa, de pré-processamento, tem por objetivo condicionar o aspecto visual de certas características estruturais, bem como fornecer outros subsídios para a sua interpretação, por meio da aplicação de técnicas de supressão de ruído, suavização de determinadas propriedades da imagem e correção de contraste ou brilho.

Figura 3: Exemplo do resultado de pré-processamento
Na etapa de segmentação é realizada a extração e identificação de áreas de interesse, dividindo a imagem em regiões de similaridades de acordo com propriedades pré-definidas ou estabelecendo contornos baseados na detecção de descontinuidades (bordas). Segundo Alexandria (2011), o processo de segmentação é de fundamental importância em qualquer sistema de Visão Computacional, de tal forma, que o desempenho destes sistemas é essencialmente dependente do desempenho da referida etapa, haja vista que, uma segmentação realizada de forma adequada em um sistema de visão é um passo substancialmente importante para o seu funcionamento.

Figura 4: Exemplo de segmentação
A etapa de extração de atributos consiste em escolher uma representação adequada para descrever os elementos segmentados na etapa anterior, por isso também referenciada como “etapa de representação e descrição”, tal como em Pedrini e Schwartz (2008).  Nesta fase as características ou atributos de regiões segmentadas são então obtidas e, muitas vezes, são representados por dados métricos chamados de descritores. Para esta etapa a entrada ainda é uma imagem, mas a saída é um conjunto de dados correspondentes àquela imagem, cuja estrutura é conveniente ao sistema de reconhecimento de imagens que será utilizado na próxima etapa.
Figura 4: Ilusração artistica de uma extração de atributos (medidas) de imagens
Na etapa de reconhecimento e interpretação são classificados os objetos selecionados, ou seja, reconhecimento ou interpretação é o processo que atribui um identificador ou uma etiqueta aos objetivos cujos descritores foram selecionados. Normalmente esse processo é feito por algoritmos computacionais, que rotulam os objetos em grupos ou classes de acordo com informações pré-estabelecidas. Tais algoritmos baseiam-se, principalmente, em técnicas de Reconhecimento de Padrões, Estatística ou Inteligência Artificial.
Figura 5: Exemplo de reconhecimento de padões em imagens
Por fim, os dados obtidos são apresentados da forma mais conveniente para a aplicação, podendo ser na tela de um computador, relatórios, banco de dados ou outras formas de saída de dados, inclusive como referência para comandos de atuadores eletromecânicos.
A seguir são listadas algumas das aplicações de Visão Computacional:
·         Sistemas biométricos para identificação de pessoas (Pankanti et al., 2000; Ratha et al., 2001);
·         Reconhecimento Óptico de caracteres (OCR) e reconhecimento de manuscritos (Alexandria, 2005; Correia, 2005; Mori et al, 1992);
·         Processos industriais, tais como controle de medidas de peças e análise metalográfica de materiais (Cortez, 1996; Albuquerque et al., 2009);
·         Rastreamento de objetos e sistema de percepção para robôs (Srikrishnan e Chaudhuri, 2011; Grassi, 2002; Siegwart e Nourbakhsh, 2004);
·         Auxílio no diagnóstico de patologias em imagens médicas (Contin, 2011; Norton, 2010; Alexandria, 2011)


Referencias:
Albuquerque, v. h. de; Alexandria, a. r. de; Cortez, p. c.; Tavares, J. M. Evaluation of multilayer perceptron and self-organizing map neural network topologies applied on microstructure segmentation from metallographic images. NDT & E International, v. 42, n. 7, p. 644{651, October 2009. ISSN 09638695. Disponível em: .

Alexandria, A. R. de. Sistema de reconhecimento Óptico de algarismos para medidores convencionais de energia. Dissertação (Mestrado) – Universidade Federal do Ceará, Fortaleza, 2005.

Alexandria, A. R. de . pSnakes: Método de Contornos Ativos Radial usando Energia Hilbertiana Para a Segmentação do Ventrículo Esquerdo em Imagens de Ultrassom. Tese (Doutorado) – Universidade Federal do Ceará, 2011.

Contin, L. Segmentação das Áreas Isquêmicas no Acidente Vascular Cerebral Utilizando Imagens de Tomografia Computadorizada de Perfusão. Tese (Doutorado) – Universidade de São Paulo, 2011.

Correia, S. E. N. Reconhecimento de Caracteres Manuscritos usando Wavelets. Tese (Doutorado) – Universidade Federal de Campina Grande, 2005.

Cortez, P. C. Reconhecimento de Formas 2D usando uma Técnica Sequencial Integrada e Modelos Poligonais. Tese (Doutorado) - Universidade Federal da Paraíba, João Pessoa, 1996.

Gonzalez, R. C.; Woods, R. Digital Image Processing. 3a. ed. New Jersey: Pearson Prentice Hall, 2008.

GRASSI, V. Sistema de Visão Omnidirecional Aplicado no Controle de Robôs Móveis. Dissertação (Mestrado) – Escola Politécnica da Universidade de São Paulo, São Paulo, 2002.

Mori, S., Suen, C.Y., Yamamoto, K.: Historical review of OCR research and development, 1992. Proc. IEEE 80(7): 1029–1058.

Norton, K. A.; Iyatomi, H.; Celebi, M. E.; Schaefer, G.; TANAKA, M.; OGAWA, K. Development of a novel border detection method for melanocytic and non-melanocytic dermoscopy images. In: 

Annual In ternational Conference of the IEEE EMBS, 32nd. Buenos Aires, Argentina, 2010, p. 5403-5406.

Pankanti, S., Bolle, R. M., and Jain, A. Biometrics: The future of identification. Computer, 2000; r2046: 46–49.

Pedrini, H.; Schwartz, W. R. Análise de Imagens Digitais: Princípios, Algoritmos e Aplicações, São Paulo: Thomson Learnig, 2008.

Ratha, N. K., Senior, A., and Bolle, R. Automated biometrics. In Lecture Notes in Computer Science, Rio de Janeiro, Brasil. Springer-Verlag Press, 2001.

Siegwart, R.; Nourbakhsh, I. R. Introduction to Autonomous Mobile Robots. Bradford Book, 2004.

Srikrishnan, V.; Chaudhuri, S. Adaptive smoothness based robust active contours. Image and Vision Computing, v. 29, n. 5, p. 317-328, 2011.

Nenhum comentário:

Postar um comentário