СПОСОБ ОБУЧЕНИЯ СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ ОСУЩЕСТВЛЯТЬ РАЗМЕТКИ ТЕЛЕРЕНТГЕНОГРАММ В ПРЯМОЙ И БОКОВОЙ ПРОЕКЦИЯХ
METHOD OF TRAINING A CONVOLUTION NEURAL NETWORK TO CARRY OUT TELEROENTGENOGRAM MARKINGS IN A DIRECT AND LATERAL PROJECTIONS

ОБЛАСТЬ ТЕХНИКИ
Настоящее техническое решение относится к области вычислительной техники и медицины, в частности, к способу обучения свёрточной нейронной сети осуществлять разметки телерентгенограмм в прямой и боковой проекциях.
УРОВЕНЬ ТЕХНИКИ
Антропометрический анализ лицевого отдела черепа и мягких тканей лица широко используется в ортодонтии и в челюстно-лицевой хирургии, являясь одним из основных диагностических инструментов при постановке диагноза и выборе плана лечения [1][2][3]. Кроме того, антропометрические подходы изучения мягких и твёрдых тканей применяются в травматологии, антропологии, археологии и судебной медицине [4].
При этом телерентгенография (ТРГ) является важным методом исследования в ортодонтии и челюстно-лицевой хирургии, позволяющим получить необходимую диагностическую информацию о строении мозгового и лицевого отделов черепа для планирования лечения. Существует множество методов анализа, требующих расстановки цефалометрических точек на телерентгенограмме с последующей их обработкой, что занимает значительное время врача.
Из уровня техники известны решения, описывающее различные методы расстановки цефалометрических точек для антропометрического анализа, US20180189421A1, US10117727B2.
Однако, известные из уровня техники решения имеют ограниченную функциональность. В частности, в них не применяются искусственные нейронные сети для разметки телерентгенограмм в прямой и боковой проекциях.
В настоящее время искусственные нейронные сети являются важным инструментом для решения многих прикладных задач. Они уже позволили справиться с рядом непростых проблем и обещают создание новых изобретений, способных решать задачи, которые пока под силу только человеку. Искусственные нейронные сети, также, как и биологические, представляют собой системы, состоящие из огромного количества функционирующих процессоров-нейронов, каждый из которых выполняет какой-либо небольшой объем работ, возложенный на него, при этом обладая большим числом связей с остальными, что и характеризует силу вычислений сети.
Применение искусственного интеллекта позволяют усовершенствовать метод исследования и значительно упростить работу врача. В заявленном решении была разработана конфигурация искусственной нейронной сети (ИНС), позволяющая с высокой точностью расставлять цефалометрические точки на телерентгенограмм в прямой и боковой проекциях. Ошибка ИНС в заявленном решении составила всего 0.5%.
Предложенный подход требует в 2-5 раз быстрее, чем традиционный «ручной» метод расстановки цефалометрических точек, в зависимости от количества точек и сложности цефалометрического анализа.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данное техническое решение направлено на устранение недостатков, присущих существующим решениям из известного уровня техники.
Технической проблемой, на решение которой направлено заявленное техническое решение, является создание компьютерно-реализуемого способа обучения свёрточной нейронной сети осуществлять разметки телерентгенограмм в прямой и боковой проекциях. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.
Технический результат настоящего решения заключается в обеспечении обучения свёрточной нейронной сети осуществлять разметки телерентгенограмм в прямой и боковой проекциях
Дополнительным техническим результатом, достигающимся при решении вышеуказанной задачи, является повышение качества и точности разметки телерентгенограмм в прямой и боковой проекциях пациента обученной сверточной нейронной сетью.
В предпочтительном варианте реализации заявлен компьютерно-реализуемый способ обучения свёрточной нейронной сети (СНС) осуществлять разметки телерентгенограмм в прямой и боковой проекциях, содержащий этапы, на которых:
- с помощью вычислительного устройства, создают базу данных (БД) с предварительно проанализированными и размеченными цефалометрическими точками и их координатами на телерентгенограммах в прямой и боковой проекциях (ТРГП и ТРГБ);
- на основе подготовленной БД обучают, по меньшей мере, одну СНС размечать цефалометрическими точками телерентгенограммы в прямой и боковой проекциях (ТРГП и ТРГБ), при этом во время обучения:
• на вход СНС подают изображения из БД, с размеченными на них точками N, и многослойные карты вероятностей (маски) M для этих точек;
• СНС анализирует многослойные маски M и расклеивает их на N масок M_1…M_N по количеству размеченных точек на входных изображениях;
• находят компоненты связности для каждого слоя масок, при этом каждая компонента является предсказанными координатами положения точек на изображениях;
• сравнивают предсказанные координаты с координатами размеченных точек на входных изображениях из БД и рассчитывают среднеквадратичное отклонение;
- применяют обученную, по меньшей мере, одну СНС для последующей разметки цефалометрическими точками телерентгенограммы в прямой и боковой проекциях.
В частном варианте телерентгенограммы в БД сохраняются в виде xml-файла.
В другом частном варианте осуществляют предобработку изображений телерентгенограмм перед их подачей в СНС методом аугментации.
В другом частном варианте компоненты связности находят с помощью функции skimage.morphology.label.
В другом частном варианте цефалометрические точки расставляют на таких локализациях, как: мягкотканых, накостных и зубных тканях.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
Фиг. 1 иллюстрирует схему заявленного решения;
Фиг. 2 иллюстрирует пример общей схемы компьютерного устройства.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять понимание особенностей настоящего изобретения.
Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.
Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа обучения свёрточной нейронной сети, с последующим использованием этой обученной СНС для разметки телерентгенограмм в прямой и боковой проекциях.
Искусственная нейронная сеть (далее - ИНС) - вычислительная или логическая схема, построенная из однородных процессорных элементов, являющихся упрощенными функциональными моделями нейронов.
Свёрточная нейронная сеть (СНС) (англ. convolutional neural network, CNN) - специальная архитектура искусственных нейронных сетей, нацеленная на эффективное распознавание образов, и входит в состав технологий глубокого обучения (англ. deep learning).
Количество слоев искусственной нейронной сети не ограничено вариантами реализации. В качестве обученной нейронной сети могут использовать полносвязную нейронную сеть, или сверточную нейронную сеть, или рекуррентную нейронную сеть или их комбинацию, не ограничиваясь.
Слой нейронной сети (англ. layer) - совокупность нейронов сети, объединяемых по особенностям их функционирования.
Как представлено на Фиг. 1, заявленный компьютерно-реализуемый обучения свёрточной нейронной сети осуществлять разметки телерентгенограмм в прямой и боковой проекциях (100) реализован следующим образом:
На этапе (101) с помощью вычислительного устройства, создают базу данных (БД) с предварительно проанализированными и размеченными цефалометрическими точками и их координатами на телерентгенограммах в прямой и боковой проекциях (ТРГП и ТРГБ).
Далее на этапе (102) на основе подготовленной БД обучают, по меньшей мере, одну СНС размечать цефалометрическими точками телерентгенограммы в прямой и боковой проекциях (ТРГП и ТРГБ), при этом во время обучения:
На этапе (103) на вход СНС подают изображения из БД, с размеченными на них точками N, и многослойные маски M для этих точек.
На этапе (104) СНС анализирует многослойные маски M и расклеивает их на N масок M_1…M_N по количеству размеченных точек на входных изображениях. Далее на этапе (105) находят компоненты связности для каждого слоя масок, при этом каждая компонента является предсказанными координатами положения точек на изображениях.
После чего на этапе (106) сравнивают предсказанные координаты с координатами размеченных точек на входных изображениях из БД и рассчитывают среднеквадратичное отклонение. Применяют обученную, по меньшей мере, одну СНС для последующей разметки цефалометрическими точками телерентгенограммы в прямой и боковой проекциях (107).
В заявленном решении телерентгенограммы в БД сохраняются в виде xml-файла.
СНС может быть обучена на наборе объектов, которые, например, представляют собой изображения.
Для обучения СНС по ТРГБ были использованы 64 первичных (основных) и 98 вторичных (дополнительных) точек. Для обучения СНС по ТРГП были использованы 49 первичных (основных) и 12 вторичных (дополнительных) точек. Предлагаемый метод обучения СНС не имеет ограничение по количеству цефалометрических точек. Для первичной тренировки ИНС было взято 130 снимков каждого типа (ТРГП и ТРГБ), а оставшиеся 25 были оставлены для валидации. Снимки были получены из разных источников, тем самым обеспечивая адаптивность обученного алгоритма к новым данным.
На основе первично обученной СНС создается БД с размеченными цефалометрическими точками и их координатами на телерентгенограммах в прямой и боковой проекциях, по меньшей мере 1000 телерентгенограмм каждого вида.
На основе подготовленных БД обучаются СНС для расстановки точек с использованием метода, основанного на мультиклассовой сегментации изображений.
На вход СНС подают изображения из БД, с размеченными на них точками N, и многослойные маски M для этих точек. Маски строятся с использованием метода OpenPose [5], в части, берется плотность двумерного нормального распределения с матожиданием - самой точкой. Матрица ковариаций подбирается так, чтобы точки сильно не перекрывались друг другом, при отрисовке, но были довольно заметны.
Эта плотность нормируется так, чтобы в максимуме была единица, так мы получаем аналог вероятности. Далее подбираются вероятности, выше которых маскам присваивается 1, а ниже - 0. При генерации масок 512x512 в качестве матрицы ковариаций была взята diag (4, 4). Это диагональная матрица размера 2x2 у которой на диагонали стоят четверки, то есть мтарица:
(4 0)
(0 4).
После чего СНС учится предсказывать эти маски. Затем, все предсказания, которые больше, либо равны 0.5 делаются 1, а остальные зануляются. С помощью функции skimage.morphology.label находятся компоненты связности для каждого слоя маски. Далее выбирается наибольшая, которая не состоит из 0, и находится ее центр. Этот центр и является положением искомой точки.
Ниже приведена архитектура СНС.
Реализация СНС полностью основана на Pytorch. Это наиболее гибкий и удобный фреймворк для работы с нейронными сетями.
Для расстановки первичных и вторичных точек были использованы нейронные сети с одинаковой, с точностью до числа классов, архитектурой. В каждом случае использовались сразу две нейронные сети. Первой сетью была SE_ResNeXt-50 [6], но для повышения точности предсказаний была использована FPN, измененная для мультиклассовой сегментации [7]. Это решение обусловлено тем, что классов очень много, а сети, декодеры которых основаны на Unet-архитектуре предназначены изначально для бинарной сегментации. Также Unet работают и с небольшим количеством классов. Энкодер СНС был предобучена на датасете ImageNet.
Изначально изображения и маски имели размер 384x384. На тренировке из них вырезалось случайное окно размером 256x256, так как такая архитектура сети предполагает сильные аугментации. Также были использованы следующие случайные аугменатции:
1. Случайное изменение яркости;
2. Искажение по сетке;
3. Случайное изменение контраста;
4. Случайное изменение гамма;
5. Случайное изменение масштаба (от 0.8 до 1.2);
6. Случайный поворот на 8 градусов.
Границы заполнялись черным цветом. Далее данные собирались в серии по 64 картинки и отправлялись на тренировку.
Для СНС для регрессии использовались картинки размером 240x240, которые на тренировке случайным окном обрезались до 224x224, что является стандартным размером входного изображения для сетей вида ResNet. Аугментации были следующие:
1. Случайное размытие;
2. Случайное изменение яркости;
3. Случайное изменение масштаба (от 0.95 до 1.11);
4. Случайный поворот на 10 градусов.
Далее изображения подавались на вход сети сериями по 64.
Тренировка ИНС.
В качестве метрики СНС для сегментации использовалась метрика Intersection Over Union (IOU) по каждому каналу и усреднялась, а в качестве функции потерь бралась BCE*0.3+Jaccard*0.7. Это соотношение чаще всего используют в задачах сегментации.
Тренировка проходила в 3 стадии. На первых двух в качестве оптимизатора брался Adam. На первой замораживался энкодер, и учился только декодер. LR изначально был 0.003 и снижался в 2 раза, если 5 эпох не было улучшения метрики. Если 11 эпох не было улучшения, переходили к второй стадии. На ней все веса размораживались и училась вся сеть, по тому же принципу, но уже с LR = 0.001. И снижения, и переход происходили при 6 и 16 эпохах соответственно. На 3 стадии оптимизатором был RMSProp, а LR менялся по косинусоиде с 0.001 до 0.000001. При этом ее период равнялся 24 эпохам. СНС проходила три таких цикла.
Показатели точности позиционирования цефалометрических точек обученными СНС были следующими, приводятся среднеквадратичные ошибки (the mean squared error (MSE) or mean squared deviation (MSD): 0.0000752 - 0.000273, Avg misses: 1.4-11.75, old MSE: 0.00148-0.00155.
Тренировка SE_ResNeXt-50 проходила в два этапа.
Изображения размером 224х224 подаются в претренированную нейронную сеть SE-ResNeXt-50.
Сеть извлекает из каждого изображения вектор из 2048 признаков. Извлеченные признаки проходят через конструкцию из четырех полносвязных слоёв (Fully-Connected layer) с использованием Batch Normalization, функции активации ReLU и Dropout.  На выходе получаем вектор из 124-х предсказанных координат, принадлежащих 62-м цефалометрическим точкам.
Переобучение СНС - это явление, когда построенная модель хорошо аппроксимирует примеры из обучающей выборки, но относительно плохо работает на примерах из тестовой выборки, не участвовавших в обучении. Это связано с тем, что при построении СНС в процессе обучения в выборке обнаруживаются некоторые случайные закономерности, которые отсутствуют в генеральной совокупности.
Для преодоления этой проблемы в последних слоях СНС был использован Dropout, предложенный в работе Srivastava N [8]. Идея этого метода заключается в том, чтобы при тренировке нейронной сети каждый раз случайным образом занулять выход доли нейронов перед полносвязным слоем. При получении предсказаний для тестового набора изображений, вместо зануления случайной доли выходов нейронов, все выходы уменьшаются в два раза. Этот довольно простой алгоритм хорошо зарекомендовал себя для борьбы с переобучением.
Полученная модель тренируется методом обратного распространения ошибки. Подробнее о режиме тренировки будет написано ниже.
Подготовка исходных изображений.
Для предупреждения возможных процессов переобучения и для улучшения обобщающей способности модели, к исходным изображениям применялись сильные аугментации. Аугментации - это намеренные искажения и преобразования исходных изображений для того, чтобы искусственно увеличить размер обучающей выборки, что является сильной регуляризацией для модели. То есть СНС, просматривая при тренировке больше различных изображений, лучше обобщается и меньше переобучается.
Сначала, все изображения приводились к размеру 256х256 пикселей с сохранением пропорцией изображения, чтобы не искажать форму черепа пациентов. Чтобы пропорции сохранялись, изображения дополнялись до квадратной серой заливки. Затем, все изображения проходили предварительные случайные преобразования:
1. Случайное размытие изображения
2. Случайная коррекция яркости
3. Отражение изображения относительно вертикальной оси
4. Изменение масштаба изображения в число раз, выбранное равновероятно из отрезка от 0.6 до 1.4
5. Поворот на случайный угол от -30° до +30°.
После этого из изображений вырезалось случайное окно размером 224х224 пикселей и соответствующим образом рассчитывались координаты цефалометрических точек так, чтобы они соответствовали новым изображениям.
После проведенных преобразований, изображения собирались в большие серии и подавались в ИНС для её обучения.
Тренировка СНС.
СНС обучалась оптимизировать стандартную для задач детекции ключевых точек функцию потерь MSE (Mean Squared Error), которая определяется следующим образом:
, где это предсказанные координаты цефалометрических точек, а  это их настоящие значения.
В качестве оптимизатора использовался Adam [9].
Adam (от англ. adaptive moment estimation) это алгоритм оптимизации, являющейся расширением метода стохастического градиентного спуска.
Тренировка CНС проходила в два этапа. На первом этапе претренированный SE-ResNeXt-50 “замораживался”, а тренировались только последние четыре полносвязных слоя. На этом этапе в нейронную сеть изображения отправлялись сериями по 800 штук. Каждую эпоху (под эпохой подразумевается 100 шагов оптимизатора, на каждом из которых CНС просматривает серию из 800 изображений), измеряли MSE на валидационной выборке из 10 изображений, чтобы контролировать процесс обучения СНС. В заявленном решении использовали следующий режим тренировки: сеть тренировалась с начальным параметром скорости обучения (learning rate) равным 0.0001; каждый раз, когда ошибка MSE на валидационной выборке из 10 изображений не уменьшалась в течение 10 эпох, уменьшали параметр скорости обучения в два раза и продолжали обучение. Процедура повторялась до тех пор, пока ошибка на валидационной выборке не перестанет улучшаться.
На втором этапе СНС тренировалась целиком (вместе с “замороженным” на первом этапе SE-ResNeXt-50) с аналогичным режимом тренировки. Однако на этом этапе изображения отправлялись в СНС сериями по 185 изображений. Это вызвано необходимостью распространять ошибку сквозь глубокую сеть SE-ResNeXt-50, что накладывает ограничения на размер отдельной серии, связанные с оперативной памятью видеокарт. Соответственно, на этом этапе под эпохой понимается 100 шагов оптимизатора, на каждом из которых СНС просматривает по 185 изображений.
Для расстановки цефалометрических точек на тестовом наборе данных, из изображения вырезается центральная часть размером 224х224 пикселей и отправляется в СНС. Предсказанные нейросетью координаты пересчитываются обратно, чтобы соответствовать исходному изображению.
Для уточнения предсказаний, в заявленном решении применили Test Time Augmentation: из исходного изображения вырезаются пять окон размером 224х224 пикселей в центре и по углам, а также эти окна отражаются относительно вертикальной оси. Полученные 10 изображений отправляются в СНС. Предсказанные координаты соответствующим образом пересчитываются и усредняются арифметическим средним.
3. Результаты
В качестве метрики в заявленном решении брали RMSE = sqrt(MSE) = …. Для первичных и вторичных точек были использованы разные СНС. Далее приведем оценку результатов:
Первичные: MSE: 0.0000752
Without misses: 0.0000705
Avg misses: 1.4
old MSE: 0.00148
Вторичные: MSE: 0.00150
Without misses: 0.000273
Avg misses: 11.75
old MSE: 0.00155.
Все вместе: MSE: 0,0009371160494
Without misses:0,0001878370843
Avg misses: 13,15
old MSE: 0,001522345679.
В заявленном решении пользователь может перемещать и корректировать положение цефалометрических точек, программировать цефалометрические расчёты и сохранять их в виде отдельного файла формата .pdf.
На Фиг. 2 далее будет представлена общая схема вычислительного устройства (200), обеспечивающего обработку данных, необходимую для реализации заявленного решения.
В общем случае устройство (200) содержит такие компоненты, как: один или более процессоров (201), по меньшей мере одну память (202), средство хранения данных (203), интерфейсы ввода/вывода (204), средство В/В (205), средства сетевого взаимодействия (206).
Процессор (201) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (200) или функциональности одного или более его компонентов. Процессор (201) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (202).
Память (202), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.
Средство хранения данных (203) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (203) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.
Интерфейсы (204) представляют собой стандартные средства для подключения и работы с компьютерным устройством, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п.
Выбор интерфейсов (204) зависит от конкретного исполнения устройства (200), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук, быть частью банковского терминала, банкомата и т.п.
В качестве средств В/В данных (205) могут использоваться мышь, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, клавиатура, трекбол, световое перо, динамики, микрофон и т.п.
Средства сетевого взаимодействия (206) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (205) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
Компоненты устройства (200) сопряжены посредством общей шины передачи данных (210).
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.
Литература
[1] Lin H.H., Chuang Y.F., Weng J.L., et al. Comparative validity and reproducibility study of various landmark-oriented reference planes in 3-dimensional computed tomographic analysis for patients receiving orthognathic surgery. PLoS One. 2015;10:e0117604.
[2] van Vlijmen O.J., Maal T., Berge S.J., et al. A comparison between 2D and 3D cephalometry on CBCT scans of human skulls. Int. J. Oral. Maxillofac. Surg. 2010;39:156-160.
[3] Farronato G., Garagiola U., Dominici A., et al. “Ten-point” 3D cephalometric analysis using low-dosage cone beam computed tomography. Prog Orthod. 2010;11:2-12.
[4] Kuehne H. et al. Hmdb51: A large video database for human motion recognition //High Performance Computing in Science and Engineering ‘12. - Springer, Berlin, Heidelberg, 2013. - С. 571-582.
[5] Zhe Cao, et al. OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. (Submitted on 18 Dec 2018 (v1), last revised 30 May 2019 (this version, v2)).
[6] Hu J., Shen L., Sun G. Squeeze-and-excitation networks //arXiv preprint arXiv:1709.01507. - 2017. - Т. 7.
[7] Selim S. Seferbekov, et al. Feature Pyramid Network for Multi-Class Land Segmentation. (Submitted on 9 Jun 2018 (v1), last revised 19 Jun 2018 (this version, v2)).
[8] Srivastava N. et al. Dropout: a simple way to prevent neural networks from overfitting //The Journal of Machine Learning Research. - 2014. - Т. 15. - №. 1. - С. 1929-1958.
[9] Kingma D. P., Ba J. Adam: A method for stochastic optimization //arXiv preprint arXiv:1412.6980. - 2014.