ArcGIS Pro’da İnteraktif Nesne Algılama

ArcGIS Pro, bir haritadaki veya sahnedeki nesneleri algılamak için araçlar sağlar. ArcGIS Pro’da Exploratory analiz araçlarından Interactive Object Detection aracı, haritanızdaki verileri analiz ederek nesneleri algılamak için işlevler içermektedir.

Interactive Object Detection aracı, nesne algılama tekniklerini kullanarak 3B nesneler, görüntüler ve entegre mesh sahne katmanları gibi verilerden pencere ve kapı gibi nesneleri bulup çıkararak veri sağlamaya yardımcı olur. Algılanan nesneler, daha sonra diğer analiz araçları için girdi olarak kullanılabilecek nokta detayları olarak kaydedilir.

Interactive Object Detection aracı, eğitimli bir derin öğrenme modeli kullanması bakımından diğer Exploratory analiz araçlarından farklıdır.

Bu blog yazısında Interactive Object Detection aracı ile önceden eğitilmiş bir model kullanılarak bina katmanlarından pencere ve kapıların nasıl tespit edildiği gösterilecektir. Bu çalışmaya başlamadan önce Derin Öğrenme kütüphanelerini yüklemeniz ve ArcGIS Pro Advanced lisans düzeyine sahip olmanız gerekmektedir.

Aracı kullanmak için ArcGIS Pro’da dokulu bina katmanları olan bir 3B sahne açınız. Eğer 3B bir sahne katmanına sahip değilseniz ArcGIS Living Atlas of the World’de bulunan “Tourism in Lyon” web sahnesini kullanabilirsiniz. ArcGIS Pro’da Analysis sekmesine tıklayınız. Exploratory 3D Analysis galerisini genişletiniz ve Object Detection aracına tıklayınız.

Modelin Kurulumu

Ayarlanacak iki parametre kategorisi vardır: biri modelin davranışı, diğeri ise çıktı detay katmanı. Modeli tanımlamak için, Model açılır menüsüne tıklayınız. Pencere ve kapılar için Esri tarafından sağlanan önceden eğitilmiş modeli otomatik olarak almak için Download‘a tıklayınız. Classes açılır menüsünden Window‘u seçiniz ve diğer model parametrelerini uygun gördüğünüz şekilde tanımlayınız. Varsayılan olarak bırakabilirsiniz.

Çıktı detay katmanı için, öznitelik tablosuna eklenecek bir isim, isteğe bağlı bir açıklama sağlayınız ve sembolojisini seçiniz. Semboloji olarak algılanan nesnenin orta noktasında bir X ile işaretlenmesi (“Location Point”) veya nesnenin yarı saydam bir kutu olarak görüntülenmesi (“Vertical Bounding Box”, “Horizontal Bounding Box”) seçenekleri bulunmaktadır. Bu örnekte “Vertical Bounding Box” seçeneğini kullanabilirsiniz.

Aracı çalıştırmadan önce, sonuçlarınızı iyileştirmek için iki ipucu mevcuttur:

  • Sahne üzerinde pencerelerin (veya kapıların) algılanma olasılığının en yüksek olduğu binalara doğrudan bakacak şekilde görünümü ayarlayınız. Etrafınızda dönmenize yardımcı olması için Explore aracını veya V klavye kısayolunu kullanabilirsiniz.
  • Araç o anda görüntülenen içeriğe karşı çalışırken, algılamaları engelleyebilecek diğer katmanları kapatınız.

Creation Methods altındaki varsayılan olarak Current Camera seçiliyken modeli yüklemek ve sonuçları oluşturmak için Apply’a tıklayınız. Aracın çalışması bittiğinde, algılanan pencereleri içeren Contents bölmesine eklenen yeni bir nokta katmanı göreceksiniz.

Aracın yalnızca sahnenin görünen kapsamındaki görüntüler için çalıştığını unutmayınız. Ek sonuçlar oluşturmak için sahneyi yeni bir konuma taşıyınız ve aracı yeniden çalıştırınız. Sonraki çalıştırmalar modeli yeniden yüklemez, bu nedenle daha hızlı işlediğini fark edeceksiniz.

