Scientific journal
International Journal of Applied and fundamental research
ISSN 1996-3955
ИФ РИНЦ = 0,593

DEVELOPMENT OF AN INTELLIGENT SYSTEM FOR RECOGNIZING HUMAN BONE FRACTURES

Votyakova L.R. 1 Alexandrova L.A. 2
1 Kazan National Research Technological University
2 Nizhnekamsk Institute of Chemical Technology (branch) Kazan National Research Technological University
This paper presents a study on the development of a neural network application for the automatic diagnosis of fractures on X-rays. The main focus is on designing the architecture of the model based on convolutional neural networks, data preparation and processing, as well as training and testing the model. To train a neural network, data is collected, divided into several tasks: determining the presence of a fracture (the presence or absence of a fracture on X-rays), determining the type of fracture (transverse, longitudinal, oblique and other types) and localization of the fracture (head, trunk, extremities). The neural networks that are used for each of the tasks are described: determining the presence of a fracture, its type and location. After that, the neural network application development stage begins. It includes writing scripts for training and classification, as well as developing the logic of the entire program. Modern methods of image processing and data augmentation have been applied to improve classification accuracy. The final stage is the training of neural network algorithms and their testing. Each of the networks is trained on data relevant to the tasks (for example, fracture detection, its type or localization). After the training, both individual algorithms and the entire program are tested to ensure that it works and that the results are accurate. The model has demonstrated high efficiency, achieving an accuracy of 90% on the test dataset. The work highlights the importance of using artificial intelligence in medicine to improve diagnosis and accelerate decision-making in clinical practice. Achievements, limitations and suggestions for further development of the system are discussed.
neural networks
X-ray images
types of fractures
image processing
bones

Введение

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

Автоматизация распознавания переломов с помощью искусственного интеллекта, в частности нейронных сетей, может существенно улучшить этот процесс. Нейросети способны быстро и точно анализировать изображения, что делает их незаменимыми в системах, требующих оперативных решений.

Целью исследования является исследование возможности повышения эффективности классификации переломов костей на рентгеновских снимках с помощью искусственных нейронных сетей.

Материалы и методы исследования

Для концептуального проектирования было выбрано представление в виде интеллект-карты. Интеллект-карта включает в себя схему реализации интеллектуальной системы для распознавания переломов. Карта состоит из нескольких ветвей, каждая из которых отражает ключевые этапы разработки системы: выбор средств реализации приложения; подготовка базы данных для обучения; нейросетевые алгоритмы; разработка нейросетевого приложения; обучение нейросетевых алгоритмов; тестирование.

Основой проекта является язык программирования Python [1], а также среда разработки PyCharm. Указываются используемые библиотеки Python, такие как Keras, TensorFlow, Scikit-learn, Pillow, NumPy, которые необходимы для выполнения задач обработки данных, обучения нейронных сетей и работы с изображениями.

Следующий этап посвящен подготовке базы данных для обучения. Здесь акцент сделан на классификацию данных [2]. Для обучения нейронной сети собираются данные, разделенные на несколько задач: определение наличия перелома (наличие или отсутствие перелома на рентгеновских снимках), определение типа перелома (поперечные, продольные, косые и другие виды) и локализация перелома (голова, туловище, верхние или нижние конечности).

Основная часть карты посвящена нейросетевым алгоритмам [3]. Здесь описываются нейронные сети, которые используются для каждой из задач: определение наличия перелома, его типа и местоположения. Уделяется внимание элементам архитектуры нейронных сетей, включая параметры слоев: свёрточных, входных, выходных, пулинговых, полносвязных, а также выбор функции активации.

После этого идет этап разработки нейросетевого приложения. Он включает написание скриптов для обучения и классификации, а также разработку логики всей программы. Завершающий этап – это обучение нейросетевых алгоритмов и их тестирование. Каждая из сетей проходит обучение на данных, соответствующих задачам (например, обнаружение перелома, его тип или локализация). После обучения проводится тестирование как отдельных алгоритмов, так и всей программы, чтобы убедиться в её работоспособности и точности результатов.

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

В пользовательском интерфейсе будут кнопки для функциональности программы, одна предназначена для загрузки изображения, вторая для классификации по загруженному изображению [4]. Для реализации интерфейса был выбран модуль Qt с его библиотеками QtCore, QtGui, QtWidgets.

Результаты исследования и их обсуждение

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

Диаграмма компонентов UML иллюстрирует структуру системы, предназначенной для анализа рентгеновских снимков с использованием нейронных сетей (НС). Система разделена на функциональные модули, каждый из которых отвечает за выполнение конкретной задачи, при этом их взаимодействие обеспечивает полный цикл работы приложения.

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

missing image file

UML-диаграмма компонентов

