ШІ-обробка сигналів носимих пристроїв: PPG, HRV, сон

Замовники приходять із сирими записами з датчиків, де шум і пропуски заважають рахувати сон і відновлення. Ми розробляємо обробку даних носимих пристроїв під ключ: від очищення сигналу до готових показників у вашому застосунку. Скорочуємо час підготовки показників удвічі й передаємо регламенти, щоб результат відтворювався без нас.
Часті запитання

Обробка даних носимих пристроїв: де втрачається сигнал

Сирий сигнал з браслета — не охайний ряд, а потік із плаваючим кроком. Відліки надходять із нерівномірними інтервалами: пристрій змінює частоту опитування під заряд і режим сну, тому між вимірами бувають то короткі, то довгі проміжки.

Усереднення «за індексом масиву» замість прив’язки до мітки часу зсуває піки й перетворює рівний ритм на тремтливу криву.

Друге джерело втрат — артефакти руху. Крок, поворот кисті, поправлений ремінець дають викиди, зіставні за амплітудою з корисною хвилею: пороговий фільтр або пропускає їх у метрику, або зрізає разом із ними реальні скорочення.

Поруч — дрейф базової лінії: за ніч змінюються температура шкіри й кровонаповнення, рівень сигналу повільно зміщується, і без опорного вікна детектор шукає піки не там, де вони є.

Третій дефект — пропуски в записі. Пристрій зняли з руки, розрядився акумулятор, перервався зв’язок — у масиві з’явилися діри. Частина обробників мовчки заповнює їх інтерполяцією, і метрика виглядає правдоподібно, хоча спирається на вигадані точки.

На виході це пульс спокою, який «пливе» між сусідніми ночами, варіабельність, що злітає на артефактах, і якість сигналу сну, де стадії розмічаються рухом, а не фізіологією.

Ціна — рішення на невірних даних: стрибає частка глибокого сну, не підтверджується тренд відновлення, хибними виявляються попередження про збої ритму. Розбираємо, як це закривається: від сирого потоку до стійких метрик пульсу, варіабельності та сну.

Що дає вибудуваний конвеєр обробки сигналів

Конвеєр — це ланцюжок кроків від сирого сигналу до метрики: приведення до єдиної частоти, очищення сигналу, розмітка епізодів і контроль якості сигналу на виході.

Джерела різні — від Garmin до недорогих браслетів, тому правила приведення до спільного вигляду задані заздалегідь, а кожен крок вимірюється.

Стабільні метрики пульсу та варіабельності під час руху

Опорний канал руху відокремлює артефакти від фізіології, тому хибні піки, які з’являлися під час ходьби та на сходах, відсікаються до розрахунку.

В активних сценаріях частка придатних записів зросла з 60–70% до 90%+, а розкид варіабельності за одного й того самого навантаження скоротився вдвічі.

Менше пропусків у нічних записах

Уночі сигнал слабшає через рухливість і нещільний контакт, і раніше такі записи просто відкидалися. Контроль якості сигналу розмічає непридатні ділянки, короткі розриви відновлюються, довгі чесно позначаються пропуском. Частка ночей, придатних для розрахунку стадій сну, зросла з половини до дев’яти з десяти.

Відтворюваність результату від партії до партії

Підготовка набору даних іде за єдиним регламентом: еталонні записи, фіксовані правила розмітки та перевірки перед оновленням моделі.

Стійкість метрик між партіями пристроїв вимірюється в одиницях відсотків, тому порівняння залишається коректним, а підготовка набору для аналізу займає дні замість тижнів.

Де рахувати: на пристрої, на сервері чи гібрид

Точка розрахунку визначає дві речі, які користувач помічає одразу: затримку видачі метрики та витрату заряду пристрою.

Той самий потік сирих сигналів — пульсову хвилю, інтервали між ударами серця, рухи корпусу — можна очищати по-різному, і в кожного варіанта своя плата за ресурсами та якістю підсумкових показників.

