Visão Computacional
1.  Representação de 
     imagens
2.  Filtragem de imagens
3.  Detecção de Bordas
4.  Segmentação Simples
5.  Crescimento de Regiões
6.  Segmentação com
     Filtros
7.  Segmentação a Cores
8.  Análise de Texturas
9.  Análise de Texturas
     Multiescalar 
10. Redes Neurais
11. Morfologia Matemática
12. Convolução
13. Esqueletonização
14. Técnicas Estatísticas
15. Fractais
16. Reconhecimento de
      Formas
17. Representação de 
      Objetos
18. Quadtrees e Octrees
19. Visão Estereo
20. Inteligência Artificial
21. Controle de qualidade
22. Robótica
23. Medicina
24. Sensoriamento remoto

Prof. Aldo von Wangenheim 
Currículo...
Publicações
Pesquisa
Projetos
Ensino de Graduação
Ensino de Pós Graduação 
Cursos

Você lê?

Inteligência Artificial aplicada à Visão Computacional

 
Ainda em construção. Veja aplicação prática desta metodologia no site do The Cyclops Project na UFSC.

Introdução 

Aqui será abordada a aplicação das técnicas da Inteligência Artificial em tarefas de Análise e Reconhecimento de Imagens. O objetivo deste capítulo é prover uma visão geral dos enfoques existentes, sem no entanto entrar em detalhes sobre cada um deles.

Inteligência Artificial pode ser utilizada em Análise de Imagens com 2 finalidades diferentes:

  1. Controle do Processo de Interpretação de Imagens: Estratégias de raciocínio e controle típicas de Inteligência Artificial são utilizadas para modelar, adaptar e guiar a interpretação de uma imagem.

  2. Utilização de Conhecimento para o Auxílio à Interpretação de Imagens: Técnicas de Inteligência Artificial são utilizadas para modelagem de conhecimento utilizado na Interpretação de Conteúdos de Imagens.

Aspecto mais Importante na Integração IA e Visão Computacional

Para a análise inteligente de imagens é impoprtante que se integre o Raciocínio/Processamento Subsimbólico com o Raciocínio Simbólico/Processamento Não-Numérico.

O primeiro é típico do campo das imagens e dos sinais, o segundo típico da área de Inteligência Artificial. Todos os enfoques até agora implementados têm se concentrado em desenvolver um modelo de integraçõa destas duas áreas.

Características Gerais 

Raciocínio Subsimbólico:

  1. Algoritmos numéricos/estáticos
  2. Dados não possuem significado explícito
  3. Processamento de grandes quantidades de dados pouco estruturados (data streams):
  4. Métodos utilizados no Processamento de sinais.

  5. Sensível a variações nos parâmetros dos algoritmos

Exemplos (métodos e algoritmos subsimbólicos em Visão Computacional):

  1. FFT, Haddamad
  2. Filtros de Gauss e outros filtros de ruído
  3. Detectores de bordas (Canny, VDRF)
  4. Segmentadores (Watershed, Mumford-Shah)
  5. Redes Neuronais dedicadas à Visão Computacional 

Raciocínio Simbólico:

  1. Processamento não-numérico
  2. Algoritmos/métodos não-numéricos: 

  3. métodos simbólicos complexos e com capacidade de auto-adaptação.
  4. Processamento de informação altamente estruturada (objetos, listas, frames, regras)
  5. Insensível a variações (até certo nível) nos dados de entrada
  6. Dados possuem significado"

Exemplos (métodos e algoritmos usando raciocínios simbólicos):

  1. Sistemas especialistas
  2. Sistemas de configuração e planejamento
  3. Sistemas baseados em conhecimento em geral.
  4. Sistemas distribuídos de agentes inteligentes e sistemas de quadro-negro (blackboards).

Razões para a Integração do Processamento Subsimbólico e Simbólico

  • Métodos de Inteligência Artificial não possuem a possibilidade de realizar um processamento de sinais adequado.
  • Métodos de processamento de sinais são muito limitados e especializados para lidarem com interpretações adaptadas a um contexto desses sinais.

Solução:

  1. Modelagem de métodos subsimbólicos como operadores sobre sinais.
  2. Utilização desses operadores através de técnicas de Inteligência Artificial
Em função disso surge a necessidade de um modelo para a integração simbólico/subsimbólica. A partir daí são desenvolvidos diversos modelos para o contrôle dessa integração simbólico/subsimbólica.

Enfoques em Estratégias de Controle

Haralick e Shapiro citam 4 diferentes estratégias para a modelagem de um mecanismo para o controle do processo de análise de imagens. Este processo seria realizado a alto nível controlado por uma ou mais instância de IA, as quais controlam ou "programam" mecanismos de processamento e reconhecimento de sinais, integrando processos inteligentes a estes.

