ArcGIS Pro için Derin Öğrenme Python Kütüphanelerinin Yüklenmesi

ArcGIS Pro’da derin öğrenme işlemleri yapmak istiyorsanız öncelikle derin öğrenme çerçevelerini yüklemeniz gerekiyor. ArcGIS Pro’daki tüm derin öğrenme coğrafi işlem araçları, desteklenen derin öğrenme çerçeveleri kitaplıklarının yüklenmesini gerektirir.

Burada bu yükleme işlemini farklı yollardan nasıl yapabileceğinizi anlatacağız. Başlamadan önce bilmemiz gereken en önemli şey hangi ArcGIS Pro sürümüyle çalışıyorsak ona uygun kütüphaneleri indirip kurmamız gerektiğidir.

ArcGIS Pro’nun her sürümü, derin öğrenme kitaplıklarının belirli sürümlerini gerektirir. ArcGIS Pro’yu yükselttiğinizde, o ArcGIS Pro sürümüne karşılık gelen derin öğrenme kitaplıklarını yüklemeniz gerekir. Hangi sürümü kullanıyorsanız gereken kitaplıkların listesine ve Derin Öğrenme ile ilgili diğer bilgilere Derin Öğrenme hakkında Sıkça Sorulan Sorular bilgi sayfasından ulaşabilirsiniz.

Not: Eğer ArcGIS Enterprise ortamınızda derin öğrenme araçlarını kullanmak isterseniz, ArcGIS Enterprise için derin öğrenme çerçevelerinin nasıl kurulacağına ilişkin talimatlar için bkz. Derin öğrenme için ArcGIS Enterprise’ı yapılandırma. Bu yazı ArcGIS Pro ortamında kütüphaneleri nasıl yükleyebileceğiniz konusunu içermektedir.

ArcGIS Pro sürümünüze göre derin öğrenme kütüphanelerini yüklemenin en kolay yolu ArcGIS Pro için Derin Öğrenme Kitaplıkları Yükleyicisi ile kurulum yapmaktır. Bağlantıdan mevcut olan en son kütüphaneleri toplu şekilde indirip tek seferde kurabilirsiniz. Bu kurulum aktif Python ortamınıza kurulacaktır. Python ortamları ArcGIS Pro’nun doğru şekilde çalışması için gerekli bileşenleri barındırır, bundan dolayı, kütüphaneleri kurmadan önce Python ortamınızın yeni bir kopyasını oluşturup, bunun üzerinde çalışmanızı öneririm.

Bağlantıdan Esri’nin Derin Öğrenme Çerçeveleri indirme sayfasından ArcGIS Pro sürümünüze uygun olan yükleyiciyi seçip indirebilir ve ardından çalıştırarak sorunsuz şekilde kurulumun yapılmasını sağlayabilirsiniz.

ArcGIS Pro sürümünüz ArcGIS Pro 2.8 ise bununla ilgili bağlantıdan indirme yapınız.

ArcGIS Pro sürümünüz ArcGIS Pro 2.8 ise bununla ilgili bağlantıdan indirme yapınız.

Eğer ortamınızdaki çeşitli kısıtlardan yükleyiciyi kullanamıyorsanız manual olarak yüklemek için gene aynı sayfada bulunan manuel yükleme adımlarını takip edebilirsiniz.

Bununla birlikte tamamen çevirim dışı bir sisteme yüklemek isterseniz önceden indireceğiniz temel modelleri de kurabilirsiniz.

Yukarıda bahsettiğim indirme ve yükleme yöntemleri Esri tarafından önerilen yükleme yöntemleridir. Kendinize uygun olan yöntemi seçerek kullanabilirsiniz.

Ancak ArcGIS Pro’ya sıklıkla güncellemeler gelmekte ve bu güncellemelerle yazılım yeni yetenekler kazanmakta ve varsa mevcut bug’lar çözülmektedir.