Варіант Коли підходить Обмеження
Розрахунок на пристрої Показник потрібен у момент вимірювання, зв’язок із сервером нестабільний Обмежені обчислювальні ресурси та пам’ять: алгоритми спрощують, витрата заряду зростає
Серверне пакетне очищення Масова обробка накопичених записів, складна фільтрація артефактів, єдина версія моделі Метрика доступна лише після синхронізації; потрібні канали передачі та зберігання сирих даних
Гібридна схема Більшість продуктів: швидкі показники на пристрої, важка обробка на сервері Потребує узгоджених форматів і синхронного оновлення алгоритмів з обох боків

Коли розрахунок на пристрої обов’язковий

Якщо результат потрібен у момент вимірювання — підрахунок кроків, оцінка стадії сну в реальному часі, сигнал за ритмом — чекати на синхронізацію не можна.

Рахуємо на самому пристрої, але тримаємо ліміт за витратою заряду: важкі перерахунки запускаємо лише за достатнього заряду та спокою датчика.

Коли вигідніше серверне очищення

Накопичені за ніч записи зручніше обробляти пакетно: на сервері доступні важчі моделі фільтрації артефактів і одна версія алгоритму для всіх пристроїв. Затримка видачі метрики тут вимірюється хвилинами, зате відтворюваність і якість показників вищі.

На практиці робоче типове налаштування — гібрид: пристрій знімає сирий сигнал і рахує швидкі метрики, сервер довантажує дані та перераховує важкі. Далі ділимо обов’язки між сторонами так, щоб витрата заряду й затримка залишалися в заданих межах.

Етапи впровадження: від аудиту сигналів до передачі

Порядок робіт однаковий для будь-якого носія — годинника, кільця, браслета, нагрудного ременя. Спочатку розбираємо те, що реально надходить із пристрою, і лише потім збираємо конвеєр обробки та беремося за моделі.

Аудит сирих записів і розмітки

  1. Аудит записів. Дивимося вивантаження повністю: пропуски за часом, артефакти руху, розсинхрон каналів, обриви сесій. Підсумок — звіт про придатність і перелік фрагментів, які не йдуть у навчання.
  2. Схема конвеєра. Приймання → очищення → детекція піків пульсової хвилі → інтервали між ними → сегментація сну → ознаки. Схему узгоджуємо до коду, щоб не переробляти стики між блоками.
  3. Фільтрація та розмітка. Налаштовуємо частотні фільтри й правила відбракування, зводимо розмітку кількох розмітників до одного еталону, спірні випадки описуємо письмово.

Перевірка на відкладеній вибірці

  • Відкладена вибірка. Ділимо записи за людьми, а не за фрагментами: інакше одна людина потрапляє і в навчання, і в перевірку, і метрика завищується.
  • Порівняння з еталоном. Рахуємо розходження з еталонним приладом і лабораторною розміткою — за середньою помилкою та часткою грубих промахів, а не за однією усередненою цифрою.
  • Передача рішення. Віддаємо код, схему, ваги моделі, регламент перенавчання та панель із метриками якості — з інструкцією, як відтворити результат на новій партії записів.
  • Супровід. Перші тижні після запуску стежимо за зміщенням на живому потоці та донавчаємо, якщо розподіл сигналів відійшов від навчального.

Моделі, схеми конвеєра та регламенти розмітки

Навчена модель — це ще не рішення: без опису середовища, у якому вона працює, її не можна ні донавчити, ні відкотити, ні захистити від дрейфу вхідних даних під час оновлення прошивки браслета. Тому передаємо не лише артефакти виведення, а й увесь звід правил навколо них. Нижче — те, що залишається у вашої команди, з правом змінювати та версіонувати.

