Análise e Processamento de Imagens I
Apresentação da Disciplina
LEP1709: Análise e Processamento de Imagens I (pós-gradfuação)
Pré-requisito (posgrad): LEP1732
Créditos: 3
Carga Horária: 68h (32 teóricas; 32 práticas)
Horários das aulas
Segundas-feiras das 14:00h às 17:00h
LEP- 01506: Análise de Imagens Aplicada
Pré-requisito (grad): MAT 01207 (Cálculo Numérico) ; MAT 01102(Fundamentos da Ciência da Computação) ou LEP01580 (Fundamentos de Programação em C++).
Sala
Sala de aula do LDSC.
Equipamentos
Computadores com sistema operacional Gnu/Linux - Fedora.
Monitoria
Nome do monitor:
Atualmente sem monitor.
Resumo da Ementa
Conceitos básicos, importância e áreas de aplicação da análise de imagens. Fluxo de trabalho. Hardware. Preparação e obtenção de lâminas de rochas reservatório. Obtenção de imagens. Propriedades de imagens digitais, geometria discreta, conceitos de cor. Histograma e suas aplicações. Filtros de pré-processamento, segmentação binária (métodos manuais e automáticos). Segmentação/Binarização (usando histogramas e técnicas de IA). Rotulagem. Conectividade. Função autocorrelação e autoconectividade. Esqueleto. Morfologia matemática (operações de erosão, dilatação, abertura e fechamento). Granulometria. Caracterização. Caracterização com morfologia matemática (distribuição de tamanho de objetos). O que é a modelagem microestrutual 3D, conceitos básicos e aplicações. Enfoque teórico em sala de aula e prático com uso de softwares como Gimp, Imago, LVP. Inclui desenvolvimento de softwares/programas em C++.
Conteúdo Programático
Enquanto na graduação o enfoque são os conceitos básicos e o uso de softwares para análise e processamento de imagens, na pós-graduação o enfoque é a concepção, análise e implementação dos modelos Nota: p) indica enfoque teórico e t). enfoque prático.
Introdução. t) Conceitos básicos, importância e áreas de aplicação da análise de imagens. p) pesquisa na internet sobre análise de imagens.
Fluxo de trabalho. t) Etapas do processamento digital de imagens e sua aplicação a rochas reservatório de petróleo. Exemplos de softwares e bibliotecas desenvolvidos, resultados e aplicações práticas. p) manuseio do Gimp e do LVP.
Hardware e equipamentos. t) Computador, Workstation, Cluster de computadores; impressora e ploter; scanner, máquina fotográfica, filmadora; sistemas armazenamento (hd, pen-drive, CD/DVD/Blue-Ray), storage e autoloader(fitas dat); p) visita ao CPD, ao LDSC e a rede científica.
Olho humano e cores. t) conceitos de cor. Modelos RGB, HSI, CMY, YIQ. p) Manipulação de imagens em diferentes modelos no Gimp.
Preparação e obtenção de lâminas de rochas. t) O processo de obtenção de amostras (testemunhos e amostras de calha), impregnação, polimento, preparação lâmina. p) Estudo de amostras, uso do instrumento de impregnação, da politriz, do microscópio ótico, captura das imagens. Visita ao laboratório de laminação.
Obtenção de imagens de rochas. t) Microscopia ótica (microscópio petrográfico), microscopia eletrônica. Tomografia/Microtomografia computadorizada. p) visita ao laboratório de microscopia.
Imagens digitais. t) propriedades de imagens digitais (dimensões, resolução, amostragem, quantização), imagens em níveis de cinza e coloridas. Formato de arquivos, jpg, png, ppm, pgm. p) manipulação de imagens no Gimp e LVP.
Histograma. t) O que é o histograma? Calculo do histograma. Equalização do histograma. Funções de transferência. Especificação do histograma. p) visualização do histograma em máquinas fotográficas, manipulação do histograma no Gimp e no LVP. Aplicação de funções de transferência no Gimp. p) Desenvolvimento de programa em C++ para cálculo e visualização do histograma (gnuplot/Cgnuplot e/ou https://www.qcustomplot.com/).
Filtros de pré-processamento. t) Conceito de filtros, realce e suavização de imagens. Filtros no domínio espacial e de frequência. Filtros passa baixa, filtros passa alta, butterworth, ideal, sobel; filtros baseados na alteração do histograma. p) Aplicação de filtros no Gimp e LVP. Implementação de filtros de pré-processamento (uso de bibliotecas como a Magick C++ e LIB_LDSC). Aplicação de testes com imagens de rochas reservatório, análise de resultados.
Segmentação. t) Definição e importância da segmentação, segmentação binária a partir do histograma de níveis de cinza, métodos manuais e automáticos de segmentação, segmentação de imagens em tons de cinza e coloridas. Algoritmos para imagens em tons de cinza. Conceitos Básicos de Redes Neurais Artificiais. p) Uso de bibliotecas para segmentação de imagens de rocha reservatório. Implementação de métodos de segmentação usando C++. Implementação de métodos de segmentação usando redes neurais em C++. Aplicação dos algoritmos e análise de resultados.
Rotulagem. t) Conceito de rotulagem. O algoritmo de Hoshen-Kopelman e sua variação. p) Desenvolvimento de algoritmo em C++. Aplicação a imagens de rochas reservatório.
Esqueleto. t) O que é o esqueleto de uma imagem e métodos para sua determinação. p): implementação dos métodos descritos em Parker. Aplicação a imagens de rochas reservatório.
Caracterização. t) Conceitos básicos de caracterização, porosidade, função autocorrelação, função conectividade, parâmetros fractais. Geometria discreta. Métricas, d4, d8, d34, d5711. Distância. Imagem de Distância ao Fundo – IDF. Bolas de chanfro. p) Determinação da porosidade, função autocorrelação, função conectividade de um conjunto de imagens de rochas reservatório.
Granulometria. t) Conceitos básicos de granulometria; morfologia matemática (operações de erosão, dilatação, abertura e fechamento; hit-miss, afinamento, espessamento), caracterização com morfologia matemática (distribuição de tamanho de objetos). p) : desenvolvimento e aplicação de métodos da morfologia matemática. Caracterização de imagens de rochas reservatória.
Nota: no início do curso o aluno irá selecionar um grupo de imagens (ex: de um determinado poço) com as quais irá trabalhar ao longo de todo curso. Avaliação via seminários e/ou trabalhos de aula e/ou provas. Códigos desenvolvidos em C++.
Avaliações
Exercícios
Exercícios e atividades solicitadas.
Testes
Os testes são realizados no início da aula e tem duração de até 20 minutos.
Abordam temas já vistos e o material da aula presente.
Provas
Provas teóricas e práticas. e/ou desenvolvimento de projetos.
Lista de Programas a Serem Utilizados
Material Extra
Material da disciplina (apresentação das aulas), material extra e fontes relacionadas a disciplina são disponibilizados aos alunos via compartilhamento do dropbox.
Site com Softwares:
Apostilas:
Apostila: Modelo de IC/MSC/DSC os arquivos para o modelo podem ser baixados no link Github.
Apostila: Provas e Provas Resolvidas de C++ versão de 2018 (entre em contato para dados atuais), inclui exemplos processamento imagens.
Apostila: Metodologia Científica em Engenharia (versão bem preliminar em desenvolvimento, disponibiliza apenas para alunos).
Aulas que podem ser uteis:
Github:
Github do LDSC: https://github.com/ldsc
Links úteis
Git: https://rogerdudler.github.io/git-guide/index.pt_BR.html
Gimp (https://www.gimp.org/) .
Bibliografia
André Duarte Bueno. Estudo Geométrico das Representações Tridimensionais da Estrutura Porosa e Grafo de Conexão Serial Para a Determinação da Permeabilidade Intrínseca de Rochas-Reservatório de Petróleo. PhD thesis, UFSC, 8 2001.
André Duarte Bueno, Fabio Santana Magnani, and Paulo Cesar Philippi. Método para Determinação da Permeabilidade Relativa de Rochas Reservatório de Petróleo Através da Análise de Imagens Reconstruídas. IX Congresso Brasileiro de Engenharia e Ciências Térmicas. p.12, Caxambú - MG - Brasil, 2002.
André Duarte Bueno and Paulo Cesar Philippi. Modelo do Grafo de Conexão Serial Para Determinação da Permeabilidade de Rochas Reservatório de Petróleo. IX Congresso Brasileiro de Engenharia e Ciências Térmicas. . p.12, Caxambú - MG - Brasil, 2002.
André Duarte Bueno and Paulo Cesar Philippi. Utilização do Grafo de Conexão Serial Para Determinação da Permeabilidade Relativa de Rochas Reservatório. 2 Congresso Brasileiro de P&D em Petróleo e Gás. . p.6, Rio de Janeiro, Brasil, junho 2002.
Carey Bunks. Grokking the GIMP. Que, 2000.
Andre Milani. Gimp guia do usuário. Novatec. 2008.
J. P. Cocquerez and S. Philippi. Analyse D Images: Filtrage et Segmentation. MASSON, Paris, 1995.
Marcos Cabral Damiani, Celso Peres Fernandes, André Duarte Bueno, Luis Orlando Dos Santos, José Antonio Bellini da Cunha Neto, and Paulo Cesar Philippi. Predicting Physical Properties of Reservoir Rocks From The Microstructural Analysis of Petrographic Thin Sections. Produccion 2000 - Aplicaciones de la ciencia en la ingeniería de petróleo. Produccion 2000 / Aplicaciones de la Ciencia en la Ingeniería de Petróleo, May 2000.
J. Facon. Morfologia Matemática: Teoria e Exemplos. PUC PR, Curitiba, 1rd edition, 1996.
J. Gomes and L. Velho. Computação Gráfica :Imagem. INPA-SBM, Rio de Janeiro, 1rd edition, 1994.
Rafael Gonzales and Richard Woods. Digital Image Processing. Pearson, 4rd edition, 2017.
Jan Smith, Roman Joost. GIMP for Absolute Beginners. Apress. 2023.
Akkana Peck. Beginning GIMP - From Novice to Pro. ASIN : B09SQ2WSG4. 2022.
Stephanie Cottrell Bryant, Tillman Hodgson, and Bryan Livingston. GIMP for Linux Bible. John Wiley & Sons, 2000.
Sven Neumann. GIMP Pocket Reference. O Reilly, Sebastopol - CA, 2000.
J. R. Parker. Algorithms For Image Processing and Computer Vision. John Wiley Sons, New York, 2010.
Vladimir Kovalevsky. Modern Algorithms for Image Processing: Computer Imagery by Example Using C#. Apress. 2018
David Tschumperle, Christophe Tilmant, Vincent Barra. Digital Image Processing with C++: Implementing Reference Algorithms with the Cimg Library. CRC Press. 2023.
J. Serra. Image Analysis and Mathematical Morphology, volume 1,2. Academic Press Limited, San Diego, 1982.
Pablo Rosento Yunes. Determinação da Distribuição de Poros de Uma Argamassa de Cimento e Cal Usando as Isotermas de Equilíbrio e Dados de Microscopia Eletrônica. Dissertação de mestrado, Programa de Pós-Graduação em Engenharia Mecânica-UFSC, Florianópolis, 1993.
Liang Zhirong, Celso Peres Fernandes, Fabio Santana Magnani, and Paulo Cesar Philippi. A Reconstruction Technique of 3-D Porous Media By Using Image Analysis and Using Fourier Transform. Journal of Petroleum Science and Engineering, 21:273 283, 1998.
Liang Zhirong, Paulo Cesar Philippi, Celso Peres Fernandes, and Fabio Santana Magnani. Prediction of Permeability of Porous Media Based on 3-D Pore Skeleton Network of Reconstructed Porous Structure. Int. J. Multiphase Flow, 1997.
Liang Zhirong, Paulo Cesar Philippi, Celso Peres Fernandes, and Fabio Santana Magnani. Prediction of Permeability From the Skeleton of 3D Pore Structure. SPE Reservoir Eval, 2:161 168, 1999.
Pierre Soille. Morphological Image Analysis. Springer. 2002.
Rafael Gonzales e Richard Woods. Processamento de imagens digitais. Blucher. 3ed. 2009.
Kumar Navulur. Multiespectral Image Analysis Using The Object Oriented Paradigm. CRC Press. 2007 (c/CDROM).
Meiqing Wang. A concise introduction do image processing using C++. CRC Press. 2008.
John C. Russ. The Image Processing Handbook. 7ed. CRC Press. 2015.
Tiago Ribeiro Schawer. Determinação dos Efeitos da Incrustação na Permeabilidade de Rochas Reservatório com uso de Métodos de Análise de Imagens. Dissertação Mestrado. LENEP/CCT/UENF.
Leandro Puerari, Determinação da Permeabilidade Relativa de Rochas Reservatório com uso de Métodos da Análise de Imagens, Dissertação Mestrado. LENEP/CCT/UENF.
Eneida Arendt, Desenvolvimento de um Método de Binarização de Imagens Via Redes Neurais: Um Estudo Comparativo na Análise de Imagens de Rochas Reservatório. Dissertação Mestrado. LENEP/CCT/UENF.
Pedro Henrique Mota da Silva. Técnicas de Otimização de Software e Processamento Paralelo Aplicadas ao Cálculo de Equilíbrio de Fases de Fluidos de Petróleo. Dissertação Mestrado. LENEP/CCT/UENF.
Leandro Puerari. Criação de Redes de Percolação Através da Análise de Imagens de Meios Porosos. Tese Doutorado LENEP/CCT/UENF.
João Marcelo. Caracterização de Rocha Digital Usando Inteligência Artificial – Aplicação a Segmentação de Imagens. Dissertação de mestrado. 2022.
Processamento Imagens
Bueno. A.D. Apostila do Curso de Análise de Imagens.
O livro texto a ser utilizado na disciplina relacionado a parte de programação:
Bueno. A.D. Programação Orientada a Objeto em C++ - Aprenda a programar em ambiente multiplataforma com software livre. Terceira Edição. Editora Novatec. São Paulo (2024). (previsão).
Exemplo Software modo terminal
Software desenvolvido em C++, multiplataforma, modo terminal.
Desenvolvido para plataforma windows usando borland C++ e biblioteca OWL.
Software desenvolvido em C++, multiplataforma, desenvolvido em parceria com a ESSS/PETROBRAS
Software de análise de imagens livre, desenvolvido em C++, multiplataforma, desenvolvido pelo aluno Tiago Schaewer.
Software desenvolvido em C++, multiplataforma, desenvolvido pelo aluno Leandro Puerari
Exemplo - IA-Segmentação - Software Segmentação de Imagens Usando Inteligência Artificial
Software desenvolvido em C++, multiplataforma, desenvolvido pelo aluno João Marcelo