SlideShare uma empresa Scribd logo
1 de 91
Baixar para ler offline
What we call chaos is just
patterns we haven’t
recognized.
What we call random
is just patterns
we can’t decipher.
Chuck Palahniuk
$whoami
Marido
Pai de um jovem universitário e atualmente 12 gatos
• Ok, 11 cães também...
Apaixonado por programação (desde os ≈ 12 anos)
Cinéfilo
Bacharel em Informática (Unioeste, 1999)
• GIS, Gerência de Redes
Mestre em Ciência da Computação (UFSC, 2002)
• Gerência de Redes
Doutor em Ciência da Computação (UFPR, 2018)
• Machine Learning Tdeep learning T imagens médicas
Professor na UTFPR-TD (desde 2009)
São esperados 27 milhões de novos casos de câncer até
2030 (World Cancer Research Fund - WCRF)
Em 2018, ocorreram 18 milhões de casos novos e 9,6 milhões
de óbitos!
• Em países desenvolvidos, predominam os tipos de câncer ligados à
urbanização e ao desenvolvimento (pulmão, próstata, mama, cólon e
reto) N envelhecimento populacional & hábitos
• nos países de baixo e médio desenvolvimentos, alta ocorrência de
tipos associados a infecções (colo do útero, estômago, esôfago,
fígado) N saneamento básico
Triênio 2020-2022 esperados mais de 625 mil casos/ano
Fonte: INCA (2020)
Câncer é a designação comum de várias doenças
caracterizadas pela replicação celular anormal e
acelerada
Neoplasia N neoplasma (tumor)
• “benigno”
localizado e de crescimento lento
• maligno
agressivo, crescimento rápido, letal
invasivo (metastático)
Câncer é sinônimo de tumor maligno
Tipo de carcinoma: tumor maligno originado no tecido
mamário
principalmente mulheres
• pode acometer homens (≈ 1% dos casos)
carcinoma ductal > 80%
carcinoma lobular ≈ 10-15%
Métodos não-invasivos (imagem)
Mamografia (raios X)
Ressonância magnética
Ultrassonografia
Termografia
Biópsia — único método confiável para detectar a
presença do câncer, tipo, estágio, etc.
Fine Needle Aspiration (FNA)
Core Needle Biopsy (CNB)
Vacuum-assisted
Cirúrgico
C
A B
D
Amostras de células (citologia) ou tecidos (histologia)
são preparados em lâminas de microscopia para análise
patológica
O diagnóstico é feito através da análise do especialista humano
(médico patologista)
• Para o processamento automatizado, imagens cito (A) ou
histopatológicas (B) devem ser adquiridas
A B
Mas o que é uma imagem histopatológica?
Hmmm. Aprender padrões
como o patologista!
Epa, não, espera!
Aprendizado de Máquina (Machine Learning)
provê aos sistemas computacionais habilidade de
aprender sem terem sido explicitamente
programados
Abarca de reconhecimento de padrões (pattern
recognition) até teoria do aprendizado (learning theory) na
“inteligência artificial” (artificial intelligence – AI)
"A computer program is
said to learn from
experience E with respect to
some class of tasks T and
performance measure P if
its performance at tasks in
T, as measured by P,
improves with experience
E.“
Tom M. Mitchell (1997)
Termos cognitivos X operacionais
Algoritmos que podem aprender a partir de dados
e fazer previsões sobre dados
Construir um modelo tomar decisões ou fazer predições
Não segue instruções estáticas
Considerando entradas (input signal) e feedback
disponíveis ao sistema
(1) Aprendizado supervisionado
(2) Aprendizado não-supervisionado
(3) Aprendizado por reforço
**existem (muitas) variações
CãesGatos
Teste
O que é isso?
Treino
Conjunto não rotulado
A
C
B
D
Agrupamento
(clustering)
Uso de feedback sobre o resultado N recompensa
cumulativa
robótica
Tipos de problemas/tarefas típicas
Classificação
• qual a classe de um objeto?
• Ex.: A imagem é de um tumor maligno ou benigno? Qual é o estágio
desse tumor? A mensagem é spam ou conteúdo válido? De quem é
esse rosto?
Regressão
• Qual o próximo valor (contínuo) de um objeto/evento?
• Ex.: Qual será o valor das ações da empresa X no próximo pregão?
Qual o consumo de água no próximo mês? Qual será o valor médio
de venda desse terreno no próximo ano?
Tipos de problemas/tarefas típicas
Agrupamento (Clustering)
• Agrupar objetos similares
Redução de dimensionalidade
• “Compactar” dados de altas dimensões de representação para
dimensões menores
• Usado para visualização e como operação interna de certos
algoritmos
Tipos de problemas/tarefas típicas
Ranking
• Arranjar uma lista de objetos para maximizar/minimizar algum
critério
Recomendação
• Filtrar um pequeno subconjunto de um grande conjunto de objetos
A chave dos modelos está na representação dos
objetos Ncaracterísticas significativas (features)
Qual a melhor característica (mais discriminativa) de um
objeto?
Como extrair das entradas?
Definir características ótimas para um problema
(aplicação) pode levar décadas e demandar o esforço de
toda uma comunidade de pesquisadores!
Ausência de grandes bases de imagens públicas
para pesquisa
Imagens histopatológicas são inerentemente complexas
Texturas e estruturas histológicas complexas
Segmentação de imagens histopatológicas é uma
tarefa difícil e laboriosa
Padrões histológicos mistos
Variação nas lâminas
principalmente procedimentos de preparo (coloração)
BreaKHis - Base pública de imagens histopatológicas de
tumores mamários
imagens microscópicas de lâminas coradas com HE em 4
aumentos: 40x, 100x, 200x e 400x
• malignos: carcinoma ductal, carcinoma lobular, carcinoma mucinoso,
carcinoma papilífero
• benignos: adenose, fibroadenoma, tumor filodes, adenoma tubular
http://web.inf.ufpr.br/vri/breast-cancer-database
Aquisição das imagens
setup comum na prática patológica em muitos
países (Brasil incluído)
Descritores de textura e identificador de pontos de interesse
CLBP (Completed LBP): Sign, Magnitude, Center
GLCM (Gray-Level Coocurrence Matrix)
LBP (Local Binary Pattern)
LPQ (Local Phase Quantization)
ORB (Oriented FAST and Rotated BRIEF)
PFTAS (Parameter Free TAS)
Classificadores “clássicos”
k-Nearest Neighbors (k-NN)
Quadratic Discriminant Analysis (QDA)
Random Forests (RF)
Support Vector Machine (SVM)
Confusões
( A) imagem original de um tumor benigno classificado
erroneamente como maligno
(B) tumor realmente maligno
A B
Para aprender representações significativas diretamente dos
dados!
Características projetadas manualmente são muito específicas,
incompletas e consomem muito tempo de projeto e validação
dependem de um especialista
Características aprendidas são fáceis de adaptar, fáceis de aprender
Fornece um framework (quase?) universal e muito flexível para
representar informação visual, linguística, etc.
Aprender de forma supervisionada (usando rótulos) ou não-
supervisionada (texto/áudio/imagens/etc. puros)
O conceito-chave é a habilidade de aprender
representações hierárquicas de características (inspirado
no sistema visual dos mamíferos)
Em geral, redes neurais (RN) multicamadas são
empregadas
CNN (Convolutional Neural Network)
DBN (Deep Belief Network)
RNN (Recurrent Neural Network)
Input layer Hidden layers Output layer
.
.
.
.
.
.
.
.
.
CNNs são similares a outras RN
são treinadas com uma versão de algoritmo back-propagation
O que difere é a arquitetura delas
São projetadas para reconhecer padrões visuais diretamente
dos pixels com nenhum (mínimo) preprocessamento
Podem reconhecer padrões com extrema variabilidade e
robustez a ruídos, distorções e transformações geométricas
simples
• Ex.: caracteres manuscritos
Célula especializada em conduzir impulsos elétricos
Tecido nervoso (H&E) e representação esquemática de um
neurônio
The Perceptron [Rosenblatt, Psychol. Rev. 1958]: um
classificador linear
Córtex Visual Mamífero
Arquitetura em camadas de
[Hubel & Weisel, 1959]:
percepção visual
Uma RN multicamada é um classificador não-linear
Treinar é aprender os pesos
Encontrar os pesos w da rede que minimizem o erro entre os
rótulos verdadeiros  e os rótulos estimados  
Minimização pode ser feita por “gradient descent” fornecida
uma diferenciável
O erro é usado para retornar e ajustar os pesos das camadas
anteriores
• Esse método de treinamento chama-se back-propagation
Na prática costuma-se usar Stochastic Gradient Descent
(SGD)
Uma aproximação estocástica do gradiente de custo
“verdadeiro”
RN profunda é uma hierarquia de camadas
Cada camada transforma os dados de entrada em
representações mais abstratas
• Ex.: contornos N nariz N face
Camada final combina as representações N Predição
Atualmente, se uma RN tem mais que 2 camadas
ocultas ela é profunda!
Uma CNN (Convolutional Neural Network) é
essencialmente um arranjo de camadas:
Convolucionais (Convolutional Layers)
ReLU (Rectfied Linear Units Layers)
Pooling Layers
Totalmente Conectadas (Fully-Connected Layers)
Deslizar espacialmente uma máscara (kernel ou
filtro) pela imagem, calculando o produto escalar
Stride = 1
A entrada é um volume
O filtro se estende por toda a profundidade
Imagem RGB = 3 canais
Imagem 32x32x3
Filtro 5x5x3
Cada convolução gera um mapa de ativação
Os vários mapas de ativação são empilhados, para
gerar uma “nova imagem”
P.ex.: 6 filtros 5x5 geram 6 mapas 28x28, ou uma, nova
imagem de 28x28x6
Uma CNN é uma sequência de camadas convolucionais
intercaladas por funções de ativação (activation
functions)
Note a redução espacial dos volumes
Um mapa de ativação é uma camada de saída de
neurônios
Cada neurônio conecta-se a uma pequena região da entrada
Todos compartilham parâmetros
Os neurônios estão arranjados em uma grade 3D
Não-linearidades são necessárias para aprender
representações complexas dos dados (não-lineares)
Por elemento (independente)
max(0, x) é a mais usada
Torna a representação menor e mais “gerenciável”
Opera sobre cada mapa de ativação de forma
independente
A função de max pooling é a mais comum
A Fully Connected Layer (FC) contém neurônios
conectados a todo o volume de entrada, como uma RN
convencional
A última camada da CNN normalmente é uma FC
• O tamanho da saída é igual ao número de classes
Data augmentation para CNN
Problemas com patches recorrentes
problemas patches “planos”, não representativos
Multiple Instance Learning (MIL)
Bags e instâncias
Cada imagem é uma bag e suas subimagens (patches)
são instâncias
a imagem é positiva (patológica) se tem pelo menos um patch
(subimagem) maligno
a imagem será negativa (benigna) se não tiver nenhuma
subimagem maligna
Seus problemas acabaram!
AWS (Amazon Web Service) – AWS EC2 GPU Spot Instance:
g3s.xlarge N US$0.75 per hour
Execute seus códigos python para ML diretamente no
browser
Sem configuração
Acesso gratuito a GPUs e TPUs em nuvem
Compartilhamento facilitado
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas

Mais conteúdo relacionado

Mais procurados

2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
Aula 01 - Hardware e software.pdf
Aula 01 - Hardware e software.pdfAula 01 - Hardware e software.pdf
Aula 01 - Hardware e software.pdfGojoDesigner
 
Aulas iniciais de informática 1
Aulas iniciais de informática 1Aulas iniciais de informática 1
Aulas iniciais de informática 1diasferraciolli
 
Aula microscopia
Aula microscopiaAula microscopia
Aula microscopiaDjan
 
Sistema sensorial dos vertebrados - UFPA
Sistema sensorial dos vertebrados  - UFPASistema sensorial dos vertebrados  - UFPA
Sistema sensorial dos vertebrados - UFPAGuellity Marcel
 
Plantas órgãos vegetais prof Ivanise Meyer
Plantas órgãos vegetais prof Ivanise MeyerPlantas órgãos vegetais prof Ivanise Meyer
Plantas órgãos vegetais prof Ivanise MeyerIvanise Meyer
 
Reinos dos fungos prof Ivanise Meyer
Reinos dos fungos prof Ivanise MeyerReinos dos fungos prof Ivanise Meyer
Reinos dos fungos prof Ivanise MeyerIvanise Meyer
 
ANAMNESIS - 2018 exame físico grandes animais.pdf
ANAMNESIS - 2018 exame físico grandes animais.pdfANAMNESIS - 2018 exame físico grandes animais.pdf
ANAMNESIS - 2018 exame físico grandes animais.pdfINTA
 
Slides da aula de Biologia (Renato) sobre Semente e Fruto
Slides da aula de Biologia (Renato) sobre Semente e FrutoSlides da aula de Biologia (Renato) sobre Semente e Fruto
Slides da aula de Biologia (Renato) sobre Semente e FrutoTurma Olímpica
 
Sistema nervoso
Sistema nervosoSistema nervoso
Sistema nervosoemanuel
 

Mais procurados (20)

2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Aula 01 - Hardware e software.pdf
Aula 01 - Hardware e software.pdfAula 01 - Hardware e software.pdf
Aula 01 - Hardware e software.pdf
 
Reino plantae resumo
Reino plantae resumoReino plantae resumo
Reino plantae resumo
 
Aulas iniciais de informática 1
Aulas iniciais de informática 1Aulas iniciais de informática 1
Aulas iniciais de informática 1
 
Aula microscopia
Aula microscopiaAula microscopia
Aula microscopia
 
Sistema sensorial dos vertebrados - UFPA
Sistema sensorial dos vertebrados  - UFPASistema sensorial dos vertebrados  - UFPA
Sistema sensorial dos vertebrados - UFPA
 
Plantas órgãos vegetais prof Ivanise Meyer
Plantas órgãos vegetais prof Ivanise MeyerPlantas órgãos vegetais prof Ivanise Meyer
Plantas órgãos vegetais prof Ivanise Meyer
 
Evolução dos computadores
Evolução dos computadoresEvolução dos computadores
Evolução dos computadores
 
Colheita de lliquor
Colheita de lliquorColheita de lliquor
Colheita de lliquor
 
Princípios de taxonomia
Princípios de taxonomiaPrincípios de taxonomia
Princípios de taxonomia
 
Difilobotríase
DifilobotríaseDifilobotríase
Difilobotríase
 
Orgaos vegetais
Orgaos vegetaisOrgaos vegetais
Orgaos vegetais
 
Reinos dos fungos prof Ivanise Meyer
Reinos dos fungos prof Ivanise MeyerReinos dos fungos prof Ivanise Meyer
Reinos dos fungos prof Ivanise Meyer
 
Aula reino protoctista
Aula reino protoctistaAula reino protoctista
Aula reino protoctista
 
Taxonomia e sistemática
Taxonomia e sistemáticaTaxonomia e sistemática
Taxonomia e sistemática
 
Vírus
VírusVírus
Vírus
 
ANAMNESIS - 2018 exame físico grandes animais.pdf
ANAMNESIS - 2018 exame físico grandes animais.pdfANAMNESIS - 2018 exame físico grandes animais.pdf
ANAMNESIS - 2018 exame físico grandes animais.pdf
 
Sistematica vegetal
Sistematica vegetal  Sistematica vegetal
Sistematica vegetal
 
Slides da aula de Biologia (Renato) sobre Semente e Fruto
Slides da aula de Biologia (Renato) sobre Semente e FrutoSlides da aula de Biologia (Renato) sobre Semente e Fruto
Slides da aula de Biologia (Renato) sobre Semente e Fruto
 
Sistema nervoso
Sistema nervosoSistema nervoso
Sistema nervoso
 

Semelhante a Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas

Aprendizado Profundo & CNNs
Aprendizado Profundo & CNNsAprendizado Profundo & CNNs
Aprendizado Profundo & CNNsFabio Spanhol
 
Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosDiego Negretto
 
aula painel de comando dia 30.pptx
aula painel de comando dia 30.pptxaula painel de comando dia 30.pptx
aula painel de comando dia 30.pptxKarlosEduardo30
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesXequeMateShannon
 
Sistemas Especialistas
Sistemas EspecialistasSistemas Especialistas
Sistemas Especialistaselliando dias
 
Teoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSTeoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSLuciana Roncarati
 
IA Redes Neurais Artificiais
IA Redes Neurais ArtificiaisIA Redes Neurais Artificiais
IA Redes Neurais Artificiaisrafael.joi
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRenato Ximenes
 
Inteligência artificial aplicada à construção de modelos ecológicos
Inteligência artificial aplicada à construção de modelos ecológicosInteligência artificial aplicada à construção de modelos ecológicos
Inteligência artificial aplicada à construção de modelos ecológicosAdriano Souza
 
[Jose Ahirton lopes] Do Big ao Better Data
[Jose Ahirton lopes] Do Big ao Better Data[Jose Ahirton lopes] Do Big ao Better Data
[Jose Ahirton lopes] Do Big ao Better DataAhirton Lopes
 
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em BiologiaLeandro de Castro
 
Aprendizagem Não-Supervisionada
Aprendizagem Não-SupervisionadaAprendizagem Não-Supervisionada
Aprendizagem Não-SupervisionadaLuís Nunes
 

Semelhante a Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas (20)

Aprendizado Profundo & CNNs
Aprendizado Profundo & CNNsAprendizado Profundo & CNNs
Aprendizado Profundo & CNNs
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de Dados
 
Sistemas Cognitivos
Sistemas CognitivosSistemas Cognitivos
Sistemas Cognitivos
 
aula painel de comando dia 30.pptx
aula painel de comando dia 30.pptxaula painel de comando dia 30.pptx
aula painel de comando dia 30.pptx
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicações
 
Sistemas Especialistas
Sistemas EspecialistasSistemas Especialistas
Sistemas Especialistas
 
Teoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSTeoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGS
 
Apresentacao
ApresentacaoApresentacao
Apresentacao
 
Dismistificando deep learning
Dismistificando deep learningDismistificando deep learning
Dismistificando deep learning
 
IA Redes Neurais Artificiais
IA Redes Neurais ArtificiaisIA Redes Neurais Artificiais
IA Redes Neurais Artificiais
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzy
 
cbeb2014_submission_666
cbeb2014_submission_666cbeb2014_submission_666
cbeb2014_submission_666
 
Inteligência artificial aplicada à construção de modelos ecológicos
Inteligência artificial aplicada à construção de modelos ecológicosInteligência artificial aplicada à construção de modelos ecológicos
Inteligência artificial aplicada à construção de modelos ecológicos
 
[Jose Ahirton lopes] Do Big ao Better Data
[Jose Ahirton lopes] Do Big ao Better Data[Jose Ahirton lopes] Do Big ao Better Data
[Jose Ahirton lopes] Do Big ao Better Data
 
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
 
Aprendizagem Não-Supervisionada
Aprendizagem Não-SupervisionadaAprendizagem Não-Supervisionada
Aprendizagem Não-Supervisionada
 

Mais de Fabio Spanhol

Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?Fabio Spanhol
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Fabio Spanhol
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6 Fabio Spanhol
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6Fabio Spanhol
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 
Linguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos IntrodutóriosLinguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos IntrodutóriosFabio Spanhol
 
Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python Fabio Spanhol
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4Fabio Spanhol
 
ENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino MédioENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino MédioFabio Spanhol
 
Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoParadigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoFabio Spanhol
 
Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos Fabio Spanhol
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosFabio Spanhol
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2Fabio Spanhol
 
Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010Fabio Spanhol
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialFabio Spanhol
 