Em nenhuma das estratégias descritas na See Estratégias de controle segundo Haralick e Shapiro: 1) Controle Hierárquico Bottom-Up, 2) Controle Hieráriquico Top-Down, 3) Controle Híbrido com Feedback e 4) Inteligência Artificial Distribuída. , Haralick e Shapiro especifcam quais serão as técnicas de IA que serão utilizadas para a execução de tarefas como tomada de decisões, extração de atributos ou predição. Apenas especificam que estas tarefas, nestes modelos, serão realizadas por componentes de IA de algum tipo.
 
  1. Estratégias de controle segundo Haralick e Shapiro: 1) Controle Hierárquico Bottom-Up, 2) Controle Hieráriquico Top-Down, 3) Controle Híbrido com Feedback e 4) Inteligência Artificial Distribuída 

Técnicas de IA para a Implementação das Estratégias de Controle 

Existem 3 soluções até agora apresentadas na literatura para a realização de Estratégias de Controle. Citaremos cada uma delas nesta seção, para descrevê-las brevemente nas próximas seções. Os enfoques mais promissores serão abordados em capítulos especiais a seguir. 

1. Inteligência Artificial Distribuída 

O principal enfoque em IA distribuída utilizado em Visão Computacional são os sistemas de Quadro-Negro, ou Blackboards. Enfoques utilizando Agentes Inteligentes, uma forma mais moderna de IA distriibuída, não têm sido usados por sua complexidade.

Em sistemas de Blackboard, algoritmos numéricos produzem dados o tempo todo e inserem em um Blackboard, funcionando como uma fonte-de-conhecimento 1 (knowledge source ou KS) de comportamento e função altamente especializada.

Um sistema Blackboard é uma arquitetura produtor-consumidor, onde uma série de processos altamente especializados utiliza uma base de dados heterogênea comum, denominada Quadro-Negro, consumindo deste informações que lhe "interessam" ou colocando nele resultados de seu processamento, que podem ser usados por outros processos envolvidos no sistema, caso necessitem.

2. Regras 

Da mesma forma que regras são a forma mais antiga de IA, são também a forma mais antiga de integrar VC. e IA. Existem duas variantes:
  1. Dados subsimbólicos prontos são usados para chamar" um sistema especialista. Neste enfoque não existe nenhuma diferença para os sistemas especialistas tradicionais. Somente os chamamos de sistemas de Visão Computacional por causa de sua área de aplicação.
  2. Regras vêem algoritmos subsimbólicos como operações que chamam" quando necessário. Neste caso, o sistema especialista é um real "controlador" das operações sobre a imagem e possue algum grau de flexibilidade e possibilidades de utilizar conhecimento.

3. Sistemas de Configuração e Planejamento

Geram um plano ou uma configuração, que será seguida como um roteiro para interpretar" uma imagem (meta do plano).

Possuem algoritmos subsimbólicos e outras técnicas de IA modeladas como operadores" em uma KB 2 .

Podem possuir ainda uma segunda KB, com informações sobre possíveis conteúdos de imagens, utilizada para a geração de metas detalhadas.

Veremos a seguir exemplos para estas técnicas.


Inteligência Artificial Distribuída

Como já foi dito anteriromente, nesta área, os enfoques apresentados na literatura utilizam-se de sitemas blackboard e de um conjunto de algoritmos bastante heterogêneos, que implementam as KSs, que podem ser por sua vez componentes inteligentes, simples algoritmos numéricos ou até dispositivos de hardware (uma placa FFT, por exemplo) e que "competem" por dados para interpretarem. 

 
Modelo geral de um sistema de análise de imagens usando blackboards. Para efeitos de exemplo representamos aqui dois tipos de KSs, um capaz de realizar operações numéricas sem inteligência (KSns) e outro tipo capaz de interpretar dados de forma inteligente, mas incapaz de realizar cálculos complexos (KSis).

Exemplo 1: Sistema baseado em hipóteses de Mulgaonkar (Mulgaonkar&Shapiro86). 

Este sistema forma hipóteses a respeito da interpretação de desenhos de riscos em perspectiva. Diferentes máquinas de inferência postulam hipóteses a respeito de aspectos de uma cena que estas máquinas são capazes de interpretar. Se as hipóteses são consistentes entre si, o sistema é capaz de juntar os resultados e produzir uma descrição da cena.

 
Exemplo do sistema de Mulgaonkar e Shapiro

No caso da (Exemplo do sistema de Mulgaonkar e Shapiro) , h1 e h2 são hipóteses sobre a configuração espacial, descrita por um conjunto de planos, do canto central direito do desenho. Acerca do canto central inferior serão produzidas outras hipóteses (h3 , h4, ...). Cada hipótses será testada para que se cheque sua plausibilidade e um conjunto consistente de hipóteses será usado para uma descrição espacial do desenho.

Exemplo 2: ABLS (Wang&Shrihari88). 

