• Gerçeklenen Makaleler

  • Image Smoothing via L0 Gradient Minimization
  • Poisson Image Editing
  • Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography
  • Reading 1D Barcodes With Mobile Phones Using Deformable Templates
  • Finding Best-Fitted Rectangle For Regions Using A Bisection Method
  • Rapid Object Detection Using a Boosted Cascade of Simple Features
  • Summed-Area Tables for Texture Mapping
  • Colorization Using Optimization
  • Contrast Preserving Decolorization
  • Seam Carving for Content-Aware Image Resizing
  • Use of the Hough Transformation to Detect Lines and Curves in Pictures
  • A Simple and Efficient Connected Components Labeling Algorithm
  • A Threshold Selection Method From Gray-Level Histograms
  • Blog Yazıları

  • Yapay Sinir Ağları II

    • Makine Öğrenmesi
    • Nümerik Yöntemler
    • Veri Analizi
    Oct 21, 2021

    Yapay Sinir Ağları serisinin ilk kısmında incelenen tek katmanlı algılayıcı yapısı doğrusal olmayan sınıflandırma problemlerini çözme yeteneğine sahip değildir. Bu kısıt 1969 yılında yazılan “Perceptrons: An Introduction to Computational Geometry” kitabında ele alınmakta ve algılayıcı yapılarının XOR gibi basit bir problemi dahi öğrenemediği gösterilmektedir. Bu gösterim sonrasında doğrusal olmayan yapıların oluşturulabilmesi için çok katmanlı algılayıcı yapıları önerilmiş ancak bu yapıların eğitimi konusunda bir yöntem önerilmediği için sinir ağlarının kullanım alanı 1980’ li yıllara kadar ciddi oranda kısıtlı kalmıştır. Yapay sinir ağlarının kullanımına ivme kazandıran ve problemleri çözme yeteneğini keşfettiren en önemli katkı, 1986 yılında Geoffrey E. Hinton ve arkadaşları tarafından önerilen “Geri Yayılım” algoritması ile yapılmıştır. Bu yazımızda tek katmanlı sinir ağlarından başlayarak, çok katmanlı yapay sinir ağlarının matematiksel ifadeleri oluşturulacak ve geri yayılım algoritmasının çalışmasına dair gerekli çıkarımlar yapılacaktır.

  • Yapay Sinir Ağları I

    • Makine Öğrenmesi
    • Nümerik Yöntemler
    • Veri Analizi
    Oct 21, 2021

    Yapay Sinir Ağları, sinir hücrelerinin çalışma ilkelerinden ilham alınarak geliştirilmiş bir makine öğrenmesi ve veri analizi yöntemidir. Günümüzde elde ettikleri büyük başarılara bağlı olarak, oldukça büyük bir ivme kazanan Evrişimsel Sinir Ağları (Convolutional Neural Network), Özyinelemeli Sinir Ağları (Recurrent Neural Network) gibi çok katmanlı sinir ağları yöntemlerinin ilk örneği olan yapay sinir ağları günümüzde derin öğrenme yöntemlerinin son katmanında karar verici olarak veya derin öğrenmeye ihtiyaç duyulmayan, görece basit ve doğrusal olmayan problemlerin çözümünde sıklıkla kullanılmaktadır. Bu yazımızda sinir hücresi ve algılayıcı kavramlarından başlayarak tek katmanlı yapay sinir ağlarının matematiksel ifadelerine dair gerekli çıkarımlar yapılacaktır.

  • Tesla Yapay Zeka Günü 2021

    • Makine Öğrenmesi
    Sep 11, 2021

    Tesla, elektrikli araçlar ve temiz enerji alanlarında ürünler geliştiren, bir Amerikan şirketidir. 2003 yılında kurulan şirket, yüksek kapasiteli enerji saklama çözümleri, çatıya kurulabilen güneş panelleri ve elektrikli araçları ile birçok alanda başarılı bir şekilde faaliyetlerini sürdürmektedir. Şirket faaliyet alanlarında oldukça başarılı olsa da bu blogda yer alma nedeni; şirket tarafından geliştirilen ve ürünlerinde kullanılan, bu başarının sağlanmasında çok önemli bir paya sahip, yapay zeka teknolojileridir. Bu yazımızda şirketin geçtiğimiz haftalarda Tesla Yapay Zeka Günü’ nde sunumunu yaptığı otopilot (autopilot) sisteminin yapısına değinilecek ve bilgisayarlı görü ile çözülen problemler incelenecektir.

  • Newton Yöntemi

    • Nümerik Yöntemler
    • Lineer Cebir
    Jun 19, 2021

    1643-1727 yılları arasında yaşayan İngiliz bilim insanı Sir Isaac Newton; astronomi, matematik, mekanik ve optik gibi alanlarda yaptığı çalışmalarla bilim dünyasının en önemli kişilerinden biri olmuştur. Bir cismin hareketi ve uygulanan kuvvet arasındaki ilişkiyi gösteren hareket yasaları, iki kütle arasında oluşan çekim kuvvetini gösteren evrensel kütle çekim yasası ve ışığın kırılması, dağılması ve bükülmesi konularında yayınladığı opticks kitabı fizik alanında öne çıkan katkılarındadır. Newton, fizik alanında yaptığı çalışmalaralara ek olarak matematiğin birçok alanında da önemli çalışmalara imza atmıştır. Bu yazıda Newton’ un nümerik analiz alanında geliştirdiği yöntemler incelenecek ve örnek problemlerin çözümü yapılacaktır.

  • Doğrusal Ters Problemler

    • Görüntü İşleme
    • Görüntü İşleme Uygulamaları
    May 11, 2021

    Bilimsel ölçümler fiziksel bir gerçekliğin neden olduğu eylemlerin gözlenmesi ve kayıt altına alınması ile oluşturulur. Yapılan gözlem çalışması bir sistem olarak ele alınırsa; fiziksel gerçeklikler sistemin girdisi, yapılan gözlemler ise sistemin çıktısı olacaktır. Sistemin girdisi ile çıktısı arasında doğrusal bir ilişki olduğunu varsayarsak; elde edilen ölçümlerden/çıktılardan yola çıkarak fiziksel nedenlerin/girdilerin kestirilmesi Doğrusal Ters Problem olarak tanımlanır. Bu yazıda görüntü işleme alanında sıklıkla karşılaşılan doğrusal ters problemler hakkında bilgi verilecek, matematiksel ifadeler incelenecek ve bu problemler hakkında yapılan önemli çalışmalar özetlenecektir.

  • L0 Gradyan En Küçükleme ile İmge Yumuşatma

    • Makine Öğrenmesi
    • Lineer Cebir
    • Nümerik Yöntemler
    Dec 4, 2020

    İmge yumuşatma (Image smoothing) imgeyi oluşturan renk sayısının belirli görüntü işleme teknikleri ile azaltılması işlemidir. Bu işlem özellikle gürültülü görüntüleri gürültüden arındırmakta sıklıkla kullanılan bir yöntemdir. Renklerin azaltılması işlemi bu blogda da değindiğimiz K-means Kümeleme, Kutu Bulanıklaştırma, Gaussian Bulanıklaştırma veya Ortanca Süzgeçler yardımıyla yapılabilir. Bu yazımızda yukarıda sayılan yöntemlerden farklı olarak problemi tamamen matematiksel bir şekilde formülize ederek bir optimizasyon problemine dönüştüren bir yöntem incelenecektir. İncelenecek yöntem, Li Xu ve arkadaşları tarafından 2011 yılında SIGGRAPH konferansında “Image Smoothing via L0 Gradient Minimization” ismi ile yayınlanan bildiriyle literatüre kazandırılmış ve farklı alanlarda kullanılarak binin üzerinde atıf almıştır.

  • Poisson Denklemi Yardımıyla Görüntü Düzenleme

    • Görüntü İşleme Uygulamaları
    • Lineer Cebir
    • Nümerik Yöntemler
    Sep 20, 2020

    Görüntü düzenleme (image editing), imge üzerinde yer alan renklerin evrensel veya yerel ilişkiler ile değiştirilmesi işlemidir. Önceki yazılarımızda bahsettiğimiz Renk Dönüşümleri, Instagram Filtreleme Yöntemleri gibi yöntemler imge üzerinde evrensel ilişkiler ile dönüşüm yaparken, bu yazımızın konusu olan Poisson eşitliği yardımıyla görüntü düzenleme algoritması yerel ilişkilere dayalı bir dönüşüm işlemidir. Patrick Pérez ve arkadaşları tarafından 2003 yılında önerilen bu yöntem basit bir anlatımla verilen bir imgenin (kaynak:source) gradyanını elimizde bulunan bir başka imgeye (hedef:target) kopyalama işlemidir. Bu kopyalama işlemi sonucunda kaynak imgenin dokusu (gradyanı) hedef imge içerisine yerleştirilmiş olur.

  • RANSAC Algoritması ile Doğru Uyumlama

    • Makine Öğrenmesi
    • Nümerik Yöntemler
    • Veri Analizi
    Aug 23, 2020

    RANSAC (Random Sample and Consensus); gürültülü veriler üzerinde makine öğrenmesi ve veri analizi algoritmalarının gürbüz şekilde çalışabilmesi için kullanılan bir yöntemdir. Yöntem ilk olarak 1981 yılında Fischler ve Bolles tarafından konum belirleme problemlerinde karşılaşılan gürültülü (noisy) ve aykırı (outlier) veri sorununu ortadan kaldırmak için önerilmiştir. Bugüne kadar 24 binin üzerinde atıf alan yöntem, aykırı veri tespiti veya gürültüden bağımsız model uyumlama problemlerinde akla gelen ilk yöntemdir. Bu yazımızda RANSAC algoritmasının çalışma mantığından bahsettikten sonra, basit bir doğru uyumlama probleminde ne şekilde bir katkı sağladığı incelenecektir.

  • Kaynak Konumlandırma

    • Makine Öğrenmesi
    • Nümerik Yöntemler
    • Veri Analizi
    May 23, 2020

    Kaynak konumlandırma (Source Localization), konumu bilinmeyen bir kaynağın, konumu bilinen refarans noktalarından alınan ölçümler sonucunda konumuna dair bir kestirimde bulunulması işlemidir. Biyomedikal görüntülemede beyne yerleştirilen elektrotlardan alınan sinyallerin şiddeti kullanılarak beyinde sinyali yayan bölgenin tespit edilmesi, akustik uygulamalarında mikrofon dizileri tarafından alınan sesin şiddetine bağlı olarak ses kaynağının tespiti gibi pek çok farklı uygulama alanına sahiptir. Bu yazımızda basit bir kaynak konumlandırma probleminin önceki yazılarımızda incelediğimiz Gradyan İniş Yöntemleri ile nasıl çözülebileceğini inceleyeceğiz.

  • Gradyan Yöntemleri ile Optimizasyon

    • Makine Öğrenmesi
    • Nümerik Yöntemler
    • Veri Analizi
    Apr 8, 2020

    Optimizasyon, hemen hemen tüm mühendislik çalışmalarında karşımıza çıkan bir en iyileme çalışmasıdır. Görüntü işleme ve bilgisayarlı görü alanında, özellikle Makine Öğrenmesi ve Örüntü Tanıma alanlarında önerilen Doğrusal Regresyon, Lojistik Regresyon Analizi, Destek Vektör Makineleri gibi pek çok algoritmanın matematiksel denklemlerinin çözümü için kullanılmaktadır. Bu yazımızda literatürde sıklıkla kullanılan gradyan tabanlı optimizasyon algoritmaları üzerinde durulacak, bu algoritmların teorik çalışması incelendikten sonra, algoritmaların artı ve eksi yönleri örnek bir problem üzerinden anlatılacaktır.

  • Öznitelik Çıkarma

    • Görüntü İşleme
    • Makine Öğrenmesi
    Feb 3, 2020

    Bilgisayarlı görü uygulamaları yaygın olarak iki temel aşamadan oluşmaktadır. Bunlardan ilki olan Öznitelik Çıkarımı (Feature Extraction) aşamasında verilen girdi imgesinden; parlaklık, zıtlık, dönme gibi kamera ve ışık koşullarından bağımsız olarak girdi imgesini betimleyen tanımlayıcıların (özniteliklerin) çıkarılması hedeflenmektedir. İkinci aşama olan Makine Öğrenmesi (Machine Learning) aşamasında ise girdi imgesinden elde edilen öznitelikler kullanılarak verinin sınıflandırılması hedeflenmektedir. Blogda paylaştığımız K-Means, Temel Bileşen Analizi, Lojistik Regresyon Analizi ve Karar Ağaçları gibi eski yazılarımızda Makine Öğrenmesi aşaması ile ilgili pek çok yöntemi incelemiştik. Bu yazımızda ise IMLAB görüntü işleme kütüphanesi içerisinde yer alan ve Öznitelik Çıkarımı için kullanılan yöntemleri inceleyeceğiz.

  • Lagrange Çarpanları Yöntemi

    • Lineer Cebir
    • Nümerik Yöntemler
    • Makine Öğrenmesi
    Jan 13, 2020

    Lagrange Çarpanları (Lagrange Multipliers), Joseph Louis Lagrange tarafından 1770 li yılların başında literatüre kazandırılan ve verilen denklem takımlarının kısıt (constraint) altında çözümünü bulmak için kullanılan önemli bir matematiksel yaklaşımdır. Özellikle Makine Öğrenmesi ve Örüntü Tanıma alanlarında önerilen Doğrusal Regresyon, Lojistik Regresyon Analizi, Destek Vektör Makineleri gibi pek çok algoritmanın matematiksel denklemlerinin çözümü için kullanılmaktadır. Bu yazımızda basit örneklerden başlayarak Kısıtlı Optimizasyon (Constraint Optimization) kavramı üzerinde durulacak ve Lagrange Çarpanları ile bu tip eşitliklerinin nasıl çözüleceği örnekler ile anlatılacaktır.

  • Q Öğrenme

    • Makine Öğrenmesi
    • Nümerik Yöntemler
    • Veri Analizi
    Jan 5, 2020

    İlk olarak Christopher JCH Watkins and Peter Dayan tarafından 1992 yılında literatüre kazandırılan Q Öğrenme (Q Learning) yöntemi, 2013 yılında DeepMind yapay zeka şirketinin kurucuları tarafından yayınlanan “Playing atari with deep reinforcement learning” makalesi ile oldukça popüler hale gelen bir pekiştirmeli öğrenme yöntemidir. Algoritmanın matematiksel temellerinin oluşturulduğu Pekiştirmeli Öğrenme yazımızda da bahsedildiği gibi pekiştirmeli öğrenme, K-Means, Temel Bileşen Analizi, Karar Ağaçları, Lojistik Regresyon Analizi ve Destek Vektör Makineleri gibi yöntemlerin hepsinden farklı olarak herhangi bir veriye ihtiyaç duymadan öğrenme yapabilmektedir. Yöntem verilen kurallar çerçevesinde durum uzayını (state-space) keşfederek her durum için elde edeceği ödülü en büyüklemesini sağlayan hareketi (action) öğrenmeye çalışmaktadır.

  • Pekiştirmeli Öğrenme

    • Makine Öğrenmesi
    • Nümerik Yöntemler
    • Veri Analizi
    Jan 5, 2020

    Makine öğrenmesi algoritmaları genel olarak üç ana başlık altında toplanır. Bu başlıklardan ilki Eğiticisiz Öğrenme (Unsupervised Learning); bu blogta da değindiğimiz K-Means, Temel Bileşen Analizi gibi yöntemleri kapsamaktadır. Bu yöntemlerde öğrenilen bilginin etiket bilgisi kullanılmadan verinin kendi içerisindeki benzerliği veya dağılımı kullanılarak veri sınıflara ayrılmaya çalışılır. İkinci ana başlık Eğiticili Öğrenme (Supervised Learning) ise Karar Ağaçları, Lojistik Regresyon Analizi ve Destek Vektör Makineleri gibi yöntemleri kapsamaktadır. Bu yöntemlerin hepsi öğrenilecek verinin etiket bilgisine de ihtiyaç duyduklarından, bir eğitici/gözetici tarafından her verinin işaretlenmesi gerekmektedir. Bugün ele alacağımız Pekiştirmeli Öğrenme (Reinforcement Learning) ise üçüncü ana başlığı oluşturmaktadır.

  • Temel Bilesen Analizi

    • Lineer Cebir
    • Nümerik Yöntemler
    • Makine Öğrenmesi
    • Veri Analizi
    Sep 1, 2019

    Temel Bileşen Analizi (Principal Component Analysis), bir veri setinin en küçük karesel ortalama hata ile bir alt uzaya (genelde daha küçük boyutlu) izdüşümünü sağlayan dönüşüm matrisini bulmamıza yarayan bir analiz yöntemidir. Temel Bileşen Analizi (TBA) yüksek boyutlu verilerin daha düşük boyutlara indirilerek görselleştirilmesinde, veri setinin gürültüden arındırılmasında, izdüşüm sonrası elde edilen değerlerin bir araya getirilerek kullanılması durumunda ise yüz tanıma, karakter tanıma gibi uygulamalarda öznitelik olarak kullanılabilmektedir. Bu yazımızda TBA’ nin matematiksel olarak nasıl hesaplanacağı ispatlandıktan sonra, eğitimcisiz boyut indirgeme yöntemi olarak nasıl çalıştığı incelenecektir.

  • Makine Öğrenmesi Performans Ölçütleri

    • Makine Öğrenmesi
    • Veri Analizi
    Jul 14, 2019

    Makine öğrenmesi, verinin sınıflandırılması için oluşturulan bir matematiksel modele ait parametrelerin, veri üzerinden bulunması işlemidir. Önceki yazılaramızda değindiğimiz Lojistik Regresyon Analizi ve Karar Ağaçları gibi yöntemler birer makine öğrenmesi yöntemidir. Herhangi bir bilimsel yöntemde olduğu gibi makine öğrenmesinde de başarı kriterlerinin objektif olması gerekmektedir ve iki farklı makine öğrenmesi algoritmasının beklenen “başarısı” bu metrikler aracılığı ile ifade edilebilir olmalıdır. Bu nedenle literatürde makine öğrenmesinin başarısının raporlanması için farklı metrikler/ölçütler önerilmiştir. Bu yazımızda Doğruluk, Hatırlama, ROC, AUC, gibi makine öğrenmesi makalelerinde sıklıkla karşımıza çıkan terimlerin anlamlarını inceleyeceğiz.

  • Barkod Tespiti

    • Görüntü İşleme Uygulamaları
    Apr 28, 2019

    Barkodlar bilgisayarlar tarafından hızlı bir şekilde tanımlanabilen ve üzerinde bulunduğu nesne hakkında bilgiler taşıyan küçük etiketlerdir. Adını İngilizce’ de bar (çubuk) ve code (şifreleme) kelimelerinin birleşmesinden alan barkod teknolojisi, ilk olarak 1952 yılında Norman Joseph Woodland ve Bernard Silver tarafından, sabit bir alan içerisinde yer alan kodlar (çizgiler ve renkler) yardımıyla ürünlerin otomatik olarak tanınması ihtiyacını karşılamak için önerilmiştir. Günümüzde bir boyutlu (barkod) ve iki boyutlu (karekod) olmak üzere iki ana gruba ayrılan barkodların, farklı kullanım koşullarına göre geliştirilmiş (Code 128, EAN 8, EAN 13, Data Matrix, QR, HCCB, vs) gibi onlarca çeşidi bulunmaktadır.

  • Özdeğer ve Özvektörler

    • Lineer Cebir
    • Nümerik Yöntemler
    Mar 26, 2019

    Önceki başlıklarda doğrusal cebirin önemli kavramları olan determinant ve matris tersi bulma konularına değinmiştik. Burada determinant işleminin matrisle ilişkilendirilmiş bir sabit olduğunu ve $2\times 2$ bir matris için bu sabitin matrisi oluşturan vektörler arasında kalan alanı, $3\times 3$ bir matris içinse matrisi oluşturan vektörler arasında kalan hacmi ifade ettiğini söylemiştik. Matris çarpması işlemi için de vektörleri ne şekilde ölçeklendirdiği ve döndürdüğünden bahsetmiştik. Bu yazımızda ise doğrusal cebrin bir başka önemli tanımlamalarından biri olan özdeğer (eigenvalue) ve özvektör (eigenvector) kavramları üzerinde duracağız.

  • Viola-Jones Yöntemi ile Nesne Tespiti

    • Görüntü İşleme Uygulamaları
    • Nesne Tespiti
    Feb 22, 2019

    Nesne tespiti (object detection) karmaşık bir imge içerisinde spesifik/hedeflenen bir nesnenin var olup olmadığını, var ise hangi piksel bölgesi içerisinde yer aldığını belirleme işlemdir. Klasik yöntemlere göre çalışan bilgisayarlı görü uygulamalarında nesne tespiti; imge ön işleme (gri seviye dönüşüm, histogram eşitleme, eşikleme vb.) adımından sonra, nesne tanıma/sınıflandırma (bitki tanıma, yüz tanıma, plaka tanıma) adımından önce yapılan bir işlemdir. Nesne tespiti ile belirli bir nesneyi sınıflandırmak için eğitilmiş bir sistemin girdileri filtrelenerek, sınıflandırma sisteminin girdileri kontrol altına alınır. Bu sayede yüz tanıma için eğitilmiş akıllı bir sistemin yüz olmayan bölgelerde çalışması engellenir ve olası yanlış sınıflandırmaların önüne geçilir.

  • Tümlev İmge

    • Görüntü İşleme
    • Hızlı Algoritmalar
    Feb 17, 2019

    Tümlev imge (integral image) görüntüde belirli bir dikdörtgenin altında kalan piksellerin toplamının hızlı bir şekilde hesaplanması için geliştirilmiş bir yöntemdir. Yöntem ilk olarak 1984 yılında Franklin C. Crow tarafından doku haritalama (texture mapping) algoritmasında kullanılmak üzere önerilse de en yaygın kullanımına 2001 yılında Paul Viola ve Michael Jones tarafından önerilen nesne tespiti algoritması ile ulaşmıştır. Günümüzde tümlev imge, işlem gücü düşük olan sistemlerde veya evrişim çekirdeğinin çok büyük olmasından dolayı yavaş çalışan süzgeçlerin hızlandırılmasında sıklıkla başvurulan bir yöntem olmuştur.

  • IMLAB Görüntü İşleme Kütüphanesi

    • Görüntü İşleme
    Dec 3, 2018

    Lisans üçüncü sınıfta dönem projesi geliştirmesi için başladığım C ile görüntü işleme çalışmalarım yıllar içerisinde mini bir görüntü işleme kütüphanesine dönüştü. Bu blogda da bilinen adı ile CBMP bu kütüphanenin ilk ve amatör halini oluşturmakta idi. İlerleyen dönemlerde kişisel projeler ve çalışmalarımda da CBMP benzeri küçük ve işlevsel bir görüntü işleme kütüphanesine sık sık ihtiyaç duydum. CBMP kütüphanesinin veri tiplerinin az olması, renksiz görüntü tipinin olmaması ve orta ölçekli bir projede ihtiyaç duyulan bellek yönetimi ve tip esnekliğine sahip olmaması nedenlerinden ötürü CBMP kütüphanesini bir noktada terk ederek; organizasyon ve hiyeraşisi üzerine daha çok düşündüğüm, yazımı ve okunurluğu üzerine ciddi çalışmalar yaptığım ve basit veri tipleri ile fonksiyonları tek bir isim altında toplayabildiğim IMLAB kütüphanesini yazmaya karar verdim.

  • İmge Renklendirme

    • Görüntü İşleme Uygulamaları
    • Lineer Cebir
    • Nümerik Yöntemler
    Apr 14, 2016

    Kısa bir süre önceki İmge Renksizleştirme yazımızda renkli imgelerin gri seviye dönüşümü için yenilikçi bir yöntem incelemiştik. Yöntem üç farklı kanaldan (R,G,B) oluşan renkli sayısal bir imgeyi tek bir kanala indirirken doku bilgisinin korunmasını da güvence altına almaktaydı. Bu yazımızda ise önceki yöntemin tersi olarak İmge Renklendirmeyi ele alacağız. İmge renklendirme (Image colorization) gri seviye kodlanmış bir imgeden renkli imge elde etmeye yarayan bir yöntemdir. Genellikle görselliği iyileştirmek için kullanılsa da gri seviye kameradan / sensörden alınan görüntülerin renklendirilmesi, eski fotoğrafların canlandırılması veya imge renklerinin değiştirilmesi gibi uygulamalarda da kullanılmaktadır.

  • Karar Ağaçları

    • Makine Öğrenmesi
    • Veri Analizi
    Nov 1, 2015

    Karar Ağacları (Decision Trees) makine öğrenmesi ve veri analizinde kullanılan bir öğrenme/sınıflandırma yöntemidir. Günümüzde cep telefonu kameralarındaki yüz yakalama sisteminden, Kinect kameralarındaki hareket sınıflandırmasına kadar pek çok görüntü işleme uygulamasında ve moleküler biyoloji, finans ve tıp gibi diğer alanlarda sıklıkla kullanılmakta ve çok başarılı sonuçlar elde edilmektedir. Yöntemin bu kadar yaygın kullanılmasının en önemli nedeni çoğu makine öğrenmesi yöntemlerinin aksine beyaz-kutu (white box) bir öğrenme yöntemi olmasıdır. Yani eğitim tamamlandıktan sonra, yöntemin verdiği kararda verinin hangi bileşenin nasıl bir rol oynadığı gözlemlenebilir ve böylece veri daha kolay bir şekilde yorumlanabilir.

  • İmge Renksizleştirme

    • Görüntü İşleme Uygulamaları
    • Görüntü İşleme
    Oct 16, 2015

    Pek çok görüntü işleme uygulamasında (yüz, plaka, karakter tanıma gibi) ve işleminde (kenar, anahtar nokta tespiti gibi) renk bilgisinden çok doku bilgisine ihtiyaç duyulmaktadır.  Bu nedenle hem uygulamaların hızlandırılması hem de işlem karmaşıklığının azaltılması için genellikle renk bilgisi bir gri seviye dönüşüm ile kaldırılmaktadır. Dönüşüm sonucunda üç farklı kanaldan (R,G,B) oluşan renkli sayısal bir imge, tek bir kanala indirgenir ve renkler siyahın farklı tonları ile kodlanır.

    Literatürde önerilen ve yaygın olarak kullanılan gri seviye dönüşümü, Kırmızı, Yeşil ve Mavi kanallarının sırasıyla $0.299$, $0.587$ ve $0.114$ ağırlıklarıyla çarpılıp, toplanmasıyla yapılmaktadır. Ancak böyle bir dönüşüm doku bilgisinin tutulmasını garanti altına almamaktadır.

  • Algısal Kıyım Fonksiyonu

    • Veri Analizi
    • Görüntü İşleme Uygulamaları
    Sep 20, 2015

    Hashing yada bir diğer deyişle kıyım fonksiyonu büyük bir veri kümesini, verinin dağılımını kullanarak çok daha küçük veri boyutlarında ifade etmek için kullanılan bir yöntemdir. Kıyım fonksiyonunda amaç veriyi sıkıştırmak değil, verinin iletim veya saklanma sırasında bozulup bozulmadığını anlayabilmektir. Öyleki verinin bir bitinde bile bir hata oluşsa, çok çok yüksek olasılıkla kıyım fonksiyonunun çıktıları farklı olacağından, veride meydana gelen değişiklik kolaylıkla anlaşılabilecektir. Ancak bu durumun tersi her zaman geçerli değildir. Yani kıyım fonksiyonu yanıtları aynı olan iki veri özdeştir diyemeyiz. Bunu kolay bir örnekle anlamaya çalışalım. Farz edelim ki  ”merhaba dünya”  metninin iletmek istiyoruz.

  • K-means Kümeleme Algoritması

    • Makine Öğrenmesi
    • Veri Analizi
    Aug 28, 2015

    Kümeleme (öbekleme) bir veri setinde, benzer özellik gösteren elemanların bir grup altında toplanması işlemidir. Böylelikle çok büyük girdiler içeren bir veri seti, çok daha düşük sayıda grupla ifade edilebilmektedir. Kümelemenin makine öğrenmesi / veri madenciliği alanında kullanımı büyük ve etiketsiz veri yığınlarının otomatik olarak gruplara ayrılmasını amaçlamaktadır. Böylelikle etiketsiz büyük bir veri yığını kabaca etiketlenmiş olur ve bu etiketler kullanılarak arama algoritmaları hızlandırılabilir, veri hakkında özet bilgi çıkarılabilir veya temiz etiketleme işlemi için gereken süre azaltılabilir.

  • Otomatik Rakam Tanıma

    • Makine Öğrenmesi
    • Görüntü İşleme Uygulamaları
    Jul 30, 2015

    Optik karakter tanıma (OCR) sayısal imgeler üzerinde bulunan rakam, harf ve noktalama işaretlerinin tanınarak kodlanmış metinlere dönüştürülmesi işlemidir. İlk kullanım amaçlarından biri görme engellilerin okumasına yardımcı olmak olan sistem,  yüz yıllık geçmişi ile, günümüzde yazılı belgelerin arşivlenmesi, pasaport/kimlik doğrulama, iş kartı tarama, postaların otomatik yönlendirilmesi gibi pek çok alanda kullanılmaktadır. Sistemin ileride planlanan bir kullanımı ise çekilen fotoğraflarda bulunan metinlerin algılanarak, fotoğrafların içerikleri hakkında daha fazla bilgi sahibi olmak ve fotoğraf aramalarını daha kullanıcı dostu bir hale taşımaktır.

  • En Kısa Yol Problemi (Dinamik Programlama)

    • Makine Öğrenmesi
    • Hızlı Algoritmalar
    Jul 27, 2015

    En kısa yol bulma problemi günlük hayatta karşımıza sıklıkla çıkan bir problemdir. Adından da anlaşıldığı üzere, problemin amacı herhangi bir noktadan harekete başlayıp, belirli noktaları ziyaret etmek şartı ile varış noktasına en az enerji / en hızlı zaman / en az masrafla gitmek için seçilmesi gereken yolu bulmaktır. Problemin en temel kullanım alanlarından biri araç navigasyon sistemleri gibi görünse de evlerimizde kullanılan router (yönlendirici), robot navigasyonu, telemarket operatörlerinin zamanlanması gibi çok farklı alanlarda kullanılmaktadır. Algoritmanın bu kadar yaygın bir şekilde en iyileme gerektiren işlerde kullanılması, problemin çözümü kadar çözümün verimliliğini de önemli kılmaktadır.

  • Lojistik Regresyon Analizi

    • Makine Öğrenmesi
    • Veri Analizi
    Jul 23, 2015

    Regresyon (bağlanım) analizi, bilinen değişkenler baz alınarak bilinmeyen değişkenlerin modellenmesi / tahmin edilmesi işlemidir. İfadenin daha anlaşılır olması için örnek verecek olursak; doktorlar uyguladıkları tetkikleri (tansiyon, şeker, demir miktarı, vs.) baz alarak bir hastalığın olup olmayacağına karar verebilirler veya emlakçı bir evin fiyatını oda sayısı, konumu, alanı gibi bilgileri baz alarak tahmin edebilir.  Bu işlemin insanlar tarafından yapılabilirliği, bilinen değişkenlerin artması (baz noktaları) ile ters orantılıdır. Doktor örneğine geri dönecek olursak,  karmaşık bir hastalığın tespiti için yapılan analizlerin sayısı arttıkça, doktorun bu sonuçları değerlendirme süresi de artacaktır.

  • İçerik Tabanlı İmge Ölçekleme

    • Görüntü İşleme Uygulamaları
    • Veri Analizi
    Jul 14, 2015

    Ölçekleme (görüntü boyu değiştirme) verilen bir imgenin boyutunun istenilen boyutlara, doğrusal veya doğrusal olmayan yollarla ,yeniden ayarlanması işlemidir. Kısa bir zaman öncesine kadar ölçekleme işlemini kıymetli kılacak bir gereksinim ortaya çıkmamış ve çok standart bir yöntem olan örnekleme yöntemi ile alınan sonuçlar yeterli görülmüştür. Ancak, görüntüleme cihazlarının (telefon, monitör, vs.) ve ortamlarının  (facebook, instagram, vs.) çeşitlenmesi ile düzgün olmayan örnekleme yöntemlerine ihtiyaç duyulmuştur. Bu olayın sıklıkla karşımıza çıkan örneklerinden biri instagram’ ın kare imge şablonudur. Bu şablon nedeniyle imgeler boyutu ne olursa olsun kare biçimine getirilmesi gerekmektedir.

  • C++ ile Determinant ve Matris Tersi

    • Lineer Cebir
    • Nümerik Yöntemler
    Jan 26, 2014

    Lineer cebir, görüntü işleme, istatistik gibi pek çok alanda, problemleri bilgisayar programına dönüştürerek çözmede kolaylık sağlayan matrisler, sabit değerli sayıların bir düzen içerisinde tabloya yazılması ile oluşturulur. Ancak özellikle lineer cebir dersinin anlatımından kaynaklanan sebeplerden dolayı, her an hayatımızın içerisinde bulunan matrisler-le ilgili işlemlerin (Determinant hesaplama, Ters alma, Bölme) mantığını ve gerekliliğini pek çoğumuz bilmeyiz. Bu yazımda bir sebepten dolayı bu yazıyı okuyan sizlere Determinant ve  Matris Tersi / Bölmesi kavramlarının fiziksel karşılıkları ve Matris Tersi / Bölmesi için uygulanabilecek analitik yöntemleri anlatmaya çalışacağım.

  • Perspektif Dönüşümü

    • Lineer Cebir
    • Nümerik Yöntemler
    Dec 8, 2013

    Perspektif nesnenin bulunduğu konuma bağlı olarak, gözlemcinin gözünde bıraktığı etkiyi (görüntüyü) 2 boyutlu bir düzlemde canlandırmak için geliştirilmiş bir iz düşüm tekniğidir. Rönesans döneminde Masaccio’ nun resimlerinde kullanmaya başladığı teknik günümüzde gerçekçi çizimler oluşturmak için olmazsa olmazlardandır. Ancak olayı görüntü işleme açısından ele aldığımızda perspektif genellikle işlerimizi zorlaştıran bir etkiye sahiptir. Amaç nesne tanıma veya sınıflandırma olduğunda nesnenin hangi açıdan görüntülendiğinin bir önemi olmamalıdır.

  • Sudoku Çözücü Uygulaması

    • Görüntü İşleme Uygulamaları
    • Lineer Cebir
    • Nümerik Yöntemler
    • Makine Öğrenmesi
    Dec 2, 2013

    Sudoku $9$ adet $3\times 3$ kareden oluşan ve $3\times 3$ her kare içerisinde birde dokuza kadar olan sayıların bir kez kullanılması ve her satir ve sütunda tüm rakamların bulunması gibi iki kurala dayalı bir oyun. Bu yazımda IMLAB görüntü işleme kütüphanesinde yer alan temel fonksiyonları kullanarak, girdi olarak verilen bir fotoğraf üzerinden sudoku karesini tespit edip, bulmacanın çözümünü ekrana yazabilen bir uygulama yazmaya çalışacağız. Yazımızda IMLAB kütüphanesi aracılığı ile doğrudan kullanacağımız yöntemler Bağlantılı Bileşen Etiketleme, Perspektif Dönüşümü ve Rakam Tanıma için ilgili bağlantıları kullanarak detayları öğrenebilirsiniz.

  • Bağlantılı Bileşen Etiketleme

    • Görüntü İşleme
    • Hızlı Algoritmalar
    Sep 26, 2012

    Bağlantılı bileşen etiketleme siyah-beyaz görüntüler üzerine uygulanan ve birbiri ile komşu olan piksellerin bir grup içerisinde toplamaya yarayan bir işlemdir. Bu gruplama sonucunda, resim üzerindeki her bir grup bir nesneyi temsil edecek şekilde numaralandırılır. Daha sonra da istenen grup numaralı nesne üzerinde kolaylıkla işlem yapılabilir. Bağlantılı bileşen etiketleme algoritması 4-komşuluk ve 8-komşuluk olarak ikiye ayrılır. Burada 8 komşuluk seçilirse çapraz piksellerin de komşu olduğu kabul edilmiş olur. Uygulamalarda genellikle 8-komşuluk tercih edildiğinden bu yazımızda da 8-komşuluk algoritması üzerinde duruldu ve çapraz pikseller de komşu olarak işlemlere dahil edildi.

  • Otsu Metodu ile Adaptif Eşikleme

    • Görüntü İşleme
    • Hızlı Algoritmalar
    Jul 24, 2012

    Eşikleme yada ikili tonlama gri tonlanmış bir resmin siyah-beyaz (ikili) uzaya dönüştürülmesi işlemidir. Siyah-beyaz görüntüler, görüntü üzerindeki renklerin pek önemli olmadığı, görüntü üzerinde belirli şekillerin veya dizilerin arandığı uygulamalarda işlem yükünü hafifletmek ve görüntü üzerinde mantıksal (0-1) işlemleri hızlı bir şekilde yapabilmek için sıklıkla kullanılan görüntülerdir. Basitçe gri seviye bir görüntü üzerinde 0-255 arasında seçilen bir $T$ eşik değerine göre, siyah-beyaz resim aşağıdaki şekilde oluşturulur.