Экспертный блог 4 мин чтения

Проект на компьютерном зрении застрял на фото: что готовить

Проекты на компьютерном зрении чаще всего встают не на коде, а на данных. Разбираю простым языком, сколько примеров нужно по открытым руководствам, как снимать, чтобы модель не ошибалась, как проверять разметку и что делать, если фото мало.

компьютерное зрениеразметка данныхпроверка по фотоИИ для бизнеса
Коротко. Проект на компьютерном зрении, будь то контроль выкладки, пересчёт на складе, поиск дефектов или проверка по фото, чаще всего задерживается не из-за кода. Он стоит, потому что нет нормальных фотографий: снимали как попало, в разном свете, без разметки, а кто и как её проверяет, никто не решил. Модель учится на примерах и повторяет их недостатки. Ниже: сколько примеров нужно, как снимать, как проверить разметку и что делать, если фото мало.

Проект застрял на фото

Типичная история. Владелец сети решил проверять выкладку по фото. Сотрудники месяц присылали снимки в общий чат, программист обучил модель, и она путает пустую полку с полкой, на которой просто стоит светлая упаковка. Программист говорит, что нужно больше данных. Владелец не понимает, каких именно и откуда их брать, ведь фото в чате тысячи.

Тысячи есть, а пригодных к обучению в них может не оказаться. На одних палец закрывает половину кадра, на других вечернее освещение, а размечать никто не умеет. Код готов, не хватает материала.

Что это значит для вашего бизнеса и что я об этом думаю

Модель компьютерного зрения не читает инструкцию. Она смотрит на тысячи примеров, где человек заранее показал: вот здесь дефект, вот здесь пустая полка, вот здесь двенадцать коробок. Из этого она выводит правило сама. Поэтому качество результата почти целиком определяется тем, какие примеры вы ей дали.

Срок проекта зависит от того, как быстро соберёте фото. Бюджет зависит от разметки. А точность зависит от того, насколько снимки похожи на те, что модель увидит в работе. Если учить на аккуратных фото из студии, а потом показать снимок с телефона продавца в тёмном зале, она ошибётся.

Моя позиция: сбор данных надо начинать раньше, чем выбирать модель или подрядчика. Обратный порядок, когда сначала код, а фото потом, чаще всего заканчивается переделкой.

Ещё я не верю обещаниям вида «точность 99% на любых ваших фото». Такая цифра бывает только на конкретном наборе проверочных снимков. Спросите исполнителя, на чём он проверяет модель и откуда взял эти снимки. Если ответа нет, цифра ничего не значит.

Сколько примеров нужно и как снимать

Универсального числа нет, оно зависит от задачи. Ориентир из открытых источников такой. В руководстве Ultralytics по обучению YOLOv5 для хорошего результата рекомендуют от 1500 изображений на каждый класс и от 10 000 размеченных объектов на каждый класс. Класс здесь означает то, что модель должна различать: «пустая полка», «целый ящик», «ящик со сколом».

Это ориентир для обучения модели детекции, жёстким требованием он не служит. Для простых задач часто хватает меньшего, для сложных надо больше. В том же руководстве советуют добавлять к набору от нуля до десяти процентов фоновых кадров, где искомых объектов нет вовсе. Они снижают число ложных срабатываний.

Точное число для вашей задачи видно только после пилота: обучаем на том, что есть, смотрим, где модель ошибается, и добираем именно эти случаи.

Там же сказано, что набор должен отражать условия работы модели. На практике это четыре правила.

Свет. Снимайте и днём, и вечером, при включённых и выключенных лампах. Витрина, которую модель видела только днём, вечером для неё другая.

Ракурс. Снимайте так, как будет снимать сотрудник в смену: с руки, на телефон, с того места, где он обычно стоит. Кадры со штатива не помогут, если на деле фото делают на ходу.

Фон. Если все дефектные детали сняты на сером столе, а годные на белом, модель выучит цвет стола, а не дефект. Обе группы надо снимать в одинаковых условиях.

