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

УДК 664.8:861.51

ПРИМЕНЕНИЕ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ К АНАЛИЗУ ИЗОБРАЖЕНИЙ ДЕФЕКТОВ КОНСЕРВНЫХ БАНОК С ЦЕЛЬЮ КОНТРОЛЯ

ИХ ГЕРМЕТИЧНОСТИ

Н. А. Долгий, Д. В. Чаплыгин

APPLICATION OF MACHINE LEARNING TO THE ANALYSIS OF IMAGES OF

CAN DEFECTS FOR THE PURPOSE OF LEAKAGE MONITORING

N. A. Dolgy, D. V. Chaplygin

Герметичность - обязательный показатель качества мясных, рыбных и молочных консервов. Использование современных методов контроля герметичности на основе средств технического зрения позволяет выявить дефектные консервные банки в условиях переменной производительности поточного консервного производства.

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

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

С использованием метода сетчатого поиска исследованы параметры классификатора изображения дефектных консервных банок. Были опробованы различные ядра для классификации по методу опорных векторов, параметры ядер и подобран коэффициент регуляризации.

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

консервная банка, дефект, изображение, алгоритм, метод опорных векторов

Can tightness is an important quality indicator of canned meat, fish and milk. Modern approaches to can leakage monitoring with the use of visual facilities allow us to find out defect cans during their mass production process.

The article considers applying methods of computer vision for detecting cans on the images and applying machine learning methods for analysis and classification of defect/non-defect cans. During the paper preparation, we carried out experiments with Viola-Jones object detection algorithm and used it to find cans on arbitrary images.

An algorithms has been developed for features extraction of an image, indicative of visible defects of cans , especially irregularities in case geometry, position and state of a seam and local emissions of can contents, caused by sterilization process. In order to simplify and speed-up classification process, we developed reduction methods and applied standard approaches to features normalization for further processing of the images.

By using grid search, we examined parameters of pattern classifier for images of defect cans. We tried different kernels for classification by support vectors machine, kernel parameters; and we chose regularization coefficient.

Software for cans detection on images, feature extraction and feature reduction is implemented, pointing to possible can defects, graphing learning curves for grid search on SVM parameters.

can, defect, image, algorithm, support vector machine

ВВЕДЕНИЕ

Герметичность консервной банки в процессе консервирования и хранения является одним из условий, обеспечивающих отсутствие порчи продуктов.

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

В каждом конкретном случае дефект консервов является визуально наблюдаемым. C целью автоматизации процесса отбраковки дефектных банок в статье авторами ставится задача разработки методики анализа изображений дефектов консервов.

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

МЕТОДЫ

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

Решение задачи анализа и классификации может быть представлено в виде следующей последовательности (конвейера):

• идентификация исследуемого объекта на изображении;

• отделение исследуемого объекта от изображения;

• преобразование исследуемого объекта в набор его характеристик;

• классификация характеристик исследуемого объекта.

На вход этого конвейера подаются изображения с исследуемыми банками, выходом является логическое значение true/false, однозначно определяющее негерметичность .

РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ

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

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

Так как в каждом случае конкретное изображение исследуемого объекта будет отличаться, алгоритм идентификации распознает объект с использованием нечётких признаков. В качестве алгоритма идентификации исследуемого объекта на изображении выбран алгоритм Виолы-Джонса [2].

При отделении исследуемого объекта от изображения он полностью отделяется от фона и обосабливается. На вход процедуры отделения передаются исследуемое изображение, границы области интереса и фоновое изображение, не содержащее в себе банку.

Алгоритм отделения основывается на анализе корреляции изображений как с исследуемым объектом, так и без него.

При запуске алгоритма идентификации исследуемое изображение (рис. 1) переводится в одноцветный формат (grayscale).

Рис. 1. Исходное исследуемое Рис. 2. Фоновое изображение

изображение

Fig. 1. Original image Fig. 2. Background image

Фоновые изображения (рис. 2) хранятся в одноцветном (grayscale) формате. Небольшие неточности в позиционировании камеры при изготовлении фоно-

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

Оба изображения, исследуемое и фоновое, ограничиваются прямоугольником области интереса. Это ограничение повышает точность отделения, так как исключает области изображения, которые также изменились по отношению к фону, но не находятся в окрестностях исследуемого объекта (банки). Изменения могут быть вызваны движением в области видимости камеры, перемещениями оборудования и персонала и т. д.

Для получившихся таким образом обрезанных изображений выполняется операция поиска корреляции между исследуемым и фоновым изображениями [3]. Некоррелирующие между собой области изображения представляют собой грубое описание границ исследуемого объекта с высокой зашумленностью (рис. 3).

Рис. 3. Приблизительные контуры границ исследуемого объекта Fig. 3. Rough edges outline of the studied object

Рис. 4. Бинаризованные контуры границ исследуемого объекта Fig. 4. Binerized edges outline of the studied object

Зашумленность понижается низкочастотным фильтром (фильтр Гаусса). Отфильтрованное изображение бинаризуется по адаптивному гауссовому алгоритму (рис. 4).

На бинаризованном изображении оператором Кэнни [4] усиливаются найденные контуры, тем самым определяя границы исследуемого объекта (рис. 5).

Рис. 5. Контуры границ исследуемого объекта

Fig. 5 Edges outline of the studied object

Рис. 6. Отделённый исследуемый объект Fig. 6. Separated object

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

контура закрашиваются чёрным. При этом области внутри самого большого контура закрашиваются также белым цветом.

Полученное изображение используется как маска для исследуемого изображения, тем самым отделяя исследуемый объект от остального изображения (рис. 6).

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

Рис. 6. Банка без дефектов Рис. 8. Банка с заломом

Fig. 7. Flawless can Fig. 8. Defective can

Для выделения подсвеченных областей изображения используется тот факт, что спектр лазерного луча сравнительно узок и можно отфильтровать подсвеченную область по оттенку. В примере подсветки контрастным лазерным лучом (рис. 7 и 8) используется лазер с длиной волны 660 нм. Используя цветовую модель HSV, разделяющую изображение на цветовой тон, насыщенность и яркость тона, можно выделить на изображении область, соответствующую цвету заданной частоты.

Поскольку шкала оттенков HSV отображает видимый цветовой диапазон на круговую шкалу с началом отсчёта на отметке 700 нм, то интересующий нас оттенок располагается в крайне узкой части шкалы оттенков и может быть выделен. Выделенная подсвеченная область фильтруется и загрубляется (рис. 9).

Рис. 9. Отфильтрованный подсвеченный участок банки Fig. 9. Filtered and highlighted segment of a flawless can

Рис.10. Подсвеченный участок банки с изломом Fig.10. Filtered and highlighted segment of a defective can

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

сти стенки банки, отсутствии на ней повреждений, крупных локальных выделений и т. д.

С другой стороны, для банки с заломом и потенциальной разгерметизацией оставленное лучом изображение будет другим (рис. 10). При этом отчётливо видны границы излома.

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

Для осуществления данной оценки уменьшим объём обрабатываемых данных путём вычисления гистограмм яркости в вертикальном и горизонтальном направлениях (рис. 11).

Рис. 117. Гистограммы яркости по осям X и Y Fig. 11. Luminance histograms by X and Y axes

Исходя из рекомендаций по использованию метода опорных векторов, данные гистограмм объединяются и приводятся к диапазону -1 < x< 1, причём среднее значение приводится к окрестности нуля. Нормализованный вектор значений яркостей (рис. 12) является выходным результатом работы алгоритма.

Рис. 12. Вектор значений яркостей банки без нарушений и с нарушениями геометрии Fig. 12. Luminance vectors for flawless and defective cans

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

большого пятна другого цвета может быть либо длительной операцией, либо иметь большой процент ложных срабатываний. Желательно усилить и выделить потенциальные цветовые аномалии перед их классификацией. Исследуемое изображение представлено на рис. 13, в правой части банки жёлтым маркером нанесено пятно, которое алгоритм должен выделить.

Рис. 13. Исследуемый объект Рис. 14. Цветоразностное изображение

с цветовой аномалией B-G Fig. 14. B-G color-difference image

Fig. 13. Studied object with anomalous color vision

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

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

Затем вычисляются шесть разностных изображения R-G, B-R, G-R,G-B, B-R, B-G, которые будут иметь сравнительно небольшие значения яркости в местах, где распределение яркости по каналам примерно одинаково; и большие положительные или отрицательные значения там, где значения яркости отличаются, т. е. в областях цветовых аномалий. Одно из наиболее показательных разностных изображений представлено на рис. 14.

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

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

Разностное изображение в бинарном виде классифицируется методом опорных векторов с ядерным преобразованием [5].

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

Рис. 15. Финальное цветоразностное изображение Fig. 15. Final color-difference image

Выбор ядра для метода опорных векторов, параметров ядра и регуляризации осуществляется на основе построения и анализа кривых обучения.

Для построения кривых обучения был подготовлен набор учебных данных, представляющих собой двухбитные изображения размером 100x100 пикселей. Из них 76 отпечатков капель, т. е. положительно классифицируемых изображений, и 84 отпечатка бликов (рис.16), т. е. отрицательно классифицируемых.

Рис. 16. Положительно

классифицируемое изображение Fig.16. Positively (on the left) and negatively (on the right) classified images

Обучение классификатора производилось на учебном наборе данных. Для проверочного и учебного наборов данных определялась средняя точность классификации. Эта операция выполнялась для 1...m записей в учебном наборе, где m -общее количество записей в учебном и проверочных наборах. Выполнение этой операции позволило рассмотреть точность классификации как функцию от размера учебного набора и построить кривые обучения. Фрагмент программы, подготавливающей данные для построения кривых обучения, представлен на рис. 17.

На языке python [6] была реализована программа для построения кривых по вышеописанному алгоритму. С ее помощью были построены кривые обучения для различных ядер и различного коэффициента регуляризации. Кроме того, для нелинейного ядра - графики для полиномов разной степени (рис.18-20). На всех графиках кривая 1 - точность классификации для проверочного набора данных, кривая 2 - точность классификации для учебного набора данных.

