Фон

  • Приблизительно 700 000 человек живут с первичной опухолью головного мозга только в Соединенных Штатах, и эта статистика, по прогнозам, будет расти.
  • До недавнего времени медицинские работники диагностировали опухоли головного мозга, оценивая данные, полученные при сканировании мозга, биопсии и тестах, таких как зрение, слух и равновесие.
  • Рентгенологи просматривают 30–60 МРТ на пациента, поэтому человеческая ошибка может сыграть роль в ошибочном диагнозе.
  • В последние годы CAD (компьютерная диагностика) помогла медицинским работникам диагностировать опухоли, рак и переломы. Эти модели машинного обучения были разработаны недавно, а это означает, что на них нельзя полностью полагаться, поскольку показатели точности и точность сомнительны.
  • По мере того как область медицины постепенно переходит в новую эру искусственного интеллекта, точность этих моделей машинного обучения возрастает, поскольку они должны быть идеальными в своих диагнозах.

Техническая цель

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

Как работает CNN?

Факторы, влияющие на CNN

Четыре основных фактора, которые влияют на точность и воспроизводимость CNN:

  • Параметры фильтра
  • Функция активации
  • Шаблоны слоев фильтра в различных слоях свертки
  • Функция оптимизации (веса и смещения в полносвязном слое и сверточном слое)

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

Процедура

  1. Установите OpenCV, TensorFlow и MatplotLib на блокнот Google Colab и импортируйте Tensorflow, os, cv2, NumPy и imghdr.
  2. Загрузите данные, полученные из набора данных опухоли головного мозга Kaggle, извлеките цвет и стандартизируйте размер изображения.
  3. Разделите данные на обучающие, тестовые и проверочные наборы данных

Часть 1. Создайте 4 сверточные нейронные сети с использованием библиотеки TensorFlow с одинаковыми функциями, но разными размерами фильтра (3X3, 4X4, 6X6, 10X10). и обучать их 20 эпохами по 60 изображений в каждой. Затем проверьте каждую модель на бинарную точность и вызовите ее, подав 5 изображений.

Часть 2. Создайте 6 сверточных нейронных сетей с использованием библиотеки TensorFlow с одинаковыми функциями, но разными функциями активации (RELU, SELU, GELU, Linear, Swish и Tanh). и обучать их 20 эпохами по 60 изображений в каждой. Затем проверьте каждую модель на бинарную точность и вызовите ее, подав 5 изображений.

Часть 3. Создайте 3 сверточные нейронные сети с использованием библиотеки TensorFlow с одинаковыми функциями, но разными шаблонами слоев фильтра (16,32,16,), (32,16,16),(16,16,32). и обучать их 20 эпохами по 60 изображений в каждой. Затем проверьте каждую модель на бинарную точность и вызовите ее, подав 5 изображений.

Часть 4. Создайте 5 сверточных нейронных сетей с использованием библиотеки TensorFlow с одинаковыми функциями, но разными оптимизаторами (Adam, Nadam, Adagrad, Ftrl, Adamax). и обучать их 20 эпохами по 60 изображений в каждой. Затем проверьте каждую модель на бинарную точность и вызовите ее, подав 5 изображений.

5. Используя результаты, создайте оптимизированную сверточную нейронную сеть со всеми наиболее эффективными значениями.

6. Обучите оптимизированную CNN с 20 эпохами из 60 изображений и проверьте ее на двоичную точность и полноту, подав 15 изображений в 3 группы по 5.

Фаза 2 сегментации опухоли

1. Вручную сегментируйте 40 МРТ опухолей головного мозга с помощью программного обеспечения makeense.ai.

2. Обучите предварительно созданную архитектуру Mask r CNN с помощью CUDA Tensorflow на 5 эпохах из 500 сегментированных и несегментированных МРТ опухолей.

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

Результаты для параметров фильтра, функций активации, шаблонов фильтров и оптимизаторов

Обсуждение/анализ проекта

После экспериментов со всеми факторами, влияющими на CNN, размеры фильтра, шаблоны слоев фильтра, функции активации и оптимизаторы, результаты показывают, что фильтры 4 на 4 пикселя (шаблон слоя фильтра 16,32,16), функция активации Tanh, и оптимизатор Адама показал себя лучше всего. На основе результатов была создана CNN с использованием тензорного потока с оптимизированными значениями и сигмовидной функции активации вместо функции активации Tanh в полносвязном слое, поскольку известно, что сигмоид лучше всего работает в полносвязном слое. Для проверки возможностей этой модели ей было передано 20 эпох по 65 изображений в каждой 3 раза. Эта модель теоретически должна была превзойти прошлые модели, поскольку она сочетала в себе все лучшие качества прошлых моделей.Модель показала среднюю точность бинарных данных 98,65%. Хотя эта точность кажется хорошей, экспериментальные модели, которые использовались для поиска наиболее оптимальных значений CNN, имели показатели точности до 99,31%. Модель экспериментатора показала средний отзыв 98,6% и имела 3 462 465 параметров, что было ниже по сравнению с тем, если бы экспериментатор использовал размеры фильтра 3 на 3 или (16, 16, 32) шаблоны слоя фильтра. Кривая обучения модели экспериментатора может быть смоделирована как y=69,4213x^{0,001067779}-68,6698 или y=0,0235181ln(19,6015x)+0,82951.

Результаты показывают, что индивидуальная оптимизация каждой части CNN не приводит к полностью оптимизированной CNN, поскольку некоторые модели, которые считались не полностью оптимизированными, работали лучше, чем полностью оптимизированная модель. Крутая начальная кривая на рис. 11 может указывать на слишком быстрое обучение модели, что может привести к ее неточности. Снижение скорости обучения могло привести к лучшей конечной модели. Предварительно построенной модели сегментации было предоставлено 5 различных МРТ опухолей головного мозга, а скриншот сегментации модели был подвергнут сеточному тесту, где не учитывалось менее чем наполовину заполненных квадратов, а наполовину заполненные квадраты считались половиной квадрата. Модель сегментации достигла средней точности 71,88%. Модель смогла обнаружить большие опухоли, но пропустила более мелкие сегменты, разбросанные по МРТ.

Заключение

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

Рекомендации

Чен, Цзюньси и др. «Сверточная нейронная сеть как новый подход к классификации для приложений лазерной спектроскопии пробоя в литологическом распознавании». Spectrochimica Acta Part B

эб, Саянтани. Классификация изображений TensorFlow — создайте свой собственный классификатор. Medium, Edureka, 12 мая 2020 г., https://medium.com/edureka/tensorflow-image-classification-19b63b7bfd95.

Google, Google, https://teachablemachine.withgoogle.com/.

Гор, Дипали Викрам и др. Надежная классификация заболеваний головного мозга с использованием CNN и методов мягких вычислений. SpringerLink, Springer Nature Singapore, 1 января 1970 г., https://link.springer.com/chapter/10.1007/978-981-19-2350-0_25.

Введение в классификацию с использованием K ближайших соседей. https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f.

Основы машинного обучения с помощью алгоритма K-ближайших соседей. https://towardsdatascience.com/machine-learning-basics-with-the-k-nearest-neighbors-algorithm-6a6e71d01761.

Оланиян. Классификация изображений с использованием Knn. Kaggle, Kaggle, 21 мая 2019 г., https://www.kaggle.com/code/olaniyan/image-classification-using-knn.

Радечич, Дарио. Машинное обучение: K ближайших соседей с нуля с помощью Python. Better Data Science, Better Data Science, 9 января 2022 г., https://betterdatascience.com/mml-k-nearest-neighbors/.

Раван А. Аль-Рашид Ага Университет Курдистана-Хьюлер и др. Всестороннее исследование использования систем распознавания жестовых языков (SVM, KNN, CNN и Ann): материалы первой международной конференции по науке о данных, электронному обучению и информационным системам. Другие конференции ACM, 1 октября 2018 г., https://dl.acm.org/doi/abs/10.1145/3279996.3280024.

Код

Проверьте мой GitHub:

https://github.com/akhileshkanmanthreddy/brain_tumor_diagnosing_system