Разнообразие. Разные точки, смены, люди с камерой и партии товара. Чем шире разброс, тем меньше сюрпризов после запуска.

Разметка и проверка качества до запуска

Разметка значит, что человек обводит на фото нужные объекты и подписывает их. Именно в ней прячутся ошибки. Если один разметчик считает царапину браком, а другой нет, модель получит противоречивые примеры.

В руководстве Ultralytics по сбору и разметке данных советуют заранее написать чёткие правила с картинками, регулярно просматривать выборки разметки и давать коллегам перепроверять друг друга. У разметки должен быть владелец: человек, который знает, что считать браком, и подписывает инструкцию.

Второе правило касается проверки. Часть фото надо отложить и не показывать модели во время обучения. Руководство по YOLOv5 советует держать обучающую и проверочную выборки раздельно, иначе показатели получатся завышенными. На отложенных снимках и измеряем качество перед запуском. Хорошо, если часть отложенных снимков сделана на других точках и в другие смены. Так видно, как модель поведёт себя в новом месте.

Что делать уже сейчас

Шаг 1. Опишите, что считается нормой и браком. Одной страницей с картинками. Если вы сами не можете показать границу между «годным» и «нет», модель её не найдёт.

Шаг 2. Начните собирать фото в рабочих условиях. Пусть сотрудники снимают как обычно, в разные смены и при разном свете. Складывайте всё в одну папку по точкам и датам.

Шаг 3. Назначьте владельца разметки. Один человек, который отвечает за единые правила и перепроверяет часть чужой разметки.

Шаг 4. Отложите проверочный набор. Сразу, до обучения, выделите часть снимков, особенно с новых точек, и не используйте их для учёбы.

Что важно учесть

Если данных мало, не всё потеряно. В упомянутом руководстве для небольших наборов называют аугментацию, то есть искусственное разнообразие из имеющихся фото вроде поворотов и изменения яркости, и перенос обучения, когда берут уже обученную модель и доучивают под свою задачу. Это помогает, но совсем без ваших примеров не обойтись.

Редкие дефекты остаются главной трудностью: если брак встречается раз в несколько тысяч изделий, примеров накопится нескоро. Тогда модель отмечает подозрительное, а решение принимает человек. Если в кадр попадают люди или документы, учитывайте 152-ФЗ до начала съёмки.

Как я с этим помогаю

В услуге «Компьютерное зрение» я начинаю с вашего набора фото: смотрю, что есть, составляю инструкцию по съёмке и разметке, выделяю проверочный набор и только потом обучаю. О том, как выглядит готовый контроль выкладки, я писал в разборе проверки выкладки по фото, а о бюджете и окупаемости на линии есть статья про компьютерное зрение на производстве. Цены в прайсе.

Частые вопросы

Можно ли начать, если у нас всего пара сотен фото?

Можно, как пилот. На небольшом наборе видно, какие случаи модель путает, и понятно, что добирать.

Кто должен размечать фото, вы или мы?

Правила брака должны задать вы, потому что вы знаете продукт. Саму разметку можно выполнить на моей стороне или силами вашего сотрудника, но проверка выборки остаётся за вами.

Можно ли использовать фото из открытых источников?

Для общих объектов иногда да. Для вашей полки, изделия и освещения чужие снимки не подходят, основу лучше снять у себя.

Коротко о главном

Компьютерное зрение упирается в данные: сколько снято, при каком свете, как размечено и кто это проверил. Чем раньше это решено, тем меньше переделок после первого запуска.

Есть задача по фото, но непонятно, с чего начать сбор? Напишите мне в Telegram слово «РАЗМЕТКА». Посмотрю, что у вас уже есть, и скажу, чего не хватает для запуска.

Услуги по теме

Что я делаю для бизнеса

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ

Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»

12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.

Готовы обсудить вашу задачу?

Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.

Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх