В статье описана программная модель формирования текстуры ткани с возможными дефектами для дальнейшего тестирования систем автоматического обнаружения дефектов ткани и их сертификации. Модель позволяет вводить ряд следующих параметров: максимальная ширина нити, допустимые пределы интервалов, количество дефектов ткани, шанс появления дефекта. Приведены результаты тестирования рабочей программы поиска дефектов на основе микрокомпьютера Raspberry Pi и языка программирования Python.
Ключевые слова: MATLAB, ткань, контроль, компьютерное зрение, автоматизация, качество, модель, текстура.
Инженерный контроль имеет огромный рост в течение многих лет. В частности, с появлением аналоговых и цифровых компьютеров и совершенством, достигнутым в компьютерной области, были разработаны и внедрены очень сложные схемы управления, контроля и автоматизации.
В настоящее время актуальной и распространенной областью инженерии является компьютерное зрение или машинное зрение. Компьютерное зрение — это любая форма обработки графической информации, которая может быть представлена как статическим изображением, так и последовательностью кадров. Итогом работы может выступать измененное изображение или список значений некоторых параметров [1]. Такие технологии востребованы во множестве областей: охранные системы, системы распознавания образов, визуальный контроль качества продукции и др.
В текстильной промышленности существует огромное количество искусственных материалов, вариаций цвета ткани и ее текстуры. Качество полотна оценивается по совокупности различных параметров, предъявляемых в зависимости от условий использования, таких как разрывная нагрузка, линейная плотность нитей, поверхностная плотность, художественно эстетические качества и многие другие.
В связи с таким разнообразием в текстильной промышленности, необходимо точно контролировать качество выпускаемой продукции. Основными методами контроля качества являются испытания и измерения. В основном эти методы используются уже на конечном этапе производства. Поэтому если некоторые показатели не будут удовлетворять нормам, ткань будет считаться дефектной. В статье [2] представлена математическая модель.
Одним из важнейших технических параметров производимой ткани является плотность материала. Этот параметр характеризуется расстоянием между поперечными нитями (нитями утка) в результирующей ткани. Измерение и поддержание стабильности плотности материала позволяет избежать дефектов в структуре ткани на стадии производства. Реализация такой системы (рис. 1) возможна с помощью компьютерного зрения [2].
Рис. 1. Схема системы
Одним из ключевых этапов разработки любой системы является этап тестирования, на котором выявляются те или иные ошибки для их дальнейшего исправления и корректировки программы. Тестирование системы можно производить после запуска программы в реальной среде или после запуска в среде моделирования. Моделирование реальных условий позволяет протестировать работу системы в независимости от производственного процесса. То есть в нашем случае нет необходимости останавливать производство ткани на станке. В связи с чем было принято решение о симулировании производственного процесса путем генерации текстуры ткани в среде моделирования MATLAB.
На производстве была поставлена задача: на станке в реальном времени вычислять плотность ткани и, если плотность выходит за допустимые значения, сообщать об этом оператору и/или приостанавливать производство. В ходе проделанной работы был разработан алгоритм расчета расстояния между нитями утка (плотности) для заданного вида реальной текстуры ткани (рис. 2).
Рис. 2. Реальная текстура ткани в черно-белом цвете
Блок-схема алгоритма формирования текстуры ткани, разработанного в среде MATLAB, представлена на рис. 3. На первом этапе моделирования производится ввод и инициализация начальных данных, необходимых для работы:
- количество дефектов;
- шанс появления дефекта;
- ширина нити утка;
- верхняя граница допустимых значений интервалов;
- нижняя граница допустимых значений интервалов.
Затем, запускается основной бесконечный цикл формирования текстуры тканого полотна. Он содержит в себе 2 вложенных цикла прорисовки нитей утка и прорисовки промежутков между нитями.
В цикле прорисовки нити утка происходит генерация пикселей по одной строке матрицы окна. Внутри находится подпрограмма прорисовки одной строки по одному пикселю при помощи равномерно распределенных псевдослучайных величин, после выполнения которой производится сдвиг матрицы окна по строкам методом пузырька. То есть производится аналог сдвига полотна на ткацком станке.
Рис. 3. Блок-схема алгоритма формирования текстуры ткани
Далее следует процесс формирования дефекта. Здесь при помощи равномерно распределенных псевдослучайных величин производится формирование текущего промежутка. Будет ли он дефектным, и на сколько отклонен от допустимых границ.
В цикле прорисовки промежутков между нитями утка производятся аналогичные операции циклу прорисовки самих нитей. То есть так же по пикселю прорисовываются строки матрицы при помощи равномерно распределенных псевдослучайных величин и сдвигаются методом пузырька. В зависимости от четности промежутка формируются немного отличающиеся промежутки. Это реализовано для более реалистичного вида текстуры моделируемой ткани.
По завершении одной такой итерации прорисовки нити и промежутка, цикл формирования текстуры ткани повторяется, записывает и выводит искомые значения получаемых промежутков между нитями утка и их дефектов.
В работе используется метод сортировки данных — сортировка пузырьком. Эта сортировка аналогично сортировке вставкой использует два цикла. Во внутреннем цикле осуществляется сравнение элементов по парам, затем, в случае выполнения или не выполнения поставленного условия, производится их перестановка. Например, после завершения одной итерации этого цикла, если условием было: «Какой из элементов больше?», то самый большой элемент будет помещен в самый конец массива. Внешний цикл сортировки производится пока не будет произведена каждая итерация.
Из этого метода сортировки нас интересует способ перемещения элементов массива. Для реализации модели формирования тканого полотна на ткацком станке необходимо производить смещение всего изображения по вертикали вниз или вверх. То есть смещать все пиксели изображения, как происходит формирование ткани на ткацком станке. В среде MATLAB пример реализации смещения элементов массива методом пузырька будет выглядеть следующим образом:
x= [1,2,3,4,5];
T1=x(1);
for i=2:length(x)
T2=x(i);
x(i)=T1;
T1=T2;
end
x(1)=0;
В среде MATLAB в формирующуюся текстуру специально вводится некоторое количество брака. Если система автоматического контроля технологических параметров ткани распознает каждый известный нам специально введенный брак, значит, система работает правильно.
В среде MATLAB была реализована модель формирования текстуры ткани при помощи равномерно распределенных псевдослучайных чисел (рис. 4). Для наглядности интервалы между нитями выбраны большими.
Рис. 4. Смоделированная текстура
Одним из ключевых фрагментов разработанного алгоритма основной системы является обнаружение границ изображения при помощи компьютерного зрения. С помощью функции Canny получается следующее изображение для реальной текстуры ткани (рис. 5), описанное ранее в работе [3].
Рис. 5. Границы реальной текстуры
После применения функции Canny на смоделированную текстуру ткани было получено следующее изображение (рис. 6).
Рис. 6. Границы смоделированной текстуры
Из представленного изображения видно, что смоделированная текстура аналогична реальной текстуре ткани, оцениваемая по параметру расстояния между нитями утка. Недостатком смоделированной текстуры можно считать то, что она не является универсальной и требует некоторой доработки.
В разработанной программе в среде MATLAB есть возможность ручного ввода следующих значений: максимальная ширина нити, допустимые пределы интервалов между нитями, количество дефектов на ткани, шанс появления дефекта. На выходе программы получаются следующие массивы:
1.Координат центральных пикселей нити;
2.Координат центров интервалов между нитями;
3.Расстояний между нитями;
4.Порядковых номеров интервалов, вышедших за границы.
Основной алгоритм вычисления получает массив 3 и выводит на экран оператора порядковый номер дефектного интервала.
Ниже приведены результаты моделирования и тестирования (рис. 7) для 1 дефекта с шансом появления в 10 % при допустимых интервалах от 13 до 17 пикселей. В ходе работы алгоритма, последний интервал находится на 207 пикселе аналогично заданному.
Рис. 7. Результаты тестирования
Из графика видно, что получаемые значения интервалов варьируются в пределах допустимых значений, исключая 6 интервал, который являлся дефектным. Отсюда следует, что программа настроена правильно.
Итак, в данной работе представлена модель формирования текстуры ткани с возможными дефектами для дальнейшего тестирования систем автоматического обнаружения дефектов ткани и их сертификации. А также приведена блок-схема и описан алгоритм формирования текстуры, при помощи и настройке которого можно получать абсолютно любые модели текстуры полотен.
Применение данной модели позволяет осуществлять автоматическую проверку работоспособности систем контроля технологических параметров тканей (с точностью до ±2 пикселей, в нашем случае 1 пиксель соответствует 100 мкм) для дальнейшей настройки и корректировки этих систем.
Литература:
- A. Novikov, “Development of theoretical and methodological principles of creating computer vision systems for automated quality control of textile materials,” Moscow, 2014.
- V. Gorbunov, D. Bobrikov, V. Bobkov, “Software and hardware of automated fabric quality control system,” 2nd international scientific and practical conference “Intelligent systems and Microsystem technology,” Moscow, 2018.
- Thet Naing Win, V. Gorbunov, “Comparison of approaches to automatic control of quality in production of fabrics,” international scientific-practical conference “Intelligent systems and Microsystems technology” MIET, Moscow, 2017, pp. 166 -175.