Научная статья на тему 'Применение нейросетевых алгоритмов для семантической сегментации спутниковых снимков поверхности Земли'

Применение нейросетевых алгоритмов для семантической сегментации спутниковых снимков поверхности Земли Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
79
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
семантическая сегментация изображений / компьютерное зрение / искусственные нейронные сети / спутниковые снимки поверхности Земли / semantic segmentation of images / computer vision / artificial neural networks / satellite images of the Earth's surface

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Алексей Алексеевич Друки, Владимир Григорьевич Спицын

Цель работы – разработка нейросетевых алгоритмов, предназначенных для семантической сегментации спутниковых снимков поверхности Земли. Несмотря на обилие существующих алгоритмов сег-ментации и компьютерного зрения, эта задача все еще требует повышения качества их работы. Хотя данная область науки сегодня активно развивается, актуальна необходимость повышения качества сегментации спутниковых изображений поверхности Земли. При проведении анализа существующих методов и алгоритмов, решающих задачу семантической сегмен-тации изображений, выявлено, что наиболее подходящими для этого алгоритмами являются глубокие нейрон-ные сети. В процессе выполнения работы разработан ряд архитектур сверточных нейронных сетей класса автоэнкодеры с целью выявления более эффективной архитектуры. Нейронные сети реализованы при исполь-зовании библиотеки машинного обучения Keras. В качестве обучающей и тестовой выборок использованы спутниковые снимки ОАЭ, находящиеся в открытом доступе. Реализована модель нейронной сети класса ав-тоэнкодеры. Сегментация выполнялась на шесть классов объектов: дома, дороги, растения, вода, суша, нейтральные объекты.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Алексей Алексеевич Друки, Владимир Григорьевич Спицын

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

Application of neural network algorithms for semantic segmentation of satellite images of the Earth's surface

The purpose of the work is to develop neural network algorithms for the semantic segmentation of satellite images of the Earth's surface. Despite the large abundance of existing segmentation and computer vision algorithms, this task still requires improving the quality of their work. Despite the active development of this field of science, today there is still a need to improve the quality of segmentation of satellite images of the Earth's surface. When analyzing the existing methods and algorithms that solve the problem of semantic segmentation of images, it was found that the most suitable algorithms for this are deep neural networks. In the course of the work, a number of architectures of convolutional neural networks of the autoencoder class were developed in order to identify a more efficient architecture. Neural networks were implemented using the Keras machine learning library. Publicly available satellite images of the UAE were used as training and test samples. A neural network model of the autoencoder class was implemented. Segmentation was performed into 6 classes of objects: houses, roads, plants, water, land, neutral objects.

Текст научной работы на тему «Применение нейросетевых алгоритмов для семантической сегментации спутниковых снимков поверхности Земли»

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2023 Управление, вычислительная техника и информатика № 63

Tomsk: State University Journal of Control and Computer Science

Научная статья УДК 004.855

doi: 10.17223/19988605/63/8

Применение нейросетевых алгоритмов для семантической сегментации спутниковых снимков поверхности Земли

Алексей Алексеевич Друки1, Владимир Григорьевич Спицын2

12 Томский политехнический университет, Томск, Россия

1 druki@tpu.ru

2 spvg@tpu.ru

Аннотация. Цель работы - разработка нейросетевых алгоритмов, предназначенных для семантической сегментации спутниковых снимков поверхности Земли. Несмотря на обилие существующих алгоритмов сегментации и компьютерного зрения, эта задача все еще требует повышения качества их работы. Хотя данная область науки сегодня активно развивается, актуальна необходимость повышения качества сегментации спутниковых изображений поверхности Земли.

При проведении анализа существующих методов и алгоритмов, решающих задачу семантической сегментации изображений, выявлено, что наиболее подходящими для этого алгоритмами являются глубокие нейронные сети. В процессе выполнения работы разработан ряд архитектур сверточных нейронных сетей класса автоэнкодеры с целью выявления более эффективной архитектуры. Нейронные сети реализованы при использовании библиотеки машинного обучения Keras. В качестве обучающей и тестовой выборок использованы спутниковые снимки ОАЭ, находящиеся в открытом доступе. Реализована модель нейронной сети класса автоэнкодеры. Сегментация выполнялась на шесть классов объектов: дома, дороги, растения, вода, суша, нейтральные объекты.

