Научная статья на тему 'ОЦЕНКА КАЧЕСТВА СЕМЯН ПШЕНИЦЫ С ИСПОЛЬЗОВАНИЕМ СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ'

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

CC BY
128
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ / ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ

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

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

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

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

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

WHEAT SEED QUALITY ASSESSMENT BASED ON CONVOLUTIONAL NEURAL NETWORK ALGORITHM

The article proposes a method for analyzing and assessing the quality of wheat seeds by classifying their images using artificial intelligence, namely a convolutional neural network. The architecture of a deep convolutional neural network was proposed, an image base was created for training and testing the proposed neural network, training and testing of the neural network was carried out in Tensorflow. Conclusions about the efficiency of image classification are made and areas of use of the proposed method for analyzing and assessing the quality of wheat seeds are proposed.

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

Оценка качества семян пшеницы с использованием сверточной

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

А.В. Ковалев , А.С. Исаева

1

2

1 Научно-конструкторское бюро моделирующих и управляющих систем (НКБ

МИУС) ЮФУ

2Дизайн-центр микроэлектронной компонентной базы для систем искусственного

интеллекта ЮФУ

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

Ключевые слова: сверточные нейронные сети, искусственный интеллект, классификация изображений.

Сверточная нейронная (convolutional neuron network, CNN) сеть является одним из самых популярных сейчас алгоритмов глубокого обучения, позволяющим классифицировать и отличать изображения. На основе данного алгоритма предлагаются автоматизированные системы анализа, классификации и преобразования изображений в различных областях знаний [1, 2]. При этом, сверточные нейронные сети требуют гораздо меньшей обработки исходных изображений [3]. Структура нейронной сети подразумевает наличие различного типа слоев: входного слоя, нескольких скрытых слоев и выходного слоя. Охарактеризуем используемые виды слоев:

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

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

Архитектура сверточной нейронной сети

каждом слое содержится определенный набор различных ядер свертки, что необходимо для выделения нескольких признаков в одном слое. Значения коэффициентов фильтров перед обучением устанавливаются случайным образом или с использованием специальных алгоритмов (обычно алгоритмов Ксавье [4] или Хе [5]), что важно для возможности достижения глобального минимума в процессе обучения. Далее каждое из ядер свертки обучается для выделения определенных признаков из массива данных, полученных из предыдущего слоя. На выходе сверточного слоя, в случае отсутствия дополнения краевыми точками, размерность массива данных уменьшается в соответствии со следующим правилом: (п - к + 1), где п - является размерностью массива данных на входе, к - размерность используемого ядра свертки.

- Слой субдискретизации. В данном слое происходит уменьшение размерности данных (обобщение) путем объединения значений входной матрицы данных в рамках определенной области в одно значение. Этот слой позволяет увеличить устойчивость нейронной сети к изменению масштаба изображений, а также уменьшает число требуемых вычислений в последующих слоях нейронной сети. Существует несколько возможных вариантов субдискретизации: по максимуму [6, 7] (самый популярный вариант в настоящее время), по среднему значению [8] и промежуточные варианты [9]. В данной архитектуре применена субдискретизация по максимальному значению.

- Полносвязный слой. Нейроны в данном слое связаны с каждым из предыдущего и осуществляют конечное разделение на классы.

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

Рис. 1. - Архитектура сверточной нейронной сети

Предложенная архитектура сверточной нейронной сети состоит из следующих блоков:

1. Вход, на который подаются RGB-изображения размерностью 91x91;

2. Сверточный слой, содержащий 10 фильтров размером 5х5. Так как дополнения нулями не происходит, получаемая карта свертки имеет размерность 10х87х87, далее идет слой активации ReLU;

3. Слой подвыборки (пулинга) с окном 2х2 и шагом 2. Выходная размерность слоя составила 10х43х43;

4. Сверточный слой, содержащий 10 фильтров размером 5х5. Дополнения нулями не происходит, получаемая карта свертки имеет размерность 10х39х39, далее идет слой активации ReLU;

5. Слой пулинга с окном 2х2 и шагом 2. Выходная размерность слоя составила 10х19х19;

6. Сверточный слой, содержащий 20 фильтров размером 3х3. Дополнения нулями не происходит, получаемая карта свертки имеет размерность 10х39х39, далее идет слой активации ReLU;

