Uzunca bir uğraştan sonra (~1 haftasonu), tez sunumumu video haline getirebildim. Yazılar İngilizce, sunum (ses) ise Türkçe. Ne yazık ki tüm sunumu baştan Türkçe yazmaya zamanım olmadı. Bir de bilgisayara anlatmak sıkıcı bir şeymiş, onu öğrendim.

Aktif şekil modellerinin nasıl çalıştığını, yüz özniteliklerini takip etmede nasıl kullanılabileceğini ve bu sonuçların nasıl sınıflandırılabileceğini merak ediyorsanız izleyebilirsiniz.

Tez (PDF): Yüz Özniteliklerinin Takibi Ve İşaret Dili İçin İfade Tanıma (56)

Özet:

Bir imge dizisinde bulunan yüz öznitelik noktalarının otomatik olarak takipedilmesi, ifade tanımayı da kapsayan birçok uygulamanın ilk adımıdır.İşaret dili özelinde bakarsak, ifadeler hem duygusal ifade hem de baş hareketi içerebilen ele ait olmayan işaretler olarakkarşımıza çıkar. Bu çalışmada, Türk İşaret Dili’nde yaygın olarak kullanılan ifadeleri tanımayı amaçladık. Önerdiğimiz sistem iki aşamadan oluşmaktadır: İlkinde, imge dizisindeki her kare için, çok-yönlü (düz, sağa, sola, yukarı) Çok-çözünürlüklü Aktif Şekil Modelleri (ÇÇAŞM) ile yüzdeki nirengi noktaları otomatik olarak saptanır. Bulunan yönlerden şekli modele en iyioturan ve önceki seçilen şekle en yakın olan yönün şekli seçilir. Eğer seçilen şeklin güvenirliği, eşik değerinin altında ise o kare boş bırakılır ve şekil başlangıç durumuna getirilir. Böylece takip edilen şeklin dağılması önlenirve sistemin gürbüz çalışması sağlanır. Boş bırakılan kareler interpolasyon ile doldurulur ve hatalı sonuçları elemek için alfa-trim ortalama süzgeci kullanılır. İkinci aşamada takip edilen noktalar normalize edilir ve çokdeğişkenli Sürekli Saklı Markov Modelleri (SSMM) tabanlı sınıflandırıcıya girdi olarak verilir ve ifade tanınması yapılır. Bulunan sonuçları sınayabilmek için ele ait olmayan ifadelerden oluşan bir video veritabanı topladık. Hem takip hem tanıma kısımları için ÇÇAŞM yöntemini tek-yön/çok-yön ve genel/kişiye-özel çeşitlemeleri ile çalıştırıp sonuçları karşılaştırdık. Çok-yönlü kişiye-özel takipçi en başarılı sonuçları vermektedir ve sistemin gürbüz bir şekilde noktaları takip edebildiği gözlemlenmektedir. Sınıflandırma kısmı için önerilen SSMM sınıflandırıcısını değişik eğitim ve test kümelerinde denedik. Birbirinden farklı sınıflar için başarı çok yüksek gözükmektedir.

Sunum:

Bluekid’in önerisi üzerine düzeltme: Sunumun ‘avi’ formatındaki halini Sunum: Yüz Özniteliklerinin Takibi Ve İşaret Dili İçin İfade Tanıma (70) - 160.82 MB adresinden indirebilirsiniz.

Panoramik Resim Kaynakları

22 Ağu 2008 Kategoriler: Bilgisayarla Görü, Çalışmalarım Okunma sayısı: 438

3B Bilgisayarla Görü dersinde panoramik resim yapma ödevimiz vardı. Başlangıç için de panoramik hale getirmeye müsait kaynak resimlere ihtiyaç oldu dolayısıyla. Üstteki panoramik resmin bileşenlerini kuzey meydanda dolanıp çekmiştim. Böyle birkaç küme daha var, kitaptakileri falan da ekledim, siz de panoramik resim sentezleyecekseniz alttaki dosyadaki resimleri kullanabilirsiniz:

Panoramik Resim Kaynakları (109) - 4.21 MB

Eğer PHP kullandığınız sayfanızda tablo içeriklerini koda gömmek istemezseniz, harici bir metin dosyasından okuyabilirsiniz. Hatta bu metin dosyasında filtreleme bile yapabilirsiniz. Örneğin MD‘nin arşiv sayfasındaki satırlar bir metin dosyasından okunmakta ve sayfa biçemine uygun gösterilmektedir.

Bu yöntemin avantajları nelerdir?

  • Veritabanı sade bir metin dosyasıdır. Herhangi bir metin editörü ile değiştirebilirsiniz. Sunucunun veritabanı desteği verip vermediğini bilmeye gerek yok.
  • Sitenin devamını (bakımını) siz üstlenmeyecekseniz ve içerik internet programcılığı bilmeyecek kişiler tarafından güncellenecekse o kişi bu yöntemi sevecektir.

Tabloyu matris gibi düşünecek olursak, metin dosyası şu şekildedir:

satır1a | satır1b | satır1c | ...
satır2a | satır2b | satır2c | ...
satır3a | satır3b | satır3c | ...
...

ve bu dosyanın içeriği okunarak tablonun hücrelerine basılır. “|” karakterini ayraç olarak kullandım. Çok anlatmaya gerek yok, koda bakıp anlaşılabilir. GRE çalışırken sık çıkan kelimeleri içeren bir metin dosyası hazırlamıştım (Şu anda ne gerek var diye sorsam da kendime!), adını da kelimece koydum…

Kaynak kod: Kelimece (82) - 35.08 KB

OpenCV dersleri

21 Ağu 2008 Kategoriler: Bağlantılar, Görüntü İşleme Okunma sayısı: 393

Robin Hewitt, Servo Magazine‘de OpenCV hakkında yazılar yazmış. Buyurun:

Seeing with OpenCV (OpenCV ile Görmek)

  1. A Computer-Vision Library (Bilgisayarla-Görü Kütüphanesi)
  2. Finding Faces in Images (Resimlerdeki Yüzleri Bulmak)
  3. Follow That Face! (O Yüzü Takip et!)
  4. Face Recognition with Eigenface (Özyüzler ile Yüz Tanımak)
  5. Implementing Eigenface (Özyüzleri Kodlamak)

Not: Ben henüz okuyamadım.

B.Ü. Pilab - İşaret Dili Tanıma Çalışmaları

17 Ağu 2008 Kategoriler: Bilgisayarla Görü Okunma sayısı: 435

Teknoport’ta yayınlanan B.Ü. Pilab (Algısal Zeka Laboratuvarı) bünyesindeki işaret dili tanıma çalışmalarının anlatıldığı röportajlar. İlk konuşmacı Oya Aran, ikincisi ben.

Böyle şeylere alışık olmadığımdan cümleler biraz devrik olmuş, affola…

Boğaziçi FBE örnek tez LaTeX kaynağı

17 Ağu 2008 Kategoriler: LaTeX, Programlama Okunma sayısı: 505

Teze başlarken bir hayli zaman harcıyor insan. Örnekler içeren bir şablon ile başlamak içeriğe bir an önce geçebilmek için önemli. Kendi tezimin kaynağını biraz kırpıp içinde örnek figür, tablo, algoritma ve atıflar içeren bir şablon oluşturdum. Buyurun:

Kaynak: FBE örnek tez LaTeX kaynağı (133) - 21.11 KB
Çıktısı (PDF): Örnek Y.L. Tezi Çıktısı (169) - 58.05 KB

Notlar: FBE tarafından kabul edileceği garanti edilemez, kendiniz buradan denetlemelisiniz. Kaynakça stil dosyası için B. Gürdağ‘ın emeğine sağlık.

Yapılacaklar