Схеми конвеєра та формати даних

  • Схема потоку сигналів — від сирих записів пульсової хвилі й акселерометра до вітрин з епізодами сну та метриками варіабельності ритму, із зазначенням точок фільтрації та того, які сегменти відбраковуються як артефакт руху.
  • Формати обміну — узгоджені структури для пакетного вивантаження та для потокової передачі з носимого пристрою, включно зі схемою іменування полів, одиницями вимірювання та правилами обробки пропусків у часових рядах.
  • Правила постобробки — згладжування, пороги якості запису, логіка склеювання розірваних сесій; кожне правило з обґрунтуванням, щоб його можна було змінити усвідомлено.
  • Документація рішення — опис шарів, залежностей між ними та того, де закінчується модель і починається евристика.

Регламенти розмітки та контроль якості

  • Інструкція з розмітки — визначення класів і стадій сну, спірні випадки з прикладами записів, порядок ескалації, коли розмітник не впевнений у межі епізоду.
  • Регламент контролю якості — частка записів на перехресну перевірку, допустимий розкид між розмітниками, поріг, за якого партія йде на повторну розмітку повністю.
  • Політики доступу до записів — хто бачить сирі фізіологічні дані, що знеособлюється до потрапляння в сховище, як відкликається доступ при зміні ролі.
  • Журнал відомих обмежень — класи записів, на яких модель помиляється передбачувано: висока рухова активність, падіння перфузії, короткі сесії. Це межі застосовності, а не список недоробок.

Опишіть вашу задачу — повернемося з оцінкою обсягу та планом, що з цього переліку закриваємо ми, а що розумніше залишити на вашому боці.

Кейс: варіабельність і стадії сну за сирими записами

Задача надійшла з дослідницького боку: безперервний нічний моніторинг за записами з носимих браслетів — потрібні варіабельність ритму за інтервалами між скороченнями та розмітка стадій сну за всю ніч. Дані збирали як є: різні партії пристроїв, ділянки з рухом та обривами сигналу.

Розмітку робили вручну — експерт переглядав ніч повністю, виставляв стадії та позначав спірні ділянки як невизначені. На один масив ішло кілька тижнів, а зіставність серій трималася на пам’яті конкретного розмітника.

Метрики до та після

  • Відбраковані записи: 34% ночей ішли в брак через артефакти руху — стало 6%, і брак припадає лише на нечитні ділянки.
  • Пропущені інтервали: частка інтервалів, що випали з ряду варіабельності, знизилася з 12% до 1,5% завдяки відновленню коротких пропусків.
  • Розходження з еталоном: узгодженість за стадіями сну зросла з 0,61 до 0,84, зміщення меж фаз скоротилося вдвічі.
  • Час підготовки набору: з кількох тижнів до двох днів, включно з ручною вичиткою спірних епох.

Що змінили: фільтрацію артефактів зібрали в один прохід із фіксованими порогами, короткі обриви відновлювали інтерполяцією, автоматичну розмітку стадій залишили з обов’язковою перевіркою спірних епох.

Звірку вели за відкритим корпусом PhysioNet з еталонними стадіями, тому розходження рахувалося однаково на всіх серіях. Кожен набір отримав версію — до попередньої розмітки можна повернутися, якщо змінюються критерії включення ночей.

Чим відрізняється потокова фільтрація від пакетного очищення?

Це не вибір «одне краще за інше», а дві точки одного компромісу — точності та швидкості. Потокова фільтрація рахує показник у момент приймання сигналу, пакетне очищення — за накопиченим масивом записів, і саме від цього залежить затримка видачі метрики.

Потокова схема віддає результат за секунди, але не бачить майбутнього контексту: артефакт руху за хвилину закінчиться, а втрата контакту зі шкірою тимчасова. Пороги доводиться ставити жорсткіше, тому частина валідних ділянок відбраковується і крива сну виглядає рваною.

Пакетне очищення бачить запис повністю: знаходить пропуски, зіставляє ділянки, підбирає фільтри під конкретну ніч і модель пристрою — від Garmin до бюджетних трекерів. Плата — затримка, що вимірюється годинами, та пікове навантаження на сховище в момент прогону.

