import streamlit as st import tensorflow as tf import cv2 import numpy as np from PIL import Image, ImageOps import imageio.v3 as iio @st.cache_resource() def load_model(): model=tf.keras.models.load_model('./hip_impant_model.h5') return model st.title(":blue[Nishant Guvvada's] :red[AI Journey] The Hip-Implant X-ray Assistant") image = Image.open('./title.jpg') st.image(image) st.write(""" # Image Classification """ ) file = st.file_uploader("Upload an X-ray image", type= ['png', 'jpg']) def model_prediction(path): resize = tf.image.resize(path, (256,256)) with st.spinner('Model is being loaded..'): model=load_model() yhat = model.predict(np.expand_dims(resize/255, 0)) return yhat def on_click(): if file is None: st.text("Please upload an image file") else: image = Image.open(file) st.image(image, use_column_width=True) image = image.convert('RGB') predictions = model_prediction(np.array(image)) if (predictions>0.5): st.write("""# Prediction : Implant is loose""") else: st.write("""# Prediction : Implant is in control""") st.button('Predict', on_click=on_click)