Closed sivaji123256 closed 1 year ago
👋 Hello @sivaji123256, thank you for leaving an issue on Roboflow Notebooks.
If you are filing a bug report, please be as detailed as possible. This will help us more easily diagnose and resolve the problem you are facing. To learn more about contributing, check out our Contributing Guidelines.
If you require support with custom code that is not part of Roboflow Notebooks, please reach out on the Roboflow Forum or on the GitHub Discussions page associated with this repository.
Do you have more questions about Roboflow that we haven't responded to yet? Feel free to ask them on the Roboflow Discuss forum. Our developer advocates and community team actively respond to questions there.
To ask questions about Notebooks, head over to the GitHub Discussions section of this repository.
Hi, @sivaji123256 👋🏻!
I think you can do it much easier. You have two options.
detections = detections[detections.area > AREA_TRESHOLD]
w = detections.xyxy[:, 2] - detections.xyxy[:, 0]
h = detections.xyxy[:, 3] - detections.xyxy[:, 1]
detections = detections[(w > WIDTH_TRESHOLD) & (h > HEIGHT_TRESHOLD)]
You put that filtering part under grounding_dino_model.predict_with_classes
call.
detections = grounding_dino_model.predict_with_classes(
image=image,
classes=enhance_class_name(class_names=CLASSES),
box_threshold=BOX_TRESHOLD,
text_threshold=TEXT_TRESHOLD
)
<<HERE>>
box_annotator = sv.BoxAnnotator()
labels = [
f"{CLASSES[class_id]} {confidence:0.2f}" if class_id is not None else f"{'other'} {confidence:0.2f}"
for _, _, confidence, class_id, _
in detections]
annotated_frame = box_annotator.annotate(scene=image.copy(), detections=detections, labels=labels)
I'm closing the issue. Feel free to reopen in case you'll have more questions.
Hi @hansent @tonylampada @yeldarby @RobertoNovelo , Thanks for the great work on image annotation. I was trying to filter out the bounding boxes by area on the output of the detections which is supervisior detection format. I was able to convert that into an numpy array. But, how to convert that numpy array back into supervisor detection class? Following is the small code :
Any suggestions would be highly useful.