Техническое задание для разработки алгоритма rPPG
1. Описание проекта
Цель проекта – разработка алгоритма для автономного извлечения физиологических данных на основе технологии rPPG (remote Photoplethysmography), работающего в реальном времени на мобильных устройствах, включая iPhone. Алгоритм должен извлекать и анализировать физиологические параметры пользователя, используя возможности обработки видео непосредственно на устройстве. В дальнейшем планируется интеграция алгоритма в SDK и API для использования в других платформах и приложениях.
2. Цели и задачи
Основная цель: Разработка и оптимизация алгоритма rPPG для извлечения следующих физиологических параметров в режиме реального времени:
- Артериальное давление (Blood Pressure)
- Частота сердечных сокращений (Heart Rate)
- Вариабельность сердечного ритма (Heart Rate Variability)- Частота дыхания (Breathing Rate)
- Сатурация кислорода (Oxygen Saturation)
- Пульсодыхательный коэффициент (Pulse Respiratory Quotient, PRQ)- Эмоциональный профиль (Emotion Profile/Emotion Detection)- Уровень стресса (Stress Level)
- Тремор глаз (Eye Tremor)
- Расширение зрачков (Pupil Dilation)
- Гемоглобин (Hemoglobin)
3. Технические требования
3.1. Входные данные:
- Видеоизображение лица пользователя, записанное камерой iPhone.
- Видеопоток в реальном времени или предварительно записанные видеофайлы.
- Поддерживаемое разрешение видео: от 720p и выше.
- Частота кадров: 30 кадров в секунду или выше для обеспечения точности извлечения параметров.
3.2. Обработка данных:
- Выделение лица:
- Изучение и выбор оптимального метода выделения лиц:
- Использование встроенных возможностей iPhone (например, ARKit или Vision Framework) (при необходимости).
- Использование кастомных алгоритмов: Интеграция алгоритма выделения лиц, который может быть более точным в специфичных условиях (например, слабое освещение, движения).
- Провести сравнительный анализ точности, скорости и производительности обоих подходов и выбрать наиболее подходящий.
- Извлечение цветового сигнала:
- Выделение ключевых областей лица (лоб, щеки) для извлечения цветовых сигналов.
- Применение цифровых фильтров для очистки сигнала от шумов, связанных с движением и изменением освещения.
- Анализ сигналов
3.3. Прогнозирование:
- Выбор модели машинного обучения:
- Машинное обучение: Рассмотрение моделей регрессии (Линейная регрессия, SVM, Random Forest) для прогнозирования физиологических параметров.
- Глубокое обучение: Применение RNN (LSTM или GRU) для обработки временных рядов и CNN для анализа изображений.
- Тренировка модели: Обучение модели на предварительно собранных данных для повышения точности прогнозирования.
- Интеграция модели: Оптимизация и внедрение обученной модели в алгоритм для работы на iPhone. Важно обеспечить возможность преобразования модели в формат CoreML для интеграции в iOS (вероятнее всего необходимо для производительности).
3.4. Выходные данные:
- Числовые значения для каждого физиологического параметра.
- Все необходимые данные для визуализации результатов в реальном времени.
3.5. Дополнительные требования:
- Алгоритм должен быть оптимизирован для работы на iPhone с минимальной задержкой.
- Учитывать ограничения производительности устройства (процессор, память).
- Важно предусмотреть гибкость решения, поскольку проект предполагает разделение на мобильное приложение и SaaS модель.
4. Особые требования по интеграции:
- Разработчик должен будет помочь в реализации алгоритма как SDK для iPhone, чтобы его можно было интегрировать в другие приложения.
- Необходимо будет помочь с обеспечением возможности работы алгоритма через API для SaaS решения.
5. Консультации и поддержка:
- У нас есть 3 senior iOS developer, которые смогут предоставить консультации и помочь с интеграцией на любом этапе разработки.