Yayın: 15 Mart 2022
Aşağıdaki konumda fotoğraf çekildiğinde sıcaklığı tahmin edebilir misiniz?
Bu zor bir görev, değil mi? Bu görüntü soğuk bir sabahın erken saatlerinden veya sıcak bir geç öğleden sonra olabilir. Atmosferik sıcaklık ayrıca mevsim ve konuma bağlı olacaktır. Sonuçta, atmosferik sıcaklık, birçok parametrenin sonucudur, bu da bunu ilk bakışta belirlememizi zorlaştırır. Bilginiz için, yukarıdaki örnekteki sıcaklık 5.4 °C idi.
Bu makalede, Tokyo'daki Rainbow Köprüsü'ndeki atmosferik sıcaklığı bu konumun görüntülerine bakarak tahmin etmeye çalışacağız.
Bir resmin çekildiği anda sıcaklığı tahmin eden bir modeli eğitmek için bir evrişimli sinir ağı kullanacağız. Görevimiz, hedef değişkenimizin (sıcaklık) sürekli bir değişken olduğu için bir regresyon görevi olacak. Resim evrişimi genellikle nesne tespiti veya yüz tanıma gibi sınıflandırma problemleri için kullanılsa da, bir regresyon görevi için kullanmak pek yaygın değildir, bu yüzden bunun hakkında çok fazla materyal bulunmamaktadır.
Bu görev için, resim ve hava durumu bilgilerini toplamak için Youtube ve OpenWeatherMap API'larına bağlanacağız. Youtube API'sine bağlanan ve Odaiba Canlı Kamera yayınından her 50 saniyede bir ekran görüntüsü alan bir betik yazıyoruz. Bir kez ekran görüntüsü alındıktan sonra, betik OpenWeatherMap API'ye bağlanır ve Rainbow Köprüsü'ndeki hava durumu bilgisini alır (Odaiba). Toplanan veriler, resmin ve sıcaklığın daha sonra bağlantısını sağlamak için yerel makinemize bir zaman damgasıyla birlikte yazılır. Betiği yaklaşık 2 gün boyunca çalıştırıyoruz ve hava bilgisiyle birlikte 2.000'den fazla görüntü topluyoruz.
Bir koordinattan hava durumu bilgisi sağlaması istendiğinde OpenWeatherMap API, yakınlardaki hava durumu istasyonlarını kontrol eder ve en son bilgileri sağlar. Örneğin, Rainbow Köprüsü hakkında sorgu yaptığımızda, sorgu ne zaman yapıldığına bağlı olarak Mita veya Shinagawa istasyonundan bilgi alırız. Verilerimizde kesikliği istemiyoruz (Mita ve Shinagawa aynı anda farklı sıcaklıklara sahip olabilir), bu nedenle veri kümemizi Mita istasyonundan alınan bilgilere daraltıyoruz. Bu, toplamda 1.902 görüntü bırakır. Resim dosya yolları ve ilgili sıcaklık, zaman damgasıyla birleştirilir ve ana veri dosyasına aktarılır. Bu veri, resimlerle birlikte Google Drive'a yüklenir ve Google Colab'da modelin eğitilmesi için kullanılır.
Rainbow Köprüsü alanının 1.902 görüntüsünü kullanarak, veri kümesini eğitim (%70) ve test (%30) alt kümelerine böleriz. Eğitim alt kümesinin bir kısmı, aşırı uyumun önlenmesi için erken durdurma için bir doğrulama alt kümesi olarak kullanılacaktır.
Sinir ağı, 1 giriş katmanı, 2 evrişimli+MaxPool katmanı + 1 Global Ortalama Havuzlama katmanı + 3 dolgun katman ve 1 çıkış katmanından oluşur (sıcaklık).
Evrişimli katman, resmin üzerinde küçük bir pencere kaydırır ve resimden faydalı özellikler çıkarır. Yaygın olarak kullanılan bir örnekte, bir evrişimli katman, bir resimdeki kenarları tanımayı öğrenebilir. Evrişimli katmandan hemen sonra MaxPool uygulamak, çıktıyı küçültmek için yaygın bir uygulamadır. Daha sonra, Global Ortalama Havuzlama katmanını uygulayarak resmi 1D vektöre indiririz. Bu 1D vektörü, ReLu aktivasyon fonksiyonuyla bir standart 3 katmanlı multilayer perceptron'a taşırız ve bize resimden 1 değer olarak sıcaklığı verecektir.
Daha hızlı öğrenme için Google Colab'da GPU hızlandırmasını kullanıyoruz. İlk dönem, tensörlerin GPU'ya taşınması nedeniyle nispeten uzun sürebilir, ancak gelecek dönemler önemli ölçüde daha kısa sürecek ve öğrenme 10 dakikadan az sürede tamamlanacaktır.
Model, 1.2 °C Kök Ortalama Kare Hatasına ulaşırken, R-kare 0.79'dur. Hiç fena değil, özellikle modelin yalnızca ek veri olmadan resimler kullanılarak eğitildiği düşünüldüğünde.
Tokyo'daki Rainbow Köprüsü'nün görüntülerine bakarak atmosferik sıcaklığı tahmin etmek için bir evrişimli sinir ağı kullanarak bir makine öğrenimi modeli eğittik. Görüntü ve sıcaklık verileri, Youtube canlı kamerası ve OpenWeatherMap üzerinden 2 gün boyunca elde edildi. Modelin eğitimi için 1.902 görüntü kullanıldı ve makul bir doğruluk elde edildi. Model, sabahın erken saatlerinde ve öğleden sonraları sıcaklığın dramatik bir şekilde değiştiği saatlerde sıcaklığı tahmin etmekte zorlanırken, görüntüler benzer kaldığı için. Bu, modele saat bilgisini başka bir değişken olarak sağlayarak giderilebilir. Dahası, bir yıl boyunca çeşitli görüntülerle daha büyük bir veri kümesiyle çok daha doğru bir model eğitilebilir.
Kendi resimlerinizi kullanarak manzara resminin atmosferik sıcaklığını tahmin etmenizi sağlayan bir web sitesi oluşturdum! Çıkarım, tarayıcıda yapılır ve görüntü hiçbir yere kaydedilmez.
Keyifli hack'lemeler!
Bu iş İngilizce'den ChatGPT ile çevrilmiştir. Herhangi bir belirsizlik durumunda İletişim sayfasından bana ulaşabilirsiniz.
Yorum bırak
Yorumlar
Diğer işlere bak
2024/06/03
Kango: Kanji Tahmin Oyunu
2024/07/24
Lingo: Türkiye'nin En Popüler Ücretsiz Online Kelime Oyunu
2024/04/29
Druggio
2024/01/28
Tetris
2022/04/29
Hareket Eden Cisim Tespiti
2022/02/09
Ev Fiyatlari Tahmini
2021/12/01
Japonya Ilac Veri Bankasi
2021/09/20
Japonca Yazi Siniflandirmasi
2021/09/01
Seyahat Talep Tahmini