|
a |
|
b/README.md |
|
|
1 |
# U-Net para Segmentação de Imagens de Tomografia Computadorizada (Coração, Pulmão e Traqueia) |
|
|
2 |
|
|
|
3 |
OBS: Caso o Github não renderize o arquivo .ipynb use os links abaixo: |
|
|
4 |
|
|
|
5 |
- <a href="https://nbviewer.org/github/Julio-M39/11-Segmentation_CT_Images_heart_lung_and_trachea/blob/main/U-Net%20Convolutional%20Networks%20Para%20Segmenta%C3%A7%C3%A3o%20de%20Imagens%20de%20Tomografia%20Computadorizada.ipynb">Clique aqui!</a> |
|
|
6 |
|
|
|
7 |
### Definição do Projeto |
|
|
8 |
|
|
|
9 |
Neste Projeto vamos usar um modelo pré-treinado de arquitetura U-Net disponível com o framework PyTorch e construir uma solução de segmentação de imagens de tomografia |
|
|
10 |
computadorizada para segmentar o coração, o pulmão e a traqueia. Ao final, vamos gerar as previsões em vídeo. Esse modelo de IA sendo capaz de realizar a segmentação pode ser usado como suporte clínico ao especialista médico a fim de detectar possíveis anomalias. |
|
|
11 |
|
|
|
12 |
**Base de Imagens** |
|
|
13 |
|
|
|
14 |
Para este projeto usaremos as imagens e máscaras disponíveis no link abaixo: |
|
|
15 |
|
|
|
16 |
https://www.kaggle.com/sandorkonya/ct-lung-heart-trachea-segmentation |
|
|
17 |
|
|
|
18 |
Este conjunto de dados foi modificado a partir do conjunto de dados de segmentação pulmonar por Kónya et al., 2020 no link: |
|
|
19 |
|
|
|
20 |
https://www.kaggle.com/sandorkonya/ct-lung-heart-trachea-segmentation |
|
|
21 |
|
|
|
22 |
Os arquivos nrrd originais foram salvos no formato de tensor único com máscaras correspondentes aos rótulos: (pulmões, coração, traqueia) como matrizes numpy usando pickle. Cada tensor tem a seguinte forma: número de fatias (slices), largura, altura e número de classes, onde largura, altura e número de fatias são parâmetros individuais de cada id de tensor e número de classes = 3. |
|
|
23 |
|
|
|
24 |
Além disso, os dados foram salvos como imagens RGB, onde cada imagem corresponde a um ID de slice, e suas imagens-máscara possuem canais correspondentes a três classes: (pulmão, coração, traqueia). |
|
|
25 |
|
|
|
26 |
### Etapas do Projeto |
|
|
27 |
|
|
|
28 |
- Carregando e Compreendendo os Dados |
|
|
29 |
- Processo de Treinamento |
|
|
30 |
- Funções Para os Cálculos das Métricas |
|
|
31 |
- Função de Perda |
|
|
32 |
- Métricas Por Classe |
|
|
33 |
- Treinamento do Modelo |
|
|
34 |
- Avaliação do Modelo |
|
|
35 |
- Funções Para Geração de Vídeo |
|
|
36 |
- Geração de Vídeo das Previsões do Modelo |
|
|
37 |
|
|
|
38 |
### Resultados |
|
|
39 |
|
|
|
40 |
| CLASSES | DICE | JACCARD | |
|
|
41 |
| -------- | ------ | ------- | |
|
|
42 |
| Pulmão | 97,9 % | 96,8 % | |
|
|
43 |
| Coração | 97,9 % | 97,0 % | |
|
|
44 |
| Traqueia | 95,5 % | 93,5 % | |
|
|
45 |
|
|
|
46 |
**Resultados Visuais** |
|
|
47 |
|
|
|
48 |
Na imagem abaixo podemos ver os resultados visuais para a segmentação do pulmão em azul, coração em vermelho e traqueia em amarelo. |
|
|
49 |
|
|
|
50 |
<div> |
|
|
51 |
<img src="https://user-images.githubusercontent.com/54995990/189792403-48d44949-f824-46f9-b796-9f59db527940.png" width="800px" /> |
|
|
52 |
</div> |