Skip to content
This repository was archived by the owner on Nov 13, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from 6 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
6 changes: 4 additions & 2 deletions modules/detect_target/detect_target_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ def create_detect_target(
save_name: str,
) -> tuple[bool, base_detect_target.BaseDetectTarget | None]:
"""
Construct detect target class at runtime.
Factory function to create a detection target object.

Returns:
Success, detect target object.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Return: Success, detect target object.

"""
match detect_target_option:
case DetectTargetOption.ML_ULTRALYTICS:
Expand All @@ -39,5 +42,4 @@ def create_detect_target(
show_annotations,
save_name,
)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restore empty line.

return False, None
13 changes: 11 additions & 2 deletions modules/detect_target/detect_target_ultralytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import time

import cv2
import torch
import ultralytics

from . import base_detect_target
Expand Down Expand Up @@ -37,14 +38,17 @@ def __init__(
self.__device = device
self.__model = ultralytics.YOLO(model_path)
self.__counter = 0
self.__enable_half_precision = not self.__device == "cpu"
self.__enable_half_precision = self.__device != "cpu"
self.__local_logger = local_logger
self.__show_annotations = show_annotations
if override_full:
self.__enable_half_precision = False
self.__filename_prefix = ""
if save_name != "":
self.__filename_prefix = save_name + "_" + str(int(time.time())) + "_"
if self.__device != "cpu" and not torch.cuda.is_available():
self.__local_logger.warning("CUDA not available. Falling back to CPU.")
self.__device = "cpu"
Comment on lines +51 to +53
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add empty line above this line.


def run(
self, data: image_and_time.ImageAndTime
Expand Down Expand Up @@ -111,6 +115,11 @@ def run(
self.__counter += 1

if self.__show_annotations:
cv2.imshow("Annotated", image_annotated) # type: ignore
if image_annotated is not None:
# Display the annotated image in a named window
cv2.imshow("Annotated", image_annotated)
cv2.waitKey(1) # Short delay to process GUI events
else:
self.__local_logger.warning("Annotated image is invalid.")

return True, detections