Система визуального контроля с ocr оптическим распознаванием символов

Когда слышишь про системы визуального контроля с OCR, первое, что приходит в голову — это идеальное считывание текста в стерильных лабораторных условиях. Но на практике, особенно в промышленности, всё иначе. Многие заказчики до сих пор уверены, что OCR — это просто ?камера + софт?, а потом удивляются, почему система не справляется с бликами на металле или дрожанием конвейера. Вот тут и начинается настоящая работа.

Разработка OCR-систем для промышленности: базовые сложности

В нашей компании ООО Наньцзин Жуцянь Автоматизированное Оборудование мы часто сталкиваемся с тем, что клиенты приходят с запросом ?хочу распознавать текст на деталях?, но не учитывают условия производства. Например, при интеграции системы на заводе по производству электронных компонентов мы столкнулись с тем, что маркировка наносится лазером на шероховатую поверхность, и контраст меняется в зависимости от угла освещения. Пришлось комбинировать несколько типов подсветки — тёмное поле и кольцевую — чтобы добиться стабильного результата.

Ошибка, которую часто допускают на старте — это выбор камеры только по разрешению. Мы тоже когда-то переоценили мегапиксели, но для OCR важнее скорость срабатывания затвора и динамический диапазон. Особенно если конвейер движется со скоростью больше 0.5 м/с. Сейчас мы чаще используем камеры с глобальным затвором, даже если разрешение скромнее — так меньше размытия.

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

Интеграция с производственными линиями: подводные камни

Когда мы разрабатывали систему для автоматизированной линии сборки на одном из заводов в Подмосковье, столкнулись с проблемой синхронизации. Камера должна была срабатывать точно в момент, когда деталь останавливается под объективом. Казалось бы, тривиальная задача — датчик положения и импульс на камеру. Но из-за вибрации конвейера позиционирование ?уплывало? на 2-3 мм, и OCR не попадал в зону маркировки.

Пришлось добавить дополнительный этап — поиск маркера позиционирования на изображении перед обрезкой зоны распознавания. Это увеличило время обработки на 50 мс, но зато подняло процент успешных считываний с 70% до 98%. Кстати, именно на таких кейсах понимаешь, что оптическое распознавание символов — это не только про алгоритмы, но и про механику.

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

Программная часть: от шаблонов к гибким решениям

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

Сейчас в наших проектах, которые мы описываем на https://www.rq-automation.ru, мы часто используем гибридный подход: классический OCR для чётких маркировок и дообученные нейросети для сложных случаев — например, когда символы частично стёрты или залиты маслом. Но нейросети — не панацея. На одном из пищевых производств пытались распознавать даты на гофротаре — шрифт был стандартный, но из-за фактуры картона и теней нейросеть давала больше ошибок, чем правило-based алгоритм.

Кстати, про ошибки. Мы всегда закладываем не менее 15% времени на обработку исключений. В промышленном визуальном контроле всегда найдётся деталь, поставленная криво, или маркировка, нанесённая с браком. Система должна не просто сказать ?не распознано?, а хотя бы попытаться выделить область проблемы и дать понять оператору, в чём дело. Для этого мы добавляем в интерфейс визуализацию уверенности распознавания по каждому символу — иногда помогает вручную скорректировать результат, не останавливая линию.

Аппаратные нюансы: камеры, освещение, периферия

Освещение — это 70% успеха в OCR, и это не преувеличение. Мы перепробовали десятки конфигураций — от коаксиальных светильников до ИК-подсветки. Самым неочевидным открытием стала поляризация. При распознавании текста на глянцевых этикетках блики сводили на нет все усилия по настройке ПО. Помогли поляризационные фильтры на камеру и на свет — дорого, но работает.

Ещё из аппаратных сложностей — это совместимость. Казалось бы, стандарты GigE Vision и USB3 Vision должны решать все проблемы. Но на практике драйверы одной камеры могут конфликтовать с ПО для захвата изображения, особенно под Windows. Сейчас мы чаще разворачиваем системы на Linux, чтобы избежать внезапных обновлений, которые ломают совместимость. Кстати, это одна из причин, почему мы в ООО Наньцзин Жуцянь Автоматизированное Оборудование стали предлагать готовые аппаратно-программные комплексы — чтобы клиент не столкнулся с тем, что купленная отдельно камера не стыкуется с нашим софтом.

Из последних наработок — использование камер с функцией HDR для сцен с высоким контрастом. Например, когда нужно считать текст с чёрной этикетки на блестящем металле. Раньше мы делали несколько кадров с разной выдержкой и склеивали, но это замедляло процесс. Сейчас камеры делают это на аппаратном уровне, что ускоряет захват без потери качества.

Примеры внедрения и уроки

Один из самых показательных проектов — это система для контроля маркировки шин. Задача: считывать DOT-код на боковине, причём шины движутся по роликовому конвейеру с переменной скоростью. Проблема была в том, что шина деформируется в зоне контакта с роликами, и текст искажается. Стандартные алгоритмы сегментации символов не справлялись.

Мы решили это за счёт динамического изменения зоны интереса — камера делала серию кадров, и мы выбирали тот, где шина была в наименее деформированном состоянии. Плюс пришлось обучать распознавание на наборе реальных изображений, потому что стандартные шрифты не совпадали с тем, как выглядит текст на резине после вулканизации. В итоге система работает, но процент распознавания — около 92%, а не 99%, как хотелось бы. Иногда приходится мириться с компромиссами.

Другой пример — интеграция с ERP. Мы сделали систему для склада запчастей, где OCR считывает артикулы с коробок, а потом данные уходят в 1С. Сама система распознавания была готова за две недели, а настройка обмена данными заняла больше месяца. Выяснилось, что в базе клиента один и тот же артикул мог быть записан в разных форматах — с дефисами, без дефисов, с пробелами. Пришлось добавлять модуль нормализации текста перед отправкой. Это к вопросу о том, что система визуального контроля — это всегда про интеграцию в существующие процессы, а не просто про технологии.

Перспективы и ограничения

Сейчас много говорят про нейросети для OCR, и мы их активно тестируем. Но в промышленности есть нюанс — для обучения нужно много размеченных данных, а получить их с производства сложно. Разметка тысяч изображений с маркировкой — это недели работы. Поэтому пока мы используем нейросети выборочно — для самых сложных случаев, где классические методы не справляются.

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

В целом, если смотреть на нашу линейку проектов, описанных на https://www.rq-automation.ru, то видно, что OCR оптическое распознавание символов — это не готовый продукт, а каждый раз индивидуальная настройка. И главный навык — это не столько умение программировать, сколько способность понять производственный процесс и предвидеть проблемы, которые не описаны в техническом задании. Именно поэтому мы позиционируем себя как интеграторы, а не просто поставщики оборудования.

Соответствующая продукция

Соответствующая продукция

Самые продаваемые продукты

Самые продаваемые продукты
Главная
Продукция
О Hас
Контакты

Пожалуйста, оставьте нам сообщение