213 lines
7.4 KiB
Markdown
213 lines
7.4 KiB
Markdown
# Презентация: AI-сервис оценки качества DXA исследований
|
||
|
||
## Слайд 1: Титульный слайд
|
||
|
||
**Заголовок:** DXA Quality Assessment
|
||
**Подзаголовок:** AI-сервис автоматизированной оценки качества денситометрических исследований
|
||
**Автор:** Грачев Денис
|
||
**Дата:** Сентябрь 2026
|
||
|
||
---
|
||
|
||
## Слайд 2: Проблема
|
||
|
||
**Заголовок:** Почему это важно?
|
||
|
||
**Ключевые тезисы:**
|
||
- До 20% исследований требуют повторного проведения из-за нарушений стандартов качества
|
||
- Рентгенологи тратят значительное время на ручную проверку
|
||
- Некачественные исследования приводят к ошибкам в диагностике остеопороза
|
||
|
||
**Проблема:** Нет автоматизированного инструмента для экспресс-оценки качества DXA исследований
|
||
|
||
---
|
||
|
||
## Слайд 3: Решение
|
||
|
||
**Заголовок:** Наше решение
|
||
|
||
**Что мы построили:**
|
||
- AI-сервис для автоматического анализа DICOM изображений
|
||
- Оценка качества по трём критериям: позиционирование, артефакты, контраст
|
||
- Бинарная классификация: OK / Нарушение
|
||
- Интеграция через REST API и web-интерфейс
|
||
|
||
**Результат:** Мгновенная оценка качества с точностью до 84%
|
||
|
||
---
|
||
|
||
## Слайд 4: Технический стек
|
||
|
||
**Заголовок:** Технологии
|
||
|
||
| Компонент | Технология |
|
||
|-----------|------------|
|
||
| Backend | Python 3.10, FastAPI |
|
||
| ML | PyTorch 2.1, ResNet18 |
|
||
| Обработка изображений | PIL, OpenCV |
|
||
| Медицинские форматы | pydicom |
|
||
| Данные | pandas, openpyxl |
|
||
| Контейнеризация | Docker |
|
||
|
||
---
|
||
|
||
## Слайд 5: Архитектура
|
||
|
||
**Заголовок:** Как это работает
|
||
|
||
```
|
||
[Пользователь] → [Web UI / API] → [FastAPI Server] → [PyTorch Model]
|
||
↓
|
||
[Excel Отчёт]
|
||
```
|
||
|
||
**Поток данных:**
|
||
1. Загрузка DICOM файла
|
||
2. Предобработка изображения (224×224, RGB)
|
||
3. Инференс модели (ResNet18)
|
||
4. Классификация (OK / Violation)
|
||
5. Формирование отчёта
|
||
|
||
---
|
||
|
||
## Слайд 6: Модель
|
||
|
||
**Заголовок:** ML-модель
|
||
|
||
**Архитектура:**
|
||
- ResNet18 (pretrained ImageNet)
|
||
- Fine-tuning под задачу бинарной классификации
|
||
- Вход: 224×224 RGB изображения
|
||
- Выход: вероятности классов [OK, Violation]
|
||
|
||
**Обучение:**
|
||
- Датасет: 100 исследований (499 DICOM)
|
||
- Разделение: 80/20 (train/val)
|
||
- Loss: CrossEntropyLoss
|
||
- Оптимизатор: AdamW
|
||
|
||
---
|
||
|
||
## Слайд 7: Результаты
|
||
|
||
**Заголовок:** Метрики
|
||
|
||
| Метрика | Значение |
|
||
|---------|----------|
|
||
| Accuracy | **84%** |
|
||
| Precision | 35% |
|
||
| Recall | 22% |
|
||
| F1 Score | 27% |
|
||
|
||
**Анализ:**
|
||
- Дисбаланс классов (65% OK / 35% Violation)
|
||
- Ограниченный объём данных
|
||
- F1 можно значительно улучшить с балансировкой
|
||
|
||
---
|
||
|
||
## Слайд 8: Демонстрация
|
||
|
||
**Заголовок:** Давайте посмотрим
|
||
|
||
**Сценарий:**
|
||
1. Открываем web-интерфейс
|
||
2. Загружаем DICOM файл
|
||
3. Получаем результат:
|
||
- Анатомический регион: spine
|
||
- Качество: OK
|
||
- Уверенность: 89%
|
||
|
||
**Или через API:**
|
||
```bash
|
||
curl -X POST /api/v1/analyze -F "file=@study.dcm"
|
||
```
|
||
|
||
---
|
||
|
||
## Слайд 9: Ограничения
|
||
|
||
**Заголовок:** Текущие ограничения
|
||
|
||
- ⚠️ Датасет: только 100 исследований
|
||
- ⚠️дисбаланс классов влияет на F1
|
||
- ⚠️ Бинарная классификация (не детализировано)
|
||
- ⚠️ Требуется больше эпох обучения
|
||
|
||
**Что нужно для production:**
|
||
- 500+ исследований
|
||
- Детальная разметка по типам нарушений
|
||
- Дополнительная аугментация
|
||
|
||
---
|
||
|
||
## Слайд 10: Перспективы
|
||
|
||
**Заголовок:** Планы развития
|
||
|
||
**Ближайшие:**
|
||
- [ ] Увеличить датасет до 500 исследований
|
||
- [ ] Добавить многоклассовую классификацию (тип нарушения)
|
||
- [ ] Внедрить weighted loss для балансировки
|
||
- [ ] Аугментация данных
|
||
|
||
**Среднесрочные:**
|
||
- [ ] Сегментация анатомических структур
|
||
- [ ] Интеграция с PACS
|
||
- [ ] Real-time мониторинг
|
||
|
||
---
|
||
|
||
## Слайд 11: Бизнес-ценность
|
||
|
||
**Заголовок:** Почему это нужно медицине?
|
||
|
||
| Параметр | До | После |
|
||
|----------|-----|-------|
|
||
| Время проверки | 30-60 сек | <1 сек |
|
||
| Повторные исследования | 15-20% | ~5% |
|
||
| Стандартизация | Ручная | Автоматическая |
|
||
|
||
**ROI:**
|
||
- Экономия времени рентгенологов
|
||
- Снижение лучевой нагрузки на пациентов
|
||
- Повышение качества диагностики
|
||
|
||
---
|
||
|
||
## Слайд 12: Контакты
|
||
|
||
**Заголовок:** Спасибо за внимание!
|
||
|
||
**Автор:** Грачев Денис
|
||
**Email:** denis@example.com
|
||
**Telegram:** @oxydencher
|
||
**GitHub:** [ссылка на репозиторий]
|
||
|
||
**Демо:** http://localhost:8000
|
||
|
||
---
|
||
|
||
## Notes для спикера
|
||
|
||
### Общие советы
|
||
|
||
1. **Начните с проблемы** — аудитория должна понять, зачем это нужно
|
||
2. **Покажите реальный пример** — демонстрация важнее слайдов
|
||
3. **Будьте честны об ограничениях** — это вызывает доверие
|
||
4. **Завершите призывом к действию** — что вы хотите от аудитории?
|
||
|
||
### Ответы на возможные вопросы
|
||
|
||
**Q: Почему такой низкий F1?**
|
||
A: Дисбаланс классов (65/35) + мало данных. С балансировкой ожидаем F1 > 0.6
|
||
|
||
**Q: Как определяется анатомический регион?**
|
||
A: Пока по размеру изображения (эвристика). В планах — отдельный классификатор
|
||
|
||
**Q: Это заменяет рентгенолога?**
|
||
A: Нет, это инструмент помощи, а не замены. Врач принимает最终ное решение
|
||
|
||
**Q: Как получить больше данных?**
|
||
A: Партнёрство с клиниками, этические согласования, анонимизация
|