import streamlit as st import cv2 import numpy as np import torch from torchvision import transforms # Load YOLOv5 models models = [] models.append(torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)) models.append(torch.hub.load('ultralytics/yolov5', 'yolov5m', pretrained=True)) models.append(torch.hub.load('ultralytics/yolov5', 'yolov5l', pretrained=True)) models.append(torch.hub.load('ultralytics/yolov5', 'yolov5x', pretrained=True)) # Custom CSS html_style = """ """ st.markdown(html_style, unsafe_allow_html=True) st.markdown("

AI Skin Analyzer

", unsafe_allow_html=True) uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"]) if uploaded_file is not None: image = cv2.imdecode(np.fromstring(uploaded_file.read(), np.uint8), 1) st.image(image, caption="Uploaded Image", use_column_width=True) st.markdown("

Model Predictions:

", unsafe_allow_html=True) # Perform object detection for each model for i, model in enumerate(models): st.markdown(f"

Model {i+1}

", unsafe_allow_html=True) results = model(image) results.render() output_image = results.imgs[0] st.image(output_image, use_column_width=True)