使用 Ultralytics YOLO11 进行目标裁剪
什么是对象裁剪?
使用 Ultralytics YOLO11 进行目标裁剪包括从图像或视频中隔离和提取特定的检测到的目标。YOLO11 模型的功能用于准确识别和描绘目标,从而实现精确裁剪,以进行进一步的分析或操作。
观看: 使用 Ultralytics YOLO 进行目标裁剪
对象裁剪的优势
- 专注分析:YOLO11 有助于有针对性的目标裁剪,从而可以对场景中的单个项目进行深入检查或处理。
- 减少数据量:通过仅提取相关目标,目标裁剪有助于最大限度地减少数据大小,从而提高存储、传输或后续计算任务的效率。
- 增强精度:YOLO11 的物体检测精度可确保裁剪后的物体保持空间关系,为详细分析保留完整的视觉信息。
视觉效果
| 机场行李 |
|---|
![]() |
| 使用 Ultralytics YOLO11 在机场传送带上裁剪手提箱 |
使用 Ultralytics YOLO 进行目标裁剪
# Crop the objects
yolo solutions crop show=True
# Pass a source video
yolo solutions crop source="path/to/video.mp4"
# Crop specific classes
yolo solutions crop classes="[0, 2]"
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Initialize object cropper
cropper = solutions.ObjectCropper(
show=True, # display the output
model="yolo11n.pt", # model for object cropping, e.g., yolo11x.pt.
classes=[0, 2], # crop specific classes such as person and car with the COCO pretrained model.
# conf=0.5, # adjust confidence threshold for the objects.
# crop_dir="cropped-detections", # set the directory name for cropped detections
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = cropper(im0)
# print(results) # access the output
cap.release()
cv2.destroyAllWindows() # destroy all opened windows
当您提供可选的 crop_dir 参数,每个裁剪对象都会被写入该文件夹,文件名包括源图像名称和类别。这样就可以轻松检查检测结果或构建下游数据集,而无需编写额外的代码。
ObjectCropper 参数
这是一个包含以下内容的表格 ObjectCropper 参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 模型文件的路径。 |
crop_dir | str | 'cropped-detections' | 用于存储裁剪检测结果的目录名。 |
此外,以下可视化参数可供使用:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
show | bool | False | 可视化参数: True,则在窗口中显示带注释的图像或视频。这对于开发或测试期间的即时视觉反馈非常有用。 |
line_width | None or int | None | 指定边界框的线条宽度。 如果 None,则线条宽度会根据图像大小自动调整。 提供视觉自定义以提高清晰度。 |
常见问题
Ultralytics YOLO11 中的目标裁剪是什么,它是如何工作的?
使用 Ultralytics YOLO11 进行目标裁剪包括基于 YOLO11 的检测能力从图像或视频中隔离和提取特定目标。此过程允许通过利用 YOLO11 以高精度识别目标并相应地裁剪它们,从而实现专注分析、减少数据量和增强精度。有关深入的教程,请参阅目标裁剪示例。
为什么我应该使用 Ultralytics YOLO11 进行目标裁剪,而不是其他解决方案?
Ultralytics YOLO11 以其精度、速度和易用性而著称。它允许详细而准确的对象检测和裁剪,这对于重点分析和需要高数据完整性的应用至关重要。此外,YOLO11 与 OpenVINO 和 TensorRT 等工具无缝集成,适用于需要实时功能和在各种硬件上进行优化的部署。请在模型导出指南中了解其优势。
如何使用目标裁剪来减少数据集的数据量?
使用Ultralytics YOLO11 只对图像或视频中的相关对象进行裁剪,可以大大减少数据量,提高存储和处理效率。这一过程包括训练模型来detect 特定对象,然后利用detect 结果只裁剪和保存这些部分。欲了解更多有关Ultralytics YOLO11 功能的信息,请访问我们的快速入门指南。
我可以使用 Ultralytics YOLO11 进行实时视频分析和目标裁剪吗?
是的,Ultralytics YOLO11 可以处理实时视频馈送,动态detect 和裁剪物体。该模型的高速推理能力使其成为监控、体育分析和自动检测系统等实时应用的理想选择。查看跟踪和预测模式,了解如何实现实时处理。
高效运行 YOLO11 进行目标裁剪的硬件要求是什么?
Ultralytics YOLO11 已针对CPU 和GPU 环境进行了优化,但要获得最佳性能,尤其是实时或大容量推理,建议使用专用GPU (如NVIDIA 特斯拉、RTX 系列)。如果要在轻量级设备上部署,可考虑使用 CoreML或 TFLite或Android有关支持的设备和格式的更多详情,请参阅我们的模型部署选项。
