Implementação em C++ da Algoritmo de Segmentação eCognition Pontifícia Universidade Católica do Rio de Janeiro Visão Computacional II Prof. Raul Feitosa Implementação em C++ da Algoritmo de Segmentação eCognition Projeto de Visão Computacional II Aluno: Leonardo de Oliveira Martins Rio de Janeiro, abril/2008
Introdução Problema Solução proposta Objetivo Segmentação de nódulos em dados pulmonares Solução proposta Algoritmo baseado na metodologia proposta por Baatz e Schäpe(2000) Versão atual em MATLAB Tempo de processamento alto Objetivo Implementar uma versão desse algoritmo em C/C++ Redução do tempo de processamento
Segmentação eCognition Técnica de crescimento de regiões, orientada a objetos e multi-resolução Utiliza informação espectral e de forma para realizar a segmentação Reduz a heterogeneidade de objetos em uma escala especificada Funciona para uma grande variedade de tipos de dados Testado com sucesso em diversas aplicações (Schiewe et al. 2001, Antunes et al. 2003, Laliberte et al. 2004, Van Aardt 2004, Van Aardt and Wynne 2004 apud JOSEPH 2005)
Segmentação eCognition Critério de fusão: Baseado em um critério de homogeneidade local, descrevendo a similaridade entre objetos adjacentes Um custo de fusão é associado para cada fusão possível representado o “grau de adequação” (“degree of fitting”) A fusão é realizada se o “grau de adequação” for menor que um limiar determinado O limiar determinará o tamanho dos objetos resultantes da segmentação, por isso é chamado de “parâmetro de escala”
Procedimento geral Funde dois objetos em um único objeto Calcula f Existe f < p? Funde dois objetos em um único objeto Calcula f para objetos adjacentes Objetos Imagem
Custo de Fusão O custo de fusão f de dois objetos é dado por sendo p um peso para o critério espectral no intervalo de 0 a 1
Custo de Fusão Heterogeneidade espectral: Sendo que σc é o desvio padrão da resposta espectral na banda c wc é um peso dado à banda c n é o tamanho do objeto
Custo de Fusão Heterogeneidade da forma
Custo de Fusão Sendo que n é o tamanho do objeto l é o perímetro do objeto b é o perímetro da bounding box do objeto
Implementação Linguagem C/C++ Ambiente Dev-Cpp Manipulação dos dados pulmonares (Padrão DICOM) Biblioteca DCMTK ou Biblioteca Xmedcon
Referências BAATZ, M.; SCHÄPE, A.; Multiresolution segmentation – an optimization approach for high quality multi-scale image segmentation. In Strobl, Blaschke & Greisebener (Edts): Angewandte Geographische Informationsverarbeitung XII. Beiträge zum AGIT-Symposium Salzburg 2000. Karlsruhe. Herbert Wichmann Verlag. 2000. JOSEPH, K. A. Comparison of Segment and Pixel Based Non-Parametric Classification of Land Cover in the Amazon Region of Brazil Using Multitemporal Landsat TM/ETM+ Imagery. Tese de mestrado. Virginia Polytechnic Institute and State University, 2005.