15 Ağu 2008 Kategoriler: Bağlantılar, Fikirler, Yazılımlar Okunma sayısı: 317

Yapılacaklar listesi tutmak, işleri zamanında yetiştirmek ve daha iyi plan yapmak için iyi bir alışkanlık. Bunun türlü yolları var. Nasıl yollar var ve ben ne düşünüyorum, bi bakalım:

  • Post-it ile ekranın sağına soluna yapıştırmayı sevenler var. Ya da mantar panolara. Ama benim gibi 2+ farklı yerde (evde/okulda/kütüphanede) çalışmayı sürdürüyorsanız hangi monitöre veya duvara yapıştırmalı?
  • Küçük bir not defteri tutmak da bir yol. Yıllardır hep isterim ama ilk sayfadan sonra vazgeçerim. Tam yapacağım işi yazayım derim, kalem olmaz, diğer çantada kalmış olur, vb.
  • Bir masaüstü yazılımı kullanmak. Türlü post-it yazılımı denedim indirip. Kimisi çok cafcaflı, dokunmatik ekran falan lazım. Zaten çok karışık olmasına gerek duymuyorum, sadece metin olsun yeter. Böyle yazılım kullanmanın bir sorunu da yine bilgisayara bağımlı kalmış olması. Format atarken dosyaları dışarı aktarmak falan lazım, zor iş.
  • Bu işi internette halletmek lazım, çünkü istediğin yerden ulaşabilirim ve güncelleyebilirim ve böyle hizmetler de var. Ben Remember the Milk ve Todoist‘i denedim. İkisi de hoş. İlkini Google Takvim’e ekleyebilince daha da sevindim (altta ekran görüntüsü var). Arayüzü de sade, kafa karıştırmıyor. Google Takvim’i zaten kullandığımdan ayrıca başka ekran açmama da gerek kalmıyor. Belki daha güzel eklentiler de vardır bu işi yapan, bilemiyorum, pek bakmadım bunu beğenince. Hem kağıt israfı da yok. Bitirilmiş işleri de arşivlemiş oluyorsunuz sonrası için. Bu arada, Google Takvim size ücretsiz kısa mesaj yollayabiliyor hatırlatma için, biliyor muydunuz? Önemli günlerde/anlarda çok işe yarayabiliyor mesela, kaçırmıyorsunuz!

Son yöntem şimdilik en iyi gözüküyor, deneyeyim bir süre…

MATLAB ile PCA (Temel Bileşenler Analizi)

8 Ağu 2008 Kategoriler: Görüntü İşleme, MATLAB, Programlama Okunma sayısı: 448

PCA, görüntü işleme de dahil olmak üzere birçok alanda sıkça kullanılan istatistiksel bir yöntemdir. Boyut azaltmak için başvurulabilir. Genel amaçlı bir MATLAB PCA kodu yazalım:

Girdiler

sampleMat -> Her satırı bir örnek vektörden oluşan matris
n -> (opsiyonel) istenilen özvektör ve özdeğer sayısı

Çıktılar

V -> “sampleMat” ile verilen vektörlerin ana yönleri (özvektörleri). “V” matrisinin her sütunu bir özvektördür. Soldan sağa doğru baskınlık azalır.
D -> “V” özvektörlerine ait özdeğerler. “D” vektörünün her elemanı, “V” matrisinin ilgili sütunundaki özvektör yönündeki değişintiyi (varyasyonu) gösterir.

Örnek

3 boyutta olan 5 nokta olsun. Bunları her satıra bir tanesi gelecek şekilde yazalım. x = [1 2 1; 0 2 1; 0 3 2; 2 4 1; 1 3 0], n = 2 olursa V iki sütundan oluşur ve ilk sütun en çok değişintinin oldugu yönü, ikinci sütun da sonraki baskın yonu gösterir. Bunlar birim vektörlerdir. İlk yöndeki değişinti 0.9576‘dır. Standart sapma da bunun kareköküdür. Bu beş noktaya ait iki boyutun PCA sonuçları aşağıdaki gibidir.

