Стажировка по проекту
Компания: ООО «АртДенталь Стоматология»
Разработка модели классификации патологий по снимкам
Суть проекта
Задача
Для чего
Вводные данные
Выходные данные
Создание продукта для диагностики и лечения заболеваний ВНЧС, с использованием методов машинного обучения и нейронных сетей
1 команда: Запускаемый в ОС файл с разработанным ПО для клиники. Модели машинного и глубокого обучения позволили определять патологии в суставной щели левой и правой ВНЧС с точностью выше 96% в условиях малого датасета. Разработан обработчик DICOM, автоматизированы измерения
2 команда: Получены модели нейронных сетей глубокого обучения, определяющие патологии с точностью до 94%. Фреймворк YOLO8 позволил разработать модель, у которой общая точность (P) определения патологий достигает 77.5%, полноты (R) в 88.9%, и средней точности (mAP) на уровне 99.5% при IoU от 0.50 до 0.95
DICOM-файлы пациентов клиники, изображения 400 срезов из DICOM, представленные в *.png и *.jpeg форматах, с измерениями на них и без. Таблица с данными о 300 пациентах со ссылками на архивы
Автоматизация измерений по медицинским снимкам, помощь докторам в выявлении патологий, минимизация ошибки, связанной с человеческим фактором
Участники
1 команды проекта
  • Рубцов Антон
    Тимлид проекта
    Антон - руководитель группы разработчиков, отвечал за полную разработку проекта
  • Ткачев Виктор
    Помощник Тимлида
    • Поиск и подготовка учебных материалов;
    • Проведение еженедельных спринт-созвонов команды;
    • Сбор выполненных заданий и консультация по проекту и разработке;
    • Контакты с заказчиком, и информирование группы;
    • Создание отчётной статьи, сборка финальной презентации
  • Грачев Владимир
    Анализ технологических процессов
    • Анализ задачи и поиск подходов к решению, работа с файлами;
    • Использование Numpy и Pandas для обработки данных;
    • Сбор и предобработка изображений с помощью PIL, Skimage, OpenCV;
    • Участие в проекте обучения модели нейронной по классификации и предсказанию патологий средствами TensorFlow/Keras и подбор гиперпараметров;
    • Участие в проекте визуализация данных и результатов с помощью Matplotlib, IPython.display
  • Курочкин Владимир
    Инженер-программист АСУТП
    • Создание датсета с помощью скрипта извлечения срезов из DICOM файлов с помощью Python, PyDICOM, VTK;
    • Полуавтоматическая разметка в CVAT;
    • Разметка и классификация сустава и челюсти Ubuntu, CVAT, Python;
    • Сегментация челюсти с помощью OpenCV, YOLOv8;
    • Автоматизация выбора среза из DICOM и определение угла поворота;
    • Анализ и тестирование координат сегментированных косточек с помощью PyDICOM;
    • Создание методики измерения расстояний между косточками
  • Уткин Дмитрий
    Full Stack Web Developer
    • Сбор данных с КЛКТ снимков и аналитика с помощью Python, Pandas, Pydicom;
    • Разметка DICOM на наличие патологий, аннотация - SimpleITK, Matplotlib;
    • Анализ интенсивности и морфологии сустава. Стек Skimage, Numpy;
    • Извлечение и анализ метаданных DICOM с помощью Pydicom, Chardet;
    • Создание 3D модели сустава из DICOM. Стек VTK, SimpleITK;
    • Визуализация и интерактивная оценка ROI - Matplotlib, ipywidgets;
  • Кузьмин Олег
    Инженер-радиотехник.
    • Анализ и создание датасета по измерениям на снимках КЛКТ с помощью Python, Pandas, Numpy;
    • Разработка и тестирование ML-решения определения патологий с помощью DecisionTreeClassifier;
    • Создание GUI для анализа и визуализации данных: PyQt, Matplotlib;
    • Систематизация и подготовка данных для нейронной сети;
    • Разработка базы данных, связанной с GUI. Стек: SQLite, PyQt;
    • Обработка и интеграция медицинских изображений с помощью Sklearn, Pickle;
    • Конечная интеграция и деплоймент desktop-приложения: PyQt, os, shutil
  • Яковшиц Роман
    Инженер по машинному обучению
    • Расширение набора данных и обучение ML-модели. Стек: CatBoost, Optuna;
    • Использование Resnet50 для центрирования изображений. Стек: Python, Torch;
    • Улучшение точности определения ключевых точек для снятия измерений;
    • Эксперименты по автоматическому выбору срезов с помощью YOLO, OpenCV;
    • Сегментация и обработка снимков с помощью YOLOv8;
    • Участие в проекте по разработке алгоритмов для создания масок обучения. Стек: Python, YOLO, OpenCV;
  • Туголуков Дмитрий
    • Исследование данных и их анализ с помощью Python, SimpleITK, Dicom-viewer;
    • Разработка скриптов и обработка DICOM-срезов. Стек: Python, SimpleITK, Matplotlib;
    • Участие в проекте по созданию и обучению сверточных классификаторов. Стек: Python, Scipy, Numpy;
    • Разметка изображений и обучение модели YOLOv8. Стек: Roboflow, Ultralytics
