|
import streamlit as st |
|
from transformers import AutoImageProcessor, AutoModelForImageClassification, pipeline |
|
from PIL import Image |
|
import torch |
|
|
|
st.set_page_config(page_title="Détection de fractures", layout="wide") |
|
|
|
@st.cache_resource |
|
def load_model(): |
|
return pipeline("image-classification", model="Heem2/bone-fracture-detection-using-xray") |
|
|
|
def main(): |
|
st.title("Détection de fractures osseuses") |
|
|
|
model = load_model() |
|
|
|
uploaded_file = st.file_uploader("Télécharger une radiographie", type=["jpg", "jpeg", "png"]) |
|
|
|
if uploaded_file: |
|
image = Image.open(uploaded_file) |
|
st.image(image, caption="Radiographie", use_column_width=True) |
|
|
|
if st.button("Analyser"): |
|
with st.spinner("Analyse en cours..."): |
|
try: |
|
result = model(image) |
|
st.write(f"Résultat: {result[0]['label']}") |
|
st.write(f"Confiance: {result[0]['score']:.2%}") |
|
except Exception as e: |
|
st.error(f"Erreur: {str(e)}") |
|
|
|
if __name__ == "__main__": |
|
main() |