Горите в България

Здравейте отново. Пробвах класификация на част от изображение от Sentinel 2a от края на август 2015 (гори около Враца - видя ми се добро като комбинация от прости и сложни за разпознаване гори). Класификацията правих по false color изображение (NIR-R-G - 10m):

Резултатите споделям по-долу:
След избиране на семпли и класифициране, а после отделяне само на полигоните с гори - получих следното (жълтеникавото върху true color (R-G-B) комбинация от Sentinel2 band-ове e разпознатата гора:

Ето и приближено:

След това същото, но след генерализация отново в/у Sentinel2 изображение:

Как изглежда обаче, когато го нанесем в/у Google:

Гледано в дребен мащаб - всичко изглежда доста добре, но като приближим (M 1: 10 000):

  • се вижда че методът и необходимата генерализация вкарват грешки, има грешно класифицирани гори, има проблем със сенките по склоновете, може да се филтрират още гори с минимална площ и т.н. Като цяло обаче мисля, че с последваща минимална ръчна редакция - би трябвало класифицирането по Sentinel2 да е напълно достатъчно за целите на openstreetmap. Спестява доста досадно цъкане по картата, особено при по-сложни гори.

След оправяне на грешките и още малко махане на излишни точки ще ги кача и тези гори в картата.

Класификацията не е перфектна и сигурно ще се иска валидация след това. Също дали не си вкарал твърде много заобляне, някак си се губят ръбове и детайлност ми се струва. Иначе добре е станало. Иска ми се да ги сравним с векторите които правих по Ландсат 8 преди доста години. Там се занимавах с ArcGis и си личеше огромна преднина спрямо CLC.

Ако до месец два измислим план за класификация и нейното качване, тъкмо ще имаме нови есенни снимки от Sentinel 2A и 2B с голяма честота и вероиятност за безоблачни участъци.

Разбира се, класификацията по принцип няма как да стане перфектна при тази резолюция, но за големи площи за съжаление май няма по-бърз начин. Не съм пробвал как е с ArcGIS, там сигурно нещата са доста по-добре, но за съжаление не го владея особено. Иначе валидация със сигурност ще е нужна, както и ръчно дооправяне. Ръбовете си отиват при генерализацията, за да махна “стълбите” от пикселите - губя ъглите. Още не съм доизкусурил съвсем процедурата. За съжаление 10m резолюция са за карта с мащаб до към 1:32 000… което ще рече макс zoom=14 и е трудно да се докара по-голяма детайлност без ръчно добавяне на подробности.

За сравнението с Landsat 8, ако искаш прати ми примерно някаква координатна рамка, ще класифицирам по Sentinel2 и ще ти пратя резултата като shp да ги сравниш.

Може да измислим една квадратна мрежа с географски координати примерно 5x5 или 10х10км, по които да се режат изображенията, и който желае да си заплюва квадрат и да класифицира, нещо като HOT OSM. Един квадрат по час на ден цъкане би трябвало да отнеме максимум около седмица.

И аз не го владея добре (АркГис). Тогава си спомням, че бяха голем мъки.

Ето резултатите от Ландсат 7 снимка на 15 метра. От източните Родопи:

А това е Люлин планина

И при 2те има сравнение с CLC. Спомням си че даже ги бях постнал в този форум, но хостинга е отпаднал за това време. Също сега постнатите са редуцирани от форума, иначе ако ги отвориш с Copy image location, ще излезнат оригиналните 15 метрови

Също си пазя ОСМ файла от Родопите http://46.238.34.41/f0/rodopi.zip

10 метра трябва да са доста по-добре от това и ще е хубаво ако QGIS може да се справи.

Супер, ще пробвам как е върху същата територия в Родопите с QGIS/SCP и Sentinel 2 и ще постна сравнението.

CLC-то е генерализирано много, защото мисля, че имат изискване за минимум площ от 250 декара на класифициран обект и данните са в мащаб 1:100 000. много от подробностите са заминали. Правено е за съвсем други цели и като стройна и ясна класификация на територията е супер, но точността си е като за 1:100 000 карта. За zoom до към 12 е ок, но от там нататък не става. И лошото е, че веднъж сложено - никой няма интерес и стимул да го оправя, освен че самото оправяне е доста сложно и се радвам, че не сме го качили само и само да имаме красива карта. С класифициране на Sentinel мисля, че ще понапреднем със зеленото.

Така е, мисля че затова е правена класификацията по редуцирани Spot/IRS сцени до 20м. Намерих и 5 метрова резолюция на Image 2012, която е интересно да се разгледа http://land.copernicus.eu/pan-european/high-resolution-image-mosaic/high-resolution/Image%202012/core-1-2013-cov-2-5m/view

Ако успеем да направим добра класификация, трябва и да се реши как ще се процедира със съществуващата информация, защото имаме доста добри импорти и ще е жалко да се изгубят.

Тази 5 метровата не я знаех - изглежда чудна за някои места, където DigitalGlobe са само зимни, но за съжаление по тях май няма как да стане (полу-)автоматична класификация.

Иначе смятам, че е най-коректно да запазваме наличното, а да правим класификацията на по-малки квадрати територия - така, където има застъпване ще е по-лесно да се редактира. Мисля, че е най-мотивиращо, когато се прави стъпка по стъпка, защото редактирането на голяма територия иска страшно много време и бързо писва - такъв е поне моя опит.

P.S. Все още работя над сравнението - за съжаление не остава много време, но скоро.

За сравнението не се тревожи, имаме време и задачки за правене.

5 метровата предполагам че е била с цел валидиране на класификацията по 20 метровите IRS. Иначе това е RapidEye, което толкова си и може

atari_matari, REAKTOR,

дайте някакви примерни вектори след реклас без обработка + вариант след ръчна обработка, да огледам резултата.
Дали методиката ви ще работи за храсти, влажни зони, примерно?

П.С. Пролетта качих две карета ръчно векторизирани полигони в Рила. Смятате ли, че с въпросния полуавтоматичния рекласинг може да се получи съизмеримо качество?

Поздрави,
Дидо

Аз имам само това от по-горния пост http://46.238.34.41/f0/rodopi.zip Доколкото разбирам от ръчна намеса, всичко е автоматично генерирано. По спомени тогава създадох втори растер с 2-3 цвята - за гори и води и всичко останало. После това се векторизира, заобля, изчиства от излишни точки.

Всъщност имам още една класификация, която не е толкова успешна и мисля че пазя всичко.

Под ръчно векторизиран и полуавтоматичен рекласинг какво визираш?

В https://forum.openstreetmap.org/viewtopic.php?pid=653316#p653316 atari_matarai описва методиката си на полуавтоматичен рекласинг.

Ръчно векторизран ще рече - вземаш растерна подложка и очертаваш полигони на база собствена експертиза. Такава е примерно информацията в Рила, която импортнах от BGMountains, споменах по-горе. По-добро е от всичко, което съм виждал до момента и е добър репер за сравнение на автоматични и полуавтоматични класификатори.

Ще огледам това от поста ти за Родопа. Само паншарпнати RGB-бандове ли ползваш? Би ли се пробвал на изображение с по-висока резолюция, примерно BING или друго подобно?

От Родопа значи е напълно автоматично. Все пак смятам, че не е най-перфектната класификация, но е достатъчно добра.

За Рила мисля че ти се е получило добре, преди опитвах ръчно да добавям планини по този начин и смятам че е доста тежка задача. Вариант е няколко потребители да си поделим различни зони и да ги изчертаем, но предвид наличните снимки и софтуер не мисля, че си заслужава.

Всичко е паншерпнато. По онова време имаше само Landsat7 и няма начин да не минеш през тази процедура. Landsat8 има малко по-къс обхват в инфрачервената област, заради което false color снимките излизат не толкова контрастни (но пък true colour са перфектни). От там и предположението, че стария е с по-научна цел.

За BING не съм чувал някой да прави класификации. Там са събрани различни дати от различни сезони. На всичкото отгоре растерите са така съединени, че да няма цяла снимка в един правоъгълник. Също класификацията се прави върху false colour снимка, а там са true colour. Ако разполагаме с оригиналните бандове за всяка една снимка от доставчиците на BING, може да се измисли нещо, но ще е скъпо.

Заслужава си да се опита Sentinel - добра резолюция, безплатно. Ако успеем да генерираме горите и водите (те най-лесно се получават), после може да се валидира от потребители и да се получи полуавтоматичния метод. Накрая качваме, като първо се обсъди с админите на сайта.

Да питам пак - за класификацията само паншарпнати RGB-бандове ли ползваш или целия комплект вкл NIR, MIR, TIR?

Само паншерпнати в комбинация:

NIR:RED:GREEN + Pan

dido3 - нарича се полуавтоматична класификация, защото ти сам си определяш семплите, по които се прави разпознаването. Автоматичната класификация мисля е с предварително “научени” модели, при които само зареждаш изображението и програмата го разпознава. Класификацията работи за всичко, стига то да може да се различи ясно при определена комбинация от бандове.

SCP в новите версии паншарпва всичко в пре-процесинга на Landsat 7 и 8, a Sentinel2 идва с 10м-ви RGB и NIR. Ръчното класифициране по Bing и DigitalGlobe винаги ще е доста по-точно - резолюциите са различни и шума в данните естествено отпада, но става страшно бавно. Докато класификацията при пъргав компютър става доста бързо.

Иначе приключих с грубото сравнение между Landsat 7/arcgis класификацията на REAKTOR и Sentinel 2/qgis-scp. Заключението ми е, че Sentinel 2 e една идея по-добре и хваща доста подробности, но разликите не са чувствително големи. Още не мога да намеря добър и бърз алгоритъм за генерализация, както на малките полигони (мисля да ги махам по площ в последствие), така и на назъбеното от векторизирането на растера. Ето и малко снимки от сравнението.

Първо директно от плъгина, без генерализация - виждат се “стълбите” от пикселите, но пък най-точно описва фигурите. Магентата е на REAKTOR, отдолу Google Satellite.



и след генерализация - губи се доста точност на места:


Ето тук файловете от класификацията на горите на същата територия по Sentinel - osm и shp (osm не е валидиран или оправян)
https://www.dropbox.com/s/3umzud09o5qdw8u/class_rodopi_SCP_osm.zip?dl=0
https://www.dropbox.com/s/27qczc2wy4h207y/class_rodopi_SCP_shp.ZIP?dl=0

Това е територия с площ около 400 кв.км, която се класифицира при добър компютър за час-два. Оправянето и подобряването на точността ще иска доста повече време, но ми се струва, че отново ще е чувствително по-бързо от ръчното.

Много добре се е получило. Очаквах нещо такова. Ако успеем да съберем снимки за цялата страна ще е много хубав резултат. Браво!

EDIT Все пак ще се наложи сигурно да се обходи резултатния вектор за грешки, защото виждам че на участъците около деретата в равнината има такива, където е хванало повече. Също снимката, по която си правил класификацията може да е от по-ранен период на годината…

REAKTOR, комбинацията 4,3,2->RGB изглежда да е оптимална. Може би не е зле да пробваш червения + 2-та IR канала, 4,5,3->RGB. Пише, че давало по-добри резултати от 4,3,2->RGB.

atari_matari, ще разгледам подробно резултатите другата седмица. Пробва ли GRASS генерализатор-а v.generalize? Дава чудесни резултати - много бърз, запазва топологията.

Още нещо ми хрумна тия дни. Има източници с много добра резолюция - под 1/2 метър на пиксел. Такъв може да се обработи от RGB->PAN (изрязване на синия + смесване на червения и зеления канал), за да се получи много детайлен панхроматичен растер. Ако Ландаст-изображението и този растер са свалени в подобен момент на годината и пасват достатъчно добре откъм орторектификация, то острото изображение може да се използва за паншарпенинг на нужните ландсат-бандове до небивала степен.

Мога да опитам друга комбинация. Използването на всички бандове със сигурност ще донесе много информация. Преди няколко години беше много популярно както аз съм го правил, може би защото софтуера не е бил толкова развит или аз не съм знаел.

Кой е този източник на подробна информация?

dido3, никой не класифицира гори, или каквато и да е растителност, /полу/автоматично само по true color (4-3-2 по Ландсат 8 изображение) Дори и есен да е, трудно може да различи програмата какъв е “почеркът” на територията без поне един инфрачервен банд. Аз ползвам при Sentinel2 8-4-3 (стандартното false color) и 4-8-12 за урбанизирани, пътища и други необрасли или непропускащи вода територии. 4-3-2 само за справки. Номерът с паншарпването към резолюция 0.5м/пиксел не знам дали ще стане за работа поне в QGIS и плъгина за разпознаване. Там трябва изображенията да са в специфичен формат и разделени по бандове, за да работи. Благодаря за идеята за v.generalize в GRASS! Вариантът на v.generalize, който имам в QGIS, явно не е работил, но ще трябва да експериментирам още с алгоритмите и настройките, защото не мога да намеря съвсем задоволителен резултат.

REAKTOR, да - малко ранна есенна снимка е - 2015-та 2-ри септември, ако не се лъжа, но другите бяха все с облаци специално за този район. Определено ще трябва да се обхожда и да се сравнява с наличния DigitalGlobe, никакви илюзии нямам, че ще стане всичко само с едно щракване. Надявам се на слънчев септември и октомври, а зимата може да започнем полека да се организираме с класификацията, ако всички са съгласни на този начин.

Според мен Дидо (както и аз) имаше предвид 4-3-2 по ландсат7, а за ландсат8 номерацията е изместена с едно число нагоре, което означава че еквивалента, за който говори е 5-4-3.

Наистина дано има хубави снимки от S2, особено че вече разполагаме с S2B ще има доста по-чести преминавания.