ArcGIS ile Derin Öğrenme Modelleri
Derin Öğrenme Nedir?
Derin öğrenme, örnek verilerden öğrenmek için derin sinir ağlarını kullanan bir makine öğrenme tekniğidir. Tıpkı geleneksel denetimli görüntü sınıflandırması gibi, bu modeller verdiğimiz verilerde neyi arayacaklarını “öğrenmek” için eğitim örneklerini kullanır. Ancak, geleneksel bölümleme ve sınıflandırmanın aksine, derin öğrenme modelleri yalnızca tek tek piksellere veya piksel gruplarına bakmaz. Daha yüksek öğrenme kapasitesine sahiptirler ve görüntülerde çeşitli ölçeklerdeki karmaşık şekilleri, desenleri ve dokuları tanımayı öğrenebilirler. Bu, derin öğrenme modellerinin çeşitli koşullarda çok miktarda eğitim verisinden öğrenebilmesini sağlar. Eğitilen modeller daha sonra çok daha düşük bir bilgisayar hesaplama gücüyle çok daha çeşitli görüntülere uygulanabilir ve paylaştığınız kişiler tarafından yeniden kullanılabilir.
ArcGIS’te Derin Öğrenme
ArcGIS Pro’daki Image Analyst ek bileşeni, analistlerinin kullanımına özel bir Derin Öğrenme Araç Seti içerir . Bunun yanında basitleştirilmiş bir derin öğrenme paket yükleyicisi sayesinde, kütüphaneler ve modüler gibi gerekli bağımlılıklar kolaylıkla indirilebilir ve yükleme deneyimi basitleştirilmiştir. Eğer veri bilimcileri kod satırları kullanmak isterlerse, bu modelleri eğitmek için ArcGIS Pro, Enterprise ve ArcGIS Online’daki Python notebook’ları da kullanabilirler.
ArcGIS API for Python, çok çeşitli derin öğrenme modellerini kendi veri kümelerinizde eğitmeyi ve problemlerinizi çözmeyi kolaylaştıran arcgis.learn modülünü içerir . Gelişmiş CBS ve uzaktan algılama iş akışlarını destekleyen on beşten fazla derin öğrenme modeli içerir. Ek olarak, bu modeller çok çeşitli veri türlerini desteklemektedir, çeşitli türdeki görüntüler, nokta bulutları, batimetrik veriler, LiDAR, videolar, detay katmanları, tablosal veriler ve hatta yapılandırılmamış metinler bunlardan bazılarıdır.
Arcgis.learn modülündeki tüm modeller basit ve veriye duyarlı akıllı varsayılanlar sayesinde eğitilebilir. Modeller, ArcGIS’ten dışa aktarılan eğitim verilerini karmaşık bir ön işleme olmaksızın kullanır ve eğitilen modeller, modelin çıktısının sonradan işlenmesine gerek kalmadan doğrudan ArcGIS platformunda kullanılabilir.
Derin öğrenmenin son derece başarılı olduğu bir alan, görüntülerdir. Bilgisayar görüşü, bilgisayarların görüntülerdeki nesneleri görme veya tanıma becerisidir. Bu, özellikle CBS uygulamalarında çok faydalı olabilir çünkü günümüzde uydu, hava ve İHA görüntüleri, insanların üzerinde analizler uygulayıp, çıkarımda bulunabileceklerinden çok daha fazla ve hızlı üretilebilmektedir.
arcgis.learn’deki derin öğrenme modellerinin çeşitli CBS ve uzaktan algılama görevlerini gerçekleştirmek için nasıl kullanılabileceğine bakalım.
ArcGIS’teki Derin Öğrenme Modelleri ve Örnek Bağlantıları
1. Nesne Sınıflandırması
Arcgis.learn’deki FeatureClassifier (Detay Sınıflandırıcı) modeli, coğrafi detayları veya nesneleri görüntülerde nasıl göründüklerine göre sınıflandırmak için kullanılabilir. Bu model, ResNet, Inception veya VGG gibi görüntü sınıflandırma modellerinden yararlanır.
Nesne sınıflandırması kullanarak hasar değerlendirmesi. Hasarlı evler kırmızı, hasarsız olanlar ise mavi ile gösterilmiştir.
CBS’de bu modeller, orman yangınlarından sonra otomatik hasar değerlendirmesi yapmak veya yüzme havuzlarını temiz veya yosun istilasına uğramış yeşil havuzlar olarak sınıflandırmak için kullanılabilir .
Hasar değerlendirme iş akışını özetleyen örnek bir notebook’a buradan ulaşabilirsiniz.
Bu model uydu görüntüleriyle çalışmasının yanı sıra, veri toplama iş akışları için sahada da kullanılabilir. Aşağıdaki örnekte, Survey123 kullanarak bir ağaç envanteri oluşturmak için bir bitki türü tanımlama modeli kullanılmaktadır. Bu tür TensorFlow Lite modellerini entegre etmeyi desteklemektedir.
Sahadan veri toplanması ve otomatik bitki türlerinin tanımlanması.
2. Piksel Sınıflandırması
En çok tercih edilen diğer bir model ise bir görüntüdeki her pikseli etiketlediğimiz Piksel Sınıflandırmasıdır.
Derin öğrenme dünyasında “semantik segmentasyon” olarak bilinen piksel sınıflandırması işleri, UnetClassifier modeli, PSPNetClassifier ve DeepLab (v3) gibi daha yeni modellerle birlikte ArcGIS Python API’de bulunuyor.
Arcgis.learn’ın UnetClassifier modeli kullanılarak binaların taban alanı sınırlarını çıkarma.
Bu modeller, uydu görüntülerinden bina taban alanı sınırlarını ve yolları çıkarmak veya arazi örtüsü sınıflandırması yapmak için kullanılabilir. Yukarıdaki örnekteki iş için derin öğrenme modelini eğitmek yalnızca birkaç basit adımla yapılabilir ve kayda değer sonuçlar alabilirsiniz.
Bu örnek notebook, yüksek çözünürlüklü arazi örtüsü verileriyle eğitilmiş bir UnetClassifier modelini kullanır. İyi çalışsa da her pikseli bilgisayara tanıtmak için çalışan bir insan tarafından bu kadar yüksek çözünürlüklü eğitim verilerini etiketlemek zaman alıcı ve masraflı olabilir.
Daha az eğitim örneği belirlenerek etiketlenmiş veriler kullanılarak arazi örtüsü sınıflandırması.
Python API ile seyrek olarak etiketlenmiş veriler kullanılarak bu tür modellerin eğitimi için kullanılabilirsiniz. Burada sadece birkaç alanı her bir arazi örtüsü sınıfına ait olarak etiketlememiz gerekiyor. Ardından, görüntüdeki her piksel için arazi örtüsünü bulmak için bir piksel sınıflandırma modeli eğitebiliriz.
3. Nesne Algılama
CBS’deki başka bir önemli iş ise bir görüntüdeki belirli nesneleri bulma ve konumlarını bir sınırlayıcı kutuyla işaretleme işidir. Daha çok nesne algılama olarak bilinen bu modeller, ağaçları, kuyu yataklarını, yüzme havuzlarını, tuğla fırınları veya batimetrik verilerden gemi enkazlarını ve hatta çok daha fazlasını algılayabilir . Bu işlemleriniz için Arcgis.learn modülü SingleShotDetector, RetinaNet, YOLOv3 ve FasterRCNN gibi çeşitli nesne algılama modellerini içerir .
FasterRCNN en doğru sonuç veren modeldir ancak eğitilmesi ve çıkarım gerçekleştirmesi daha yavaştır. SingleShotDetector ve RetinaNet ise FasterRCNN tarafından kullanılan iki aşamalı yaklaşımın aksine nesneleri algılamak için tek aşamalı bir yaklaşım kullandıklarından daha hızlı modellerdir.
YOLOv3, arcgis.learn ailesindeki en yeni nesne algılama modelidir. Küçük nesneleri tespit etmede hızlı ve yüksek doğruluğa sahiptir ve Microsoft Common Objects in Content (COCO) veri kümesindeki 80 yaygın nesne türü üzerine önceden eğitilmiş olarak gelen arcgis.learn’deki ilk modeldir.
İHA’lardan alınan hareketli videodan tespit edilen yayın balıkları.
Bu modeller hareketli videolardaki nesneleri bile algılayabilir. Bunun örnekleri için yayın balığını İHA videolarında veya trafikte seyreden bir araca monteli akıllı telefon videoları sayesinde yollardaki çatlakları bulma örneklerinde göz atabilirsiniz.
Bunların yanında nesneleri sadece sınırlayıcı bir kutuyla değil, aynı zamanda o nesneyi kaplayan kesin bir çokgen sınırı veya raster maskeyle de tespit edip konumlandırabilirsiniz. Derin öğrenme dünyasında, bu göreve “örnek bölümleme” deniyor çünkü görev, bir nesnenin her bir örneğini bulmayı ve onu bölümlere ayırmayı içerir.
Bunun için en popüler model MaskRCNN’dir ve arcgis.learn’de bu modeli de kullanabilirsniz. Modelin özellikle yan yana olan binaların taban alanı sınırlarını çıkarma örneğindeki başarısını inceleyebilirsiniz.
MaskRCNN tarafından üretilen maskelerden yapılan binanın 3D rekonstrüksiyonu.
Örnek olarak 3B binaları havadan kaydedilmiş LIDAR verilerinden yeniden inşa etmek için MaskRCNN’in kullanıldığı bir örnek için bağlantıya tıklayabilirsiniz.
4. Nokta Bulutu Bölümlemesi
3 Boyutlu çalışmalarınız için arcgis.learn modülünde bir 3B derin öğrenme desteği de bulunuyor.
PointCNN modeli nokta bulutu bölümlemesi için kullanılabilir. Bu görevde, nokta bulutundaki her noktaya, gerçek dünyadaki bir varlığı temsil eden bir etiket atanır.
PointCNN modeli kullanılarak nokta bulutunda binalar ve ağaçlar sınıflandırılarak oluşturulan 3B sahne.
Bu model, ham nokta bulutlarından binalar, zemin ve ağaçlar çıkararak 3B altlık haritaları oluşturmak için kullanılabilir. Diğer bir örnek ise havadan toplanmış LiDAR nokta bulutundan güç hatlarını ve elektrik direklerini çıkarmaktır. Vejetasyona temas eden kabloların tespit edilmesi ve kaçak kullanımları belirlemek bu model olmadan yapıldığında çok yoğun emek isteyen bir iştir.
5. Görüntü Geliştirme
Şimdiye kadar, görüntülerden ve nokta bulutlarından bilgi çıkarmanın birkaç örneğinde bahsettik. Bu işlerin yanında bir de düşük kaliteli raster verilerden daha yüksek çözünürlüklü görüntü sentezlemenizi sağlayan SuperResolution modeli de arcgis.learn bulunuyor. Bu model görüntülerinin görselleştirme kalitesini artırmanın yanı sıra görüntü yorumlanabilirliğini iyileştirmek için kullanılabilir.
Hava görüntülerinde SuperResolution kullanılarak kalite artırımı.
Bu model polisiye filmlerde görmeye alışık olduğumuz “Yakınlaştır! Geliştir!” işlevini ArcGIS’e getiriyor! Düşük çözünürlüklü ve bulanık görüntüleri girdi olarak kullanabilir ve bunları yüksek kaliteli, yüksek çözünürlüklü görüntülere dönüştürebilirsiniz. Model gerçekçi doku ve detaylar ekleyerek, simüle edilmiş yüksek çözünürlüklü görüntüler üretir. Yukarıdaki ekran görüntüsüne bu işlemi yapan örnek notebook’a buradan ulaşabilirsiniz.
6. Tablo Verileri Üzerinde Sınıflandırma ve Regresyon
Derin öğrenmenin sadece görüntüler ve 3B veriler üzerinde çalışıyor gibi gelmiş olabilir. Bunun dışında da derin öğrenmeden fayadalanabiliyoruz. Derin sinir ağları, özellik katmanları ve tablo verileri üzerinde en az onlarda olduğu kadar iyi sonuçlar verir.
FullyConnectedNetwork modeliyle, detay katmanı veya raster verinizin tablosal değerlerini derin sinir ağlarında kullanabilirsiniz. Bu model ile biyoklimatik faktörlere göre bir hastalığa duyarlı alanları sınıflandırabilir veya hava faktörlerine bağlı olarak güneş enerjisi santrallerinin verimliliğini tahmin edebilirsiniz.
Gerçek ve öngörülen güneş enerjisi üretimi.
Yukarıdaki grafikte mavi çizgi gerçek güneş enerjisi üretimini gösterir ve turuncu çizgi FullyConnectedNetwork modelinden tahmin edilen değerleri göstermektedir.
7. Yapılandırılmamış Metinden Varlık Çıkarma
Mekânsal veriler her zaman coğrafi veri tabanları ve Shapefile olarak düzgün bir şekilde paketlenmiş olarak gelmeyebilir. Genellikle saha ekipleri tarafından raporlar gibi yapılandırılmamış bir metin biçimde saklanırlar. Bu verileri mekânsal analizlerde kullanmak için, bunları detay katmanları gibi yapılandırılmış, standartlaştırılmış bir biçime dönüştürmeniz gerekir. Ancak, yapılandırılmamış metinleri okumak ve dönüştürmek zor ve zaman alıcıdır.
Suç türü, meydana geldiği yer, olayın zamanı ve ne zaman rapor edildiği gibi varlıkların altını çizen etiketli tüzel kişilere sahip suç olayı raporu.
Derin Öğrenme, doğal dil işlemede çok ilerleme kaydetmiştir ve arcgis.learn’de bulunan EntityRecognizer modeli ile yapılandırılmamış metinden anlamlı mekânsal bilgiler elde edebilirsiniz.
Suç mahallerinin detay katmanı
Bu Notebook ile binlerce örnek polis raporunun bulunduğu yapılandırılmamış metin dosyasından bilgileri çekmek için bu modeli nasıl kullanabileceğinizi ve suç mahallerinin bir haritasını çıkarabileceğinizi öğrenebilirsiniz.
Diğer Modeller
Derin öğrenme alanı her geçen gün yepyeni gelişmeler gösteriyor. arcgis.learn’ın bu kadar çok modeli desteklemesinin yanında yine de yeni çıkacak başka modellere de ihtiyacınız olabilir.
Arcgis.learn’e, harici modelleri entegre edebilmeniz için genişletilebilirlik desteği eklendi. ModelExtension sınıfı herhangi başka bir nesne algılama modelini arcgis.learn’e entegre etmenizi sağlar. Model daha sonra ArcGIS tarafından dışa aktarılan eğitim verilerini doğrudan kullanabilir ve kaydedilen modeller ArcGIS derin öğrenme paketleri olarak kullanıma hazır hale gelir. Harici modelleri arcgis.learn ile entegre etmek, bu tür modelleri diğer modeller tarafından kullanılan aynı basit ve tutarlı API ile eğitmenize yardımcı olacaktır.
Ayrıca arcgis.learn , yeni MLModel sınıfını kullanarak ArcGIS’i popüler scikit-learn kitaplığındaki herhangi bir tahmin veya sınıflandırma modeliyle entegre etmenize de olanak sağlar.
Neden bu kadar çok model var?
Derin öğrenme, her ay çıkan yenilikler ve yeni modellerle hızla gelişen bir alandır ve Esri uzmanları bu yenilikleri aynı hızda ArcGIS’e getirerek, CBS’ye derin öğrenme yöntemlerini uygulamada, en yeni ve en iyi modelleri sunarak güncel kalmanızı sağlar.
Her modelin güçlü yönleri vardır ve belirli görevler için daha uygundur. Örneğin Nesne Algılamayı ele alırsak, FasterRCNN en iyi sonuçları verir, YOLOv3 en hızlıdır, SingleShotDetector iyi bir hız ve doğruluk dengesi sağlar ve RetinaNet küçük nesnelerle çok iyi çalışır.
Farklı modellerin bellek için farklı gereksinimleri vardır ve eğitim ve çıkarım hızları farklıdır. Daha büyük modelli daha derin sinir ağları daha doğru sonuçlar verir, ancak çok daha fazla belleğe ve daha uzun eğitim süreçlerine ihtiyaç duyar. Yeterince eğitebilmek için de daha büyük veri kümelerine ihtiyacınız vardır.
Bazı modeller ise hafiftir ve cep telefonları gibi mobil cihazlarda kullanım için daha uygundur.
Yetenekli zanaatkarların araç kutularındaki her bir araç hakkında bilgi sahibi olması gibi, yetenekli veri bilimcileri de her modeli benzersiz özelliklerine göre anlar ve çözülmesi gereken sorun bağlamında uygularlar.
Mekansal Veri Bilimi Açık Çevrimiçi Eğitimi
İçinde yukarıda bahsettiğimiz derin öğrenme ve nesne tespiti örneklerini de uygulayabileceğiniz, mekânsal veri ve veri bilimine dair bir ücretsiz eğitimimiz yakında geliyor.
Ücretsiz olmasının yanında ArcGIS Pro, ArcGIS Online, ArcGIS Notebooks, Image Analyst, Spatial Analyst gibi bir çok ürüne de eğitiminiz sırasında ücretsiz sahip olacaksınız.
Udemy platformu üzerinden tamamen Türkçe olarak gelecek ay yayınlamayı planlıyoruz. Haberler için bizi takip edin.
Kaynak:
https://www.esri.com/arcgis-blog/products/api-python/analytics/deep-learning-models-in-arcgis-learn/
Esri Türkiye, 2020