This pull request introduces an abstract base class called ObjectDetectionModel (object_detection_models/object_detection_model.py) that provides an interface for classes that wrap other implementations of object detectors. The purpose of this is to allow for experimentation with new object detectors like vision transformers and whatever new versions of single shot detectors come out.
This pull request also introduces the first wrapper that implements ObjectDetectionModel, a new module (object_detection_models/ultralytics_yolov8.py) that provides a wrapper for Ultralytics' YOLOv8 implementation.
Key features:
Adds the ObjectDetectionModel interface that allows any other place in the program to use object detectors without needing to know exactly how they are implemented.
Enables using YOLOv8 within the program through a common interface defined in object_detection_model.py.
Allows loading YOLOv8 from weights files and performing object detection on images.
Converts YOLOv8 model outputs to a list of standardized Detection objects.
Benefits:
Promotes code modularity and reusability through a consistent interface.
Simplifies usage of YOLOv8 within the program.
Additional file:
object_detection_model.py: Adds an interface for object detection models.
ultralytics_yolov8.py: Adds the UltralyticsYOLOv8 class as a concrete subclass.
Subject: Add YOLOv8 Object Detection Wrapper (object_detection_models)
This pull request introduces an abstract base class called
ObjectDetectionModel
(object_detection_models/object_detection_model.py
) that provides an interface for classes that wrap other implementations of object detectors. The purpose of this is to allow for experimentation with new object detectors like vision transformers and whatever new versions of single shot detectors come out. This pull request also introduces the first wrapper that implementsObjectDetectionModel
, a new module (object_detection_models/ultralytics_yolov8.py
) that provides a wrapper for Ultralytics' YOLOv8 implementation.Key features:
object_detection_model.py
.Detection
objects.Benefits:
Additional file:
object_detection_model.py
: Adds an interface for object detection models.ultralytics_yolov8.py
: Adds theUltralyticsYOLOv8
class as a concrete subclass.