Введение 4
1. Метод кросс-корреляции двух изображений 6
2. Разработка приложения 9
2.1. Выявление и анализ требований к приложению 9
2.2. Инструментарий 11
2.3. Макет приложения 12
2.4. Алгоритм идентификации изображений пузырьков 14
2.5. Общая структура приложения 18
3. Нейронные сети 25
3.1 История 25
3.2 Общее устройство искусственной нейронной сети 25
3.3 Нейроны и связи 27
3.4 Функция активации 28
3.5 Обучение нейронной сети 31
3.6 Метод обратного распространения ошибки 31
3.7 Свёрточные нейронные сети 32
4. Идентификация пузырьков с применением нейронных сетей 39
5. Анализ эффективности методов идентификации 43
Заключение 47
Список использованной литературы 49
В настоящее время распознавание образов приобрело огромную популярность. Во многом это связанно с тем, что решение задач в этой области все больше находит прикладное применение в повседневной деятельности человека. Технологии распознавания образов быстрыми темпами проникают в нашу жизнь, затрагивая различные технологические отрасли. Спектр применения таких технологий очень широк, и спрос на него возникает в самых разных областях: от военного дела и систем безопасности, до оцифровки аналоговых сигналов. В условиях роста информационных нагрузок у человека появляется большой спрос на автоматизацию многих решений и действий. Системы распознавания образов активно внедряются в различных странах мира. Например, в Китае установлена и работает система распознавания лиц граждан, которые пересекают дорогу в неположенном месте.
Также не осталась без внимания и научная отрасль. Здесь технологии распознавания образов применяются для автоматизации различного рода исследовательских работ и экспериментов. Потребность применения данных технологий возникла и в институте систем энергетики им. Л.А. Мелентьева Сибирского отделения Российской академии наук, который занимается научной, в том числе и экспериментальной деятельностью, связанной с энергетикой. Институту принадлежит специальное экспериментальное оборудование «Высокотемпературный контур» (ВТК), которое предоставляет разнообразные возможности для выполнения широкого спектра экспериментальных исследований по изучению нестационарных термогидравлических процессов в водоохлаждаемых каналах и пароводяных трактах энергетических установок в широком диапазоне изменения давлений, массовых расходов, температур теплоносителя и удельных тепловых нагрузок. Эксперименты на данной установке протекают достаточно быстро, порядка нескольких секунд. За это время жидкость, находящаяся в специальной колбе, может нагреваться до 2400°С. В ходе проведения таких экспериментов процесс фиксируется на специальную фотокамеру. Результатами эксперимента является серия снимков. На каждом из полученных снимков важными элементами, необходимыми для дальнейшего изучения, являются пузырьки. Изучение строения и внешнего вида пузырьков помогает оценить объем паросодержания газовой фазы в двухфазном потоке жидкости около стенки нагревателя. Обнаружение таких пузырьков является достаточно трудоемким процессом, который выполняется сотрудниками при помощи различных компьютерных редакторов обработки изображений. В силу частоты проведений и востребованности экспериментов возникла потребность в приложении, которое могло бы автоматизировать идентификацию этих пузырьков.
Таким образом, целью данной работы является разработка приложения для идентификации пузырьков на фотографиях эксперимента. В ходе работы были поставлены следующие задачи:
- Провести анализ основных математических методов распознавания изображений.
- Выявить требования к приложению.
- Реализовать алгоритм распознавания изображений пузырьков.
- Реализовать интерфейс приложения.
- Провести анализ основных моделей нейронных сетей.
- Реализовать модель распознавания изображений пузырьков на базе нейронной сети.
- Провести анализ модели нейронной сети и сравнить её с алгоритмом.
1. В работе проведен анализ основных математических методов кросс-корреляции двух изображений: классический метод кросс-корреляции и метод кросс-корреляции через быстрое преобразование Фурье. Благодаря операции свёртки, быстрое преобразование Фурье считается наиболее быстрым и эффективным методом. Таким образом, для решения задачи идентификации изображений пузырьков был выбран именно этот метод.
2. Выявлены и проанализированы основные требования к приложению, а также рассмотрено взаимодействия пользователя с приложением.
3. Проведен обзор используемого инструментария. Были использованы следующие
инструменты: C#, .NET, Matlab, Python, TensorFlow, MatPlotLib, TensorBoard,
GoogleCloud.
4. Реализован макет интерфейса приложения и его основные элементы.
5. Реализован алгоритм идентификации пузырьков, а также поэтапно рассмотрена его работа. Алгоритм был реализован при помощи библиотеки Matlab. Рассмотрены используемые функции и процедуры, которые были скомпилированы в dll-библиотеку .NET. Компиляция производилась через штатный компилятор библиотек (Library Compiler) Matlab.
6. Рассмотрена общая структура приложения при помощи диаграмм классов. Приложение было реализовано при помощи C# и .NET. Настройки и результаты работы приложения сохраняются в каталог эксперимента в формате JSON.
7. Рассмотрены базовые принципы и особенности построения моделей искусственных нейронных сетей. В области решений задач, связанных с распознаванием изображений, применяются модели, использующие архитектуру свёрточных нейронных сетей. Такие виды сетей считаются наиболее точными и быстрыми, благодаря использованию свёрточных операций в нейронах.
8. При помощи библиотеки TensorFlow на виртуальной машине Google Cloud была реализована и развернута обученная свёрточная модель сети ResNet101. Были написаны скрипты для тренировки и запуска модели. Для просмотра динамики данных тренировочного процесса в виде графиков был настроен и запущен сервис TensorBoard. Тренировка и тестирование модели производились на виртуальной машине.
9. Также были проведены анализ и сравнение эффективности реализованных алгоритмов, рассмотрены преимущества и недостатки, а также возможные улучшения.
Таким образом все задачи были выполнены, а цель достигнута, было разработано приложение для идентификации пузырьков на фотографиях эксперимента по заказу Института систем энергетики им. Л.А. Мелентьева Сибирского отделения Российской академии наук, а также реализована экспериментальная модель свёрточной нейронной сети. Использование нейронных сетей является достаточно перспективным направлением. Поэтому в дальнейшем планируется внедрить обученную модель в приложение в качестве возможной альтернативы текущему алгоритму кросс-корреляции. На рисунке 29 показана заставка с логотипом приложения, которая появляется при его запуске.