![]() |
![]() |
|
|
Reconhecimento de Padrões5. Gerando Padrões: Análise de Sinais e Imagens
Depois de encontrar um conjunto de passos de processamento para filtrar suficientemente a imagem para conseguir separar e tornar conexo o objeto de interesse (e mais alguns outros objetos) do resto da imagem, o próximo passo é gerar uma descrição desses objetos, de forma a que possamos classificá-los adequadamente e, caso necessário, reagir a uma situação onde um intruso foi detectado. A nossa aplicação deverá possuir a capacidade de gerar atributos que permitam classificar os objetos encontrados nas imagens em três categorias distintas:
A rotulação é uma operação bastante simples, realizada sobre uma imagem binária, onde o valor dos pixel agrupados é substituído por um valor numérico crescente para cada grupo. Assim cada agrupamento de pixel conexo recebe valores 1, 2, 3, etc. O fundo recebe o valor 0. Se uma imagem possui três objetos resultantes da operação de fechamento, seus pixel serão numerados todos 0 para o fundo, 1 para os pixel da primeira região, 2 para os da segunda e assim por diante. O resultando é uma imagem em pseudo-tons de cinza, como a abaixo:
O valor do tom de cinza corresponde ao número do objeto. Para tornar esta imagem mais fácil de olhar e entender, já que alguns tons de cinza são muito escuros (como por exemplo o segmento 1 no alto, à esuqerda), podemo sgerar uma imagem de pseudo-cores com base nesta imagem, atribuindo-lhe simplesmente uma tabela de cores RGB arbitrária, mas com cores claras e diferentes para todos os valores de pixel. Isto pode ser realizado através do glifo Khoros adeuado, onde se escolhe uma tabela de cores predefinida que contenha preto como cor 0 (para não colorir o fundo), como rainbow ou RGB-spiral, resultando em uma imagem como a abaixo: Esta imagem é muito mais fácil de entender e os objetos são mais fáceis de visualizar. O ruído que ficou no canto superior esquerdo aqui ficou bastante óbvio. Esta operação não altera a imagem, apenas associa uma tabela de cores a ela. Gerar um conjunto de atributos descritores O próximo passo é extrair atributos descritores de cada um dos objetos da imagem. Isto pode ser realizado através do glifo Shape Analysis, que você vai encontrar no Toolbox Khoros1, em seu menu de glifos. Você pode optar por usar o do workspace-exemplo no fim desta página. O painel de controle deste glifo está exemplificado adiante: Este método gera vários conjuntos de parâmetros e os armazena em um arquivo-texto, além de gerar imagens com duas versões de eixos principais de cada objeto e com as bordas dos objetos. Vamos inicialmente utilizá-lo no modo default, alterando apenas "Axis Representation" para "Principal Axis" clicando em cima. Os momentos vamos deixar de fora, por enquanto. Na caixa de texto "ASCII File" escreva o nome do arquivo onde você deseja que os parâmetros sejam escritos. A imagem de eixos principais é uma imagem onde para cada objeto é desenhada sua componente principal e a sua maior perpendicular. O ponto de cruzamento de ambas é o centro de massa do objeto. Esta imagem tem pouca utilidade para uma classificação automática dos objetos, mas ajuda você a entender o que está sendo representado nos parâmetros produzidos e ajuda também a entender como se comporta cada um dos objetos e se a componente principal dos objetos serve como um discriminante entre categorias ou não. A imagem com as silhuetas é só uma imagem para dar informação adicional. Abaixo um exemplo do eixo principal e da silhueta sobrepostos para a primeira imagem: Observe que o eixo principal não é necessariamente do mesmo tamanho que a silhueta. Ele é um vetor que reflete a distribuição de massa do objeto. O arquivo de atributos gerado possui os seguintes valores para cada um dos objetos presentes na imagem: "Object number 1 "
Aqui não estão incluídos os momentos, que podem também opcionalmente ser calculados para cada objeto da imagem. Associado a cada imagem de
eixos na tabela abaixo está o arquivo de parâmetros gerado
para a sua imagem original. Compare-os e veja quais parâmteros você
consideraria interessantes de serem levados em conta. Escolha um
conjunto de parâmetros que você acredita descreverem bem as
três categorias de objetos que devem ser detectados e utilize um
classificador de padrões de sua escolha para realizar a classificação.
Discutiremos este assunto em detalhes em aula.
|
|
![]() |
![]() |
![]() |