Статьи

Чем техническое зрение отличается от ручного сканера

Читайте первую часть нашей серии статей о том, как компьютерные «глаза» и «мозг» работают над задачами по автоматизации маркировки

Становится все больше и больше областей человеческой жизни, где решение разнообразных задач, связанных с обработкой больших массивов данных, доверяется компьютерным системам и в их числе – системам технического (машинного) зрения.

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

В этой серии статей мы решили поговорить о том, как системы технического зрения могут решать задачи, связанные с маркировкой товаров на различных производствах. Одно из самых очевидных применений систем технического зрения – это считывание штрих кода или 2D кода, но это лишь один из вариантов использования.

Для начала давайте выясним, есть ли отличие между понятным и привычным ручным сканером, которые мы наблюдаем в магазине, и тем устройством, которое мы называем камерой машинного зрения – устройством, которое используется, как правило, в промышленности, на производствах.

Если совсем уж принципиально, то можно сказать, что для считывания кода фундаментальной разницы нет: и ручной сканер, и камеры выполняют аналогичные функции - обработку изображений с целью поиска штрих кода. Но вот мощности и «интеллектуальные» возможности при этом, у них совершенно разные. Если сравнивать на бытовом уровне, то это как маленький самолетик-кукурузник и огромный Боинг. Они выполняют одну задачу: летают, но уровень оснащенности и решаемых задач совершенно разный.

Ручной сканер – это, как правило, дешевое (относительно) устройство с небольшой линзой. Используется на некоем рабочем месте кассира, оператора (т.е. нужен человеческий ресурс) для считывания штрих кодов на небольшом расстоянии (20-30 см) не в потоке: скорость считывания ручным сканером колеблется в пределах до нескольких секунд (зависит от качества кода и навыка оператора). Ручной сканер соединяется с компьютером по одному-двум стандартным интерфейсам и передает только считанные данные, т.е. решает вполне локальную задачу.

Камеры технического зрения в работе автономны, не требуют приложения человеческих рук, и имеют большие возможности для гибкой настройки под задачи.  Так, в зависимости от условий, камеры подбираются по «скорострельности», размеру (разрешению) матрицы и типу интерфейсов, зачастую комбинируются с различными видами оптики (объективами), разными видами дополнительной подсветки. Такая вариативность позволяет достичь необходимого угла сканирования и зоны покрытия, расстояния считывания, получения четкого изображения в условиях недостаточной освещенности которые часто бывают на производстве. 

В условиях промышленного применения от камеры могут потребоваться способность устойчиво читать коды на высоких скоростях конвейера, считывать несколько кодов одновременно, поддерживать больше интерфейсов, работать по сети. А также, выдавать управляющие сигналы – например, обеспечить аудио и/или визуальный контроль считывания (или неудачной попытки считывания), запустить исполнительное устройство (например, отбраковщик) или даже остановить конвейер.

Иногда специалисты, связанные с маркировкой, говорят: сканер с легкостью считал штрих код, с которым не справилось «мощное» техническое зрение. Отчего так?  Ведь стационарные камеры, имея гораздо большие вычислительные мощности, более совершенный декодер, по идее, должны считывать штрих коды лучше. Почему же бывают проблемы?  По нашему опыту, чаще всего, это может быть связано с неверной подготовкой. Как известно, вся система работает по самому слабому звену. Чтобы раскрыть все возможности интеллекта системы технического зрения, необходимо тщательно и профессионально ее установить и настроить.

Все мы помним, как кассир, действую ручным сканером, когда код не считывается, предпринимает попытки изменить условия: разглаживает упаковку, двигает сканер ближе или дальше или поворачивает его под другим углом с тем, чтобы устранить возможные помехи, «поймать код» в фокус. В случае машинного зрения, неудачно установленная или настроенная автоматическая камера не в силах исправить проблему. Поэтому, в случае применения камер технического зрения также требуется гораздо более профессиональная подготовка.

Рассмотрим такой пример. Камера машинного зрения на скоростных линиях требует большей освещенности, чтобы получать несмазанное изображение, но неверно установленная лампа дополнительной подсветки может создавать блики. Неудачно подобранная оптика может вносить оптические искажения, иметь затемнения по краям. Важно оптимально выставить параметры камеры или того ПО, с которым она работает.

Но кроме того, что камеры технического зрения могут быть «заточены» на штрих код, они также могут работать в паре с мощным промышленным ПК, на котором могут быть установлены и другие программные решения для более «творческих» прикладных задач: определение формы предметов, наличие-отсутствие чего-либо (например – крышечек на флаконах), определение комплектности набора или внешний дефект на упаковке… и т.д. И тогда к такому комплексу еще более применим термин «машинное (техническое) зрение».

Камеры машинного зрения могут устанавливаться  не только на конвейерах, но и на складской технике (погрузчиках) или даже дронах. Мы выполняли такие проекты в первом случае - для контроля над правильностью выполнения операций по размещению палет в ячейки хранения, во втором – для осуществления инвентаризации на высотных стеллажах. В обоих случаях задачи считывания невозможно решить с помощью человеческих рук.

Итак, мы выяснили в чем отличие камер технического зрения и ручного сканера. В следующей статье мы поговорим о том, может ли техническое зрение, читающее штрих код использоваться в качестве верификатора – то есть устройства, определяющего качество печати кода с присвоением грейда.