ВВЕДЕНИЕ 4
1. ПОСТАНОВКА ЗАДАЧИ 6
2. ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ 7
2.1. Библиотеки 7
2.2. Архитектуры 8
3. ИССЛЕДОВАНИЕ И ПОСТРОЕНИЕ РЕШЕНИЯ ЗАДАЧИ 9
3.1. Архитектура 9
3.2. Данные 11
4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 15
4.1. Данные 15
4.2. Обучение 18
5. ЭКСПЕРИМЕНТЫ 20
ЗАКЛЮЧЕНИЕ 28
СПИСОК ЛИТЕРАТУРЫ 29
ПРИЛОЖЕНИЕ
В последние десятилетия одним из актуальных направлений развития компьютерных технологий в медицине становится обработка цифровых изображений: улучшение качества изображения, восстановление поврежденных изображений, распознавание отдельных элементов. Распознавание патологических процессов является одной из наиболее важных задач обработки и анализа медицинских изображений.
Как правило, объекты исследования на медицинских изображениях имеют резко неоднородную, сложную структуру и требуют от специалистов большого опыта для выявления тех или иных особенностей, позволяющих поставить определенный диагноз. Использование вычислительной техники и математических методов в этой отрасли позволяет автоматизировать этот процесс и повысить точность результатов исследований.
Подобные задачи особенно интересны и трудоемки, поскольку размеченные обучающие базы достаточно малы по сравнению с другими задачами компьютерного зрения, анатомические структуры могут сильно варьироваться у разных субъектов, на изображениях отсутствует цветовая информация.
Одним из наиболее успешных методов распознавания медицинских и не только изображений в последние годы является применение сверточных нейронных сетей.
Нейронная сеть - это математическая модель, действующая по принципу работы биологических нейронных сетей. В ней одни нейроны обрабатывают и передают сигналы другим нейронам, а в процессе обучения изменяется сила этих сигналов - те нейроны, которые не привносят вклада в результат передают очень слабый сигнал, а нейроны, от которых результат зависит достаточно сильно, передают более мощный сигнал. Нейронные сети используются в задачах распознавания образов, кластеризации, классификации и т.д.
Сверточная нейронная сеть - это специальная архитектура нейронной сети, нацеленная на эффективное распознавание изображений. В ней используются некоторые особенности зрительной коры головного мозга, в которой были открыты так называемые простые клетки, реагирующие на прямые линии под разными углами, и сложные клетки, реакция которых связана с активацией определенного набора простых клеток. Свое название сеть получила из-за наличия операции свертки, в которой каждый фрагмент изображения умножается на ядро свертки поэлементно, и результат записывается в аналогичную позицию выходного изображения.
Для успешного обучения сверточной нейронной сети нужно большое количество размеченных данных. В случае их отсутствия используются различные способы аугментации данных [1] - обычно матричные преобразования имеющихся изображения (например, повороты, зеркальное отражение, перемещение, масштабирование и т.д.). Это позволяет получать “новые” изображения несколько отличающиеся от имеющихся, но сохраняющих определенные их свойства.
Также важной частью обучения сверточной нейронной сети является подбор подходящей архитектуры сети и ее параметров [2]. Это остается одной из основных проблем использования глубокого обучения - нет определенных правил подбора параметров сети под конкретную задачу. Вследствие этого, для каждой новой задачи, а нередко и для нового набора данных, приходится подбирать наилучшую архитектуру и параметры, руководствуясь поначалу лишь экспериментами, проведенными предыдущими исследователями. Предлагаемая магистерская работа посвящена разработке и реализации алгоритма классификации рентгеновских изображений органов грудной полости из определенного набора данных на основе глубокого обучения.
1. ПОСТАНОВКА ЗАДАЧИ
Цель работы состоит в разработке алгоритма и программного обеспечения для классификации рентгеновских изображений органов грудной полости на основе глубокой нейронной сети.
Для ее осуществления были поставлены следующие задачи:
• Изучить библиотеки для сверточных нейронных сетей и выбрать наиболее эффективную
• Найти и изучить литературу по темам: глубокие нейронные сети, машинное обучение в медицине, обработка медицинских изображений
• Перевести данные для обучения (рентгеновские изображения в формате DICOM) в необходимый для работы с выбранной библиотекой формат
• Провести серию экспериментов для получения обученной глубокой нейронной сети с наилучшей точностью классификации рентгеновских изображений органов грудной полости
В ходе выполнения исследовательской работы были выполнены следующие задачи:
• Исследованы существующие библиотеки для сверточных нейронных сетей и выбрана библиотека Theano.
• Изучена литература по темам: глубокие нейронные сети, машинное обучение в медицине, обработка медицинских изображений.
• Данные для обучения переведены в необходимый для работы с библиотекой Theano и выбранной архитектурой формат.
• Проведены эксперименты для получения обученной глубокой нейронной сети с наилучшей точностью классификации рентгеновских изображений органов грудной полости.