Участники
2 команды проекта
  • Котов Александр
    ведущий специалист (руководитель группы) АСУ ТП АО «Сибирский химический комбинат» ГК Росатом
    • Изучение задачи и предобработка DICOM данных с помощью SimpleITK, Python;
    • Создание и аугментация обучающих выборок. Стек: Roboflow, Matplotlib;
    • Отдельная классификация патологий по проекциям с помощью TensorFlow.Keras, Numpy;
    • Разметка на сервисе Roboflow и обучение модели ultralytics YOLOv8;
    • 5Извлечение и обработка DICOM срезов на локальном компьютере. Стек: VSCode, Roboflow;
    • Расширенное обучение и анализ данных на основе 3D-тензоров. Стек: Numpy, Pydicom;
    • Автоматизация обработки и анализа больших данных DICOM. Стек: Pydicom, Pandas
  • Стряпчиев Григорий
    Инженер отдела информатизации ГБУЗ Республики Карелия «Республиканская больница скорой и экстренной медицинской помощи »
    • Изучение теоретических материалов и анализ данных;
    • Разработка инструментов для обработки DICOM файлов. Стек: Python, SimpleITK, PIL, Numpy;
    • Автоматизация предварительной обработки изображений с помощью YOLO, OpenCV, Pyunpack, Shutil;
    • Обучение YOLOv8 для распознавания суставов. Стек: Ultralytics YOLO, Torch;
    • Создание и коррекция данных для машинного обучения. Стек: YOLO, Roboflow (через API)
  • Байдин Григорий
    ведущий научный сотрудник, РФЯЦ ВНИИТФ, Снежинск
    • Анализ требований и подготовка данных с помощью Python, PyDicom, Numpy;
    • Разработка методов локализации и сегментации 3D модели сустава;
    • Оптимизация вычислительных процедур и визуализация. Стек: PIL, Matplotlib;
    • Разработка и тестирование прототипов 2D и 3D моделей сустава;
    • Реализация аугментации изображений для улучшения обучения модели НС. Стек: Python, TensorFlow.Keras, Numpy;
    • Сборка и отладка всего процесса сегментации с помощью TensorFlow.Keras, Pydicom
  • Наумов Алексей
    Детский врач
    • Чтение кода Python и подготовка данных c помощью PIL, Numpy, Pandas;
    • Аугментация изображений с помощью Albumentations и Augmentor;
    • Тестирование предобученных моделей VGG16, ResNet50;
    • Разработка мультипроекционной модели. Стек: TensorFlow.Keras, VGG16;
    • Эксперименты с мультилейбл классификацией TensorFlow.Keras
  • Михалькевич Анелия
    Горный инженер
    • Изучение материалов и настройка рабочего окружения. Стек: GitHub, Trello, Jupyter Notebook, Kaggle;
    • Работа с DICOM файлами и извлечение срезов. Стек: Pydicom, Python, Google Colab;
    • Подготовка и разметка изображений для обучения модели с помощью LabelImg, YOLOv8, Python, Roboflow;
    • Обучение моделей YOLO для распознавания патологий. Стек: YOLO, TensorFlow.Keras;
    • Тестирование и оценка моделей, аугментация данных. Стек: TensorFlow.Keras, OpenCV
  • Зубец Петр
    частный специалист по интернет-рекламе
    • Изучение материалов и изучение DICOM файлов с помощью Pydicom;
    • Эксперименты с предобработкой и нормализацией изображений. Стек: Python, OpenCV, NumPy;
    • Создание и тестирование сверточной нейронной сети для классификации патологий. Стек: TensorFlow.Keras;
    • Разработка и тестирование новых подходов к аугментации. Стек: Albumentations, Matplotlib;
    • Реализация мультипроекционной модели с Functional API архитектурой;
    • Применение Yolov5 для классификации и обучение сети. Стек: TerraYolo, Roboflow
  • Ильичев Владимир
    Коммерческий директор (ИП Нарекич А.С.) производство печного оборудования
    • Освоение теории и начало работы с изображениями. Стек: Python, OpenCV;
    • Аугментация и нормализация изображений для классификации. Стек: TensorFlow.Keras;
    • Работа с балансировкой классов и обучение модели сверточной нейросети;
    • Изучение и применение YOLOv8 для детектирования объектов;
    • Создание и проверка аугментированной модели на тестовой выборке;
    • Разработка автоматизированных классификационных систем. Стек: Autokeras, Terra AI, TensorFlow
  • Коротков Юрий
    Видеограф в отделе маркетинга строительной компании
    • Чтение кода Python и подготовка данных. Стек: Python, MedPy;
    • Эксперименты с конвертацией и кропом DICOM изображений. Стек: Python, OpenCV, Photoshop;
    • Определение и аугментация наилучших срезов с помощью Albumentations, SimpleITK, Roboflow;
    • Обучение нейронной сети на размеченных данных. Стек: Roboflow, TerraYoloV5;
    • Разработка 3D тензоров из DICOM и их визуализация. Стек: VTK, PIL, Numpy
  • Сердюк Юлия
    • Анализ задачи и подготовка данных;
    • Изучение и обработка DICOM снимков. Стек: OpenCV, PIL, Matplotlib, Numpy;
    • Предварительная сегментация изображений с помощью Autoencoder. Стек: TensorFlow.Keras;
    • Разработка и обучение сверточной нейронной сети. Стек: TensorFlow.Keras, Sklearn;
    • Тестирование и анализ модели классификации патологий
Благодарность университетУ