PROJETOS-RAIA commited on
Commit
b8e2e73
·
verified ·
1 Parent(s): 884be08

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +127 -0
README.md CHANGED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # BoneCheck
2
+
3
+ **BoneCheck** é um sistema de inteligência artificial para detecção precoce de osteopenia e osteoporose a partir de radiografias panorâmicas, exames comuns na odontologia. Utilizando redes neurais convolucionais (CNNs) e fusão de predições via XGBoost, o modelo permite identificar sinais da doença de forma rápida, acessível e não invasiva — com potencial para triagem populacional em larga escala, especialmente em regiões com acesso limitado a exames de densitometria óssea.
4
+
5
+ Fornecemos tanto os pesos do modelo final (XGBoost) quanto dos modelos intermediários baseados em redes neurais (CNNs e ViTs) usados para gerar representações usadas para treinar o modelo resultante.
6
+
7
+ ## Detalhes do Modelo
8
+
9
+ ### Descrição
10
+
11
+ * **Desenvolvido por:** [Gabriel Merlin](https://www.linkedin.com/in/gabrielcmerlin), [André De Mitri](https://www.linkedin.com/in/pedroamdelgado), [Ademir Guimarães](https://www.linkedin.com/in/ademir-guimaraes), [Matheus Giraldi](https://www.linkedin.com/in/matheus-giraldi-alvarenga-b2b856217), [Matheus Lenzi](https://www.linkedin.com/in/matheus-lenzi-dos-santos), [Yasmin Oliveira](https://www.linkedin.com/in/yasmin-victoria-oliveira)
12
+ * **Parceria institucional:** Faculdade de Odontologia de Ribeirão Preto – USP (FORP-USP), com participação dos Prof. Dr. Plauto Watanabe e Dra. Luciana Munhoz
13
+ * **Tipo do modelo:** XGBoost
14
+ * **Correspondência:** [raia.projetos@gmail.com](mailto:raia.projetos@gmail.com), [gabrielcmerlin@gmail.com](mailto:gabrielcmerlin@gmail.com)
15
+
16
+ ### Fontes
17
+
18
+ * **Repositório:** [https://github.com/gruporaia/BoneCheck](https://github.com/gruporaia/BoneCheck)
19
+
20
+ ## Usos
21
+
22
+ BoneCheck é destinado a auxiliar profissionais da saúde (especialmente dentistas e clínicos gerais) na triagem de osteoporose a partir de exames rotineiros. O modelo pode ser usado para:
23
+
24
+ * Triagem automatizada de risco em radiografias odontológicas;
25
+ * Apoio a pesquisas em IA aplicada à saúde óssea;
26
+ * Ensino e validação de soluções em medicina diagnóstica assistida por IA.
27
+
28
+ ## Viéses, Riscos e Limitações
29
+
30
+ * **Vieses nos dados:** O desempenho pode variar de acordo com a qualidade das imagens e diversidade do conjunto de dados de treino, que pode não representar todas as populações.
31
+ * **Risco de uso indevido:** O modelo **não substitui diagnóstico médico**. Seu uso deve ser acompanhado por um profissional da saúde.
32
+ * **Limitações técnicas:** A performance depende da padronização da imagem (posição da mandíbula, contraste, etc.).
33
+
34
+ ## Como Usar
35
+
36
+ ```python
37
+ from huggingface_hub import hf_hub_download
38
+ import xgboost as xgb
39
+
40
+ REPO_ID = "RAIA-BRASIL/bonecheck_xgboost"
41
+ FILENAME = "xgb_model.json"
42
+
43
+ # baixar o arquivo do modelo do Hugging Face Hub
44
+ model_path = hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
45
+
46
+ model = xgb.XGBClassifier()
47
+ model.load_model(model_path)
48
+ ```
49
+
50
+ ## Detalhes do treinamento
51
+
52
+ ### Dados de Treino
53
+
54
+ * Radiografias panorâmicas fornecidas pela FORP-USP, rotuladas por especialistas em três categorias: **Saudável**, **Osteopenia** e **Osteoporose**.
55
+
56
+ ### Procedimento
57
+
58
+ #### Pré-processamento
59
+
60
+ * Redimensionamento e padronização
61
+ * Extração de regiões de interesse (ROI)
62
+ * Normalização e balanceamento
63
+ * Divisão treino/teste com validação estratificada
64
+
65
+ #### Hiperparâmetros
66
+
67
+ Hiperparâmetros usados para o treinamento do XGBoost:
68
+ ```json
69
+ "best_params": {
70
+ "colsample_bytree": 0.85,
71
+ "gamma": 1,
72
+ "learning_rate": 0.02,
73
+ "max_depth": 2,
74
+ "min_child_weight": 1,
75
+ "n_estimators": 25,
76
+ "subsample": 0.7
77
+ }
78
+ ```
79
+
80
+ Hiperparâmetros usados para o treinamento das redes neurais (CNNs e ViTs):
81
+
82
+ ```json
83
+ "best_params" : {
84
+ "lr": 1e-4,
85
+ "batch_size": 64,
86
+ "optimizer": "Adam", # Adam para CNNs | AdamW para ViTs
87
+ "n_epochs": 100,
88
+ }
89
+ ```
90
+
91
+ OBS: os hiperparâmetros escolhidos são resultantes de uma tunagem de feita usando GridSearch.
92
+
93
+ ### Infraestrutura computacional
94
+
95
+ #### Hardware
96
+
97
+ * 1x GPU (V100)
98
+ * Linux (Ubuntu 22)
99
+
100
+ #### Software
101
+
102
+ * Python, PyTorch, TensorFlow, XGBoost, Streamlit
103
+
104
+ ## Avaliação
105
+
106
+ ### Dados de Teste & Métricas
107
+
108
+ #### Métricas utilizadas
109
+
110
+ * Acurácia
111
+ * Precisão
112
+ * Recall
113
+ * F1-Score
114
+
115
+ ### Resultados
116
+
117
+ | Modelo | Acurácia | Precisão | Recall | F1-Score |
118
+ | ---------------------- | --------- | --------- | --------- | --------- |
119
+ | ConvNeXT | 0.688 | 0.651 | 0.631 | 0.638 |
120
+ | EfficientNet | 0.558 | 0.608 | 0.605 | 0.512 |
121
+ | DeiT | 0.688 | 0.648 | 0.635 | 0.639 |
122
+ | Swin Transformer | 0.632 | 0.591 | 0.622 | 0.590 |
123
+ | **Ensemble (XGBoost)** | **0.697** | **0.712** | **0.622** | **0.838** |
124
+
125
+ ## Agradecimentos
126
+
127
+ Agradecimentos especiais aos membros do grupo **RAIA (Rede de Avanço em Inteligência Artificial)** do ICMC-USP São Carlos, aos professores parceiros da FORP-USP (Dra. Luciana Munhoz e Dr. Plauto Watanabe), e à comunidade de código aberto que apoia o desenvolvimento de ferramentas em IA na saúde.