Ключевые слова: семантическая сегментация изображений; компьютерное зрение; искусственные нейронные сети; спутниковые снимки поверхности Земли.

Благодарности: Работа выполнена в рамках программы повышения конкурентоспособности Томского политехнического университета.

Для цитирования: Друки А.А., Спицын В.Г. Применение нейросетевых алгоритмов для семантической сегментации спутниковых снимков поверхности Земли // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2023. № 63. С. 62-71. doi: 10.17223/19988605/63/8

Original article

doi: 10.17223/19988605/63/8

Application of neural network algorithms for semantic segmentation of satellite images of the Earth's surface

Alexey A. Druki1, Vladimir G. Spitsyn2

12 Tomsk Polytechnic University, Tomsk, Russian Federation

1 druki@tpu.ru

2 spvg@tpu.ru

Abstract. The purpose of the work is to develop neural network algorithms for the semantic segmentation of satellite images of the Earth's surface. Despite the large abundance of existing segmentation and computer vision algorithms, this task still requires improving the quality of their work. Despite the active development of this field of science, today there is still a need to improve the quality of segmentation of satellite images of the Earth's surface.

When analyzing the existing methods and algorithms that solve the problem of semantic segmentation of images, it was found that the most suitable algorithms for this are deep neural networks. In the course of the work, a number

© А.А. Друки, В.Г. Спицын, 2023

of architectures of convolutional neural networks of the autoencoder class were developed in order to identify a more efficient architecture. Neural networks were implemented using the Keras machine learning library. Publicly available satellite images of the UAE were used as training and test samples. A neural network model of the autoencoder class was implemented. Segmentation was performed into 6 classes of objects: houses, roads, plants, water, land, neutral objects.

Keywords: semantic segmentation of images; computer vision; artificial neural networks; satellite images of the Earth's surface.

Acknowledgments: The work was carried out within the framework of the program to improve the competitiveness of the Tomsk Polytechnic University.

For citation: Druki, A.A., Spitsyn, V.G. (2023) Application of neural network algorithms for semantic segmentation of satellite images of the Earth's surface. Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika - Tomsk State University Journal of Control and Computer Science. 63. pp. 62-71. doi: 10.17223/19988605/63/8

Введение

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

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

Традиционные классические алгоритмы, применяемые для семантической сегментации изображений, основаны на поиске ключевых особенностей объектов [2], которыми могут быть цвет, форма, текстура, ключевые точки расположения объекта относительно других объектов изображения и т.д. Относительно этих ключевых характеристик объекты классифицируются и выделяются определенным цветом на изображении [3]. Среди таких алгоритмов можно выделить детекторы и дескрипторы ключевых точек на изображении (SIFT [4]; SURF [4]; FAST [5]; HOG [6]), машину опорных векторов (SVM) [7], Bag of words [8], метод главных компонент и т.д. Данные алгоритмы активно применялись в конце XX - начале XXI в. К их недостаткам можно отнести низкую устойчивость к различным искажениям входных данных, таким как смена ракурса камеры, шумовые помехи, изменение размера объектов, текстуры, освещения и т.д.

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

Применение классических нейронных сетей типа многослойный Персептрон [9] не очень эффективно в работе с изображениями. Связано это с тем, что изображения имеют двумерную структуру, а также важна взаимосвязь пространственно зависимых областей объектов и их частей, которые разрушаются при подаче на вход классических нейронных сетей. Также изображения могут иметь большой размер, что значительно увеличивает размер нейронной сети и снижает ее устойчивость при обучении [9].

В конце XX в. французским ученым Я. Лекуном был представлен тип нейронных сетей, имеющих двумерную структуру и хорошо подходящих для работы с изображениями [10]. Этот тип нейронных сетей получил название «сверточные нейронные сети» из-за наличия в их структуре операции свертки входных данных. Благодаря некоторым особенностям архитектуры они обеспечивают

более высокую устойчивость к различным искажениям на изображениях, смещениям объектов, шумовым помехам, размытию и т.д. Сверточные нейронные сети, как и Персептрон, состоят из нейронов, но имеют двумерную архитектуру, подобную изображениям. Архитектура достаточно сложная и имеет иерархический вид, где каждый слой состоит из различных плоскостей, а каждая плоскость, в свою очередь, представляет собой матрицу нейронов. Каждый нейрон сети получает информацию не со всего изображения, а лишь с отдельной соответствующей ему части. Данный процесс включает в себя операции свертки и подвыборки, благодаря чему входное изображение уменьшается в размере от слоя к слою, в итоге на последних слоях оно вырождается в вектор, где происходит классификация данных [10]. Важная особенность сверточных нейронных сетей заключается в том, что в рамках одной плоскости все нейроны имеют одинаковые весовые коэффициенты, и это значительно снижает количество параметров сети.

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

Работу можно разделить на следующие основные этапы:

1. Подготовка достаточного количества изображений поверхности Земли для обучения и тестирования нейронной сети.

2. Разработка архитектуры нейронной сети.

3. Обучение и тестирование нейронной сети.

4. Анализ работы нейронных сетей различной архитектуры с целью выявления более эффективной.

1. Выбор инструментов и среды разработки

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

PyTorch - современная библиотека машинного обучения, является аналогом фреймворка Torch7 для языка Python [11]. Разработка данной библиотеки началась в 2012 г., а в 2017 г. она стала доступной широкой публике. PyTorch содержит достаточно большой функционал и набор алгоритмов машинного обучения. В библиотеке используется динамический граф, что позволяет снизить количество вычислительных процессов и временные затраты на тестирование нейронных сетей.

Keras - библиотека машинного обучения, которая поддерживается компанией Google и предназначена для оперативной работы с глубокими нейронными сетями [12]. Библиотека является компактной, модульной и расширяемой, содержит удобный инструментарий для создания, обучения и тестирования нейронных сетей. Keras представляет собой более высокоуровневую надстройку библиотеки TensorFlow.

Для оценки эффективности применения библиотек использовалась сверточная нейронная сеть VGG16, которая обучалась и тестировалась на базе изображений CIFAR-10 [13]. Данная база содержит 60 тыс. изображений десяти различных классов объектов: автомобили, корабли, самолеты, животные и т.д. Результаты тестирования библиотек показали одинаковую скорость работы и точность классификации объектов на уровне 80%. Исходя из этого, в дальнейшей работе было решено использовать библиотеку Keras как более компактную и удобную при создании глубоких нейронных сетей.

2. Архитектура нейронной сети

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

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

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

При выборе архитектуры нейронной сети рассматривались следующие типы автоэнкодеров: U-Net [14], E-Net [15], SegNet [16]. Данные сети имеют классическую для автоэнкодеров архитектуру, включающую в себя фазу кодирования и последующую фазу декодирования входных данных. Фаза кодирования содержит несколько сверточных слоев и слоев Max pooling, функцию активации ReLU и применение пакетной нормализации. Фаза декодирования также содержит слои свертки, функцию активации ReLU и применение пакетной нормализации, только вместо Max pooling здесь используется обратная ей функция Unpooling, или Upsampling. Как можно заметить, в данных моделях сетей не используется полносвязный слой нейронов, что значительно сокращает число параметров сети и дает возможность обучения на небольшом количестве обучающих примеров.

Важно, что перечисленные нейронные сети являются очень громоздкими и содержат большое количество слоев. Например, U-Net содержит 23 сверточных слоя, плюс в каждом из них применяются пакетная нормализация и функция активации ReLU, 4 слоя Max pooling, 4 слоя Upsampling, в конце функция активации Softmax [17]. В сумме получается 31 слой.

SegNet содержит 26 сверточных слоев, в каждом из которых применяются пакетная нормализация и функция активации ReLU, 5 слоев Max pooling, 5 слоев Upsampling, в конце функция активации Softmax. В сумме получается 36 слоев.

E-Net содержит 17 сверточных слоев, в каждом из которых применяются пакетная нормализация и функция активации ReLU, 3 слоя Sabsampling, 3 слоя Upsampling, в конце функция активации Softmax. В сумме получается 23 слоя.

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

В процессе проведенных исследований была разработана модель нейронной сети, состоящая из 15 слоев (рис. 1). В данной модели первые 8 слоев выполняют кодирование входного изображения в промежуточный вектор. За ними следуют 7 слоев, которые выполняют декодирование этого вектора и перевод его в 3 цветовых канала. Выходное изображение представляет собой результат сегментации данных по различным классам: дома, суша, дороги, растения (в том числе и деревья), вода.

