О влиянии цветового пространства изображения на обучение свёрточной нейронной сети в задаче классификации изображений

О влиянии цветового пространства изображения на обучение свёрточной нейронной сети в задаче классификации изображений

Сикорский О.С., МГТУ им. Н.Э. Баумана о1е§в1к@§ша11. сот

Аннотация

Проведено исследование влияния цветовых пространств L*a*b* и L*u*v*, нелинейно зависящих от пространства RGB, на обучение глубокой свёрточной нейронной сети. Проведён эксперимент по обучению свёр-точной нейронной сети на аннотированной базе изображений CIFAR-10 для задачи классификации изображения c использованием пространств RGB, L*a*b и L*u*v. В результате эксперимента не было выявлено влияния использования различных цветовых пространств на точность. Значение функции потери уменьшилось, что показывает, что сети, обученные цветовых пространствах, отличных от RGB, переобучаются меньше. Выдвинута гипотеза, что явное выделение параметра светлости во входном изображении положительно влияет на результат обучения свёрточных нейронных сетей. Показано, что цветовые пространства L*a*b* и L*u*v* могут быть применены в реальных задачах классификации изображения.

1 Введение

Задача классификации изображений - одна из самых распространённых в области компьютерного зрения. Разработано множество различных способов для её решения [1]. С появлением больших аннотированных баз изображений (например, CIFAR-10 [2], ImageNet [3], Pascal VOC [4]) и технологий, подобных CUDA и OpenCL в задачах компьютерного зрения стало появляться намного больше решений, основанных на глубоких свёрточных нейронных сетях. На сегодняшний день они лидируют по показателям точности во многих задачах компьютерного зрения [3].

Традиционно в свёрточные нейронные сети для задачи классификации изображения входные данные подаются в формате RGB ([5], [6], [7]). В то же время мало исследовано, как обучаются нейронные сети при их обучении на изображениях в других цветовых пространствах, особенно тех, которые нелинейно зависят от RGB. В данной работе будут рас-

смотрены два таких пространства — L*u*v* и L*a*b*.

Данная проблема была частично затронута в магистерской диссертации Miquel Perello Nieto [8], в которой приводится эксперимент по обучению свёрточной нейронной сети в цветовом пространстве YUV. Точность классификации такой сети почти не изменилась по сравнению со стандартной RGB. Данный факт можно объяснить тем, что YUV линейно зависит от RGB, из-за чего нейронная сеть способна обучиться преобразованию из одного цветового пространства в другое на самом первом слое.

2 Цветовые пространства

Большинство цветовых пространств определяются через пространство XYZ, стандартизированное Международной комиссией по освещению. XYZ позволяет представить любой видимый среднестатистическому человеку цвет. RGB — семейство цветовых пространств. Самым распространённым его представителем является sRGB, и далее будет использоваться именно оно. Формула для перевода из данного пространства в XYZ приведена в стандарте sRGB [9].

В колориметрии и обработке изображений для представления цветов часто используются цветовые пространств L*u*v* и L*a*b*. В них параметр L* отвечает за светлость, а остальные координаты - за цвет. L*u*v* и L*a*b* нелинейно зависят от XYZ, что было сделано для более равномерного восприятия их компонент человеческим глазом. Малое изменение компоненты несёт соответствующее изменение в восприятии цвета; близкие точки в данных координатах воспринимаются, как близкие цвета. Данные цветовые пространства применяются для точного определения цвета, не зависящего от конкретного графического устройства. Формулы для перевода из цветового пространства XYZ в sRGB, L*u*v*, L*a*b* и другие даны в [10].

Fc2

Полносвязный

3 Постановка эксперимента

