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
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 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. |
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 True muestra 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 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. |
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 .