Фотограф-картограф

28 июня, 14:00

Современные электронные карты гораздо подробнее бумажных атласов. На них отмечены не только улицы и дома, но и организации, подъезды, скоростные лимиты, камеры и парковки. Чем больше данных на карте, тем сложнее следить за их актуальностью. Изменения происходят буквально каждый день: где-то появился новый дорожный знак, где-то открыли целую развязку, а где-то дачники установили шлагбаум, чтобы автомобилисты не объезжали пробку через их посёлок.

О многих изменениях Яндексу сообщают пользователи. Мы очень ценим такие отзывы — это один из самых оперативных источников информации. Иногда люди проделывают огромную работу: например, составляют длинный список неточностей и присылают его письмом. Теперь передавать данные об изменениях можно быстрым и удобным способом — с помощью приложения Народная карта.

Как это работает

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

Через приложение можно передавать как одиночные снимки, так и серии фотографий. Например, водители могут закрепить смартфон на лобовом стекле и заснять дорогу от дома до дачи. В этом случае программа будет делать фото раз в одну-две секунды и сохранять их на смартфон. Снимки никуда не загружаются сами по себе. Приложение передаёт их только после того, как пользователь нажмёт кнопку «Отправить» и подключится к Wi-Fi. После отправки фото удаляются.

Как обрабатываются снимки

Считывать данные с сотен тысяч фотографий картографам помогают технологии компьютерного зрения. Они решают две задачи: проверяют качество снимков и распознают на них важные объекты. Проверка качества проходит сразу после получения новых снимков. На карту попадают только чёткие изображения — размытые или сделанные в темноте фотографии удаляются.

На следующем этапе снимки анализирует система распознавания изображений. Она выявляет на фото важные объекты и считывает с них информацию, которая затем сверяется с данными карты. Если есть расхождения — например, на фото дорожный знак «60», а карта говорит, что в этом месте можно ехать девяносто, — место помечается значком. Такие места картографы проверяют в первую очередь.

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

39 комментариев
Владимир Л.
28 июня, 14:58
Когда выйдет для iOS ?
Света Чистякова
Сотрудник Яндекса28 июня, 15:47
Если на Android всё пойдёт хорошо, тогда выпустим и на iOS. Когда именно, пока точно сказать не можем :(
Владимир Л.
28 июня, 16:19
Света Чистякова,
печально.
Планируется ли создавать запросы для фотографов, или помечать в приложении, на народной карте, чтобы те обследовали не все подряд, а неиследованные или плохоисследованные области? Было бы удобно в таком приложении видеть иногда push-уведомления с предложением сфотографировать объект, который находится в зоне 100-500-1000м, например.
akbars
Сотрудник Яндекса29 июня, 14:23
Zlyoha,
спасибо за предложения, подумаем над ними.
Но важно также понимать, что отснятые дороги называть "исследованными" не всегда верно. Ситуация на дорогах меняется, иногда очень быстро, и поэтому важна именно регулярная съемка, особенно это актуально для основных улиц и магистралей.
Молодцы!
Можно ли удалить снимки без загрузки их на сервер?
akbars
Сотрудник Яндекса29 июня, 14:22
V/taliy,
пока такой возможности нет, но планируем добавить
Отличная идея! Когда сделаете программу бета-тестирования на Google Play?
И всё же хотелось бы видеть возможность работы в офлайн на Народной карте на Android. Не могли бы вы интегрировать такой функционал в Я.Карты или создать отдельное приложение, пожалуйста?
akbars
Сотрудник Яндекса2 июля, 14:07
rakleed,
если вы про бета-тестирование применительно к новому приложению, то оно само по сути экспериментальное. Работать офлайн приложение может и сейчас - для съемки интернет не нужен, нужен только работающий gps
Или про офлайн был вопрос непосредственно про редактирования карты?

akbars,
непосредственно про редактирование карты.
akbars
Сотрудник Яндекса3 июля, 12:10
rakleed,
пока непосредственно редактирование из приложения не планируем, а концентрируемся именно на сборе данных
Добавьте функционал в яндекс навигатор, т.е. я еду по навигатор и делаю снимки
+ было бы хорошо сделать возможность вертикальной съёмки. 
akbars
Сотрудник Яндекса3 июля, 12:02
V13-th,
думаем про возможность работы приложения в фоне, фактически параллельно с Навигатором. Но про непосредственное встраивание функционала съемки в Навигатор сейчас речь не идет.
А почему то 3-5 кадров в секунду то 1 кадр в 7-10 секунд?
Первые 1500 в московской области наснимал очень быстро и еще 500 минут 30
akbars
Сотрудник Яндекса3 июля, 12:12
V13-th,
можно попросить прислать пример(ы) мест, где съемка велась слишком редко (1 кадр в 7-10 секунд) и слишком часто (3-5 кадров в секунду)? 
Вообще такого быть не должно (штатная частота съемки - примерно кадр в секунду), возможно какой-то баг имеет место быть.
akbars,


https://yandex.ru/maps/?ll=37.928553%2C55.622733&z=15&mode=routes&rtext=55.558674%2C37.942951~55.630248%2C37.928167&rtt=auto вот на этом участке скорость съемки была примерно 3 кадра в секунду

https://yandex.ru/maps/213/moscow/?ll=37.936695%2C55.702489&z=15&mode=routes&rtext=55.630248%2C37.928167~55.669099%2C37.907053~55.712654%2C37.815429~55.680936%2C37.888501~55.703725%2C37.931363&rtt=auto вот на этом 1 кадр в минуту
это было 02.07.2018 вечером, первый участок примерно в 17, второй 19-20
https://yandex.ru/maps/213/moscow/?ll=37.666196%2C55.823686&z=15&mode=routes&rtext=55.790325%2C37.657689~55.807208%2C37.674367~55.823619%2C37.664876&rtt=auto сегодня в 13:30-14 3-5 кадров в секунду после того как принудительно остановил приложение, выключил потом включил разрешение на доступ к памяти телефона, запустил приложение
akbars
Сотрудник Яндекса4 июля, 11:38
V13-th,
спасибо за примеры, забрали их  разбираться.
akbars
Сотрудник Яндекса4 июля, 11:59
V13-th,
сразу хочется уточнить - все снимки о которых вы пишете, уже выгружены из Приложения?
akbars,
от ТТК до ярославки выгружаю
первые два - выгружены
предлагаю добавить галочку автоматически выгружать по wifi
Обновлено 4 июля, 12:34
akbars,
все выгружено
akbars,
методом тыка выявлено следующее:
если скорость съемки низкая, свернуть приложение, открыть другое приложение (я телефон открываю), открыть приложение нажать "начать съемку", скорость нормальная будет
если при ведущейся съемке на нормальной скорости ткнуть в экран, то срабатывает фокусировка и скорость падает до 1 кадра в 30-60 секунд
android 8.0.0, galaxy s7, камера 7.6.59
akbars
Сотрудник Яндекса6 июля, 17:35
V13-th,
спасибо за подробные данные, специально не отписывался, но их тоже "приобщили" к рассмотрению проблемы.
Подтвердить системность ваших гипотез про замедление съемки пока не можем, но проверим их.
Предложения по развитию приложения (функционала сервиса):
1) обратная связь, например после анализа фотографий сообщать сколько процентов фото принято системой в работу
2) обратная связь, после обработки фотографий сообщать пользователю сколько он помог исправить мест, т.е. "вы помогли исправить 5 ограничений скорости и 3 места парковки"
3) оптимизация, собирать фото с участка дороги 1-2 раза в день, т.е. брать с сервера необходимую частоту съемки на данном участке дороги, делать съемку с необходимой частотой, загружать фото на сервер. пример: 1 пользователь проехал по волгоградскому проспекту от МКАД то ТТК, система распознала и приняла 50% фото, от МКАД до Кузьминок, следующие фото принимаются с данного участка только через 6/8/10/12 часов (можно привязать к времени восхода +2ч и заката -2ч) это снизит нагрузку на канал передачи данных и вычислительные мощности
4) обратная связь, показывать в приложении степень проработанности участка дороги, например красным кружком в углу данных нет или они устарели, зеленым данные свежие и актуальные, желтым данные не свежие но и не очень старые, лучше бы обновить
akbars
Сотрудник Яндекса4 июля, 11:43
V13-th,
спасибо за развернутые предложения.
Про информирование пользователей (пп.1-2) - обязательно подумаем.
Про п.3 будем думать, когда у нас действительно будут десятки проездов в день по нагруженным магистралям. Тут пока основное направление - оставлять какое-то количество наиболее свежих снимков, удаляя из интерфейса Народной карты более старые снимки
П.4 уже озвучивался пользователями в качестве пожелания, подумаем над реализацией.
50.449406, 40.138904
в данном месте множественные ложные срабатывания, человек за фурой ехал, система знаки с прицепа читала
akbars
Сотрудник Яндекса10 июля, 11:08
V13-th,
да, про такие (и подобные) ложные срабатывания мы знаем и фидбек про них собираем постоянно, на таких ошибках алгоритм "учится" работать лучше, чтобы ложных распознаваний было меньше (а в идеале вообще не было).
нужно еще научить распознавать знаки населенного пункта, начало и конец
и отмену знака ограничения скорости, т.к. если на карте указано 90 и начало населенного пункта, а знака нет, то ошибки нет
ну и наоборот, населенный пункт кончился, можно 90, а на карте стоит 40 или 50, ошибки тоже нет
akbars
Сотрудник Яндекса10 июля, 11:10
V13-th,
мы на самом деле постепенно "учим" алгоритм распознавать вообще все дорожные знаки, не только относящиеся к ограничению скорости и парковкам. 
Так что в будущем надеемся, польза от съемок будет ещё больше (сможем обнаруживать больше видов неточностей на карте) 
Дима Дубровин
5 июля, 21:19
Добрый день. Как можно связаться с кем-то отвечающим за яндекс карты, для консультации. Приложение для инвалидов-колясочников
akbars
Сотрудник Яндекса10 июля, 11:32
Дима Дубровин,
лучше всего написать через форму обратной связи непосредственно в приложении: Настройки → О приложении → Написать разработчикам
а система обучается по результатам ручной проверки пользователями снимков на карте?
т.е. если я стабильно бракую ошибку по ограничению скорости, когда система считала 10/15/20 с таблички платной парковки как знак ограничения скорости, следующие такие знаки система будет сама перепроверять не знак ли это платной парковки или нет?
akbars
Сотрудник Яндекса10 июля, 11:24
V13-th,
в том числе. Чем больше объем размеченных "плохих" распознаваний, тем лучше алгоритм будет работать.
Добавьте, пожалуйста, на экран текущую скорость и ограничение скорости на данном участке, очень не хватает в незнакомых местах
Когда уже обновят панорамы Сыктывкара...
Уже второй раз "ломается" подборка фотографий 
Выглядит так: 
1 раз:  телефон переключился  в ночной режим, приложение зависло, после повторного запуска приложения счетчик кадров стал на 0 счетчик объема показывал 1.5 гига
2 раз (версия 0.17): телефон перегрелся от камеры и завис, пришлось перезагрузить. После перезагрузки счетчик кадров 0, объем вычисляется, пишет в приложении  "файловая система повреждена", в памяти приложение занимает 4.62 гига, около 10000 снимков. Обидно блин(
Дополнение: начать новую съемку не дает
Сева Севастополь
12 июля, 21:19
Поставил приложение.. Сделал сьемку Севастополь-Ялта-Алушта и назад.. Получилось 13Гб. Выгрузилось дома успешно и на карте весь путь можно просмотреть. Но у меня вопрос - нужно ли делать сьемку повторно снятого ранее маршрута или снятого кем то другим этого же маршрута ранее? Ведь получиться что трекер ляжет на предидущий трекер, ведь так?