«Сколько нужно фотографий?» — первый вопрос почти на каждой встрече про контроль качества на камерах. Отвечать на него числом бессмысленно: размер датасета говорит о нём примерно столько же, сколько вес книги — о её содержании. Разберём, от чего на самом деле зависит объём обучающей выборки для машинного зрения, где в этой работе уходят деньги и как собрать снимки, чтобы через месяц не переснимать всё заново.
Считают не снимки, а примеры каждого дефекта
Модель учится отличать дефект от нормы по примерам дефекта. Десять тысяч кадров годных изделий и три кадра с царапиной — это выборка на три примера, а не на десять тысяч.
Поэтому начинать нужно не с камеры, а с таблицы: список дефектов, а напротив каждого — сколько кадров с ним у вас реально есть. Обычно на этом месте разговор меняется. Выясняется, что половина дефектов из списка случается раз в квартал, и собирать их придётся год.
От чего зависит нужный объём
Единого числа не существует, но есть три множителя, которые его задают. Пройдите по ним со своей задачей — и вместо вопроса «сколько снимков» у вас появится понятная вилка, которую можно обсуждать с подрядчиком.
Сколько типов дефектов вы различаете
Если достаточно ответа «годное или нет», данных нужно заметно меньше. Если нужно назвать тип дефекта — скол, царапина, непроклей, смещение, — то примеры нужны на каждый тип отдельно, и общий объём растёт кратно числу классов.
Насколько дефект заметен
Оторванный край видно на десятке кадров. Волосяную трещину на фоне текстуры — не видно и на тысяче, если снимать неправильно. Чем меньше разница между нормой и браком в пикселях, тем больше примеров нужно и тем важнее становятся оптика и свет.
Насколько однородны фон и условия
Одна линия, одно крепление, одно освещение — выборка нужна скромная. Четыре линии, разные операторы и дневной свет из окна — модель должна увидеть все сочетания, и объём растёт на каждое из них.
Редкий дефект ломает весь расчёт
Это главная ловушка проектов по обнаружению дефектов. Допустим, брак у вас встречается один раз на тысячу изделий — показатель, которым на производстве гордятся. Снимите десять тысяч кадров подряд, и в них окажется около десяти примеров брака. Для обучения этого мало, а съёмка уже отняла недели.
Цифры в этом примере условные, для иллюстрации счёта. Ваша доля брака и ваше распределение по типам дефектов будут другими — и именно они определяют, сколько продлится сбор.
Отсюда практическое правило: чем реже дефект, тем раньше надо начинать копить кадры. Сбор снимков можно запустить до того, как выбран подрядчик и утверждён бюджет, — камера и диск стоят несопоставимо меньше простоя проекта.
Чем разметка дефектов отличается от обычной разметки картинок
Датасет для распознавания предметов на фотографии и датасет для контроля качества устроены по-разному. В первом случае объект занимает заметную часть кадра и очевиден любому человеку. Во втором дефект занимает доли процента площади, а решение «брак или норма» опирается на допуск из вашего регламента.
Отсюда два следствия. Готовые размеченные наборы для компьютерного зрения вам не помогут: ваш дефект специфичен для вашего изделия. И инструкция для разметчика становится частью проекта — писать её нужно вместе с технологом до начала работ, а не после первых расхождений.
Отдельная ловушка — учиться по фотографиям из рекламаций. Они сняты телефоном, после транспортировки и при случайном свете. Такие кадры полезны, чтобы составить список дефектов, но как обучающая выборка для машинного зрения на линии они не годятся.
Где в разметке уходят деньги
Кто размечает
Разметить дефект может не всякий. Отличить скол от закономерной неровности литья способен технолог или контролёр с участка, а не нанятый исполнитель со стороны. Это основная причина, по которой разметку дефектов нельзя просто отдать на биржу.
Сколько времени уходит на кадр
Отметить на снимке «брак или нет» — секунды. Обвести границы дефекта — уже десятки секунд. Разметить несколько дефектов на одном изделии с указанием типа — минуты. Умножьте на объём выборки, и получите настоящий срок работ.
Согласованность разметчиков
Двое людей размечают одни и те же кадры по-разному, и это нормально до тех пор, пока расхождение не попало в обучение. Лечится инструкцией с пограничными примерами и перекрёстной проверкой части выборки. Без этого модель учится на противоречивых ответах и упирается в потолок, который не пробивается ни архитектурой, ни объёмом.
Приём, который окупается всегда: возьмите полсотни кадров, разметьте их двумя людьми независимо и сравните результаты. Расхождения покажут, какие формулировки в инструкции не работают. Стоит это один день, а экономит переделку всей выборки.
Почему разметка выходит дороже обучения
Обучение модели — это несколько дней работы инженера и счёт за вычисления. Разметка — это недели работы человека, который знает ваше производство, и его время в проекте самое дорогое из всех.
Второе отличие: обучение можно повторить за вечер, разметку — нет. Ошибка в разметке обнаруживается по низкому качеству модели, а исправляется повторным проходом по всей выборке. Поэтому разумнее потратить день на инструкцию и пробную партию из сотни кадров, чем потом переделывать тысячи.
Как оценить стоимость разметки заранее
Считается это в три множителя: число кадров, время на разметку одного кадра и стоимость часа того, кто размечает. Сложность в том, что все три выясняются только на пробной партии, а не на переговорах.
Поэтому порядок такой: разметьте сотню кадров силами своего технолога, засеките время, умножьте. Полученное число обычно удивляет — и узнать его лучше до подписания договора, чем на третьей неделе работ. Заодно выяснится, какие случаи спорные: именно они и попадут в инструкцию.
Как снимать, чтобы не переснимать
- Снимайте на той камере и в том месте, где система будет работать. Кадры с телефона годятся для разговора, но не для обучения.
- Зафиксируйте свет и положение изделия до начала съёмки. Меняя их посреди сбора, вы получаете две несовместимые выборки вместо одной.
- Сохраняйте снимки без потерь и в исходном разрешении. Сжатие съедает ровно те мелкие детали, ради которых всё затевается.
- Пишите к каждому кадру, когда и на какой линии он снят. Без этого невозможно понять, почему модель просела после смены партии.
- Снимайте не только брак, но и пограничные случаи — изделия, по которым контролёры спорят. Они ценнее очевидных.
Съёмка, которую придётся переделать
Есть три вида кадров, которые почти всегда отправляются в корзину. Первый — сделанные в лаборатории при хорошем свете, когда система будет работать в цеху. Второй — собранные за одну смену: в них нет ни смены освещения, ни разных операторов, ни вариаций сырья.
Третий — снятые после того, как дефектное изделие сняли с линии и положили на стол. На линии деталь движется, лежит под своим углом и частично перекрыта оснасткой. Модель, обученная на аккуратных студийных кадрах, на конвейере не работает.
Дополнение данных: что помогает, а что вредит
Искусственное расширение выборки — повороты, сдвиги, изменение яркости — помогает там, где имитирует реальную изменчивость. Если изделие на линии может лежать под небольшим углом, поворот кадров оправдан.
Вредит оно тогда, когда порождает то, чего не бывает. Отражённая по горизонтали деталь, которая физически не может так лежать, учит модель отвечать на несуществующие ситуации и размывает то, что она уже поняла. То же с генерацией синтетических дефектов: они закрывают нехватку примеров, но модель начинает искать признаки синтетики, а не брака.
Как понять, что данных уже хватит
Верный признак один: вы добавили заметную порцию новых примеров, а качество на отложенной выборке не изменилось. Значит, модель упёрлась не в объём, и дальше надо менять что-то другое — свет, оптику, постановку задачи или инструкцию для разметки.
Проверять это нужно на кадрах, которых модель не видела и которые сняты в другой день. Выборка, случайно нарезанная из одной смены, даёт завышенную оценку: в ней те же блики и те же изделия, что и в обучении.
Что делать, если дефектов почти нет
- Начните копить кадры прямо сейчас, не дожидаясь проекта: камера над линией и диск окупятся первой же неделей сбора.
- Соберите архив: фотографии брака из рекламаций и отчётов контроля часто лежат годами и вполне пригодны.
- Поставьте задачу иначе: искать отклонение от нормы, а не конкретный дефект. Так нужны примеры годного, а их у вас много.
- Сузьте область: один тип дефекта, один участок, одна линия. Узкая задача требует в разы меньше данных и быстрее даёт результат.
Четвёртый путь работает лучше остальных, а выбирают его реже всего — он выглядит как отказ от цели. На деле это способ получить работающую систему на одном участке и копить данные уже на ней: линия с камерой собирает кадры сама, без отдельного проекта по съёмке.
Датасет остаётся у вас — зафиксируйте это в договоре
Размеченная выборка переживёт и модель, и подрядчика. Архитектуры устаревают за год-другой, обучение повторяется за вечер, а корректно снятые и размеченные кадры вашей продукции остаются пригодными годами. Это единственный актив проекта, который со временем только дорожает.
Поэтому в договоре стоит записать отдельным пунктом: снимки и разметка принадлежат вам, передаются в открытом формате и не привязаны к инструменту подрядчика. Дешёвая страховка от ситуации, когда при смене исполнителя всё приходится собирать заново.
Проверьте заодно, в каком виде вам отдадут разметку. Выгрузка из закрытого сервиса в его собственном формате формально условие выполняет, а практически означает ещё один проект по переносу.
Сколько это занимает по времени
Съёмка обычно упирается не в технику, а в частоту дефекта: сколько недель нужно отработать линии, чтобы набрать нужное число примеров. Разметка считается в человеко-днях специалиста с производства — и это тот ресурс, который планируют последним, а он оказывается узким местом.
Практический вывод для планирования: сбор и разметку данных ставьте в график раньше разработки, а не параллельно ей. Прототип можно сделать за две недели, но только если к этому моменту есть на чём учить.
Коротко
- Размер выборки считают в примерах каждого дефекта, а не в общем числе снимков.
- Редкий брак — главный риск сроков: чем он реже, тем раньше надо начинать съёмку.
- Разметку дефектов делает человек с производства, поэтому она дороже обучения модели.
- Кадры снимают на рабочей камере, в рабочем месте и в разные смены — иначе переснимать.
- Данных достаточно тогда, когда новые примеры перестают улучшать качество на отложенной выборке.