KAIIUK 0 Жалоба Опубликовано July 23, 2015 Доброго дня форумчане. Поздравляю с обновлением сайта). Помогите советом, как получить контура с фото, приложенных. То что получается у меня тоже прилагаю, но результат крайне неудовлетворителен.Так же необходимо убрать лишний шум(остатки дорог и прочее). Заранее благодарен. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано July 23, 2015 Самый простой вариант это отфильтровать контуры по моментам и по площади. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BeS 53 Жалоба Опубликовано July 23, 2015 А как насчет чисто программерского решения: взять туже область карты в векторном представлении, дернуть из неё маску для нужных объектов, а потом эту маску уточнить уже по фотографии? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
KAIIUK 0 Жалоба Опубликовано July 23, 2015 Самый простой вариант это отфильтровать контуры по моментам и по площади.Почитаю, попробую что то сделать. Спсибо. А как насчет чисто программерского решения: взять туже область карты в векторном представлении, дернуть из неё маску для нужных объектов, а потом эту маску уточнить уже по фотографии?Немного не понял. Если бы были примеры в виде кода, ссылки или фото, был бы признателен. Тут к зданиям зацепляются куски асфальта и прочего, поэтому не получается выделить четкий контур, а выделение четкого контура очень важно. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано July 24, 2015 Bes видимо имел ввиду: если эта фотография взята с карт гугла или яндекса, то взять туже область в векторном виде (у гугла это "карта") и там уже все размечено. Ну, а вот так взять и автоматически разметить здания по фотографии с применимой ошибкой, мне кажется это не решаем задача. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано July 24, 2015 (изменено) Задача решаемая, Вы ведь можете найти здания , значит информации достаточно. Другое дело вычислительные затраты на это.Вот посмотрите такую штуку:http://cs.stanford.edu/people/karpathy/rcnn/Ее ведь можно и на здания натаскать. Можно также сначала применить любой другой детектор, Виолы-Джонса, SVM+HOG, ... получите набор областей для дальнейшей обработки.Затем применить уже контурную сегментацию, сегментацию по цвету, ну и т.д.Дороги и многие другие лишние объекты должны отсеяться. Изменено July 24, 2015 пользователем Smorodov Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BeS 53 Жалоба Опубликовано July 24, 2015 Bes видимо имел ввиду: если эта фотография взята с карт гугла или яндекса, то взять туже область в векторном виде (у гугла это "карта") и там уже все размечено. Ну, а вот так взять и автоматически разметить здания по фотографии с применимой ошибкой, мне кажется это не решаем задача. Да, это я и имел в виду. взять разметку с веторной карты, а потом прогнать по необходимым регионам еще какой-нибудь алгоритм типа водораздела, чтобы границы на фотоснимке уточнить. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
KAIIUK 0 Жалоба Опубликовано July 24, 2015 Задача решаемая, Вы ведь можете найти здания , значит информации достаточно. Другое дело вычислительные затраты на это.Вот посмотрите такую штуку:http://cs.stanford.edu/people/karpathy/rcnn/Ее ведь можно и на здания натаскать. Можно также сначала применить любой другой детектор, Виолы-Джонса, SVM+HOG, ... получите набор областей для дальнейшей обработки.Затем применить уже контурную сегментацию, сегментацию по цвету, ну и т.д.Дороги и многие другие лишние объекты должны отсеяться.RCNN это вещь, но пока что поджимают сроки и она позволит определить лишь область, а нужно выделить именно контур здания) Области со зданиями выделяются же. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано July 26, 2015 Ну я несколько иное выделение имел здесь ввиду.Выделение прямоугольником, как результат работы детектора.Если прямоугольные области совместить с полученной Вами маской, то дороги, лес и т.д. автоматически будут исключены. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано July 27, 2015 можно задачу сегментации решать как задачу классификации каждого скользящего окна. хотя вот в оригинальном пейпере по R-CNN пишут про semantic segmentation.Но сдается мне это больше для чего то типа Pascal VOC, а тут это оверкил. Предлагаю изначально попробовать простой подход с готовой тулзой:http://fiji.sc/Trainable_Weka_Segmentation Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано July 27, 2015 (изменено) Я думаю HOG+SVM или Haar+AdaBoost здесь могут быть довольно эффективны.Особенность изображений зданий на виде сверху, это наличие большого количества ортогональных друг другу граней.Это будет давать на гистограмме градиентов характерную картинку (шаг 90 градусов между пиками). Изменено July 27, 2015 пользователем Smorodov Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
KAIIUK 0 Жалоба Опубликовано July 27, 2015 Ну я несколько иное выделение имел здесь ввиду.Выделение прямоугольником, как результат работы детектора.Если прямоугольные области совместить с полученной Вами маской, то дороги, лес и т.д. автоматически будут исключены.Дороги сейчас меньшая из проблем, а вот куски оставшиеся рядом со зданиями портят все контура. Возможно ли что то сделать с промежуточным результатом, который имеем?(отделить дома от лишних кусов рядом с ними) Я думаю HOG+SVM или Haar+AdaBoost здесь могут быть довольно эффективны.Особенность изображений зданий на виде сверху, это наличие большого количества ортогональных друг другу граней.Это будет давать на гистограмме градиентов характерную картинку (шаг 90 градусов между пиками).т.е HOG обучить на здания? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано July 27, 2015 (изменено) Сложно сказать, можно попробовать GrabCut или LevelSet сегментацию, с начальным приближение по найденной Вами маске, но это не быстрые методы.ЗЫ: Да, я думаю HOG (обученный на здания) должен неплохо справляться. Изменено July 27, 2015 пользователем Smorodov Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
KAIIUK 0 Жалоба Опубликовано July 27, 2015 Сложно сказать, можно попробовать GrabCut или LevelSet сегментацию, с начальным приближение по найденной Вами маске, но это не быстрые методы.ЗЫ: Да, я думаю HOG (обученный на здания) должен неплохо справляться.Скорость методов на данный момент не имеет значения, сейчас поищу инфу про методы сегментации, мб подойдут. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано July 27, 2015 Одна из реализаций LevelSet есть на форуме.GrabCut стандартный метод, встроенный в opencv. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах