Британські інженери навчили нейромережу розпізнавати час на стрілкових годинниках із точністю до хвилини. Для цього їм довелося створити алгоритм, що генерує зображення аналогових годинників, подібні до реальних. Але зрештою алгоритми змогли правильно визначити час за стрілками щонайменше у 74 відсотках випадків. Дослідження оприлюднили на сайті arXiv.org.
У чому проблема визначити час за стрілками годинника?
Хоча ми можемо певною мірою орієнтуватися в часі за внутрішнім відчуттям його плину та зовнішніми ознаками, наприклад, освітленістю й тінями, лише годинник дає змогу точно слідкувати за часом. Він буває різних типів, найпоширенішими з яких є цифровий, що видає готову інформацію на дисплей, та аналоговий зі стрілками, для визначення часу за яким треба розвинути прості навички його розуміння. Для більшості дорослих людей немає нічого складного у тому, щоб зчитати інформацію з обох цих пристроїв. Натомість для нейромереж із системами комп'ютерного зору завдання мають різну складність. Вони добре розуміють, що показує цифровий годинник. Це схоже на зчитування тексту, у якому комп'ютери досягли значного успіху. До того ж різні цифрові годинники виглядають схожим чином. На відміну від них аналогові бувають величезної кількості форм, у них можуть по-різному розташовуватися цифри (а іноді їх взагалі немає), з різною кількістю стрілок, а крім цього зчитуванню можуть заважати тіні та спотворення зображення через кут розташування камери. Проблема існує вже давно, тому інженери Оксфордського університету вирішили нарешті навчити нейромережі правильно користуватися годинником зі стрілками.
Як навчити нейромережу зчитувати час з аналогових годинників?
Науковці розробили генератор віртуальних стрілкових годинників, згодом використаний для створення тренувального набору даних. Їхній алгоритм створював симуляцію годинників різного стилю, під різним кутом зору та з різним значенням часу на них, а також з можливістю додавати артефакти та спотворення, подібні до тих, що їх можна зустріти на реальних зображеннях (тіні, випадкові лінії, розмиття тощо). Додатково у процесі навчання використали набір із 3 443 відео з інтернету, на яких прискорено відтворено хід годинників.
Процес зчитування часу комп'ютером відбувався у кілька етапів. Спершу після виявлення годинника алгоритм деформує його зображення таким чином, щоб показаний під кутом годинник розташувався ніби він прямо спрямований до камери. Завдяки цьому інший алгоритм зміг розпізнати показаний стрілками час.
Зрештою, інженерам вдалося добитися того, щоб комп'ютер самостійно зчитував час зі стрілкового годинника точно до хвилини. Він успішно визначив час на годинниках із 4 472 зображень із точністю від 73,8 до 84,8 відсотка, у залежності від виду тестового набору даних.