ABLS é um sistema para a localização de endereços em envelopes e caixas baseado em evidência. O sistema baseia-se em uma série de KS, cada uma com um valor de credibilidade e um critério de término. 

Scheduling do Blackboard:

  1. Se um pedaço da imagem satisfaz o criterio de término de uma KS, então este é o endereço.
  2. Se nenhum satisfaz, aplique novas segmentações à imagem.
  3. Se nenhum satisfaz ainda, aplique outras KS para gerar nova evidência.

Regras 

Com certeza a forma mais antiga de integrar VC e IA. Desecreveremos abaixo os dois enfoques anteriormente citados.

Variante 1: Conjunto de dados prontos" é utilizado para chamar um sistema especialista simples que os interpreta (controle hierárquico bottom-up).

Exemplo na See Conjunto de Regras para Identificação de Cromossomos. podemos observar um conjunto de regras do Sistema para representação de cromossomos de Ledley (1965).

 
Conjunto de Regras para Identificação de Cromossomos

O processo de interpretação é realizado através do pressuposto de que existe um pré-processamento que realiza uma detecção de bordas sem falhas (que não é implementado pelo sistema e é considerado apenas hipoteticamente). A partir daí, o sistema extrai as informações necessárias à classificação dos cromossomos (vide See Imagem pré-processada através de detecção de bordas sem falhas. ).
 
Imagem pré-processada através de detecção de bordas sem falhas

Vantagens:
  • Simples de implementar
  • Não existem conflitos: fronteiras entre tipos de dados (simbólicos e subsimbólicos) é clara.
Desvantagens:
  • Sistema especialista não tem nenhum controle sobre o processo de análise numérica" - a baixo nível - da imagem: dados prontos para interpretar.
  • Incapaz de ter influência sobre erros dos algoritmos básicos.
  • Incapaz de tratar inconsistências dos dados.

Variante 2: Regras vêem algoritmos subsimbólicos como operações que chamam" quando necessário.

Controle: pode ser hierárquico bottom-up como pode ser hierárquico top-down (2) ou híbrido (3).

Exemplo: SPAM (McKeown,Wilson&McDermott85)

Sistema de aplicação militar baseado em conhecimento para a interpretação de cenas típicas de um aeroporto. Objetiva o reconhecimento de aeroportos e de objetos posicionados sobre a pista destes.

Possue três componentes principais:

  1. Base de dados de imagens e mapas,
  2. Conjunto de ferramentas de processamento de imagens (segmentação p/cresc.regiões, detector de rodovias, detectores de bordas e nodos tridimensionais),
  3. um sistema baseado em regras, incl. regras para melhoria de resultados de segmentações.
As regras manipulam 3 primitivas: regiões, fragmentos de regiões e áreas funcionais. A função principal das regras é a resegmentação dirigida.
Vantagem:
Possibilidade de realizar processamentos de imagens quando são necessários e da forma como são necessários.
Desvantagens:
  • Máquina de inferência por detrás das regras dita o comportamento global do sistema.
  • Se não existe backtracking inteligente (dependente) resultados já calculados são perdidos quando outras regras são usadas.

Sistemas de Configuração e Planejamento

Idéia básica: Sistema de IA é utilizado para construir uma estratégia de análise de uma ou mais imagens.

Esta estratégia é construída baseada em:

  1. conhecimento de diversas fontes,
  2. técnicas de IA do campo de sistemas de construção e 
  3. em informação sobre as imagens a serem processadas

2 Tipos:

  1. Estáticos ou de Construção 
Ex: XRAY (Günter88), FIGURE (Messer93).
  • Implementam uma estratégia de controle do tipo de controle hierárquico, seja top-down ou bottom-up.
  • Geram seqüências de operadores de imagens prontas, que são aplicadas estaticamente às imagens.
  • Reativos ou Dinâmicos 
Ex.: CYCLOPS (v.Wangenheim96).
  • Implementam uma estratégia de controle do tipo de controle híbrido com feedback.
  • Geram seqüências de operadores de imagens incompletas, que são dinamicamente adaptadas ao processo de interpretação de imagens.

Tipo Estático ou de Construção

Utilização principal: geração de módulos de software para aplicação em áreas específicas, principalmente controle de qualidade. Comumente usado para a implementação de ferramentas de apoio à produção/adaptação de software e não para a análise de imagens propriamente dita.

Exemplo 1: XRAY.

 
1.Em sistemas de Quadro-Negro, os processos que processam e produzem dados ou interpretações de dados são chamados de fontes-de-conhecimento. Qualquer processo envovlido em um sistema balckboard pode ser uma fonte de conhecimento, desde que consuma dados do blackboard e produza novos dados para este.
2.Base de conhecimentos, do inglês Knowledge-Base.

 
Contato:
Tel.: +55-48-331 7552/9498
FAX: +55-48-331-9770
awangenh@inf.ufsc.br