跳转至内容

使用 Ultralytics YOLO26 进行对象裁剪

什么是对象裁剪?

使用Ultralytics YOLO26进行对象裁剪涉及从图像或视频中隔离并提取特定的 detect 对象。YOLO26 模型的能力被用于准确识别和描绘对象,从而实现精确裁剪,以便进行进一步分析或操作。



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

对象裁剪的优势

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

视觉效果

机场行李
使用 Ultralytics YOLO26 在机场传送带上裁剪行李箱
使用 Ultralytics YOLO26 在机场传送带上裁剪行李箱

使用 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="yolo26n.pt",  # model for object cropping, e.g., yolo26x.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 YOLO26 中的对象裁剪是什么,它是如何工作的?

使用Ultralytics YOLO26进行对象裁剪涉及根据 YOLO26 的 detect 能力,从图像或视频中隔离并提取特定对象。此过程通过利用 YOLO26 高精度识别对象并进行相应裁剪,从而实现聚焦分析、减少数据量和提高精度。有关深入教程,请参阅对象裁剪示例

为什么我应该选择 Ultralytics YOLO26 进行对象裁剪而非其他解决方案?

Ultralytics YOLO26 因其精度、速度和易用性而脱颖而出。它支持详细而准确的对象 detect 和裁剪,这对于聚焦分析以及需要高数据完整性的应用至关重要。此外,YOLO26 可与 OpenVINOTensorRT 等工具无缝集成,适用于需要实时能力和在各种硬件上进行优化的部署。在模型导出指南中探索其优势。

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

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

我可以使用 Ultralytics YOLO26 进行实时视频分析和对象裁剪吗?

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

高效运行 YOLO26 进行对象裁剪的硬件要求是什么?

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



📅 创建于 2 年前 ✏️ 更新于 7 天前
glenn-jocherRizwanMunawarMatthewNoyceRizwanMunawarUltralyticsAssistantIvorZhu331AyushExel

评论