Crane распознаёт проблемы с осанкой в реальном времени с помощью машинного обучения на вашем компьютере. Вот как именно это устроено — без чёрных ящиков и общих слов.
При первом запуске вы садитесь естественно, в своей обычной рабочей позе. Crane фиксирует вашу исходную осанку с помощью MoveNet — передовой модели оценки позы от Google. Модель определяет ключевые точки тела — нос, левое ухо, правое ухо, левое и правое плечо — и запоминает их взаимное расположение.
Эта исходная осанка становится вашей точкой отсчёта «хорошей осанки». Crane не навязывает универсальный стандарт: он учится тому, как хорошая осанка выглядит именно для вашего тела и вашего рабочего места. Если позже вы откалибруете заново (новое кресло, другая высота стола), Crane подстроится.
После калибровки Crane непрерывно обрабатывает изображение с веб-камеры с помощью TensorFlow.js, целиком в собственном процессе. Каждый кадр сравнивается с вашей исходной осанкой.
Три слоя обработки сигнала не дают ложных срабатываний:
Благодаря сглаживанию EMA Crane не реагирует, если вы на секунду наклонились за кофе. Алгоритм требует устойчивого отклонения, прежде чем менять балл. Фильтрация по уверенности справляется со слабым светом, частичным перекрытием (рука перед лицом) и другими случаями, когда модель не может надёжно оценить позу.
Сигмоидная функция превращает исходное отклонение в плавный балл осанки от 0 до 1. Так исчезает «зона дрожания», где мелкие движения заставляют оценку скакать между хорошей и плохой.
Когда балл осанки долго держится хуже заданного порога, Crane показывает уведомление, которое ничего не блокирует. Оно появляется полупрозрачным слоем: достаточно заметное, чтобы его увидеть, и достаточно скромное, чтобы не отвлекать, если вы заняты важным.
Ключевые решения:
Цель — сообщить, а не прервать. Вы замечаете подсказку боковым зрением и поправляете осанку, когда вам удобно, а не когда этого требует приложение.
Независимо от распознавания осанки Crane ведёт эргономичный таймер по выбранному профилю. Каждый профиль задаёт повторяющуюся последовательность активностей — сидеть, стоять, ходить, упражнение, растяжка — с длительностями из исследований по гигиене труда.
Например, профиль Deep Focus для разработчиков:
Когда подходит время смены (например, перейти от сидения к стоянию), Crane сообщает следующую активность. Таймер идёт дальше независимо от того, послушались вы или нет: Crane направляет, но никогда не заставляет.
В Crane входит 15 профилей для стилей работы от интенсивного программирования до творческой работы и колл-центра. Три бесплатны; все 15 доступны с Pro.
Приватность Crane — не решение на уровне правил, а инженерное решение. Для данных об осанке нет сервера. Нет сервера, который принимал бы изображение с вашей камеры. Данные о вашей осанке никогда не покидают компьютер. Единственная сетевая активность — проверка лицензии у пользователей Pro и обновления через магазин.
Изображение с камеры обрабатывается кадр за кадром в памяти силами TensorFlow.js. Каждый кадр анализируется, вычисляется балл осанки, и кадр тут же отбрасывается. На диск не записывается ни одного изображения. Ничего не буферизуется, не ставится в очередь и не передаётся.
В этом и разница между «мы обещаем не смотреть ваши данные» и «посмотреть ваши данные невозможно». Crane выбрал второе. Даже если приложение взломают, красть будет нечего — потому что ничего не хранится.