ArcGIS Pro Derin Öğrenme kütüphanesi yükleyicileri her zaman ArcGIS Pro kadar hızlı güncelleme alamayabiliyor. ArcGIS Pro’nun her sürümü, derin öğrenme kitaplıklarının belirli sürümlerini gerektirir. ArcGIS Pro’yu yükselttiğinizde, o ArcGIS Pro sürümüne karşılık gelen derin öğrenme kitaplıklarını yüklemeniz gereklidir. Böyle bir durumla karşılaştığınızda ise benim kullandığım diğer bir yöntemi paylaşmak istiyorum:

Öncelikle, varsayılan Python ortamını kopyalayarak, derin öğrenme üzerine çalışabileceğimiz bir Python ortamı hazırlıyoruz. Bunun için ArcGIS Pro ayarlarından, Python’a tıklayıp, Manage Environments (Ortamları Yönet) butonuna tıklıyoruz.

Bu ekranda varsayılan arcgispro-py3 ortamını bulup Clone (Kopyala) butonuna tıklıyoruz.

Yeni gelen pencerede ortam kopyanızı bilgisayarınızda istediğiniz yere kurabilir ve istediğiniz adı verebilirsiniz ama varsayılan olarak bırakmak rastgele hatalarla karşılaşmanıza engel olacaktır.

Clone (Kopyala) butonuna bastığınızda yükleme başlayacaktır, bu işlem biraz zaman alabilir. Bittiğinde ise yeni gelen ortamın yanındaki radyo butonunu seçerek OK’a (Tamam) tıklayınız. Yeni ortamın kullanılabilmesi için ArcGIS Pro’yu yeniden başlatmanız gerekecektir.

Artık derin öğrenme paketlerini kurmaya hazırız. Bunun için komut satırını kullanacağız. Windows Başlangıç menüsünden ArcGIS – Python Command Prompt’u bulup çalıştırınız. Ardından gelen ekranda komut satırının kopyaladığınız Python ortamıyla çalıştığını teyit ediniz.

Her şey hazırsa, komut satırına conda install -c esri deep-learning-essentials=2.8 yazınız ve Enter’a basınız. Buradaki 2.8 sayısı ArcGIS Pro sürümünüzle uyuşmalıdır. Conda sizin için gerekli paketleri bulup yüklemek ya da güncellemek için bir liste dökümü verecektir. Listedeki paketleri yüklemek için klavyenizden y tuşuna ve ardından da Enter’a basınız. Komut satırı size yükleme durumlarını gösterecektir bittiğinde ArcGIS – Python Command Prompt ekranını kapatabilirsiniz.

Ortamınız artık derin öğrenme coğrafi işlemlerini kullanmaya hazırdır. İyi çalışmalar!

Kaynaklar:

Install deep learning frameworks for ArcGIS—ArcGIS Pro | Documentation

Esri/deep-learning-frameworks: Installation support for Deep Learning Frameworks for the ArcGIS System (github.com)

Deep Learning – Esri Community

Esri Türkiye – Haziran 2021

 

 

ArcGIS Living Atlas ile Kullanıma Hazır Derin Öğrenme Modelleri

ArcGIS Living Atlas ile Kullanıma Hazır Derin Öğrenme Modelleri

Çok çeşitli sensörlerden ve kaynaklardan elde edilen görüntü verileri gün geçtikçe artmaya devam ediyor, bunları anlamlandırmak, sınıflandırmak, analiz etmek ya da bütün bu işlemleri otomatize etmek için Yapay Zeka’ya olan ihtiyaç ve talep de aynı hızda artıyor. Kuruluşunuzun da büyük boyutlarda ve hızlarda veri işlemeye hazır olabilmesi için Esri, yapay zeka işleriniz için ArcGIS Living Atlas of The World ile kullanımınıza hazır yapay zeka modellerini kullanıma sürdü. Bunlara bu bağlantıdan ulaşabilirsiniz.

Coğrafi veri kümelerinize uygulayabileceğiniz yapay zeka yeteneklerden daha önceden bahsettiğimiz, ArcGIS’te bulunan bir çok derin öğrenme modeli hakkındaki bilgilere buradan ulaşabilirsiniz.