7. Сверточный слой, содержащий 20 фильтров размером 3х3. Дополнения нулями не происходит, получаемая карта свертки имеет размерность 20х15х15, далее идет слой активации ReLU;

8. Слой пулинга с окном 2х2 и шагом 2. Выходная размерность слоя составила 20х7х7;

9. Сверточный слой, содержащий 20 фильтров размером 3х3. Дополнения нулями не происходит, получаемая карта свертки имеет размерность 20х5х5, далее идет слой активации ReLU;

10. Сверточный слой, содержащий 20 фильтров размером 3х3. Дополнения нулями не происходит, получаемая карта свертки имеет размерность 20х3х3, далее идет слой активации ReLU;

11 .Полносвязный слой с числом нейронов 128, слой активации ReLU;

12.Полносвязный слой с числом нейронов 32, слой активации ReLU;

13.Выходной слой с двумя нейронами, соответствующими двум выбранным классам, слой активации Тап^

Полученная архитектура имеет 43 312 весовых коэффициентов.

Параметры модели и обучения

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

активации: в большинстве слоев функция «линейный выпрямитель» ReLU (rectified linear unit) и гиперболический тангенс Tanh для выходного слоя. Выбор функции активации ReLU в качестве основной был сделан, исходя из следующих соображений: данная функция ускоряет обучение нейронной сети [10], приводит к лучшим решениям [11], чем обычные сигмоидоподобные функции, при этом в отличие от гиперболического тангенса и сигмоиды, имеет меньшую вычислительную сложность. Гиперболический тангенс Tanh, выбранный в качестве функции активации выбран из-за подходящего диапазона значений (-1, 1) и хороших результатов в применении в нейронных сетях [12]. Инициализация весов в данной нейронной сети выполнена с применением метода Хе. Для решения проблемы переобучения применена регуляризация L2 [13] со значением коэффициента регуляризации равном Х=10-4. В качестве метода градиентной оптимизации стохастических целевых функций, применяемого в качестве обучающего нейронную сеть, используется алгоритм Adam, основанный на адаптивных оценках моментов более низкого порядка [14].

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

Для обучения и тестирования разработанной архитектуры сверточной нейронной сети был создан набор из фотографий семян пшеницы разрешением 91*91 пикселей, разделенный на два класса: «хорошие семена» и «плохие семена». Изображения для данной предварительной выборки получены путем фотографирования отобранных вручную семян с использованием бытовой камеры. Пример характерных изображения семян из каждого из классифицируемых наборов данных показаны на рис. 2 и 3.

Рис. 2. - Пример изображений из обучающей выборки, класс

«хорошие семена»

Рис. 3. - Пример изображений из обучающей выборки, класс

«плохие семена»

В обоих классах были выделены следующие подклассы: обучающий подкласс, состоящий из 400 изображений, верификационный подкласс, состоящий из 68 изображений и проверочный, состоящий из 50 изображений. Весь набор данных, таким образом, состоит из 800 тренировочных изображений, 136 верификационных изображений и 100 тестовых изображений. Все используемые данные для каждого этапа обучения берутся

в случайном порядке, за исключением тестовых данных, которые сохраняют исходную последовательность для корректного последующего сравнения результатов обучения нейронной сети. Обучение и тестирование нейронной сети проводилось в Tensorflow версии 2.1, установленной в системе Ubuntu 18.04 LTS. Для обучения нейронной сети применялась система с графическим процессором Nvidia 2070 Super, что позволило осуществлять обучение нейронной сети за 25-27 секунд. Графики точности нейронной сети и функции потерь в процессе обучения показаны на рис. 4.

Рис. 4. - Процесс обучения нейронной сети

Результаты обучения (100 этапов по 8 изображений) показаны в таблице 1.

Таблица № 1

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

Тренировочные потери Валидационные потери Тренировочная точность Валидационная точность Тестовая точность

0.3233 0.3540 0.9900 0.9600 0.9700

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

Научные исследования выполнены в рамках проекта «Создание высокотехнологичного производства аппаратно-программных комплексов обработки сельхозсырья на основе СВЧ излучения» (Соглашение с Минобрнауки РФ № 075-11-2019-083 от 20.12.2019 г., Договор ЮФУ № 18 от 20.09.2019 г., номер работы в ЮФУ № ХД/19-25-РТ).

Литература

