Kluch ArenaОткрыть
Все статьи

Телефон вместо судьи: как камера считает отжимания и где она ошибается

Попросить человека самому вписать «47» легко. Поверить в это число во время дружеского батла чуть сложнее. Поэтому мы дали Kluch Arena камеру — и довольно быстро поняли, что распознать согнутый локоть недостаточно: так можно набивать очки, сидя перед телефоном.

Что видит приложение

Kluch Arena использует модель распознавания позы MediaPipe. Она не понимает человека как человек: вместо майки, пола и дивана получает набор ключевых точек — плечи, локти, запястья, таз и другие ориентиры.

Для отжимания приложение отслеживает цикл из верхнего положения в нижнее и обратно. Одного изменения угла локтя мало. Линия плеч должна действительно опуститься относительно устойчивых точек, а корпус — двигаться вместе с ней. После возврата рук в верхнее положение цикл может стать повторением.

Почему мы не требуем идеальную спортивную технику

Люди отжимаются широко и узко, быстро и медленно, фронтально и немного по диагонали. Если алгоритм принимает только демонстрационный повтор из учебника, честный пользователь злится раньше, чем успевает увидеть рейтинг.

Поэтому счётчик работает с диапазонами, сглаживает дрожание точек и допускает короткую потерю одной руки в движении. При этом он ждёт заметного опускания плеч и полного возврата. Это компромисс: достаточно мягкий для домашней тренировки, но не сертифицированная система судейства.

Как поставить телефон, чтобы не спорить с камерой

Поставьте телефон устойчиво примерно на уровне корпуса. Для текущего счётчика подходит фронтальный ракурс или небольшой поворот, при котором одновременно видны плечи, локти, кисти и таз. Ноги могут не помещаться полностью — для проверки движения корпуса важнее верхняя часть тела и таз.

Оставьте воздух вокруг силуэта. Когда локоть упирается в край экрана или кисть закрыта мебелью, модель теряет опорную точку. Контровой свет из окна и трясущийся штатив дают похожий эффект: движение есть, но его геометрия становится ненадёжной.

  • протрите камеру и включите ровный свет
  • обоприте телефон так, чтобы он не двигался вместе с полом или столом
  • проверьте, что видны оба плеча, хотя бы одна рука целиком и таз
  • перед первым быстрым повтором задержитесь в верхнем положении
  • ориентируйтесь на подсказку в кадре, а не только на число

Почему быстрое повторение иногда не засчитывается

Камера видит движение отдельными кадрами. Если человек очень быстро проходит нижнюю точку, а телефон в этот момент пропускает кадр или теряет локоть, у счётчика не остаётся надёжного доказательства полного цикла.

Мы уже меняли обработку быстрых отжиманий после живых тестов: добавили сглаживание, допустили краткую асимметрию рук и стали проверять движение плеч относительно кистей. Но бесконечно ослаблять пороги нельзя — тогда сгибание рук перед камерой снова начнёт выглядеть как настоящий подход.

Можно ли обмануть такую систему

Любое компьютерное зрение можно попытаться обмануть нестандартным ракурсом, другим человеком в кадре или специально подобранным движением. Цель Kluch Arena — убрать случайный ручной ввод и сделать правило одинаковым для друзей, а не доказать результат на официальном турнире.

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

Что происходит с видео и результатом

Видео и точки позы не сохраняются и не отправляются на сервер. Распознавание выполняется в браузере на устройстве. После завершения подхода приложение передаёт число повторений, длительность и выбранное упражнение — именно эти данные нужны рейтингу и личной статистике.

Из этого следует простое правило приватности: друзья могут видеть ваш итог, но не получают запись комнаты или тренировки. Если камера недоступна, приложение должно честно остановить сценарий, а не подменять распознавание ручным числом.