|
import streamlit as st |
|
from ultralytics import YOLO |
|
from PIL import Image |
|
import torch |
|
|
|
st.set_page_config(layout="centered") |
|
|
|
@st.cache_resource |
|
def load_model(): |
|
model = YOLO('yolov8m.pt') |
|
model.load('keremberke/yolov8m-chest-xray-classification.pt') |
|
return model |
|
|
|
def main(): |
|
st.title("Analyse Radiographie Thoracique") |
|
|
|
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) |
|
resized_image = image.resize((640, 640)) |
|
st.image(resized_image, width=400) |
|
|
|
if st.button("Analyser"): |
|
results = model.predict(source=resized_image) |
|
st.write(f"Résultat: {results[0].names[results[0].probs.argmax()]}") |
|
st.write(f"Confiance: {results[0].probs.max():.2%}") |
|
|
|
if __name__ == "__main__": |
|
main() |