Нейросеть научилась определять время по часам с циферблатом

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

Training dataset for analog clocks
Обучающий набор нейросети: сгенерированные изображения часов с циферблатом в разных ракурсах и видеоролики с идущими часами.

Самые распространённые типы часов в наше время — часы с цифровым дисплеем и «аналоговые», обычно выполненные в виде круглого циферблата со стрелками. Для определения времени по циферблатным часам необходимо обладать определёнными навыками считывания информации исходя из пространственной ориентации объектов (в данном случае — двух или трёх стрелок, ориентированных по кругу циферблата). Для большинства взрослых людей эти навыки являются очевидными настолько, что мы о них не задумываемся и одинаково хорошо считываем время с обоих типов устройств. Но для нейросетей и систем компьютерного зрения «аналоговый» дисплей значительно сложнее цифрового. Компьютеры хорошо понимают, что показывают цифровые индикаторы на снимках — здесь задача напоминает задачу распознавания текста, с которой программное обеспечение давно успешно справляется. Кроме того, разные цифровые дисплеи выглядят более-менее одинаково. Циферблаты же бывают выполнены с огромным разнообразием форм, а цифры могут располагаться на них самым причудливым образом — их даже может не быть совсем. Кроме этого, на считывание влияют различные искажения на реальных снимках, в частности, тени, а также угол расположения камеры по отношению к циферблату. Исследователи Оксфордского университета попробовали восполнить этот пробел в машинном обучении и научить нейросети пользоваться часами со стрелками. Все данные проекта можно найти в репозитории на github, кроме того, статья по итогам разработки доступна на arXiv.org.

Neural network architecture for analog clock recognition
Архитектура нейронной сети для определения времени на изображении, содержащем часы с циферблатом.

В качестве наборов для обучения и испытания модели можно использовать множество готовых изображений, содержащихся в различных базах, специально создаваемых для разработки нейросетей. Авторы использовали две крупные базы COCO (Microsoft Common Objects in Context) и OpenImages, из которых взяли в сумме более трёх тысяч аннотированных изображений циферблатов часов. В дополнение они разработали генератор виртуальных стрелочных часов, затем использованный для создания обучающего набора данных. Алгоритм создаёт изображения часов в разных стилях, под разными углами и со случайным положением стрелок. К изображениям можно добавлять артефакты и искажения, которые встречаются на реальных снимках. В основном это нерезкость, тени, а также случайные линии, которые могут быть на реальных циферблатах, например, частью дизайна и которые машинное зрение могло бы перепутать со стрелками. Обучение модели проходило на таких сгенерированных изображениях и на 3,5 тыс. видео из интернета, содержащих идущие часы со стрелками.

Процесс считывания времени нейросетью проходит в несколько этапов. Первичная обработка после определения циферблатных часов на снимке заключается в деформации циферблата таким образом, чтобы он «смотрел» прямо в кадр. Это задача для свёрточной сети преобразований (Convolutional Transform Network). После этого другой алгоритм занимается непосредственно распознаванием времени на стрелках.

После обучения на искусственно созданных изображениях с дефектами и видеороликах с часами работу нейросети проверили на реальных фотографиях из трёх тестовых наборов. Инженерам удалось добиться считывания времени с часов со стрелками с точностью до минут. В качестве метрики для оценки качества обучения можно выбрать правильное определение отдельно часа, минуты, или и того и другого с разной точностью, учитывая, что стрелки на циферблатах в реальном мире могут иметь самый разный дизайн вплоть до того, что машине не под силу отличить часовую стрелку от минутной. Всего на 4472 изображениях часов (две базы фотографий и кадры из фильма «Часы») удалось правильно определить время в 73—85 процентах случаев в зависимости от набора данных и критерия «правильности» считывания.

analog clock recognition results
Автоматическое определение времени нейросетью на фотографиях из тестового набора.

Источник: 22century.ru

Комментарии: