Написание приложения для обработки изображений для анализа спутниковых изображений - PullRequest
3 голосов
/ 23 октября 2009

Я должен начать работу над приложением для анализа спутниковых снимков, чтобы определить какую-то искусственную структуру. Я хотел бы использовать C или Java для этого.

Для спутника я планирую использовать данные Google Maps.

У меня есть три вопроса здесь:

  1. Что является лучшим источником данных ГИС, кроме Google Maps / earth.
  2. Лучший язык для написания такого приложения, учитывая, что мне придется использовать сторонние API
  3. Имеется ли открытый механизм обработки изображений, который идентифицирует искусственные структуры?

Это много вопросов, но я надеюсь, что умные ребята здесь помогут мне здесь.

Ответы [ 5 ]

2 голосов
/ 23 октября 2009

В частности, проверьте Гловис: http://glovis.usgs.gov/

Вы можете просматривать Землю и загружать карты с нескольких различных спутников и датчиков. Несмотря на то, что вам нужно пройти фиктивный процесс «заказа», образы бесплатны.

2 голосов
/ 03 ноября 2009

Чрезмерно обработанные изображения, такие как карты Google или Bing, являются ужасным источником изображений для выполнения извлечения объектов или их распознавания. Обычно вам требуется максимально необработанная необработанная форма с моделями камер ... конечно, если у вас нет доступа к данным такого рода, вам придется работать с тем, что у вас есть.

Более важным соображением, связанным с Google Maps / Earth images, является то, что вы можете вступить в противоречие с их лицензионным соглашением. Я предлагаю вам проверить это, прежде чем вы определитесь с их данными в качестве источника изображений. В частности, если вы обойдете их API, вы нарушили их лицензионное соглашение.

Что касается библиотек и языков, то существуют десятки библиотек машинного зрения. Я не могу рекомендовать одно над другим, потому что я был только нижестоящим потребителем их результатов. Насколько я понимаю, проблема заключается в том, что наибольшую озабоченность вызывает то, как вы строите «модели» для сравнения ... то есть как вы даете системе «пример» того, что вы ищете.

Как только вы нашли библиотеку, вы можете принять решение о языке. Обычно для такого прототипирования используется язык высокого уровня, такой как Python или Matlab. Как только метод найден, выполняется преобразование в язык с более высокой производительностью - , если необходимо .

Лично я бы, вероятно, использовал Python, потому что (1) он находится в свободном доступе, (2) имеет значительное сообщество в научном и исследовательском мире и (3) может взаимодействовать с широким спектром языков и платформ.

1 голос
/ 03 ноября 2009

Я согласен с Джеймсом Шеком. Google дает вам изображения RGB - не самое полезное для вашей задачи. Большинство изображений будет иметь несколько дополнительных каналов, которые могут быть лучше для вас. Различные каналы показывают различные особенности, воду, городские районы, типы листвы и т. Д. Например, инфракрасный канал можно использовать для выбора зданий в прохладном климате. Если вы обратитесь к нескольким поставщикам данных, они могут порекомендовать лучшие каналы для использования в своих данных.

Изображения Ariel могут быть огромными, многочисленными террабайтами для подробной мировой базы данных. Тщательно продумайте, сколько информации вам нужно обработать. Если вы делаете только несколько квадратных миль, производительность не является проблемой. Если вы обрабатываете тысячи квадратных миль, производительность становится проблемой. Обрабатывая миллионы, производительность критически важна и должна рассматриваться с первого дня.

Зная количество каналов, которые необходимо обработать, ваши требования к производительности и формат файлов ваших данных, поищите библиотеки, которые отвечают всем вашим требованиям. Многие из них написаны на C / C ++, поэтому использование языка, который взаимодействует с ними обоими, может быть полезным

1 голос
/ 23 октября 2009

Вам может пригодиться сайт USGS (Геологическая служба США). Они предоставляют как информацию ГИС, так и широкий спектр наборов данных.

0 голосов
/ 03 ноября 2009

Посмотрите на эту демонстрацию: Поиск растительности на многоспектральном изображении , часть панели инструментов обработки изображений в MATLAB . Это связано с вашей проблемой анализа спутниковых изображений, чтобы найти определенные закономерности.

Я считаю, что это отличный пример того, чего вы можете легко достичь с помощью MATLAB, используя очень мало кода.

...