Для исследования зависимости влияния цветового пространства изображения на обучение нейронной сети было решено поставить эксперимент по обучению свёрточной нейронной сети на аннотированной базе изображений CIFAR-10 ([2]). CIFAR-10 -набор из 60000 изображений размером 32x32 пикселя, каждое изображение принадлежит к одному из десяти классов: самолёт, автомобиль, птица, кошка, олень, собака, лягушка, лошадь, корабль и грузовик. Традиционно данный набор делится на две части: тренировочную и контрольную (50000 и 10000 изображений соответственно).

Была построена свёрточная нейронная сеть наподобие AlexNet [5], в которой для уменьшения переобучения сети вместо слоёв локальной нормализации используются слои отсева (Dropout, см. [11]). Описание слоёв сети представлено в таблице 1. Каждый свёр-точный слой имеет ядра размера 5x5 и отступ (padding), равный 2. У всех слоёв дискретизации размер ядра 3x3 и шаг (stride) 2. Обучение проводилось на протяжении 500 эпох с начальным темпом обучения 0.001. Темп снижался в 10 раз каждые 125 эпох. Обучение производилось с помощью стохастического градиентного спуска с размером мини-пакета 100, функцией потерь softmax и L2-регуляризацией с коэффициентом 0.04.

Таблица 1. Слои нейронной сети

Было подготовлено три набора данных: оригинальный CIFAR-10 (RGB) и CIFAR-10, сконвертированный в L*a*b и L*u*v.

Сети, обученные на данных выборках, будем называть Net-RGB, Net-LAB и Net-LUV соответственно. Для повышения точности результатов обучение каждой сети проводилось 5 раз на одних и тех же данных.

4 Результаты эксперимента

Обучение сетей проводилось с помощью программного обеспечения Caffe [11] на дискретной видеокарте Nvidia GTX 1070. Обучение одной сети занимало примерно 3 часа. В таблице 2 приведены результаты прогонов, показавших наилучшую точность на контрольной выборке, в то время как в таблице 3 представлены усреднённые результаты по всем пяти прогонам. Также внимание представляют значения функции потери на контрольной выборке; некоторые их характеристики указаны в таблице 4.

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

Слой Тип слоя

Data Входной

Conv1 Свёрточный

Pool1 Максимальная дискретизация

Dropout1 Слой отсева

Conv2 Свёрточный

Pool2 Максимальная дискретизация

Dropout2 Слой отсева

Conv3 Свёрточный

Pool3 Усредняющая дискретизация

Fc1 Полносвязный

Таблица 2. Результаты лучших прогонов

Точность

Net-RGB 84,33 0,4816

Net-LAB 84,18 0,4783

Net-LUV 84,25 0,4731

Средняя точность

Net-RGB 84,03 0,4827

Net-LAB 84,01 0,4797

Net-LUV 83,99 0,4798

Таблица 3. Средние результаты прогонов

Рисунок 1. Результат обучения сети Net-RGB

2,5 0,9

\ 2 \ 0,8

0,7

0,6

1,5 ,

0,5

* 1 1 1 0,5 1 0,4

А __________ 0,3 0,2

0,1

0 0

1 100 200 300 400 Эпоха ......Значение функции потери (тренировочная выборка) — — Значение функции потери (контрольная выборка) — Точность 500

5 Обсуждение результатов

Из приведённых данных видно, что сеть Net-RGB по оценке точности выигрывает у других, но данный отрыв является небольшим (менее 1%, то есть разница в правильности классификации составляет менее 100 изображений) и, скорее всего, возник из-за случайных факторов при обучении сети. Следовательно, данный эксперимент не показал заметной разницы в точности при использовании различных цветовых пространств.

Таблица 4. Характеристики значений функции потери на контрольной выборке

В то же время из таблицы 2 можно заметить, что значение функции потери на контрольной выборке у Net-LAB и Net-LUV на каждом прогоне было ниже. Более того, максимальное значение функции потери в NetLAB и Net-LUV почти не отличается от минимального значения для Net-RGB (0,4817 против 0,4816). Значение функции потери