Конкатенация

| Сверточные слои Слои Max pooling | Слои Upsampling Softmax

Рис. 1. Модель нейронной сети Fig. 1. Model of neural network

Нейронная сеть содержит 15 слоев, что почти в два раза меньше, чем в вышеописанных сетях: 11 сверточных слоев, в каждом из которых применяется функция активации ReLU [16]; 2 слоя Max pooling; 2 слоя Upsampling. Дважды выполняется операция конкатенации данных. Также в данной сети не применяется пакетная нормализация данных.

Первые два слоя являются сверточными и содержат каждый по 32 карты признаков. Матрица свертки имеет размер 3 х 3 нейрона. Функция активации ReLu.

Далее следует слой Max pooling, который уменьшает размер карт признаков в 2 раза.

Четвертый и пятый слои являются сверточными и содержат каждый по 64 карты признаков. Матрица свертки имеет размер 5 х 5 нейронов. Функция активации ReLu.

Далее следует слой Max pooling, который уменьшает размер карт признаков в 2 раза.

Седьмой и восьмой слои являются сверточными и содержат каждый по 128 карт признаков. Матрица свертки имеет размер 7 х 7 нейронов. Функция активации ReLu.

Девятый слой является слоем Upsamling, который увеличивает размер карт признаков в два раза и является операцией, обратной Max pooling. Далее выполняется конкатенация данных.

Десятый и одиннадцатый слои являются слоями свертки и содержат по 64 карты признаков. Матрица свертки имеет размер 5 х 5 нейронов. Функция активации ReLu.

Двенадцатый слой является слоем Upsamling и увеличивает размер карт признаков в два раза. Далее выполняется конкатенация данных.

Тринадцатый и четырнадцатый слои являются сверточными и содержат по 32 карты признаков. Матрица свертки имеет размер 3 х 3 нейрона. Функция активации ReLu.

Последний слой также является сверточным и содержит 6 карт признаков, соответствующих шести классам объектов на изображениях. Матрица свертки имеет размер 3 х 3 нейрона. Функция активации Softmax.

Во всех слоях свертки применяется функция padding, которая восстанавливает размер изображения.

3. Обучение нейронной сети

В качестве обучающей и тестовой выборок используется набор изображений Humans in the Loop, который разрабатывался для совместного проекта с Космическим центром Мохаммеда Бин Ра-шида в Дубае (ОАЭ) и находится в открытом доступе [18]. Набор данных состоит из 63 аэрофотоснимков Дубая, полученных со спутников MBRSC. Для каждого изображения в наборе есть соответствующая ему маска, где каждый класс объектов окрашен в определенный цвет. Примеры исходных изображений и соответствующих им сегментированных масок можно увидеть на рис. 2, 3.

Выборка была разделена на 43 изображения для обучения и 20 изображений для тестирования. Так как изображения в выборке изначально имеют разный размер, то предварительно, перед обучением и тестированием, они были приведены к одному размеру - 500 х 500 пикселей.

Изображения содержат следующие классы объектов:

- дома (темно-синий цвет);

- суша (фиолетовый);

- дороги (голубой);

- растения, деревья (желтый);

- вода (оранжевый);

- нейтральные объекты (серый).

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

При выборе алгоритмов обучения рассматривались оптимизаторы, функционирующие на базе алгоритма обратного распространения ошибки. Данный алгоритм впервые был описан в 1974 г. А.И. Галушкиным, а также П.Дж. Вербосом. Особую значимость данный алгоритм приобрел в 1986 г., когда Д. Хинтон, Д. Румельхарт и Р. Уильямс применили его для обучения нейронных сетей [19]. В основе алгоритма лежит метод градиентного спуска, за счет чего достигается минимизация ошибки выходного сигнала нейронной сети. Из недостатков алгоритма можно выделить возможное застревание в локальных минимумах при выборе малого шага или расходимость алгоритма при выборе большого шага обучения.

Рис. 2. Изображения из обучающей выборки Fig. 2. Images from the training set

Рис. 3. Сегментированные маски для обучения нейронной сети Fig. 3. Segmented masks for neural network training

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

- Adam - метод стохастического градиентного спуска, основанный на адаптивной оценке моментов первого и второго порядка [20].