Sonuçlar beklediğiniz gibi değilse model parametrelerini değiştirebilirsiniz. Tüm pencereler algılanmıyorsa, daha düşük güven puanına sahip sonuçları dahil etmek için Minimum Confidence Level’ı düşürmeyi deneyiniz. Alternatif olarak, çok fazla pencere dışı nesne seçiliyse, daha zayıf algılamaları filtrelemek için Minimum Confidence Level’ı artırabilirsiniz.

Varsayılan model, çeşitli pencere ve kapı şekilleri için çalışır, ancak veri türünüz veya bölgenizde daha yaygın olan pencere ve kapıları algılamak için daha fazla eğitilebilir. Modeli yeniden eğitmekle ilgileniyorsanız ArcGIS API for Python kılavuzundaki adımları kullanabilirsiniz.

Farklı derin öğrenme model paketleri (DLPK) ArcGIS Online veya diğer kaynaklardan da indirilebilir.

Daha detaylı bilgi için, bir binada nesne algılama sürecini gösteren YouTube videosunu inceleyebilirsiniz.

ArcGIS uygulamaları ve güncellemeleriyle ilgili daha fazla bilgiye ulaşmak için blog sayfamızı takip edebilirsiniz.

Esri Türkiye 2022

ArcGIS Voxel Katmanları

Voxel katmanları, 3B içeriklerin sunulması süreçlerinde kullanılan bir katman türüdür. Bu katmanlar aynı zamanda zaman bilgilerinin de sunulmasını sağlamaktadır. Örneğin, bir yer altı verisi veya Space Time Cube verisi voxel katmanı olarak görselleştirilebilir.

Örnek Voxel Katmanı

Voxel katmanları netCDF formatında bulunan hacimsel verilere dayanmaktadır. Eğer elinizde bir netCDF verisi var ise bu veriyi 3B olarak görselleştirmek için Voxel Katmanlarına direkt olarak dönüştürebilirsiniz. Voxel katmanları, çalışma alanı ile ilgili hacimsel bilgileri, zaman bağlı değişimleri, daha yüksek doğrulukta analiz sonuçlarını ve fiziksel olarak deneyimleyebildiğimiz bir son ürünü sağlamaktadır.

Voxel Katmanlarının Oluşturulması

Voxel katmanları bir netCDF dosyası kullanılarak oluşturulabilir. netCDF dosyaları raster verilerden farklı olarak içerisinde dizi verileri barındırmaktadır. Ancak ArcGIS Pro’da birkaç coğrafi araç ile nokta verilerinden de Voxel Katmanları oluşturabilmekteyiz. Bu blog yazısında bir senaryo üzerinden denizde doğalgaz ile ilgili değerli ölçen sensörlerden gelen verilerden doğalgaz rezervinin nasıl dağıldığını hacimsel olarak görebileceğimiz bir örnek oluşturacağız.

Nokta Verileri

İlk olarak bir doğalgaz sensöründen gelen verileri örnekleyelim. Örneğin -850 metrede ölçülen değer 1.180, -840 metrede ölçülen değer 0.980 gibi bir nokta verisi oluşturalım.

Farklı z değerlerine sahip örnek noktalar

Sürekli Yüzey

Oluşturduğumuz nokta verilerinden ilk etapta iki boyutlu raster verisi oluşturacağız, bu verileri hangi z değerinde nasıl bir sonuç elde edilmiş bunu görmemizi sağlayacak. Bu kısımda noktalardan sürekli yüzey oluşturma tekniklerini olan IDW, Krigging gibi yöntemleri kullanabiliriz. Bu çalışmamızda Emprical Bayesian Kriging yöntemini kullanacağız. Araç içerisinde ise her z değeri için bir sonuç çıkmasını sağlayacağız.

 Farklı z değerlerine sahip bölgelerin iki boyutlu gösterimi

Voxel Katmanları

İki boyutlu raster verileri her z değeri için farklı olarak üretildikten sonra, hangi z noktasında değerlerin yüksek olduğunu görebiliriz. Fakat tüm bu iki boyutlu verileri kullanarak üç boyutlu bir sahne oluşturarak daha kolay görebilir ve fiziksel olarak interaktif bir deneyim elde etmiş oluruz.

Oluşturduğumuz iki boyutlu verilerden bir netCDF dosyası oluşturacağız ve bu sayede voxel katmanları için gerekli olan netCDF dosyasına sahip olabiliriz.

Sonuç

Örnek nokta verilerinden deniz altındaki doğalgaz rezervlerinin nasıl dağıldığını inceledik. Süreç içerisindeki tüm değerler, tahminlemeler, yöntemler çalışmaların detay seviyesine göre değişiklik gösterebilir. Oluşturduğumuz Voxel Katmanını örnek üzerinden inceleyebilirsiniz.

 

ArcGIS uygulamaları ve güncellemeleriyle ilgili daha fazla bilgiye ulaşmak için blog sayfamızı takip edebilirsiniz.

Esri Türkiye 2022

AEC Web Uygulamaları Serisi – 2

AEC firmaları, projeler yoluyla sonuçları müşterilere ulaştırır. Bu bağlamda projeler ile ilgili ilerleyişi takip edebilme, öncesi ve sonrası arasındaki farkı sunabilme, projenin sağlayacağı faydanın aktarılabilmesi gibi süreçler çok önemlidir.

Daha önceki AEC Web Uygulamaları Serisi – 1 yazımda oluşturduğum 2 adet örnek uygulamayı incelemiştik. Bu uygulamalar, 3D Gelişim Alanı – Halk Katılımı ve Bina Keşif Uygulamasıydı. Bu uygulamaların ikisinde de BIM verilerinin gösterimi ve bazı ek fonksiyonlar ile kullanıcıların bu veriler ile etkileşim içinde olabileceği senaryolar oluşturmuştuk. BIM içeriklerinin gösterimine ek olarak bu fonksiyonların uygulamalar içinde konumlandırılması kullanıcıların yanlızca BIM verilerini incelemesini değil bu uygulamalar ile etkileşim kurmalarını sağlamaktadır. Örneğin bir önceki blog yazımdaki 3D Gelişim Alanı – Halk Katılımı uygulamasını ele alalım. Yeni inşa edilecek bir alandaki değişikleri halka üç boyutlu olarak sunmak, kullanıcı açısından bakıldığında yetersizdir. Fakat yeni inşa edilecek alanla ilgili değişiklikleri sunmanın yanı sıra bu değişikliklerin insanlar için uygun olup olmadığı ile ilgili bilgiyi de bir anket ile konum tabanlı olarak toplayabiliriz.

Bu blog yazısında da daha önce oluşturmuş olduğum iki adet örnek uygulamayı inceleyeceğiz. Bu uygulamalar inşaat ve proje yönetim süreçlerinde kullanılabilecek, tamamen örnek verilerden oluşturduğum uygulamalar.

*Uygulama geliştirme arayüzü olarak ArcGIS Experience Builder’ı kullandım. Buna ek olarak uygulamalara fonksiyon katmaları için ArcGIS Survey 123, ArcGIS Dashboards, ArcGIS Web AppBuilder gibi uygulamalar da kullanıldı.

Örnek Uygulamalar

İnşaat Yönetim Uygulaması

Bu uygulamayı bir senaryo üzerinde maddeler halinde inceleyelim. Örneğin mevcutta devam eden bir inşaat projesi bulunuyor ve yönetici bu proje üzerinde;

  • İnşaat genel ilerleme durumunu
  • Süreçlerle ilgili ilerleme durumunu, örneğin tüm binadaki kaba sıva henüz %60
  • Katlar ile ilgili ilerleme, hangi katta şuan hangi çalışma yapılıyor
  • Odalar ile ilgili ilerleme, hangi odada mevcutta kim ne iş yapıyor
  • Maliyet ile ilgili dökümler, ekipman için ne kadar harcanmış veya işçiler için ne kadar para harcanmış
  • Ekipmanlar ile ilgili güncellemeler, örneğin hangi iş makinası ne durumda

gibi süreçleri yönetici takip edebilsin.İlk olarak uygulamanın anasayfa görünümünü tasarlayalım. Anasayfa’da proje ile ilgili bilgiler, 3D model, katlar arasında geçiş yapılabilecek bir kat aracı, maliyet ile ilgili bilgiler, ilerleme ile ilgili bilgiler olsun.

İnşaat Yönetim Uygulaması Anasayfası

