Научная статья на тему 'РАСПОЗНАНИЕ И КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ KERAS В R'

РАСПОЗНАНИЕ И КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ KERAS В R Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
73
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
KERAS / ГЛУБОКОЕ ОБУЧЕНИЕ / ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ / АНАЛИЗ ИЗОБРАЖЕНИЙ / DEEP LEARNING / ARTIFICIAL NEURAL NETWORKS / IMAGE ANALYSIS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Босых О.С.

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

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

RECOGNITION AND CLASSIFICATION OF IMAGES USING KERAS IN R

The article describes the process of classifying images using keras open neural network library. An algorithm for solving the problem of classification using a test set of images is given. The quality of the results obtained is evaluated.

Текст научной работы на тему «РАСПОЗНАНИЕ И КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ KERAS В R»

УДК 004.8

Босых О.С. студент магистратуры 2 курса Хакасский государственный университет им. Н. Ф. Катанова

научный руководитель: Голубничий А.А.

Россия, г. Абакан

РАСПОЗНАНИЕ И КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ KERAS В R

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

Ключевые слова: R, kerns, глубокое обучение, искусственные нейронные сети, анализ изображений

Bosykh O.S. graduate student Katanov Khakass State University Russia, Abakan Scientific supervisor: Golubnichiy A.A.

RECOGNITION AND CLASSIFICATION OF IMAGES USING

KERAS IN R

Abstract: The article describes the process of classifying images using keras open neural network library. An algorithm for solving the problem of classification using a test set of images is given. The quality of the results obtained is evaluated.

Key words: R, keras, deep learning, artificial neural networks, image analysis

Задача анализа изображений одна из классических задач области практического применения искусственных нейронных сетей. В рамках настоящего исследования приводится решение задачи распознания объектов с использованием открытой нейросетевой библиотеки keras [1]. Keras является одной из популярнейших библиотек, используемых в области работы с сетями глубокого обучения, по своей популярности уступая только TensorFlow.

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

Рисунок 1. Набор исходных объектов для обучения и тестирования

нейронной сети

Для удобства обработки, изображения были именованы схожим образом и помещены в рабочую область нового проекта R. Изображения не являются стандартными для работы объектами в языках программирования, по этой причине для подготовки изображения для работы используется специальный пакет EBImage из открытого репозитория Bioconductor [2].

Для подготовки изображения к дальнейшей обработке используются: команды чтения изображения - readImage (из пакета EBImage), команда изменения размера - resize (EBImage) и команда array_reashape (kerns) для подготовки списка к формату, необходимому для работы с данными для обучения. После проведения чтения данные были распределены на тренировочную и тестовую выборки, так 5 из 6 изображений каждого объекта послужили для тренировки, а шестое изображение стало тестовым для проверки корректности работы сети. Задача распознавания изображения проводилось с соответствующей разметкой данных, для этих целей были созданы векторы trainy и testy. Значение 0 в векторе отвечает за самолет, 1 -за автомобиль. Данные значения переведены в категориальный формат посредством функции to_categorical пакета keras и далее используются для построения модели (рис. 2.).

1 # Чтение изображений

Z pics <- cC'pl.jpg', 'p2.jpg', 'p3.jpg', 'p4.jpg', 'p5.jpg', 'рборд', В "clopg", 1 cZ.jpg1 , "cB.jpg', 'c^jpg', 'c5.Wg', 'cG.jpg1)

4 mypic <- listC)

5 for (i in 1:12") {mypic[| i П <- readlmag^tpics[i])}

6

7 # Подготовка изображения

8 for (i in 1:1Z} {mypic[|i]] <- resize(mypic[|i||, Z8, Z8)>

9 for (i in 1:1Z) {mypit[[i]] <- array_reshape(mypiс Г TilH, c(Z8, Z8, 3))} 10

LI # Подготовка тренировочного и тестового набора данных

1Z trainx с NULL

L3 for а in 1; 5} {trainx <- rbiridctrainx, rtiypic| | i I]

L4 for a in 7:11} {trainx <- rbindCtrairix, mypicf | i 115}

15 str(trainx)

16 testx < rbindOnypic[[6j|, mypic[[lZ]]}

17 trainy с c(0,0,0,0,0,1,1,1,1,1 )

18 testy <- c(0, 1}

19 trainLabels <- to_categorical(trainy) ZQ testLabels с to_categorical(testy}

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

В нейронной сети используется 3 слоя, каждый из которых имеет меньшее количество выходных значений по сравнению с предыдущим (рис. 3,4).

# Построение модели

model <- keras_model_sequentialС}

model. %>%

layer_dense(units = Z56, activa layer_dense(units = 1Z8, activa layer_dense(units = Z, activatv sunnaryCmodel}

Z56, activation = "rein", input_5hape 1Z8, activation = "rein"} %>% Z, activation = "softmax")

= CCZ35Z)) %>%

# Компиляция модели model. %>%

compile(loss = "binary_crossentropy",

optimiier = optimize r_rmspropO, metrics = c("accuracy"))

# Обучение нейронной сети history < model %>% fit(trainx,

trainLabels, epochs = 30, batch_size = BZ, validation_split = 0.1)

Рисунок 3. Исходный код построения, сборки и обучения нейронной

сети

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

Layer (type)

Output Shape

(None, Z56)

(Nône, 1Z8) (None, Z)

Param #

dense_l (Dense)

dense_Z (Dense)

dense_3 (Dense)

60Z368

3Z896

Total pa rams: 635,5ZZ Trainable params: 635,5ZZ Non-trainable params: 0

Рисунок 4. Структура слоев нейронной сети

Оценка и прогноз предсказания проводилась на тренировочных данных и на тестовых данных, для работы использовались стандартные команды языка R и модель, построенная в keras (рис. 5,6).

45 # Оценка и прогноз (тренировочные данные)

46 model %>% evaluate(trainx, trainLabels)

47 pred < model %>% predict_classes(trainx)

48 table^Predicted = pred, Actual = trainy)

49 prob < model %>% predict_proba(trainx)

50 cbind(prob, Prected = pred, Actual= trainy)

51

5Z # Оценка и прогноз (тестовые данные)

53 model %>% evaluate(testx, testLabels)

54 pred < model %>% predict_classes(testx)

55 table^Predicted = pred, Actual = testy)

56 prob < model %>% predict_proba(testx)

57 cbind(prob, Prected = pred, Actual= testy)

Рисунок 5. Исходный код оценки и прогноза модели

> table(PrediCted = pred, Actual = trainy) > table(Predicted - pred, Actual - testy

Actual Actual

Predicted 0 1 Predicted 0 1

0 5 1 0 10

10 4 10 1

Рисунок 6. Результат оценки и прогноза модели

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

Использованные источники: 1. Home - Keras Documentation URL: https://keras.io (дата обращения: 13.01.2019)

2.Bioconductor - EBImage URL:

https://www.bioconductor.org/packages/release/bioc/html/EBImage.html (дата обращения: 13.01.2019)

338.001.36

Бочарова Е.И. студент магистратуры кафедра №56 «бухгалтерского учета и аудита»

НИЯУ МИФИ Россия, г. Москва ОЦЕНКА ДЕЛОВОЙ АКТИВНОСТИ КАК ЭЛЕМЕНТА УПРАВЛЕНИЯ ДЕЯТЕЛЬНОСТЬЮ ЭКОНОМИЧЕСКОГО СУБЪЕКТА НА ПРИМЕРЕ ПАО «ГРУППА ЧЕРКИЗОВО» Аннотация: в данной статье рассматривается понятие деловой активности, как одного из элементов для обеспечения эффективного управления предприятием. Рассчитаны и проанализированы показатели, характеризующие деловую активность экономического субъекта, такие как коэффициенты оборачиваемости, длительность одного оборота и коэффициенты закрепления. Также рассчитан экономический результат от изменения оборачиваемости оборотных активов. В результате сделаны обоснованные выводы о влиянии деловой активности на эффективность в управлении ПАО «Группы Черкизово» и даны рекомендации.

Ключевые слова: деловая активность, эффективность, управление, анализ, коэффициент оборачиваемости, длительность оборота, коэффициент закрепления.

Bocharova E.I. master's degree student of the Department of «accounting and audit» №56

NRNU MEPhI Russia, Moscow

EVALUATION OF BUSINESS ACTIVITY AS AN ELEMENT OF MANAGEMENT OF THE ECONOMIC SUBJECT ACTIVITY ON THE EXAMPLE OF PJSC «CHERKIZOVO GROUP»

Abstract: this article discusses the concept of business activity as one of the elements to ensure the effective management of the enterprise. Calculated and analyzed indicators characterizing the business activity of an economic entity, such as turnover ratios, the duration of one turnover and the coefficients of consolidation. Also calculated the economic result from changes in the turnover of current assets. As a result, reasonable conclusions were made on the impact of business activity on the effectiveness in managing PJSC Cherkizovo Group and recommendations were made.

Keywords: business activity, efficiency, management, analysis, turnover ratio, turnover duration, consolidation factor.

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