Использование консольного DTclassifier для классификации растровых данных и анализа изменений: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
(Новая страница: «{{Статья|Черновик}} {{Аннотация|Описание и примеры использования консольной версии DTclassifi…»)
 
Нет описания правки
Строка 4: Строка 4:
DT classifier простой в использовании и эффективный плагин для классификации растровых изображений  
DT classifier простой в использовании и эффективный плагин для классификации растровых изображений  
Декстопная версия расширения входит в дистрибутив (QGIS-NextGIS[http://nextgis.ru/nextgis-qgis/]).
Декстопная версия расширения входит в дистрибутив (QGIS-NextGIS[http://nextgis.ru/nextgis-qgis/]).
Расширение использует метод деревьев решений реализованный на основе библиотеки OpenCV  
Расширение использует метод деревьев решений реализованный на основе библиотеки [OpenCV].
Подробнее о расширениее написано здесь [http://gis-lab.info/qa/dtclassifier.html].
Подробнее о расширениее написано здесь [http://gis-lab.info/qa/dtclassifier.html].
DT classifier имеет удобный графический интерфейс, но для некоторых задач, например,  
DT classifier имеет удобный графический интерфейс, но для некоторых задач, например,  
для встраивания алгоритмов классификации в workflow обработки изображений или для обработки большого количества данных удобнее использоывать
для встраивания алгоритмов классификации в workflow обработки изображений или для обработки большого количества данных удобнее использоывать
Строка 48: Строка 49:
(картинка)
(картинка)


classifier -запуск расширения
<pre>classifier</pre>
--save_points - сохраняет точки полученные из обучающих данных в виде шейп файла с атрибутивнлой таблицей значений растров
 
--presence векторный слой объектов-мишеней (target) т.е. объекты которые нужно выделить при анализе
-запуск расширения
--absence векторный слой фоновых объектов (background), т.е. объекты от которых нужно отделить объекты -мишени
 
--input_rasters пути к растровым данным (ВАЖНО: необходимо указывать полные пути к файлам) разделенные пробелом
<pre>--save_points </pre>
--save_model сохранить модель (дерево решений или модель random forest) в файл (.aml)
 
--use_model использовать существующую модель (ВАЖНО: количество и порядок каналов должен быть таким же как при создании модели, иначе результат будет некорректным)
- сохраняет точки полученные из обучающих данных в виде шейп файла с атрибутивнлой таблицей значений растров
--classify сохранить результат
 
--use_decision_tree использовать дерево решений (по умолчанию используется random forest)
<pre>--presence </pre>
--generalize размер окна для генерализации (median)
 
векторный слой объектов-мишеней (target) т.е. объекты которые нужно выделить при анализе
 
<pre>--absence</pre>
 
векторный слой фоновых объектов (background), т.е. объекты от которых нужно отделить объекты -мишени
 
<pre>--input_rasters</pre> 
 
пути к растровым данным ('''ВАЖНО'''! необходимо указывать полные пути к файлам) разделенные пробелом
 
<pre>--save_model</pre>
 
сохранить модель (дерево решений или модель random forest) в файл (.aml)
 
<pre>--use_model</pre>
 
использовать существующую модель ('''ВАЖНО'''! количество и порядок каналов должен быть таким же как при создании модели, иначе результат будет некорректным)
 
<pre>--classify</pre>
 
путь для сохранения результата классификации
 
<pre>--use_decision_tree</pre>
 
использовать дерево решений (по умолчанию используется random forest)
 
<pre>--generalize</pre>
 
размер окна для генерализации (median)
 
<pre>--load_points</pre>


--load_points использовать существующие точки для создания модели и классификации!!! еще нет..
использовать существующие точки для создания модели и классификации!!! еще нет..


=== Примеры использования ===  
=== Примеры использования ===  

Версия от 17:41, 31 июля 2016

Эта страница является черновиком статьи.


Описание и примеры использования консольной версии DTclassifier для классификации растровых данных.

DT classifier простой в использовании и эффективный плагин для классификации растровых изображений Декстопная версия расширения входит в дистрибутив (QGIS-NextGIS[1]). Расширение использует метод деревьев решений реализованный на основе библиотеки [OpenCV]. Подробнее о расширениее написано здесь [2].

DT classifier имеет удобный графический интерфейс, но для некоторых задач, например, для встраивания алгоритмов классификации в workflow обработки изображений или для обработки большого количества данных удобнее использоывать консольную версию плагина. Что и было реализовано командой NextGIS

Создано в Nextgis.png Веб ГИС для вашей организации по доступной цене

Получение и установка

Расширение доступно как в виде исходного кода C++, так и в бинарной форме.

Бинарная сборка

Для работы с программой в ОС Windows можно пойти двумя путями: Для работы с программой в ОС Windows можно пойти двумя путями:

  • загрузить и установить NextGIS QGIS версии 15.4.88 или выше, DTClassifier включен в дистрибутив.

или

  • загрузить и установить QGIS версии 2.8 или выше (подробнее)
  • загрузить архив с расширением и необходимыми библиотеками
  • извлечь содержимое архива в каталог модулей QGIS (обычно это C:\OSGeo4W\apps\qgis-dev\plugins и C:\OSGeo4W\bin)

После установки, в окне OSGeo4W shell наряду с другими функциями gdal и ogr появится функция classifier.

Исходный код

Исходный код модуля (лицензия GNU GPL v2) можно получить через репозиторий на GitHub, или выполнив команду:

git clone git@github.com:nextgis/dtclassifier.git

Тестовые данные

Загрузить архив c данными, использовавшимися при подготовке статьи (... Мб).

Работа с расширением

Синтаксис расширения включает несколько обязательных параметров и ряд дополнительных, расширяющих функциональность приложения.

(картинка)

classifier

-запуск расширения

--save_points 

- сохраняет точки полученные из обучающих данных в виде шейп файла с атрибутивнлой таблицей значений растров

--presence 

векторный слой объектов-мишеней (target) т.е. объекты которые нужно выделить при анализе

--absence

векторный слой фоновых объектов (background), т.е. объекты от которых нужно отделить объекты -мишени

--input_rasters

пути к растровым данным (ВАЖНО! необходимо указывать полные пути к файлам) разделенные пробелом

--save_model

сохранить модель (дерево решений или модель random forest) в файл (.aml)

--use_model

использовать существующую модель (ВАЖНО! количество и порядок каналов должен быть таким же как при создании модели, иначе результат будет некорректным)

--classify

путь для сохранения результата классификации

--use_decision_tree

использовать дерево решений (по умолчанию используется random forest)

--generalize

размер окна для генерализации (median)

--load_points

использовать существующие точки для создания модели и классификации!!! еще нет..

Примеры использования

Цель: Классифицировать изменения лесного покрова двух временных срезов Landsat для нескольких path/row

  • Задача: Классифицировать пары сцен Landsat в batch режиме на основе общего слоя тестовых объектов
  • Задача: Cоздать модель классификации на основе нескольких пар сцен, сохранить и применить ее последовательно ко всем сценам