Оптическое распознавание символов (англ. optical character recognition, OCR) – технология преобразования изображений, содержащих буквенно-цифровые надписи (рукописные или напечатанные), в машиночитаемые текстовые данные.
Необходимость в распознавании символов возникает перед промышленными предприятиями достаточно часто. В то же время задача осложняется сложными условиями производства: неровная поверхность, сложный способ нанесения, неподходящее освещение, пыль, блики и другие факторы затрудняют процесс распознавания.
Помимо считывания символов зачастую требуется их верификация (англ. optical character verification, OCV) – проверка соответствия символов в одной или нескольких символьных строках символам, которые должны содержаться в данных строках.
Уровень развития технологий сегодня таков, что уверенное распознавание и верификация большинства маркировок могут быть обеспечены применением систем машинного зрения «из коробки». Уже более 8 лет наша компания является официальным партнером-интегратором в России и СНГ мирового лидера в производстве систем машинного зрения – компании Cognex. Алгоритмы и оборудование Cognex позволяют быстро проектировать и разрабатывать высококачественные приложения на основе машинного зрения в широком спектре отраслей. Однако существуют задачи, с которыми типовое оборудование не справляется, и тогда требуется разработка индивидуального решения на основе собственных алгоритмов машинного зрения и глубокого обучения, в чем наша компания также специализируется. Цель статьи: поделиться практическим опытом применения машинного зрения для успешного распознавания и верификации символов в различных промышленных приложениях.
Современные технологии OCR и OCV применяются на производстве для решения следующих задач:
Все эти задачи в большинстве случаев могут быть успешно решены с применением типового оборудования, используемого и в других приложениях машинного зрения.
Видеодатчики. В конце 2019 года компания Cognex выпустила серию видеодатчиков IS2000/2001 с функцией чтения текста ( «Read Text (OCR)»). Ранее этот функционал был доступен только в смарт-камерах, которые стоят на порядок выше. Видеодатчики надежно справляются с распознаванием качественно пропечатанных символов при печати на этикетках, прямой печати и печати лазером. Могут работать на высоких скоростях, содержат мощные алгоритмы распознавания и имеют относительно низкую стоимость.
Смарт-камеры. Продуктовая линейка полнофункциональных смарт-камер Cognex оснащена новейшими алгоритмами OCR. Мощные алгоритмы распознавания Cognex OCRMax™ и позиционирования — Cognex PatMax и PatMax Redline — позволяют уверенно распознавать маркировку на сложных поверхностях. Смарт-камеры полностью автономны (аналитика происходит на борту) и способны работать на высоких скоростях, малые габариты позволяют вписывать их в стесненные пространства.
Системы на базе камер машинного зрения. Камеры выполняют только съемку маркировки и передают изображения на сервер, где выполняется основная обработка. Все умные функции берет на себя компьютер, распознавание маркировки осуществляется на базе алгоритмов, заложенных в программном обеспечении Cognex VisionPro. Основные преимущества подобных систем: мощные алгоритмы распознавания OCRMax™ и позиционирования PatMax, возможность гибкой настройки оптической схемы, комбинирования алгоритмов; а также возможность подключения до 8 камер на 1 ПК, что позволяет удешевить решение.
В программном обеспечении распознавания символов могут использоваться различные алгоритмы: традиционные алгоритмы и алгоритмы глубокого обучения (Deep Learning), либо их комбинации.
До недавнего времени традиционные (детерминированные) алгоритмы были единственно возможным инструментом. В результате их работы выдается уникальный и предопределённый результат для заданных входящих данных. Традиционные алгоритмы используются в видеодатчиках, смарт-камерах и системах машинного зрения, поставляются «из коробки». Их основные преимущества: быстродействие, надежная работа в идеальных, воспроизводимых условиях, когда шрифт разборчив и представлен на контрастном фоне. Недостатки: работа преимущественно с типовыми шрифтами, ограниченные возможности распознавания поврежденных символов на сложном фоне.
В качестве примера рассмотрим все этапы работы традиционного алгоритма OCRMax™ — OCR и OCV инструмент, который используется как в системах InSight Vision, так и в программном обеспечении Cognex VisionPro. OCRMax™ выполняет не только распознавание, но и верификацию маркировки. Ключевые показатели: высокая производительность, предварительная обработка изображений, обучение новым шрифтам, возможность распознавания символов за миллисекунды, возможность достижения точности распознавания на уровне 99,99% или близкой к этому, простота программирования.
Возможности OCRMax™ достаточно широки и включают в себя:
Алгоритм OCRMax™ выполняется в несколько этапов: предварительная обработка и корректировка изображения, чтобы получить на выходе качественную картинку. На этом этапе алгоритм способен улучшить контрастность, скорректировать настройки под влиянием внешних факторов, фильтровать фоновые шумы на изображении. Использование предварительной обработки и коррекции изображения облегчает обучение алгоритма на новом шрифте, адаптирует систему под различные производственные линии и корректирует настройки системы при изменении условий освещения в течение дня.
Следующий крайне важный этап работы OCRMax™ – сегментация, то есть разделение надписи на отдельные символы. Этот инструмент находит каждый символ на основании: минимальной/максимальной высоты и ширины и соотношений сторон, углов/наклона, меж- и внутри символьного зазора и других характеристик шрифта. Каждая цифра обладает своими уникальными качествами, под них настраивается сегментация.
Для повышения скорости распознавания инструмент сегментации содержит фильтр шума, фильтр ширины штриха, инструмент компенсации изменения условий освещения и автоматического масштабирования символов – больше или меньше, если требуется.
Далее следует этап классификации, который заключается в отнесении каждого обнаруженного символа к определенному классу, например, к букве «А», букве «B», «С» и т.д. Классификация нужна для того, чтобы система отличала такие случаи как буква В и цифра 8, и другие похожие символы, которые могут вызвать сомнения в первоначальной обработке. Опциональный алгоритм программирования Fielding позволяет задать любую дополнительную информацию о строке символов, снижая тем самым вероятность ошибки. Например, можно установить, что символ 4 справа всегда является цифрой или буквой, или что в маркировке должен содержаться код производства. Если система его не найдет, то выдаст сигнал о браке.
Еще один этап работы алгоритма – автонастройка; он автоматизирует процессы получения изображения, установки оптимальных параметров сегментации, обучения алгоритма. Автонастройка значительно сокращает время настройки инструмента на чтение типовых шрифтов. Для сложных маркировок пользователь может вручную провести сегментацию, а также обучить символы, которые не будут распознаны автоматически.
Заключительный этап — оптическая проверка символов (OCV). Верификация нужна для анализа настройки маркировки на наличие в ней каких-либо ошибок.
Традиционные алгоритмы продолжают развиваться, несмотря на внедрение глубокого обучения, и до сих пор решают многие типовые задачи.
Фактор | Условие |
Изображение | Обеспечено выделение четких границ символов. |
Контраст | Символы отличаются от фона как минимум на 30 уровней градации серого. Прописывается везде, в том числе и в ТЗ, совместно с заказчиками. |
Качество печати | Символы печатаются без искажений. |
Шрифт | Символы в строке состоят из предустановленного в ПО шрифта. |
Поверхность | Строка нанесена на чистой плоской поверхности с незначительными или полностью отсутствующими факторами, которые могли бы повлиять на внешний вид конкретного символа. |
Фактор | Условие |
Изображение | Изображение не попало в фокус или плохо освещено. |
Шрифт | Символы искажены либо выходят за рамки строки. |
Размер шрифта | Не соответствует требованиям: минимальная площадь 20x15 пикселей или максимальная площадь 100x80 пикселей. |
Контраст | Низкий. Символы не отличаются от фона как минимум на 30 уровней градации серого. |
Поверхность | Качество поверхности, на которую нанесена строка, не позволяет осуществить надежное распознавание. Ржавая, бликующая. |
Примеры негативных факторов: недостаточный контраст – символы не видны, ложная поверхность нанесения, низкое качество изображения и шрифта.
Прочие факторы, влияющие на качество распознавания маркировки: наличие специальных маркеров, скорость линии в точке контроля, внешнее освещение, перекрытие маркировки объектами, фиксированное расстояние до маркировки, своевременная выдача сигнала о поступлении объекта в зону контроля.
Кроме того, для качественного распознавания важно правильно подобрать параметры конфигурации, которые позволяют осуществлять считывание и верификацию символов даже со сложных поверхностей. Например, большой интервал между символами усложняет работу алгоритма. Решение: увеличение параметра горизонтального интервала между символами.
По сравнению с традиционными алгоритмами, глубокое обучение дает более широкие возможности распознавания не только типовых маркировок, но и сложных, поврежденных шрифтов, символов на сложном текстурном фоне и т.д. Программное обеспечение Cognex VisionPro Deep Learning (ViDi) — лучшее в своем классе программное обеспечение для анализа изображений на базе технологий глубокого обучения, разработанное специально для автоматизации производства. В конце апреля 2020 года Cognex выпустил на рынок также линейку смарт-камер с программным обеспечением глубокого обеспечения на борту. Это оборудование заточено именно под распознавание промышленных маркировок и предобучено на огромной базе шрифтов. Возможна работа «из коробки», так как дообучение может и не потребоваться. Кроме того, использование камеры не требует специальных знаний в области машинного зрения.
Клиентов всегда волнует вопрос точности распознавания символов, которую может обеспечить система машинного зрения. Процент распознавания сильно зависит от условий в точке контроля. Предугадать его невозможно, так как он определяется только во время тестирования и работы (кроме отдельных типовых случаев).
Ошибки распознавания могут происходить как на этапе сегментации: пропуск символа, ложное срабатывание; так и при классификации: неправильное определение символа. В ходе тестирования, совместно с разработчиками, можно настроить систему под оптимальные параметры.
Достичь 70-80% распознавания – не проблема, это можно сделать на стандартных библиотеках, при отсутствии сложных условий. По опыту нашей работы, чтобы достичь распознавания 90-95% нужно поработать над алгоритмами: зачастую достаточно точечных настроек. А вот чтобы достичь уровня 99% и выше, требуется серьезная доработка алгоритмов. Используются дополнительные факторы, повышающие качество распознавания маркировки: например, мы можем использовать несколько алгоритмов, один за одним, распознавание по серии кадров. Способы имеются, но для достижения результата нужно серьезно поработать над доработкой программы. Многое зависит от условий: если мы имеем дело с качественной печатью на хорошей поверхности, то серьезные доработки могут и не потребоваться.
Процент распознавания во многом зависит от задачи, однако 100% распознавание возможно лишь в жестко фиксированных идеальных условиях.
За свой почти десятилетний опыт работы компания «Малленом Системс» выполнила множество наукоемких IT-проектов в машиностроении, нефтегазовой, металлургической, пищевой, фармацевтической, алмазодобывающей, атомной и других отраслях промышленности. В том числе было реализовано множество проектов по считыванию маркировки, зачастую трудночитаемой или нанесенной на сложное поверхности. Рассмотрим два из них:
Негативные факторы, усложняющие считывание: металлическая бликующая и искривленная поверхность, а также малые размеры капсюль-детонатора и маркировки (диаметр детонатора — 8 мм, размер маркировки — 4 мм). Кроме того, необходимо было обеспечить 100%-ную точность распознавания.
Для решения задачи была разработана система на основе камер машинного зрения (взрывозащищенное исполнение), специализированного освещения и ПО на основе Cognex VisionPro. В результате удалось добиться параллельного и максимально точного распознавания маркировки на 6-ти объектах при использовании одного ПК. Заказчик остался доволен результатом и расширил систему на 4 производственные точки. По запросу заказчика были реализованы доработки интерфейса ПО для удобства работы оператора и визуализации процесса распознавания на русском языке.
Рис. 1. Маркировка капсюль-детонатора
Негативные факторы, усложняющие считывание: низкое качество маркировки, большая зона контроля, бликующая поверхность и большой сортамент труб. Распознавание осуществляется в сложных условиях производственного цеха с труб большого диаметра в движении (при вращательном качении по наклонным направляющим).
Решение было построено на комбинации результатов распознавания, полученных в ПО Cognex VisionPro, и ПО собственной разработки «Малленом Системс», основанном на алгоритмах определения номера трубы по результатам распознавания на серии кадров. Объединение анализа изображений с 3-х камер дало возможность распознавания маркировки по всей длине трубы.
На текущий момент система обеспечивает считывание с точностью более 99%. На одном ПК может выполняться одновременная обработка видеоизображений, поступающих с нескольких камер (максимум 8).
«Малленом Системс» продолжает работать над увеличением точек распознавания в разных цехах предприятия, так как заказчик хочет получить на выходе полное прослеживание маркировки на всех этапах производства.
Рис. 2. Символьная маркировка труб
Если у вас возникли вопросы по теме статьи, мы всегда готовы поделиться опытом разработки и внедрения систем машинного зрения для решения самых сложных производственных задач.
Свои запросы направляйте:
ООО «Малленом Системс»
162610, Череповец ул. Металлургов, 21Б
8 800 700-35-17
Виталий Мишин,
Старший менеджер ООО «Малленом Системс»