softmax можно интерпретировать как отрицательный логарифм вероятности того, что сеть правильно классифицирует входные данные. Чем меньше значение функции потери, тем данная вероятность более стремится к единице. Получается, что сети Net-LAB и Net-LUV на контрольной выборке указывали правильные классы более «уверенно», то есть присваивали на последнем слое правильному классу в среднем более высокое значение, чем Net-RGB. Это может косвенно указывать на меньшее переобучение сетей Net-LAB и Net-LUV

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

Минимальное значение Среднее значение Максимальное значение

Net-RGB 0,4816 0,4826 0,4838

NetLAB 0,4782 0,4793 0,4817

NetLUV 0,4731 0,4773 0,4799

Заключение

В данной работе рассмотрены цветовые пространства, нелинейно зависящие от RGB —L*u*v* и L*a*b*. Был проведён эксперимент по обучению нейронной сети на базе изображений CIFAR-10 для задачи классификации на различных цветовых пространствах. Установлено, что глубокие свёрточные нейронные сети обучаются лучше, если вместо стандартного цветового пространства RGB подавать изображения в L*u*v* или L*a*b*. В них наблюдается уменьшение значения функции потери, что может показывать меньшую степень переобучения сети на данной выборке. Данный эффект требует дальнейших исследований на больших выборках. Возможно, он проявляется из-за явного параметра светлоты, присутствующего в данных пространствах. Таким образом, из данной работы можно сделать вывод, что целесообразно использовать L*u*v* и L*a*b* в качестве входных цветовых пространств для обучения нейронных сетей.

Список литературы

[1] D. Lu & Q. Weng (2007) A survey of image classification methods and techniques for improving classification performance, International Journal of Remote Sensing, 28:5, 823-870, DOI: 10.1080/01431160600746456

[2] A. Krizhevsky, G. Hinton [Электронный ресурс] Learning multiple layers of features from tiny images. — 2009. — URL: https://www.cs.toronto.edu/~kriz/learning-features-2009-TR.pdf

[3] ImageNet Large Scale Visual Recognition Challenge / O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. Berg, L. Fei-Fei // International Journal of Computer Vision (IJCV). — 2015. — Vol. 115, no. 3. — Pp. 211-252.

[4] The Pascal Visual Object Classes (VOC) Challenge / M. Everingham, L.Gool, C. Williams, J. Winn, A. Zisserman // International Journal of Computer Vision. — 2010. — June. — Volume 88, no. 2. — Pp. 303-338.

[5] A. Krizhevsky, I. Sutskever, G. Hinton. ImageNet Classification with Deep Convolutional Neural Networks // Advances in Neural Information Processing Systems 25 / ed. by F. Pereira [et al.]. — Curran Associates, Inc., 2012. — Pp. 1097-1105.

— URL: http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf.

[6] Szegedy C. et al. Going deeper with convolutions // Proceedings of the IEEE conference on computer vision and pattern recognition. - 2015. - С. 1-9.

[7] He K. et al. Deep residual learning for image recognition // Proceedings of the IEEE conference on computer vision and pattern recognition. — 2016. — С. 770-778.

[8] Merging chrominance and luminance in early, medium, and late fusion using Convolutional Neural Networks // Miquel Perello Nieto Homepage.

— URL: https://users.ics.aalto.fi/perellm1/thesis/pdf/mscthe sis.pdf (дата обращения: 08.04.2018).

[9] M. Stokes, Anderson , Chandrasekar S., Motta R. [Электронный ресурс] A Standard Default Color Space for the Internet - SRGB. — 1996. — URL: https://www.w3.org/Graphics/Color/sRGB

[10] Schanda J. E. Colorimetry: understanding the CIE system. — New Jersey: John Wiley & Sons, 2007.

[11] Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., Salakhutdinov, R. Dropout: a simple way to prevent neural networks from overfitting // Journal of machine learning research. — 2014. — Volume 15, no. 1. — Pp. 1929-1958