Поделиться • 2 июля 2025
Как научить ИИ отличать пластик от металла и почему готовые датасеты — ловушка, которая съест весь бюджет
Как научить ИИ отличать пластик от металла и почему готовые датасеты — ловушка, которая съест весь бюджет
Текст: Рамиль Зайнеев, генеральный директор компании ZeBrains
Фото: Unsplash
Когда мы запустили первую версию ИИ-системы для сортировки мусора, она путала пластиковую бутылку с консервной банкой. Проблема была не в алгоритмах — мы сэкономили на датасетах. Пришлось потратить восемь месяцев и 12 млн руб., чтобы довести точность распознавания до 96%. Вот что мы поняли о настоящей цене машинного обучения кроме того, что экономить не стоит.
Когда мы запустили первую версию ИИ-системы для сортировки мусора, она путала пластиковую бутылку с консервной банкой. Проблема была не в алгоритмах — мы сэкономили на датасетах. Пришлось потратить восемь месяцев и 12 млн руб., чтобы довести точность распознавания до 96%. Вот что мы поняли о настоящей цене машинного обучения кроме того, что экономить не стоит.
Все завязано на обучении перцептронов — базовых ячеек, которые принимают входные данные и возвращают результат: 1 или 0. Представьте черно-белую картинку с одним пикселем. Этот пиксель может быть черным (то есть 0) или белым (то есть 1). Перцептрон, увидев изображение, анализирует пиксель и принимает решение, черный или белый, на основе весового коэффициента (это числовой множитель, который отражает вклад определенного элемента в общий результат. — Прим. ред.), присвоенного каждому цвету.
В процессе обучения своей системы сортировки отходов Marqus мы использовали многослойную нейронную сеть (так называют ИИ-системы, в которых несколько уровней обработки информации). Каждый слой анализирует данные и передает результат следующему, что позволяет распознавать сложные закономерности. Изначально она не умела определять типы материалов.
Открытых датасетов крайне мало, а те, что есть, либо стоят дорого, либо не покрывают всех требований. Например, найти датасет со всеми типами пластика практически невозможно. Тип материала отхода можно определить на основе различий светоотражающих свойств материалов в разных спектрах, и для этой работы нужен свой собранный датасет.
Без таких специализированных данных эффективность нейросети сведется к нулю. Поэтому мы привлекли специалиста в области пластмасс, который может различить визуально похожие друг на друга виды пластика.
В результате мы подготовили большой датасет — структурированный набор данных для обучения — с изображениями различных материалов и применили подход обратного распространения ошибки: когда нейросеть правильно определяла материал, она получала положительную оценку, а при ошибке — указание на неточность.
Например, если система видела пластиковую бутылку и правильно говорила «это пластик PET», мы подтверждали правильность. Если же она путала PET с пластиком HDPE, мы исправляли ошибку. После множества итераций (сотен тысяч циклов) нейросеть научилась точно определять материалы на новых, ранее не виденных изображениях.
Процесс сбора данных для датасета
Датасет можно представить в виде большой таблицы, где в одном столбце находятся примеры (фотографии, тексты, звуки), а в другом — правильные ответы к ним.
Вот как выглядит простой пример такой таблицы для распознавания материалов:
Работа идет по следующем алгоритму:
После обучения тестируем модель на контрольном датасете. Это позволяет убедиться, что она так же правильно работает на новых данных, как и на обучающих.
На схеме, иллюстрирующей процесс внедрения ИИ, показаны две основные петли:
Эти петли интегрированы в более крупный цикл эксплуатации, где новые данные или требования бизнеса инициируют дополнительные итерации.
Вот как это выглядит на практике.
Данные могут быть изначально цифровые, например тексты в PDF-файлах, и тогда требуется только их разметка. Однако в случае с Marqus нам пришлось сначала оцифровывать реальные объекты (отходы), создавая их цифровые копии путем фотографирования в специальном боксе, а затем размечать эти изображения, присваивая им признаки, например тип материала.
Для сбора данных мы создали специальный бокс, в котором отходы фотографировали в различных спектральных диапазонах. Например, пластиковую бутылку фотографировали в десяти разных спектрах, затем поворачивали и повторяли процесс. Это позволяло собрать детальные данные о светоотражающих свойствах материалов, необходимых для точной классификации. Всего мы создали около 10 тыс. таких фотографий.
Понимая, что придется собирать данные самостоятельно, мы даже хотели привлечь своих штатных программистов, но этот подход оказался бы слишком дорогим. Программисты, занимаясь разметкой, отвлекались бы от основной работы, а процесс требовал много времени и постоянных проверок. В итоге стало понятно, что лучше привлечь для этого отдельную команду.
Мы даже создали необычную вакансию, «фотограф мусорной хроники», которая привлекла внимание в социальных сетях:
Это помогло найти людей, готовых заниматься специфической, но очень важной для нас работой.
Мы также обратились к волонтерам из Краснодарского края. Работу организовали следующим образом: первая группа волонтеров занималась подготовкой образцов отходов, вторая — фотографировала их и размечала данные, а затем результаты проходили проверку на корректность.
Однако волонтеры быстро устали от монотонной работы. Процесс требовал много внимания и концентрации, так как разметка должна была быть точной и соответствовать строгим критериям. Со временем мотивация у участников снизилась и это сказалось на качестве разметки.
Мы решили эту проблему, разделив задачи на более мелкие и управляемые части, чтобы избежать перегрузки и повысить качество выполнения работы.
После создания начального датасета с фотографиями отходов мы обучали модель для классификации материалов, таких как пластик, металл и стекло. Однако на этапе эксплуатации бизнес решил добавить новый тип отходов, например картон. Это потребовало новых итераций: мы собрали дополнительные данные, обогатили датасет и переобучили модель.
Наш опыт показал, что процесс создания собственного датасета требует значительных ресурсов и времени, но окупается высоким качеством обучения нейронной сети и точностью ее работы. А вот экономия на этапе сбора и разметки данных неизбежно приводит к проблемам в работе системы и дополнительным затратам на ее доработку.