ИИ
Автоподсчёт очков по тридцати наборам правил: самая сложная задача спортивного ИИ
Определить, что очко набрано, — это просто. Понять, чьё это очко, по какому правилу и каким стал счёт, — вот что сложно.
В спортивных технологиях принято удобно считать, что автоматический подсчёт очков — это задача компьютерного зрения: увидеть, что мяч приземлился в ауте, присудить очко, готово.
Зрение — это лёгкая половина. Сложная в том, что видеть произошедшее почти ничего не говорит о том, каким теперь стал счёт.
Пример, который только кажется простым
Волан приземляется за боковой линией. Зрение сообщает об этом с высокой уверенностью. Теперь присудите очко.
Кому? Это зависит от того, кто ударил последним, а для этого нужна последовательность ударов розыгрыша, а не один кадр. Это был парный розыгрыш? Тогда может измениться очерёдность подач, а кто подаёт следующим, зависит от чётности счёта и от того, какая сторона только что выиграла. Это был матчбол? Тогда матч окончен, сетка должна продвинуться, корт свободен, а расписание нужно пересобрать. Это решающая партия при 20-20? Тогда действует правило двух очков разницы, и 21 ничего не заканчивает.
Зрение дало один факт. Чтобы превратить его в счёт, потребовались история розыгрыша, набор правил вида спорта, формат матча и структура турнира. Вот где кроется сложность, и поэтому мы считаем автоподсчёт задачей правил с входом от зрения, а не задачей зрения.
Зрение предлагает, движок правил решает, судья подтверждает
Эту работу выполняет тот же движок правил, который описан в нашей статье о мультиспортивной архитектуре. Зрение фиксирует наблюдение. Движок применяет правила вида спорта к истории розыгрыша и формирует предлагаемое изменение счёта. И только потом оно попадает к судье — как заполненное действие, которое нужно подтвердить, а не как «сырое» обнаружение, которое нужно истолковать. Именно такой порядок делает функцию удобной, а не источником лишней работы.
Уверенность должна быть полноценным результатом
Система подсчёта, которая права в 97% случаев, но не может сказать, какие 3% ошибочны, хуже, чем отсутствие системы: человеку теперь нужно проверять всё.
Поэтому каждое предложение сопровождается оценкой уверенности, и от неё меняется поведение интерфейса. При высокой уверенности очко засчитывается автоматически после короткой паузы, которую судья может прервать. При средней — ждёт явного подтверждения. При низкой — окклюзия, неоднозначный контакт, действительно спорный вызов линии — система ничего не предлагает и сразу передаёт решение судье.
Настройка этого порога — решение о том, какая ошибка хуже, и ответ зависит от контекста. В школьной лиге неверно автоподтверждённое очко — мелкая неприятность. На национальном рейтинговом турнире это недопустимо, и порог смещается соответственно.
Почему судью никогда не убирают
Нас регулярно спрашивают, когда автоподсчёт заменит судей. Честный ответ: не должен, и не в первую очередь по техническим причинам.
Судья — не просто тот, кто записывает счёт. Он следит за поведением, принимает решения в ситуациях, которых не предусматривает ни одно правило, разбирает споры и несёт ответственность, благодаря которой результат считается легитимным. Уберите его, и вы не автоматизируете работу — вы устраните того, к кому игрок может обратиться с апелляцией, а вместе с ним и причину, по которой кто-либо принимает результат.
На самом деле автоподсчёт снимает механическую нагрузку: следить за счётом, помнить очерёдность подач, применять правило двух очков при 20-20, считать на шестом часу турнира. Судьи, которые им пользовались, описывают перемену так: теперь можно смотреть на матч, а не на протокол, — и это делает их лучше в том, что под силу только им.
Где он сильнее всего
Лучше всего — в ракеточных видах спорта, где наборы правил чётко очерчены, а обучающих данных больше всего. Уверенно — в борьбе и командных видах спорта с таймером, в механических задачах: часы, периоды, подсчёт очков; в спорных эпизодах основную работу по-прежнему делает человек. Слабее всего — в видах спорта, добавленных последними, и это закономерно.
Он работает параллельно с обычным подсчётом, а не вместо него, и любой турнир может отключить его полностью. Ничто на платформе не зависит от того, включён ли он.