Kıyılar, erozyon ve dolayısıyla geri çekilme veya kıyı şeridinin ilerlemesi fenomenlerinin çok sayıda meteoklimatik, jeolojik, biyolojik ve antropik faktör tarafından yönetildiği çok dinamik bir sistemdir .
Deniz aşınmasının etkisinin birikintiden daha büyük olduğu durumda, kelimenin tam anlamıyla dünya yüzeyinin parçalanmasına ve yıkılmasına yol açan açık kıyı erozyonu vakaları vardır .
Bu yazımızda, Landsat 8 platformunda OLI (Operational Land Imager) sensörü tarafından elde edilen iki uydu görüntüsünde Canny Edge Detection adlı bir algoritma kullanacağız .
Bu metodoloji yoluyla, güçlü erozyon eylemlerine maruz kalan belirli bir Avrupa bölgesinin kıyı şeridinin zaman içindeki ilerlemesini görselleştirebileceğiz ve tahmin edebileceğiz : Holderness Coast.
İşte önerilen bir iş akışı :
Hadi başlayalım! Ama önce…
Landsat 8, OLI (Operational Land Imager) adı verilen 11 bantlı bir multispektral sensörün üzerine monte edilen bir yörünge platformudur .
Spesifik olarak, bu makalede sadece 30 metre çözünürlüğe sahip bantları kullanacağız (yani ilk 7).
Veri ücretsiz indirilebilir tarafından sağlanan platform üzerinden, kayıt işleminden sonra, USGS : https://earthexplorer.usgs.gov/ .
Üstelik, genellikle kullanıldığı gibi, gelen güneş ışığının ham verilerini kullanmak yerine , yansıtma özelliğini , yani dünyanın yüzeylerinden yansıyan güneş ışığı miktarını [0-1] kullanacağız .
Çeşitli yaygın paketler arasında, bu makalede , raster görüntülerle kolayca başa çıkmak için rasterio , Canny algoritmasını uygulamak için OpenCV ve görüntüleri bölümlemek için Scikit-Learn kullanacağız .
Bize saklanacak bant sayısını ve daha önce JSON'a girilen yardımcı verileri söyleyen bir değişken tanımlayalım:
Bu Json , Landsat OLI görüntüleyiciden ( benim tarafımdan oluşturulmuş ) bir bilgi koleksiyonudur . Bir tür kullanım kılavuzu. Şöyle görünüyor:
Yalnızca 30 m çözünürlüklü bantları kullanacağımızı, yani yalnızca ilk 7 bantları kullanacağımızı unutmayın. Daha düşük çözünürlüklere (100 m) sahip olmak istiyorsanız , önemli TIRS 1 ve TIRS 2 bantlarını da gömebilirsiniz .
Yukarıda birkaç satırda belirtildiği gibi, Landsat-8 OLI'den iki farklı satın alma kullanacağız :
Kodun yürütülmesi sırasında, bu, aşağıdaki gibi bazı destek işlevlerini gerçekleştirmemize izin verecektir:
Sonuç şunun gibi bir şey olmalı:
Searching for 'tif' files in Data/2014-02-01 Found 7 'tif' files Loading images Done Searching for 'tif' files in Data/2019-07-25 Found 7 'tif' files Loading images Done
Bu aşamada, iki çokbantlı küpün “hizalanmasından” ( veya daha resmi olarak tescilinden ) sonra, edinimin bizi ilgilendirmeyen kısmını kesmeye özen gösteriyoruz.
İstenmeyen verileri "kesmek" için subsetImages () işlevini kullanalım .
O yüzden bu nedenle izin AOI tanımlamak ( İlgi Alanı ) ve fonksiyon kullanarak subsetting geçin subsetImages () içinde ) (Edinme sınıfını:
Bitti!
2019/07/25 satın almanın tüm gruplarını görmeye çalışalım. Tamamen estetik nedenlerle , görüntü grafiğini yapmadan önce, StandardScaler () kullanarak görüntülerin standardizasyonunu gerçekleştirelim .
Sonuç bu olmalı.
Gördüğünüz gibi bazı gruplar diğerlerinden daha parlak. Bu oldukça normaldir.
Şimdi her iki edinimi de 4 (Kırmızı), 3 (Yeşil) ve 2 (Mavi) bantları kullanılarak elde edilen bir RGB kompozitinde görselleştirmeye çalışalım .
BIAS ve GAIN yalnızca güzel bir viz elde etmek için tanımlanmıştır .
Ve işte sonuç! İki kazanımın yansıtma açısından özellikle farklı olması komik.
Tamam, sahil şeridi tespitine geçin .
Bu paragrafta, Canny'nin metodolojisini kullanarak kenar algılama yapacağız .
Gerçek algılamaya gitmeden önce, okyanuslar ve karalar arasında ayrım yapmak için bir kümeleme algoritması aracılığıyla onu bölümlere ayırmaya çalışan veri kümesini hazırlamak gerekir .
Bu aşamada, kümeleme işlemleri için iki çokbantlı küpü yeniden şekillendirmeliyiz.
İki edinimi k-araçlarıyla bölümlere ayıralım (tercih ettiğiniz modeli kullanın).
İşte ortaya çıkan toprakları ve su kütlelerini temsil eden tanımlanmış iki küme.
Canny'nin geleneksel bir anahtardaki tekniği aşağıdaki aşamalara ayrılmıştır:
Görüntüleri biraz bulanıklaştırdıktan sonra, OpenCV Canny () modülü ile gerçek Canny tekniğinin uygulanmasına geçebiliriz :
Tek bir kod satırında, gradyanı elde ettik, yerel maksimumları çıkardık ve ardından her bir edinim için eşiği histerezis ile uyguladık.
NOT: Farklı sonuçları keşfetmek için Canny () parametreleriyle oynayın.
Ve işte sonuçlar.
Ve işte birkaç ayrıntı:
Sonuçlardan da görebileceğiniz gibi, Canny'nin orijinal kanalındaki algoritması oldukça iyi çalışıyor ancak performansı - her zamanki gibi - ilgili verilere bağlı.
Aslında kullanılan kümeleme algoritması, başlangıçtaki multispektral küpleri kesinlikle geliştirilebilecek performanslarla bölümlere ayırmamızı sağladı. Birkaç kümeleme modelinin paralel olarak kullanılması genel olarak sonuçları iyileştirebilir.
🤝 Herhangi bir şüpheniz, geri bildiriminiz veya işbirliği talebiniz varsa, lütfen Linkedin üzerinden benimle iletişime geçmekten çekinmeyin . Sizinle sohbet etmekten çok mutlu olacağım!
👉 Bunun gibi daha fazla içerik için ve gelecek makalelerden haberdar olmak için beni Medium'da takip etmeyi unutmayın .
👉 Bu makaleye herhangi bir referans için lütfen benimle iletişime geçin. Teşekkür ederim.
Teknoloji dünyasında, işletmeler sürekli olarak siber suçluların şeytani faaliyetlerinin tuzağına düşme riski altındadır. Endişe verici derecede sık hale gelen böyle bir taktik, kimlik bilgilerini doldurmaktır.
Bir ürün yöneticisi olarak sürekli olarak ekibimi ve kendimi daha verimli ve etkili hale getirmenin yollarını arıyorum. Aşağıda, zamandan tasarruf etmek ve daha fazla etki yaratmak için ChatGPT'yi bir Proje Yöneticisinin iş akışına nasıl dahil edebileceğinize dair birkaç başlangıç fikri verilmiştir.
Kasım 2020'nin başlarında SalesForce, açıklanamayacak şekilde JARM adlı yeni bir aktif TLS parmak izi alma aracını duyurdu. JARM'ın temeli, bir hedef sunucu özel olarak hazırlanmış çeşitli farklı TCP "İstemci merhaba" paketleri kullanılarak tarandığında, elde edilen yanıtların birleştirilip, paylaşılan veya benzer bir uygulama veya sunucunun göstergesi olan bir parmak izi sağlamak için karma hale getirilebilmesidir. yığını.
Harika geliştiriciler yapan teknik olmayan şeyler Bir süredir bu makaleyi yazmayı erteliyorum - yazmak için hiç nitelikli hissetmedim. Bugün onu yazma zamanının geldiğini düşündüm.
Teknoloji endüstrisindeki bir pozisyon için mülakat yaparken, herhangi bir teklif değerlendirilmeden önce genellikle en az üç tur mülakattan geçeceksiniz. Mermiler genellikle şuna benzer: Eğer öyle düşünüyorsan, yanılıyorsun.
Pragmatik Programcı ilk olarak 1999'da yayınlandı ve o zamandan beri tüm zamanların en iyi programlama kitabı seçildi. Yazarlar Andy Hunt ve David Thomas, Agile Manifesto'nun orijinal yazarları arasındaydı ve bazı ciddi referanslara sahipler.