Comments 34
del
0
Интересно Народную карту модераторы контролируют или АИ проверяет изменения. Рисую свалку — её не утверждают.
0
Вот бы нам, в OSM такой инструмент. Хотя бы как плагин к josm. эх…
+1
В OSM было много докладов на эту тему. В этом году и Microsoft делал, и Facebook и еще пару разных проектов. Проблема всегда одна: кто будет адреса пилить?
В Америке домики отрисованы, но смысл без адреса почти нулевой.
В Америке домики отрисованы, но смысл без адреса почти нулевой.
0
А когда дому присваивают кокой-то адрес, он в каких документах появляется? Может быть эти документы есть в публичном доступе? Тогда можно использовать другую нейросеть и распарсить какой-нибудь канцелярит. Потом соотнести его с существующими реалиями и выяснить о каком доме идёт речь.
0
В России адреса можно поставить по кадастровой карте. Так же есть APIб которое возвращает кадастровый адрес по координатам.
0
Проблема всегда одна: кто будет адреса пилить?Как минимум в MAPS.ME при наличии отрисованного здания у человека появляется возможность изменить/добавить адрес. Это не массовые правки, но уже что-то.
0
Я на дачах разметил линии номерами и центральные улицы назвал именами дачных массивов все председатели именно так и рисуют на планах, но кому то не понравилось рефы улиц и их выпилили.Кстати Павел Гурдэ не заморачивался поиском топонимов а тракты просто нумеровал, в Верном только в 1957 году стали улицам давать имена улицам до этого были № квартала как в Порт Артуре.
0
Чтобы задать адрес, домик уже должен быть. Не представляете как сложно собирать адреса когда домов нет/частично есть. Потом разбирать записи и выяснять какому из домов соответствует заметка — гораздо сложнее. Хуже только в чистом поле без дорог и домиков пытаться что-то сделать.
+1
адрес может присваиваться не только домику но и участку земли.
0
Я к тому что точку в пяти метрах от себя не все могут найти на экране смартфона, когда там нет ничего. А когда потом ещё выясняется, что GPS мобильника тебя держал на 20 метров левее (или кто-то рисовал дороги по спутнику без коррекции смещения снимка) — и подавно. А так хоть с реальностью есть возможность сопоставить.
0
> смысл без адреса почти нулевой
смысл? Ну например в «векторизации» Генштаба )))
смысл? Ну например в «векторизации» Генштаба )))
0
Согласен, что было бы здорово. При этом, я постоянно везде пишу, что контуры домов — наименее приоритетные объекты на карте. Ну, после крышек люков, наверное. Главное — их параметры: адрес, этажность. Этого ни с какого спутникового снимка не получишь, и именно для таких данных яндекс сделал «народную карту», а не полагается на автоматику.
0
Не пробовали использовать GAN для "предобработки" изображений?
0
GAN'ы в этой задаче пока не использовали.
«Карты», которые выдает генератор в Pix2Pix, выглядят довольно красиво, но их также придется дополнительно обработать, чтобы получить векторизованные здания, а это, кажется, еще более сложная задача, чем обработать семантическую сегментацию.
Есть множество работ, в которых GAN'ы используются для улучшения качества семантической сегментации. Например, вот эта Semantic Segmentation using Adversarial Networks. Возможно, стоит попробовать их.
«Карты», которые выдает генератор в Pix2Pix, выглядят довольно красиво, но их также придется дополнительно обработать, чтобы получить векторизованные здания, а это, кажется, еще более сложная задача, чем обработать семантическую сегментацию.
Есть множество работ, в которых GAN'ы используются для улучшения качества семантической сегментации. Например, вот эта Semantic Segmentation using Adversarial Networks. Возможно, стоит попробовать их.
0
Увидел тему, изображение и сначала не понял, что моя курсовая работа времен института (Разработка методов распознавания городской застройки по аэрофотоснимкам) делает в блоге Яндекса, ну очень уж похоже :D
Правда меня в дипломе интересовала больше скорость распознавания и возможность использования алгоритмов в реалтайме, потому что целевая задача была иной и я не рассматривал возможность использования нейросети. Тем не менее, результаты точности распознавания в статье прекрасны, я впечатлен)
Правда меня в дипломе интересовала больше скорость распознавания и возможность использования алгоритмов в реалтайме, потому что целевая задача была иной и я не рассматривал возможность использования нейросети. Тем не менее, результаты точности распознавания в статье прекрасны, я впечатлен)
+3
Действительно, похоже. Видимо, зеленый цвет лучше всего смотрится на спутниковых снимках :)
А какие методы для распознавания Вы использовали? Расскажите, пожалуйста, очень интересно.
А какие методы для распознавания Вы использовали? Расскажите, пожалуйста, очень интересно.
0
Так как главная актуальность в дипломе была определена, кажется, как «определять местоположение по зданиям», а вторичная — «искать изменения городской местности со временем», то у меня использовались не особо интересные методы с современной точки зрения (ну и, конечно, тот факт, что времени на все это было в обрез, тоже повлиял). Первый способ подходил вообще только для зданий, которые просто были внесены в базу вручную, это достаточно сильное отклонение от темы, но выглядело это примерно так:
Т.е. по сути это поиск зон по ключевым точкам, в котором использовался алгоритм SIFT из всем известного OpenCV. Когда я начинал только этим заниматься, по своей наивности я считал, что здания по большей части все одинаковые, а значит для распознавания достаточно добавить в базу здания или даже их части с наиболее выраженными признаками. Конечно, это никак не работало. Если я правильно помню, то без предобработки все изображения зашумлены слишком сильно, а если обрабатывать, то признаков останется слишком мало, чтобы SIFT или SURF адекватно сработали на нахождение ключевых точек конкретных зданий. Для моих целей это работало достаточно быстро и абсолютно точно, в принципе, но для целей распознавания зданий напрямую это никак не годилось.
Второй мой алгоритм ближе к теме, но гораздо более прост и неточен, чем те, что описываются в статье:
Сначала выделяются контура алгоритмом Line Segment Detector (он быстрее и лучше, чем использовать Canny edge detector или Hough Transform), потом линии достраиваются и, наконец, проходят простой фильтр наличия отрезков на всех изначально обнаруженных и достроенных сторонах, в принципе это все, на что меня хватило на тот момент. Прямоугольные здания, конечно, распознавались очень неплохо, чего нельзя было сказать про сложные строения, ну зато это происходило достаточно быстро. Думаю, если бы покопался подольше, поискал нужные фильтры, добавил бы полигональный билдер какой-нибудь, это все работало повеселее :D
Т.е. по сути это поиск зон по ключевым точкам, в котором использовался алгоритм SIFT из всем известного OpenCV. Когда я начинал только этим заниматься, по своей наивности я считал, что здания по большей части все одинаковые, а значит для распознавания достаточно добавить в базу здания или даже их части с наиболее выраженными признаками. Конечно, это никак не работало. Если я правильно помню, то без предобработки все изображения зашумлены слишком сильно, а если обрабатывать, то признаков останется слишком мало, чтобы SIFT или SURF адекватно сработали на нахождение ключевых точек конкретных зданий. Для моих целей это работало достаточно быстро и абсолютно точно, в принципе, но для целей распознавания зданий напрямую это никак не годилось.
Второй мой алгоритм ближе к теме, но гораздо более прост и неточен, чем те, что описываются в статье:
Сначала выделяются контура алгоритмом Line Segment Detector (он быстрее и лучше, чем использовать Canny edge detector или Hough Transform), потом линии достраиваются и, наконец, проходят простой фильтр наличия отрезков на всех изначально обнаруженных и достроенных сторонах, в принципе это все, на что меня хватило на тот момент. Прямоугольные здания, конечно, распознавались очень неплохо, чего нельзя было сказать про сложные строения, ну зато это происходило достаточно быстро. Думаю, если бы покопался подольше, поискал нужные фильтры, добавил бы полигональный билдер какой-нибудь, это все работало повеселее :D
+6
Писал магистерскую — так и не дошел до выделения отдельных зданий.
0
А на чем закончили?
0
Там было больше про спектральные индексы:
Разделение на растительность, почву, воду и искусственные объекты. Определение изменений состояния растительности. Поиск изменений формы областей, занимаемых растительностью, почвой и т.д. Ну и все в таком духе.
Закончил на разделении области искусственных объектов методом k-средних.
А до алгоритма, который точно бы указывал — здание это или нет, не дошло.
Разделение на растительность, почву, воду и искусственные объекты. Определение изменений состояния растительности. Поиск изменений формы областей, занимаемых растительностью, почвой и т.д. Ну и все в таком духе.
Закончил на разделении области искусственных объектов методом k-средних.
А до алгоритма, который точно бы указывал — здание это или нет, не дошло.
0
Пробовал как-то unet для поиска трещин на фото стекол, к сожалению эта сеть плохо работает, если классы на выходе (черные и белые) сильно не сбалансированны (трещин мало и они тонкие), что с этим делать — не понятно.
0
Хотелось бы посмотреть распознанное изображение вида сверху материнской платы.
Там тоже свои конденсаторы — высотки и слоты — панельные многоквартирники
Там тоже свои конденсаторы — высотки и слоты — панельные многоквартирники
0
Изображение справа тоже сегментировано Mask R-CNN? Удивительно, что у вас получилось выделить плотно расположенные однотипные объекты. В моих попытках для таких случаев region proposal network обучить не удавалось, но сеть маски работала очень хорошо.
0
3. Найти самую длинную сторону в контуре. Именно её угол наклона определит угол всего будущего ортогонального многоугольника.
Так как необходимый угол поворота сетки заранее неизвестен, приходится перебирать несколько значений, что плохо сказывается на производительности.
Делал ортогонализатор как раз для домов (на C, на Java), пришёл к выводу, что перебор и самая длинная сторона — не лучшие способы. В итоге сделал через доворот (шагами по 90 градусов) всех векторов контура внутрь сектора 90 градусов, умножение длин векторов на их квадрат и сложение всех векторов. Суммарный вектор даёт базовое направление, но чтобы избежать проблем на границе сектора приходится считать 2 варианта — для секторов -45..+45 градусов и 0..90 градусов, и выбирать какой даёт меньшее отклонение контура.
Далее проецируем все вектора контура на базовое направление или ортогональное.
Замечу, что ваш вариант с проецированием на сетку может давать лучший результат для симметричных зданий, зданий с одинаковыми элементами или периодической структурой, если шаг сетки окажется подходящим.
0
Sign up to leave a comment.
Как превратить спутниковые снимки в карты. Компьютерное зрение в Яндексе