Esri’nin Yapay Zeka ekibi buradaki modellerine sürekli olarak yenilerini eklemeye devam ediyor.

Yeni Derin Öğrenme Modelleri kullanılarak otomatik olarak çıkarılmış bina taban sınırları.

 

Yeni çıkan Kullanıma hazır modellerle ise siz ve kurumlarınızın derin öğrenme iş akışlarınızı çok daha kolay ve ölçeklendirilebilir hale getiriyor. Bu kullanıma hazır modeller yani eğitime gerek duymayan modeller, Esri tarafından çok büyük veri kümelerinden önceden eğitilmiştir ve nokta bulutu verilerinizden ya da uydu görüntülerinden sayısallaştırma yoluyla çıkaracağınız detayları otomatikleştirme için kolayca kullanılabilirler. Dahası yapay zeka ve derin öğrenmenin gücüne erişebilmek için ArcGIS Online hesabınız olması yeterlidir.

Modelleri Kullanma

Bu modelleri kullanmak oldukça kolaydır. ArcGIS Pro’daki coğrafi işlem araçlarını kullanarak verilerinize uygulayabilirsiniz. Örneğin Detect Objects Using Deep Learning aracı için araca girdi olarak görüntüleri ve yukarıdaki bağlantıdan indirdiğiniz modeli göstermeniz yeterli. Derin öğrenme işlemleri daha önce hiç olmadığı kadar kolay bir hal aldı. Tabi iyi bir grafik işlemci biriminizin olması işleri hızlandırmak için iyi olabilir ama gerekli değildir, modelinizi CPU ile de çalıştırabilirsiniz. Ya da işleri daha hızlı bir hale getirmek için ArcGIS Enterprise ile Image Server kullanabilirsiniz.

Bina taban sınırlarını çıkartma işleminin yapıldığı örnek video’yu buradan izleyebilirsiniz.

Bu derin öğrenme modellerinden nasıl yararlanabilirsiniz?

Muhtemelen, ayak izlerini sayısallaştırmak veya arazi örtüsü haritaları oluşturmak gibi görüntülerden detayları manuel olarak çıkarmanın zaman alıcı olduğunu söylemeye gerek yoktur. Derin öğrenme, bu süreci otomatikleştirir ve bu çıktıları elde etmek için gereken manuel etkileşimi önemli ölçüde aza indirir. Bununla birlikte, kendi derin öğrenme modelinizi eğitmek karmaşık olabilir, çok fazla veriye, kapsamlı bilgi işleme kaynağına ve derin öğrenmenin nasıl çalıştığına dair bilgiye ihtiyaç duyar.

Kaliforniya’dan örnek bina taban sınırları.

 

Kullanıma hazır modellerle, detayları manuel olarak çıkarmak veya kendi derin öğrenme modelinizi eğitmek için artık zaman ve enerji harcamanıza gerek kalmıyor. Bu modeller, çeşitli coğrafyalardan gelen çok büyük veri setleriyle eğitilmiştir. Siz kendi görüntülerinizle, bir düğmeye tıklayarak detayları kolayca çıkarabilir ve haritalama, görselleştirme ve analiz için CBS veri kümesi katmanlarınızı oluşturabilirsiniz.

Dubai’deki Palmiye Adalarından çıkarılmış örnek bina taban sınırları.

 

Kullanımınıza Hazır Yayınlanmış Birkaç Modeli Tanıyalım

ArcGIS Online’da sürekli olarak yenilerinin eklendiği derin öğrenme modelli mevcuttur. Bu modeller, ArcGIS Pro, Image Server veya ArcGIS for Python ile kullanabileceğiniz Derin Öğrenme Paketleri yani DLPK dosyaları şeklinde bulunmaktadır.

  1. Bina Taban İzini Çıkarma modeli, yüksek çözünürlüklü uydu görüntülerinden bina taban izlerini çıkarmak için kullanılır. Amerika Birleşik Devletleri verileriyle tasarlanmış ve eğitilmiş olsa da, dünyanın diğer bölgelerinde oldukça iyi performans gösteriyor.

    Bu model Dünya’nın farklı bölgelerindeki veri kümeleriyle de çalışmaktadır. İsveç’ten örnek sonuçlar.

     

    Bina taban izi katmanları, şehir bölge planlama, sigortacılık, vergilendirme, değişim tespiti ve altyapı planlaması gibi CBS işlerinde kullanılabilen verilerdir. Bazı sonuçlara ulaşabileceğiniz bir hikaye haritasına buradan erişebilir ve ArcGIS Pro’da nasıl uygulanabileceğine ilişkin bir videoya da buradan erişebilirsiniz.

  2. Arazi Örtüsü Sınıflandırma modeli, Landsat 8 görüntüleri kullanılarak bir arazi örtüsü ürünü oluşturmak için kullanılır. Ortaya çıkan arazi örtüsü haritaları, kentsel planlama, kaynak yönetimi, değişim tespiti ve tarım için kullanılabilir.

    Landsat 8 görüntülerinden sınıflandırılmış arazi örtüsü haritası.

     

    Bu jenerik model, Landsat 8 verileri ile Amerikan Ulusal Arazi Örtüsü Veritabanı (NLCD) 2016 üzerinde eğitilmiştir. Arazi örtüsü sınıflandırması karmaşık bir uygulamadır ve geleneksel yöntemlerle tespit edilmesi zordur. Derin öğrenme modelleri, bu karmaşık semantikleri öğrenme ve çok iyi sonuçlar verme konusunda yüksek kapasiteye sahiptir.

  3. Ağaç Nokta Sınıflandırma modeli, nokta bulutu veri kümelerinde ağaçları temsil eden noktaları sınıflandırmak için kullanılabilir.

    Ağaç nokta sınıflandırmalarıyla yapılmış 3 Boyutlu bir sahne.

     

    Ağaçlara ait noktalarının sınıflandırılması, yüksek kaliteli 3B altlık haritaları, kentsel planlama ve ormancılık iş akışları oluşturmak için faydalı olabilir. Bu derin öğrenme modeli 3B Altlık Harita Çözümü‘nde lidar verilerinden ağaçları sınıflandırmak ve ayıklamak için geliştirilmiştir.

Sonraki Adım

ArcGIS’te derin öğrenme modellerini kullanmak için buradaki ayrıntılı talimatları okuyarak, ArcGIS Living Atlas’taki derin öğrenme modellerini kendiniz deneyin.

Kaynaklar:

Living Atlas of the World | ArcGIS
Introducing ready-to-use geospatial deep learning models (esri.com)
Building Footprint Extraction (arcgis.com)
How-to: Extracting Building Footprints using Esri’s Deep Learning Model – YouTube

Esri Türkiye, Aralık 2020

2020’de Mekansal Analiz ve Veri Bilimine Genel Bakış

2020’de Mekansal Analiz ve Veri Bilimine Genel Bakış

2020 Geliştiriciler Zirvesi olarak bilinen Developer Summit’te mekansal analiz ve veri bilimi iş akışları için güçlü ve kapsamlı bir platform  olan ArcGIS’in yeteneklerini gösteren bir çok özellik anlatıldı. Bu yazı; bu konularda genel bilgi vermeyi amaçlayacak şekilde oluşturulmuştur. Ayrıca linke tıklayarak zirvede anlatılan diğer içerikleri ve videoları da izleyebilirsiniz.

Aşağıda gördüğünüz gibi veri bilimi iş akışı tipik olarak veri mühendisliğiyle başlar. Bu aşama verinin dönüşümünü, çıkarımını, hazırlanmasını ve zenginleştirilmesini kapsar. ArcGIS, analiz için kullanacağınız verileri kolayca oluşturmanıza yardımcı olur. Sonrasında verinin nelere sahip olduğunu ve olmadığını keşfetmek için görselleştirme ve keşfetme devreye girer. Mekansal analizler çalıştırılabilir ve konumu etkinleştirilmiş veriler Python veya R içinde modelleme ve komut dosyası için kullanılabilir. Sonuncu olarak iş akışında cevapların aksiyona döndüğü kısım; paylaşım ve işbirliğidir. ArcGIS tüm verileri entegre eder ve bunları harita, sahne ve katman gibi coğrafi bilgi varlıkları olarak düzenlemeye yardımcı olur.

