Ir al contenido

Desenfoque de objetos usando Ultralytics YOLO11 🚀

¿Qué es el desenfoque de objetos?

El desenfoque de objetos con Ultralytics YOLO11 consiste en aplicar un efecto de desenfoque a determinados objetos detectados en una imagen o vídeo. Esto puede lograrse utilizando las capacidades del modelo YOLO11 para identificar y manipular objetos dentro de una escena determinada.



Observa: Desenfoque de objetos con Ultralytics YOLO11

Ventajas del desenfoque de objetos

  • Protección de la privacidad: El desenfoque de objetos es una herramienta eficaz para salvaguardar la privacidad ocultando información sensible o de identificación personal en imágenes o vídeos.
  • Enfoque selectivo: YOLO11 permite el desenfoque selectivo, lo que permite a los usuarios centrarse en objetos específicos, garantizando un equilibrio entre la privacidad y la conservación de la información visual relevante.
  • Procesamiento en tiempo real: YOLO11 La eficiencia de 's permite el desenfoque de objetos en tiempo real, por lo que es adecuado para aplicaciones que requieren mejoras de privacidad sobre la marcha en entornos dinámicos.
  • Cumplimiento normativo: Ayuda a las organizaciones a cumplir las normativas de protección de datos, como el GDPR, anonimizando la información identificable en el contenido visual.
  • Moderación de contenidos: Útil para difuminar contenidos inapropiados o delicados en plataformas mediáticas preservando el contexto general.

Desenfoque de objetos con 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 Argumentos

Aquí tiene una tabla con los ObjectBlurrer argumentos:

Argumento Tipo Por defecto Descripción
model str None Ruta al archivo del modeloYOLO Ultralytics .
line_width None or int None Especifica el ancho de línea de los cuadros delimitadores. Si NoneEl ancho de línea se ajusta automáticamente en función del tamaño de la imagen. Proporciona personalización visual para mayor claridad.
blur_ratio float 0.5 Ajusta el porcentaje de intensidad del desenfoque, con valores en el rango 0.1 - 1.0.

En ObjectBlurrer también admite una serie de track argumentos:

Argumento Tipo Por defecto Descripción
tracker str 'botsort.yaml' Especifica el algoritmo de seguimiento a utilizar, por ejemplo, bytetrack.yaml o botsort.yaml.
conf float 0.3 Establece el umbral de confianza para las detecciones; los valores más bajos permiten rastrear más objetos pero pueden incluir falsos positivos.
iou float 0.5 Establece el umbral de intersección sobre unión (IoU) para filtrar las detecciones solapadas.
classes list None Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] sólo rastrea las clases especificadas.
verbose bool True Controla la visualización de los resultados del rastreo, proporcionando una salida visual de los objetos rastreados.
device str None Especifica el dispositivo para la inferencia (por ejemplo, cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, un GPU específico u otros dispositivos de cálculo para la ejecución del modelo.

Además, se pueden utilizar los siguientes argumentos de visualización:

Argumento Tipo Por defecto Descripción
show bool False Si Truemuestra las imágenes o vídeos anotados en una ventana. Resulta útil para obtener información visual inmediata durante el desarrollo o las pruebas.
line_width None or int None Especifica el ancho de línea de los cuadros delimitadores. Si NoneEl ancho de línea se ajusta automáticamente en función del tamaño de la imagen. Proporciona personalización visual para mayor claridad.

Aplicaciones reales

Protección de la intimidad en la vigilancia

Las cámaras de seguridad y los sistemas de vigilancia pueden utilizar YOLO11 para difuminar automáticamente rostros, matrículas u otros datos identificativos sin dejar de captar actividades importantes. Esto ayuda a mantener la seguridad respetando los derechos de privacidad en los espacios públicos.

Anonimización de datos sanitarios

En el tratamiento de imágenes médicas, la información del paciente aparece a menudo en escáneres o fotos. YOLO11 puede detectar y difuminar esta información para cumplir normativas como la HIPAA cuando se comparten datos médicos con fines educativos o de investigación.

Redacción de documentos

Al compartir documentos que contienen información sensible, YOLO11 puede detectar y difuminar automáticamente elementos específicos como firmas, números de cuenta o datos personales, agilizando el proceso de redacción y manteniendo la integridad del documento.

Medios de comunicación y creación de contenidos

Los creadores de contenidos pueden utilizar YOLO11 para difuminar logotipos de marcas, material protegido por derechos de autor o contenido inapropiado en vídeos e imágenes, lo que ayuda a evitar problemas legales al tiempo que se preserva la calidad general del contenido.

PREGUNTAS FRECUENTES

¿Qué es el desenfoque de objetos con Ultralytics YOLO11 ?

El desenfoque de objetos con Ultralytics YOLO11 consiste en detectar y aplicar automáticamente un efecto de desenfoque a objetos específicos en imágenes o vídeos. Esta técnica mejora la privacidad ocultando información sensible y conservando los datos visuales relevantes. YOLO11 La capacidad de procesamiento en tiempo real de la cámara la hace idónea para aplicaciones que requieren una protección inmediata de la privacidad y ajustes selectivos del enfoque.

¿Cómo puedo implementar el desenfoque de objetos en tiempo real utilizando YOLO11?

Para implementar el desenfoque de objetos en tiempo real con YOLO11, siga el ejemplo proporcionado Python . Esto implica utilizar YOLO11 para la detección de objetos y OpenCV para aplicar el efecto de desenfoque. Aquí tienes una versión simplificada:

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()

¿Cuáles son las ventajas de utilizar Ultralytics YOLO11 para el desenfoque de objetos?

Ultralytics YOLO11 ofrece varias ventajas para el desenfoque de objetos:

  • Protección de la intimidad: Ocultar eficazmente la información sensible o identificable.
  • Enfoque selectivo: Enfoque objetos específicos para difuminarlos, manteniendo el contenido visual esencial.
  • Procesamiento en tiempo real: Ejecuta el desenfoque de objetos de forma eficiente en entornos dinámicos, apto para mejoras instantáneas de la privacidad.
  • Intensidad personalizable: Ajusta la proporción de desenfoque para equilibrar las necesidades de privacidad con el contexto visual.
  • Desenfoque por clases: Desenfoque selectivamente sólo ciertos tipos de objetos dejando visibles otros.

Para aplicaciones más detalladas, consulte la sección Ventajas del desenfoque de objetos.

¿Puedo utilizar Ultralytics YOLO11 para difuminar las caras en un vídeo por motivos de privacidad?

Sí, Ultralytics YOLO11 puede configurarse para detectar y difuminar rostros en vídeos para proteger la privacidad. Mediante el entrenamiento o el uso de un modelo pre-entrenado para reconocer específicamente las caras, los resultados de la detección pueden ser procesados con OpenCV para aplicar un efecto de desenfoque. Consulte nuestra guía sobre detección de objetos con YOLO11 y modifique el código para orientarlo a la detección de caras.

¿Cómo se compara YOLO11 con otros modelos de detección de objetos como Faster R-CNN para el desenfoque de objetos?

Ultralytics YOLO11 suele superar en velocidad a modelos como Faster R-CNN, lo que lo hace más adecuado para aplicaciones en tiempo real. Aunque ambos modelos ofrecen una detección precisa, la arquitectura de YOLO11 está optimizada para la inferencia rápida, que es fundamental para tareas como el desenfoque de objetos en tiempo real. Obtenga más información sobre las diferencias técnicas y las métricas de rendimiento en nuestra documentación deYOLO11 .

Creado hace 1 año ✏️ Actualizado hace 8 días

Comentarios