Размытие объектов с использованием 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. |
blur_ratio |
float |
0.5 |
Регулирует процент интенсивности размытия, со значениями в диапазоне 0.1 - 1.0 . |
Параметр ObjectBlurrer
Решение также поддерживает ряд track
аргументы:
Аргумент | Тип | По умолчанию | Описание |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Указывает алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml . |
conf |
float |
0.3 |
Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания. |
iou |
float |
0.5 |
Устанавливает порог Intersection over Union (IoU) для фильтрации перекрывающихся обнаружений. |
classes |
list |
None |
Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы. |
verbose |
bool |
True |
Управляет отображением результатов отслеживания, обеспечивая визуальный вывод отслеживаемых объектов. |
device |
str |
None |
Указывает устройство для инференса (например, cpu , cuda:0 или 0 ). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели. |
Кроме того, можно использовать следующие аргументы визуализации:
Аргумент | Тип | По умолчанию | Описание |
---|---|---|---|
show |
bool |
False |
Если True , отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования. |
line_width |
None or int |
None |
Указывает ширину линии ограничивающих рамок. Если None , ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для большей четкости. |
show_conf |
bool |
True |
Отображает оценку достоверности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели для каждого обнаружения. |
show_labels |
bool |
True |
Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает немедленное понимание обнаруженных объектов. |
Приложения в реальном мире
Защита конфиденциальности при видеонаблюдении
Камеры видеонаблюдения и системы наблюдения могут использовать 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.