Научная статья на тему 'АРТ-НЕЙРОСЕТЬ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА МАЗКОВ ПРИ РИСОВАНИИ С ПОМОЩЬЮ РОБОТА-ХУДОЖНИКА'

АРТ-НЕЙРОСЕТЬ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА МАЗКОВ ПРИ РИСОВАНИИ С ПОМОЩЬЮ РОБОТА-ХУДОЖНИКА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
264
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РОБОТ-МАНИПУЛЯТОР / АРТ-ФУНКЦИЯ / СВЕРТОЧНАЯ НЕЙРОСЕТЬ / АРТ-НЕЙРОСЕТЬ / РИСОВАНИЕ С ПОМОЩЬЮ РОБОТА-ХУДОЖНИКА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гаврилин Н.П.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гаврилин Н.П.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ART NEURAL NETWORK TO IMPROVE THE QUALITY OF STROKES WHEN DRAWING WITH A ROBOT ARTIST

The article proposes a convolutional neural network that performs, together with an analytical art function: to make strokes “smoother and more beautiful”. The drawing algorithm with the help of a robot-artist (hereinafter - Software) is designed to apply images to various surfaces using a robot-hand, that is, a robot-manipulator, on which it is possible to attach a brush. Now this technology is used to create paintings - applying oil or acrylic paints on canvas. In the future, it may find wider application. The software allows you not to copy the original digital drawing, but to create various images based on it. The program is designed for easy compatibility with robotic arms from different companies.

Текст научной работы на тему «АРТ-НЕЙРОСЕТЬ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА МАЗКОВ ПРИ РИСОВАНИИ С ПОМОЩЬЮ РОБОТА-ХУДОЖНИКА»

Арт-нейросеть для повышения качества мазков при рисовании с помощью робота-художника

со см о см

о ш т

X

<

т О X X

Гаврилин Николай Павлович,

к.т.н., директор по исследованиям, ООО "Вандербот", pos.tur@ya.ru

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

Ключевые слова: робот-манипулятор, арт-функция, сверточная нейросеть, арт-нейросеть, рисование с помощью робота-художника

Введение, актуальность и краткое описание

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

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

