Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, lisans bitirme çalışması kapsamında trafik levhalarının bulunduğu veri setini kullanarak nesne tespit tekniklerini eğiten bir eğitim içeriğidir.
- Video, trafik levhaları veri seti oluşturma sürecinden başlayarak, Boing Box Label programı ile görüntü etiketleme, veri artırımı ve YOLO5 modelinin kurulumunu adım adım göstermektedir. Eğitim, veri setinin train, validation ve test bölümlerine ayrılması, modelin eğitilmesi ve BNB platformunda checkpoint kaydetme ile devam etmekte, son olarak eğitilen modelin görüntü ve video üzerinde test edilmesiyle sonlanmaktadır.
- Eğitim içeriğinde ayrıca PyTorch kütüphanesi, nesne tespiti kavramları ve ekran kartı modelinin yazdırılması gibi teknik detaylar da yer almaktadır. Video, nesne tespiti yapmak isteyenler için temel bilgileri ve pratik uygulamaları içermektedir.
- Veri Seti Oluşturma
- Lisans bitirme çalışması kapsamında trafik levhaları veri seti farklı görüntü filtreleme ve veri aktarımı teknikleri ile eğitilecek ve sonuçlar karşılaştırılacak.
- Veri seti oluşturmak için Boing Box Label programı kullanılacak.
- Programda "image" klasörüne veriler atılır ve "class" klasörüne farklı sınıflar (kapalı kapı, açık kapı, otobüs, otobüs numarası) eklenir.
- 01:20Veri Seti Etiketleme
- Görüntüler seçilip sınıflarla eşleştirilerek etiketlenir.
- Etiketlenen görüntüler "bank box text" klasöründe kaydedilir.
- Veriler "train", "validation" ve "test" olarak ayrılır ve eğitime hazır hale getirilir.
- 03:10Veri Artırımı ve Önemli Veriler
- Farklı ortam koşullarında ve filtreleme koşullarında verilerin çeşitlendirilmesi gerekir.
- Veri artırımı, mevcut verilerden yeni oluşturulan verilerle değiştirilmiş kopyaları ekleyerek veri miktarını artırmak için kullanılan tekniktir.
- True pozitif (cismin bulunduğu) ve true negatif (cismin bulunmadığı) veriler model sonuçlarını artıracaktır.
- 04:43YOLO V5 ve Veri Artırma
- YOLO V5 küçük veri setlerine yardımcı olabilecek yerleşik veri artırma özelliklerine sahiptir.
- Veri artırma için kullanılan hiper parametreler dosyaya eklenebilir ve dataloader ile erişilebilir.
- Farklı obje tespit algoritmaları farklı label etiket formatlarına sahiptir, YOLO V5 train, test ve validation dosyalarından oluşur.
- 06:03YOLO Algoritması
- YOLO (You Only Look Once) evsimsiz sinir ağlarını kullanarak nesne tespit yapan bir algoritmadır.
- Algoritma görüntüyü bölükler, bölgelere ayırır ve her bölgede nesne tespit eden bounding box çizer.
- Bounding box için güven skoru hesaplanır ve maksimum supression teknik uygulanarak güven skoru düşük nesneler çıkarılır.
- 07:57Nesne Tespiti
- Nesne tespiti, bilgisayarla görmenin en yaygın görevlerinden biridir ve sahneyi anlamanın temelidir.
- Nesne tespiti üç görevden oluşur: sınıflandırma (görüntüde neyin mevcut olduğunu bilme), yerelleştirme (bir şeyin nerede olduğunu bilme) ve nesne algılama (neyin mevcut olduğunu ve nerede olduğunu bilme).
- Devrişimli sinir ağında iki yöntem vardır: kayar pencere kullanan RCNN ve kayar pencere kullanmayan SSD gibi tek seferde nesne tanıma dedektörleri.
- 09:45YOLO V5 ve PyTorch
- YOLO V5 PyTorch framework ile yazılmıştır ve önceki sürümlerinden farklı olarak mimarisinde Darknet backbone kullanılmaz.
- PyTorch, grafik işlem birimlerinin gücünü kullanan derin öğrenme modelleri oluştururken kullanılan Python kütüphanesidir.
- Transfer learning, tüm ağı yeniden eğitmek zorunda kalmadan bir modeli yeni veriler üzerinde hızla yeniden eğitmenin kullanışlı bir yoludur.
- 12:03YOLO V5 Kurulumu
- YOLO V5 deposu klonlanarak ve gerekli araçlar ayarlanarak başlanır.
- YOLO V5 modelinin GitHub reposu alınır ve gerekli komut dosyaları yüklenir.
- Kodun kurulumunu tamamlamak için PyTorch, resim görüntüleme, işletim sistemi ile ilgili kodlar, rastgele işlem yapmak için gerekli kütüphaneler yüklenir.
- 13:58Ekran Kartı ve Veri Seti Hazırlığı
- Ekran kartı modeli, hafıza ve multi işlemci bilgilerini gösteren bir kod kullanılıyor.
- Veri seti için "roadssign dataset" adında bir dizin oluşturuluyor ve veri setinin konumu yazdırılıyor.
- Veri seti indiriliyor ve içinde 877 adet görüntü içeren küçük bir veri seti ile trafik levhaları içeren daha büyük bir veri seti bulunuyor.
- 15:17Veri Seti Ön İşleme
- Veri setindeki gereksiz dosyalar kaldırılıyor ve XML dosyalarının nasıl göründüğü inceleniyor.
- XML açıklamalarından veri alınarak "infodict" adında bir sözlük oluşturuluyor.
- Veri seti YOLO v5 algoritması üzerinde çalışacak şekilde hazırlanıyor.
- 17:55Veri Setini Eğitim, Doğrulama ve Test Kümelerine Ayırma
- Veri kümesi eğitim, doğrulama ve test bölümlerine ayrılıyor.
- Bu bölümleri tutmak için klasörler oluşturuluyor ve veri kümesi bu klasörlerde saklanıyor.
- Etiketler için "labels" klasörü oluşturuluyor.
- 18:50Model Eğitimi Hazırlığı
- Veri setini eğitmek için gerekli dosya indiriliyor ve sınıflandırmaları yapmak için klasör isimleri belirleniyor.
- Veri seti küçük olduğundan YOLOv5'in en küçük modeli ile başlanıyor.
- Model boyutu 32, görüntü boyutu 640 olarak ayarlanıyor ve 100 epoch için eğitiliyor.
- 20:27TensorBoard ve Model Eğitimi
- TensorBoard, eğitim loglarını kaydetmek ve eğitim sürecini gerçek zamanlı olarak izlemek için kullanılan bir Python paketi.
- Her epoch için checkpoint alınabiliyor ve sorun durumunda aynı yerden devam edilebiliyor.
- Model eğitimi için OneDrive hesabına giriş yapılıyor ve eğitim dosyaları belirli bir klasöre kaydediliyor.
- 22:38Model Eğitiminin Devamı
- Eğitimi durdurup, bir sonraki epoch'tan devam etmek için VanDiB platformundan link kopyalanıyor.
- OneDrive'da eğitim klasörüne girilerek, kalan epoch'lar kopyalanıyor ve eğitim koduna eklenerek devam ediliyor.
- Eğitimin tamamlandığı görülebiliyor.
- 24:05Model Test Etme
- Eğitilen model görüntü veya video üzerinde çıkarım yapabiliyor.
- Kaynak dosyası ve model ağırlığı belirlenerek test edilebiliyor.
- Test dosyası kullanılarak ortalama tahmin değerleri hesaplanabiliyor ve çeşitli performans grafikleri çizilebiliyor.