-
Notifications
You must be signed in to change notification settings - Fork 1
/
streamlit_webapp.py
71 lines (55 loc) · 2.1 KB
/
streamlit_webapp.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import streamlit as st
from PIL import Image
from prediction import prediction
from prediction import confidence
from prediction import iou_thresold
from prediction import Display_Confidence
from prediction import Display_Class
import streamlit as st
import time
import os
# Global variables
uploaded_file = None
path_to_image = None
def make_prediction():
global confidence
global path_to_image
global uploaded_file
global iou_thresold
if uploaded_file is not None:
with st.spinner(f"Detecting heads in the image. Please wait..."):
annotatedImage = prediction(path_to_image, confidence,
disp_Class=Display_Class, disp_Confidence=Display_Confidence)
st.image(annotatedImage, caption=f'Model Prediction')
def upload_file():
global path_to_image
global uploaded_file
global confidence
uploaded_file = st.file_uploader("Upload an image",type=['jpg','png','jpeg'])
if uploaded_file is not None:
path_to_image = "image/"+uploaded_file.name
image = Image.open(uploaded_file)
# Save image to the directory 'image' if it doesn't exist
if not os.path.exists(path_to_image):
image.save(path_to_image)
make_prediction()
def side_bar():
global confidence
global uploaded_file
global iou_thresold
global Display_Confidence
global Display_Class
with st.sidebar:
st.subheader("Modify parameters")
confidence = st.slider('Confidence %', 0, 100, 80)
iou_thresold = st.slider('IOU Threshold %', 0, 100, 30)
# Checkboxes to display class and confidence for each detection
Display_Class = st.checkbox('Display Class', value=True)
Display_Confidence = st.checkbox('Display Confidence', value=True)
def main_func():
st.title('YoloV8 Head Detector Model') #display title
st.text('This is a YoloV8 object detection model that detects human heads.') #display description
side_bar() #display side bar
upload_file() #display the button to upload the file from file explorer
if __name__=='__main__':
main_func()