V =

-0.7164 0.1720
-0.6486 -0.5212
0.2570 -0.8359

D =

0.9576
0.4412

Not: Eğer örnek sayısı, boyut sayısından azsa hızlı olması için Eckart-Young teoremini kullanır.

Kaynak Kod

Yazının devamı için tıklayın »

B.Ü. Bilgisayar Mühendisliği tanıtımı

26 Tem 2008 Kategoriler: Bağlantılar Okunma sayısı: 496

B.Ü. Bilgisayar Mühendisliği hakkında ayrıntılı bilgi sahibi olmak isterseniz son toplu tanıtım önümüzdeki pazartesi günü, yani 28 Temmuz’da. Özellikle lisansa başlayacak öğrenciler için hazırlanıyor ama yapılan projeler, laboratuvarlar ve yüksek lisans hakkında fikir edinmek için de iyi bir gün olabilir. Bilginize…

\end{ms}

25 Tem 2008 Kategoriler: Bilgisayarla Görü, Çalışmalarım Okunma sayısı: 445

Bugün tezimi sundum ve çok az bir işim kaldı. Başarabilirsem yakın zamanda sunumu Türkçe anlatarak kaydedip buraya koymayı istiyorum. Düzeltileri halledince de tezi Tamamlanmış Yüksek Lisans Tezleri‘ne ekleyeceğim. Altta tez özeti bulunuyor:

YÜZ ÖZNİTELİKLERİNİN TAKİBİ VE İŞARET DİLİ İÇİN İFADE TANIMA

 

Bir imge dizisinde bulunan yüz öznitelik noktalarının otomatik olarak takipedilmesi, ifade tanımayı da kapsayan birçok uygulamanın ilk adımıdır.İşaret dili özelinde bakarsak, ifadeler hem duygusal ifade hem de baş hareketi içerebilen ele ait olmayan işaretler olarakkarşımıza çıkar. Bu çalışmada, Türk İşaret Dili’nde yaygın olarak kullanılan ifadeleri tanımayı amaçladık. Önerdiğimiz sistem iki aşamadan oluşmaktadır: İlkinde, imge dizisindeki her kare için, çok-yönlü (düz, sağa, sola, yukarı) Çok-çözünürlüklü Aktif Şekil Modelleri (ÇÇAŞM) ile yüzdeki nirengi noktaları otomatik olarak saptanır. Bulunan yönlerden şekli modele en iyioturan ve önceki seçilen şekle en yakın olan yönün şekli seçilir. Eğer seçilen şeklin güvenirliği, eşik değerinin altında ise o kare boş bırakılır ve şekil başlangıç durumuna getirilir. Böylece takip edilen şeklin dağılması önlenirve sistemin gürbüz çalışması sağlanır. Boş bırakılan kareler interpolasyon ile doldurulur ve hatalı sonuçları elemek için alfa-trim ortalama süzgeci kullanılır. İkinci aşamada takip edilen noktalar normalize edilir ve çokdeğişkenli Sürekli Saklı Markov Modelleri (SSMM) tabanlı sınıflandırıcıya girdi olarak verilir ve ifade tanınması yapılır. Bulunan sonuçları sınayabilmek için ele ait olmayan ifadelerden oluşan bir video veritabanı topladık. Hem takip hem tanıma kısımları için ÇÇAŞM yöntemini tek-yön/çok-yön ve genel/kişiye-özel çeşitlemeleri ile çalıştırıp sonuçları karşılaştırdık. Çok-yönlü kişiye-özel takipçi en başarılı sonuçları vermektedir ve sistemin gürbüz bir şekilde noktaları takip edebildiği gözlemlenmektedir. Sınıflandırma kısmı için önerilen SSMM sınıflandırıcısını değişik eğitim ve test kümelerinde denedik. Birbirinden farklı sınıflar için başarı çok yüksek gözükmektedir.