Anasayfa tasarımını tamamladıktan sonra iç kısımda bulunacak sayfaları tasarlayabiliriz. İnşaat yönetim uygulamasında iç kısımlarda oda bazında ilerlemenin görüntülenmesi ve hangi odada kimin çalıştığı gibi özellikleri konumlandırabiliriz.

İnşaat Yönetim Uygulaması Oda Bazında İlerleme ve Hangi Odada Kimin Çalıştığının Gösterimi

Odalar kısmında hangi odada hangi işlemin yapıldığını görüntüleyebilmekteyiz. Örneğin yukarıdaki görselde Laboratory 1 odasında duvarların örülmesi işlemi devam etmekte. Kaba sıva, ince sıva ve duvarların boyanması işlemlerinin henüz başlamadığını görüntüleyebilmekteyiz. Bu ekranda ek olarak kimin çalıştığını görüntüleyebileceğimiz bir açılır pencereyi de konumlandırabiliriz.

Hangi Odada Şuan Kimlerin Aktif Olarak Çalıştığının Gösterimi

Oda bazında çalışanların gösterimi, ilerleyişin takip edilmesi ve çalışanların şuanda ne işi yaptığının görüntülenmesi uygulamaya eklenebilecek önemli bir özelliktir. Uygulamanın yönetici tarafına isterlere göre çok fazla fonksiyon eklenebilir.

Sonraki aşamada ise asıl önemli nokta bu verilerin güncellenmesi, çünkü anasayfada bulunan maliyet dökümü, inşaat ile ilgili ilerleme, odalar ile ilgili bilgiler aslında bir veri tabanı üzerinden yönetilmektedir. Şimdi ise sahada bu güncellemeleri yapacak kişi için gerekli olan uygulamayı tasarlayalım. Bu uygulama birden fazla kişi için veri girişi yapılacak şekilde tasarlanabilir. Örneğin bir kişi odalarda kimlerin çalıştığını güncelleyebilmesi gerekirken diğer bir çalışan inşaat için gerekli olan kumun fişini ve fiyatını maliyet kısmına ekleyebilir. Veri tabanında yapılan güncellemeler kimin o veriyi oluşturduğunu ve güncellediğini de tuttuğu için karmaşıklığı da ortadan kaldıracaktır.

İnşaat Takip Uygulaması Veri Giriş Ekranı

Örneğin operatör sahadan oda ile ilgili duvarların örülmesi işlemini tamamlandıya çekerek kaba sıva çalışmasının başladığını açılır menüler ile veri tabanına girebilmektedir. İnşaat yönetim ekranında yönetici bu güncellemeyi direkt olarak  görüntüleyebilmektedir, çünkü tüm süreç aynı veri üzerinden ilerlemektedir. Aynı şekilde anasayfa da bulunan maliyet dökümü kısmında başka bir operatör alınan bir hizmeti veya materyali aynı bu ekran üzerinden girebilmektedir.

Çalışmaya ait video kaydı için buraya tıklayabilirsiniz.

Proje Takip Uygulaması

Bu örnek uygulamada devam eden bütün projeleri görüntüleyebilmek, projeden kimin sorumlu olduğu, kaç kişinin o projede çalıştığı, ilerlemeleri, maliyetleri inceleyebilmek için tasarlayalım. Bir önceki uygulamada olduğu gibi tasarım süreçlerinde kendi marka yüzümüzü yansıtabilir özgür bir tasarım gerçekleştirebiliriz.

Bu örnekte bir giriş sayfası tasarlayalım. Giriş sayfasında devam eden projelerin ve tamamlanan projelerin sayısını görebileceği şekilde tasarlayalım. Anasayfanın üst kısmına ise kullanıcının sayfalar arasında gezinme yapabileceği bir menü tasarımı yapalım.

Proje Takip Uygulaması Anasayfa

Bu web uygulamasının iç kısımdaki sayfalarında projeler ile ilgili detayların görebileceği şekilde tasarlayalım. Örneğin mevcutta devam eden projelerin 3D olarak görüntüleyeceği için projeye ait 3D modeli projeye ait ilerlemeyi, maliyeti ve çalışanları anasayfaya ekleyelim.

Proje Takip Uygulaması / Devam Eden Projeler

