Ir al contenido

Desenfoque de Objetos usando Ultralytics YOLO11 🚀

¿Qué es el desenfoque de objetos?

El desenfoque de objetos con Ultralytics YOLO11 implica aplicar un efecto de desenfoque a objetos detectados específicos en una imagen o video. Esto se puede lograr utilizando las capacidades del modelo YOLO11 para identificar y manipular objetos dentro de una escena dada.



Ver: Desenfoque de Objetos usando Ultralytics YOLO11

Ventajas del Desenfoque de Objetos

  • Protección de la Privacidad: El desenfoque de objetos es una herramienta eficaz para salvaguardar la privacidad al ocultar 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 enfocar objetos específicos, garantizando un equilibrio entre la privacidad y la retención de información visual relevante.
  • Procesamiento en tiempo real: La eficiencia de YOLO11 permite el desenfoque de objetos en tiempo real, lo que lo hace adecuado para aplicaciones que requieren mejoras de la privacidad sobre la marcha en entornos dinámicos.
  • Cumplimiento normativo: Ayuda a las organizaciones a cumplir con las regulaciones de protección de datos como el RGPD al anonimizar la información identificable en el contenido visual.
  • Moderación de Contenido: Útil para difuminar contenido inapropiado o sensible en plataformas de medios, preservando al mismo tiempo el contexto general.

Desenfoque de objetos utilizando 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 el ObjectBlurrer argumentos:

Argumento Tipo Predeterminado Descripción
model str None Ruta al archivo del modelo YOLO de Ultralytics.
blur_ratio float 0.5 Ajusta el porcentaje de intensidad del desenfoque, con valores en el rango 0.1 - 1.0.

El ObjectBlurrer la solución también admite una variedad de track argumentos:

Argumento Tipo Predeterminado Descripción
tracker str 'botsort.yaml' Especifica el algoritmo de seguimiento a utilizar, p. ej., 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 detecciones superpuestas.
classes list None Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo rastrea las clases especificadas.
verbose bool True Controla la visualización de los resultados del seguimiento, proporcionando una salida visual de los objetos rastreados.
device str None Especifica el dispositivo para la inferencia (p. ej., cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, una GPU específica 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 Predeterminado Descripción
show bool False Si True, muestra las imágenes o vídeos anotados en una ventana. Ú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 None, el ancho de línea se ajusta automáticamente en función del tamaño de la imagen. Proporciona personalización visual para mayor claridad.
show_conf bool True Muestra la puntuación de confianza para cada detección junto con la etiqueta. Ofrece información sobre la certeza del modelo para cada detección.
show_labels bool True Muestra etiquetas para cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados.

Aplicaciones en el mundo real

Protección de la privacidad en la vigilancia

Las cámaras de seguridad y los sistemas de vigilancia pueden usar YOLO11 para difuminar automáticamente rostros, matrículas u otra información de identificación mientras se captura actividad importante. Esto ayuda a mantener la seguridad respetando los derechos de privacidad en los espacios públicos.

Anonimización de datos sanitarios

En imágenes médicas, la información del paciente a menudo aparece en escaneos o fotos. YOLO11 puede detectar y difuminar esta información para cumplir con regulaciones como HIPAA al compartir datos médicos con fines de investigación o educativos.

Redacción de Documentos

Al compartir documentos que contienen información confidencial, YOLO11 puede detectar y difuminar automáticamente elementos específicos como firmas, números de cuenta o datos personales, lo que agiliza el proceso de redacción al tiempo que se mantiene la integridad del documento.

Creación de Medios y Contenido

Los creadores de contenido pueden usar YOLO11 para difuminar logotipos de marcas, material con derechos de autor o contenido inapropiado en videos 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 implica la detección automática y la aplicación de un efecto de desenfoque a objetos específicos en imágenes o videos. Esta técnica mejora la privacidad al ocultar información confidencial, al tiempo que conserva datos visuales relevantes. Las capacidades de procesamiento en tiempo real de YOLO11 lo hacen adecuado para aplicaciones que requieren protección de la privacidad inmediata y ajustes de enfoque selectivos.

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

Para implementar el desenfoque de objetos en tiempo real con YOLO11, sigue el ejemplo de python proporcionado. Esto implica el uso de 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 los beneficios de usar Ultralytics YOLO11 para el desenfoque de objetos?

Ultralytics YOLO11 ofrece varias ventajas para el desenfoque de objetos:

  • Protección de la Privacidad: Difumina eficazmente la información sensible o identificable.
  • Enfoque selectivo: Permite enfocar objetos específicos para desenfocarlos, manteniendo el contenido visual esencial.
  • Procesamiento en tiempo real: Ejecute el desenfoque de objetos de forma eficiente en entornos dinámicos, adecuado para mejoras instantáneas de la privacidad.
  • Intensidad Personalizable: Ajuste la relación de desenfoque para equilibrar las necesidades de privacidad con el contexto visual.
  • Desenfoque Específico de Clase: Desenfoque selectivamente solo ciertos tipos de objetos, dejando otros visibles.

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

¿Puedo usar Ultralytics YOLO11 para difuminar rostros en un video por razones de privacidad?

Sí, Ultralytics YOLO11 se puede configurar para detectar y difuminar rostros en videos para proteger la privacidad. Al entrenar o usar un modelo pre-entrenado para reconocer específicamente rostros, los resultados de la detección se pueden procesar 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 apuntar a la detección de rostros.

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

Ultralytics YOLO11 normalmente supera a modelos como Faster R-CNN en términos de velocidad, lo que lo hace más adecuado para aplicaciones en tiempo real. Si bien ambos modelos ofrecen una detección precisa, la arquitectura de YOLO11 está optimizada para una inferencia rápida, lo cual 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 de YOLO11.



📅 Creado hace 1 año ✏️ Actualizado hace 4 meses

Comentarios