Mekansal analiz ve veri biliminde güçlü ve kapsamlı platform

Bu sene; çok boyutlu raster veriler, hatta yapılandırılmamış verilerle ilgili çalışmalara ek olarak, lidar verileri ve full motion video gibi konularla ilgili geliştirme alanında yapılabileceklere değinilmiştir. Yazının ilerleyen kısımlarında bu konularla ilgili daha çok bilgiye erişebilirsiniz.

Açık Bilim, Araçlar ve Deneyimler

Veriyi dönüştürmede ArcGIS açık deneyimlerle entegredir. Makine öğrenmesi için Tensor Flow, Keras, PyTorch, veri düzenleme için pandas ve NumPy açık bilim kütüphaneleri, API’lar ve araçlarla entegre bir platform sunar.

Demo örneklerine geçmeden önce R- AcGIS Bridge’e gelen yenilikler kısaca şu şekilde özetlenebilir: portal öğelerine erişmek için Online veya Enterprise’dan bağlantı kurma yeteneği, Conda üzerinden R Notebook ile entegrasyon, R iş akışları içinde ArcPy çağırarak coğrafi işlem araçlarını çalıştırma.

– ArcGIS Notebooks’un ArcGIS Pro ile Entegre Çalışması

ArcGIS Notebooks; etkileşimli haritalama, semboloji, grafikler ve seçimler yoluyla analiz ve veri bilimi iş akışlarını yürütmenin, görselleştirmenin ve yinelemenin dinamik bir yoludur. Açık kaynak kütüphanelerinin sorunsuz entegrasyonu sayesinde, mekansal veri bilimi iş akışları sezgisel yollarla genişletilebilir. Demo olarak gösterilen bir örnekte “random forest” makine öğrenme algoritmasını kullanarak; sağlık verileri kronik böbrek hastalığından etkilenen nüfus yüzdelerini bölgelere göre göstermek için modellendi.

ArcGIS Notebooks ArcGIS Pro’yla entegre çalışır

Maliyeti düşürmenin ve hizmet sunumunda verimliliği artırmanın potansiyel bir yolu, dengeli idari bölgeler oluşturmaktan geçtiği için öncelikle bu konuda çalışıldı. İhtiyaç duyan hastalar, gelir düzeyleri ve diyaliz merkezlerine uzaklık gibi bir dizi öznitelik değerine dayalı olarak dengeli idari bölgeler tahmin edildi. ArcGIS Pro’nun Jupyter Notebooks ile entegre olması sayesinde analizin başlık, görseller ve etkileşimli grafikler de dahil olmak üzere anlamlı bir bağlamla optimize edilebildiği gösterildi.

Başlıklar, görseller ve etkileşimli analizlerin ArcGIS Pro içinde Notebooks ile görünümü

 

İkinci bir örnekte ise; Hindistan’daki protesto türlerini incelemek üzere açık kaynak kütüphanesinden yararlanılarak geçmiş yıllara dönük veriler iki ana grupta toplandı. Daha sonra analizini geliştirmek için açık kaynak kütüphaneleri içe aktarıldı. İlk olarak; mevcut öznitelik sınıfını bir “pandas DataFrame”e dönüştürerek öznitelikler tablo biçiminde görüntülendi ve seçildi. Daha sonra, verileri mekan ve zamanda görselleştirmek üzere istatistiksel grafikleri ve çizelgeleri dahil etmek için “seaborn” kullandı. Son olarak, kendi kategorileri arasında mekansal bir ilişki olasılığını belirlemek için ArcPy’nin colocation analiz aracı kullanıldı.

ArcPy ile Colocation analizi

Yapılan demo sunumunu izlemek için tıklayınız.

– Büyük Veri Analizi

