跳至内容

使用Ultralytics YOLO11 🚀 进行物体模糊处理

什么是物体模糊?

物体模糊 Ultralytics YOLO11是指对图像或视频中的特定检测对象应用模糊效果。这可以利用YOLO11 模型的功能来识别和处理给定场景中的物体。



观看: 使用对象模糊Ultralytics YOLO11

物体模糊的优势

  • 隐私保护:物体模糊功能可以隐藏图像或视频中的敏感信息或个人身份信息,是保护隐私的有效工具。
  • 选择性聚焦:YOLO11 允许选择性模糊,使用户能够锁定特定对象,确保隐私和保留相关视觉信息之间的平衡。
  • 实时处理:YOLO11它的高效性可实现实时对象模糊,因此适用于需要在动态环境中即时增强隐私的应用。
  • 合规性:通过对可视内容中的可识别信息进行匿名处理,帮助企业遵守 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 object
blurrer = solutions.ObjectBlurrer(
    show=True,  # display the output
    model="yolo11n.pt",  # model for object blurring i.e. yolo11m.pt
    # line_width=2,  # width of bounding box.
    # classes=[0, 2],  # count specific classes i.e, person and car with COCO pretrained model.
    # blur_ratio=0.5,  # adjust percentage of blur intensity, the 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 争论:

论据 类型 默认值 说明
model str None Ultralytics YOLO 模型文件的路径。
line_width None or int None 指定边界框的线宽。如果 None根据图像大小自动调整线宽。提供可视化定制,使图像更加清晰。
blur_ratio float 0.5 调整模糊强度的百分比,取值范围为 0.1 - 1.0.

"(《世界人权宣言》) ObjectBlurrer 解决方案还支持一系列 track 争论:

论据 类型 默认值 说明
tracker str 'botsort.yaml' 指定要使用的跟踪算法,例如 bytetrack.yamlbotsort.yaml.
conf float 0.3 设置检测的置信度阈值;数值越低,跟踪的物体越多,但可能会出现误报。
iou float 0.5 设置交叉重叠 (IoU) 阈值,用于过滤重叠检测。
classes list None 按类别索引筛选结果。例如 classes=[0, 2, 3] 只跟踪指定的类别。
verbose bool True 控制跟踪结果的显示,提供被跟踪物体的可视化输出。
device str None 指定用于推理的设备(例如:......)、 cpu, cuda:00).允许用户选择CPU 、特定GPU 或其他计算设备执行模型。

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

论据 类型 默认值 说明
show bool False 如果 True在一个窗口中显示注释的图像或视频。有助于在开发或测试过程中提供即时视觉反馈。
line_width None or int None 指定边界框的线宽。如果 None根据图像大小自动调整线宽。提供可视化定制,使图像更加清晰。

实际应用

监控中的隐私保护

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

医疗数据匿名化

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

文件编辑

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

媒体和内容创作

内容创作者可以使用YOLO11 模糊视频和图像中的品牌徽标、版权材料或不恰当内容,从而在保持整体内容质量的同时,帮助避免法律问题。

常见问题

Ultralytics YOLO11 什么是物体模糊?

物体模糊 Ultralytics YOLO11是指自动检测图像或视频中的特定对象并对其应用模糊效果。这种技术可以在保留相关视觉数据的同时隐藏敏感信息,从而增强隐私保护。YOLO11实时处理能力使其适用于需要即时保护隐私和选择性调整焦点的应用。

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

要使用YOLO11 实现实时对象模糊,请遵循所提供的Python 示例。其中包括使用YOLO11 进行物体检测,使用 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="yolo11n.pt",  # model="yolo11n-obb.pt" for object blurring using YOLO11 OBB model.
    blur_ratio=0.5,  # set blur percentage i.e 0.7 for 70% blurred detected objects
    # line_width=2,  # width of bounding box.
    # classes=[0, 2],  # count specific classes i.e, person and car with 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 YOLO11 进行物体模糊处理有什么好处?

Ultralytics YOLO11 在物体模糊方面具有多种优势:

  • 隐私保护:有效隐藏敏感或可识别信息。
  • 选择性聚焦:针对特定对象进行模糊处理,保留基本的视觉内容。
  • 实时处理:在动态环境中高效执行物体模糊处理,适用于即时隐私增强。
  • 可定制强度:调整模糊比例,在隐私需求和视觉环境之间取得平衡。
  • 特定类别模糊有选择性地只模糊某些类型的对象,而让其他对象可见。

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

出于隐私原因,我可以使用Ultralytics YOLO11 模糊视频中的人脸吗?

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

YOLO11 与其他物体检测模型(如用于物体模糊的 Faster R-CNN)相比如何?

Ultralytics YOLO11 在速度方面,它通常优于 Faster R-CNN 等模型,因此更适合实时应用。虽然两种模型都能提供精确的检测,但YOLO11 的架构针对快速推理进行了优化,这对于实时物体模糊等任务至关重要。有关技术差异和性能指标的更多信息,请参阅YOLO11 文档

📅创建于 1 年前 ✏️已更新 5 天前

评论