YOLO (модель машинного обучения)
YOLO[1] (англ. You Only Look Once — ты смотришь только раз[2]) — семейство открытых моделей машинного обучения предназначенное для распознавания объектов на фото и видео. Название YOLO — «ты смотришь только раз» — отражает идею продукта обнаружения объектов «на лету». Решает три основных задачи распознавания изображений: классификацию, обнаружение, сегментацию[3].
Помимо этих основных задач в версии 8 также добавились распознавание поз (человека) и отслеживание (объекта на видео) (при появлении объекта в кадре ему присваивается идентификатор, которым он сопровождается во время видеопотока)
YOLO изначально было разработано Джозефом Редмоном и Али Фархади в 2016 году. В настоящее время развивается компанией «Ultalytics».
Инструмент основан на алгоритмах свёрточной нейронной сети (CNN). Принцип работы YOLO подразумевает ввод сразу всего изображения, которое проходит через свёрточную нейронную сеть только один раз в отличие от других аналогичных алгоритмов. Именно поэтому выбрано такое название.
Для популярной на конец апреля 2024 версии YOLOv.8 для каждой задачи предоставляется на выбор 5-6 моделей, отличающихся объёмом потребляемых ресурсов, производительностью и точностью:
Число параметров, миллионы | ||||
---|---|---|---|---|
Обнаружение и Отслеживание | Сегментация | Классификация | Оценка поз | |
nano | 3,2 | 3,4 | 2,7 | 3,3 |
small | 11,2 | 11,8 | 6,4 | 11,6 |
medium | 25,9 | 27,3 | 17,0 | 26,4 |
large | 43,7 | 46,0 | 37,5 | 44,4 |
extra large | 68,2 | 4,02 | 57,4 | 69,4 |
YOLOv8x-pose-p6 | - | - | - | 99,1 |
Модели поставляются предобученными на наборе изображений COCO val2017 (80 классов изображений), но может быть переучен пользователем на своём наборе данных.
Позволяет задействовать возможности аппаратного ускорения CUDA.
Распространяется по двум лицензиям:
- свободная лицензия GNU Affero General Public License v3.0,
- коммерческая лицензия.