- Adagrad - оптимизатор со скоростями обучения для конкретных параметров, которые адаптируются в зависимости от того, как часто параметр обновляется во время обучения [21].

- Adamax - вариант Adam, основанный на норме бесконечности, представляет собой метод оптимизации первого порядка на базе градиента. Благодаря способности регулировать скорость обучения на основе характеристик данных, он подходит для изучения изменяющегося во времени процесса [22].

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

В табл. 1 представлены результаты обучения и тестирования с использованием различных алгоритмов оптимизаторов, из которых видно, что все три алгоритма показали достаточно высокие результаты сегментации, однако алгоритм Adam показал наилучшие среди них: точность сегментации 99,55%.

Таблица 1

Результаты обучения и тестирования нейронной сети

Алгоритм Количество эпох обучения Точность при обучении Точность при тестировании

Adam 600 99,62 99,55

Adagrad 600 97,43 97,22

Adamax 600 97,179 96,89

Результаты сегментации обученной нейронной сети представлены на рис. 4.

а b c

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

Рис. 4. Результат сегментации нейронной сетью: а - исходное изображение; b - сегментированная маска из тестовой выборки (ожидаемый результат); c - полученный результат сегментации Fig. 4. The result of segmentation by a neural network: a) the original image; b) segmented mask from the testing sample (expected result); c) the segmentation result

Было проведено исследование эффективности работы нейронных сетей различной архитектуры. В табл. 2 отражены результаты работы различных архитектур нейронной сети.

Таблица 2

Сравнение различных архитектур

Кол-во слоев Дома(%) Суша (%) Дороги (%) Растения (%) Вода(%) Итого (%)

36 слоев 95,7 96,2 98,9 97,3 97,5 97,12

31 слой 96,2 96,8 98,6 98,2 97,8 97,52

25 слоев 97,7 97,2 99,2 99,3 97,8 98,24

23 слоя 97,5 97,3 99,1 98,8 98,1 98,1

15 слоев 99,5 99,4 99,6 99,7 99,5 99,55

Исследование работы нейронных сетей проводилось на наборе тестовых изображений с применением операции аугментации. Для определения результатов сегментации использовались метрики среднего и Хаусдорфового расстояния.

Анализ работы нейронных сетей различной архитектуры показал, что все они обеспечивают достаточно высокую точность сегментации, различия заключаются лишь во времени их обучения. Чем большее количество слоев содержит сеть, тем дольше она обучается. Также стоит отметить, что слишком большое количество слоев снижает точность сегментации. Как правило, последние слои нейронной сети обучаются хорошо, но чем большее количество слоев в структуре, тем более слабый отклик изменения весов доходит до самых первых слоев. Лучший из представленных результатов сегментации составил точность работы 99,55%.

Заключение

Данная работа посвящена решению задачи семантической сегментации спутниковых снимков поверхности Земли. Цель работы - сегментация изображений Humans in the Loop на шесть различных объектов: дома, суша, дороги, растения, вода, нейтральные объекты. Для решения поставленной задачи была реализована модель нейронной сети класса автоэнкодеры с оригинальной компактной архитектурой. Точность работы составила 99,55%. При выборе алгоритма обучения применялось три алгоритма оптимизатора. При разработке архитектуры нейронной сети применялось различное количество слоев и параметров.

Список источников

1. Navjot Kaur Er. Object classification Techniques using Machine Learning Model // International Journal of Computer Trends and

Technology. 2014. V. 18 (4). P. 170-174.

2. Xu J., Zhao L., Zhang S., Gong C., Yang J. Multi-task learning for object keypoints detection and classification // Pattern Recog-

nition Letters. 2020. V. 130. P. 182-188.

3. Mo Y., Wu Y., Yang X., Liu F., Liao Y. Review the state-of-the-art technologies of semantic segmentation based on deep learning //

Neurocomputing. 2022. V. 493. P. 626-646.

4. Park S., Yoo J.H. Realtime face recognition with SIFT based local feature points for mobile devices // The 1st International Con-

ference of Artificial Intelligence, Modelling and Simulation (AIMS 13). Malaysia. 2013. P. 304-308.

5. Tore V., Chawan P.M. FAST Clustering based feature subset selection algorithm for high dimensional data // International Journal

of Computer Science and Mobile Computing. 2016. V. 5 (7). P. 234-238

