Система инспекции пивных бутылок

Нами был реализован программно-аппаратный комплекс для инспекции пивных бутылок. Система призвана детектировать большой спектр проблем:

  • Контроль взаимного расположения этикетки и контрэтикетки (не должно быть сдвигов влево-вправо или вверх-вниз)
  • Контроль угла наклейки этикетки (допустимое отклонение — не более 2 градусов)
  • Проверка наличия этикетки в принципе
  • Обнаружение наслоения двух этикеток
  • Сверка даты на колпачке с текущей датой, попутная проверка корректности печати даты
  • Проверка качества колпачка — отсутствие прогаров, наслоений и т.п.

Требуемая производительность — 12.800 бутылок в час.

Устройство системы

Система состоит из:

  • Шкафа управления с вычислительным ПК и сенсорным монитором пользователя
  • Четырех видеокамер обзора нижней части бутылки
  • Дополнительной 5-й камеры для проверки колпачка
  • Модуль отбраковки (пушер)
  • Энкодер для контроля скорости и положения конвейера

Алгоритм

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

Сначала мы решили пойти «в лоб» и обучить нейронную сеть видеть этикетки. Сказано — сделано, однако оказалось, что из-за достаточно большого размера этикетки ее контур обводится неточно:

При таком обводе контура говорить о точности определения положения в 2 мм и угла в 2 градуса не приходится.

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

Научили нейронную сеть видеть отдельные фрагменты бутылки:

Всего у заказчика 4 SKU. Мы разработали нейронную сеть, одинаково уверенно обнаруживающую нужные нам знаки на любых видах этикетки — на светлых, темных, и разных цветов.

Аналогично — для задней этикетки:

Дальше — дело техники. Разработали математический алгоритм и приступили к пусконаладке. Ниже приведены фотографии автоматически обнаруженных дефектных бутылок из реального потока.

Например, бутылка с отсутствующей передней этикеткой:

С отсутствующей задней этикеткой:

С наслоением этикеток:

С превышением угла наклона этикетки:

С нарушением взаимного расположения этикеток между собой:

Этикетка слишком низко:

Этикетка слишком высоко:

Инспекция колпачка

По сравнению с контролем наклейки этикеток, контроль колпачка и уровня налива — совсем простая задача.

Мы обучили нейронную сеть видеть пену (для определения уровня налива), а также отдельно распознавать каждую цифру даты — это позволило сверять напечатанную дату с актуальной датой.

Ниже — еще фотографии из реального потока — то, что обнаружила система.

Сбой печати даты:

Пустая бутылка (нет пены, не видно уровня налива):

В зависимости от вида дефекта, точность обнаружения проблем составила от 93% до 98%.

Спасибо
Ваш запрос отправлен!
ОК