Роли в системе разделены между пользователями и администраторами. Администратор отвечает за управление процессами обучения нейронной сети, настройку системы и подготовку баз данных. Пользователь же взаимодействует с приложением для загрузки изображений и получения результатов анализа [6; 7].

Работа приложения начинается с запуска, инициируемого пользователем или администратором. Пользователь загружает изображение, затем оно обрабатывается системой. Анализ изображения включает несколько этапов: распознавание участка тела, изображённого на снимке, и определение наличия или отсутствия перелома. Эти этапы обеспечиваются заранее обученными моделями нейронных сетей, которые используют сохранённые веса.

После обработки пользователю предоставляются результаты, включающие информацию о том, какой участок тела изображён на снимке и есть ли на нём признаки перелома.

На диаграмме также представлена связь между различными компонентами системы. Например, база данных видов переломов используется на этапе обучения нейронной сети, чтобы обеспечить корректную классификацию. Аналогично, результаты обучения сохраняются и затем применяются в реальных сценариях анализа.

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

Для моделирования процесса распознавания переломов также были построены диаграммы классов, вариантов использования, взаимодействия. Результат классификации делит изображения на три категории:

1. Изображения без переломов.

2. Изображения, которые не являются рентгеновскими.

3. Изображения с переломами.

Если обнаружен перелом, дополнительно используются алгоритмы из модулей main1 и main2, которые предоставляют дополнительную информацию или анализ. Для каждого случая отображается текстовая информация, включающая название файла, время классификации, размер изображения и результат анализа.

В данном нейросетевом приложении используются три свёрточные нейронные сети (СНС), что требует наличия трех наборов изображений для обучения.

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

Второй набор изображений предназначен для нейронной сети, занимающейся распознаванием частей тела на рентгеновских снимках. Этот набор включает 240 изображений, содержащих снимки целых и поврежденных костей верхних и нижних конечностей, черепа и туловища.

Третий набор изображений используется для обучения нейронной сети, специализирующейся на определении типов переломов. Этот набор состоит из 150 изображений, включающих снимки поперечных, косых, продольных, винтообразных и других видов переломов.

Чтобы задействовать собранные данные для обучения сверточных нейронных сетей – необходимо обработать изображения. Первым шагом обработки является изменение формата изображения. Было выбрано сохранение в формате .jpg, поскольку он обладает небольшим размером файла, что ускоряет загрузку, при этом не снижая качество снимков. Если в базе данных имеются файлы с другими форматами (например, медицинский формат DICOM), их необходимо конвертировать в .jpg. На втором этапе проводится предобработка данных. Включает нормализацию, масштабирование и аугментацию изображений для улучшения качества обучения.

Выбор подходящих функций активации для выбранной архитектуры нейронной сети зависит от типа задачи, глубины сети и проблем, которые возникают при обучении. Результаты нашего исследования показали, что лучшим вариантом является, если после каждой свертки будет функция активации ReLu и на полносвязном слое будет выступать сигмоидная функция активации.

Для обучения нейронной сети по распознаванию наличия переломов использовалось 8 эпох. В общих подсчетах обучение заняло 5 часов, а производительность нейронной сети составила 85,47%, что является удовлетворительным результатом. Самыми худшими результатами классификации являются результаты по такому классу, как «Нет рентгена». Для классов «Отсутствие перелома» и «Наличие перелома» производительность составила 92,5% и 88,3%.

После следует обучение нейронной сети по распознаванию участка тела. Для обучения данной сети использовалось 8 эпох. В общих подсчетах обучение заняло 3 часа, а производительность нейронной сети составила 96,66%, что является очень высоким результатом. Матрица классификации по имеющимся классам в распознавании участков тела показала высокие результаты, свыше 95%. Погрешности обучения минимальны.

Последним этапом следует обучение нейронной сети по видам перелома. В общих подсчетах обучение заняло 3 часа, а производительность нейронной сети составила 90,6%, что является высоким результатом.

Результаты тестирования производительности нейронной сети распознавания наличия переломов для классов «Отсутствие перелома» и «Наличие перелома» составили 83,3% и 75%, хуже результат по классу «Нет рентгена» – 66,67%. Тестирование нейронной сети по распознаванию участков тела показало высокие результаты: для классов «Череп» – 83,33%, «Конечности» – 91,67%, «Туловище» – 83,33%. Результаты тестирования в распознавании видов переломов самые высокие по классам «Косой перелом», «Продольный перелом» – 100%, по классам «Поперечный перелом», «Другие переломы» – 66,67% и самый низкий результат по классу, в силу сложности перелома, «Винтообразный перелом» – 33,33%.

Заключение

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

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

В дальнейшем предлагаются следующие предложения по улучшению и развитию: улучшение предобработки данных и введение дополнительных методов аугментации; интеграция дополнительных источников данных для расширения обучающей выборки; исследование и внедрение более сложных архитектур, таких как глубокие остаточные сети, для улучшения точности и устойчивости модели.