From ebf7dcf5a80cd5c5c48b27f5c636689626d21368 Mon Sep 17 00:00:00 2001 From: Lakshantha Dissanayake Date: Wed, 17 Jul 2024 15:14:16 -0700 Subject: [PATCH] Fix `Enable Tracking` Button and Optimize FPS in Streamlit Application (#14508) Co-authored-by: UltralyticsAssistant Co-authored-by: Glenn Jocher --- ultralytics/solutions/streamlit_inference.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ultralytics/solutions/streamlit_inference.py b/ultralytics/solutions/streamlit_inference.py index 9335690f..fbb764d1 100644 --- a/ultralytics/solutions/streamlit_inference.py +++ b/ultralytics/solutions/streamlit_inference.py @@ -99,24 +99,26 @@ def inference(): stop_button = st.button("Stop") # Button to stop the inference - prev_time = 0 while videocapture.isOpened(): success, frame = videocapture.read() if not success: st.warning("Failed to read frame from webcam. Please make sure the webcam is connected properly.") break - curr_time = time.time() - fps = 1 / (curr_time - prev_time) - prev_time = curr_time + prev_time = time.time() # Store model predictions - if enable_trk: + if enable_trk == "Yes": results = model.track(frame, conf=conf, iou=iou, classes=selected_ind, persist=True) else: results = model(frame, conf=conf, iou=iou, classes=selected_ind) annotated_frame = results[0].plot() # Add annotations on frame + # Calculate model FPS + curr_time = time.time() + fps = 1 / (curr_time - prev_time) + prev_time = curr_time + # display frame org_frame.image(frame, channels="BGR") ann_frame.image(annotated_frame, channels="BGR")