6. Dalal N., Triggs B. Histograms of oriented gradients for human detection // IEEE Computer Society Conference on Computer

Vision and Pattern Recognition (CVPR). San Diego, USA. 2005. V. 1. P. 886-893.

7. Hu L., Cui J. Digital image recognition based on Fractional-order-PCA-SVM coupling algorithm // Measurement. 2019. V. 145.

P. 150-159.

8. Mohey D.E. Enhancement bagofwords model for solving the challenges of sentiment analysis // International Journal of Advanced

Computer Science and Applications. 2016. V. 7 (1). P. 244-251.

9. Rosenblatt F. The perceptron: a probabilistic model for information storage and organization in the brain // Psychological Review.

1958. V. 65 (6). P. 386-408.

10. Le Cun Y., Bengio Y. Convolutional networks for images, speech and time series // The Handbook of Brain Theory and Neural Networks. 1998. V. 7 (1). P. 255-258.

11. Pytorch: An open source machine learning framework that accelerates the path from research prototyping to production deployment. URL: https://pytorch.org (accessed: 07.02.2023).

12. Keras: The Python Deep Learning library. URL: https://keras.io (accessed: 07.02.2023).

13. CIFAR: The CIFAR-10 dataset. URL: www.cs.toronto.edu/~kriz/cifar.html (accessed: 07.02.2023).

14. Ronneberger O., Fischer P., Brox T. U-Net: Convolutional networks for biomedical image segmentation // International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI-2015). 2015. V. 93. P. 234-241.

15. Paszke A., Chaurasia A., Kim S., Culurciello E. ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation // 5-th International Conference on Learning Representations. 2017. Toulon, France. 2017. P. 1-10.

16. Badrinarayanan V., Kendall A., Cipolla R. SegNet: A deep convolutional encoder-decoder architecture for image segmentation // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2017. V. 39 (12). P. 54-62.

17. Conneau A., Schwenk H., Barrault L., Lecun Y. Very Deep Convolutional Networks for Text Classification // Computation and Language. 2017. P. 1-10. URL: http://arxiv.org/abs/1606.01781 (accessed: 07.02.2023).

18. HITL: Satellite imagery database. URL: https://humansintheloop.org (accessed: 07.02.2023).

19. Rumelhart D., Hinton G., Williams R. Learning representations by back-propagating errors // Nature. 1986. V. 323. P. 533-536.

20. Kingma D.P. Adam: A method for stochastic optimization // International Conference of Learning Representations. San Diego, USA. 2015. P. 1-13.

21. Ruder S. An overview of gradient descent optimization algorithms // Machine Learning. 2017. V. 2. P. 1-12.

22. El-Khatib S.A. Comparative study of optimization techniques in deep learning: Application in the ophthalmology field // The International Conference on Mathematics & Data Science (ICMDS). 2021. V. 1. P. 1-12.

References

1. Kaur, N. (2014) Object classification Techniques using Machine Learning Model. International Journal of Computer Trends and

Technology. 18(4). pp. 170-174. DOI: 10.14445/22312803/IJCTT-V18P140

2. Xu, J., Zhao, L., Zhang, S., Gong, C. & Yang, J. (2020) Multi-task learning for object keypoints detection and classification.

Pattern Recognition Letters. 2. pp. 182-188. DOI: 10.1016/j.patrec.2018.08.013

3. Mo, Y., Wu, Y., Yang, X., Liu, F. & Liao, Y. (2022) Review the state-of-the-art technologies of semantic segmentation based

on deep learning. Neurocomputing. 493. pp. 626-646. DOI: 10.1016/j.neucom.2022.01.005

4. Park, S. & Yoo, J.H. (2013) Realtime face recognition with SIFT based local feature points for mobile devices. The 1st Interna-

tional Conference of Artificial Intelligence, Modelling and Simulation (AIMS 13). pp. 304-308.

5. Tore, V. & Chawan, P.M. (2016) FAST Clustering based feature subset selection algorithm for high dimensional data. Interna-

tional Journal of Computer Science and Mobile Computing. 5(7). pp. 234-238.

6. Dalal, N. & Triggs, B. (2005) Histograms of oriented gradients for human detection. IEEE Computer Society Conference on

