Interactive Object Detection: Gradio & Ultralytics YOLO11 🚀
Введение в интерактивное обнаружение объектов
This Gradio interface provides an easy and interactive way to perform object detection using the Ultralytics YOLO11 model. Users can upload images and adjust parameters like confidence threshold and intersection-over-union (IoU) threshold to get real-time detection results.
Смотри: Gradio Integration with Ultralytics YOLO11
Почему стоит использовать Gradio для обнаружения объектов?
- Удобный интерфейс: Gradio предлагает пользователям простую платформу для загрузки изображений и визуализации результатов обнаружения без необходимости кодирования.
- Настройки в реальном времени: Такие параметры, как пороги уверенности и IoU, можно настраивать на лету, что обеспечивает мгновенную обратную связь и оптимизацию результатов обнаружения.
- Широкая доступность: Доступ к веб-интерфейсу Gradio может получить каждый, что делает его отличным инструментом для демонстраций, образовательных целей и быстрых экспериментов.
Как установить Gradio
Как пользоваться интерфейсом
- Загрузи изображение: Кликни на "Upload Image", чтобы выбрать файл изображения для обнаружения объекта.
- Настрой параметры:
- Порог уверенности: Ползунок для установки минимального уровня доверия для обнаружения объектов.
- Порог IoU: Ползунок для установки порога IoU для различения разных объектов.
- Просмотри результаты: На экране появится обработанное изображение с обнаруженными объектами и их метками.
Примеры использования
- Образец изображения 1: Обнаружение автобуса с пороговыми значениями по умолчанию.
- Образец изображения 2: обнаружение на спортивном изображении с пороговыми значениями по умолчанию.
Пример использования
В этом разделе представлен код Python , используемый для создания интерфейса Gradio с моделью Ultralytics YOLO11. Поддерживаются задачи классификации, обнаружения, сегментации и ключевых точек.
import gradio as gr
import PIL.Image as Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO11 model with adjustable confidence and IOU thresholds."""
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
imgsz=640,
)
for r in results:
im_array = r.plot()
im = Image.fromarray(im_array[..., ::-1])
return im
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
],
outputs=gr.Image(type="pil", label="Result"),
title="Ultralytics Gradio",
description="Upload images for inference. The Ultralytics YOLO11n model is used by default.",
examples=[
[ASSETS / "bus.jpg", 0.25, 0.45],
[ASSETS / "zidane.jpg", 0.25, 0.45],
],
)
if __name__ == "__main__":
iface.launch()
Объяснение параметров
Имя параметра | Тип | Описание |
---|---|---|
img | Image | Изображение, на котором будет происходить обнаружение объектов. |
conf_threshold | float | Порог доверия для обнаружения объектов. |
iou_threshold | float | Порог пересечения-пересечения для разделения объектов. |
Компоненты интерфейса Gradio
Компонент | Описание |
---|---|
Входное изображение | Чтобы загрузить изображение для обнаружения. |
Слайдеры | Чтобы настроить пороги уверенности и IoU. |
Выход изображения | Чтобы отобразить результаты обнаружения. |
ВОПРОСЫ И ОТВЕТЫ
Как использовать Gradio с Ultralytics YOLO11 для обнаружения объектов?
Чтобы использовать Gradio с Ultralytics YOLO11 для обнаружения объектов, ты можешь выполнить следующие шаги:
- Установи Gradio: Используй команду
pip install gradio
. - Создай интерфейс: Напиши скрипт Python для инициализации интерфейса Gradio. За подробностями ты можешь обратиться к предоставленному примеру кода в документации.
- Загружай и настраивай: Загрузи свое изображение и отрегулируй пороги уверенности и IoU в интерфейсе Gradio, чтобы получить результаты обнаружения объектов в реальном времени.
Вот минимальный фрагмент кода для ознакомления:
import gradio as gr
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
)
return results[0].plot() if results else None
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
],
outputs=gr.Image(type="pil", label="Result"),
title="Ultralytics Gradio YOLO11",
description="Upload images for YOLO11 object detection.",
)
iface.launch()
В чем преимущества использования Gradio для обнаружения объектов Ultralytics YOLO11?
Использование Gradio для обнаружения объектов Ultralytics YOLO11 дает несколько преимуществ:
- Удобный интерфейс: Gradio предоставляет пользователям интуитивно понятный интерфейс для загрузки изображений и визуализации результатов обнаружения без каких-либо усилий по кодированию.
- Настройки в реальном времени: Ты можешь динамически настраивать параметры обнаружения, такие как пороги уверенности и IoU, и сразу же видеть эффект.
- Доступность: Веб-интерфейс доступен любому, что делает его полезным для быстрых экспериментов, образовательных целей и демонстраций.
Для получения более подробной информации ты можешь прочитать эту запись в блоге.
Можно ли использовать Gradio и Ultralytics YOLO11 вместе в образовательных целях?
Yes, Gradio and Ultralytics YOLO11 can be utilized together for educational purposes effectively. Gradio's intuitive web interface makes it easy for students and educators to interact with state-of-the-art deep learning models like Ultralytics YOLO11 without needing advanced programming skills. This setup is ideal for demonstrating key concepts in object detection and computer vision, as Gradio provides immediate visual feedback which helps in understanding the impact of different parameters on the detection performance.
Как настроить пороги уверенности и IoU в интерфейсе Gradio для YOLO11?
In the Gradio interface for YOLO11, you can adjust the confidence and IoU thresholds using the sliders provided. These thresholds help control the prediction accuracy and object separation:
- Порог уверенности: Определяет минимальный уровень доверия для обнаружения объектов. Сдвигай, чтобы увеличить или уменьшить требуемую уверенность.
- Порог IoU: Устанавливает порог пересечения-пересечения для различения перекрывающихся объектов. Отрегулируй это значение, чтобы уточнить разделение объектов.
Чтобы узнать больше об этих параметрах, посети раздел объяснения параметров.
Каковы некоторые практические применения использования Ultralytics YOLO11 с Gradio?
Практическое применение сочетания Ultralytics YOLO11 с Gradio включает в себя:
- Демонстрации обнаружения объектов в реальном времени: Идеально подходит для демонстрации того, как работает обнаружение объектов в реальном времени.
- Образовательные инструменты: Пригодится в учебных заведениях для обучения распознаванию объектов и концепциям компьютерного зрения.
- Разработка прототипов: Эффективен для быстрой разработки и тестирования прототипов приложений для обнаружения объектов.
- Сообщество и совместная работа: Сделать так, чтобы было легко делиться моделями с сообществом для обратной связи и сотрудничества.
Примеры подобных вариантов использования можно найти в блогеUltralytics .
Предоставление этой информации в документации поможет повысить удобство использования и доступность Ultralytics YOLO11, сделав его более понятным для пользователей с любым уровнем знаний.