跳转至内容

使用 Ultralytics YOLO11 进行目标裁剪

什么是对象裁剪?

使用 Ultralytics YOLO11 进行目标裁剪包括从图像或视频中隔离和提取特定的检测到的目标。YOLO11 模型的功能用于准确识别和描绘目标,从而实现精确裁剪,以进行进一步的分析或操作。



观看: 使用 Ultralytics YOLO 进行目标裁剪

对象裁剪的优势

  • 专注分析:YOLO11 有助于有针对性的目标裁剪,从而可以对场景中的单个项目进行深入检查或处理。
  • 减少数据量:通过仅提取相关目标,目标裁剪有助于最大限度地减少数据大小,从而提高存储、传输或后续计算任务的效率。
  • 增强型精度: YOLO11的目标检测准确性确保裁剪后的对象保持其空间关系,从而保留视觉信息的完整性以进行详细分析。

视觉效果

机场行李
使用 Ultralytics 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 参数:

参数类型默认值描述
modelstrNoneUltralytics YOLO 模型文件的路径。
crop_dirstr'cropped-detections'用于存储裁剪检测结果的目录名。

此外,以下可视化参数可供使用:

参数类型默认值描述
showboolFalse可视化参数: True,则在窗口中显示带注释的图像或视频。这对于开发或测试期间的即时视觉反馈非常有用。
line_widthint or NoneNone指定边界框的线条宽度。 如果 None,则线条宽度会根据图像大小自动调整。 提供视觉自定义以提高清晰度。

常见问题

Ultralytics YOLO11 中的目标裁剪是什么,它是如何工作的?

使用 Ultralytics YOLO11 进行目标裁剪包括基于 YOLO11 的检测能力从图像或视频中隔离和提取特定目标。此过程允许通过利用 YOLO11 以高精度识别目标并相应地裁剪它们,从而实现专注分析、减少数据量和增强精度。有关深入的教程,请参阅目标裁剪示例

为什么我应该使用 Ultralytics YOLO11 进行目标裁剪,而不是其他解决方案?

Ultralytics YOLO11 以其精度、速度和易用性而著称。它允许详细而准确的对象检测和裁剪,这对于重点分析和需要高数据完整性的应用至关重要。此外,YOLO11 与 OpenVINOTensorRT 等工具无缝集成,适用于需要实时功能和在各种硬件上进行优化的部署。请在模型导出指南中了解其优势。

如何使用目标裁剪来减少数据集的数据量?

通过使用 Ultralytics YOLO11 仅裁剪图像或视频中的相关物体,您可以显著减小数据大小,使其更高效地进行存储和处理。此过程涉及训练模型以 detect 特定物体,然后使用结果仅裁剪并保存这些部分。有关利用 Ultralytics YOLO11 功能的更多信息,请访问我们的 快速入门指南

我可以使用 Ultralytics YOLO11 进行实时视频分析和目标裁剪吗?

是的,Ultralytics YOLO11 可以处理实时视频流以动态 detect 和裁剪对象。该模型的高速推理能力使其成为实时应用的理想选择,例如监控、体育分析和自动化检测系统。查看track预测模式,了解如何实现实时处理。

高效运行 YOLO11 进行目标裁剪的硬件要求是什么?

Ultralytics YOLO11 针对 CPU 和 GPU 环境进行了优化,但为了获得最佳性能,特别是对于实时或高吞吐量推理,建议使用专用 GPU(例如 NVIDIA Tesla、RTX 系列)。对于轻量级设备的部署,可以考虑使用 CoreML 适用于 iOS 或 TFLite 适用于 Android。有关支持的设备和格式的更多详细信息,请参阅我们的模型部署选项



📅 1 年前创建 ✏️ 1 个月前更新
glenn-jocherRizwanMunawarMatthewNoyceRizwanMunawarUltralyticsAssistantIvorZhu331AyushExel

评论