Сегодня на Яндекс.Картах появилось более 230 000 фотографий примерно для 130 000 домов — это больше, чем количество всех строений в многомилионной Москве. Конечно, такое количество домов не под силу обойти фотографам. По крайней мере, это была бы титаническая работа. Фотографии делаются с помощью специально разработанной технологии на базе Панорам — Автофотографа.
Панорамы улиц состоят из множества снимков, на которых запечатлены тысячи зданий. Но просмотреть все панорамы и «вручную» вырезать из них снимки домов — это сложно и долго. Панорамы снимаются через каждые 20-50 метров, и только для одного Петербурга было сделано 60 тысяч панорам. Поэтому нужно было разработать механизм, который бы автоматически находил на панорамах здания, вырезал и отбирал лучшие кадры. Этот механизм и получил название Автофотограф.
Автофотограф находит на панорамах дома, сопоставляя панорамный снимок и соответствующий фрагмент обычной карты. Зная координаты дома на карте и его очертания, Автофотограф определяет, как расположен дом относительно точки съемки. Для этого он вычисляет для крайних точек здания азимут (угол между направлением на север и на объект). А затем по этим азимутам находит дом на панорамном снимке.
Сначала Автофотограф делает снимки всех домов подряд, не обращая внимания, хорошо ли они видны. Может оказаться, что дом на снимке закрывает листва или неудачно припаркованный грузовик. Такие фотографии, конечно, не помогут пользователям рассмотреть здание. Поэтому дальше Автофотограф оценивает качество снимков. Для этого был создан специальный классификатор, который анализирует фотографию и выставляет свою оценку — от единицы до трех.
При оценке снимков классификатор учитывает целый ряд факторов: линейные размеры здания, угол съемки, расстояние от точки съемки до дома. Эти параметры помогают определить, в каком ракурсе и насколько крупно снято здание. Кроме того, анализируется само изображение: насыщенность цвета, цветовые и геометрические составляющие. Так, если снимок содержит много разнонаправленных линий, скорее всего, дом плохо различим. А если на фотографии много зеленого или желто-оранжевого цвета, здание может быть закрыто листвой.
Классификатор-оценщик настраивался с помощью машинного обучения. Чтобы научить машину определять качество снимков, специалисты вручную отобрали несколько тысяч хороших фотографий. Проанализировав снимки, классификатор выделил наиболее важные для определения качества факторы и рассчитал их значимость.
Обычно здание попадает сразу на несколько панорам, поэтому у Автофотографа получается 15-20 снимков одного дома. Среди них нужно выбрать несколько хороших фотографий, снятых с разных точек. Пользователям удобно, когда они могут увидеть здание с разных сторон. Для этого Автофотограф разбивает все снимки на группы (по секторам) — в зависимости от того, с какой точки и с какого расстояния они были сделаны. И затем выбирает несколько лучших фотографий из разных секторов.
Отобранные снимки загружаются на сервис Яндекс.Фотки, а оттуда попадают на Яндекс.Карты. Эти фотографии и видят пользователи на карточке здания.
Автор: paperchild