(http://roboticartgallery.com/collections).

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

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

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

Софт предназначен для решения различных задач:

• для обычного человека это возможность стать художником, не тратя много лет на обучение, возможность написать уникальный портрет для себя или в подарок, не тратя много денег и времени, создать картину под цвет интерьера;

• для художника это возможность избавиться от рутинной работы, например, рисования огромного фона на холсте — роборука сама «замостит» все лесом, а в будущем выступит как учитель-помощник в освоении новых стилей и техник рисования;

• для бизнеса это ответ на стремление к персона-лизации и кастомизации массового производства, маркер принадлежности к высоким технологиям.

Методы решения задачи и результаты

Кратко принцип работы Софта можно описать так:

• цифровое изображение поступает в модуль кластеризации, разбивается на конечное количество цветов;

• цветовые кластеры последовательно (иногда параллельно) поступают в модуль преобразования их в мазки;

• далее мазки посредством применения цветовой модели (учета смешения и взаимодействия реальных

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

На этапе формирования мазков возникла необходимость их сглаживания.

Мазки, точнее, будущие мазки, а на данном этапе — наборы цветовых сегментов, после первых обработок методами машинного обучения часто выглядят ломаными и «рваными», как показано на Рис. 1.

о 25 50 75 100 125 150 175

■ ? -:г/ & А ■ - & \ • ъ,

« / ,• /.7 V ¡а h -, * •->■>

• ' / ; г 1!

ri s ■ ■ J J < . -

50

100

150

200

250

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

Для решения этой задачи был создан датасет, состоящий из изображений, аналогичных представленному на Рис. 3.

Ы/44

ш / I

fr-

Рис. 1. Маска зеленого цвета изображения стеблей бамбука на входе в нейросеть

Цель — сделать мазки более гладкими и связанными между собой, мелкие убрать совсем, так как на следующих этапах к ним можно будет вернуться. Пример представлен на Рис. 2.

Рис. 2. Маска зеленого цвета изображения стеблей бамбука на выходе из нейросети

То есть задачу исследования можно сформулировать следующим образом: найти такую архитектуру нейросети А и подобрать такие ее параметры и гиперпараметры p, что при количестве параметров нейросети p' меньше их заданного предельного количества P, обуславливающего быстродействие сети, обеспечивается максимальное значение метрики W по контрольной выборке из n объектов, получаемых на выходе из нейронной сети.

Л(р) = Л(р):

W(A ) = min W(A), при р' < Р ,

где: W = £n Wn

Перебор типовых методов машинного обучения либо не давал требуемых результатов, либо работал

Рис. 3. Пример изображения из датасета исследования. Входные (слева) и выходные (справа) данные.

Посредством случайных поворотов, сжатий, инверсий и других стандартных процедур размер датасета был увеличен до 4,5 тысяч пар входных и выходных изображений.

В отношении метрики итоговой оценки была выявлена неприменимость стандартных метрик оценки качества изображений. Был проанализирован ряд метрик, в том числе: пиковое отношение сигнал/шум (PSNR), показатель индекса структурного сходства (SSIM), универсальный индекс качества изображения (UIQI), точность визуальной информации (VIF), показатель индекса сходства признаков (FSlM), отклонение подобия величины градиента (GMSD), момент цветового различия (CDM), показатель качества изображения на основе вейвлетов (WIQM), многомасштабный показатель индекса структурного сходства (MS-SSIM) и ряд других. Поскольку целью работы нейросети является не обеспечение сходства с оригиналом, не снижение, точнее не во всех случаях снижение шума (энтропии), не близость по цветовым и прочим характеристикам (для целей алгоритма нейросеть обучалась и выдавала черно-белый сигнал), была создана количественная метрика, оценивающая уменьшение количества отдельных сегментов на изображении. Однако данная метрика не учитывала появление артефактов (ошибок), то есть появление белых областей там, где их не было на исходном изображении, поэтому количественная оценка, без претензий на новизну названная QDA — quantification of disconnected areas, играла второстепенную роль в итоговой оценке качества. На первое место вышла субъективная оценка качества. И сравнение результатов архитектур и настроек различных создаваемых нейросетей проводилось на основе двух указанных параметров, а также времени обработки изображения сетью в качестве параметра отсечения. В связи с тем, что в зависимости от мощности процессора (CPU, GPU или других типов) время обработки изображения может существенно различаться, в качестве характеризующего параметра после ряда испытаний было выбрано ограничение в количестве параметров сети — не более 150 000.

X X

о го А с.

X

го m

о

м о

M

со

Было проанализировано десять вариантов архитектур сверточных сетей различного количества слоев и нейронов на каждом слое. Итоговая структура нейросети представлена ниже на Рис. 4. Общее количе ство параметров нейросети составило 132 185.

inputl input: [(None, 256, 256, 1)]

InputLayer output: [(None, 256, 256,1)]

dropout input: (None, 256, 256, 1)

Dropout output: (None, 256, 256, 1)

conv2d input: (None, 256, 256,1)

Conv2D output: (None, 256, 256, 4)

conv2d_l input: (None, 256, 256, 4)

Conv2D output: (None, 256, 256,16)

batch_normalization input: (None, 256, 256, 16)

BatchNormalization output: (None, 256, 256, 16)

max_poo)ing2d input: (None, 256, 256,16)

MaxPooling2D output: (None, 128, 128, 16)

conv2d_2 input: (None, 128,128,16)

Conv2D output: (None, 128,128,12)

r

max_pooling2d_2 input: (None, 64, 64, 8)

MaxPooling2D output: (None, 32, 32, 8)

r

up_sampling2d input: (None, 32, 32, 8)

UpSampling2D output: (None, 64, 64, 8)

i

conv2d_transpose input: (None, 64, 64, 8)

Conv2DTranspose output: (None, 64, 64, 16)

1

)atch_normalization_2 input: (None, 64, 64, 16)

BatchNormalization output (None, 64, 64, 16)

up_sampling2d_l input: (None, 64, 64, 16)

UpSampling2D output: (None, 128, 128, 16)

r

:onv2d_transpose_l input: (None, 128, 128, 16)

Conv2DTranspose output: (None, 128, 128, 12)

r

batch_normalization_4 input: (None, 128, 128, 12)

BatchNormalization output: (None, 128, 128, 12)

Рис. 4. Архитектура-победитель нейросети.

Значения гиперпараметров и выбор рационального состава

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

выбирался один по метрике качества обучения нейросети metrics=["accuracy"] — точность, а затем сравнивался с другими вариантами архитектуры.

Множество гиперпараметров, выбранных для перебора с целью выбора наилучшего сочетания:

activations = ['softmax','tanh','sigmoid','LeakyReLU'], kernel_initer = ['he_normal', 'random_normal], optimizers = ['adam', 'SGD', 'RMSprop', 'adadelta], losses= ['mean_squared_error', 'mean_absolute_error'], Данные параметры перебирались в цикле в различных сочетаниях, если на десятой эпохе обучения показывали меньшее значение параметра accuracy, чем накопленные ранее варианты, то алгоритм переходил к следующему варианту сочетаний гиперпараметров.

В качестве неизменяемых параметров, после нескольких отдельных опытов и рекомендаций по созданию сверточных сетей были выбраны типичные значения для следующих показателей: batch_size=64, validation_split=0.1, epochs=128

