Skip to content

machinelearningdays/Tesko

Repository files navigation

Tesko

Merhaba ben Sinan AYDOĞAN, 16 Mayıs 1997'de İstanbul'da doğdum. Bilecik Şeyh Edebali Üniversitesi Bilgisayar Mühendisliği bölümünden Şubat ayında mezun oldum. Üniversite yıllarımda tanıştığım yazılım alanına büyük bir ilgi ve sevgi duymaya başladım. Bu ilgi ve sevginin getirmiş olduğu merak ile Mobil Uygulama ve Oyun yazılımları konusunda kendimi geliştirmeye gayret ettim ve bu süreçte bir kaç mobil uygulamamı yayınladım. Şuanda ise Bilecik Şeyh Edebali Üniversite Bilgisayar Mühendisliği Bölümünde Yüksek Lisans eğitimime devam ediyorum.

Ben Muhammet Enes ERİŞ, Araştırmacı, yeni gelişmeleri öğrenmeye istekli, mesleki bilgi ve becerilerini sürekli geliştiren, kendi kendine öğrenme kabiliyeti gelişmiş, bulunduğu ortamda iyi iletişim kurabilen, samimi ve güven veren, paylaşmayı seven, ekip çalışmasına önem veren, bilgisayar mühendisliği son sınıf öğrencisiyim. Bitirme projemi makine öğrenmesi ve görüntü işleme üzerine yaptım. 2015 yılında girdiğim bu bölümden staj evraklarımı teslim ettikten sonra mezun olacağım.

Proje Özeti: Projede makine öğrenmesi kullanılarak kedinin tanımlanması ve kedi tespiti yapıldığında besleme fonksiyonunun gerçekleşmesi amaçlanmıştır. Makine öğrenmesi kısmında haar özelliklerinden yararlanılmıştır. Haar özellikleri, nesne belirlemede kullanılan sayısal görüntü özellikleridir. Bu özellikler ilk olarak real-time yüz tespiti için kullanılmıştır. Haar özellikleri kullanarak nesne saptama yaklaşımı Haar dalgacık dönüşümünden adapte olunarak Paul Viola ve Michael Jones tarafından geliştirmiştir. Temelde herhangi bir objenin alt parçacıklarının farklı renk dağılımına ve yoğunluğuna sahip olduğu bilgisi kullanılarak obje farklı alt parçalara ayrılır. Bu ayrılan parçalara ait özellikler farklı özellik setleri ile ifade edilerek objenin tamamı tanımlanır.
Haar-Cascade kullanmak için pozitif ve negatif image verilerinin oluşturulması gerekir. Öncelikle bu verilerin bulunması ve sınıflandırılması lazım. Resimler google görseller üzerinden bir eklenti vasıtası ile toplu şekilde indirilmiştir.

alt text


İndirilen bu resimler ardından negatif ve pozitif olmak üzere iki klasöre ayrılır. Pozitif klasörde tanımlanması istenen nesneye ait resimler bulunmaktadır.


alt text


Negatif klasörde ise kesinlikle kesinlikle pozitif bir resim bulunmamalı ve herhangi resimlerden oluşmalıdır. Bu klasörü oluştururken biz orman, ev, sokak, mobilya gibi resimlerden yararlandık. Kedi fotoğraflarının olası arkaplan kısımlarını bulmaya çalıştık.


alt text


Daha sonra bu iki klasör sayesinde makine eğitimi gerçekleştirilmiştir. Bu eğitimin sonucunda kediye ait özelliklerin bulunduğu xml formatında bir dosya oluşturulmuştur. Eğitim için Cascade Trainer GUI isimli programdan yararlanılmıştır. Program arayüzü aşağıdaki görselde verilmiştir. Negatif ve pozitif resimlerin bulunduğu dosya yolunu girip gerekli ayarlamaları yaptıktan sonra eğitimi başlatabiliriz.


cascade2


Haar Cascade dosyasını oluşturmak üzere makine öğrenmesini gerçekleştirirken tahmini eğitim süresini 740000 saniye olarak göstermiştir. Kendi donanımımızla yaklaşık 8 gün sürecek olan bu eğitim yerine, ulaşmak istediğimiz dosyayı aşağıda belirttiğimiz github hesabından bulduk.

Program bilgisayar kamerası üzerinden görüntüyü alıp işlemektedir. Herhangi bir kedi algılanmadan program aşağıdaki gibi gözükmektedir:


kedisiz


Program kediyi tespit ettiğinde ise aşağıdaki işlemi yapmaktadır. Yani konsola "kediyi besle" yazan bir fonksiyon çağırmaktadır. Projenin asıl konusu makine öğrenmesi olduğu için donanım kısmına yoğunlaşılmamıştır.


kedili


Projeyi Oluşturmak için kullanılan geliştirme araçları:

Python IDLE

Cascade Trainer GUI

Projede kullanılan API'ler:

Fatkun Batch Download Image

Projede cv2 Kütüphanesi kullanılmıştır.

Hackathon'da oluşturulmayan bileşenler: catcascade.xml dosyası(https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalcatface.xml)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages