--- license: apache-2.0 datasets: - Hemg/bone-fracture-detection language: - en base_model: - google/siglip2-base-patch16-224 pipeline_tag: image-classification library_name: transformers tags: - Bone - Fracture - Detection - SigLIP2 - medical - biology --- ![Add a heading.png](https://cdn-uploads.huggingface.co/production/uploads/65bb837dbfb878f46c77de4c/AubiFwkdFgFgN6KfHIVhb.png) # **Bone-Fracture-Detection** > **Bone-Fracture-Detection** is a binary image classification model based on `google/siglip2-base-patch16-224`, trained to detect **fractures in bone X-ray images**. It is designed for use in **medical diagnostics**, **clinical triage**, and **radiology assistance systems**. ```py Classification Report: precision recall f1-score support Fractured 0.8633 0.7893 0.8246 4480 Not Fractured 0.8020 0.8722 0.8356 4383 accuracy 0.8303 8863 macro avg 0.8326 0.8308 0.8301 8863 weighted avg 0.8330 0.8303 0.8301 8863 ``` ![download.png](https://cdn-uploads.huggingface.co/production/uploads/65bb837dbfb878f46c77de4c/aoLW8h2vfmEPH60676rnb.png) --- ## **Label Classes** The model distinguishes between the following bone conditions: ``` 0: Fractured 1: Not Fractured ``` --- ## **Installation** ```bash pip install transformers torch pillow gradio ``` --- ## **Example Inference Code** ```python import gradio as gr from transformers import AutoImageProcessor, SiglipForImageClassification from PIL import Image import torch # Load model and processor model_name = "prithivMLmods/Bone-Fracture-Detection" model = SiglipForImageClassification.from_pretrained(model_name) processor = AutoImageProcessor.from_pretrained(model_name) # ID to label mapping id2label = { "0": "Fractured", "1": "Not Fractured" } def detect_fracture(image): image = Image.fromarray(image).convert("RGB") inputs = processor(images=image, return_tensors="pt") with torch.no_grad(): outputs = model(**inputs) logits = outputs.logits probs = torch.nn.functional.softmax(logits, dim=1).squeeze().tolist() prediction = {id2label[str(i)]: round(probs[i], 3) for i in range(len(probs))} return prediction # Gradio Interface iface = gr.Interface( fn=detect_fracture, inputs=gr.Image(type="numpy"), outputs=gr.Label(num_top_classes=2, label="Fracture Detection"), title="Bone-Fracture-Detection", description="Upload a bone X-ray image to detect if there is a fracture." ) if __name__ == "__main__": iface.launch() ``` --- ## **Applications** * **Orthopedic Diagnostic Support** * **Emergency Room Triage** * **Automated Radiology Review** * **Clinical Research in Bone Health**