# Train classifier with X X from 1 to m plot_M = [] plotCV = [] plotT = []

for m in range(3, len(X_X)):

svc = svm.SVC

Рис. 17. Фрагмент программы, подготавливающей данные для построения кривых

обучения

Fig. 17. Fragment of the program preparing data for training curve plotting

Метод опорных векторов применяется не ко всему бинаризованному разностному изображению сразу, а к окну поиска, сканирующему изображение. В случае если в ходе сканирования метод опорных вектором классифицирует текущее содержимое окна поиска положительно, анализ изображения останавливается и исследуемый объект признаётся негерметичным. В противном случае после окончания сканирования исследуемый объект признаётся герметичным. Таким образом, использование метода опорных векторов ко всему вектору яркостей при анализе геометрических характеристик однозначно классифицирует банку герметичной или негерметичной.

Из графиков видно, что радиальная базисная функция и сигмоида передают неудовлетворительные результаты: точность классификации даже для учебного набора непозволительно низка. В свою очередь, линейное ядро показывает склонность к переобучению, которая возрастает с уменьшением коэффициента регуляризации, полиномиальное ядро для полинома шестого порядка - высокое отклонение от ожидаемой модели и, следовательно, неточный уровень распознавания герметичности банки. Для полиномов второго и третьего порядков стоит отметить графики с регуляризационными коэффициентами 10 (рис. 18) и 1 (рис. 19), которые показывают хорошую сходимость и высокую степень точности классификации [7].

Рис. 18. Полиномиальное ядро:

коэффициент регуляризации 10, полином третьей степени

1

_ 2

Рис. 19. Полиномиальное ядро:

коэффициент регуляризации 1, полином третьей степени

Рис. 20. Полиномиальное ядро:

коэффициент регуляризации 0.1, полином третьей степени

ВЫВОДЫ

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ

1. Бабарин, В. П. Стерилизация консервов: справочник / В. П. Бабарин. -Санкт-Петербург: ГИОРД, 2006. - 312 с.

2. P. Viola and M.J. Jones. Rapid Object Detection using a Boosted Cascade of Simple Features, proceedings IEEE Conf. on Computer Vision and Pattern Recognition (CVPR 2001), 2001, IEEE, pp.1-9.

3. Шапиро, Л. Компьютерное зрение / Л. Шапиро, Дж. Стокман: пер. с англ. - 2-е изд. (эл.). - Москва: Бином. Лаборатория знаний, 2013. - 752 с.

4. John Canny. A Computational Approach to Edge Detection, IEEE Transactions on pattern analysis and machine intelligence, vol. pami-8, no. 6, November 1986, pp. 679-698.

5. Вьюгин, В. В. Математические основы машинного обучения и прогнозирования / В. В. Вьюгин. - Москва: МЦМНО, 2014. - 304 с.

6. Scikit-learn: Machine Learning in Python / F. Pedregosa, G. Varoquaux, A. Gramfort et al. Journal of Machine Learning Research. - 2011. - Vol. 12, pp. 28252830.

7. Su-In Lee, Honglak Lee, Pieter Abbeel and Andrew Y Ng. Efficient L1 regularized logistic regression. In AAAI, 2006, pp. 1-8.

REFERENCES

1. Babarin V. P. Sterilizacija konservov: spravochnik [Canned food sterilization: reference book]. Saint-Petersburg, GIORD, 2006, 312 p.

2. P. Viola and M. J. Jones. Rapid Object Detection using a Boosted Cascade of Simple Features, proceedings IEEE Conf. on Computer Vision and Pattern Recognition (CVPR 2001), 2001, IEEE, pp.1-9.

3. Shapiro L., Stokman Dzh. Komp'juternoe zrenie [Computer vision]. Moscow, Binom. Laboratorija znanij, 2013, 752 p.

4. John Canny. A Computational Approach to Edge Detection, IEEE Transactions on pattern analysis and machine intelligence, vol. pami-8, no. 6, November 1986, pp. 679-698.

5. V'jugin V. V. Matematicheskie osnovy mashinnogo obuchenija iprognoziro-vanija [Mathematical background of machine learining and forecasting]. MCMNO, 2014, 304 p.

6. Pedregosa F., Varoquaux G., Gramfort A. et al. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research. 2011, vol. 12, pp. 2825-2830.

7. Su-In Lee, Honglak Lee, Pieter Abbeel and Andrew Y Ng. Efficient L1 regularized logistic regression. In AAAI, 2006, pp. 1-8.

ИНФОРМАЦИЯ ОБ АВТОРАХ

Долгий Николай Алексеевич - Калининградский государственный технический университет; зав. лабораториями кафедры автоматизации производственных процессов, доцент; E-mail: nic7493@mail.ru

Dolgiy Nikolay Alekseevich - Kaliningrad State Technical University; Head of the laboratories of the department of production processes automation, Assistant professor; E-mail: nic7493@mail.ru

Чаплыгин Денис Викторович - ООО «Сатгейт», Калининград; старший инженер;

E-mail: akashihi@gmail.com

Chaplygin Denis Viktorovich - "SatGate" LLC, Kaliningrad; senior engineer;

E-mail: akashihi@gmail.com