Дмитрий Ивченко: «В 2014 г. для реализации подстрочника в прямом эфире на олимпиаде в Сочи сидели специальные дикторы, которые передиктовывали своим голосом трансляцию в специальные микрофоны, и система распознавания была настроена на каждого диктора индивидуально. Только такой подход давал нужную скорость и точность.
В 2025 г. моя дочка кричит из гостиной: «Алиса, поставь песню Эльзы из Холодного сердца», – и колонка, находящаяся на кухне с шумящим чайником и разговаривающими родителями, включает нужный трек, полностью разобравшись в запросе за пару секунд.
Всё это результат использования глубокого обучения искусственных нейросетей совместно со старыми методами цифровой обработки сигналов. Как же люди преодолели такой путь всего за 11 лет и почему ни Алиса от Яндекса, ни сканер KnotInspector были бы невозможны 15 лет назад?»
К 2000-м годам математики и исследователи давно понимали, на что способны нейронные сети, а теоретическая база в этой сфере уже была проработана. Даже сверхточные нейронные сети, близкие к той, которая лежит в основе KnotInspector, уже были хорошо известны. Основная проблема заключалась в вычислительной сложности: для обучения эффективной нейросети требовались огромные объемы данных и высокие вычислительные мощности, которые долгое время оставались недоступны.
Ситуация изменилась с появлением General Purpose GPU – видеокарт, способных выполнять не только графические расчеты, но и любые другие вычисления общего назначения. Ключевым фактором развития GPU стал расцвет киберспорта и игровой индустрии. Благодаря массовому спросу и удешевлению – компьютеры по всему миру получили мощные и доступные видеокарты. В конкурентной борьбе производителей победу одержала Nvidia.
Графические ускорители, по сути, представляют собой векторные сопроцессоры, способные быстро обрабатывать не отдельные числа, а целые матрицы. Это необходимо для работы с графикой, поскольку изображения – это матрицы пикселей, а трехмерные сцены требуют вычисления преобразований координат в пространстве.
Nvidia совершила важный шаг, предложив в 2007 г. инструменты для работы с любыми вычислениями на своих видеокартах. Этот набор, известный как CUDA, позволил использовать GPU не только для рендеринга, но и для сложных математических операций. Владельцы видеокарт Nvidia получили возможность выполнять на них любые вычисления, что, в свою очередь, позволило обучать сложные нейросети инженерным командам по всему миру.
Следующий переломный момент наступил в 2012 г., когда нейросетевой алгоритм AlexNet впервые победил в конкурсе ImageNet. Главное преимущество этого алгоритма, основанного на глубоком обучении, заключается в том, что он не требует для работы ручного feature engineering – процесса, в котором инженер сам выделяет признаки для классификации. Вместо десятков узкоспециализированных алгоритмов достаточно использовать одну нейросеть, которая сама обучится находить нужные закономерности. Благодаря этому 13 лет назад понятие глубокого обучения покинуло лаборатории и стало распространяться со скоростью пожара.
Начав разработку сканера пиломатериалов в 2014 г., команда KnotInspector попыталась пойти классическим путем: создать отдельные алгоритмы для каждого этапа обработки – локализации, выделения признаков, классификации – и даже отдельные алгоритмы для каждого вида дефекта.
Однако такой подход требовал огромных ресурсов и был практически нереализуем для небольшой команды. Поэтому, как только появились готовые к промышленному использованию архитектуры сверточных нейросетей, Дмитрий получил совет от своих друзей из СПбГУ обучить одну большую модель для решения всей задачи.
Применив метод семантической сегментации, широко используемый, например, в автоматизированном анализе медицинских изображений, команда сразу получила первые правдоподобные результаты – около 93% точности классификации. Конечно, этого было недостаточно для промышленного использования, но более чем достаточно для продолжения исследований. Это стало первым ключевым прорывом: благодаря новому подходу удалось заменить множество разрозненных алгоритмов единой моделью.
Тогда для создания продукта промышленного качества у KnotInspector появилась группа разметки, которая взяла на себя сбор и разметку данных. Интересно, что до этого момента технический директор и ведущий инженер KI Владислав Бортников сам размечал данные вместе с небольшой группой добровольцев из команды.
Объем данных, необходимых для обучения нейросети, определяется конкретной задачей, но общее правило простое: чем больше – тем лучше. По опыту Екатерины Баллах, руководительницы группы разметки KI, минимальный порог для получения первых результатов для новых пород дерева при использовании предобученной нейросети составляет около 2500 размеченных снимков. Но для достижения приемлемого качества требуется намного большее количество данных.
Первичное же обучение нейросети для распознавания дефектов сосны потребовало колоссального количества данных: 18000 снимков, большая часть из которых была тщательно размечена. Интересно, что процесс обучения значительно ускоряется за счет использования этой – «сосновой нейросети» для новых пород. Используя её как базовую модель, команда смогла с меньшими затратами обучить модели для березы и дуба. Это работает потому, что ключевые дефекты, например сучки, имеют схожие признаки у разных пород.
Если в начале пути команда сталкивалась с проблемой недостатка данных, то теперь сканеры ежедневно снимают больше изображений, чем физически возможно успеть обработать. Поэтому появилась новая задача – отбор наиболее ценных для обучения образцов, а также фокус на обратной связи от клиентов и разборе сложных случаев.
Например, у досок одного из клиентов есть интересная особенность – темная сердцевина, которую нейросеть ошибочно классифицировала как обзол. Для решения этой проблемы специалисты отобрали проблемные доски со сканера клиента, организовали их разметку и провели целевое дообучение модели. Аналогичный подход применяется для других специфических проблем – например, в случае с другим клиентом, где выпавшие сучки первоначально определялись как мёртвые.
Вместе с такими дообучениями появилась заметная тенденция: разные версии нейросети показывают разную эффективность у разных клиентов. Например, одна версия лучше работает с досками из центральной части России, другая – с досками из Сибири. Есть вероятность, что в будущем компания перейдет к более персонализированным решениям, когда каждый крупный клиент будет получать модель, оптимизированную именно под его сырье и производственные условия.
Помимо различий во внешнем виде дефектов древесины от разных поставщиков, сканер сталкивается и с другими вызовами: с разными типами «шума». Первый – поверхностные загрязнения: пыль, стружка, следы механического воздействия. Сюда входят кусочки коры и прочие налипшие частицы, въевшаяся грязь разного цвета, даже отпечатки ботинок.
Второй тип – разные вариации обработки поверхности, связанные с особенностями оборудования. Идеальные доски для сканирования и определения дефектов – калиброванные, обработанные на качественных четырехсторонних строгальных станках. Но в реальности всё сложнее: разные стороны доски могут быть обработаны по-разному, встречаются нестроганые поверхности и пр.
Для борьбы с этими помехами команда использует комплексный подход. Нейросеть обучают на примерах грязных досок, чтобы она понимала, что является дефектом, а что – загрязнением. Так, например, сучок на сосне не может быть меньше 3 мм. Система также обучается на реальных примерах – нестроганых досках со всеми видами загрязнений. Параллельно предлагаются механические решения: опции для очистки поверхности перед сканированием, например использование щеток.
Конкретный набор мер зависит от предприятия, поэтому каждый новый проект включает период опытной эксплуатации, занимающий обычно около месяца, когда система адаптируется к конкретным условиям производства. А ещё с каждым новым внедрением «насмотренность» сканера растет, и он увереннее справляется с разными видами визуального шума прямо «из коробки».
Как можно заметить, разработка такой системы – трудоёмкая, сложная и комплексная задача, требующая как высокого уровня знаний в машинном обучении, так и глубокого понимания потребностей самых разных деревообрабатывающих предприятий. Почему же работа над проектом того стоит, и как нейросеть побеждает человека в рутинных прикладных задачах?
Дело в том, что человек физически не может конкурировать с машиной в скорости. Чтобы осмотреть 6-метровую доску, эксперту нужно несколько раз пробежать вдоль неё, желательно заглянув с разных сторон. При этом к концу осмотра он уже забывает, что видел в начале. Сканер получает сразу четыре изображения доски и способен анализировать весь контекст одновременно. Это значительно влияет как на скорость, так и на точность распознавания.
Как и в каждой области, где человек считался непревзойденным, например шахматы или го, – компьютер планомерно побеждает. Эксперт сегодня может обогнать сканер в точности распознавания, но уже не обгонит в скорости. В комбинации скорость плюс точность KnotInspector побеждает 90% опытных операторов.
Но и это не предел: команда активно исследует возможности лазерной и структурной подсветки, планируя создать комбинированную систему, чтобы дополнительно увеличить точность распознавания дефектов и раскроя. Кроме того, недавно инженеры KI представили прототип новой нейросети для точной оценки разных свойств сучков. Она будет работать в паре с основной нейросетью, выделяя и уточняя важные для клиента признаки. Эта модель будет полезна тем предприятиям, на которых ТУ сформулированы согласно требованиям ГОСТа. Её появление стало возможно благодаря непрекращающейся исследовательской деятельности команды, открывающей подходы для решения задач самых разных клиентов.
История KnotInspector демонстрирует, почему подобные системы были невозможны 15 лет назад. Раньше для создания сканера пиломатериалов на основе машинного зрения потребовалась бы огромная команда программистов: каждый из них писал бы отдельный алгоритм для конкретного дефекта. Как в случае с олимпийскими дикторами 2014 г., система требовала бы индивидуальной настройки буквально во всём. Результат был бы дорогим, негибким и практически неприменимым в реальном производстве. Сегодня же обучить и настроить нейросеть, доведя её функции до промышленного качества, может сравнительно небольшая группа сильных инженеров.
Поэтому KnotInspector – это не просто технологический продукт, а символ перехода к эпохе самообучающихся систем, способных превзойти человека и улучшить производственные процессы самых разных предприятий.
Дмитрий Ивченко,
основатель группы компаний TruePositive, руководитель проекта сканера пиломатериалов KnotInspector
Владислав Бортников,
технический директор группы компаний TruePositive, ведущий инженер-разработчик сканера пиломатериалов KnotInspector
Екатерина Баллах,
руководитель группы разметки данных сканера пиломатериалов KnotInspector