DL4J ile Derin Öğrenme – Yapay Sinir Ağları (ANN) #3

Bu yazıda yapay sinir ağlarına giriş yapacak ileri ve geri beslemeli sinir ağlarına baktıktan sonra veri setinden bahsedeceğiz.  Yapay sinir ağı için  teorik bilgileri olabildiğince sadeleştirecek anlatmaya çalışacağım. Yapay sinir ağı (ANN);  insan beyninde yer alan sinirlerin çalışma şeklinin, bir birleri arasındaki ilişkilerin bilgisayar ortamında modellenmesidir. İnsanın öğrenme, problem çözme süreçlerinde izlediği yolu kullanır. Yapay…

Read More

Deeplearning4j Mimarisi #2

Giriş Yazı serisinin üçüncüsünde DL4J kütüphanesini yakından tanıyacağız. DL4J’nin yararlandığı üçüncü taraf kütüphanelere, modüllere ve arka planda yer alan mimarisine göz atacağız. DL4J’nin Arkasındaki Güç DL4J kütüphanesinin geliştiricisi Skymind adında bir firma. Bu firma kendisini ticari yapay zeka ürünleri geliştiricisi olarak tanımlıyor, temek olarak kurumsal ölçekteki firmaların “Yapay zeka patlıyor, bir ucundan tutunalım” dedikleri anda “yardımlarına”…

Read More

Deeplearning4j ile Derin Öğrenmeye Giriş #1

Giriş Yeni bir seri ile tekrardan merhaba. Yazının adından da anlaşılacağı üzere bu seride Deeplearning4j kütüphanesi ile (bundan sonra DL4J olarak kısaltacağım) derin öğrenmeyi ele alacağız. Daha önce “Derin Öğrenme” kategorisine farklı kütüphaneler kullanarak görüntü sınıflandırma gibi uygulamalar yapmıştık, bu seride de benzer konuları ele alacağız fakat Python programlama dili yerine  DL4J nin desteklediği java dilini…

Read More

OpenCV ile Kenar Belirleme Algoritmaları

Görüntü üzerinde kenar tespiti yapmak; o görüntüdeki nesneleri tespit etmek, saymak ve özelliklerini belirlemek amacıyla kullanılabilir. Kenar belirleme algoritmaları en temel anlatımıyla, görüntü üzerindeki piksellerin renk değerlerinin bir birlerinden farklılaşması ile belirlenir. Yukarıdaki görsele baktığınızda farklılaşmanın nereden başladığını tahmin edebilir misiniz? Gördüğünüz üzere 4 ve 152 numaralı matris elemanları arasında keskin bir renk geçişi olmuş, bu renk…

Read More

TensorFlow ile Sınıflandırıcı Eğitimi ve Görüntü Sınıflandırma

Öncelikle sınıflandırıcı eğitimine girmeden kullanacağımız kütüphaneye ve bilinmesi gereken bazı kavramlara bakalım. TensorFlow Nedir? TensorFlow , veri akış grafikleri kullanarak sayısal hesaplama için kullanılan açık kaynak kodlu bir derin öğrenme kütüphanesidir. Grafikteki düğümler, matematiksel işlemleri temsil ederken, grafik kenarları aralarında iletilen çok boyutlu veri dizilerini (tensörler) temsil eder. Esnek mimari, hesaplamayı tek bir API ile bir…

Read More

OpenCV Arka Plan Çıkarma (Background Subtraction)

Daha önce absdiff arka plan temizleme fonksiyonunu burada anlatmıştım, bu yazıda işleyeceğimiz ise absdiff fonksiyonundan farklıdır. Arka Plan Çıkarma Arka plan çıkarma işlemi görüntü işleme uygulamalarında sıklıkla kullanılan bit yöntemdir, genellikle sabit bir zemin üzerindeki hareketli nesneleri (insan, araç, ürün vb.) yakalamak ve takip etmek için kullanılır.  Bu işleyişteki mantık sabit arka planı referans alarak…

Read More

OpenCV Video Yazma (Video Writer, Codec, FourCC)

OpenCV ile video oluşturmak yani eldeki görüntü dizilerini kaydetmek için VideoWriter sınıfı kullanılmaktadır.  Kullanımına geçmeden önce bazı kavramlara bakmakta fayda var bu kavramlar codec yani kod çözücü ve FourCC (Four character code). Codec (Kod Çözücü) Ham ses ve görüntü dosyalarının boyutu oldukça büyüktür, bu sorunu çözmeni yolu ise bu verileri sıkıştırmaktır. Görüntü ve ses dosyalarını sıkıştırmak…

Read More

OpenCV 2.4.X ile 3.X Sürümü Arasındaki Farklar

Bu soru daha çok yeni başlayanlar veya projesinde hangi sürümü kullanmasına karar veremeyenler tarafından geliyor. Bu sürümleri kesin bir çizgiyle bir birinden ayırmamak gerekiyor, yani Python 2 ile Python 3 arasındaki ayrım gibi düşünülmemeli. Sürekli geliştirilen bir kütüphane ve yenilendikçe üzerine bir şeyler katıldıkça versiyonlama sisteminin doğası gereği major atlıyor. (Versiyonlama sistemlerinde x.x.x.x şeklinde giden…

Read More

Object Pool (Nesne Havuzu) Tasarım Deseni

Object pool,  dağıtık sistemlerde veya yazılım geliştirici tarafından yönetilmesi zor olan nesnelerde  kullanılabilecek bir tasarım desenidir. Creational (Yaratıcı, nesnelerin oluşturulmasına yönelik) desenler içerisinde yer almaktadır. İstenilen nesnelerin sürekli olarak üretilmesi yerine,  başlangıçta bir havuzu oluşturulur ve bu havuz nesneler ile doldurulur. Bir örnekle somutlayalım; Bir kiralık eve ihtiyacınız olduğunu varsayalım, bu durumda en kolay çözüm size…

Read More

Windows için Caffe Kurulumu

Linux işletim sistemi için Caffe kurmak oldukça kolay iken Windows için kurmak bir uğraştırıcı olabiliyor, kurulum sırasında yaşadığım bazı sorunları deneme yanılma yoluyla bulmam gerekti bu yüzden hataları ve çözümlerini de içeren bir kurulum rehberi hazırladım. Gereksinimler Windows İşletim Sistemi: 10 olması işlerinizi daha da kolaylaştırır. Visual Studio: Kaynak kodu derlemek için kullanacağız. 2013 veya…

Read More