E essa tal Virtualização?
E essa tal Virtualização?E essa tal Virtualização?
E essa tal Virtualização?Fabio Spanhol
 
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
"Mostrando a Cobra" - ou Breve Introdução à Linguagem PythonFabio Spanhol
 
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2Fabio Spanhol
 

Mais de Fabio Spanhol (20)

Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Linguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos IntrodutóriosLinguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos Introdutórios
 
Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4
 
Python tutorial-ed3
Python tutorial-ed3Python tutorial-ed3
Python tutorial-ed3
 
ENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino MédioENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino Médio
 
Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoParadigmas de Linguagens de Programação
Paradigmas de Linguagens de Programação
 
Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos Introdutórios
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
Tutorial Python - 1
Tutorial Python - 1Tutorial Python - 1
Tutorial Python - 1
 
E essa tal Virtualização?
E essa tal Virtualização?E essa tal Virtualização?
E essa tal Virtualização?
 
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
 
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
 

Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas

  • 1.
  • 2. What we call chaos is just patterns we haven’t recognized. What we call random is just patterns we can’t decipher. Chuck Palahniuk
  • 3. $whoami Marido Pai de um jovem universitário e atualmente 12 gatos • Ok, 11 cães também... Apaixonado por programação (desde os ≈ 12 anos) Cinéfilo Bacharel em Informática (Unioeste, 1999) • GIS, Gerência de Redes Mestre em Ciência da Computação (UFSC, 2002) • Gerência de Redes Doutor em Ciência da Computação (UFPR, 2018) • Machine Learning Tdeep learning T imagens médicas Professor na UTFPR-TD (desde 2009)
  • 4. São esperados 27 milhões de novos casos de câncer até 2030 (World Cancer Research Fund - WCRF) Em 2018, ocorreram 18 milhões de casos novos e 9,6 milhões de óbitos! • Em países desenvolvidos, predominam os tipos de câncer ligados à urbanização e ao desenvolvimento (pulmão, próstata, mama, cólon e reto) N envelhecimento populacional & hábitos • nos países de baixo e médio desenvolvimentos, alta ocorrência de tipos associados a infecções (colo do útero, estômago, esôfago, fígado) N saneamento básico
  • 5. Triênio 2020-2022 esperados mais de 625 mil casos/ano Fonte: INCA (2020)
  • 6.
  • 7. Câncer é a designação comum de várias doenças caracterizadas pela replicação celular anormal e acelerada Neoplasia N neoplasma (tumor) • “benigno” localizado e de crescimento lento • maligno agressivo, crescimento rápido, letal invasivo (metastático) Câncer é sinônimo de tumor maligno
  • 8. Tipo de carcinoma: tumor maligno originado no tecido mamário principalmente mulheres • pode acometer homens (≈ 1% dos casos) carcinoma ductal > 80% carcinoma lobular ≈ 10-15%
  • 9.
  • 10. Métodos não-invasivos (imagem) Mamografia (raios X) Ressonância magnética Ultrassonografia Termografia Biópsia — único método confiável para detectar a presença do câncer, tipo, estágio, etc. Fine Needle Aspiration (FNA) Core Needle Biopsy (CNB) Vacuum-assisted Cirúrgico
  • 12. Amostras de células (citologia) ou tecidos (histologia) são preparados em lâminas de microscopia para análise patológica O diagnóstico é feito através da análise do especialista humano (médico patologista) • Para o processamento automatizado, imagens cito (A) ou histopatológicas (B) devem ser adquiridas A B
  • 13. Mas o que é uma imagem histopatológica?
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 21. Aprendizado de Máquina (Machine Learning) provê aos sistemas computacionais habilidade de aprender sem terem sido explicitamente programados Abarca de reconhecimento de padrões (pattern recognition) até teoria do aprendizado (learning theory) na “inteligência artificial” (artificial intelligence – AI)
  • 22.
  • 23. "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.“ Tom M. Mitchell (1997)
  • 24. Termos cognitivos X operacionais Algoritmos que podem aprender a partir de dados e fazer previsões sobre dados Construir um modelo tomar decisões ou fazer predições Não segue instruções estáticas
  • 25. Considerando entradas (input signal) e feedback disponíveis ao sistema (1) Aprendizado supervisionado (2) Aprendizado não-supervisionado (3) Aprendizado por reforço **existem (muitas) variações
  • 26.
  • 28.
  • 31.
  • 32. Uso de feedback sobre o resultado N recompensa cumulativa robótica
  • 33. Tipos de problemas/tarefas típicas Classificação • qual a classe de um objeto? • Ex.: A imagem é de um tumor maligno ou benigno? Qual é o estágio desse tumor? A mensagem é spam ou conteúdo válido? De quem é esse rosto? Regressão • Qual o próximo valor (contínuo) de um objeto/evento? • Ex.: Qual será o valor das ações da empresa X no próximo pregão? Qual o consumo de água no próximo mês? Qual será o valor médio de venda desse terreno no próximo ano?
  • 34. Tipos de problemas/tarefas típicas Agrupamento (Clustering) • Agrupar objetos similares Redução de dimensionalidade • “Compactar” dados de altas dimensões de representação para dimensões menores • Usado para visualização e como operação interna de certos algoritmos
  • 35. Tipos de problemas/tarefas típicas Ranking • Arranjar uma lista de objetos para maximizar/minimizar algum critério Recomendação • Filtrar um pequeno subconjunto de um grande conjunto de objetos
  • 36. A chave dos modelos está na representação dos objetos Ncaracterísticas significativas (features) Qual a melhor característica (mais discriminativa) de um objeto? Como extrair das entradas? Definir características ótimas para um problema (aplicação) pode levar décadas e demandar o esforço de toda uma comunidade de pesquisadores!
  • 37. Ausência de grandes bases de imagens públicas para pesquisa
  • 38.
  • 39.
  • 40. Imagens histopatológicas são inerentemente complexas Texturas e estruturas histológicas complexas
  • 41. Segmentação de imagens histopatológicas é uma tarefa difícil e laboriosa Padrões histológicos mistos
  • 42. Variação nas lâminas principalmente procedimentos de preparo (coloração)
  • 43. BreaKHis - Base pública de imagens histopatológicas de tumores mamários imagens microscópicas de lâminas coradas com HE em 4 aumentos: 40x, 100x, 200x e 400x • malignos: carcinoma ductal, carcinoma lobular, carcinoma mucinoso, carcinoma papilífero • benignos: adenose, fibroadenoma, tumor filodes, adenoma tubular
  • 45. Aquisição das imagens setup comum na prática patológica em muitos países (Brasil incluído)
  • 46.
  • 47. Descritores de textura e identificador de pontos de interesse CLBP (Completed LBP): Sign, Magnitude, Center GLCM (Gray-Level Coocurrence Matrix) LBP (Local Binary Pattern) LPQ (Local Phase Quantization) ORB (Oriented FAST and Rotated BRIEF) PFTAS (Parameter Free TAS) Classificadores “clássicos” k-Nearest Neighbors (k-NN) Quadratic Discriminant Analysis (QDA) Random Forests (RF) Support Vector Machine (SVM)
  • 48.
  • 49.
  • 50. Confusões ( A) imagem original de um tumor benigno classificado erroneamente como maligno (B) tumor realmente maligno A B
  • 51.
  • 52. Para aprender representações significativas diretamente dos dados! Características projetadas manualmente são muito específicas, incompletas e consomem muito tempo de projeto e validação dependem de um especialista Características aprendidas são fáceis de adaptar, fáceis de aprender Fornece um framework (quase?) universal e muito flexível para representar informação visual, linguística, etc. Aprender de forma supervisionada (usando rótulos) ou não- supervisionada (texto/áudio/imagens/etc. puros)
  • 53. O conceito-chave é a habilidade de aprender representações hierárquicas de características (inspirado no sistema visual dos mamíferos)
  • 54. Em geral, redes neurais (RN) multicamadas são empregadas CNN (Convolutional Neural Network) DBN (Deep Belief Network) RNN (Recurrent Neural Network) Input layer Hidden layers Output layer . . . . . . . . .
  • 55. CNNs são similares a outras RN são treinadas com uma versão de algoritmo back-propagation O que difere é a arquitetura delas São projetadas para reconhecer padrões visuais diretamente dos pixels com nenhum (mínimo) preprocessamento Podem reconhecer padrões com extrema variabilidade e robustez a ruídos, distorções e transformações geométricas simples • Ex.: caracteres manuscritos
  • 56.
  • 57.
  • 58. Célula especializada em conduzir impulsos elétricos Tecido nervoso (H&E) e representação esquemática de um neurônio
  • 59. The Perceptron [Rosenblatt, Psychol. Rev. 1958]: um classificador linear
  • 60. Córtex Visual Mamífero Arquitetura em camadas de [Hubel & Weisel, 1959]: percepção visual
  • 61. Uma RN multicamada é um classificador não-linear
  • 62.
  • 63. Treinar é aprender os pesos Encontrar os pesos w da rede que minimizem o erro entre os rótulos verdadeiros  e os rótulos estimados   Minimização pode ser feita por “gradient descent” fornecida uma diferenciável O erro é usado para retornar e ajustar os pesos das camadas anteriores • Esse método de treinamento chama-se back-propagation
  • 64. Na prática costuma-se usar Stochastic Gradient Descent (SGD) Uma aproximação estocástica do gradiente de custo “verdadeiro”
  • 65.
  • 66. RN profunda é uma hierarquia de camadas Cada camada transforma os dados de entrada em representações mais abstratas • Ex.: contornos N nariz N face Camada final combina as representações N Predição
  • 67. Atualmente, se uma RN tem mais que 2 camadas ocultas ela é profunda!
  • 68.
  • 69. Uma CNN (Convolutional Neural Network) é essencialmente um arranjo de camadas: Convolucionais (Convolutional Layers) ReLU (Rectfied Linear Units Layers) Pooling Layers Totalmente Conectadas (Fully-Connected Layers)
  • 70. Deslizar espacialmente uma máscara (kernel ou filtro) pela imagem, calculando o produto escalar Stride = 1
  • 71. A entrada é um volume O filtro se estende por toda a profundidade Imagem RGB = 3 canais Imagem 32x32x3 Filtro 5x5x3
  • 72. Cada convolução gera um mapa de ativação
  • 73. Os vários mapas de ativação são empilhados, para gerar uma “nova imagem” P.ex.: 6 filtros 5x5 geram 6 mapas 28x28, ou uma, nova imagem de 28x28x6
  • 74. Uma CNN é uma sequência de camadas convolucionais intercaladas por funções de ativação (activation functions) Note a redução espacial dos volumes
  • 75. Um mapa de ativação é uma camada de saída de neurônios Cada neurônio conecta-se a uma pequena região da entrada Todos compartilham parâmetros Os neurônios estão arranjados em uma grade 3D
  • 76. Não-linearidades são necessárias para aprender representações complexas dos dados (não-lineares) Por elemento (independente) max(0, x) é a mais usada
  • 77. Torna a representação menor e mais “gerenciável” Opera sobre cada mapa de ativação de forma independente
  • 78. A função de max pooling é a mais comum
  • 79. A Fully Connected Layer (FC) contém neurônios conectados a todo o volume de entrada, como uma RN convencional A última camada da CNN normalmente é uma FC • O tamanho da saída é igual ao número de classes
  • 81. Problemas com patches recorrentes
  • 82. problemas patches “planos”, não representativos
  • 83.
  • 84. Multiple Instance Learning (MIL) Bags e instâncias
  • 85. Cada imagem é uma bag e suas subimagens (patches) são instâncias a imagem é positiva (patológica) se tem pelo menos um patch (subimagem) maligno a imagem será negativa (benigna) se não tiver nenhuma subimagem maligna
  • 86.
  • 87. Seus problemas acabaram! AWS (Amazon Web Service) – AWS EC2 GPU Spot Instance: g3s.xlarge N US$0.75 per hour
  • 88.
  • 89. Execute seus códigos python para ML diretamente no browser Sem configuração Acesso gratuito a GPUs e TPUs em nuvem Compartilhamento facilitado