Новая компьютерная программа лучше человека определяет место по фотографии

Очень сложно определить, где была сделана фотография, если на ней нет ничего, кроме дороги и деревьев. На снимке дорога в Карелии, Россия

Очень сложно определить, где была сделана фотография, если на ней нет ничего, кроме дороги и деревьев. На снимке дорога в Карелии, Россия
(фото Google Street View).

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

Программа PlaNet анализирует изображение и привязывает его к одной из ячеек на своей карте
(иллюстрация PlaNet).

Очень сложно определить, где была сделана фотография, если на ней нет ничего, кроме дороги и деревьев. На снимке дорога в Карелии, Россия
Программа PlaNet анализирует изображение и привязывает его к одной из ячеек на своей карте
Специалист компании Google создал компьютерный алгоритм, который узнаёт место съёмки любой фотографии, даже если на снимке нет никаких визуальных подсказок. В ходе испытаний программа справилась с заданием лучше, чем люди с богатым опытом путешествий.

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

Специалист по компьютерному зрению компании Google Тобиас Веянд (Tobias Weyand) и его коллеги разработали алгоритм, который очень точно определяет место съёмки любой фотографии. При этом программисты использовали довольно простой подход. Они разделили карту мира за исключением океанов и полярных областей на 26 тысяч квадратов и привязали к соответствующим ячейкам 126 миллионов фотографий, хранящихся в свободном доступе и снабжённых геотегами.

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

Первые испытания показали, что программа, получившая название PlaNet, определяет континент с точностью 48%, правильно выбирает страну в 28,4% случаев, для 10,1% фотографий верно узнаёт город, а 3,6% изображений точно привязывает даже к конкретным улицам.

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

Может показаться, что эффективность такого анализа не очень высока. Но создатели провели ещё одно тестирование, в ходе которого программа соревновалась с десятью людьми, имеющими богатый опыт путешествий по миру. Все участники должны были угадывать место съёмки произвольных панорамных изображений Google Street View, как в популярной онлайн-игре Geoguessr.

В результате PlaNet выиграла 28 из 50 раундов и в среднем ошибалась на 1132 километра, в то время как средняя ошибка людей составила 2320 километров.

PlaNet превосходит все предыдущие аналоги, а в некоторых случаях достигает сверхчеловеческого уровня точности, сообщают авторы программы в препринте статьи на сайте arXiv.org.

Веянд подчёркивает, что новый алгоритм не ищет на фотографиях надписи, известные архитектурные объекты и другие подсказки, доступные человеку, а опирается только на анализ пикселей. Удивительно, что при такой впечатляющей производительности PlaNet занимает всего 377 мегабайтов памяти, что позволяет использовать систему даже на мобильных устройствах.

Так как с большими городами связано больше снимков, на карте PlaNet они разделены на более мелкие квадраты, чем удалённые малонаселённые районы. В связи с этим в программе представлена только европейская часть России и отдельные районы центральной Сибири и Дальнего Востока.