Добавить в корзинуПозвонить
Найти в Дзене

YOLO или CNN? Какую нейросеть поставить на конвейер, чтобы не прогореть

Вы наверняка видели вакансии «AI-инженер на производство» с з/п выше рынка. А потом читаете в требованиях: «знание CNN, опыт с YOLO». Начинающий дата-сайентист думает: «Какая разница, CNN — это же сверточная сеть, YOLO — одна из них. Возьму самую модную». И через месяц проект вылетает в трубу. Почему? Потому что на реальном конвейере 50ms — это не просто цифра, это граница между прибылью и убытками. Давайте на пальцах. Конвейер — это не ваш ноутбук с RTX 4090. Это: Допустим, деталь движется со скоростью 1 м/с. При задержке обработки 100ms деталь уедет на 10 см. Если ваша задача — отбраковать брак лазерным маркером, то вы просто промахнетесь мимо цели. Правило конвейера: время от захвата кадра до выдачи команды < времени между двумя кадрами (обычно 33-50 мс). Иначе — коллапс очереди. Классическая сверточная нейросеть (ResNet, EfficientNet, MobileNet) работает как прилежный бухгалтер:
Даже легкий MobileNet на CPU дает 70-120ms. Хотите <50ms? Нужен NVIDIA Jetson или мощный GPU за $2000.
Оглавление

Вы наверняка видели вакансии «AI-инженер на производство» с з/п выше рынка. А потом читаете в требованиях: «знание CNN, опыт с YOLO». Начинающий дата-сайентист думает: «Какая разница, CNN — это же сверточная сеть, YOLO — одна из них. Возьму самую модную».

И через месяц проект вылетает в трубу. Почему? Потому что на реальном конвейере 50ms — это не просто цифра, это граница между прибылью и убытками.

Почему <50ms — это важно

Давайте на пальцах. Конвейер — это не ваш ноутбук с RTX 4090. Это:

  • Запыленная камера над лентой
  • Скачущий FPS (15-20 кадров в секунду)
  • Старый промышленный ПК без нормального GPU

Допустим, деталь движется со скоростью 1 м/с. При задержке обработки 100ms деталь уедет на 10 см. Если ваша задача — отбраковать брак лазерным маркером, то вы просто промахнетесь мимо цели.

Правило конвейера: время от захвата кадра до выдачи команды < времени между двумя кадрами (обычно 33-50 мс). Иначе — коллапс очереди.

CNN — это про «надёжно, но пешком»

Классическая сверточная нейросеть (ResNet, EfficientNet, MobileNet) работает как прилежный бухгалтер:

  1. Просканировала картинку.
  2. Нашла признаки.
  3. Подумала.
  4. Сказала результат.

Плюсы CNN на конвейере:

  • Высокая точность (особенно на мелком браке — трещины, царапины)
  • Устойчивость к шуму и плохому освещению
  • Меньше ложных срабатываний

Минусы — фатальные:


Даже легкий MobileNet на CPU дает 70-120ms. Хотите <50ms? Нужен NVIDIA Jetson или мощный GPU за $2000. Скажите это директору завода, который привык ставить «терминалы с Атлоном».

Вывод: CNN — для офлайн-контроля или участков, где скорость ленты 0,1 м/с. Не для реального time-критичного конвейера.

YOLO — это Флэш, который иногда ошибается

YOLO (You Only Look Once) — архитектура, созданная для скорости. Она не сканирует картинку кусками, а бьёт её на сетку и предсказывает всё сразу за один проход.

Цифры, которые меняют всё:

  • YOLOv8n (nano) на CPU: 25-35 ms
  • YOLOv8s (small) на CPU: 40-60 ms (погранично)
  • Та же YOLO на GPU Intel Iris Xe: 8-12 ms

То есть даже на старом i5-8500 вы укладываетесь в норматив.

Но есть нюанс (и большой):


YOLO оптимизирована под «нашел объект в bounding box». А если вам нужно:

  • Найти трещину в 2 пикселя?
  • Классифицировать 50 типов дефектов?
  • Работать с Ч/Б изображением 4K?

Точность YOLO упадет на 10-15% по сравнению с кастомной CNN. На конвейере это 100 лишних бракованных деталей в смену.

Так что же ставить? Чек-лист за 5 минут

Я перепробовал 4 внедрения на реальных заводах (пищепром, металлообработка, сборка электроники). Вот схема выбора:

Бери YOLO, если:
✅ Скорость ленты > 0,5 м/с
✅ Дефект крупнее 10×10 пикселей (скол, отсутствие детали, наклейка)
✅ Можно жертвовать 2-3% точности ради скорости
✅ Железо — обычный промышленный ПК без дискретной видеокарты

Бери кастомную CNN (MobileNet/ShuffleNet), если:
✅ Микротрещины, царапины, дефекты пайки
✅ Низкий FPS (5-10 кадров/с) или лента почти стоит
✅ На каждый False Positive оператор бежит с красной лампой
✅ Есть бюджет на NVIDIA Jetson Orin или хотя бы GTX 1650

Секретный третий путь

Поставьте два конвейера в голове. Один физический — с деталями. Второй — логический:

  1. YOLO как сторож — грубо, но быстро. За 20 мс отсеивает 90% заведомо хороших деталей.
  2. CNN как эксперт — запускается только на подозрительных кадрах (5-10% случаев).

Среднее время обработки: 20 мс * 0.9 + 100 мс * 0.1 = 28 мс. Точность — как у тяжелой CNN. Скорость — почти как у YOLO.

Итог

Не верьте тем, кто говорит «YOLO рулит» или «только CNN». На конвейере прав тот, кто считает миллисекунды и рубли.

  1. Замерьте скорость ленты и размер дефекта.
  2. Возьмите ноутбук на завод и запустите YOLOv8n + MobileNet на пробной выборке.
  3. Если влезаете в <50ms — берите более точную модель.
  4. Нет — ставьте каскад (YOLO → CNN).

Подписывайтесь, чтобы не пропустить разбор: «Как мы "научили" камеру видеть трещину в 0.1 мм на деталях».