1. Соловьев Р.А., Тельпухов Д.В., Кустов А.Г. Автоматическая сегментация спутниковых снимков на базе модифицированной свёрточной нейронной сети UNET // Инженерный вестник Дона, 2017, №4. URL: ivdon.ru/ru/magazine/archive/n4y2017/443 3.

2. Игнатьев А.В., Гилка В.В., Матыцына Д.А. Автоматическое распознавание типа застройки для системы экологического мониторинга // Инженерный вестник Дона, 2020, №1. URL: ivdon.ru/ru/magazine/archive/n1y2020/6266.

3. Tian Y. Artificial Intelligence Image Recognition Method Based on Convolutional Neural Network Algorithm // IEEE Access, 2020, pp. 1-14.

4. Glorot X., Bengio Y. Understanding the difficulty of training deep feedforward neural networks // Proceedings of the thirteenth international conference on artificial intelligence and statistics, 2010, pp. 249-256.

5. He K. et al. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification // Proceedings of the IEEE international conference on computer vision, 2015, pp. 1026-1034.

6. LeCun Y. et al. Backpropagation applied to handwritten zip code recognition // Neural computation, 1989, Vol. 1, No. 4, pp. 541-551.

7. Boureau Y. L. et al. Learning mid-level features for recognition // 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.

- IEEE, 2010, pp. 2559-2566.

8. Scherer D., Müller A., Behnke S. Evaluation of pooling operations in convolutional architectures for object recognition // International conference on artificial neural networks, 2010, pp. 92-101.

9. Boureau Y. L., Ponce J., LeCun Y. A theoretical analysis of feature pooling in visual recognition // Proceedings of the 27th international conference on machine learning (ICML-10), 2010, pp. 111-118.

10. Krizhevsky A., Sutskever I., Hinton G. E. Imagenet classification with deep convolutional neural networks // Advances in neural information processing systems, 2012, pp. 1097-1105.

11. Zeiler M. D. et al. On rectified linear units for speech processing // 2013 IEEE International Conference on Acoustics, Speech and Signal Processing.

- IEEE, 2013, pp. 3517-3521.

12. Marra S., Iachino M. A., Morabito F. C. Tanh-like activation function implementation for high-performance digital neural systems // Ph. D. Research in Microelectronics and Electronics, 2006, pp. 237-240.

13. Cortes C., Mohri M., Rostamizadeh A. L2 regularization for learning kernels // arXiv preprint arXiv:1205.2653, 2012.

14. Kingma D. P., Adam Ba J. A method for stochastic optimization // arXiv preprint arXiv:1412.6980, 2014.

References

1. Solov'ev R.A., Tel'puhov D.V., Kustov A.G. Inzhenernyj vestnik Dona, 2017, №4. URL: ivdon.ru/ru/magazine/archive/n4y2017/4433.

2. Ignat'ev A.V., Gilka V.V., Matytsyna D.A. Inzhenernyj vestnik Dona, 2020, №1. URL: ivdon.ru/ru/magazine/archive/n1y2020/6266.

3. Tian Y. IEEE Access, 2020, pp. 1-14.

4. Glorot X., Bengio Y. Proceedings of the thirteenth international conference on artificial intelligence and statistics, 2010, pp. 249-256.

5. He K. et al. Proceedings of the IEEE international conference on computer vision, 2015, pp. 1026-1034.

6. LeCun Y. et al. Neural computation, 1989, Vol. 1, No. 4, pp. 541-551.

7. Boureau Y. L. et al. 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. - IEEE, 2010, pp. 2559-2566.

8. Scherer D., Müller A., Behnke S. International conference on artificial neural networks, 2010, pp. 92-101.

9. Boureau Y. L., Ponce J., LeCun Y. Proceedings of the 27th international conference on machine learning (ICML-10), 2010, pp. 111-118.

10. Krizhevsky A., Sutskever I., Hinton G. E. Advances in neural information processing systems, 2012, pp. 1097-1105.

11. Zeiler M. D. et al. 2013 IEEE International Conference on Acoustics, Speech and Signal Processing. - IEEE, 2013, pp. 3517-3521.

12. Marra S., Iachino M. A., Morabito F. C. Ph. D. Research in Microelectronics and Electronics, 2006, pp. 237-240.

13. Cortes C., Mohri M., Rostamizadeh A. arXiv preprint arXiv:1205.2653, 2012.

14. Kingma D. P., Adam Ba J. arXiv preprint arXiv:1412.6980, 2014.

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