Szukam metody przetwarzania obrazu za pomocą teledetekcji i wydobywania z obrazu obszarów koron poszczególnych drzew.
Mam zarówno wizualne zdjęcia powierzchniowe fal, jak i dane lidarowe z tego obszaru. Lokalizacja, o której mowa, to obszar pustynny, więc pokrywa drzew nie jest tak gęsta jak obszar leśny. Rozdzielczość zdjęć lotniczych wynosi 0,5 stopy na 0,5 stopy. Rozdzielczość lidar wynosi około 1 x 1 stóp. Zarówno dane wizualne, jak i lidar pochodzą z zestawu danych hrabstwa Pima w Arizonie. Próbka rodzaju zdjęć lotniczych, które mam, znajduje się na końcu tego postu.
To pytanie Wykrywanie pojedynczego drzewa w ArcMap? wydaje się być tym samym problemem, ale wydaje się, że nie ma tam dobrej odpowiedzi.
Mogę uzyskać rozsądną klasyfikację rodzajów roślinności (i informacje o ogólnej procentowej powierzchni pokrycia) na danym obszarze, stosując klasyfikację klastrów Iso w Arcmap, ale to daje niewiele informacji na temat poszczególnych drzew. Muszę najbardziej zbliżyć się do wyników przekazywania wyników klasyfikacji isocluster przez funkcję Raster to Polygon w Arcmap. Problem polega na tym, że ta metoda łączy drzewa w jednym wielokącie.
Edycja: Prawdopodobnie powinienem podać więcej szczegółów na temat tego, co mam. Surowe zestawy danych, które mam, to:
- Pełne dane lasów i wygenerowany z nich tiff raster.
- Obrazy wizualne (jak pokazano przykładowy obraz, ale obejmujące znacznie szerszy obszar)
- Ręczne bezpośrednie pomiary podzbioru drzew w okolicy.
Z tych wygenerowałem:
- Klasyfikacje gruntów / roślinności.
- Rastry DEM / DSM.
źródło
Odpowiedzi:
Istnieje znaczna literatura na temat wykrywania poszczególnych koron w danych spektralnych i lidarowych. Metody mądre, być może zacznij od:
Falkowski, MJ, AMS Smith, PE Gessler, AT Hudak, LA Vierling i JS Evans. (2008). Wpływ pokrywy drzewostanu iglastego na dokładność dwóch indywidualnych algorytmów pomiarowych drzew z wykorzystaniem danych lidar. Canadian Journal of Remote Sensing 34 (2): 338–350.
Smith AMS, EK Strand, CM Steele, DB Hann, SR Garrity, MJ Falkowski, JS Evans (2008) Produkcja map struktury przestrzennej roślinności poprzez analizę poszczególnych obiektów wkroczenia jałowca na wielorasowe zdjęcia lotnicze. Canadian Journal Remote Sensing 34 (2): 268–285
Jeśli interesuje Cię metoda Wavelet (Smith i in., 2008), mam ją zakodowaną w Pythonie, ale jest bardzo wolna. Jeśli masz doświadczenie w Matlabie, jest to miejsce, w którym jest ono implementowane w trybie produkcyjnym. Mamy dwa artykuły, w których zidentyfikowaliśmy około 6 milionów akrów wkroczenia jałowca we wschodnim Oregonie przy użyciu metody falkowej ze zdjęciami NAIP RGB-NIR, więc jest to dobrze udowodnione.
Baruch-Mordo, S., JS Evans, J. Severson, JD Naugle, J. Kiesecker, J. Maestas i MJ Falkowski (2013) Ratowanie cietrzewia z drzew: Proaktywne rozwiązanie w celu zmniejszenia kluczowego zagrożenia dla kandydata gatunek Ochrona biologiczna 167: 233-241
Poznanovic, AJ, MJ Falkowski, AL Maclean i JS Evans (2014) Ocena dokładności algorytmów wykrywania drzew w lasach jałowca. Inżynieria fotogrametryczna i teledetekcja 80 (5): 627–637
Istnieje kilka interesujących podejść, w ogólnym rozkładzie obiektów, z literatury stosowanej w matematyce w przestrzeni stanów wykorzystującej wielorozdzielcze procesy gaussowskie do dekompozycji cech obiektów w skali. Używam tego typu modeli do opisywania procesu wieloskalowego w modelach ekologicznych, ale można go dostosować do dekompozycji cech obiektu obrazowego. Zabawne, ale nieco ezoteryczne.
Gramacy, RB i HKH Lee (2008) Bayesian potraktowali modele procesów Gaussa za pomocą aplikacji do modelowania komputerowego. Journal of American Statistics Association, 103 (483): 1119–1130
Kim, HM, BK Mallick i CC Holmes (2005) Analiza niestacjonarnych danych przestrzennych przy użyciu cząstkowych procesów Gaussa. Journal of American Statistics Association, 100 (470): 653–668
źródło
Aby utworzyć DHM, odejmij DEM od DEM, można to zrobić w Esri Raster Calculator lub GDAL_CALC . To sprawi, że wszystkie twoje wzniesienia znajdą się na „równym polu gry”.
Składnia (Zamień pełne ścieżki dla DEM, DSM i DHM):
DHM będzie w większości wynosić 0 (lub wystarczająco blisko), co czynisz swoją wartością nodata. Za pomocą kalkulatora rastrowego lub GDAL_CALC można wyodrębnić wartości bardziej niż dowolną wartość na podstawie ilości hałasu zaobserwowanego w DHM. Ma to na celu zmniejszenie hałasu i podkreślenie tylko koron roślinności - w przypadku, gdy dwa „drzewa” sąsiadują ze sobą, powinno ono rozdzielić się na dwie wyraźne plamy.
Składnia (Zamień pełne ścieżki na binarne i DHM i zaobserwowaną wartość na wartość):
Teraz za pomocą GDAL_CALC lub Esri IsNull utwórz binarny raster, który można poligonizować za pomocą GDAL_Polygonize lub Esri Raster do Polygon .
Aby udoskonalić wielokąty, usuń zbyt małe wielokąty, a następnie porównaj je z pasmami RGB szukającymi podpisów, w Esri pomoże narzędzie Statystyka strefowa . Następnie możesz odrzucić wielokąty, które wyraźnie nie mają odpowiednich statystyk (na podstawie eksperymentów i twoich danych, nie mogę podać ci wartości).
To powinno doprowadzić cię do około 80% dokładności przy kreśleniu poszczególnych koron.
źródło
eCognition jest najlepszym oprogramowaniem do tego, zrobiłem to przy użyciu innego oprogramowania, ale eCognition jest lepszy. Oto odniesienie do literatury na ten temat:
np. http://www.mdpi.com/1424-8220/14/12/22643
Do tego:
np. http://www.nrcresearchpress.com/doi/abs/10.1139/x05-030#.VJmMb14gAA
źródło
Miałem ten sam problem kilka lat temu. Mam rozwiązanie, które nie wymaga przefiltrowanych danych LAS ani innych danych pomocniczych. Jeśli masz dostęp do danych LiDAR i możesz generować DEMs / DSMs / DHMs (DEM poniżej, nie debatuję nad semantyką nazewnictwa modeli powierzchni) z różnych zwrotów, poniższy skrypt może być przydatny.
Skrypt arcpy pobiera 3 DEM i wyrzuca wielokąt leśny i pliki kształtów w kształcie drzewa. 3 DEM powinny mieć tę samą rozdzielczość przestrzenną (tj. 1 metr) i zakresy oraz reprezentować pierwsze powroty, ostatnie powroty i gołą ziemię. Miałem bardzo specyficzne parametry do ekstrakcji warzyw, ale parametry można zmienić w celu dostosowania do innych potrzeb. Jestem pewien, że proces ten można ulepszyć, ponieważ była to moja pierwsza poważna próba skryptowania w języku Python.
źródło
Podaję to jako odpowiedź ze względu na limit długości w komentarzu, brak nadziei na kredyty :). Bardzo szeroki pędzel, pod warunkiem, że masz DEM.
Maksymalna liczba grup w procesie = liczba drzew wewnątrz pojedynczego wielokąta. Dodatkowe kryteria, np. Odległość między „drzewami” wewnątrz wielokątów, mogą pomóc ... Wygładzanie DEM przy użyciu jądra również jest opcją.
źródło