Варіант Коли підходить Обмеження
Потокова фільтрація Потрібен відгук у реальному часі Немає майбутнього контексту, вища частка хибних спрацювань
Пакетне очищення Нічні звіти, ретроспектива, клінічні вибірки Затримка видачі метрики — години, навантаження на сховище
Суміщений контур Метрика в реальному часі та підсумкова звітність Два контури, потрібен контроль версій алгоритму

На практиці контури суміщають: потік дає чорнову оцінку для інтерфейсу, пакет — підсумкову, вона ж іде у звітність. Перерахунок історії записів стає штатною операцією: сирий сигнал лежить у сховищі, запис позначено версією алгоритму, і оновлення фільтра проганяє архів заново.

Технічні сумніви: шум, пропуски, приватність

Заперечення на етапі оцінки стосуються не самої обробки сигналу, а сировини: що робити з уже накопиченим архівом, наскільки результат залежить від пристрою та як розділити чутливі дані здоров’я й аналітику. Нижче — відповіді на ті, що спливають найчастіше.

В архіві є записи з провалами та артефактами — їх ще можна використовувати?

Так, і часто саме вони роблять модель стійкою. Дефектні записи розмічаємо за причиною — втрата контакту з датчиком, рух, переохолодження — і за кожною вирішуємо: відновити, замаскувати чи виключити.

Невалідні ділянки позначаємо явно, щоб алгоритм не приймав їх за норму, а частку придатних рахуємо метрикою контуру.

Результат залежить від моделі браслета?

Залежить: різняться частота опитування, вбудоване згладжування та посадка датчика. Потік приводимо до єдиного подання, а точність перевіряємо окремо за кожною моделлю. Між пристроями зіставні динаміка й тренди, абсолютні значення — лише в межах однієї моделі.

Як знеособлюються чутливі дані здоров’я?

Сирий сигнал не зберігаємо: на вході відкидаємо ідентифікатори, залишаючи псевдонім, ключ до якого лежить на вашому боці. Далі працюємо з ознаками, а не з вихідною хвилею. Знеособлений масив іде в навчання, персональні записи залишаються у вашому контурі.

Яка похибка вважається допустимою?

Поріг задає задача: для фаз сну помилка в межах однієї епохи не критична, для варіабельності ритму важливіший порядок інтервалів, ніж середні. Поріг фіксуємо до старту й приймаємо за часткою записів, які його перевищили, — 85–90% ночей проходять без ручної правки.

Обговоримо задачу: що надіслати для оцінки

Щоб повернутися з оцінкою та планом робіт, а не з припущеннями, нам потрібні вступні відомості про ваші дані. Нижче — перелік того, що знімає більшу частину невизначеності: чим повніша картина за сигналами, тим точніший склад етапів і порядок робіт.

  • Зразок вивантаження. Кілька файлів за реальний період — з пропусками, шумом і аномаліями. Вичищений фрагмент приховує саме ті випадки, на яких потім ламається обробка.
  • Опис форматів. Схема полів, крок дискретизації, прив’язка до часу та часових поясів, одиниці вимірювання, розмітка сегментів і правила, за якими фіксується відсутність сигналу.
  • Цільові метрики. Що вважаємо коректним результатом: частка відновлених ділянок, стійкість показників у спокої, узгодженість стадій сну з експертною розміткою або щоденником.
  • Цільові сценарії. Які висновки потрібні на виході — динаміка відновлення, тижневі тренди, порогові оповіщення — і як вони доходять до користувача.
  • Обмеження приватності. Де зберігаються сирі записи, чи потрібна знеособленість на вході, чи можна виносити дані за ваш контур, хто зі спеціалістів отримує доступ.
  • Обсяги історії та поточна схема. Кількість пристроїв і записів, глибина зберігання, як обробка влаштована зараз і на якому кроці перестає тримати навантаження.

З цим набором ми повертаємося з оцінкою, схемою обробки та планом робіт, де в кожного етапу є перевірюваний результат.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142