ArcGIS Online ve ArcGIS Enterprise ortamlarında Revit modellerini üç boyutlu olarak paylaşarak bu uygulamaları sizler de oluşturabilirsiniz. Bu blog serisinde BIM-GIS entegrasyonunu etkin bir şekilde kullanımı ile ilgili örnekleri kapsayan blog yazılarına yeni uygulamalar ile devam edeceğiz.

Esri Türkiye 2021

3D Sahne Katmanları

ArcGIS Platformunu kullanarak üç boyutlu içeriklerin oluşturulması, yönetilmesi, depolanması ve paylaşılması gibi süreçleri gerçekleştirebilmekteyiz. Örneğin ArcGIS CityEngine, ArcGIS Pro veya ArcGIS Drone2Map kullanarak üç boyutlu modeller oluşturabiliriz, ardından bu içerikleri verinin türüne göre bir GDB içerisinde veya bir sahne katmanı paketine dönüştürerek saklayabiliriz. Bir sonraki aşamada, üç boyutlu içerikleri web ortamında paylaşılarak web sahnelerinin ve web uygulamalarının oluşturulması bulunmaktadır.

Bu blog yazımda üç boyutlu içeriklerin web ortamında paylaşılması tarafında kullanılan Sahne Katmanlarından bahsedeceğim. Bu katmanlar, tek bir sahnede çok fazla miktarda üç boyutlu verinin görüntülenebilmesi için optimize edilmiş katman türleridir. Örneğin havadan çekilen fotoğraflardan üretilmiş bir nokta bulutu verimiz var ve biz bu veriyi kullanarak bir web tabanlı uygulama oluşturmak istiyoruz. Nokta bulutu verisini “.las” uzantısı ile ArcGIS Pro da görüntüledikten sonra bir sahne katmanı olarak web ortamında paylaşarak bir web sahnesinde görüntüleyebiliriz. Sonrasında web tabanlı uygulamamızı oluşturabiliriz.

Sahne katmanları 5 veri türünü desteklemektedir. Bu veri türlerini madde madde inceleyecek olursak.

3D Object Scene Layer

Bu sahne katmanı üç boyutlu olarak modellenen bina gibi nesnelerin paylaşılması için kullanılmaktadır. Genellikle büyük şehir modellerinin paylaşılması için kullanılır. Örneğin tüm Ankara’yı 3B olarak web tabanlı bir uygulama ile görüntülenebilmesini sağlamak istiyoruz. Bu noktada elimizdeki bina modellerini bir 3D Object Scene Layer paketine çevirerek ArcGIS Online veya ArcGIS Enterprise ortamında üç boyutlu bir web sahnesinde görüntüleyebiliriz. Paylaşılan bu 3B modeller içeriğe bağlı olarak dokularla veya renk sembolleri ile görüntülenebilmektedir.

3D Object Scene Layer Package

Building Scene Layer

Bu sahne katmanı BIM verilerini ArcGIS platformunda paylaşmamıza olanak sağlamaktadır. Ek olarak BIM modellerinin görüntülenmesi kısmında modeldeki katlar arasında geçiş yapılabilmesini sağlayan ek özellikler sağlamaktadır. Örneğin elimizde bir kütüphaneye ait BIM verisi bulunuyor. Biz bu veriden bir 3B web uygulaması oluşturmak istiyoruz. Uygulamada kullanıcılar 3B olarak modeli görüntüleyebilsin, katlar arasında geçişler yapabilsin, çalışma odalarını görüntüleyebilsin gibi özellikler eklemek istiyoruz. Bu bağlamda elimizde bulunan BIM modelini Building Scene Layer olarak paylaşarak uygulamayı oluşturmak için ilk adımı atabiliriz.

Building Scene Layer

Integrated Mesh Scene Layer

Mesh dosyaları tek bir modelden oluşan 3B verilerdir. Örneğin ArcGIS Drone2Map yazılımında havadan çekilen fotoğraflardan üretilen 3B Mesh Dosyası buna bir örnektir. Mesh dosyaları genel olarak dronelar ile üretilen 3B modellerdir. Integrated Mesh Scene Layer ile bu mesh dosyalarını bir web sahnesinde görüntüleyebilmekteyiz.

Integrated Mesh Scene Layer

Point Cloud Scene Layer

Bu sahne katmanı büyük hacimli, sembolojisi yapılmış ve filtrelenmiş nokta bulutu verilerinin görüntülenmesini sağlar. Lidar dahil olmak üzere birçok türde sensör verisinden elde edilen verilerin görüntülenmesi ve paylaşılması için optimize edilmiştir. Bu sahne katmanları 3B nokta bulutu içeriğinin paylaşılmasını sağlamaktadır

Point Cloud Scene Layer

Point Scene Layer

Büyük miktarda nokta verisinin web ortamında paylaşılması için kullanılan sahne katmanıdır. Örneğin çalışma alanında bulunan 10000 ağacı web sahnesinde görselleştirmek istiyoruz. Bu ister için Point Scene Layer kullanılabilmektedir.

Point Scene Layer

 

ArcGIS Online ve ArcGIS Enterprise ortamında paylaşılan bu sahne katmanları, üç boyutlu coğrafi içerikleri paylaşmak için kullanılan bir OGC* standardı olan I3S verilerinin katmanlarıdır.  I3S bir web servisi olarak çalışıyor ve .sahne katmanları bu web yayınının kaynak formatıdır.

Esri Türkiye 2021

Uludağ Kayak Bölgesi 3D Haritası Oluşturma

Uludağ Kayak Bölgesi 3D Haritası Oluşturma

Esri’nin ArcGIS Javascript yeteneklerinin gösteriminde yapmış olduğu örnek çalışma baz alınarak, Uludağ kayak alanının 3D haritasını oluşturmayı öğreneceğiz bu yazımızda.

Not: Orijinal harita ve blog sayfasına linklerden ulaşabilirsiniz.

1.      Çalışma alanının belirlenmesi

Uygulama yapacağınız alanınıza ait “extent” değerlerini “config.js” içerisinde belirleyin.

2.      Verilerin oluşturulması

Harita üzerinde gösterimini yapmak istediğiniz bina, teleferik hatları, ağaçlar, v.b. oluşturup ArcGIs Server servis URL’lerini “main.js” içerisinde tanımlamalarını yapın.

3.      Görselliğin belirlenmesi

“renderers.js” içerisinde verilerinizin görselleştirilmesi için gerekli olan “render” nesnelerini isteğinize göre değiştirebilirsiniz.

Bina verilerinin gösterimi, katman içerisinde bulunan ‘Type’ adındaki sütun verilerine göre farklılık göstermektedir. Örneğin restoran sembolü sadece ‘Type’ değeri ‘Restaurant’ olduğunda farklı şekilde gösterimi yapılmaktadır.

Restoran sembolü ise ‘restaurantSymbol’ adlı değişkende belirtilen değerlerdir.

4.      Animasyon desteği

Uygulamaya eklenen animasyon özelliği sayesinde 3D bir objenin sizin belirleyeceğiniz kural doğrultusunda x ve y değerleri hesaplanarak animasyon özelliği katılmış.

‘main.js’ içerisinde bulunana ‘positionAnimation’ ve ‘headingAnimation’ değişkenlerini hesaplayan fonksiyonlarında değişiklik yaparak, kendi konum hesaplama fonksiyonunuzu oluşturabilirsiniz.

5.      Efekt desteği

Bir başka hoş bir yetenekte ekranda kar yağma efektinin bulunması. Bu özellik CSS kullanılarak gerçekleştirilmektedir. ‘style.css’ içerisinde ‘snow’, ‘i-large’, ‘i-medium’ ve ‘i-small’ etiketlerine bakabilirsiniz.

Bu çalışmada kullanılan bina konum verileri OpenStreetMap üzerinden alınmıştır, bunun dışındaki verilere ait konumlar varsayımsal olarak ifade edilmektedir, gerçek değillerdir.

Web uygulaması ArcGIS for JavaScript kullanılarak oluşturulmuş, Esri’nin blog sayfasında belirtilen yönergeler izlenmiştir. Kullanılan 3D modeller “Google Poly” üzerinden edinilmiştir ve tüm hakları ilgili üretenlere aittir. Modeller 12345.

Özel çözümler ve profesyonel destek için Esri Türkiye Profesyonel Hizmet birimi ile iletişim kurabilirsiniz.

Esri Türkiye 2020