Computer Vision and Pattern Recognition (CVPR). 1. pp. 886-893. DOI: 10.1109/CVPR.2005.177

7. Hu, L. & Cui, J. (2019) Digital image recognition based on Fractional-order-PCA-SVM coupling algorithm. Measurement. 145.

pp. 150-159. DOI: 10.1016/j.measurement.2019.02.006

8. Mohey, D.E. (2016) Enhancement bag-of-words model for solving the challenges of sentiment analysis. International Journal

of Advanced Computer Science and Applications. 7(1). pp. 244-251. DOI: 10.14569/IJACSA.2016.070134

9. Rosenblatt, F. (1958) The perceptron: A probabilistic model for information storage and organization in the brain. Psychological

Review. 65(6). pp. 386-408. DOI: 10.1037/h0042519

10. Le Cun, Y. & Bengio, Y. (1998) Convolutional networks for images, speech and time series. The Handbook of Brain Theory and Neural Networks. 7(1). pp. 255-258.

11. Pytorch. (n.d.) An open-source machine learning framework that accelerates the path from research prototyping to production deployment. [Online] Available from: https://pytorch.org (Accessed: 7th February 2023).

12. Keras.io (n.d.) The Python Deep Learning Library. [Online] Available from: https://keras.io (Accessed: 7th February 2023).

13. CIFAR. (n.d.) The CIFAR-10 dataset. [Online] Available from: www.cs.toronto.edu/~kriz/cifar.html (Accessed: 7th February 2023).

14. Ronneberger, O., Fischer, P. & Brox, T. (2015) U-Net: Convolutional networks for biomedical image segmentation. International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI-2015). 93. pp. 234-241.

15. Paszke, A., Chaurasia, A., Kim, S. & Culurciello, E. (2017) ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation. 5-th International Conference on Learning Representations. pp. 1-10.

16. Badrinarayanan, V., Kendall, A. & Cipolla, R. (2017) SegNet: A deep convolutional encoder-decoder architecture for image segmentation. IEEE transactions on pattern analysis and machine intelligence. 39(12). pp. 54-62. DOI: 10.48550/arXiv.1511.00561

17. Conneau, A., Schwenk, H., Barrault, L. & Lecun, Y. (2017) Very Deep Convolutional Networks for Text Classification. Computation and Language. pp. 1-10. DOI: 10.48550/arXiv.1606.01781

18. HITL: Satellite imagery database. [Online] Available from: https://humansintheloop.org (Accessed: 7th February 2023).

19. Rumelhart, D., Hinton, G. &Williams, R. (1986) Learning representations by back-propagating errors. Nature. 323. pp. 533-536.

20. Kingma, D.P. (2015) Adam: A method for stochastic optimization. International Conference of Learning Representations. pp. 1-13.

21. Ruder, S. (2017) An overview of gradient descent optimization algorithms. Machine Learning. 2. pp. 1-12.

22. El-Khatib, S.A. (2021) Comparative study of optimization techniques in deep learning: Application in the ophthalmology field. The International Conference on Mathematics & Data Science (ICMDS). 1. pp. 1-12.

Информация об авторах:

Друки Алексей Алексеевич - кандидат технических наук, доцент отделения информационных технологий Национального исследовательского Томского политехнического университета (Томск, Россия). E-mail: druki@tpu.ru

Спицын Владимир Григорьевич - профессор, доктор технических наук, профессор отделения информационных технологий Национального исследовательского Томского политехнического университета (Томск, Россия). E-mail: spvg@tpu.ru

Вклад авторов: все авторы сделали эквивалентный вклад в подготовку публикации. Авторы заявляют об отсутствии конфликта интересов.

Information about the authors:

Druki Alexey A. (Candidate of Technical Sciences, Associate Professor of Department of Information Technologies of National Research Tomsk Polytechnic University, Tomsk, Russian Federation). E-mail: druki@tpu.ru

Spitsyn Vladimir G. (Doctor of Technical Sciences, Professor of the Department of Information Technologies of National Research Tomsk Polytechnic University, Tomsk, Russian Federation). E-mail: spvg@tpu.ru

Contribution of the authors: the authors contributed equally to this article. The authors declare no conflicts of interests.

Поступила в редакцию 07.02.2023; принята к публикации 09.06.2023 Received 07.02.2023; accepted for publication 09.06.2023

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