Два ИИ-инструмента для раннего скрининга здоровья — прямо в браузере, без сервера и без сбора данных
Astana AI Week 2026 · Трек «Здравоохранение»
- О репозитории
- Проекты — исследовательский отчёт
- Видео-демо
- Быстрый запуск
- Общая архитектурная философия
- Структура репозитория
- Дисклеймер
- Лицензия
Это исследовательская витрина двух независимых прототипов, сделанных к хакатону Astana AI Week 2026 в треке «Здравоохранение». Оба решают одну и ту же боль по-разному: раннее выявление — сколиоза и осанки в одном случае, патологий печени и вирусных гепатитов в другом — там, где визит к врачу происходит слишком поздно, а доступ к скринингу неравномерен.
Оба проекта объединяет один архитектурный принцип: весь ИИ работает локально, в вкладке браузера. Нет бэкенда, нет базы данных, нет отправки данных пациента на сервер. Один HTML-файл — и приложение уже работает на любом телефоне, ноутбуке или компьютере в поликлинике.
📖 Полный README проекта · 📁 web_skaleoz/
Проблема. Подростковый идиопатический сколиоз встречается примерно у 2–3% детей — одно из самых распространённых ортопедических отклонений школьного возраста. Ключевая беда — позднее выявление: дугу нередко замечают, когда искривление уже выражено, а консервативные меры менее эффективны. Первый шаг («стоит ли показаться врачу?») часто не делается из-за трения — нужно записаться, приехать, раздеться перед незнакомым человеком.
Решение. Одна веб-страница с двумя независимыми режимами:
| 📷 Скрининг по фото | 🩻 Режим рентгена | |
|---|---|---|
| Вход | Фото спины с телефона | Прямой снимок позвоночника (AP-проекция) |
| Движок | MediaPipe Pose (на устройстве) | Обученная модель CobbNet, ONNX (на устройстве) |
| Выход | Индекс асимметрии осанки + наклон плеч / таза / боковой сдвиг | Три угла Кобба + степень по Чаклину (I–IV) |
| Честная пометка | «прокси-скрининг, не угол Кобба» | «эксперимент, обучено на синтетике, не заключение рентгенолога» |
Как это устроено технически.
- Лёгкий гейт качества кадра (резкость по Лапласиану, видимость человека, кадрирование) отсекает заведомо непригодные фото — жёстко блокируются только явно негодные кадры, наклон камеры даёт лишь предупреждение.
pose_landmarker_heavy(Google MediaPipe Tasks Vision) находит 33 ключевые точки тела → вычисляется наклон линии плеч, наклон таза, боковой сдвиг корпуса → комбинируется в индекс тяжести 0–100%, откалиброванный выше шумового пола обычных фото.- Для рентгена — компактная свёрточная сеть CobbNet (~0.7 млн параметров, 2.8 МБ ONNX) регрессирует три угла Кобба по letterboxed-снимку 160×160, затем по наибольшему углу определяется степень (I–IV по Чаклину) и подбирается справочная тактика.
- На каждом результате доступны PDF-заключение, печать и копирование текста.
Данные и метрики. Рентген-модель обучена на 900 снимках открытого датасета Spinal-AI2024 (синтетически сгенерированные, но откалиброванные под реальные рентгены, из статьи CurvNet). Средняя ошибка углов Кобба — ≈5.5° MAE на отложенной синтетической выборке (для сравнения: типичная межэкспертная вариабельность в клинике — порядка 3–5°). Весь фронтенд — один файл index.html (~69 КБ), без сборщика.
Честные ограничения. По фото нельзя измерить настоящий угол Кобба — это оценка поверхностной асимметрии осанки, а не рентгеновский золотой стандарт. Рентген-модель экспериментальная: обучена и провалидирована на синтетике, что доказывает работоспособность пайплайна, но не устанавливает клиническую точность на реальных пациентах. Проект не сертифицирован и не является медицинским изделием.
📖 Полный README проекта · 📁 web_hepaiq/
Проблема. Патологии печени и хронические вирусные гепатиты B и C часто выявляются поздно — уже на стадии фиброза, цирроза или осложнений, когда лечение дороже, а прогноз хуже. Причины системные: данные лабораторий фрагментированы, врачи первичного звена перегружены и не успевают вручную считать клинические шкалы, а инструмента триажа группы риска на местах часто просто нет. Задача сформулирована в рамках медицинского трека Astana AI Week 2026 (Министерство здравоохранения РК).
Решение. Рабочее место врача первичного звена, которое за секунды превращает стандартную биохимическую панель в объяснимую оценку риска и готовое PDF-заключение — четыре инструмента на одном экране:
| Функция | Описание | |
|---|---|---|
| 🧠 | Реальная ML-модель | Логистическая регрессия обучается прямо в браузере на 583 записях датасета ILPD через TensorFlow.js; резервный обучатель на чистом JS гарантирует работу на любом железе |
| 📊 | Три клинические шкалы | FIB-4, APRI, NFS — по опубликованным формулам, с порогами и разметкой «серой зоны» |
| 🔍 | Объяснимый ИИ | Диверджентные бары показывают, какие анализы повышают/понижают риск — прозрачность вместо «чёрного ящика» |
| 🚦 | Клиническая маршрутизация | Срочная / промежуточная / плановая тактика + автоматические настораживающие признаки (red-flags) |
Как это устроено технически. Модель обучается при загрузке страницы каскадом с гарантией результата: сперва TensorFlow.js (с ограничением по времени), затем надёжный резерв — та же логистическая регрессия, обученная полнобатчевым градиентным спуском на чистом JavaScript (≈50 мс, детерминированно). Признаки пациента стандартизируются (z-score по статистике ILPD), после чего вычисляется вероятность патологии и вклад каждого признака в итоговую оценку — веса клинически осмысленны: АЛТ, АСТ и билирубин повышают риск, альбумин понижает. Параллельно считаются три валидированные неинвазивные шкалы фиброза (FIB-4, APRI, NFS) по опубликованным клиническим формулам.
Данные и метрики. Обучающий датасет — ILPD (Indian Liver Patient Dataset), UCI ML Repository, CC BY 4.0: 583 записи (416 пациентов с патологией печени, 167 без), 10 признаков, встроен прямо в страницу (~22 КБ). Метрики считаются вживую на отложенной тестовой выборке (20%): AUROC ≈ 0.75, чувствительность ≈ 0.94, специфичность ≈ 0.25, точность ≈ 0.73. Высокая чувствительность выбрана осознанно — для скрининга цена пропуска патологии выше цены ложноположительного результата, который отсеется на дообследовании.
Честные ограничения. ILPD собран на индийской популяции; пороги (включая единицы измерения билирубина) валидированы преимущественно на гепатите C — для РК нужна локальная калибровка на анонимизированных данных. Специфичность осознанно ниже чувствительности. Инструмент — поддержка решений, а не замена биопсии или эластографии (FibroScan), и не сертифицированное медицинское изделие.
| 🩺 skaleoz | ⚕️ HepaIQ | |
|---|---|---|
| Что делает | Скрининг сколиоза и осанки по фото спины или рентгену | Оценка риска патологий печени и ХВГ по биохимической панели крови |
| ИИ | MediaPipe Pose (поза) + CobbNet ONNX (углы Кобба по рентгену) | Логистическая регрессия, обучается прямо в браузере на датасете ILPD (TensorFlow.js) |
| Вход | Фото со спины / рентген позвоночника (AP) | Лабораторные показатели (билирубин, АЛТ, АСТ, альбумин и др.) |
| Выход | Индекс асимметрии осанки или степень по Чаклину (I–IV) | Вероятность патологии + шкалы FIB-4 / APRI / NFS + маршрутизация |
| Метрика качества | ≈5.5° MAE по углам Кобба (на синтетике) | AUROC ≈0.75, чувствительность ≈0.94 |
| Заключение | PDF / печать / копирование | PDF / печать / копирование |
| Датасет | Spinal-AI2024 (синтетические рентгены) | ILPD (UCI), CC BY 4.0 |
| Технологии | MediaPipe Tasks Vision, ONNX Runtime Web, PyTorch (обучение) | TensorFlow.js, чистый JS (резервный обучатель) |
| Подробнее | 📖 README проекта | 📖 README проекта |
Если видео не проигрывается прямо на странице GitHub — откройте файл напрямую или скачайте его через Code → Download.
|
🩺 skaleoz — от загрузки фото до готового PDF-заключения: |
⚕️ HepaIQ — от ввода анализов до вердикта и PDF-заключения: |
Если видео не проигрывается прямо на странице GitHub — откройте файл напрямую (skaleoz · HepaIQ) или скачайте его через Code → Download.
Оба проекта — самодостаточные веб-страницы. Открытие через file:// не работает (нужен HTTP-источник для ES-модулей и моделей), поэтому поднимите локальный статический сервер.
skaleoz (со своим сервером на Node.js):
cd web_skaleoz
node server.mjs # → http://localhost:5173HepaIQ (любой статический сервер, например Python):
cd web_hepaiq
python -m http.server 5177 # → http://localhost:5177Подробные чек-листы проверки (что нажать и что должно произойти) — в README каждого проекта: skaleoz → §15 · HepaIQ → §16
- Ноль бэкенда. Инференс ИИ выполняется в браузере через WebAssembly / WebGL (ONNX Runtime Web, TensorFlow.js).
- Приватность по умолчанию. Единственный сетевой трафик — одноразовая загрузка моделей, шрифтов и библиотек с публичных CDN. Данные пациента никуда не отправляются и нигде не сохраняются.
- Честность важнее эффектности. Оба README открыто описывают ограничения моделей, синтетические/несбалансированные датасеты и статус «не медицинское изделие».
- Минимализм. Каждый проект — один HTML-файл (плюс модели), без сборщика и
node_modules.
.
├── web_skaleoz/ # Скрининг сколиоза и осанки (фото + рентген)
│ ├── index.html
│ ├── server.mjs
│ ├── demo.mp4
│ ├── model.onnx / model_xray.onnx
│ ├── train/ # PyTorch-пайплайн обучения
│ └── README.md
├── web_hepaiq/ # Оценка риска патологий печени и ХВГ
│ ├── index.html
│ ├── demo.mp4
│ ├── docs/banner.svg
│ └── README.md
├── preza_video.mp4 # видео-презентация проекта целиком
└── README.md # этот файл
Warning
Оба проекта — исследовательские прототипы, представленные в рамках хакатона. Это не сертифицированные медицинские изделия, их результаты не являются диагнозом и не заменяют очную консультацию врача. Подробные ограничения и честная оценка метрик — в README каждого проекта.
Код обоих проектов распространяется под MIT (см. LICENSE в каждой папке). Сторонние датасеты и модели сохраняют собственные условия использования — подробности в README web_skaleoz и web_hepaiq.
Сделано для Astana AI Week 2026.