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

  1. Convert RGB to grayscale
  2. Apply CLAHE (Contrast Limited Adaptive Histogram Equalization)
  3. Apply Gaussian blur (5x5 kernel)
  4. Resize to 224x224
  5. Convert back to RGB format
  6. 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

Space using sukhmani1303/tuberculosis-vit-model 1