跳转至内容

使用 Ultralytics YOLO26 进行对象模糊 🚀

什么是目标模糊处理?

使用 Ultralytics YOLO26 进行对象模糊涉及对图像或视频中特定 detect 到的对象应用模糊效果。这可以通过利用 YOLO26 模型识别和操作给定场景中对象的能力来实现。



观看: 使用 Ultralytics YOLO26 进行对象模糊

对象模糊的优势

  • 隐私保护: 通过在图像或视频中隐藏敏感或个人身份信息,对象模糊是保护隐私的有效工具。
  • 选择性聚焦:YOLO26 允许选择性模糊,使用户能够针对特定对象,确保在隐私和保留相关视觉信息之间取得平衡。
  • 实时处理:YOLO26 的效率支持实时对象模糊,使其适用于在动态环境中需要即时隐私增强的应用。
  • 法规遵从: 通过匿名化视觉内容中的可识别信息,帮助组织遵守 GDPR 等数据保护法规。
  • 内容审核: 可用于模糊媒体平台中不适当或敏感的内容,同时保留整体上下文。

使用 Ultralytics YOLO 进行对象模糊处理

# Blur the objects
yolo solutions blur show=True

# Pass a source video
yolo solutions blur source="path/to/video.mp4"

# Blur the specific classes
yolo solutions blur classes="[0, 5]"
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize object blurrer
blurrer = solutions.ObjectBlurrer(
    show=True,  # display the output
    model="yolo26n.pt",  # model for object blurring, e.g., yolo26m.pt
    # line_width=2,  # width of bounding box.
    # classes=[0, 2],  # blur specific classes, e.g., person and car with the COCO pretrained model.
    # blur_ratio=0.5,  # adjust percentage of blur intensity, value in range 0.1 - 1.0
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = blurrer(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

ObjectBlurrer 参数

这是一个包含以下内容的表格 ObjectBlurrer 参数:

参数类型默认值描述
modelstrNoneUltralytics YOLO 模型文件的路径。
blur_ratiofloat0.5调整模糊强度的百分比,取值范围为 0.1 - 1.0.

字段 ObjectBlurrer 解决方案还支持一系列 track 参数:

参数类型默认值描述
trackerstr'botsort.yaml'指定要使用的跟踪算法,例如: bytetrack.yamlbotsort.yaml.
conffloat0.1设置检测的置信度阈值;较低的值允许跟踪更多对象,但可能包含误报。
ioufloat0.7设置交并比 (IoU) 阈值,用于过滤重叠的检测结果。
classeslistNone按类别索引过滤结果。例如, classes=[0, 2, 3] 仅跟踪指定的类别。
verboseboolTrue控制跟踪结果的显示,提供被跟踪对象的可视化输出。
devicestrNone指定用于推理的设备(例如, cpu, cuda:00)。允许用户在 CPU、特定 GPU 或其他计算设备之间进行选择,以执行模型。

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

参数类型默认值描述
showboolFalse可视化参数: True,则在窗口中显示带注释的图像或视频。这对于开发或测试期间的即时视觉反馈非常有用。
line_widthint or NoneNone指定边界框的线条宽度。 如果 None,则线条宽度会根据图像大小自动调整。 提供视觉自定义以提高清晰度。
show_confboolTrue在标签旁边显示每个检测的置信度分数。 可以深入了解模型对每次检测的确定性。
show_labelsboolTrue在可视化输出中显示每个检测的标签。 能够立即理解检测到的对象。

真实世界的应用

监控中的隐私保护

安全摄像头和监控系统可以使用 YOLO26 自动模糊人脸、车牌或其他识别信息,同时仍能捕获重要活动。这有助于在公共场所维护安全,同时尊重隐私权。

医疗保健数据匿名化

医学影像 中,患者信息经常出现在扫描或照片中。YOLO26 可以 detect 并模糊这些信息,以便在出于研究或教育目的共享医疗数据时遵守 HIPAA 等法规。

文档编辑

在共享包含敏感信息的文档时,YOLO26 可以自动 detect 并模糊签名、账号或个人详细信息等特定元素,从而简化编辑过程,同时保持文档的完整性。

媒体和内容创作

内容创作者可以使用 YOLO26 模糊视频和图像中的品牌标志、受版权保护的材料或不当内容,有助于避免法律问题,同时保持整体内容质量。

常见问题

什么是使用 Ultralytics YOLO26 进行的对象模糊?

使用 Ultralytics YOLO26 进行对象模糊涉及自动 detect 并对图像或视频中的特定对象应用模糊效果。这项技术通过隐藏敏感信息同时保留相关视觉数据来增强隐私。YOLO26 的实时处理能力使其适用于需要即时隐私保护和选择性聚焦调整的应用。

如何使用 YOLO26 实现实时对象模糊?

要使用 YOLO26 实现实时对象模糊,请遵循提供的 python 示例。这涉及使用 YOLO26 进行 对象 detect 和 OpenCV 应用模糊效果。以下是一个简化版本:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Video writer
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init ObjectBlurrer
blurrer = solutions.ObjectBlurrer(
    show=True,  # display the output
    model="yolo26n.pt",  # model="yolo26n-obb.pt" for object blurring using YOLO26 OBB model.
    blur_ratio=0.5,  # set blur percentage, e.g., 0.7 for 70% blur on detected objects
    # line_width=2,  # width of bounding box.
    # classes=[0, 2],  # count specific classes, e.g., person and car with the COCO pretrained model.
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or processing is complete.")
        break
    results = blurrer(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

使用 Ultralytics YOLO26 进行对象模糊有什么好处?

Ultralytics YOLO26 为对象模糊提供了几个优势:

  • 隐私保护: 有效地模糊敏感或可识别的信息。
  • 选择性聚焦: 针对特定对象进行模糊处理,保持必要的视觉内容。
  • 实时处理:在动态环境中高效执行对象模糊处理,适用于即时隐私增强。
  • 可定制的强度: 调整模糊比例,以平衡隐私需求和视觉上下文。
  • 特定类别的模糊处理: 仅选择性地模糊某些类型的对象,同时保持其他对象可见。

有关更详细的应用,请查看对象模糊处理部分的优势

我可以使用 Ultralytics YOLO26 模糊视频中的人脸以保护隐私吗?

是的,Ultralytics YOLO26 可以配置为在视频中 detect 并模糊人脸以保护隐私。通过训练或使用预训练模型专门识别人脸,detect 结果可以使用 OpenCV 进行处理以应用模糊效果。请参阅我们关于 YOLO26 目标检测 的指南,并修改代码以针对人脸 detect。

YOLO26 与 Faster R-CNN 等其他对象 detect 模型在对象模糊方面相比如何?

Ultralytics YOLO26 在速度方面通常优于 Faster R-CNN 等模型,使其更适合实时应用。虽然这两种模型都能提供准确的检测,但 YOLO26 的架构经过优化,可实现快速推理,这对于实时目标模糊等任务至关重要。在我们的 YOLO26 文档 中了解更多技术差异和性能指标。



📅 创建于 2 年前 ✏️ 更新于 13 天前
glenn-jocherRizwanMunawarMatthewNoycepderrengerUltralyticsAssistantIvorZhu331AyushExelRizwanMunawar

评论