Чтение времени с аналоговых часов удивительно сложно для компьютеров, но теперь искусственный интеллект может точно справиться с этой задачей. ИИ, обученный с помощью изображений часов, снятых под разными углами, смог точно определить время, которое показывали устройства.
Компьютерное зрение уже давно позволяет считывать время с цифровых часов, просто глядя на цифры на экране. Но аналоговые часы гораздо сложнее из-за ряда факторов, включая различные конструкции и тот факт, что тени и отражения скрывают стрелки.
Исследователи из Оксфордского университета разработали систему, которая может считывать циферблат аналоговых часов с точностью от 74% до 84%. Ученые обучили модель компьютерного зрения на трех наборах сгенерированных изображений часов под разными углами.
Эти изображения, а также правильное время, показываемое часами, были использованы для обучения нейронной сети с модулем STN, который мог искажать изображение, полученное под углом, для просмотра его под углом ровно 90 градусов. Более ранние версии таких нейронных сетей без модуля STN допускали ошибки при преобразовании изображений.
Создание дополнительных наборов данных помогает авторам новой разработки научить алгоритм правильно выполнять свою задачу. Модель также была обучена на наборе видеороликов с ускоряющимися движениями стрелки по циферблату. Ученые «скормили» алгоритму 4472 изображения часов.
Когда модель не справляется с задачей, это чаще всего связано с тем, что она путает минутную и часовую стрелки одинаковой длины. Люди могут справиться с этой сложностью, оценив различную скорость движения стрелок, но со статичными изображениями это, понятно, не работает.