-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🛠️ [WIP] Visualization POC #233
base: master
Are you sure you want to change the base?
🛠️ [WIP] Visualization POC #233
Conversation
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, Ashwin! I’ve left a few questions. Appreciate it! 😃
if result.has_labels: | ||
labels = result.get_labels() | ||
for label in labels: | ||
images.append(label.compute(image.copy(), overlay_on_image=True)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like an interesting use case for classification. However, for detection, will it display all bounding boxes associated with a particular class label?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, seems like we have generalization issues here, but those can be handled after additional review of the usecases different than anomaly
if result.has_labels: | ||
labels = result.get_labels() | ||
for label in labels: | ||
images.append(label.compute(image.copy(), overlay_on_image=True)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, seems like we have generalization issues here, but those can be handled after additional review of the usecases different than anomaly
@@ -30,6 +30,7 @@ dependencies = [ | |||
"openvino>=2024.0", | |||
"openvino-dev>=2024.0", | |||
"omz_tools @ git+https://github.com/openvinotoolkit/open_model_zoo.git@master#egg=omz_tools&subdirectory=tools/model_tools", | |||
"pillow", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a question if we have to use pillow here: wrappers expect a numpy array, we have to agree on image representation. numpy + opencv provide a better alignment with c++, while pillow is more convenient from the python API perspective
@ashwinvaidya17 , in the current Would it be possible to incorporate task-specific visualization logic into For instance: def _generate_simple(self, image: Image, result: VisualizeMixin) -> Image:
return result.generate(image) In this way, we can delegate the task-specific rendering to task result object, which would contain the appropriate logic for different tasks (e.g., detection, segmentation). |
…hwin/primitives_poc
Signed-off-by: Ashwin Vaidya <[email protected]>
What does this PR do?
Anomaly
Simple
Full
Classification
Simple
Full
Before submitting