bonecheck_xgboost / README.md
PROJETOS-RAIA's picture
Update README.md
0d539ef verified
---
pipeline_tag: image-classification
---
# BoneCheck
**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.
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.
## Detalhes do Modelo
### Descrição
* **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)
* **Parceria institucional:** Faculdade de Odontologia de Ribeirão Preto – USP (FORP-USP), com participação dos Prof. Dr. Plauto Watanabe e Dra. Luciana Munhoz
* **Tipo do modelo:** XGBoost
* **Correspondência:** [raia.projetos@gmail.com](mailto:raia.projetos@gmail.com), [gabrielcmerlin@gmail.com](mailto:gabrielcmerlin@gmail.com)
### Fontes
* **Repositório:** [https://github.com/gruporaia/BoneCheck](https://github.com/gruporaia/BoneCheck)
## Usos
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:
* Triagem automatizada de risco em radiografias odontológicas;
* Apoio a pesquisas em IA aplicada à saúde óssea;
* Ensino e validação de soluções em medicina diagnóstica assistida por IA.
## Viéses, Riscos e Limitações
* **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.
* **Risco de uso indevido:** O modelo **não substitui diagnóstico médico**. Seu uso deve ser acompanhado por um profissional da saúde.
* **Limitações técnicas:** A performance depende da padronização da imagem (posição da mandíbula, contraste, etc.).
## Como Usar
```python
from huggingface_hub import hf_hub_download
import xgboost as xgb
REPO_ID = "RAIA-BRASIL/bonecheck_xgboost"
FILENAME = "xgb_model.json"
# baixar o arquivo do modelo do Hugging Face Hub
model_path = hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
model = xgb.XGBClassifier()
model.load_model(model_path)
```
## Detalhes do treinamento
### Dados de Treino
* Radiografias panorâmicas fornecidas pela FORP-USP, rotuladas por especialistas em três categorias: **Saudável**, **Osteopenia** e **Osteoporose**.
### Procedimento
#### Pré-processamento
* Redimensionamento e padronização
* Extração de regiões de interesse (ROI)
* Normalização e balanceamento
* Divisão treino/teste com validação estratificada
#### Hiperparâmetros
Hiperparâmetros usados para o treinamento do XGBoost:
```json
"best_params": {
"colsample_bytree": 0.85,
"gamma": 1,
"learning_rate": 0.02,
"max_depth": 2,
"min_child_weight": 1,
"n_estimators": 25,
"subsample": 0.7
}
```
Hiperparâmetros usados para o treinamento das redes neurais (CNNs e ViTs):
```json
"best_params" : {
"lr": 1e-4,
"batch_size": 64,
"optimizer": "Adam", # Adam para CNNs | AdamW para ViTs
"n_epochs": 100,
}
```
OBS: os hiperparâmetros escolhidos são resultantes de uma tunagem de feita usando GridSearch.
### Infraestrutura computacional
#### Hardware
* 1x GPU (V100)
* Linux (Ubuntu 22)
#### Software
* Python, PyTorch, TensorFlow, XGBoost, Streamlit
## Avaliação
### Dados de Teste & Métricas
#### Métricas utilizadas
* Acurácia
* Precisão
* Recall
* F1-Score
### Resultados
| Modelo | Acurácia | Precisão | Recall | F1-Score |
| ---------------------- | --------- | --------- | --------- | --------- |
| ConvNeXT | 0.688 | 0.651 | 0.631 | 0.638 |
| EfficientNet | 0.558 | 0.608 | 0.605 | 0.512 |
| DeiT | 0.688 | 0.648 | 0.635 | 0.639 |
| Swin Transformer | 0.632 | 0.591 | 0.622 | 0.590 |
| **Ensemble (XGBoost)** | **0.697** | **0.712** | **0.622** | **0.838** |
## Agradecimentos
Agradecimentos especiais aos membros do grupo **RAIA (Rede de Avanço em Inteligência Artificial)** do ICMC-USP São Carlos e aos professores parceiros da FORP-USP (Dra. Luciana Munhoz e Dr. Plauto Watanabe).