1. Введение
Конечной формой искусственного интеллекта должен стать «воплощённый робот» — как и у человека, у него есть глаза (зрение), уши (слух), рот (язык), язык (вкус), нос (обоняние) и другие органы. чувство вкуса и обоняния в настоящее время существенного прогресса не произошло, но зрительные, слуховые и языковые способности совершили крупный прорыв в научном и инженерном сообществе:
Сегодня мы поговорим о недавно популярном YOLOv10 (You Only Look Once v10), который был выпущен Университетом Цинхуа 23 мая. По сравнению с YOLOv9 задержка уменьшена на 46%, а параметры уменьшены на 25% при той же производительности. .
YOLO (You Only Look Once) — это обнаружение целей, основанное на алгоритме глубокой нейронной сети.,Используется для идентификации и определения местоположения нескольких объектов на изображениях или видео в режиме реального времени. Основными особенностями YOLO являются высокая скорость и высокая точность.,Возможность достижения быстрого обнаружения целей в сценариях реального времени.,Широко используется в области компьютерного зрения.,включатьАнализ видео в реальном времени、Автономное вождение、Умная медицинаждать。 До появления YOLO основным алгоритмом был R-CNN, который можно назвать «двухэтапным алгоритмом»: сначала привязывать кадр, а затем прогнозировать объекты в кадре. После появления YOLO материалы и локации можно будет выводить напрямую, сквозным образом, «в один этап».
YOLOv10 — это улучшение YOLOv8. Вот краткий обзор сетевой структуры YOLOv8:
git clone https://github.com/THU-MIG/yolov10.git
conda create -n yolov10 python=3.9
conda activate yolov10
Рекомендуется использовать исходный код Tencent, это действительно быстро.
pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple
pip install -e . -i https://mirrors.cloud.tencent.com/pypi/simple
Вы можете напрямую щелкнуть ссылку для скачивания:
YOLOv10-N:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10n.pt YOLOv10-S:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10s.pt YOLOv10-M:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10m.pt YOLOv10-B:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10b.pt YOLOv10-L:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10l.pt YOLOv10-X:https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10x.pt
Запустите в корневом каталоге проекта:
python app.py
После успешного выполнения отображается:
Разрешение ошибки:
При выполнении я получил ошибку: ImportError: libGL.so.1: невозможно открыть файл общего объекта: нет такого файла или каталога.
Эта ошибка возникла перед запуском, в основном из-за версии opencv-python-headless. Переустановка решила проблему.
pip uninstall opencv-python -y
pip install opencv-python-headless -i https://mirrors.cloud.tencent.com/pypi/simple
Введите 127.0.0.1:7861 в браузере, чтобы стать свидетелем чудесного момента:
Начните с yolo в среде conda, предскажите прогноз параметров, модель используется для указания загруженной модели, устройство указывает графический процессор, а источник указывает изображение, которое необходимо обнаружить.
yolo predict model=yolov10n.pt device=2 source=/aigc_dev/yolov10/ultralytics/assets
По умолчанию обнаруживаемые изображения хранятся в каталоге yolov10/ultralytics/assets. После обнаружения они сохраняются в каталоге yolov10/runs/detect/predictxx.
Видно, что под видеокартой V100 среднее время обнаружения yolov10n составляет 78,7 мс.
Набор данных COCO официально используется для оценки каждой модели и предназначен только для справки.
Отображение результатов теста:
Проекты можно легко конвертировать в форматы ONNX и TensorRT для кросс-платформенного вывода и развертывания.
yolo export model=yolov10n.pt format=onnx opset=13 simplify device=2
yolo predict model=yolov10n.onnx device=2
yolo не только предоставляет услуги вывода, но и поддерживает внедрение наборов данных для обучения:
yolo detect train data=coco.yaml model=yolov10s.yaml epochs=100 batch=128 imgsz=640 device=2
обнаружение поезда — это команда обучения обнаружению, данные указывают набор данных, набор данных по умолчанию загружается и сохраняется в ../datasets/coco, модель определяет конфигурацию модели обучения, эпохи представляют количество итераций, imgsz представляет размер масштабирования изображения , пакет представляет собой пакетную обработку, а устройство — Укажите устройство графического процессора.
После запуска скачайте набор COCOданные.,очень огромный,Потому что сервер не может получить доступ к Интернету с научной точки зрения,Это занимает много времени,Здесь не вложено время,Если вам интересно, вы можете перейти наCOCO - Common Objects in Context скачать. Вы также можете выполнить приведенную выше команду для автоматической загрузки.
Создайте run_python.py в корневом каталоге:
import cv2
from ultralytics import YOLOv10
model = YOLOv10("yolov10s.pt")
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break # Если ни один кадр не прочитан, выйдите из цикла
results = model.predict(frame)
# Перебрать каждый результат прогнозирования
for result in results:
# Каждый элемент результата соответствует прогнозу для изображения.
boxes = result.boxes # Получить информацию об ограничительной рамке
for box in boxes:
x1,y1,x2,y2 = map(int, box.xyxy[0])
cls = int(box.cls[0])
conf = float(box.conf[0])
cv2.rectangle(frame, (x1, y1), (x2, y2), (255, 0, 0), 2)
cv2.putText(frame, f'{model.names[cls]} {conf:.2f}', (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 0), 2)
# Отображение кадров с результатами обнаружения
cv2.imshow('Обнаружение YOLOv10 в реальном времени', frame)
# Нажмите клавишу «q», чтобы выйти
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Освободить ресурсы
cap.release()
cv2.destroyAllWindows()
После бега компьютерная камера автоматически включится и обнаружит цель в камере в режиме реального времени:
Ощущения: Из-за использования личного ноутбука Mac производительность вывода низкая. При использовании модели yolov10b.pt время вывода достигает 300-400 мс, и эффективно идентифицировать многие объекты, например, сложно. возьмет пачку сигарет, его будут судить как книгу. Реальное применение в производственной среде также требует углубленного исследования производительности вывода и обучения модели.
В этой статье сначала рассматривается положение визуальных моделей в области искусственного интеллекта, затем дается предварительное объяснение принципов и концепций, а затем подробно описываются процесс рассуждения и обучения. Наконец, на практическом примере используется портативный компьютер. очень мало строк кода. Камера модифицирована для видеонаблюдения в реальном времени. Цель — дать читателям возможность быстро начать работу с технологией YOLOv10 для обнаружения объектов после прочтения этой статьи.