GeoAnalytics Araçları, büyük miktarda veri arasındaki ilişkileri ve kalıpları tanımlamak için mekansal analizden yararlanır. GeoAnalytics, Apache Spark kullanarak vektör ve tablo veri kümelerini analiz etmek için paralel analiz gerçekleştirir. GeoAnalytics Server ile kuruluşlar birden çok makinede dağıtılmış analiz gerçekleştirirken, GeoAnalytics Desktop Araçları masaüstü makinenizdeki yerel verilerle paralel analiz yapmak için ArcGIS Pro’yu kullanır. ArcGIS Pro 2.5 ile tanıtılan ve GeoAnalytics Desktop araç kümesi ile nokta kümelenmelerini bulmayı sağlayan “Find Point Clusters” gösterildi. Gösterilen veri kümesinde 4.5 milyondan fazla nokta bulunmaktaydı. Belirlenen değişkenlere göre analiz gerçekleşirken Apache Spark masaüstü makinesinde işliyor ve coğrafi işleme ortamındaki 32 çekirdeğin tamamında paralel analiz yürütüyordu. Paralel analiz; analizi hızlandırmak ve genel performansı artırmak için işlemlerin birden fazla çekirdekte gerçekleştirilmesine izin verir.

Analiz çalışırken masaüstü çekirdeği kullanımı

Yapılan demo sunumunu izlemek için tıklayınız.

– Raster Analitik ve Python API

Raster analitikle ilgili örnek mercanlarla ilgilidir. Mercan resifleri gezegendeki en önemli ekosistemlerden biri olup, iklim değişikliğinin de içinde yer aldığı bir çok tehlikeyle karşı karşıyadır.  Okyanus sıcaklığının artması demek mercanların hayatta kalması için gereken sıcaklığın çok üstüne çıkılması demek olabilir. Aradaki bağlantının incelenmesi için raster analitik devreye giriyor. Bu demoda Raster analitik içindeki Multidimensional Analiz araçlarından yararlanılmıştır. Notebooks ve Python API kullanılarak Deniz yüzeyi sıcaklığının mercan ağartma üzerindeki etkisini anlamak için zaman serisi tahmin yetenekleri kullanan bir model oluşturuldu. Living Atlas içindeki multidimensional veri küpü kullanıldı. Bu veride 2008 yılına kadar günlük sıcaklık bilgileri bulunuyor. Aggregate multidimensional raster fonksiyonu ile bu veriden analizde kullanılmak üzere haftalık sıcaklık verisi üretildi.

Küresel günlük sıcaklık dilimleri ile çok boyutlu veri küpü

Her bir hücrenin (cell) zamanla ısınıp ısınmadığını veya soğuyup soğumadığını belirlemek için zaman serisi modeli oluşturuldu ve bu trende  dayanarak 2022 yılına kadar gelecekteki deniz yüzeyi sıcaklıklarını tahmin edilmek için fonksiyon çalıştırıldı. Böylece geleceğe yönelik beklenen değerleri bulup bunu gözlemlenenle karşılaştırma fırsatı bulunmuş oldu.

Gözlenen ve tahmin edilen deniz yüzeyi sıcaklık noktalarının karşılaştırılması

Bir sonraki aşamada belli bir eşiğin üstündeki sıcaklıklara odaklanılarak, zaman içinde sıcaklık anomalilerinin görüldüğü çok boyutlu veri küpü oluşturuldu. Sıcaklık anomalileri uzarsa, mercan sonunda ölebilir; bununla birlikte, maruziyet daha kısa süreler içinse mercanın iyileşme şansı vardır. Bunu bulmak için ise uzun süreli ısınma dönemlerinin ne zaman meydana geleceğini tahmin etmeye yarayan fonksiyon kullanıldı. Bu demoda 5 tane alarm seviyesi kullanılarak sonuç haritalaması gerçekleştirildi. Böylece üretilen tüm çıktılar ve odaklanmış mercan resifi ağartma verileriyle birlikte uyarı seviyeleri hızlı bir şekilde izlenebilir hale geldi.

Uyarı seviyelerini ve zaman içinde mercan stresini gösteren gösterge paneli

Yapılan demo sunumunu izlemek için tıklayınız.

– LiDAR Nokta Bulutundan AI ile Veri Çıkarımı

ArcGIS API for Python’ın Learn modülünü kullanarak LiDAR nokta bulutlarındaki verileri otomatik olarak etiketleyebilir ve ayıklayabilirsiniz. Modül artık eğitime hazır PointCNN sinir ağını içerdiği için PointCNN’yi kuruluşunuzun gereksinim duyduğu nesneleri algılaması için kolayca eğitebilirsiniz. Manuel etiketleme yerine AI sayesinde çok daha kısa bir sürede etiketlemeyi tamamlamış olursunuz.

Üstte manuel etiketlendirilen nokta bulutu, altta görünen AI ile etiketlenmiş nokta bulutunu göstermekte

Yapılan demo sunumunu izlemek için tıklayınız.

 

– Derin Öğrenme Araçları ile Full Motion Video

Bu demoda bir kedi balığı dedektörü modelinin ArcGIS Pro’nun tam hareketli video araçlarından türetilen bir eğitim seti kullanarak nasıl eğitileceği anlatılmıştır. İlgi çekici nokta eğitilmiş modelin bütün video boyunca balıkları etkili bir şekilde algılamasıdır. Burada izlenen yol; seçilen her karede nesnelerin tanımlanması ve sınıflandırılması, özniteliklerin detay katmanında eğitim verisi olarak tutulması ve tahminsel kedi balığı dedektör modelini çalıştırmak için eğitim verilerini girdi olarak kullanılması şeklindedir. Bu çalışma ve bunun gibi çalışmaların sonuçları daha sonra tür kaybıyla ilgili yerel balıkçı ve koruma uzmanları gibi kilit paydaşlarla paylaşılabilir.

Yapılan demo sunumunu izlemek için tıklayınız.

– Yapılandırılmamış Metinden Veri Çıkarımı ve Haritalama

Bahsedeceğimiz son demo örneği yapılandırılmamış metinden veri çıkarımı olacak. Veriler her zaman konumsal bilgileri hazır bir coğrafi veri kümesi olarak gelmez, onun yerine metin tabanlı raporlardan da veri çıkarımı yapmak gerekebilir. Bu tarz verileri standart formata getirme işlemini learn module’ü kullanarak nasıl otomatize edebileceğinizi anlatıyor.  Yapısal veri çerçevesindeki verilerle, konumları coğrafi olarak kodlamak ve nokta detay katmanı oluşturmak için ArcGIS API for Python kullanıldı. Aşağıdaki görselde görünen her nokta bir suç yerini temsil ediyor.

Suç olaylarının detay katmanı

Yapılan demo sunumunu izlemek için tıklayınız.

Kaynaklar:

  1. https://www.esri.com/arcgis-blog/products/arcgis/analytics/developer-summit-2020-spatial-analysis-and-data-science-overview/
  2. https://www.esri.com/arcgis-blog/products/arcgis-pro/analytics/developer-summit-2020-spatial-data-science-in-arcgis-pro/
  3. https://www.esri.com/arcgis-blog/products/geoanalytics-server/analytics/dev-summit-2020-conduct-big-data-analysis-using-geoanalytics-and-apache-spark/
  4. https://www.esri.com/arcgis-blog/products/api-python/3d-gis/dev-summit-2020-use-ai-to-extract-data-from-lidar-point-clouds/
  5. https://www.esri.com/arcgis-blog/products/arcgis-pro/analytics/developer-summit-2020-use-deep-learning-tools-with-full-motion-video/
  6. https://www.esri.com/arcgis-blog/products/api-python/analytics/dev-summit-2020-extract-and-map-data-from-unstructured-text-2/

 

ArcGIS ile Derin Öğrenme Modelleri

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.

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ı

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

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ı

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ı

İ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

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.

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 arttırımı.

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

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.

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ı

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.

Mekansal Veri Bilimi Mooc

Ü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