Представьте, вы едете на автомобиле и в долю секунды замечаете: слева пешеход, впереди светофор, а сбоку — знак «уступи дорогу». Мозг мгновенно обрабатывает картинку, распознает, где что находится, и принимает решение.
Компьютеры тоже научились так делать. Это называется «обнаружение объектов» — задача, где нужно не просто увидеть, что есть на картинке, например, собака, а еще и понять, где именно она находится. Для этого нужны нейросети. И одна из самых быстрых и популярных — YOLO, или «You Only Look Once». Сейчас разберемся, что она делает и почему в нее влюблены разработчики со всего мира.
cloud
Есть простая задача — понять, что на фото изображен кот. Ее решают многие нейросети: загружаем снимок, и модель говорит нам — «да, здесь есть кот». Это называется распознавание объектов, или классификация. Всё, что она делает — присваивает изображению ярлык. Без координат, без контекста. Просто «кот, 87% уверенности».
А теперь усложним. Нам нужно не только понять, что на фото кот, но и показать, где именно он сидит. Причем не один, а три кота. И не просто на чистом фоне, а среди мебели, людей и игрушек. Тут уже нужна другая задача — обнаружение объектов, или YOLO object detection.
В чем разница:
Распознавание (classification) — это один ярлык на всю картинку.
Обнаружение (detection) — это рамки и подписи внутри изображения: вот кот, вот мяч, вот стол.
А еще есть сегментация — это когда нужно раскрасить каждый пиксель картинки и точно очертить форму объекта. Но это уже отдельная история.
Обнаружение объектов — это как на групповом фото: нужно найти себя, своих друзей и еще и отметить, где кто стоит. Не просто «в кадре есть Коля», а «Коля — вот он, между фикусом и тортиком».
YOLO умеет именно это: искать, находить и показывать — где и что находится на изображении. И делает это не по очереди, а за один взгляд. Об этом — в следующем разделе.
YOLO расшифровывается как You Only Look Once — «ты смотришь только один раз». Это и есть вся суть. YOLO смотрит на изображение один раз целиком, не вырезает кусочки и не бегает глазами, как делают другие алгоритмы. Такой подход называют YOLO detection — быстрый анализ всей сцены за один проход. Всё, что ей нужно — один общий взгляд, чтобы понять, что на изображении и где именно.
Представим, что изображение разбили на сетку — допустим, 7 на 7 клеток. Каждая клетка отвечает за свой участок картинки, как если бы мы наложили таблицу Excel поверх фото. Так алгоритм обнаружения объектов YOLO делегирует ответственность каждой клетке.
Изображение девушки на велосипеде, наложенное на сетку 7×7 — как пример разметки изображения в YOLO
Дальше в ход идет нейросеть. Каждая клетка:
пытается понять, есть ли внутри нее объект (или часть объекта),
предсказывает координаты рамки (где именно он находится),
и указывает, к какому классу объект относится — например, «машина», «человек», «собака».
Если в одну клетку попадает центр объекта — именно эта клетка отвечает за него. YOLO не разменивается на мелочи: у каждого объекта есть одна ответственная ячейка.
А чтобы точнее обрисовать объекты, YOLO предсказывает несколько вариантов рамок для каждой клетки — разного размера и формы. После этого включается важный этап — очистка лишнего.
YOLO предсказывает сразу несколько рамок для каждой ячейки. Например, велосипед может быть обведен сразу тремя рамками с разной степенью уверенности. Чтобы не было хаоса, применяется специальный фильтр: Non-Maximum Suppression (или просто NMS). Это обязательный этап при YOLO-распознавании, который помогает оставить только нужные рамки.
Он работает так:
Сравнивает все рамки, которые претендуют на один и тот же объект.
Оставляет только самую уверенную.
Остальные — удаляет, если они слишком сильно перекрываются.
В итоге у нас остается по одной рамке на каждый объект, без дубликатов.
На выходе YOLO возвращает:
Пример работы YOLO: велосипед на фото обведен рамкой с меткой и уверенностью, изображение поделено на сетку 7×7
И всё это — за один проход. Без склейки, перебора, последовательных шагов. Просто: «смотрим → предсказываем всё сразу».
Большинство нейросетей, которые распознают объекты, действуют по принципу: сначала найти, где может быть объект, а потом проверить, что это такое.
Это как если бы вы искали ключи по дому: сначала заглянули под стол, потом в ящик, потом за диван. Долго, зато аккуратно.
YOLO делает всё иначе. Она смотрит на всю картинку одним взглядом — и сразу говорит, что на ней есть, где это находится и насколько она в этом уверена.
Представьте: вы приходите в комнату, и за долю секунды замечаете — слева кошка, на стуле пальто, а на полу носки. Мозг не перебирает последовательно каждый угол — он сразу собирает всю сцену. YOLO делает то же самое, только с помощью нейросети.
Почему это работает быстро:
YOLO — это одна большая нейросеть. Она не делит работу на этапы, как другие алгоритмы. Нет фазы «поиск кандидатов», потом «проверка каждого». Всё происходит за один проход.
Изображение разбивается на сетку. Каждая клетка анализирует, есть ли в ней объект. И если есть — предсказывает, что за объект, и где он находится.
Меньше операций = больше скорость. YOLO не гоняет изображение по десяткам моделей. Поэтому её можно запускать даже на слабом железе — от дронов до камер наблюдения.
Подходит для реального времени. Пока другие модели думают, YOLO уже показала результат. Ее используют там, где важно быстро: в беспилотниках, играх, AR-приложениях, умных камерах.
YOLO жертвует частью точности ради скорости. Но для большинства задач это не критично. Например, если вы следите за безопасностью на парковке, не важно, насколько идеально вырезан силуэт машины, — важно, чтобы YOLO увидела её быстро и точно указала, где она.
Поэтому YOLO часто выбирают, когда важна скорость, а не миллиметровая точность. Она не лучший детектив, но отличный оперативник.
Допустим, нейросеть нашла на фото велосипед. Но насколько хорошо она это сделала? Может, рамка обвела только половину колеса? Или перепутала велосипед с мотоциклом?
Чтобы разобраться, насколько точна нейросеть, используют специальные метрики. Их несколько, и все они помогают ответить на один вопрос: насколько хорошо предсказания совпадают с тем, что есть на самом деле. При обучении YOLO модели важно следить за этими параметрами — они влияют на итоговую точность.
Самая популярная метрика — IoU, или Intersection over Union. На русский это можно перевести как «пересечение, деленное на объединение».
Представьте: есть настоящая рамка (разметка от человека) и предсказанная рамка (от нейросети). Если они почти совпадают — значит, всё хорошо.
Как считается IoU:
Сначала считают площадь, где рамки пересекаются.
Потом — площадь, которую они занимают вместе.
Делим одно на другое — получаем число от 0 до 1. Чем ближе к 1, тем лучше.
Например:
Комментарий |
IoU |
Полное совпадение |
1.0 |
Немного промахнулись |
0.6 |
Почти не попали |
0.2 |
Изображение велосипеда с двумя наложенными прямоугольниками: зелёный — разметка от человека, красный — разметка YOLO. Прямоугольники частично перекрываются.
В практике считают, что если IoU больше 0.5, значит, объект найден приемлемо. Меньше — ошибка.
Две другие важные метрики — это точность (precision) и полнота (recall).
Простой пример: нейросеть нашла 5 объектов. 4 из них действительно есть — это 80% точность. А всего на фото было 6 объектов. Значит, она нашла 4 из 6 — это 66% полнота.
Высокая точность, но низкая полнота = модель боится ошибиться и не находит часть объектов. Высокая полнота, но низкая точность = модель слишком смелая и находит даже то, чего нет.
Чтобы не следить за кучей чисел вручную, используют AP — Average Precision. Это усредненный результат между точностью и полнотой по разным порогам.
AP считают для одного класса, например, «велосипед». mAP (mean Average Precision) — это среднее AP по всем классам: велосипедам, людям, автобусам и т. д.
Если YOLO показывает mAP 0.6 — это означает, что в среднем она работает на 60% по всем объектам.
Снаружи YOLO выглядит как черный ящик: загружаешь фото — получаешь список объектов с рамками. Но внутри всё довольно логично. Давайте разберемся, как эта нейросеть вообще понимает, что на изображении и где.
YOLO — это большая нейросеть, которая смотрит на картинку целиком и делает сразу три вещи: видит, что изображено, где это находится, и насколько уверена в каждом ответе. Она не перебирает участки поэтапно, а сразу обрабатывает сцену целиком. Это и делает ее такой быстрой.
Для этого используется особый тип слоев — сверточные. Они как фильтры, которые последовательно извлекают признаки: сначала простые — линии, углы, цветовые переходы. Потом — более сложные формы: силуэты, колеса, очертания предметов. А на самых последних этапах нейросеть уже видит знакомые объекты — «это велосипед», «это человек».
Главная фишка YOLO — разметка через сетку. Изображение делится на равные клетки, и каждая ячейка становится «наблюдателем» своей зоны. Если центр объекта попадает в клетку, именно она берёт на себя ответственность: предсказать, есть ли объект, какой он и где именно находится.
Но чтобы не запутаться в десятках рамок (а YOLO часто предлагает по нескольку на один объект), на последнем этапе включается специальный фильтр — Non-Maximum Suppression. Он оставляет только одну, самую уверенную рамку, а остальные удаляет, если они слишком похожи. Так на выходе мы получаем аккуратный список: что на изображении, где это, и насколько YOLO в этом уверена.
Это и есть YOLO изнутри: быстрая, компактная и удивительно практичная архитектура, в которой всё сделано ради скорости и эффективности.
С момента появления YOLO в 2015 году появилось много версий. Каждая новая — это не просто «чуть быстрее» или «чуть точнее», а шаг вперёд: новый подход, новые архитектуры, улучшенные метрики. Ниже — краткая эволюция YOLO.
YOLOv1 (2015)
Первая версия, с которой всё началось. YOLO предложила революционную идею: не разбивать процесс на части, а делать всё сразу — искать и находить объекты за один проход. Работала быстро, но страдала от неточности на мелких объектах.
YOLOv2 (2016), она же YOLO9000
Добавили anchor-боксы — заранее заданные формы рамок, которые помогали точнее обводить объекты разного размера.
Также ввели обучение на нескольких масштабах — чтобы модель лучше видела и крупные, и мелкие предметы. Название «9000» намекает на число классов, которые YOLO могла распознавать.
YOLOv3 (2018)
Более мощная архитектура — Darknet-53 вместо прежней сети.
Ввелась пирамидальная система признаков (FPN), чтобы искать объекты на разных уровнях. YOLOv3 стала заметно точнее, особенно на мелких объектах, и всё ещё работала в реальном времени.
YOLOv4 (2020)
Разрабатывалась сообществом, без участия оригинального автора.
Улучшили всё, что только можно: новая сеть CSPNet, оптимизация обучения, продвинутая аугментация, умные anchor-боксы, DropBlock, Bag of Freebies — набор методов, которые ускоряли и уточняли обучение без увеличения веса модели.
YOLOv5 (2020)
Открытый проект от Ultralytics. Начался как неофициальное продолжение, но быстро стал индустриальным стандартом.
Запускался просто, удобно обучался, хорошо работал на CPU и GPU, легко интегрировался.
Добавили SPP (spatial pyramid pooling), улучшили работу с anchor-боксами, внедрили CIoU loss — новую функцию потерь, чтобы лучше учиться.
YOLOv6 (2022)
Фокус — производительность на устройствах. Использовалась более компактная сеть (EfficientNet-Lite), было улучшено распознавание при плохом освещении или на низком разрешении.
Получился хороший баланс между точностью и скоростью.
YOLOv7 (2022)
Одна из самых точных и быстрых моделей на тот момент. Поддерживает до 155 кадров в секунду и умеет работать с мелкими объектами намного лучше.
Использует focal loss, чтобы не терять сложные объекты, и новую систему агрегации слоев, чтобы эффективнее обрабатывать признаки.
В целом — одна из лучших моделей для реального времени.
YOLOv8 (2023)
Добавили удобный API, улучшили точность, переработали архитектуру под современный PyTorch.
Адаптирована под запуск на CPU и GPU, подходит для задач детекции, сегментации и классификации.
YOLOv8 стала самой дружелюбной версией для новичков и надежной базой для продвинутых. Подходит для детекции, сегментации и классификации одновременно.
YOLOv9 (2024)
Сделана с прицелом на точность.
Разработчики улучшили то, как нейросеть извлекает признаки из изображения. Теперь она лучше видит мелкие детали и справляется со сложными сценами — например, когда на фото много людей или объектов.
YOLOv9 стала чуть медленнее, чем v8, но работает аккуратнее. Хорошо подходит для задач, где важна точность: в медицине, на производстве или в научных исследованиях.
YOLOv10 (2024)
Умеет автоматически подбирать рамки для объектов — чтобы не нужно было настраивать вручную. Лучше работает на слабых устройствах, например, в камерах наблюдения или на дронах.
Поддерживает не только поиск объектов, но и их сегментацию (границы), а еще — определение позы человека и распознавание типа объекта.
YOLOv11 (2024)
Максимум пользы с минимумом веса.
В этой версии уменьшили размер модели на 22%, но при этом повысили точность. Теперь YOLOv11 быстрее, легче и при этом умнее.
Она понимает не только, где объект, но и под каким углом он расположен, может работать с разными типами задач — от распознавания до сегментации.
Вышло несколько вариантов — от очень легкой версии (YOLOv11n) до мощной продакшн-модели (YOLOv11x).
YOLOv12 (2025)
Самая умная и точная YOLO на сегодня.
В этой версии полностью переработали архитектуру: теперь модель не просто «смотрит» на изображение, а распределяет внимание на разные области — как человек, который быстро осматривает сцену и цепляется взглядом за важное. Такой подход помогает точнее находить объекты, особенно в сложных условиях.
YOLOv12 лучше справляется с мелкими деталями и загруженными сценами, не теряя при этом скорости. Да, она немного медленнее самых быстрых версий, но точность выросла. Подходит для всего: от распознавания и сегментации до определения позы и ориентированных рамок.
Модель универсальна — работает на серверах, камерах, дронах, смартфонах. Вышла целая линейка: от компактной YOLO12n до продвинутой YOLO12x.
YOLO не живет только в лабораториях. Это та самая нейросеть, которую используют в десятках привычных нам вещей — часто незаметно, но критически важно. Именно поэтому то, как использовать YOLO, — вопрос не только для программистов, но и для бизнеса.
В беспилотных автомобилях она отвечает за зрение. Пока человек просто едет по улице и смотрит по сторонам, машине нужно успевать замечать пешеходов, считывать знаки, различать машины, мотоциклы, собак и велосипедистов. И всё это — за доли секунды. YOLO позволяет делать это в реальном времени, не отвлекаясь на долгие вычисления.
Такие же механизмы работают и в камерах наблюдения. YOLO умеет отличать человека от движущейся тени, обнаруживать предметы, которые кто-то оставил, или сигнализировать, если в зоне контроля появился кто-то, кто не должен. Это особенно важно в аэропортах, на складах и в умных офисах.
YOLO применяют и в магазинах — не за кассой, а в аналитике поведения. Она может следить за тем, какие полки привлекают внимание, сколько людей подошло к витрине, какие товары чаще берут в руки, а какие — игнорируют. Такие данные превращаются в аналитику: ритейлеры понимают, как устроен путь покупателя, что стоит переставить, а что убрать.
В дополненной реальности YOLO незаменима. Чтобы «примерить» очки на лицо или поставить 3D-объект на стол через камеру телефона, нужно сначала понять, где это лицо или где этот стол. YOLO делает это быстро — даже на мобильных устройствах.
Дроны с YOLO могут распознавать объекты на земле: людей, животных, технику. Это применимо в поисково-спасательных операциях, военной технике, наблюдении за территорией. Ее выбирают не только за точность, но и за компактность — YOLO запускается даже на слабом железе, что важно для автономных летательных аппаратов. Такая детекция объектов YOLO помогает спасателям быстрее находить нужные цели.
Даже на производстве YOLO находит применение. Например, на конвейере она может отслеживать дефекты продукции, подсчитывать готовые изделия или проверять, все ли компоненты на месте. Роботы с такой системой работают аккуратнее и безопаснее: если рядом появился человек — YOLO это заметит и даст команду остановиться.
Всё, где есть камера и необходимость быстро что-то распознать, — потенциальная задача для YOLO. Простая, быстрая и понятная система, которая, как опытный сотрудник, не спорит, не отвлекается, а просто делает своё дело: смотрит и видит.
YOLO хороша, когда нужно быстро. Но у любой технологии есть свои пределы, и YOLO — не исключение.
Первое слабое место — это мелкие объекты. Например, человек вдалеке на камере наблюдения или птица на фоне неба. YOLO может просто не заметить их. Она делит изображение на крупные блоки, и если объект слишком маленький, он может просто «потеряться» в сетке.
Второе — плотные сцены. Когда много объектов находятся близко друг к другу: толпа людей, куча машин на парковке, рынок с товарами. YOLO может спутать границы, наложить рамки друг на друга или объединить два объекта в один.
Третье — нестабильные условия. Плохой свет, размытое изображение, необычные ракурсы, снег или дождь. YOLO умеет с этим бороться, но не идеально. Если картинка сложная даже для человека, нейросети будет непросто.
Ещё одна проблема — ограниченные различия между классами. YOLO не специализируется на тонкой классификации. Например, отличить породы кошек, марки автомобилей или виды птиц ей может быть тяжело. Она умеет хорошо различает объекты типа «кошка», «собака», «автомобиль», но не всегда справится с нюансами.
И последнее — производительность на слабом железе. YOLO работает быстро, но всё равно остается нейросетью. На очень слабых устройствах — например, микроконтроллерах или старых смартфонах — она может тормозить или не запускаться совсем. Есть облегченные версии, но и у них есть свой потолок.
Это не значит, что YOLO плохая. Просто ее нужно использовать с пониманием. Там, где важна скорость, YOLO дает отличный результат. Но если нужно дотошно разобрать сцену, выделить 20 объектов с миллиметровой точностью и распознать каждый — может потребоваться другая модель, пусть и медленнее.
Надежное облако для ваших проектов
YOLO — это как человек, который быстро осматривается и говорит: «Так, тут машина, там человек, вон велосипед». Без лишних пауз, без уточнений, без паники. Уверенно и по существу.
Ее выбирают, когда нужно распознавать объекты быстро и в реальном времени. Например, в дронах, в камерах, в дополненной реальности или в беспилотниках. Она дает результат почти мгновенно, и именно это делает ее такой популярной.
YOLO не безупречна. Возможны промахи при детекции мелких объектов или в сложных сценах. Она не умеет «думать глубже» и не даст вам длинный текстовый отчет. Но в мире, где нужно быстро принимать решения, — она одна из лучших.
Если вы только начинаете разбираться в компьютерном зрении, YOLO — отличный способ понять, как нейросети видят мир. Она показывает, что распознавание объектов — это не магия, а четкий процесс: разделили, проанализировали, обвели.
А если вы просто пользователь, не программист — теперь вы знаете, как работают кассы самообслуживания, видеонаблюдение и AR-примерки. Внутри них может сидеть YOLO, которая делает всего одну вещь — смотрит. Но делает это эффективно.