Skip to content

Repository files navigation

Демонстрация

  1. Основной сервер.
  2. Запасной сервер.

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

Серия Диагноз Метка (label)
TestLoadCanser.zip Рак 3
TestLoadCovid19.zip COVID-19 2
TestLoadCap.zip Пневмония 1
TestLoadNormal.zip Норма 0

Назначение

Система для просмотра и автоматической классификации заболеваний легких по 3D сканам Компьютерной томографии(далее КТ) с использованием нейросети(далее планируется развить до нейросетевой системы) гибридной архитектуры 2.5D CNN + Transformer.

В репозитории папка c сервером: ServerApp, папка с кодом обучения, логами и моделью нейронной сети: Network CSANet2.5D, файлы с презентацией: Презентация MedVision AI.pptx и Презентация MedVision AI.pdf

Модель нейросети: CSANet2.5D - комбинация 3D сверточных блоков (ResidualBlock3D + SE3D) и кросс-срезного внимания (CSABlock) + Transformer

Препроцессинг: Пакетная интерполяция, нормализация КТ, работа с переменной глубиной сканов.

Интерфейс: Веб-сервис для загрузки, просмотра и анализа сканов КТ легких.

Основные возможности

Загрузка ZIP-архива с папкой в которой находятся DICOM файлы, поддержка любого количества снимков(приводятся к 64 срезам КТ автоматически и равномерно по снимку)

Просмотр срезов с возможностью инверсии цвета и навигацией

Автоматическое предсказание класса заболевания(Нормал, Пневмония, Ковид-19, Рак) с указанием уверенности нейросети.

Возможность просмотра КТ загруженных ранее во время сессии(меню слева)

Онлайн доступ к веб-сервису(не локальный доступ)

Корректная обработка ситуаций загрузки неправильных форматов данных

Ограничения:

Только классификация (пока без сегментации)

Системные требования для запуска:

Требования к серверу

Для корректной работы веб-приложения и ИИ-модели:

  • ОС: Linux (Ubuntu 20.04+/Debian) или Windows Server 2019+
  • Python: 3.13+
  • CPU: минимум 4 ядра, рекомендуется 8+ (для одновременной обработки и обслуживания запросов)
  • GPU (опционально, для ускорения ИИ): NVIDIA RTX 3060 или выше (6+ GB VRAM)
  • RAM: минимум 8 GB, рекомендуется 16 GB
  • Диск: от 40 GB свободного места (хранение моделей, временные файлы и загружаемые архивы)
  • Сеть: стабильное подключение 10 Мбит/с+

Если GPU недоступна, модель может работать только на CPU, но скорость анализа значительно снизится.

Требования к ПК конечных пользователей

Если сайт развернут на сервере, от клиента требуется только браузер:

  • ОС: Windows, Linux, macOS
  • Браузер: современный (Chrome, Edge, Firefox, Safari)
  • CPU: 2 ядра (достаточно для работы интерфейса и загрузки файлов)
  • RAM: 4 GB+
  • Интернет: стабильное подключение (желательно от 10 Мбит/с для загрузки DICOM-архивов)

Быстрый старт

При наличии интернет-соединения и работоспособности сервера:

  1. Открыть сайт. Запасной сервер.
  2. Загрузить ZIP-архив, в котором содержится папка со снимками в формате .dcm.

При отсутствии доступа к серверу проект можно развернуть локально. Инструкция:

  1. Установить Python версии 3.13+.
  2. Загрузить проект (ВСТАВИТЬ ССЫЛКУ TODO) и распаковать его в выбранную папку.
  3. Открыть терминал в папке проекта или перейти в неё командой:
    cd путь_до_папки_проекта
  4. Установить все зависимости из файла requirements.txt командой:
    pip install -r requirements.txt
  5. Запустить локальный веб-сервер командой:
    python server.py
  6. После в консоли появиться ссылка на локальный сайт

Структура проекта

Основные файлы

  • server.py — запуск Flask-сервера, маршруты.
  • moduleAI.py — загрузка модели (model1.pth), анализ снимков и формирование заключения.
  • model1.pth — обученная PyTorch-модель.
  • requirements.txt — зависимости.
  • README.md — инструкция по запуску.

Интерфейс

  • templates/index.html — главная страница.
  • static/js/ — логика просмотра DICOM (загрузка, выбор серий, просмотр).
  • static/styles/ — оформление интерфейса.

Ключевые компоненты

Модель нейросети(CSANet2.5D)

  • 3D CNN backbone с SE-блоками для spatial features
  • Cross-Slice Attention для глобальных зависимостей
  • CLS token для классификации

Обработка данных

  • Поддержка сканов переменной глубины
  • Пакетный ресэмплинг
  • Надежная обработка ошибок при загрузке

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages