Tuberculosis Detection ViT Model
This repository contains a Vision Transformer (ViT) model for classifying chest X-ray images as Normal or Tuberculosis.
Model Details
- Model Type: Vision Transformer (ViT)
- Framework: PyTorch 2.0.1
- Architecture:
- Patch size: 16
- Number of patches: 196
- Projection dimension: 512
- Number of attention heads: 8
- Number of encoder blocks: 6
- Input Size: 224x224 RGB images
- Classes: Normal, Tuberculosis
Dataset
- Source: TB Chest Radiography Database
- Preprocessing: Grayscale conversion, CLAHE enhancement, Gaussian blur, RGB conversion, standardization
- Training: Early stopping with validation loss monitoring
Usage
Quick Start
from huggingface_hub import hf_hub_download
import torch
import cv2
import numpy as np
# Download the handler
handler_path = hf_hub_download(repo_id="sukhmani1303/tuberculosis-vit-model", filename="handler.py")
# Import and use
exec(open(handler_path).read())
classifier = TBClassifier()
# Load and predict
image = cv2.imread("path/to/chest_xray.jpg")
result = classifier.predict(image)
print(f"Prediction: {result['prediction']}, Confidence: {result['confidence']:.4f}")
Loading the PyTorch Model
from huggingface_hub import hf_hub_download
import torch
import json
# Download model files
config_path = hf_hub_download(repo_id="sukhmani1303/tuberculosis-vit-model", filename="config.json")
model_path = hf_hub_download(repo_id="sukhmani1303/tuberculosis-vit-model", filename="pytorch_model.bin")
# Load configuration
with open(config_path, 'r') as f:
config = json.load(f)
# Initialize your ViT model class with config
# model = ViT(**config) # You'll need to have your ViT class available
# model.load_state_dict(torch.load(model_path, map_location='cpu'))
# model.eval()
Performance
- Training: Early stopping with validation monitoring
- Evaluation: Tested on held-out validation set
- Metrics: Accuracy, Precision, Recall, F1-score available upon request
Preprocessing Pipeline
- Convert RGB to grayscale
- Apply CLAHE (Contrast Limited Adaptive Histogram Equalization)
- Apply Gaussian blur (5x5 kernel)
- Resize to 224x224
- Convert back to RGB format
- Normalize with z-score standardization
Medical Disclaimer
⚠️ IMPORTANT: This model is for educational and research purposes only. It should not be used for actual medical diagnosis. Always consult qualified healthcare professionals for medical advice and diagnosis.
Citation
If you use this model in your research, please cite:
@misc{tuberculosis-vit-model,
author = {Sukhmani},
title = {Tuberculosis Detection using Vision Transformer},
year = {2025},
publisher = {Hugging Face},
url = {https://huggingface.co/sukhmani1303/tuberculosis-vit-model}
}
License
Apache 2.0
Contact
For questions or issues, please open an issue in the repository.
- Downloads last month
- 192
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support