Özet:
Derin öğrenmenin son yıllardaki hızlı yükselişi ile birlikte birçok endüstriyel problem derin öğrenme ile yapılabilir hale gelmiştir. Endüstrinin her alanında olduğu gibi tarım alanında da bitki hastalığı sınıflandırma, meyve sınıflandırma, tohum sınıflandırma ve tohum ayıklama gibi endüstriyel problemler bulunmaktadır. Bu tez çalışmasında tohum sınıflandırma ve tohum ayıklama problemi evrişimli sinir ağ yapıları ile gerçeklenmiştir. Tohum sınıflandırma işleminde veri seti olarak sarı buğday, pirinç, kırmızı mercimek ve yeşil mercimek tohumları kullanılmış ve sınıflandırma işlemi bu tohumlar arasında yapılmıştır. Tohum ayıklama problemi için gerekli veri seti kara buğday tohumları ve bu tohumların içinden çıkan istenmeyen nesnelerden üretilmiştir. Tüm bu veri setlerini üretebilmek için probleme özgü endüstriyel bir deney düzeneği kurulmuştur. Yine önerilen algoritma sayesinde farklı türlerde (doğrudan ölçekleme ve şablona uygun şekilde ölçekleme) ve boyutlarda veri setlerinin otomatik bir şekilde oluşturulması sağlanmıştır. Bu tez çalışmasında tohum ayıklama problemi için 227x227, 157x157, 77x77 ve 37x37 boyutlarında ve farklı iki türde veri seti (doğrudan ölçekleme ve şablona uygun şekilde ölçekleme) olmak üzere toplamda sekiz farklı veri seti oluşturulmuştur. Oluşturulan bu sınıflandırma ve ayıklama veri setleri literatürdeki AlexNet ve MobileNet-V2 ağ yapıları ile test edilmiş ve en yüksek test doğruluğu tohum sınıflandırma için %100 (AlexNet ile) tohum ayıklama için %99 (MobileNet-V2 ile) olarak hesaplanmıştır. Tohum ayıklama işlemi endüstride yüksek hızlarda görüntü işleme yöntemleri ile yapılmaktadır. Ayıklama işleminin derin öğrenme ile yüksek hızlarda yapılabilmesi için iki evrişim katmanından oluşan (ilk evrişim katmanındaki filtre sayısı 64, ikinci evrişim katmanındaki filtre sayısı 96), işlem yükü düşük özel bir evrişimli sinir ağı yapısı (giriş data boyutu 227x227) önerilmiştir. Önerilen bu özel evrişimli sinir ağı yapısı 227x227 boyutundaki veri seti ile test edildikten sonra en yüksek test doğruluğu %99 olarak hesaplanmıştır. Doğruluktan ödün vermeden (minimum %98 doğruluk) önerilen bu ağ yapısındaki işlem yükünü daha da azaltmak için iki aşamalı ölçekle ve budama yöntemi önerilmiştir. Önerilen yöntemin özel evrişimli sinir ağı üzerinde denenmesi sonucu giriş data boyutu 77x77, birinci evrişim katmanındaki filtre sayısı 16 ve ikinci evrişim katmanındaki filtre sayısı 24 olan özel ağ yapısı en optimum ağ yapısı olarak hesaplanmıştır. Bu optimum ağ yapısına ait toplam kayan nokta işlem sayısının (FLOPs), ilk önerilen ağ yapısına (giriş veri boyutu 227x227) oranla 46.072.682 / 863.530 = 53,35 kat daha küçük olduğu yine MobileNet-V2 ağ yapısına göre 1.690 kat daha küçük olduğu hesaplanmıştır. Önerilen ağ yapıları üzerindeki optimizasyon işlemleri genetik algoritma ile de denenmiş ve genetik algoritma ile elde optimum (minimum FLOPs) ağ yapısının FLOPs değerinin, özel ağ yapısına (giriş data boyutu 227x227) oranla 46.072.682/715.453 = 64,39 kat daha küçük olduğu hesaplanmıştır. Genetik algoritma ve önerilen ölçekle ve budama yöntemi ile yapılan optimizasyon sonuçları detaylı bir şekilde karşılaştırılmış; tüm sonuçlar gerçek zamanlı sistemler ve gömülü sistemler açısından detaylı bir şekilde tartışılmıştır. Ölçekle ve budama yöntemi ile yapılan optimizasyonda elde edilen özel ağ yapısının (giriş data boyutu 77x77) hafızada kapladığı alan 0,96MB olarak hesaplanmıştır. Bu değer MobileNet-V2 ağ yapısına göre 12,9MB/0,96MB = 13,43 kat ve AlexNet yapısına göre 236MB/0,96MB = 245,83 kat daha küçüktür. Aynı oranlar toplam parametre sayısı için de geçerli olup; bu açıdan bakıldığında optimize edilmiş ağ yapılarının, literatürde yaygın olarak bilinen mimarilere kıyasla daha donanım dostu olduğu söylenebilir. Sonuç olarak probleme-özel evrişimli sinir ağ modellerinin önerilmesi ve optimize edilmesi alanında literatürde geliştirilmeye açık konuların olduğu gösterilmiştir. Bu çalışmada elde edilen sonuçlar göstermektedir ki yüksek hız gerektiren uygulamalarda literatürdeki bilinen ağ yapılarını kullanmak yerine probleme özgü ağ yapılarının önerilmesi işlem yükünü azaltmakta ve sistemi hızlandırmaktadır.