Skip to content
This repository has been archived by the owner on Mar 19, 2023. It is now read-only.

Update deepstack-ui.py #42

Merged
merged 1 commit into from
Jan 3, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 23 additions & 13 deletions app/deepstack-ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@ def process_image_face(pil_image, dsface):


deepstack_mode = st.selectbox("Select Deepstack mode:", [OBJECT, FACE])
## Setup sidebar
st.sidebar.title("Parameters")
st.text("Adjust parameters to select what is displayed")
CONFIDENCE_THRESHOLD = st.sidebar.slider(
"Confidence threshold",
MIN_CONFIDENCE_THRESHOLD,
MAX_CONFIDENCE_THRESHOLD,
DEFAULT_CONFIDENCE_THRESHOLD,
)

if deepstack_mode == FACE:
st.title("Deepstack Face recogntion")
Expand All @@ -74,26 +83,37 @@ def process_image_face(pil_image, dsface):
)
predictions = process_image_face(pil_image, dsface)
faces = utils.get_faces(predictions, pil_image.width, pil_image.height)
recognised_faces = [
face for face in faces if face["confidence"] > CONFIDENCE_THRESHOLD
]

# Draw object boxes
draw = ImageDraw.Draw(pil_image)
for face in faces:
name = face["name"]
confidence = face["confidence"]
box = face["bounding_box"]
name = face["name"]
box_label = f"{name}"
box = face["bounding_box"]
if confidence < CONFIDENCE_THRESHOLD or name == "unknown":
box_colour = const.YELLOW
else:
box_colour = const.GREEN

utils.draw_box(
draw,
(box["y_min"], box["x_min"], box["y_max"], box["x_max"]),
pil_image.width,
pil_image.height,
text=box_label,
color=const.YELLOW,
color=box_colour,
)
st.image(
np.array(pil_image), caption=f"Processed image", use_column_width=True,
)

st.subheader("All recognised faces")
st.write(recognised_faces)

st.subheader("All faces")
st.write(faces)

Expand Down Expand Up @@ -123,16 +143,6 @@ def process_image_face(pil_image, dsface):
else:
st.text(f"Using custom model named {DEEPSTACK_CUSTOM_MODEL}")

## Setup sidebar
st.sidebar.title("Parameters")
st.text("Adjust parameters to select what is displayed")
CONFIDENCE_THRESHOLD = st.sidebar.slider(
"Confidence threshold",
MIN_CONFIDENCE_THRESHOLD,
MAX_CONFIDENCE_THRESHOLD,
DEFAULT_CONFIDENCE_THRESHOLD,
)

# Get ROI info
st.sidebar.title("ROI")
ROI_X_MIN = st.sidebar.slider("x_min", 0.0, 1.0, DEFAULT_ROI_X_MIN)
Expand Down