В итоге по указанной метрике W наилучшие результаты показала сеть с представленной выше архитектурой, со значениями параметров: activations = 'tanh' kernel_initer = 'he_normal' optimizers = 'adadelta' losses= 'mean_absolute_error'

Примеры и пределы применимости

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

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

Рис. 6. Маска входная и выходная светло-зеленого цвета изображения травы

°1 25 50 J 75 100 125 j 150 175

J* I ч 'Г*'"' ...-tW^t |

\ /t |l 4 j; ... - V

. • * M1 V

. % . \ \ j J b ,'bl.,

Рис. 5. Маска входная и выходная синего цвета изображения волны от капли

Рис. 7. Маска входная и выходная темно-зеленого цвета изображения травы

X X О го А С.

X

го m

о

м о м

CJ

fO CN О

cs

О Ш

m

X

<

m о x

X

Несмотря на появление некоторых артефактов данные результаты являются удовлетворительными.

Сейчас данная нейросеть встроена в общий алгоритм рисования роботом и позволяет в какой-то мере исправить результаты, полученные на более ранних этапах, в том числе в сегментации изображения на цвета различными методами Machine Learning, например, K-Means, Slic и т.д.

Вместе с тем на определенном уровне «зашумленности» сигнала, когда идентифицировать изображение невозможно даже глазом, нейросеть перестает корректно работать. Пример представлен на Рис. 8.

•.>;■•-.-М-

" •-. чТ.'.,-4: * .. г - 4 <

>, -j » -г <с»* г.., А

Рис. 8. Маска цветового фрагмента "Земля, покрытая травой"

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

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

Результаты работы алгоритма рисования, ссылки на статьи, интервью и публикации представлены на портале Robohood http://roboticartgallery.com.

Вывод

Нейронные сети являются относительно быстро разрабатываемым инструментом для решения прикладных

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

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

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

Литература

1. Kuznetsov A.A., Artemov A.S. (2020). Convolutional neural networks: a survey of modern methods and applications. Computer Science & Mathematics, 2(2), 35-50.

2. Kudryavtsev D., & Zagoruyko S. (2020). Spatially adaptive convolutional neural networks for image classification and object detection. Neural Networks, 123, 189-202.

3. Ulyanov D., Vedaldi A., Lempitsky, V. (2018). Deep image prior: Unsupervised learning from a single natural image. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 9446-9454).

4. loffe S., Szegedy C. (2015). Batch normalization: Accelerating deep network training by reducing internal covariate shift. In International conference on machine learning (pp. 448-456).

5. Murshed M., LeCun Yann (2019). Convolutional neural networks for visual recognition: Introduction to convolutional neural network architectures and their applications in computer vision tasks such as object recognition and scene understanding. IEEE Transactions on Pattern Analysis and Machine Intelligence, 41(10), 24152437.

6. Efimov V., Gritsenko V., Ponomareva N. (2020). Convolutional Neural Networks: State-of-the-Art Architectures for Image Classification. International Journal of Computer Vision, 128(4), 730-745.

7. Dzhepovskiy O., Zakharchenko A., Gusev E. (2020). Deep learning models based on convolutional neural networks: methods and applications in healthcare informatics systems development. Artificial Intelligence in Medicine Research Trends Series in Biomedical Engineering Technology and Clinical Practice, 2(3), 13-30.

8. Churkin D., Khazanov M., Yudin G. (2020) Convolutional Neural Network for Automatic Image Annotation: Architecture Design Principles and Performance Evaluation Techniques International Journal of Intelligent Systems Technologies and Applications 19(1): 20-32.

9. Gavrilova M. (2020). Convolutional Neural Networks Based Face Recognition Algorithm International Journal of Intelligent Systems Technologies and Applications 19(5):567-581.

10. Vasiliev A. (2020). On the Application of Convolutional Neural Networks to Image Segmentation Problems International Journal of Intelligent Systems Technologies and Applications 19(2): 127-142.

11. Chang C., Lin C. (2021). Recent advances in convolutional neural networks: A comprehensive review. Neurocomputing, 419, 243-262.

12. Zhang Y., Zhou J. (2020). A survey on deep convolutional neural networks for visual recognition. Pattern Recognition Letters, 131, 59-71.

13. Yao Y., Wang J. (2020). A Comprehensive Survey of Convolutional Neural Networks. IEEE Access, 8, 82678290.

14. Zhang Y., Li C. (2020). An Overview of Convolutional Neural Networks for Image Classification Tasks. arXiv preprint arXiv: 2002.10604.

15. Sharma S., Sharma S. (2020). A Comprehensive Study of Convolutional Neural Network Structures and Optimization Techniques for Image Classification Tasks. IEEE Access, 8, 121202-121215.

16. Kim J., Park, H. (2020). Recent Advances in Convolutional Neural Networks for Image Processing Applications: A Survey and Taxonomy. IEEE Transactions on Industrial Informatics 16(5), 3136-3154.

17. Krizhevsky A., Sutskever I., Hinton G. (2017). ImageNet classification with deep convolutional neural networks [Conference paper]. In Advances in neural information processing systems (pp. 2590-2598).

Art neural network to improve the quality of strokes when drawing with

a robot artist Gavrilin N.P.

Wonderbot LLC

JEL classification: C10, C50, C60, C61, C80, C87, C90_

The article proposes a convolutional neural network that performs, together with an analytical art function: to make strokes "smoother and more beautiful". The drawing algorithm with the help of a robot-artist (hereinafter - Software) is designed to apply images to various surfaces using a robot-hand, that is, a robot-manipulator, on which it is possible to attach a brush. Now this technology is used to create paintings - applying oil or acrylic paints on canvas. In the future, it may find wider application. The software allows you not to copy the original digital drawing, but to create various images based on it. The program is designed for easy compatibility with robotic arms from different companies. Keywords: robotic arm, art function, convolutional neural network, art neural

network, drawing with robot artist References

1. Kuznetsov A.A., Artemov A.S. (2020). Convolutional neural networks: a

survey of modern methods and applications. Computer Science & Mathematics, 2(2), 35-50.

2. Kudryavtsev D., & Zagoruyko S. (2020). Spatially adaptive convolutional

neural networks for image classification and object detection. Neural Networks, 123, 189-202.

3. Ulyanov D., Vedaldi A., Lempitsky, V. (2018). Deep image prior:

Unsupervised learning from a single natural image. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 9446-9454).

4. loffe S., Szegedy C. (2015). Batch normalization: Accelerating deep

network training by reducing internal covariate shift. In International conference on machine learning (pp. 448-456).

5. Murshed M., LeCun Yann (2019). Convolutional neural networks for visual

recognition: Introduction to convolutional neural network architectures and their applications in computer vision tasks such as object recognition and scene understanding. IEEE Transactions on Pattern Analysis and Machine Intelligence, 41(10), 2415-2437.

6. Efimov V., Gritsenko V., Ponomareva N. (2020). Convolutional Neural

Networks: State-of-the-Art Architectures for Image Classification. International Journal of Computer Vision, 128(4), 730-745.

7. Dzhepovskiy O., Zakharchenko A., Gusev E. (2020). Deep learning models

based on convolutional neural networks: methods and applications in healthcare informatics systems development. Artificial Intelligence in Medicine Research Trends Series in Biomedical Engineering Technology and Clinical Practice, 2(3), 13-30.

8. Churkin D., Khazanov M., Yudin G. (2020) Convolutional Neural Network

for Automatic Image Annotation: Architecture Design Principles and Performance Evaluation Techniques International Journal of Intelligent Systems Technologies and Applications 19(1): 20-32.

9. Gavrilova M. (2020). Convolutional Neural Networks Based Face

Recognition Algorithm International Journal of Intelligent Systems Technologies and Applications 19(5):567-581.

10. Vasiliev A. (2020). On the Application of Convolutional Neural Networks to Image Segmentation Problems International Journal of Intelligent Systems Technologies and Applications 19(2): 127-142.

11. Chang C., Lin C. (2021). Recent advances in convolutional neural networks: A comprehensive review. Neurocomputing, 419, 243-262.

12. Zhang Y., Zhou J. (2020). A survey on deep convolutional neural networks

for visual recognition. Pattern Recognition Letters, 131, 59-71.

13. Yao Y., Wang J. (2020). A Comprehensive Survey of Convolutional Neural Networks. IEEE Access, 8, 8267-8290.

14. Zhang Y., Li C. (2020). An Overview of Convolutional Neural Networks for

Image Classification Tasks. arXiv preprint arXiv: 2002.10604.

15. Sharma S., Sharma S. (2020). A Comprehensive Study of Convolutional Neural Network Structures and Optimization Techniques for Image Classification Tasks. IEEE Access, 8, 121202-121215.

16. Kim J., Park, H. (2020). Recent Advances in Convolutional Neural Networks for Image Processing Applications: A Survey and Taxonomy. IEEE Transactions on Industrial Informatics 16(5), 3136-3154.

17. Krizhevsky A., Sutskever I., Hinton G. (2017). ImageNet classification with deep convolutional neural networks [Conference paper]. In Advances in neural information processing systems (pp. 2590-2598).

X X

o

00 >

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

c.

X

00 m

o

ho o ho CO

i Надоели баннеры? Вы всегда можете отключить рекламу.