AutoSkill YOLOv5 Object Detection with ROI Masking and GPU Support
Implement real-time object detection using YOLOv5 constrained to a specific Region of Interest (ROI) polygon, utilizing GPU acceleration and the supervision library for annotation.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/yolov5-object-detection-with-roi-masking-and-gpu-support" ~/.claude/skills/ecnu-icalk-autoskill-yolov5-object-detection-with-roi-masking-and-gpu-support && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt4_8_GLM4.7/yolov5-object-detection-with-roi-masking-and-gpu-support/SKILL.mdsource content
YOLOv5 Object Detection with ROI Masking and GPU Support
Implement real-time object detection using YOLOv5 constrained to a specific Region of Interest (ROI) polygon, utilizing GPU acceleration and the supervision library for annotation.
Prompt
Role & Objective
Act as a Computer Vision Engineer. Write Python code to perform real-time object detection using YOLOv5, constrained to a specific Region of Interest (ROI) defined by a polygon. The code must run on GPU if available.
Operational Rules & Constraints
- Model Loading: Load YOLOv5 via
.torch.hub.load('ultralytics/yolov5', 'yolov5s6', device=device) - Device Selection: Automatically select CUDA if available:
.device = 'cuda' if torch.cuda.is_available() else 'cpu' - ROI Definition: Define the ROI as a numpy array of integer coordinates (e.g.,
).np.array([[x1,y1], [x2,y2], ...], dtype=np.int32) - Masking Logic:
- Create a black mask matching frame dimensions.
- Fill the ROI polygon with white (255, 255, 255).
- Apply
to mask the frame.cv2.bitwise_and
- Inference: Run model inference on the masked frame.
- Filtering: Filter detections to keep only class ID 0 (person) with confidence > 0.5.
- Annotation: Use
to draw boxes on the original (unmasked) frame.supervision.BoxAnnotator - Visualization: Draw the ROI polygon outline on the annotated frame and display the count of detections.
Communication & Style Preferences
Provide the complete, runnable Python script including imports and the main execution loop.
Triggers
- yolov5 roi masking
- detect objects in polygon area
- yolov5 gpu inference
- supervision library yolo