Baixe o app para aproveitar ainda mais
Prévia do material em texto
DESCRIÇÃO Apresentação dos conceitos de visão computacional e as ações envolvidas no processo de reconhecimento de uma imagem, desde a ideia de aquisição de uma imagem até o processo de segmentação, classificação, reconhecimento e entendimento. PROPÓSITO Compreender o objetivo de visão computacional e apropriar-se das etapas que uma imagem precisa passar até a sua classificação e compreensão. OBJETIVOS MÓDULO 1 Reconhecer a importância da visão computacional e suas aplicações. MÓDULO 2 Identificar a segmentação como uma etapa essencial dentre as etapas de visão computacional. MÓDULO 3 Identificar os métodos de classificação e de reconhecimento na interpretação de elementos de uma imagem. INTRODUÇÃO Neste conteúdo iremos aprender o que é visão computacional, seu objetivo, suas etapas e aplicações. Para isso será necessário entender como podemos observar a visão computacional dentro da computação gráfica e identificar os processos necessários para que o computador possa interpretar uma imagem, iniciando com a aquisição da imagem e finalizando com a tomada de decisão. Uma etapa central no processo de visão computacional é a segmentação, por isso, iremos conceituá-la e estudar os seus métodos. Por último, vamos estudar os métodos de classificação e reconhecimento de imagens para fins de interpretação. MÓDULO 1 Reconhecer a importância da visão computacional e suas aplicações. COMPUTAÇÃO GRÁFICA E VISÃO COMPUTACIONAL A COMPUTAÇÃO GRÁFICA É MATEMÁTICA E ARTE. LOGO, PODE-SE DIZER QUE A COMPUTAÇÃO GRÁFICA PROPORCIONA ABSTRAÇÃO NO PROCESSO DE CRIAÇÃO (NÃO TRADICIONAL) DE IMAGENS. (AZEVEDO; CONCI; LETA, 2008) A computação gráfica é uma ferramenta não convencional, mas pode permitir que o artista transgrida e transcenda aos limites tradicionais de desenho e modelagem. No entanto, todo o processo de produção, aquisição, manipulação e exibição da imagem requer algum tipo de ferramenta do universo matemático. A computação gráfica engloba um conjunto de ferramentas e técnicas para criar, reproduzir, modelar e analisar uma imagem através do computador e cada um destes objetivos pode ser organizado em áreas, subáreas e ramos. Foto: Shutterstock.com Computação gráfica. A computação gráfica pode ser estudada a partir de pelo menos três grandes áreas que não estão necessariamente desassociadas, isto é, não pretendem em sua natureza trabalhar isoladamente. Em geral, possuem muitas afinidades na atuação. As três grandes áreas são: SÍNTESE DE IMAGENS PROCESSAMENTO DE IMAGENS ANÁLISE DE IMAGENS SÍNTESE DE IMAGENS Considera a criação de uma imagem digital via computador tomando como base as especificações geométricas e visuais de seus componentes. Também é conhecida como visualização científica ou computacional, principalmente quando se preocupa com a representação gráfica da informação, com a interpretação e manipulação de um conjunto de dados de grande complexidade. PROCESSAMENTO DE IMAGENS Considera não apenas o processamento das imagens na forma digital, mas também as transformações que pretendem melhorar ou dar ênfase a determinada característica da imagem. ANÁLISE DE IMAGENS Busca obter especificações, componentes de uma imagem digital, analisar, determinar ou categorizar características da imagem a partir de sua apresentação visual. VISÃO COMPUTACIONAL Para compreender exatamente a visão computacional, é necessário primeiro entender a abrangência das áreas diversas relacionadas à computação gráfica. É importante destacar que a grande diferença de uma área para outra se concentra na relação entre dados, imagens e do uso de técnicas específicas para um resultado, como o uso de inteligência artificial, por exemplo. Imagem: AZEVEDO, E.; CONCI, A.; LETA, F. R. Computação Gráfica: Teoria e prática. 2008. p. 4. Relação entre as áreas. Note que na figura destacamos a mineração de imagens, a mineração de dados, a recuperação de imagens baseado no conteúdo, o reconhecimento de padrões e a visão computacional. Estes processos associam mais de uma área de computação gráfica e estabelecem, portanto, mais de uma relação. Quando temos um conjunto de dados que gera uma imagem, estamos falando de síntese de imagem. Se o processo for contrário, isto é, se temos dados que foram obtidos a partir de uma imagem, estamos falando de análise de imagens. Em resumo: Síntese de imagem Imagem gerada por um conjunto de dados. Análise de imagens Um conjunto de dados gerado por uma imagem. O processamento de imagens é uma transformação de imagem em imagem, pois considera que a informação de entrada é uma imagem e a informação de saída também. De forma análoga, o processamento de dados transforma dados em dados. Após a aquisição de uma imagem, há a reorganização dos pixels com a atuação do processamento de imagens. Isso significa que as transformações de alteração dos valores de tons, extração de ruídos e aplicação de filtros estão sendo realizadas segundo a necessidade e conveniência. Neste sentido, as interpretações das informações da imagem são realizadas necessariamente pelo usuário. Quando voltamos os estudos para a interpretação das informações de uma imagem via algoritmos computacionais, estamos falando de análise de imagens. Esta interpretação pretende extrair as informações essenciais para a realização de reconhecimento de padrões, visão computacional ou, ainda, extração de um conhecimento de uma imagem que é mais conhecida como mineração de imagens. Os algoritmos de análise de imagens buscam extrair parâmetros que a representam de alguma forma. Os parâmetros são, geralmente, dados numéricos representados de modo muito simples. ATENÇÃO A visão computacional correlaciona análise de imagens com técnicas de inteligência artificial a fim de estabelecer alguma interpretação da imagem que pode estar voltada para informações de identificação e classificação dos elementos de uma imagem. Logo, a visão computacional é mais do que a transformação de uma imagem em dados, pois dá significância aos dados extraídos. Neste sentido, alguns autores dizem que a visão computacional é uma subárea ou um subcampo da inteligência artificial. A correlação entre análise de imagens e técnicas de inteligência artificial pode se dar de muitas maneiras dentro da visão computacional. Em algumas situações, a inteligência artificial é entendida como a tomada de decisão propriamente dita. A inteligência artificial conta como ferramenta os grandes bancos de dados ou de imagens para a extração de conhecimento (mineração de dados ou imagens, respectivamente). Assim como a análise de imagens perpassa pela relação entre imagens e dados, e por banco de padrões, as técnicas de inteligência artificial também perpassam por bancos de dados e processamento de dados. A síntese de imagens, por sua vez, se preocupa com a construção de uma imagem digital de modo puramente computacional, isto é, não usa imagens do mundo real como ponto de partida, busca construir um cenário e/ou objeto a partir das especificações geométricas e visuais de seus componentes. Por isso, é comum a criação de imagens a partir de pontos, linhas, polígonos, círculos e superfícies. Imagem: Catiúscia Albuquerque Benevente Borges. Relação entre análise de imagens e síntese de imagens. Indo de encontro à relação que a figura expressa, podemos dizer que análise de imagens também busca extrair da imagem especificações como pontos, linhas, polígonos etc. Ou seja, busca extrair características geométricas primitivas da imagem. Vale destacar que é possível aplicar técnicas de análise de imagens em objetos reais que são inseridos em cenas geradas via síntese de imagens. Considerando as áreas da computação gráfica, podemos dizer que a visão computacional tem a intenção de reproduzir, via computador, a visão humana, uma vez que se propõe a interpretar informações oriundas de uma imagem. HISTÓRICO, IMPORTÂNCIA, APLICAÇÕES E PERSPECTIVAS Historicamente, a visão computacionalsurge da pretensão de simular a percepção visual humana. A visão, assim como outros tipos de percepção e cognição, era restrita aos seres humanos e, portanto, não era passível de desenvolvimento computacional. À medida que os computadores aumentaram a capacidade de processar algoritmos complexos, também conseguiram simular muitos processos de percepção visual. Podemos identificar algumas diferenças importantes entre a visão computacional e a humana. Visão computacional 10 vezes mais veloz, além de ser capaz de perceber cores de forma mais consistente e precisa. Visão humana Possui uma adaptabilidade muito maior e estabelece tomadas de decisões muito mais abstratas, já que estas são baseadas em julgamentos ou avaliações prévias e de interpretações pessoais difíceis de serem quantificadas. Neste contexto, a inteligência artificial, que é a área da Ciência da Computação que pretende simular cognição, é de suma importância para a visão computacional. Há autores que definem a visão computacional como o domínio da Ciência da Computação que estuda e aplica métodos que permitem aos computadores interpretarem o conteúdo de uma imagem. O processamento de imagens pode ter dois focos: FIDELIDADE O primeiro foco está relacionado ao quão próxima a imagem digital está da imagem real. INTELIGIBILIDADE Preocupa-se com o tipo de informação que se pode obter a partir da imagem. Neste segundo foco, a interpretação da imagem depende do sistema de visão computacional. DICA Vale observar que em determinadas situações é interessante unir os focos, isto é, integrar fidelidade e inteligibilidade. De modo geral, é possível esquematizar uma sequência de etapas que vão da digitalização (aquisição) da imagem até a tomada de decisões. javascript:void(0) javascript:void(0) Imagem: AZEVEDO, E.; CONCI, A.; LETA, F. R. Computação Gráfica: Teoria e prática. 2008. P. 51. Etapas de um sistema de visão computacional. Um sistema de visão computacional possui pelo menos seis etapas bem definidas, que são as etapas principais. Logo, é possível ter um sistema computacional com mais etapas. A seguir, confira as seis etapas principais: AQUISIÇÃO No processo de aquisição, a imagem do mundo real é captada por uma câmera ou por algum outro dispositivo de entrada de imagem digital. Neste processo, a câmera considera uma distribuição de energia luminosa em uma posição espacial, correlacionando a energia luminosa que é absorvida por dado objeto da cena, parte de energia luminosa que é transmitida e parte da energia luminosa que é refletida. A imagem formada pode ser expressa por uma função: F (X ,Y ) = I (X ,Y ) .R (X ,Y ) Atenção! Para visualização completa da equação utilize a rolagem horizontal Note que (x,y) é cada ponto da imagem. A função f(x,y) é um modelo de função de intensidade luminosa, onde i(x,y) é a função da iluminação, pois faz referência à característica do ambiente, e r(x,y) é a função da reflexão do objeto, visto que faz referência às características do objeto. Nesta etapa, a amostragem e a quantização são efetuadas. A amostragem expressa o número de pontos que formará a imagem digitalizada e a quantização expressa o número de níveis de tons que pode ser atribuído a cada ponto digitalizado. Logo, uma imagem pode ser amostrada por 4.096 (64 x 64) pontos e quantizada em 8 níveis de cinza. RESTAURAÇÃO E REALCE Na restauração, os problemas oriundos da aquisição, transmissão ou de alguma etapa do processamento são reparados. Mas essa reparação pode ser complexa, uma vez que depende da identificação do problema ou da deficiência da imagem, podendo variar entre falta de foco, imagens borradas por movimento, iluminação do ambiente etc. O realce está associado ao destaque de algum detalhe da imagem para análise e, em certos casos, pode estar associado a uma alteração ou distorção da imagem. SEGMENTAÇÃO Nesta etapa, algumas regiões da imagem são isoladas com a pretensão de extrair atributos por meio de cálculos de parâmetros. Operações como a separação por tom de corte são características da segmentação. EXTRAÇÃO DE ATRIBUTOS OU CARACTERÍSTICAS Na quarta etapa, por meio de imagens segmentadas, dados relevantes, atributos das regiões ou objetos destacados podem ser extraídos. Nesta etapa é possível obter o número total de objetos, as dimensões do objeto (área, perímetro, largura, centro de gravidade etc.), geometria (com cavidade, eixo, retilineidade, circularidade etc.), propriedades do objeto como luminosidade (cor e nível de intensidade de cada banda) e textura. CLASSIFICAÇÃO E RECONHECIMENTO Esta etapa busca distinguir os objetos na imagem de acordo com os parâmetros estabelecidos de semelhança para cada região de pixel encontrada. De acordo com Azevedo, Conci e Leta (2008), o processo de reconhecimento pode ser efetuado em dois instantes. O primeiro instante tem como fundamento a verificação do pertencimento das características extraídas da imagem a um mesmo grupo formando uma base de imagens. No segundo instante, novos objetos são apresentados ao sistema, que os reconhece, estabelecendo novas comparações com aquelas dos objetos das classes previamente estabelecidas. Com base na classificação, o objeto é reconhecido, mas não há deliberação de valor, mesmo quando este é supervisionado (processos que passam por intervenções humanas). Alguns processos são totalmente computacionais e autorreguláveis, isto é, não possuem intervenção humana alguma. DECISÃO A tomada de decisão pode ser efetuada de duas maneiras: a partir de questionamentos sobre os parâmetros extraídos ou utilizando inteligência artificial e redes neurais. Quando, nesta etapa, as informações não estão explícitas, muitas vezes se faz necessário correlacionar os dados obtidos com os dados de bancos de imagens. A mineração de imagens utiliza métodos de descoberta de conhecimento em banco de dados (DCBD). A DCBD pretende extrair conhecimento de informações armazenadas em grandes bases de dados especializados, visando melhorar o entendimento de um problema ou uma situação para a tomada de decisão. Dentre as etapas de DCBD, podemos destacar a mineração de dados, que é responsável pela seleção dos métodos a serem utilizados para localizar padrões nos dados, buscando a melhor adaptação dos parâmetros para execução da tarefa. O processo de extração de conhecimento de imagens passa por algumas etapas, como: Busca da informação no banco de dados Pré-processamento Extração da característica Identificação Avaliação Conhecimento literal Logo, no processo de mineração de imagens são considerados os valores relativos, valores absolutos, as informações espaciais, a interpretação única e interpretação múltipla de características da imagem e representação visual dos padrões descobertos etc. ATENÇÃO Uma dificuldade fundamental neste processo é determinar como a representação de pixel de uma imagem pode ser processada para identificar objetos e relacionamentos espaciais. Por isso, as buscas também consideram níveis diferentes de informações, graus de complexidade, visam estudar não somente o pixel, mas também sua vizinhança, conectividade, seus níveis do objeto, níveis de conceito semântico (coloca os objetos e as regiões no contexto das imagens, tentando capturar conceitos abstratos do cenário formado) e incluem modelos que correlacionam dados alfanuméricos e padrões de imagem. Os estudos em visão computacional crescem avassaladoramente, principalmente nas pesquisas que buscam sistemas autônomos, como na indústria automobilística com as pesquisas de veículos autônomos capazes de reconhecer trajetos e obstáculos no caminho e que aprimoram rotas a serem seguidas sem um condutor necessariamente. As empresas de marketing também exploram a visão computacional no que diz respeito ao levantamento de informações e monitoramento de presença online. Bilhões de imagens são compartilhadas todos os dias nas redes sociais, e poucas vezes há um textoatrelado à imagem. A visão computacional é capaz de identificar imagens e relacionar a presença de determinada marca em uma região, traçando assim estratégias de mercado. A visão computacional também está presente em muitos celulares no que compete à segurança, no desbloqueio por reconhecimento facial ou, ainda, no aplicativo que reconhece o usuário na rede social, assim como os participantes da sua comunidade, e sugere a marcação. O sistema de reconhecimento é usado em diversos setores conferindo acesso a locais privados ou até mesmo públicos, podendo também ser chave de acesso e confirmação de aplicações e transações financeiras. Imagem: Shutterstock.com Reconhecimento facial. Os sistemas de monitoramento por visão computacional podem contribuir na detecção de falhas de um sistema de produção em tempo real, assim como no levantamento de informações relevantes para a otimização da produção. A tendência é que a visão faça parte do cotidiano nas mais diversas atividades, como a realização de compras em um mercado. Já é possível encontrar lojas em que os clientes podem realizar suas compras sem a necessidade de se dirigir ao caixa. Os itens são identificados quando saem da prateleira, ou quando entram no carrinho de compras; ao término das compras, a conta é computada automaticamente por um aplicativo do estabelecimento e debitada automaticamente no cartão. ATENÇÃO Em algumas situações, a visão computacional pode ser mais precisa na tomada de decisão que a visão humana, pois é capaz de se apropriar de informações que não são perceptíveis para os seres humanos, como imagens termográficas, de ultrassom, de ressonância magnética ou até mesmo em contextos que expressam periculosidade à integridade humana. A IMPORTÂNCIA DA VISÃO COMPUTACIONAL O vídeo a seguir aborda a importância da visão computacional, suas aplicações e perspectivas. VERIFICANDO O APRENDIZADO 1. DE MANEIRA GERAL, A COMPUTAÇÃO GRÁFICA POSSUI PELO MENOS TRÊS GRANDES ÁREAS. LEIA OS ELEMENTOS A SEGUIR. I – SÍNTESE DE IMAGENS II – SEGMENTAÇÃO DE IMAGENS III – PROCESSAMENTO DE IMAGENS IV – ANÁLISE DE IMAGENS V – CLASSIFICAÇÃO E RECONHECIMENTO DE IMAGENS DENTRE OS ELEMENTOS ACIMA, É CORRETO AFIRMAR QUE AS GRANDES ÁREAS DA COMPUTAÇÃO GRÁFICA SÃO: A) I, II e III B) I, III e IV C) III, IV e V D) II, IV e V E) I, II e V 2. VIMOS QUE A VISÃO COMPUTACIONAL POSSUI ALGUMAS INTERPRETAÇÕES, MAS TODAS SÃO CORRELATAS. LEIA AS SENTENÇAS ABAIXO: I) A INTERPRETAÇÃO DE IMAGEM É ATRIBUIR SIGNIFICADO A ELA. PARA TAL ATRIBUIÇÃO, PODEMOS TRABALHAR CONJUNTAMENTE COM TÉCNICAS DE ANÁLISE DE IMAGENS, VISÃO COMPUTACIONAL E INTELIGÊNCIA ARTIFICIAL. II) A VISÃO COMPUTACIONAL É O MESMO QUE ANÁLISE DE IMAGENS, ISTO É, TRATA-SE DE UM SINÔNIMO, POIS TRANSFORMA IMAGENS EM DADOS. III) A VISÃO COMPUTACIONAL PODE SER ENTENDIDA COMO A PARTE DE CIÊNCIA DA COMPUTAÇÃO QUE ESTUDA E APLICA MÉTODOS QUE PERMITEM AOS COMPUTADORES INTERPRETAREM O CONTEÚDO DE UMA IMAGEM. À LUZ DO QUE ESTUDAMOS SOBRE VISÃO COMPUTACIONAL, É CORRETO O QUE SE AFIRMA EM APENAS: A) I B) II C) I e II D) II e III E) I e III GABARITO 1. De maneira geral, a computação gráfica possui pelo menos três grandes áreas. Leia os elementos a seguir. I – Síntese de imagens II – Segmentação de imagens III – Processamento de imagens IV – Análise de imagens V – Classificação e reconhecimento de imagens Dentre os elementos acima, é correto afirmar que as grandes áreas da computação gráfica são: A alternativa "B " está correta. A computação gráfica pode ser estudada a partir de pelo menos três grandes áreas que não estão necessariamente desassociadas: síntese de imagens, processamento de imagens e análise de imagens. A síntese de imagens toma como base a construção de imagens a partir de especificações geométricas e visuais de seus componentes, isto é, transforma dado em imagens. O processamento de imagens tem como objetivo as transformações em imagens visando melhorar ou dar ênfase a determinada característica da imagem. A análise de imagens busca obter informações a partir de uma imagem digital, isto é, transforma imagens em dados. 2. Vimos que a visão computacional possui algumas interpretações, mas todas são correlatas. Leia as sentenças abaixo: I) A interpretação de imagem é atribuir significado a ela. Para tal atribuição, podemos trabalhar conjuntamente com técnicas de análise de imagens, visão computacional e inteligência artificial. II) A visão computacional é o mesmo que análise de imagens, isto é, trata-se de um sinônimo, pois transforma imagens em dados. III) A visão computacional pode ser entendida como a parte de Ciência da Computação que estuda e aplica métodos que permitem aos computadores interpretarem o conteúdo de uma imagem. À luz do que estudamos sobre visão computacional, é correto o que se afirma em apenas: A alternativa "E " está correta. A visão computacional é mais do que análise de imagens, a visão computacional pretende transformar uma imagem em dados atribuindo significância aos dados extraídos. Neste sentido, alguns autores dizem que a visão computacional é uma subárea ou um subcampo da inteligência artificial, já que tem como objetivo central interpretar a informação extraída. MÓDULO 2 Identificar a segmentação como uma etapa essencial dentre as etapas de visão computacional. SEGMENTAÇÃO A ideia central da segmentação é subdividir uma imagem em partes ou objetos constituintes que podem ter níveis de subdivisões distintas segundo o problema envolvido. De modo geral, a segmentação é realizada sucessivamente até que os objetos desejados sejam obtidos para dada aplicação. A segmentação procura segregar regiões de pontos da imagem pertencentes a objetos para depois extrair atributos e calcular parâmetros que possam descrever a imagem. As operações de segmentação variam segundo o grau de complexidade do cenário da imagem e o tipo de coloração da imagem. A segmentação para imagens monocromáticas é, geralmente, baseada na descontinuidade e similaridade, propriedades elementares dos valores de níveis de cinza. Descontinuidade As técnicas baseadas na descontinuidade visam buscar mudanças bruscas nos níveis de cinza da imagem. Com isso, é possível detectar pontos isolados, linhas e bordas da imagem. Similaridade As técnicas baseadas na similaridade são baseadas no crescimento de regiões, na divisão de regiões, assim como a fusão, e na limiarização. A limiarização, em particular, é uma técnica muito usada na separação objeto-fundo, pois atribui aos pontos da imagem dois valores, zero ou um, a partir de uma referência de corte. Se o valor original do ponto está abaixo da referência de corte, por exemplo, o valor é substituído por zero; se está acima, é substituído por um. Desta maneira, tudo que é zero é considerado fundo e tudo que é um é considerado objeto. Imagem: Power3d/Wikimedia Commons/CC BY-SA 3.0 Imagem original à esquerda e imagem após limiarização à direita. A segmentação é de suma importância em processamento de imagens, pois sem ela a extração de característica, classificação e descrição de uma imagem não poderiam ser executadas. De acordo com Solomon e Breckon (2013), a segmentação correta de uma imagem depende fortemente do tipo de objeto ou regiões que desejamos identificar, uma vez que esta identificação nos permite estabelecer que relação um pixel deve ter com os seus vizinhos e com outros pixels na imagem e assim rotular fidedignamente cada região. DETECÇÃO DE PONTOS Tanto a detecção de pontos quanto a detecção de arestas são realizadas, de modo geral, por máscaras 3 x 3 que realizam varreduras na imagem. A varredura envolve cálculos da soma dos produtos dos coeficientes pelos níveis de cinza contidos na região englobada pela máscara. Desta forma, cada ponto da imagem assume um valor R obtido por: R=W1Z1 +W2Z2 + ⋯ +W9Z9 = ∑ 9 I= 1WIZI Atenção! Para visualização completa da equação utilize a rolagem horizontalOnde zi é o nível de cinza do pixel associado ao coeficiente wi da máscara. Vale lembrar que a resposta R da máscara é atribuída à posição central. Quanto um pixel está na borda, alguns elementos da máscara não fazem correspondência, neste caso, o valor R é obtido pela vizinhança parcial, ou seja, são considerados apenas os valores que possuem associação. Na detecção de pontos especificamente usamos a seguinte condição: Se um ponto satisfaz | R | > T, então este ponto foi detectado na posição da máscara. Considere T um limiar não negativo, com isso T é uma referência para o estabelecimento de pontos isolados, já que apenas as grandes diferenças são destacadas. Imagem: Catiúscia Albuquerque Benevente Borges. Exemplo de Máscara para detecção de pontos isolados. A figura representa uma máscara usada para a detecção de pontos isolados a partir de um fundo constante. Note que o somatório dos coeficientes da máscara é zero. Este tipo de máscara permite detectar quando o nível de cinza de um ponto isolado é completamente diferente do nível de cinza de seus vizinhos. Observe também que esta máscara é a mesma de filtragem espacial de alta frequência, porém, sua aplicabilidade aqui está voltada para a detecção de pontos isolados. Uma abordagem alternativa para detecção de pontos e muito simples também é aplicação direta de limiar de intensidade. Escolhemos algum valor de limiar e os pixels cujos valores excedam o do limiar só alocados em alguma região, enquanto pixels com valores abaixo do limiar só alocados a outra região. Uma consequência dessa aplicação de limiar é a construção de uma imagem binária a partir de uma imagem de intensidade segundo o seguinte critério: B X ,Y = 1 SE F (X ,Y ) >T 0 PARA TODOS OS OUTROS CASOS Atenção! Para visualização completa da equação utilize a rolagem horizontal Onde f(x,y) é o valor de intensidade da imagem no ponto (x,y) e T é o valor do limiar. A escolha do T limiar pode ser realizada manualmente, o que só é aceitável quando o número de tentativas é relativamente pequeno. Contudo, muitas tarefas exigem uma escolha automática do valor do limiar. Os métodos de escolha do limiar podem possuir abordagens simples, como o ajuste de uma função polinomial em relação ao cálculo do histograma da imagem, ou em métodos de análise relativa de valores estatísticos da imagem, como a minimização da variância dentro da classe de pixels brancos e pretos após a aplicação do limiar. ATENÇÃO Esta abordagem, embora seja muito simples, apresenta algumas limitações, pois não considera relações espaciais entre pixels, e é muito sensível a variações acidentais, sendo aplicada apenas a casos em que a imagem é divisível em dois planos: o primeiro plano formado por objetos de intensidade similares e o segundo plano, por objetos de intensidades diferentes. DETECÇÃO DE ARESTAS A detecção de arestas pode ser dividida em duas etapas: a detecção de linhas e bordas. A detecção de linhas possui uma abordagem similar à aplicação de filtro e à detecção de pontos por uma máscara, porém, é necessário considerar a inclinação da linha horizontal, vertical, +45° e -45°. Cada máscara efetua a detecção de uma inclinação da linha. ( ) { Imagem: Catiúscia Albuquerque Benevente Borges. Máscara para linhas: (a) Horizontal (b) Vertical (c) +45° (d) -45°. Se uma máscara horizontal realiza a varredura da imagem, é possível responder se a imagem possui linhas nessa direção. Ao confrontar os resultados de todas as máscaras, é possível observar se um ponto está mais provavelmente associado a um tipo de linha, basta ter |Ri | = |Rj |, para todo i ≠ j. A detecção de bordas, além de ser um desafio, é um dos pontos mais importantes de processamento de imagens. Ao determinar todos os contornos de uma imagem pela detecção de bordas, temos a imagem totalmente segmentada. Embora a ideia do reconhecimento de uma borda seja relativamente simples, o processo de detecção possui muitas especificidades, visto que o seu grau de complexidade pode variar significativamente segundo a imagem. De acordo com Solomon e Breckon (2013), uma borda é um limite entre duas regiões com propriedades relativamente distintas de nível de cinza. A detecção de borda ainda requer muito estudo, pois as técnicas atuais apresentam certas limitações por utilizarem filtros diferenciáveis de gradientes. Filtros de gradientes costumam ser muito sensíveis a ruídos e precisam ter a intensidade do gradiente bem ajustada, uma vez que a maioria das bordas reais não é descontínua; elas costumam ser bordas suaves. A aplicação de filtros com gradientes diferenciais de primeira ordem e de segunda ordem é argumento para detecção de bordas em qualquer orientação da imagem. Primeira derivada É obtida em qualquer ponto da imagem, usando-se a magnitude do gradiente naquele ponto. Segunda derivada É obtida de modo similar, mas utilizando-se o laplaciano. OPERADORES DE GRADIENTE O gradiente de uma imagem f(x,y) na posição (x,y) é dado pelo vetor ∇f descrito por: ∇F= GX GY = ∂F ∂X ∂F ∂Y Atenção! Para visualização completa da equação utilize a rolagem horizontal O cálculo de Gx pode ser efetuado pela aplicação de uma máscara, assim como o cálculo de Gy. Imagem: Catiúscia Albuquerque Benevente Borges. (a) Máscara usada no cálculo de Gx e (b) Máscara usada no cálculo de Gy. A imagem ilustra os valores das máscaras para o cômputo de cada gradiente, e essas máscaras são normalmente chamadas de operadores de Sobel. O vetor gradiente aponta a [ ] [ ] direção da mudança mais rápida de f na posição (x,y). Tão importante quanto o vetor gradiente é a magnitude do vetor gradiente ( ∇f=mag(∇f) ) , que quantifica a taxa de aumento de f(x,y) por unidade de distância na direção ∇f. A magnitude do vetor gradiente é comumente chamada de gradiente apenas e pode ser calculada usando duas formas, explicitadas abaixo, sendo a segunda a mais usual, e embora seja uma aproximação, é mais fácil de ser implementada. ∇F=MAG ∇F = GX2 +GY2 0 , 5 Atenção! Para visualização completa da equação utilize a rolagem horizontal Ou ∇F=MAG ∇F ≈ GX + GY Atenção! Para visualização completa da equação utilize a rolagem horizontal Os operadores de Sobel possuem uma vantagem em relação aos demais, pois, além dos efeitos de diferenciação, realizam uma suavização na imagem. Note que uma varredura na imagem com operadores de Sobel gera uma imagem de gradiente do mesmo tamanho que a imagem original, e as operações realizadas na borda da imagem consideram apenas as vizinhanças parciais convenientes. OPERADORES DE LAPLACIANOS O operador Laplaciano, ou apenas Laplaciano, de uma função bidimensional f(x,y) corresponde a uma derivada de segunda ordem descrita por: ∇ 2F= ∂ 2F ∂X2 + ∂ 2F ∂Y2 ( ) [ ] ( ) | | | | Atenção! Para visualização completa da equação utilize a rolagem horizontal Este tipo de gradiente pode ser implementado de maneiras diferentes, entretanto, o coeficiente associado ao pixel central deve ser necessariamente positivo, os outros pixels externos devem ser negativos e, ainda, o somatório de todos os coeficientes deve ser igual a zero. Imagem: Catiúscia Albuquerque Benevente Borges. Máscara 3 x 3 usada para o cálculo do Laplaciano. A figura exemplifica uma máscara de um operador laplaciano 3 x 3. Esta máscara ajuda a indicar transições de intensidade, mas é extremamente sensível a ruídos, fazendo com que sua aplicação direta gere resultados não aceitáveis. Com isso, o Laplaciano geralmente é efetuado de modo secundário. O uso mais comum de Laplaciano é o da localização de bordas usando a propriedade do cruzamento por zero. Este cruzamento é baseado na convolução da imagem com o Laplaciano de uma função gaussiana bidimensional. Neste caso, adotamos: H X ,Y =EXP - X2 +Y2 2Σ2 Atenção! Para visualização completa da equação utilize a rolagem horizontal Onde σ é o desvio padrão. Considerando r2=x2+y2 e o operador Laplaciano, podemos determinar:( ) ( ) ∇ 2H= R2 -Σ2 2Σ2 EXP - R2 2Σ2 Atenção! Para visualização completa da equação utilize a rolagem horizontal A detecção de bordas por operações de gradientes tende a funcionar bem em casos envolvendo imagens com transições abruptas de intensidades e ruídos relativamente baixos; cruzamentos por zero oferecem uma alternativa nos casos em que as bordas forem borradas ou quando houver uma quantidade alta de ruídos presente na imagem. De modo geral, os cruzamentos por zero proporcionam um resultado confiável de bordas ao mesmo tempo que suavizam os ruídos, mas apresentam uma complexidade computacional muito maior. DETECÇÃO DE BORDAS DE CANNY Um dos métodos mais complexos para detecção de bordas é o detector de bordas de Canny. Este detector possui três características fundamentais: Possui baixa taxa de erro, fazendo com que perceba praticamente todas as bordas existentes na imagem. Os pontos de bordas são bem localizados. Isso significa que a distância entre os pixels de bordas encontrados pelo detector e os pixels da borda real é mínima. Não há ambiguidade em relação às bordas, isto é, só deve haver uma resposta em relação a uma borda. O detector de Canny propõe os seguintes passos: PRIMEIRO PASSO A suavização da imagem por um operador gaussiano. SEGUNDO PASSO Determina a intensidade da borda utilizando, para isso, os operadores Sobel nas direções horizontal e vertical adicionadas as magnitudes desses componentes como uma medida de intensidade. Desta forma, obtém-se: ( ) ( ) E X ,Y = GX X ,Y + GY X ,Y Atenção! Para visualização completa da equação utilize a rolagem horizontal TERCEIRO PASSO Calcula-se a direção da borda, para tal, determina-se o ângulo θ do vetor gradiente definido por: Θ= TAN - 1 GY X ,Y GX X ,Y Atenção! Para visualização completa da equação utilize a rolagem horizontal Uma vez que a direção da borda é calculada, esta é aproximada por um dos quatro valores possíveis: 0° 45° 90° 135° Estes quatro valores referenciais também são conhecidos por vizinhos ao Leste e ao Oeste, vizinhos ao Norte e ao Sudeste, vizinhos ao Norte e ao Sul e vizinhos ao Noroeste e ao Sudeste, respectivamente. QUARTO PASSO Uma vez que as direções da borda ficam aproximadas, é feito um rastreamento da borda e os valores de pixels são suprimidos. Os valores suprimidos são fixados em zero, e estes não são considerados pixels de borda. Este processo é chamado de supressão não máxima. QUINTO PASSO ( ) | ( ) | | ( ) | ( ) ( ) O último passo consiste em rastrear os pixels que sobraram e que não tenham sido suprimidos, aplicando uma limiarização para identificar os pixels que são realmente de borda. A questão chave deste método está justamente nessa limiarização, pois são usados dois limiares distintos conjuntamente, onde um expressa um limiar com valor baixo T1 e o outro expressa limiar com valor alto T2. A validação do pixel como de borda ou não é determinado pelo seguinte critério: 1º) Se |E(x,y)|<T1, o pixel é rejeitado, isso significa que não é borda; 2º) Se |E(x,y)|>T2, o pixel é aceito como pixel de borda; 3º) Se T1<|E(x,y)|<T2, o pixel é rejeitado, exceto nas posições em que um percurso que consista em pixels de borda conecte o pixel em questão a um pixel de borda incondicional. SEGMENTAÇÃO POR CRESCIMENTO DE REGIÕES A segmentação também pode ser realizada considerando o agrupamento de pixels em uma região a partir de um critério de similaridade. Além da similaridade do pixel em si, para que a segmentação seja efetiva, é necessário considerar relações espaciais de adjacência em relação aos pixels. Nesta abordagem, são consideráveis alguns pixels como ponto de partida. Esses pixels são chamados de pixels-semente. Os pixels-semente são distribuídos aleatoriamente pela imagem, em seguida a vizinhança de cada pixel é avaliada segundo algum critério de similaridade previamente estipulado. De modo geral, são usados critérios de similaridade em relação à intensidade do pixel. O desenvolvimento desse método de segmentação se dá pela ampliação da vizinhança. No primeiro momento, o pixel-semente é avaliado, depois cada elemento da sua vizinhança é tomado como referência e então é estabelecida uma nova vizinhança para análise, até que toda a imagem seja avaliada. DICA Os critérios de similaridades são diversos, podendo contemplar a diferença absoluta de intensidade entre um pixel candidato e o pixel-semente, ou avaliar a diferença absoluta de intensidade entre um pixel candidato e o valor médio de intensidade na região em crescimento, entre outros critérios. SEGMENTAÇÃO POR ALGORITMOS DE DIVISÃO-UNIÃO Este tipo de segmentação pretende dividir a imagem em regiões desconectadas. Neste caso, pretende-se encontrar regiões desconectadas de tal forma que cada região seja regular em si mesma. Neste processo, a imagem inicial é toda a região de interesse, logo, esta é avaliada com a finalidade de estabelecer se todos os pixels contidos nesta região possuem algum critério de similaridade. Há similaridade Se houver similaridade na região, esta área chamada de bloco corresponde a uma região da imagem e recebe um rótulo. Não há similaridade Se não houver similaridade, esta região é dividida, geralmente, em quatro sub-regiões de áreas iguais e cada sub-região é analisada novamente segundo o critério de similaridade. O processo de subdivisão é repetido inúmeras vezes até que toda imagem esteja categorizada em blocos. Em determinadas situações, a segmentação final terá muitos blocos e subdivisões. Para minimizar tal efeito, é usado um processo de reunião que compara regiões adjacentes e as une, caso necessário. Quando toda essa verificação de união terminar, a segmentação será finalizada e estará completa. O processo de segmentação, embora seja muito natural na visão humana, é um processo complexo que requer atenção nas especificidades do seu objetivo. Este processo permite identificar regiões, objetos ou partes de objetos considerando o agrupamento de unidades básicas como pixel. SEGMENTAÇÃO DA IMAGEM O vídeo a seguir explica o que é a segmentação e quais são as operações necessárias para que seja realizada. VERIFICANDO O APRENDIZADO 1. VIMOS QUE UM SISTEMA DE VISÃO COMPUTACIONAL CONTEMPLA ETAPAS BEM DEFINIDAS QUE VÃO DA AQUISIÇÃO DE UMA IMAGEM ATÉ A TOMADA DE DECISÃO. DENTRE AS ETAPAS, DESTACAMOS A SEGMENTAÇÃO, O REALCE, A CLASSIFICAÇÃO, O RECONHECIMENTO E A EXTRAÇÃO DE ATRIBUTOS, NÃO NECESSARIAMENTE NESTA ORDEM. À LUZ DO QUE ESTUDAMOS, LEIA AS SENTENÇAS ABAIXO: I) SEGMENTAR UMA IMAGEM É DESMEMBRAR A IMAGEM EXTRAINDO CARACTERÍSTICAS PASSÍVEIS DE CÁLCULO. ESTE PROCESSO PERMITE A DETERMINAÇÃO DE PECULIARIDADES E PROPRIEDADES DA IMAGEM. II) A EXTRAÇÃO DE ATRIBUTOS OU CARACTERÍSTICAS BUSCA EXPRESSAR DADOS RELEVANTES, ATRIBUTOS DAS REGIÕES OU OBJETOS. SOBRE AS DUAS SENTENÇAS, É CORRETO AFIRMAR QUE: A) Apenas a primeira sentença é verdadeira, pois a extração de atributos não estabelece ou expressa informações relevantes de regiões ou objetos. B) Apenas a segunda sentença é verdadeira, pois a segmentação, relatada na primeira sentença, não segrega regiões. C) As duas sentenças são verdadeiras, mas os processos descritos não estão diretamente correlacionados. D) As duas sentenças são verdadeiras, e o processo descrito na primeira sentença depende do êxito da segunda. E) As duas sentenças são verdadeiras, e o processo descrito na segunda sentença depende do êxito da primeira. 2. VIMOS QUE A SEGMENTAÇÃO DE UMA IMAGEM PODE TER OBJETIVOS DISTINTOS, POIS DEPENDE DO TIPO DE ELEMENTO QUE QUEREMOS IDENTIFICAR. ESTE OBJETIVO PODE ESTAR RELACIONADO COM A CONECTIVIDADE DOS PIXELS, ISTO É, COM A ANÁLISE DE REGIÕES A PARTIR DA RELAÇÃO DE UM PIXEL COM O SEU VIZINHO. COM BASE NO TRECHO, LEIA AS SENTENÇAS A SEGUIR E JULGUE-AS: I) OS FILTROS USADOS EM SEGMENTAÇÃO SÃO APLICADOS DE MODO DIFERENTE DOS DESTINADOS À RESTAURAÇÃO E AO REALCE. II) A DETECÇÃO DE PONTOS ISOLADOS PODE SER REALIZADA COM O AUXÍLIODE MÁSCARAS DE FILTROS. III) APENAS A DETECÇÃO DE LINHAS E BORDAS PODE SER REALIZADA COM O AUXÍLIO DE MÁSCARAS DE FILTROS. É CORRETO O QUE SE AFIRMA APENAS EM: A) I B) II C) III D) I e II E) II e III GABARITO 1. Vimos que um sistema de visão computacional contempla etapas bem definidas que vão da aquisição de uma imagem até a tomada de decisão. Dentre as etapas, destacamos a segmentação, o realce, a classificação, o reconhecimento e a extração de atributos, não necessariamente nesta ordem. À luz do que estudamos, leia as sentenças abaixo: I) Segmentar uma imagem é desmembrar a imagem extraindo características passíveis de cálculo. Este processo permite a determinação de peculiaridades e propriedades da imagem. II) A extração de atributos ou características busca expressar dados relevantes, atributos das regiões ou objetos. Sobre as duas sentenças, é correto afirmar que: A alternativa "E " está correta. A segmentação é caracterizada pela subdivisão de uma imagem, de modo que cada parte expresse uma característica ou um elemento importante na imagem. Esta característica varia segundo o objetivo da segmentação. Uma imagem com todas as regiões subdivididas e categorizadas está passiva à extração de características e, por consequência, está apta a ter suas regiões classificadas e descritas. 2. Vimos que a segmentação de uma imagem pode ter objetivos distintos, pois depende do tipo de elemento que queremos identificar. Este objetivo pode estar relacionado com a conectividade dos pixels, isto é, com a análise de regiões a partir da relação de um pixel com o seu vizinho. Com base no trecho, leia as sentenças a seguir e julgue-as: I) Os filtros usados em segmentação são aplicados de modo diferente dos destinados à restauração e ao realce. II) A detecção de pontos isolados pode ser realizada com o auxílio de máscaras de filtros. III) Apenas a detecção de linhas e bordas pode ser realizada com o auxílio de máscaras de filtros. É correto o que se afirma apenas em: A alternativa "B " está correta. Tanto a detecção de pontos quanto a detecção de arestas podem ser realizadas por máscaras 3 x 3 que realizam varreduras na imagem. Realizar a varredura é realizar o cálculo da soma dos produtos dos coeficientes pelos níveis de cinza contidos na região englobada pela máscara. Este é o mesmo cálculo efetuado no processo de filtragem de uma imagem que visa à restauração e ao realce. MÓDULO 3 Identificar os métodos de classificação e de reconhecimento na interpretação de elementos de uma imagem. RECONHECIMENTO DE IMAGENS Para efetuar o reconhecimento de objetos em uma imagem, é necessário efetuarmos a rotulação destes elementos. Após a segmentação de uma imagem, a rotulação permite realizar a contagem de regiões e objetos. A cada região estabelecida, a cada bloco ou a cada componente conexo, um valor é atribuído. Este valor é único e é chamado rótulo (ou label). Quando consideramos as propriedades dos pixels, isto é, vizinhança, adjacência, distâncias e conectividade, por meio de um algoritmo simples é possível efetuarmos a rotulação. Considere que p seja um pixel qualquer de uma imagem e que N4(p) seja uma vizinhança de p, t seja o pixel acima de p, r seja o pixel à esquerda de p. O algoritmo efetua uma varredura da imagem da esquerda para a direita e de cima para baixo, deste modo, quando encontrarmos p, r e t, estes já terão sido encontrados e rotulados se tiverem valor igual a 1. Se p(x,y) = 0, então vamos para a próxima posição. Caso contrário, será necessário considerar outros elementos, que são: Se r = t = 0, então p recebe um novo rótulo. Se r = 1 ou t = 1, então p recebe o rótulo de r ou de t. Se r = t = 1 e mesmo rótulo, então p recebe o mesmo rótulo de r e t. Se r = t = 1 e rótulos diferentes, então p recebe um dos rótulos (de r ou de t) e anota-se que os rótulos são equivalentes. No final, continue a varredura de todos os pontos com valor igual a 1. Se alguns rótulos forem equivalentes, ordene todos os pares de rótulos equivalentes em classes de equivalência. É importante que um rótulo diferente seja atribuído a cada classe. Este processo também pode ser efetuado para uma vizinhança de 8, deste modo, os dois vizinhos da diagonal superior de p também são examinados. No entanto, quando consideramos imagens mais complexas, a identificação de características precisa ser mais bem apurada e exige mais atenção para que uma imagem possa ser reconhecida e interpretada. TIPOS DE CARACTERÍSTICAS O ponto de partida para a extração de características é estabelecer quais informações são relevantes para o reconhecimento do objeto. A relevância das informações pode estar correlacionada à localização, se temos apenas um objeto a ser reconhecido ou extraído da imagem, bem como a eventuais defeitos, se existem objetos sobrepostos ou conectados, e pode ainda avaliar características como cores, dimensões e texturas. SE UM OBJETO A SER IDENTIFICADO ESTÁ EM MOVIMENTO, É NECESSÁRIO EXTRAIR CARACTERÍSTICAS DA IMAGEM QUE SEJAM INDEPENDENTES E INVARIANTES EM RELAÇÃO À POSIÇÃO, ISTO É, INVARIANTES QUANTO À TRANSLAÇÃO, ROTAÇÃO E EVENTUAIS DEFORMIDADES, POIS A IMAGEM FOI CAPTURADA EM TEMPOS DIVERSOS. LOGO, TAMBÉM DEVEM SER CONSIDERADAS CARACTERÍSTICAS INERENTES DE UMA IMAGEM EM MOVIMENTO E CARACTERÍSTICAS INERENTES DE IMAGENS ESTÁTICAS. (CARVALHO, 2006) De modo geral, há dois tipos de descritores, isto é, grupos aos quais categorizamos as características diversas utilizadas no processo de reconhecimento ou identificação de objetos em imagens. Estes descritores são: Forma Aspecto Quando são considerados apenas o contorno dos objetos e as regiões internas, estamos falando de características de forma. As características de regiões podem ser: DIMENSIONAIS Área, perímetro, raio, compacidade etc. INERCIAIS Centro geométrico, orientação, retângulo envolvente etc. TOPOLÓGICAS Componentes conectados, número de vértices, número de Euler etc. As características de aspecto estão relacionadas à cor, textura e rugosidade. A rugosidade expressa o acabamento de um objeto e ajuda a detectar regularidades em superfícies, por exemplo. A textura também pode ser utilizada para caracterizar regularidades como sulcos ou estrias, além disso fornece padronagens de determinados tipos de material, como madeiras, rochas, tecidos etc. É necessário considerar a forma mais adequada para representar uma característica antes de realizar a extração da característica de uma imagem. A Análise de Componentes Principais (ACP) transforma variáveis discretas em coeficientes descorrelacionados, o que permite identificar as relações entre as caraterísticas extraídas de dados. Este método tem por objetivo analisar o conjunto de características usado, visando reduzi-lo, a fim de eliminar a redundância. javascript:void(0) javascript:void(0) javascript:void(0) PROCESSO DE CLASSIFICAÇÃO A classificação é um campo muito estudado em reconhecimento de imagens e, além de considerar os tipos de características a serem levantados, também considera o processo de rotulagem, se este será supervisionado ou não. ATENÇÃO Um processo autônomo é um processo de classificação automático, mas em um primeiro momento é necessário regular manualmente para classificação. Isso significa que um especialista humano enriquece o banco de informações com exemplos específicos, com base em propriedades selecionadas ou aparentes. A classificação não supervisionada não toma como referência exemplos existentes de um padrão de classe conhecido; ela identifica grupos a partir do corpo total de dados e assim estabelece características que possam distinguir um grupo de outro. A classificação supervisionada toma por base padrões de vetores ou vetores de características já previamente definidos. Estes vetores são usados como referência, mas, na projeção do sistema de classificação, novos exemplos de vetores de características são formulados, de modo que aclassificação expanda sua precisão. Um projeto de sistema de classificação possui etapas bem definidas, a saber: DEFINIÇÃO DE CLASSES Realiza a definição de que tipo de característica o problema trata, qual é a melhor maneira, a priori, de representar esta característica, ou seja, o problema é explicitado. Esta classe pode possuir o classificador binário ou um classificador com várias classes diferentes. ANÁLISE DAS AMOSTRAS DE DADOS Busca identificar variáveis que permitem a discriminação do exemplo dado. Uma dificuldade nesta etapa do processo está relacionada à abordagem, pois não existe uma abordagem específica ou mais adequada a este passo; atributos importantes podem estar relacionados a qualquer propriedade da imagem. DEFINIÇÃO DO ESPAÇO DE CARACTERÍSTICAS Seleciona variáveis apropriadas e forma vetores de características para os dados. De modo geral, este processo passa por duas etapas: a primeira está relacionada com o grupo pequeno de características, mas que são essenciais, e a segunda estabelece efetivamente a discriminação. CONSTRUÇÃO DO CLASSIFICADOR Define superfícies de decisão no espaço de características e constrói o classificador que usa dados de treinamento. O estágio de treinamento exige a determinação de uma amostra de exemplos que possam ser alocados a cada uma das classes selecionadas de modo fidedigno. TESTAGEM DO CLASSIFICADOR Busca encontrar novas amostras e classificá-las. Para isso, precisamos efetuar uma nova amostra de características para verificar a capacidade de generalização a outros exemplos. VALIDAÇÃO Pretende verificar se o desempenho da classificação foi suficientemente bom. Se o desempenho for classificado como satisfatório, o processo de classificação é finalizado; caso contrário, retomamos a etapa de definição das classes. ATENÇÃO O processo de classificação é cíclico de modo que, quando a validação é negativa, isto é, o desempenho da classificação não é suficientemente bom, novas classes são definidas e todo o processo é retomado até que a validação tenha uma resposta positiva. MÉTODOS DE RECONHECIMENTO DE IMAGENS Segundo Gonzalez e Woods (2000), os métodos de reconhecimento de imagem podem ser divididos em três: MÉTODOS DE RECONHECIMENTO POR DECISÃO TEÓRICA O primeiro método faz referência à representação dos padrões na forma de vetor, seguido da busca por abordagens para agrupamento e para atribuição dos vetores de padrões a classes de padrões. MÉTODOS ESTRUTURAIS PARA O RECONHECIMENTO Os métodos de reconhecimentos estruturais buscam apresentar os padrões de uma representação simbólica, baseiam-se em casamento de cadeias ou em modelos que tratam os padrões simbólicos como estruturas de uma linguagem artificial. MÉTODOS PARA A INTERPRETAÇÃO DE IMAGENS Os métodos de interpretação de imagens realizam uma atribuição de significado ao conjunto de elementos de imagens reconhecidos. MÉTODO DE DECISÃO TEÓRICA O método de decisão teórica se preocupa em encontrar M funções de decisão d1(x), d2(x),… dM(x), considerando que, se x pertence à ωi, então: DI (X ) >DJ (X ), ONDE Atenção! Para visualização completa da equação utilize a rolagem horizontal Onde x = (x1, x2, …, xn)T é um vetor de padrão n-dimensional, M é o número de classes de padrões ω1, ω2, … , ωM. Desta forma, um padrão desconhecido x pertence à i-ésima classe de padrões se a substituição de x em todas as funções de decisão fizer com que di(x) tenha o maior valor numérico. Os empates são decididos arbitrariamente, pois a fronteira de decisão que separa ωi e ωj é dada pelos valores de x tais que di(x)=dj(x). Uma vez que o reconhecimento por decisões teóricas busca a expressão dos padrões modelando um vetor, a busca por abordagens para o argumento e para a atribuição dos vetores é um elemento determinante neste processo, já que estes vetores representarão o padrão ou as classes de padrões de decisão. O classificador é estabelecido segundo algum critério, que pode considerar a praticidade de implementação, como os classificadores pautados em distâncias; ou considerar algum elemento estatístico, que toma por base a utilização de amostras de padrões para estimar determinados parâmetros estatísticos de cada classe de padrões. Vejamos: CLASSIFICADOR DE DISTÂNCIA MÍNIMA Este tipo de classificador é conceitualmente simples e de cálculo fácil. O primeiro passo consiste em calcular o vetor de característica média, chamado de protótipo de classe, para cada classe. Quanto o vetor x de padrões desconhecido é apresentado, o classificador de distância mínima simplesmente aloca o novo exemplo na classe cujo protótipo está mais próximo. A distância euclidiana é comumente usada nesse classificador, no entanto, a distância por quarteirões apresenta resultados satisfatórios com uma implementação mais simples. CLASSIFICADOR ESTATÍSTICO O objetivo desse classificador é otimizar o desempenho com base em uma função probabilística. Desta forma, calcula-se a probabilidade P(ωi|x) de um padrão particular x pertencer a uma classe ωi. De forma sucinta, alocamos x na classe mais provável, mas há uma série de questões que remete o cálculo de P(ωi|x). Com a finalidade de reduzir erros de estimativa, usamos o teorema de Bayes, teorema de probabilidades condicionais, de modo que: P(ΩI│X)=P(X|ΩI)P(ΩI)P(X) Atenção! Para visualização completa da equação utilize a rolagem horizontal Assim, quando o vetor x de padrões desconhecido é apresentado, o classificador verifica: P(X│ΩI)P(ΩI)>P(X│ΩJ)P(ΩJ) PARA TODO I≠J Atenção! Para visualização completa da equação utilize a rolagem horizontal Em caso afirmativo, aloca-se x a ωi. Este tipo de método é conhecido como classificador bayesiano ou regra da decisão bayesiana. É importante destacar que as funções P(ω i) são probabilidades conhecidas, a priori seus valores refletem o fato de que nem todas as classes têm a mesma probabilidade de ocorrência. Outro fato importante é que a aplicação desta regra requer o conhecimento de todas as funções de densidade de probabilidade condicional de classe (P(x│ωi)) e todas as probabilidades a priori (P(ωi)). As situações em que conhecemos exatamente as formas funcionais e parâmetros dessa função de densidade não são comuns na realidade, por isso, o classificador bayesiano para classes gaussianas de padrões acaba sendo mais usado em situações de classificação estatística. Neste caso, temos: DI(X)=P(X│ΩI)P(ΩI)=1√(2ΠΣI)EXP-(X-MI)2ΣI2P(ΩI) I=1,2 Atenção! Para visualização completa da equação utilize a rolagem horizontal Neste caso, consideramos duas classes de padrões (M = 2) governadas por densidades gaussianas, onde m1 e m2 são as médias e σ1 e σ2 são os desvios padrões respectivos. MÉTODOS ESTRUTURAIS Os métodos estruturais, de modo geral, procuram realizar reconhecimento de padrão realizando relações estruturais inerentes à forma do padrão. Não existe um método estrutural genérico que pode ser aplicado em todas as situações. Os métodos são determinados segundo o objetivo e a aplicabilidade. Alguns métodos, como o de casamento de números e formas, visam comparar regiões de fronteiras com a finalidade de identificar similaridades, ou níveis de similaridades, entre as formas que são expressas de modo quantitativo. No entanto, quando o objetivo está relacionado com o reconhecimento estrutural, uma espécie de “esqueleto” do objeto, é comum usarmos um método sintético que, a partir de um conjunto de primitivas de padrões, estabelece um reconhecedor. Vejamos: CASAMENTO DE NÚMEROS DE FORMAS O procedimento de casamento de números de formas é similar à ideia de mínima distância para vetores de padrões e pode ser formulado para comparação de fronteiras de regiões descritas a partir do número de formas. O grau de similaridade k entre duas fronteiras de formas, A e B, é determinado considerando a maior ordem em que os números de forma coincidem. Deste modo, se s4(A) = s4(B), S6(A) = s6(B), ... , sk(A) = sk(B), sk+2(A) ≠sk+2(B), sk+4(A) ≠ sk+4(B),…., para o caso de número de formas de fronteiras fechadas representadas por códigos de cadeia direcionais, então A e B possuem um grau de similaridade k para um número de formas s e a distância entre duas formas A e B é dada por D(A,B)=¹⁄k. A distância possui as seguintes propriedades: D(A,B)≥0 SE A=B , ENTÃO D(A,B)=0 D(A,C)≤MAX [D(A,B),D(B,C)] Atenção! Para visualização completa da equação utilize a rolagem horizontal Neste processo, tanto k quanto D podem ser usados na comparação entre formas. Para k, temos que, quanto maior for k, mais similares são as formas. Para D, temos, quanto menor for a distância entre as formas, mais similares são as formas. CASAMENTO DE CADEIAS Quando as fronteiras de duas regiões (A e B) são codificadas como cadeias (a1, a2,…,an e b1, b2,… , bm, respectivamente), é possível determinar o número de símbolos que não se casam por: Q=MAX(|A|,|B|)-M Atenção! Para visualização completa da equação utilize a rolagem horizontal Onde M é o número de casamentos entre duas cadeias, |A| é o número de símbolos na representação da cadeia A e |B| é o número de símbolos na representação da cadeia B. Quando Q = 0, as fronteiras A e B são idênticas. Considerando que o casamento é feito símbolo a símbolo, é importante termos algum método que normalize a fronteira para o seu ponto inicial, ou ao menos próximo do ponto inicial da fronteira, para que haja redução da quantidade de computação. MÉTODOS SINTÁTICOS Os métodos sintáticos visam ao reconhecimento sintático de padrões que estão no conjunto de primitivas de padrões que, de modo geral, são um conjunto de regras que governa suas interconexões, e um reconhecedor cuja estrutura é determinada pelo conjunto de regras da gramática. INTERPRETAÇÃO DE UMA IMAGEM Uma vez que as imagens são segmentadas e classificadas, é necessário atribuir juízo a elas, isso significa interpretar o conteúdo da imagem. Interpretar uma imagem é atribuir significado. Este processo também é chamado de compreensão de imagem ou, ainda, análise de cenas. Dentre todos os processos, talvez seja este o mais complexo. As maiores dificuldades estão atreladas à falta de ferramentas fundamentais de processamento quanto à grande quantidade de dados que devem ser processados. Conheça algumas técnicas que podem ser aplicadas na interpretação de uma imagem: LIMITAÇÃO DA GENERALIDADE DO PROBLEMA INCORPORAÇÃO DE CONHECIMENTO HUMANO GRAFOS SISTEMAS DE PRODUÇÕES LIMITAÇÃO DA GENERALIDADE DO PROBLEMA Quando temos limitações em ferramentas gerais para a realização de interpretação de imagens sem estruturas, uma tentativa plausível para contornar o problema é a limitação da generalidade do problema. Quando as condições desconhecidas são limitadas, conseguimos simplificar o problema; caso contrário, limitamos os resultados esperados e a qualidade de precisão. INCORPORAÇÃO DE CONHECIMENTO HUMANO Outra tentativa é a incorporação de conhecimento humano em uma tarefa de interpretação de imagens, que neste caso requer a escolha de certo formalismo que expresse o conhecimento. Geralmente, três abordagens são usuais: lógica formal, redes semânticas e sistema de produção. Os sistemas lógicos expressam seu conhecimento usando cálculos de predicados de primeira ordem, fornecem a resposta em termos de regras lógicas que possam ser usadas para aprovar ou refutar a validade das expressões lógicas. O cálculo de predicados de primeira ordem é a expressão de uma linguagem de lógica simbólica com um espectro de afirmações que variam de fatos simples a expressões complexas. GRAFOS Os grafos orientados rotulados representam o conhecimento na forma das chamadas redes semânticas. A abordagem de redes semânticas, por meio de grafos, expressa formulações intuitivas das relações entre os elementos em uma imagem. Neste tipo de rede, o nó de um grafo é o objeto a ser apresentado e as relações entre os objetos são expressas como arcos rotulados conectando os vários nós. SISTEMAS DE PRODUÇÕES Os sistemas de produções, também chamados de sistemas baseados em regras, são capazes de tratar um grande conjunto de aplicações em processamento de imagens. Nesta abordagem o conhecimento humano pode ser aplicado de modo intuitivo, direto ou, ainda, incremental. Os sistemas de produção requerem casamento para identificação de quais inferências podem ser feitas, porém, as ações de um sistema de produção, uma vez que o casamento tenha sido feito, são muito mais gerais. Apesar de encontrarmos um número significativo de pesquisas e publicações nesta área, as soluções de problemas em análise de imagens são caracterizadas por serem específicas a dada situação, o que torna a possibilidade de progresso limitada. Em uma perspectiva futura, os sistemas de análise de imagem poderão misturar ciência em arte incluindo valores como sensibilidade em suas respostas. PADRÕES E PADRÕES DE CLASSES Gonzalez e Woods (2000) consideram que um padrão é uma descrição quantitativa ou estrutural de um objeto ou alguma outra entidade de interesse em uma imagem. Desta forma, podemos entender que um padrão pode ter mais de um descritor, logo, um padrão é um arranjo de descritores. Já uma classe de padrões é um conjunto, uma família de padrões que possui algumas propriedades em comum. Podemos representar as classes de padrões por ω1, ω2, … , ωM, onde M é o número de classes. Estes elementos são importantes, já que o reconhecimento de padrões por máquina envolve técnicas para a atribuição dos padrões a suas respectivas classes independentemente da supervisão humana. Os arranjos de padrões são vetores que podem possuir descrições quantitativas ou descrições estruturais. No primeiro caso, os arranjos serão descritos por vetores e, no segundo, por cadeias e árvores. Um vetor de padrão é comumente expresso de duas maneiras: X=X1X2…XN OU X=(X1,X2,…,XN)T Atenção! Para visualização completa da equação utilize a rolagem horizontal Onde: XI Cada xi é i-ésimo descritor. N É o número de descritores. T Indica transposição. Em determinadas situações, os padrões que levam informações quantitativas não são bem aplicados, neste caso, as características dos padrões são mais bem descritas por relações estruturais. Um exemplo simples de relações estruturais é a estrutura em escada, que usa dois elementos primitivos a e b e, por meio da repetição destes elementos, constrói uma abordagem de padronagens que visam a uma conectividade definida do tipo cabeça a cauda. Assim, o padrão passa ser a cadeia w = ⋯ abababab … . ESTRUTURA EM ESCADA É uma estrutura que visa explorar as relações entre suas regiões. Possui este nome porque a organização dos seus componentes assume esta forma. CABEÇA A CAUDA Quando a imagem possui pequenos elementos homogêneos que descrevem as seções da imagem, estas seções podem ser conectadas umas às outras, de modo contínuo, onde o fim da primeira está associado ao início da segunda e assim sucessivamente. Enquanto representações por cadeias formulam padronagens de objetos tomando como base a conectividade de primitivas simples que, de modo geral, estão correlacionadas à fronteira da forma, a descrição por árvores é mais robusta para entidades, objetos que possuem organização hierárquica. REDES NEURAIS javascript:void(0) javascript:void(0) De acordo com Gonzalez e Woods (2000), os padrões de pertinência de classe conhecida usados na estimação desses parâmetros são normalmente conhecidos como padrões de treinamento, e o conjunto deste tipo de padrões de cada classe é conhecido como conjunto de treinamento. O processo pelo qual um conjunto de treinamento é usado na obtenção das funções de decisão é chamado de aprendizado ou treinamento. As redes neurais são caracterizadas pelo desenvolvimento adaptativo dos coeficientes das funções de decisão através de apresentações sucessivas de conjuntos de padrões de treinamento. O Perceptron é uma rede neural que pode ser tomada como exemplo. O ModeloPerceptron foi desenvolvido nas décadas de 1950 e 1960 pelo cientista Frank Rosenblatt, inspirado em trabalhos anteriores de Warren McCulloch e Walter Pitts. Hoje, é mais comum usar outros modelos de neurônios artificiais, mas o Perceptron permite uma compreensão clara de como funciona uma rede neural em termos matemáticos. Um Perceptron é um modelo matemático que recebe várias entradas, x1, x2, … e produz uma única saída binária. Exemplo de esquema lógico de rede neural Perceptron. O Perceptron para duas classes de padrões expressa o comportamento de um neurônio como um dispositivo binário, em que sua saída pode ser: Pulso (1) Não pulso (2) Desta forma, obtém-se duas Classes de Padrões. A saída do neurônio é dada pelo cálculo da soma ponderada das entradas com os respectivos ganhos, de modo que assumem valores positivos nos casos excitatórios (ocorrem quando o neurônio libera o neurotransmissor provocando uma despolarização) e negativos nos casos inibitórios (ocorre quando o neurônio provoca uma hiperpolarização). A partir desta soma e tomando como base um limiar, determina-se a saída do neurônio como 1 se o resultado for maior ou igual ao limiar, ou 0, no caso contrário. Considerando então esta saída binária, podemos dizer que o Perceptron aprende uma função de decisão linear que separa dois conjuntos linearmente separáveis. A soma ponderada de sua entrada que expressa o valor de d(x) é dada por: D(X)=∑I=1NWIXI+WN+1 Atenção! Para visualização completa da equação utilize a rolagem horizontal Onde wi, i = 1, 2, …, n, n+1 são os coeficientes, chamados pesos, que modificam a entrada antes de ser somada e introduzida no elemento de linearização. Desta maneira, os pesos fazem o papel das sinapses no sistema neural humano. A função de ativação é a função que mapeia a saída da soma na saída final do dispositivo. Quando d(x) > 0, o elemento de limiarização faz com que a saída do Perceptron seja +1, então o padrão x é reconhecido como um elemento pertencente à classe ωi. Quando d(x) < 0, o elemento de limiarização faz com que a saída do Perceptron seja -1. Quando d(x) = 0, x está sobre a fronteira entre duas classes e neste caso fornece uma condição indeterminada. RECONHECENDO OBJETOS O vídeo a seguir aborda os métodos de classificação e reconhecimento. VERIFICANDO O APRENDIZADO 1. VIMOS EM NOSSOS ESTUDOS QUE A CLASSIFICAÇÃO E O RECONHECIMENTOS FORMAM UMA ETAPA DE UM SISTEMA DE VISÃO COMPUTACIONAL. LEIA AS SENTENÇAS SOBRE ESTA ETAPA E JULGUE-AS: I) A CLASSIFICAÇÃO DE UMA IMAGEM PODE ESTAR CORRELACIONADA À LOCALIZAÇÃO DE UM OBJETO NA IMAGEM. II) OS DESCRITORES DE UMA IMAGEM PODEM ESTAR ASSOCIADOS ÀS CARACTERÍSTICAS NÃO NECESSARIAMENTE QUANTITATIVAS. III) É POSSÍVEL GENERALIZAR PADRÕES DE FORMAS E ASPECTOS SEM NECESSARIAMENTE TER DE REALIZAR UM ESTUDO SOBRE AS CARACTERÍSTICAS DOS OBJETOS. É CORRETO O QUE SE AFIRMA EM: A) I B) II C) III D) I e II E) I e III 2. SOBRE O PROCESSO DE CLASSIFICAÇÃO DE CARACTERÍSTICAS DE UMA IMAGEM, É CORRETO AFIRMAR QUE: I) UM PROCESSO AUTÔNOMO NÃO PRECISA DE INVENÇÃO HUMANA EM NENHUM MOMENTO. II) A CLASSIFICAÇÃO PODE SER REALIZADA TOMANDO COMO BASE UMA VISÃO GLOBAL DOS GRUPOS DO CORPO DE DADOS E NÃO FAZ ALUSÃO A PADRÕES DE CLASSES CONHECIDOS. III) OS PADRÕES DE VETORES OU VETORES DE CARACTERÍSTICAS PODEM SER DEFINIDOS ANTECIPADAMENTE E SEREM UMA BASE DE CONDUÇÃO PARA UMA CLASSIFICAÇÃO SUPERVISIONADA. É CORRETO O QUE SE AFIRMA EM: A) I B) II C) I e II D) I e III E) II e III GABARITO 1. Vimos em nossos estudos que a classificação e o reconhecimentos formam uma etapa de um sistema de visão computacional. Leia as sentenças sobre esta etapa e julgue-as: I) A classificação de uma imagem pode estar correlacionada à localização de um objeto na imagem. II) Os descritores de uma imagem podem estar associados às características não necessariamente quantitativas. III) É possível generalizar padrões de formas e aspectos sem necessariamente ter de realizar um estudo sobre as características dos objetos. É correto o que se afirma em: A alternativa "D " está correta. Ao generalizar padrões, fazemos com que este padrão atinja um número grande de elementos, deste modo, os resultados serão imprecisos e as chances de serem indesejados aumentam. Logo, é necessário realizar um estudo sobre o objeto para entender quais características são essenciais para sua descrição e qual o melhor modelo para determinar tais características e então realizar a extração da característica de uma imagem. Os elementos essenciais para a descrição de um objeto podem considerar ou não a posição do objeto na imagem, assim como suas características topológicas. 2. Sobre o processo de classificação de características de uma imagem, é correto afirmar que: I) Um processo autônomo não precisa de invenção humana em nenhum momento. II) A classificação pode ser realizada tomando como base uma visão global dos grupos do corpo de dados e não faz alusão a padrões de classes conhecidos. III) Os padrões de vetores ou vetores de características podem ser definidos antecipadamente e serem uma base de condução para uma classificação supervisionada. É correto o que se afirma em: A alternativa "E " está correta. Em um processo de classificação automático (processo autônomo) há uma regulagem manual para classificação, logo, há a necessidade de alimentação de um banco de informações realizada por uma pessoa, onde exemplos particulares são categorizados tomando por base peculiaridades previamente selecionadas ou aparentes. A classificação pode ser supervisionada ou não; no primeiro caso, considera padrões ou classes de padrões previamente definidos e, no segundo, considera testados os elementos a partir da visão do todo. CONCLUSÃO CONSIDERAÇÕES FINAIS Neste conteúdo, exploramos a ideia de visão computacional, assim como suas etapas, seus processos e aplicações. Compreendemos, por intermédio das aplicações, que a sociedade atual progride paralelamente com esta tecnologia. Vimos como a visão computacional está situada dentro da computação gráfica e como a inteligência artificial tem um papel importante neste ramo da Ciência da Computação. Além disso, conceituamos segmentação de imagens, vimos alguns métodos de segmentação e a importância desta etapa em um sistema de visão computacional. Por fim, entendemos que a caracterização e o reconhecimento de uma imagem exercem papel fundamental para que o computador consiga deliberar algum juízo e a interpretação do conteúdo de uma imagem. AVALIAÇÃO DO TEMA: REFERÊNCIAS AZEVEDO, E.; CONCI, A. Computação Gráfica: Teoria e prática. Rio de Janeiro: Campus, 2003. AZEVEDO, E.; CONCI, A.; LETA, F. R. Computação Gráfica: Teoria e prática. V. 2. Rio de Janeiro: Elsevier, 2008. CARVALHO, J. E. R. Uma abordagem de segmentação de placas de automóveis baseada em morfologia matemática (Mestrado em Computação) – Programa de Pós-graduação em Computação, Universidade Federal Fluminense, Niterói, 2006. GONZALEZ, R. C.; WOODS, R. E. Processamento digital de imagens. 3 ed. São Paulo: Pearson, 2010. GONZALEZ, R. C.; WOODS, R. E. Processamento de imagens digitais. São Paulo: Blucher, 2000. INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO/IEC 2382, Information technology. General vocabulary, 2015. SOLOMON, C.; BRECKON, T. Fundamentos de processamento digital de imagens. Uma abordagem prática com exemplos em MATLAB. Rio de Janeiro: LTC, 2013. EXPLORE+ Leia o artigo do Instituto Brasileiro de Pesquisa e Análise de Dados sobre a atuação da visão computacional com o reconhecimento de imagem nas mídias sociais: Reconhecimento de imagem nas mídias sociais: oportunidades e desafios para o monitoramento. CONTEUDISTA Catiúscia Albuquerque Benevente Borges CURRÍCULO LATTES javascript:void(0);
Compartilhar