• Yapay zekadan makale özeti

    • Bu video, Buse adlı bir eğitimcinin sunduğu teknik bir eğitim içeriğidir. Buse, tez dönemi ve şirket projeleri nedeniyle uzun bir süre video çekememiş, ancak izleyicilerin isteği üzerine Mask CNN sinir ağının nasıl çalıştırılacağını anlatmaktadır.
    • Video, Mask CNN'in özel veri seti ile çalıştırılması sürecini adım adım göstermektedir. İçerikte gerekli veri setinin temin edilmesi, AnyDesk üzerinden uzak masaüstünde sanal ortam oluşturma, gerekli kütüphanelerin kurulumu, GitHub'dan Mask CNN projesinin klonlanması, veri etiketleme araçları (LabelMe, Colabler, Image Annotation) kullanımı, veri setinin incelenmesi, görselleştirme işlemleri ve eğitim süreci detaylı olarak anlatılmaktadır.
    • Eğitim, farklı etiketleme araçları, sınıflandırma, konumlandırma ve segmentasyon gibi farklı proje türlerini açıklamakta, veri artırım yöntemlerini göstermekte ve ankorların (çapa) nasıl oluşturulduğunu ve çalıştığını açıklamaktadır. Video, bir sonraki bölümde devam edeceğini belirterek sona ermektedir.
    00:06Giriş ve Video Amacı
    • Buse, tez dönemi ve şirket projeleri nedeniyle uzun süre video çekemediğini belirtiyor.
    • İlk videoda adım adım sıfırdan Maskar CNN projesinin nasıl oluşturulduğunu ve Image.net'ten alınan class'lara göre nesne tespiti yaptığını anlatmıştı.
    • İzleyicilerden gelen talepler üzerine özel veri seti için Maskar CNN sinir ağının nasıl çalıştırılacağını ve konfigürasyonlarını anlatacağını belirtiyor.
    00:53Özel Veri Seti Çalıştırma Zorlukları
    • Maskar CNN'in özel veri seti ile çalışabilmesi normal çalıştırılan sinir ağına göre daha uğraştırıcı.
    • Her sınıf için farklı annotations dosyaları oluşturulabilir ve JSON verileri düzenlenmesi gerekebilir.
    • Farklı veri setleri ve ağlar için farklı konfigürasyonlar yapılması gerekiyor.
    02:03Veri Etiketleme Araçları
    • Veri setindeki veriler LabelMe aracıyla etiketlenmiş, ancak Collabler veya Image Annotation gibi farklı araçlar da kullanılabilir.
    • Farklı araçlarda kullanılan verilerin çıktısı JSON veya Pascal formatında olabilir ve farklı formatlar için kodda hesaplama yapılması gerekebilir.
    • Farklı araçlardaki annotations dosyalarını inceleyip adapte olmak gerekiyor.
    03:42Sanal Ortam Oluşturma
    • Anaconda Prompt üzerinden sanal ortam oluşturuluyor ve Python 3.6 versiyonu seçiliyor.
    • Sanal ortamda TensorFlow GPU 14.0 ve Keras 2.8 versiyonu kuruluyor.
    • Maskar CNN projesi için GitHub reposundan klonlama yapılıyor.
    07:16Proje Kurulumu
    • Maskar CNN klasörüne girilerek requirement.txt dosyası yükleniyor.
    • TensorFlow ve Keras'ın belirli versiyonları için eşitlik işareti kullanılıyor.
    • Pip install requirement komutu ile gerekli kütüphaneler bilgisayara çekiliyor.
    09:14Özel Veri Seti ve Etiketleme
    • Özel veri seti için veri etiketleme bölümü daha uğraştırıcı bir süreç.
    • Derin öğrenme projelerinde küçük veri seti ile çalışılamayacağı için çok fazla etiketleme yapılması gerekiyor.
    • Büyük veri setleri için etiketleme işlemi daha uzun sürebiliyor.
    10:37Nesne Etiketleme Arayüzü
    • Arayüz Windows, Mac OS ve Linux için farklı versiyonları sunuyor.
    • Etiketleme için dikdörtgen, poligon ve eğri (kör) gibi farklı nesneler kullanılabilir.
    • Hassas verilerde poligon nesneleri tercih edilmeli ve bunun için özel annotation dosyaları kullanılmalıdır.
    12:31Proje Türleri ve Veri Formatları
    • Bilgisayarlı görü projesi için sınıflandırma (classification), konumlandırma (localization) ve segmentasyon gibi farklı proje türleri bulunuyor.
    • Uygulama XML, Pascalbok ve JSON tipinde veri çekebiliyor.
    • İçerisinde daha önceden eğitilmiş yapay zeka algoritmaları yüklü, örneğin araç tanıma algoritması.
    14:25Etiketleme İşlemi
    • "Load Images" kısmından tüm veri seti aynı anda seçilebilir.
    • Her görsel için tek bir JSON dosyası oluşturulabilir ve kategori, görüntü numarası gibi bilgiler bu dosyadan çekilir.
    • Nesneler dikdörtgen veya poligon olarak etiketlenebilir ve farklı kategoriler için birden fazla etiket kullanılabilir.
    16:38JSON Dosyası Kaydetme
    • "View Annotations" seçeneği ile JSON dosyasının nasıl kaydedildiği görülebilir.
    • Poligon etiketleme yapıldığında "all points" ve "y" noktaları kaydedilir.
    • Rectangle etiketleme yapıldığında ise x, y, width ve height değerleri kaydedilir.
    18:38Önceden Çalışılmış Proje Örneği
    • Daha önceden çalışılmış bir MASKAR (Multi-Class Detection) repositorysi kullanılarak nesne tespiti yapılabilir.
    • Proje içinde eğitim (train) ve validasyon (validation) kümeleri bulunuyor.
    • MASKAR, nesneleri poligon olarak algılayarak etiketleme yapabiliyor ve bu etiketler JSON dosyasında kaydediliyor.
    21:57Veri Setinin İndirilmesi ve Kurulumu
    • GitHub dosyasındaki klasörler zip olarak indirilerek bilgisayara aktarılıyor.
    • Veri seti "maskarn" klasörünün içerisine yükleniyor.
    • Python setup.py dosyası çalıştırılarak gerekli kurulumlar yapılıyor.
    23:50Veri Setinin İncelenmesi
    • Veri setinde "food" ve "food moda" klasörleri bulunuyor.
    • Veri setinde "train" klasöründe 35 adet görüntü ve 5 farklı sınıf (cheese, chicken, glab, ice cream) mevcut.
    • Veri setinde "background" olarak çalışan bir sınıf da bulunuyor.
    27:33Görselleştirme ve Maskeleme
    • Görselleştirme için "visual" ve "display instances" dosyaları kullanılıyor.
    • Maskar sinan genel yapısı gereği nesneleri 1024x1024 boyutlara indirgeyebilir veya daha küçük verilerde kenarlarına siyahlık ekleyerek resize eder.
    • Mini maskeler çıkarılarak sadece etiketlenen nesnelerin görselleştirilmesi sağlanıyor.
    30:53Veri Artırım Yöntemleri
    • Veri artırım yöntemleri (augmentation) kullanılarak veri seti genişletiliyor.
    • Veri artırım yöntemleri arasında görseli yan çevirme, döndürme, zoom yapma ve kırpma gibi işlemler bulunuyor.
    • Genişletilmiş maskeler (extend mask) kullanılarak daha büyük maskeler elde ediliyor.
    33:46Ankorların Çalışma Prensibi
    • Ankorlar, future pramit network (FBI) içinde çıkartılan dikdörtgensel bölgelerdir.
    • İlk katmanda 1024x1024'lük input görüntüsünde 256x256'lık future map'ler çıkarılıp, nesne olması muhtemel her bölgeye çapa atılır.
    • Ankorlar, çapaları tutarak nesne olduğu bölgelerde maskelenir ve generate anchors fonksiyonu ile backbone shapenin içerisine configden çekilir.
    34:52Ankorların Görselleştirilmesi
    • Ankorların seviyeleri ve oluşturulan ankorlar görselleştirilir, beş seviyeden ankor oluşturulmuş ve seviye sıfırdan seviye dört'e kadar beş seviyelik bir görselleştirme yapılır.
    • RPM dikdörtgenleri seviyeye göre küçülür ve feature map shape'lerine bakıldığında da küçüldüğü görülebilir.
    • Veri üretimi için batch size dört seçilir ve veri setine verinin genişletilmesi sağlanır.
    36:26Ankor Türleri
    • Pozitif ankorlar nesne olması muhtemel bölgelerde çıkarılırken, negatif ankorlar dışarılarda küçük küçük ankordan oluşur.
    • Nötr ankorlar kararsız kalmış, ikisinin arasında sıkışıp kalmış ankorlardır ve background için kullanılır.
    • Drawboxs visual modülü ile negatif ve pozitif ankorlar görselleştirilir, ancak ice cream'in etrafı çekilmemiş olduğu için pozitif ankorlar görünmez.
    38:02Inference ve Model Yükleme
    • Inference modülünde çalışılan klasörün yolunu göstermek ve GPU başına kaç tane görsel incelediğini belirtmek gerekir.
    • Model ağırlıkları yüklendikten sonra randetection yapılacak ve görseller tespit edilecektir.
    • Validation seti yüklenirken, eğitim yapılmadığı için iterasyon durdurulur ve eğitim için eğitim ve validation klasörlerinin ayrı ayrı verilmesi gerekir.
    43:06Tahmin ve Görselleştirme
    • Modelin eğitimleri sağlandıktan sonra prediction kısmı başlar ve tahmin edilen sonuçlar model detect in içerisinden alınır.
    • Prediction sonuçları ar değişkenine verilir ve görselde nesnelerin farklı farklı veri rengine boyandığı görülür.
    • NMS (non-maximum suppression) sıkıştırma algoritması kullanılarak final detection kısmının matematiksel arka planı oluşturulur ve boxlar çizilerek maskeler ortaya çıkarılır.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor