25.07.2013 Views

ba kent üniversitesi mühendislik fakültesi bitirme projesi raporu ...

ba kent üniversitesi mühendislik fakültesi bitirme projesi raporu ...

ba kent üniversitesi mühendislik fakültesi bitirme projesi raporu ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

BAKENT ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ<br />

BİTİRME PROJESİ RAPORU<br />

SAHNE TABANLI VİDEO ERİİM SİSTEMİ<br />

Bölümü: BİLGİSAYAR MÜHENDİSLİĞİ<br />

CEMİL IIK GÖKMEN<br />

20593772<br />

Proje Danışmanı: YRD.DOÇ.DR. MUSTAFA SERT<br />

Ders Kodu ve Adı: BIL492 BITIRME PROJESI II<br />

Proje Başlangıcı: 2009 Güz Proje Süresi (Yarıyıl): 2<br />

Rapor Sunumu: 2010 Bahar


Bu Rapor, / / 2010 tarihinde aşağıda üye adları yazılı jüri tarafından kabul<br />

edilmiştir.<br />

Unvan Adı Soyadı İmza<br />

Yrd.Doç.Dr. MUSTAFA SERT<br />

Araş. Gör. ÇİĞDEM BEYAN<br />

Araş. Gör. KEREM YILDIZ<br />

ii


ÖZ<br />

Bu projede içerik ta<strong>ba</strong>nlı bir video arama ve erişme sistemi yaratılması<br />

amaçlanmıştır. Bunun için çoklu ortam verileri üzerinde öznitelik çıkarımı yapabilen<br />

daha sonra bu öznitelikler üzerinden karşılaştırma işlemlerini gerçekleştiren bir web<br />

uygulaması geliştirilmiştir. Uygulamada, kullanıcı iki farklı türde arama işlemi<br />

yapabilmektedir. Bunlar örnek girişi ile arama yapılan ve hazır örnekler üzerinden<br />

arama yapılan türlerdir. Örnek girişi ile yapılan arama türünde kullanıcı görüntü veya<br />

ses örneği sorgusu yapar ve sistem verita<strong>ba</strong>nından bu sorgudaki görüntü veya ses<br />

örneğine benzer örnekler içeren videoları kullanıcıya döndürür. Hazır örneklerin<br />

kullanıldığı arama türünde ise kullanıcı sisteme önceden yüklenmiş örnekleri, ses ve<br />

görüntü alanlarından seçer ayrıca bu iki tür alan arasındaki zamansal ilişkileri de<br />

belirleyerek arama yapabilir. Böylece kullanıcıları bir örnek dosyasına sahip olmaları<br />

zorunluluğu ortadan kaldırılmıştır. Sisteme video eklenirken; videonun görsel ve<br />

işitsel özniteliklerinin çıkarılarak MPEG-7 standartlarına uygun bir biçimde<br />

verita<strong>ba</strong>nında saklanır. Kullanıcı bir sorguda bulunduğunda önce sorgudaki çoklu<br />

ortam verisinin öznitelik çıkarımı yapılır ve bu öznitelikler ile verita<strong>ba</strong>nında kayıtlı olan<br />

öznitelikler karşılaştırılır ve benzer sonuçlar kullanıcıya döndürülür.<br />

Projede çoklu ortam verilerinin parmak izlerini oluşturacak öznitelikler olarak görüntü<br />

kısmında Color Layout Descriptor (CLD) ve Scalable Color Descriptor (SCD); ses<br />

kısmında ise Audio Spectrum Flatness (ASF) ve Audio Spectrum Envelope (ASE)<br />

kullanılmıştır. Bu öznitelikler MPEG-7 standartlarında tanımlanmış düşük seviye<br />

tanımlayıcılardır.<br />

Bu proje sayesinde çoklu ortam verilerinde içerik ta<strong>ba</strong>nlı arama yapmak<br />

mümkün olacak böylece metin ta<strong>ba</strong>nlı aramanın çoklu ortam verileri için getirdiği<br />

dezavantajlar ortadan kaldırılmış olacaktır.<br />

iii


ABSTRACT<br />

In this project, it was aimed to create a content <strong>ba</strong>sed video retrieval system.<br />

To achieve this goal, a web application which has a feature extraction function and<br />

also can make comparisons according to these extracted features, was developed. In<br />

the application, the user can make two kinds of queries. These are; query by<br />

uploading a sample and query by predefined samples. In query by uploading a<br />

sample; the user makes an image or an audio sample query and the system returns<br />

the videos which includes the similar samples. On the other hand, in query by<br />

prefined samples; the user selects the audio and visual sample types which were<br />

uploaded to the system in advance. Also the user defines the time relationship<br />

between audio and visual samples. As a result, users do not need to have any<br />

sample files to upload to the system. When a video is being inserted to the system;<br />

the visual and the sound features of the video are extracted and saved in an<br />

appropriate way that is defined in MPEG-7 standards. When a user makes a query,<br />

firstly the features of the multimedia data in the query sample are extracted and then<br />

the system compares these features with the features stored in the data<strong>ba</strong>se. Finally<br />

the results are returned to the user.<br />

In the project, Color Layout (CL) and Scalable Color( SC) in the visual part;<br />

Audio Spectrum Flatness (ASF) and Audio Spectrum Envelope (ASE) in the sound<br />

part were selected as the features to describe the finger prints of the multimedia data.<br />

These features are the low level descriptors defined in the MPEG-7 standards.<br />

With this project, it will be possible to make content <strong>ba</strong>sed searches among<br />

the multimedia data so the disadvantages of text <strong>ba</strong>sed searches will be brought<br />

away.<br />

iv


İÇİNDEKİLER<br />

ÖZ iii<br />

ABSTRACT iv<br />

İÇİNDEKİLER v<br />

EKİLLER DİZİNİ vii<br />

ÇİZELGELER DİZİNİ viii<br />

SİMGELER ve KISALTMALAR DİZİNİ ix<br />

1. GİRİ 1<br />

2. YAPILAN ÇALIMALAR 2<br />

2.1 ANALİZ 2<br />

2.2 TASARIM 5<br />

2.3 COLOR LAYOUT ÖZNİTELİK ÇIKARTIMI 6<br />

2.4 SCALABLE COLOR ÖZNİTELİK ÇIKARTIMI 8<br />

2.5 BENZERLİK HESAPLANMASI 9<br />

2.6 VİDEO EKLENMESİ 11<br />

2.7 SAHNE TESPİTİ VE BÖLÜMENDİRİLMESİ 11<br />

2.8 GÖRÜNTÜ TABANLI SAHNE ARAMA 13<br />

2.9 ÖN TANIMLI ÖRNEKLERLE ARAMA YAPILMASI 14<br />

2.9.1 GÖRÜNTÜ İLEMLERİ 14<br />

2.9.2 SES İLEMLERİ 15<br />

2.9.3 BİRLETİRME İLEMLERİ 15<br />

2.9.4 SONUÇLARIN HAZIRLANMASI 16<br />

2.10 YÖNETİCİ İLEMLERİ 17<br />

v


3. SONUÇ VE ÖNERİLER 19<br />

3.1 İLK DÖNEM ÇALIMALARI 19<br />

3.2 İKİNCİ DÖNEM ÇALIMALARI 19<br />

4. KAYNAKLAR 20<br />

5. EKLER 21<br />

5.1 EK-1 21<br />

5.2 EK-2 22<br />

vi


EKİLLER<br />

ekil No Açıklama Sayfa No<br />

2.1 Before After İlişkisi 4<br />

2.2 Overlap İlişkisi 4<br />

2.3 During İlişkisi 4<br />

2.4 Zig-zag tarama 8<br />

2.5 Threshold Hesaplanması 11<br />

2.6 Sahne Bölümlendirilmesi 12<br />

2.7 Yönetici Kontrolleri 17<br />

vii


ÇİZELGELER<br />

Çizelge No Açıklama Sayfa No<br />

2.1 4-bit haritalama 9<br />

viii


Simge / Kısaltma Açıklama<br />

SİMGELER ve KISALTMALAR<br />

SCD Scalable Color Descriptor<br />

CLD Color Layout Descriptor<br />

ASF Audio Spectrum Flatness<br />

ASE Audio Spectrum Envelope<br />

MPEG-7 Moving Pictures Experts Group<br />

AVI Audio Video Interleave<br />

JPEG Joint Photographic Experts Group<br />

WAV Waveform Audio File<br />

BLOB Binary Large Object<br />

BFILE Binary File<br />

AJAX Asynchronous JavaScript and XML<br />

XML Extensible Markup Language<br />

DCT Discrete Cosine Transform<br />

DDL Description Definition Language<br />

ix


1. GİRİ<br />

Sahne Ta<strong>ba</strong>nlı Video Erişim Sistemi isimli bu proje, günümüz arama<br />

teknolojilerinde yoğunlukla kullanılan metin ta<strong>ba</strong>nlı arama sistemine daha<br />

verimli ve otomatik bir alternatif olması amacıyla geliştirilmiştir. Sistem,<br />

otomasyonu sayesinde kullanıcı kaynaklı hataları ortadan kaldırma ve insana<br />

<strong>ba</strong>ğımlılığı da en aza indirgeme konusunda da etkin bir sistemdir. Sistem, video<br />

analiz, dizinleme ve arama fonksiyonlarını gerçekleştiren bir web uygulamasıdır.<br />

Kullanıcılar tarafından video eklenmesi ile <strong>ba</strong>şlayan işlemler dizisi sonucunda<br />

video, aramaya hazır hale getirilir. Video arama işlemi ise günümüz metin<br />

ta<strong>ba</strong>nlı arama yaklaşımından çok farklıdır. Metin ta<strong>ba</strong>nlı aramalarda girdi olarak<br />

sisteme bir metin girilirken; İçerik ta<strong>ba</strong>nlı bu sistemde, kullanıcılar aradıkları<br />

içerikleri sisteme girdi olarak verirler. Burada içerik; aranan video’da geçen bir<br />

sahne( resim dosyası ) ve/veya bir ses örneği olabilir. Sistem bu girdileri<br />

aldıktan sonra, analiz işlemlerini gerçekleştirerek kullanıcıya aradığı örnekleri<br />

içeren sahneleri kullanıcıya çıktı olarak döndürür. Ayrıca kullanıcılar bir girdi<br />

resmi veya sesine sahip olmadan da arama yapabilmektedir. Sistem tarafından<br />

ön tanımlı ses ve görüntü türleri seçerek hatta bu türler arasında video’daki<br />

bulunma konumlarına göre zamansal ilişkiler kurarak arama<br />

yapabilmektedir.(EK-2)<br />

Değinildiği üzere; sistem iki ana alt sistemden oluşmaktadır. Bunlar; ses<br />

ve görüntü işlemleridir. Her iki alanda da, üzerinde birçok araştırılma yapılmış<br />

içerik ta<strong>ba</strong>nlı erişim sistemlerinde (Content Base Retrival ) kullanılan “finger<br />

printing” <strong>ba</strong>şka bir değişle “parmak izi” tekniği kullanılmıştır. Bu teknik ile hem<br />

aramada kullanılacak hem de aranacak verilerin güvenilir ve sıkıştırılmış<br />

olmalarını sağlar. Böylece sistemlerin performanslarını hem zaman hem de<br />

donanım açılarından geliştirir. Projede görüntü alanında “Scalable Color<br />

Descriptor”(SCD) ve “Color Layout Descriptor”(CLD); ses alanında ise “Audio<br />

Spectrum Flatness”(ASF) ve “Audio Spectrum Envelope”(ASE) öznitelikleri<br />

kullanılmıştır. MPEG7(Moving Pictures Expert Group ) standartları içinde olan<br />

bu öznitelikler ile deneysel sonuçlarla kullanılabilirliği denenmiş yöntemleri<br />

uygulayarak sisteme dâhil edilmiştir.<br />

1


2. YAPILAN ÇALIMALAR<br />

2.1 ANALİZ<br />

Analiz aşamasında, ilk olarak sistemin girdi ve çıktıları belirlendi. Girdi<br />

formatları olarak .avi ve .jpeg seçildi. Avi formatının seçiminde, hem çoğu<br />

videonun kodlandığı format olması hem de üzerinde işlem yapılabilmesinin<br />

kolay olması etkili oldu. Jpeg formatının seçiminde ise; avi gibi en çok kullanılan<br />

resim formatı olması, sıkıştırılmış olmasına rağmen yeterli bilgi içerebilmesi gibi<br />

avantajları etkili olmuştur. Buna göre kullanıcı bir jpeg formatında resim ve/veya<br />

wav formatında ses dosyasını sisteme yükleyecek, ardından bu girdiye benzer<br />

sahneleri çıktı olarak alacaktı. Ya da kullanıcı sisteme avi formatında bir video<br />

yükleyecek ve sistem bu videoyu inceleme, dizinleme işleminden sonra<br />

aramaya hazır hale getirecektir Sistemin bu genel özellikleri üzerine<br />

uygulamanın bir web uygulaması olmasına karar kılındı. Böylece hem internet<br />

üzerinden çok kullanıcıya hizmet verebilme avantajı, hem kullanıcıların içerik<br />

eklemesi ile devamlı gelişen bir verita<strong>ba</strong>nı ile daha çok içeriğe erişebilme imkânı<br />

sağlanmış oldu. Web uygulaması olmasına karar verildikten sonra uygulama<br />

ortamının araştırılması yapıldı. Bu ortam hem gelişmiş özellikleriyle uygulama<br />

geliştirmeyi elverişli kılan, hem verita<strong>ba</strong>nı ile bütünleşmesi uyumlu olan, hem de<br />

web uygulaması geliştirmeye müsait olan bir ortam ve dil araştırılması yapıldı.<br />

Sonuç olarak, günümüzde en yoğun kullanılan yazılım geliştirme ortamlarından<br />

biri olan ASP.NET platformu üzerinde C# programlama dili ile Visual Studio<br />

2008 kullanılarak uygulamanın geliştirilmesine karar verildi.<br />

Ardından verita<strong>ba</strong>nı tasarımı üzerine araştırma yapıldı. .NET platformu ile<br />

uyumluluğu açısından ve gelişmiş özellikleri nedeniyle SQL Server 2008 ile<br />

verita<strong>ba</strong>nı tasarım ve yönetim işlemlerini gerçekleştirdik.<br />

Proje MPEG-7 standardında geliştirildi. MPEG-7 hem kullanıcılar için<br />

hem de otomatik sistemler için çoklu ortam bileşenlerinin içeriklerini ifade etmek<br />

üzere birçok standart sağlamaktadır. Bu standartlar sayesinde kullanıcılar<br />

arama, erişme gibi işlemleri daha verimli bir şekilde gerçekleştirebilir. Bu amaçla<br />

sistemlerden, MPEG-7’nin geliştirdiği ve deneysel çalışmalarla geliştirilmiş<br />

metotları kullanılması ile <strong>ba</strong>şarılı ve verimli sonuçların alınmasına olanak<br />

sağlanır. Bu açıdan özniteliklerin çıkartılması, saklanması gibi konularda<br />

MPEG-7 dokümanlarında belirtilen niteliklere sahip yöntemler kullanıldı.<br />

Projenin analizinin en uzun zaman alan kısmı ise projenin temelini<br />

oluşturacak özniteliklerin analizi olmuştur.<br />

Görüntü kısmında; “Low Level” özniteliklerden SCD ve CLD kullanımına<br />

karar verildi. SCD, en temel özniteliklerden biridir. Deneysel çalışmalarda, renk<br />

değerlerine göre resim karşılaştırmada <strong>ba</strong>şarılı sonuçlar veren bir öznitelik<br />

türüdür. CLD ise resim üzerindeki renkleri bulundukları konum bilgisini de<br />

içerecek şekilde, oldukça verimli saklayan bir özniteliktir. Bu verimlik, yüksek<br />

erişim oranı ve az işlem yükü avantajları doğurur. Ayrıca çizim ta<strong>ba</strong>nlı<br />

2


aramalarda <strong>ba</strong>şarılı sonuçlar verir. Bu yüzden projenin ilk dönem hedefleri<br />

içinde bu iki özniteliğin çıkartılması amaçlanmıştır.<br />

Ses verileri için parmak izi çıkarımı ve gerçek zamanlı karşılaştırma<br />

yapılan araştırmalarda [1][2][3] MPEG-7 standartlarında bulunan düşük seviye<br />

tanımlayıcılarından(low level descriptor) olan ASF ve ASE özniteliklerinin tercih<br />

edildiği görülmüştür. Projede uygulanmak üzere ASF ve ASE öznitelikleri<br />

seçilmiştir; çünkü bu öznitelikler hesaplanarak ortaya çıkarılan parmak izleri<br />

verimli ve sağlıklı bir şekilde ses verisini karakterize edebilmektedir.<br />

Projenin amacı bir sorguya benzer sonuçların döndürülmesi olduğu için<br />

bu benzerliği ifade etmenin önemi de yüksektir. Uygulama kolaylığı ve verimli<br />

sonuç vermesi sebebiyle “Euclidean Distance” tercih edilmiştir.<br />

Ayrıca sonuçların oluşturulmasında kullanılan arama kriterleri araştırıldı.<br />

Araştırma sonucu, içerik ta<strong>ba</strong>nlı mimarilerde kullanılan 3 temel yaklaşımın<br />

sistemde kullanılması kararlaştırıldı. Bunlar;<br />

• K-Nearest<br />

• Range<br />

• Point<br />

K-Nearest yaklaşımında, kullanıcı tamsayı şeklinde bir sayı girer. Sistem<br />

ise sonuçlar içerisinden, en çok benzeyen k adet sonucu döndürür.<br />

Range yaklaşımında, kullanıcı [0,100] aralığında iki adet değer girer. Bu<br />

değerler döndürülecek sonuçların benzeme oranlarının alt ve üst sınırlarını<br />

belirtir. Diğer bir deyişle, benzerliklerinin yüzdelerini belirtir.<br />

Point yaklaşımında ise, kullanıcıya ya bir sonuç döner ya da hiçbir sonuç<br />

dönmez. Sonuç dönme durumunda, çıktının aranan ile aynı olması beklenir.<br />

Arama sonuçlarında kullanılan bir diğer yaklaşım ise mantık işlemleri<br />

oldu. Kullanılan mantık işlemleri sayesinde, iki ayrı arama sistemi olan ses ve<br />

görüntü ta<strong>ba</strong>nlı arama mimarileri birleştirilmiş oldu. Dolayısıyla bu yöntem ile<br />

sonuçlar sadece ses veya görüntü özelliklerine değil, bu iki özelik ve buna ilave<br />

olan zamansal yapıda bu özelliklerin birleşimini sağlayan mantık işlemlerini de<br />

içeren sorgulamalar yapılabilmesi sağlandı.<br />

Bu mantık işlemleri üç adet olup aşağıda listelenmiştir;<br />

• Before<br />

• During<br />

• Overlaps<br />

3


Before ilişkisinde, kullanıcının girdiği sıra ile ( 1.Ses 2.görüntü veya<br />

1.görüntü 2. Ses ) sonuçlar arasındaki öncelik sonralık ilişkisinin kurulması<br />

sağlanır.<br />

ekil 2.1<br />

Overlaps ilişkisinde ise; elde edilen sonuçların, girilen sıra ile ilgili olarak<br />

birbirlerini kapsamalarına göre sonuçlar oluşturulur.<br />

ekil 2.2<br />

During ilişkisinde, sonuçlar arasında kesişim ilişkisi kullanılır. Başka bir<br />

deyişle ses ve görüntü aramalarından elde edilen sonuçların ortak zaman<br />

dilimine sahip oldukları durumlar listelenir.<br />

ekil 2.3<br />

Ayrıca arama ara yüzü kullanılarak ilişkiler ters durumları ile de çalışabilir.<br />

Bunu sağlama ise temel olarak ses-ilişki-görüntü veya görüntü-ses-ilişki<br />

sıralamasının değiştirilmesi ile gerçekletilerek sağlanmaktadır. Bu sayede<br />

olabilecek tüm ilişki çeşitleri her sıra ile kullanıcı tarafından gerçekleştirilebilir.<br />

4


2.2 TASARIM<br />

Verita<strong>ba</strong>nı tasarımı yaparken dikkat edilen en önemli kriterler performans<br />

ve kaplanan alandır. Bu kriterler göz önünde bulundurarak tasarım optimum<br />

şekilde tasarlanmaya çalışıldı. Tabloların alanların mümkün olduğunca az yer<br />

kaplayacak ve aynı zamanda geliştirdiğimiz uygulamaya yüksek bir<br />

performansta ayak uydurabilecek bir şekilde seçildi. Bu seçimlerin en önemlisi<br />

kuşkusuz ki video’nun verita<strong>ba</strong>nında saklanma şekliydi. Binary Large Object<br />

(BLOB) ve Binary File (BFILE), verita<strong>ba</strong>nında video saklamak için kullanılan en<br />

yaygın veri türleridir. BLOB’ da video “binary” bir şekilde verita<strong>ba</strong>nında<br />

saklanırken BFILE’da ise videonun konumu verita<strong>ba</strong>nında saklanır. Veri, BFILE<br />

ile saklanırsa verita<strong>ba</strong>nının <strong>ba</strong>şka bir bilgisayara taşınması halinde sorunlar<br />

ortaya çıkar. Verinin de diğer bilgisayara taşınması gerekir. Bu gibi<br />

dezavantajlarının yanında; üzerinde daha kolay işlem yapılması, “binary”<br />

türündeki verilerin gerektirdiği işlem yükünün fazla olması ve BFILE’ın bizi bu<br />

yükten kurtarması gibi birçok avantajı da vardır. Ayrıca performans ve<br />

verita<strong>ba</strong>nında kapladığı alan açısında BLOB’ a göre çok daha verimlidir. Bu<br />

sebeplerden dolayı video’nun verita<strong>ba</strong>nında BFILE olarak saklanmasının uygun<br />

olacağına karar verildi. Diğer önemli seçimlerden biri de özniteliklerin<br />

saklanmasıydı. Çoklu ortam verilerinden çıkardığımız öznitelikleri MPEG-7<br />

standartlarına uygun olarak saklamamız gerektiği için tüm öznitelik alanlarının<br />

türü XML(Extensible Markup Language) olarak tanımlandı. Tablolardaki diğer<br />

alanlar için genelde önemli seçimler yapılmadı. Bunun nedeni oluşturulan<br />

verita<strong>ba</strong>nı yapısının karmaşık olmaması ve çoğu alanın <strong>ba</strong>sit şeyleri ifade<br />

etmesidir.<br />

Web sitesinin tasarımında değinildiği gibi ASP.NET ortamı üzerinde ASP,<br />

c# dilleri ve Ajax teknolojisi kullanılmıştır. Sistemin kullanıcı tarafı tasarlanırken,<br />

öncelikle ana işlemler belirlendi. Bunlar:<br />

• Video ekleme<br />

• Sahne arama<br />

a. Sorgu örneği ile arama<br />

b. Ön tanımlı örnekler ile arama<br />

• Yönetici işlemleri<br />

Her üç modül’ün de tasarımında sadeliğe önem verildi. Bunda, hem<br />

sistemin karmaşıklığının kullanıcıyı korkutacak kontroller içermemesi, hem de<br />

<strong>ba</strong>sit tasarımları sayesinde <strong>ba</strong>şarılı olan birçok uygulamanın getirdiği kullanım<br />

rahatlığı etkili oldu.<br />

Video ekleme kısmında, kullanıcı sadece göz at tuşu ve yükleme tuşu ile<br />

işlemlerini gerçekleştirebilir olarak tasarlandı. Ancak bu tasarım ilk dönem<br />

hedeflerini içerecek şekilde belirlendi.<br />

5


Sahne arama kısmında ise, kullanıcıya iki türde sahne arama ara yüzü<br />

geliştirildi. Bunlar; sorgu örneği girerek veya ön tanımlı örnekleri kullanarak<br />

sahnelere erişmedir.<br />

a. Sorgu örneği ile arama<br />

Kullanıcı ses ve ya resim üzerinden sorgulama işlemlerini tek bir<br />

sayfadan yapabilir olarak tasarlandı. Hatta kullanıcıyı, arama için sisteme<br />

yükleyeceği sorgu dosyası ( ses ve ya resim ) için bile; bir seçim ya da<br />

ayar yapmasına gerek olmayacağı bir şekilde tasarlandı. Projemize<br />

ismini de veren “içerik ta<strong>ba</strong>nlı” sistem yaklaşımı arama sayfasında da<br />

benimsendi. Böylece yüklenen dosya içeriğine göre sistemin arama<br />

fonksiyonlarını kendi etkinleştirip, girdi’ye özgü arama işlemlerini yaparak<br />

sonuçları kullanıcıya sunabilir olarak tasarlandı.<br />

b. Ön tanımlı örnekler ile arama<br />

Bu arama türünde ise kullanıcı sisteme herhangi bir örnek dosya<br />

yüklemeden; önceden tanımlanmış hazır durumlar üzerinde arama<br />

yapabilmektedir. Bu sayede kullanıcıların sistemden sahneleri elde<br />

edebilmeleri için mutlaka örnek bir veriye sahip olma zorunluluğu<br />

kaldırılmıştır. Ayrıca bu aram türünde ses ve görüntü aramaları mantıksal<br />

işlemler kullanılarak birleştirilmiştir. Bu mantıksal işlemler ile kullanıcılara<br />

bu iki arama türünü zamansal olarak ilişkili hale getirerek sunmayı<br />

sağlamıştır.<br />

Sonuçların gösteriminde ise; ilk aşamada kullanıcı arama<br />

kriterlerine göre sistemin döndürdüğü sonuçları toplu halde görür. Daha<br />

sonra kullanıcı arzu ettiği sonuca tıklayarak sahne izleme şansına<br />

sahiptir. Sonuca tıklanıldıktan sonra video gösterim sayfasına<br />

yönlendirilir.<br />

2.3 COLOR LAYOUT ÖZNİTELİK ÇIKARTIMI<br />

CLD özniteliği; resim üzerinde renklerin, uzaysal alanda dağılımın,<br />

oldukça az alan kaplayacak şekilde ifade edilmesini sağlayan bir özniteliktir. Bu<br />

az alan kaplaması sayesinde, hem dizinlenme maliyetlerini düşüren, hem de<br />

eşleştirme işlem yükünü hafifleten bir yapıya sahiptir. Ayrıca renklerin dağılımı<br />

bilgisi içermesi avantajı ile eşleştirme konusunda <strong>ba</strong>şarılı sonuçlar veren bir<br />

özniteliktir.<br />

Öznitelik çıkartma işlemine ilk olarak girdi resminin uzayının değiştirilmesi<br />

ile <strong>ba</strong>şlanır. Projemizde, girdi resmi olarak 24bit RGB veya 8bit Indexed<br />

formatları desteklemektedir. Bu girdi resimleri ileriki aşamalarda yapısal faydalar<br />

sağlaması amacı ile YCbCr uzayına dönüştürülür.[2][3]<br />

6


= (0.299 × + 0.587 × + 0.114 × ) ÷ 256.0<br />

= (219.0 × + 16.5)<br />

= ( 224.0 × 0.564 × ( ÷ 256.0 − ) + 128.5 )<br />

= ( 224.0 × 0.713 × ( ÷ 256.0 − ) + 128.5)<br />

7<br />

(D2.1)<br />

Formülü kullanılarak resim YCbCr renk uzayında dönüştürülür. R, G ve B<br />

değerleri bir pixeldeki 3 adet renk değeri iken, Y, Cb ve Cr değerleri<br />

dönüştürülen uzayda ki renk bilgilerini ifade eder. Bu dönüşümün amacı YCbCr<br />

uzayının, RGB gibi sahip olduğu 3 adet renk bilgisini içermesi yerine, aydınlık<br />

ve renk değerlerini ayrı ayrı tutmasıdır. Y değeri pixeldeki aydınlık bilgisini<br />

tutarken, Cb ve Cr değerleri ise renk bilgisini tutarlar. İnsanların imgeleri<br />

algılaması üzerine yapılan araştırmalarda, algının daha çok aydınlık-karanlık<br />

bilgisi üzerine yoğunlaştığını, renk bilgisinin daha az önem taşıdığı ortaya<br />

konulmuştur. Bu sebepten YCbCr uzayındaki bir veriyi, renk bilgilerinin<br />

eksiltilmesi ile kapladığı alanı azaltabilir ancak resmin içeriğinin çok az miktarda<br />

kay<strong>ba</strong> uğramasına neden olur. Bu avantajı nedeniyle öznitelik, MPEG-7<br />

standartlarında da belirtilen YCbCr uzayına dönüştürülmüştür.<br />

Bir sonraki adım, resim dosyasının 8 x 8’ lik hücrelere ayrılmasıdır. Bu<br />

aşama uygulanacak Discrete Cosine Transform (DCT) ‘un verimli çalışabilmesi<br />

için bir gerekliliktir. Her hücreyi ifade edecek renk değeri <strong>ba</strong>sit bir ortalama<br />

işlemi ile hesaplandıktan sonra, bu renk değerleri 8 x 8’lik DCT’ye tabi tutulurlar.<br />

DCT çıktı olarak, her uzay bileşeni için bir coefficient vektörü oluşturur.<br />

<br />

, = ,<br />

<br />

[ / × ( + 1<br />

2 ) ] × [ / × ( + 1<br />

2 ) ]<br />

(D2.2)<br />

K1 yatay, k2 dikey freaksansları, x değerleri ise n1 ve n2 ile belirtilen<br />

pixeldeki renk değerini ifade etmektedir. Sonuç olan X ise; k1 ve k2 ile belirtlien<br />

koordinatlardaki coefficientleri ifade eder.<br />

Her uzay bileşeni için uygulanan DCT üzerine, her biri 64 adet tamsayı<br />

içeren üç adet coefficient vektörü elde edilir.64 adet değer içermesi, 8x8’lik<br />

hücrelere ayırma işleminden kaynaklanır. 64 değerin ilk olanına DC coefficient<br />

adı verilir. Kalan 63 coefficient is AC bileşenler olarak adlandırılır. Bu vektörler<br />

daha sonra quantization[2],[3] işlemine sokulurlar. İşlem her coefficient vektör<br />

için farklı işlemlerdir. Değerleri MPEG-7 dokümanından[4] alınmıştır. Bir sonraki<br />

aşama değerlerin taranması aşamasıdır. Taramada zig-zag tarama mantığı<br />

kullanılır.


ekil 2.4<br />

Bu işlemin amacı, quantization sonrasında oluşan vektörlerin genellikle<br />

son kısımlarında birçok sıfır değeri birikmesidir. Bu yüksek frekans bileşeni<br />

içeren değerler, zig zig-zag zag tarama ile en sonda biriktirilirler. Böylece; sistemin sistem<br />

ihtiyaçları doğrultusunda ( performans ve kaplanan alan ) değerlendi değerlendirilerek,<br />

değerlendi<br />

insan gözünün algılayamadığı değerleri içeren bu bileşenler göz ard ardı ard edilebilir.<br />

Projemizde tüm co coefficient ficient değerleri, göz ardı edilme olmaksızın sistemde<br />

kullanılmıştır. Tüm bbu<br />

u aşamaların sonucunda, CLD öznitelik çıkartımı<br />

tamamlanır.<br />

2.4 SCALABLE COLOR ÖZNİTELİK ÇIKARTIMI<br />

Scalable özniteliği, resim üzerine uygulanan ve resim içerisindeki renk<br />

değerlerinin sıkılığını hesaplayan bir özniteliktir. Histogram olarak da<br />

adlandırılan rılan renklerin sıklığı bilgisi, resim eşleştirmede kullanılan en pratik ve<br />

<strong>ba</strong>şarılı sonuçlar döndürebilen bir bilgi içerir. Projenin MPEG MPEG-7 MPEG standartlarına<br />

uyumlu geliştirildiği için, standart’ın tanımladığı şeklide histogram bilgisi<br />

çıkarılmıştır. MPEG MPEG-7 standartlarında bu özniteliğe Scalable Color adı<br />

verilmektedir. Esas yöntem aynı olmasına karşılık, uygulamada farklar içerir.<br />

Standart’a göre bu öznitelik HSV uzayındaki renk dağılımlarını tutması<br />

gerekmektedir. Bu nedenle işlemin ilk adımında renk uzayı dönüşümü<br />

yapılmaktadır. Bu işlem sonucunda elde edilen değerler üzerinden sıklık bilgileri<br />

elde edilir. Bu işlem bilinen histogram ile aynıdır. Fark sadece renk uzayıdır.<br />

Sonraki işlemde histogram bilgileri normalizasyona sokulurlar. “ “Normalizasyon<br />

“<br />

burada her bir HSV histogram elemanının resmi dosyasındaki pixel sayısına<br />

bölünmesini ifade eder. Sonuç ola olarak ak her histogram elemanı [0,1] aralığında<br />

bulunur. Bu işlemi takiben bu elemanlar en yakın komşu quantization’u<br />

kullanılarak 11bit’e quantize edilir. edilir.” [5]<br />

Ardından bu değerler Çizelge 2.1 ‘de görülen eşleştirme ile 4 bit’e haritalanır.<br />

8


Çizelge 2.1<br />

Histogram 4-bit Histogram 4-bit Histogram 4-bit Histogram 4-bit<br />

value index value index value index value index<br />

0 0 40 4 … 8 422 12<br />

1 1 41 5 197 8 … 12<br />

2 1 … 5 198 9 519 12<br />

3 2 66 5 … 9 520 13<br />

… 2 67 6 261 9 … 13<br />

9 2 … 6 262 10 629 13<br />

10 3 101 6 … 10 630 14<br />

… 3 102 7 335 10 … 14<br />

21 3 … 7 336 11 752 14<br />

22 4 144 7 … 11 753 15<br />

… 4 145 8 421 11 … 15<br />

2047 15<br />

Çünkü Haar [2],[3] dönüşümüne[4] göre, histogram ( sıkılık ) bilgileri 4bit’lik bir<br />

indeks yapısına haritalanmalıdır[4]. Sonraki ve son işlem haar dönüşümünün<br />

uygulanmasıdır. Haar dönüşümü ardından ulaşılan 256 adet coefficient SCD<br />

özniteliğini oluşturur. Her bir elemanı 4 bit ile ifade edilen bu öznitelik, teorik<br />

olarak 1024 bit ile ifade edilebilir hale gelir.<br />

2.5 BENZERLİK HESAPLANMASI<br />

İçerik ta<strong>ba</strong>nlı sistemlerde arama, benzer sonuçlara erişilebilinmesi amacı<br />

ile yapılır. Bu benzerliğin hesaplanması da, sistemin <strong>ba</strong>şarılı sonuçlar<br />

döndürmesi açısından önemli bir konumdadır. Projede, her iki özniteliğin de<br />

karşılaştırılmasında yani aralarındaki benzerliğin hesaplanmasında Euclidian<br />

Distance metodu uygulanmıştır. Euclidian distance iki nokta arasındaki<br />

uzaklığın hesaplanması işlemidir. Özniteliklerde de bu uzaklıklar, benzerlik<br />

bilgisini verir.<br />

SCD özniteliğinde uzaklık;<br />

<br />

<br />

= ( 1 − 2 ) <br />

<br />

9<br />

(D2.3)<br />

C1 ve C2 öznitelik değerlerini tutan vektörler, n ise vektör boyut iken;<br />

dSCD, iki öznitelik arasındaki farkı ifade eder.


CLD özniteliğinde uzaklık ise;<br />

<br />

<br />

= (,) × ( 1 − 2) + (,) × ( 1 − 2) <br />

<br />

<br />

10<br />

<br />

<br />

<br />

+ (,) × ( 1 − 2) <br />

(D2.4)<br />

Formülü[6] ile hesaplanır. CY1 ve CY2 Y coefficient vektörlerini, CCb1 ve CCb2<br />

Cb coefficient vektörlerini, CCr1 ve CCr2 Cr coefficient vektörlerini ifade<br />

ederken; dCLD ise iki öznitelik arasındaki farkı verir. W ise ağırlık matrisidir.<br />

2 2 2<br />

W = 2<br />

1 1 <br />

4 2 2<br />

(D2.5)<br />

Bu iki aşama sonrasında elde edilen dSCD ve dCLD değerleri arama,<br />

karşılaştırma ve sahne tespiti gibi modüllerde verimli olarak kullanılabilmesi için<br />

bir birleştirme işlemine tabii tutulurlar. Burada amaç; bu iki uzaklık bilgisinden,<br />

tek ve ağırlık kazandırılmış bir uzaklık değeri elde etmektir. Değerlerin<br />

birleştirilmesinde ___ adlı değişken önemli bir rol alır. Deneysel<br />

çalışmalarda incelendiği ve projemizde de gözlemlenen SC ve CL<br />

özniteliklerinin doğru sonuçlar elde etmesindeki kıyaslamaya dayanarak, bu<br />

değişken ile CL ve SC özniteliklerinin ağırlığı hesaplanır. Projede bu durumu da<br />

göze alarak daha <strong>ba</strong>şarılı olan CL özniteliğine ağırlık verilmiştir. Projede bu<br />

değer;<br />

___ = 1.5<br />

(D2.6)<br />

Olarak kullanılmıştır. Başka bir deyişle; iki frame’in karşılaştırılması işleminde<br />

ayrı ayrı dSCD ve dCLD değerleri hesaplandıktan sonra dSCD değerinin %40’ı,<br />

dCLD değerinin de %60’ı alınarak sonuç uzaklığı belirlenmiş olmaktadır.


2.6 VİDEO EKLENMESİ<br />

Kullanıcı tarafından video eklenme işlemi, dosyanın “göz at” tuşu ile<br />

seçilmesi ve “upload” tuşuna <strong>ba</strong>sması ile <strong>ba</strong>şar. Sistem ilk olarak bu dosyayı<br />

sunucuya kaydeder. Veri ta<strong>ba</strong>nına uygun değerler ile eklenen video, sırayla<br />

görüntü ve ses özniteliklerinin çıkartılması için kullanılır. Projede üzerinde<br />

çalışmış olduğum görüntü kısmında, sistemin ilk işi video dosyasından<br />

frame’leri elde etmek olmaktadır. Bu işlemde; araştırmacılar ve yazılım<br />

geliştiriciler için tasarlanmış olan bilgisayarlı görme, yapay zeka, görüntü<br />

işleme, yapay sinir ağları, makine öğrenmesi ve robotik alanlarında kullanılan,<br />

C# ortamında çalışan AForge.NET framework’ü kullanılmıştır. Sistemimizde<br />

kullanılan AVI formatlı videoları okuyabilen, yazabilen ve frame olarak işlem<br />

yapmaya olanak veren bu framework ile video işlemleri yürütülmüştür. Elde<br />

edilen bu Bitmap yapısındaki frame’ler teker teker öznitelik( SCD ve CLD )<br />

çıkartma işlemine tabi tutulurlar. Elde edilen sonuçlar veri ta<strong>ba</strong>nındaki Frame<br />

tablosuna DDL ( description definition language) olarak kaydedilirler. DDL veri<br />

yapılarının tanımlandığı, çeşitli verilerin saklanabildiği XML ta<strong>ba</strong>nlı bir dildir.<br />

Verilerin bu DDL yapılarında saklanması ile hem verilerin taşınabilirliği hem de<br />

MPEG-7 standartları sağlanmış olur. Her iki öznitelik de belirlenen söz<br />

dizilimindeki DDL [4] yapılarıyla, verita<strong>ba</strong>nında saklanırlar.<br />

2.7 SAHNE TESPİTİ VE BÖLÜMENDİRİLMESİ<br />

Sahneler, bir video dosyasında aynı dekor, aynı kamera operasyonu,<br />

sabit bir olay veya bir hareketin olduğu ardışık frame’ler bütünüdür. Sistem,<br />

Bölüm 2.6’da belirtilen vido ekleme işlemleri gerçekleştirildikten sonra sahne<br />

tespiti işlemine geçilir. Sahne tespiti temel olarak ardışık frame’lerin birbirleri ile<br />

olan farkları esas alınarak tespit edilmektedir. Her ikili frame’in çıkartılan<br />

öznitelikleri karşılaştırılır. Eğer bu fark threshold değerinden büyük ise yani<br />

değişim eşik değerinin üzerinde ise sistem bunu sahne değişimi olarak algılar.<br />

ekil 2.5<br />

11


1. Bu işlemin gerçekleştirilmesi için ilk olarak tüm video frame’lerine ayrıl ayrılır. ayrıl<br />

2. Threshold belirleme işlemi yapılır.<br />

Bu işlem için eklenen videonun frame’lerinin ardışık distance değerleri<br />

hesaplanır. Bu ayırma işleminde CLD özniteliği kullanılır. Tüm ardışık<br />

uzaklık değerleri ölçüldükten sonra bu değerler küçükten büyüğe doğru<br />

sıralanırlar. Sonraki adımda bu vektörün me median dian değeri bulunur. Sonuç<br />

eğer maksimum değeri aşmıyor ise threshold, median değerinin 2 katı<br />

olarak hesaplanır. Aşma durumlarında ise 2 olan bu oran 0.2 lik düşüşler<br />

uygulanarak maksimum değ değerden den küçük olacak şekilde ayarlanır.<br />

ekil 2.6<br />

3. Daha sonra ilgili videonun frame’leri tekrar uzaklık hesabına sokulur ve<br />

fark eğer bu hesaplanan eşik değerinden büyük ise ilgili değerleri de<br />

hesaplanarak( <strong>ba</strong>şlangıç, bitiş noktası, rFrame konumu vb. ) veri<br />

ta<strong>ba</strong>nındaki Shot tablosuna kaydedilir.<br />

rFrame; sahneyi tem temsil sil eden Shot içerisindeki bir frame’dir. Birçok farklı<br />

rFrame metodu bulunmaktadır. Projede rFrame olarak her sahne için bir<br />

rFrame seçilmiştir. rFrame sayısı seçildikten sonra bu rFrame’in seçilmesi<br />

işlemine geçilir. Projede; rFrame sahnenin süre olarak ortasında bulunan<br />

frame olarak belirlenmiştir.<br />

12


2.8 GÖRÜNTÜ TABANLI SAHNE ARAMA<br />

Görüntü ta<strong>ba</strong>nlı sahne arama işlemi için; kullanıcın arama sayfasından,<br />

sorgu alanına bir resim dosyası göstermesi ve arama kriterini seçmesi gerekir.<br />

Daha önce de değinildiği gibi üç adet yaklaşım bulunmaktadır.<br />

• k-Nearest yaklaşımı<br />

Kullanıcıdan girilen k-Nearest değeri alındıktan sonra sonuçlar,<br />

benzerlik oranlarına göre sıralanır. Kullanıcıya sonuçların sadece<br />

ilk( en çok benzeme oranına sahip olan ) k adeti listelenir.<br />

• Range yaklaşımı<br />

Range yaklaşımında ise kullanıcı dönecek sonuçların benzerlik<br />

oranlarının yüzde olarak aralığını girer. Girilen iki değerden ilki;<br />

dönecek sonuçların içindeki en az benzeme yüzdesine sahip olan,<br />

ikincisi ise en yüksek benzeme oranına sahip olacak sonucu<br />

belirtir. Yüzde hesabında ise; ilgili arama yapıldıktan ve tm<br />

sonuçlar hesaplandıktan sonra en az benzemeye sahip olan<br />

sonuç %0 benzeme oranı olacak şekilde tüm sonuçlar yüzde<br />

hesabına sokulur.<br />

<br />

[]. = 100.0 − (100.0 ∗ /max () )<br />

<br />

13<br />

(D2.7)<br />

Burada; Results dizisi elde edilen sonuçlar, sp değeri similarity<br />

percentage , d distance değerini ifade eder.<br />

• Point yaklaşımı<br />

Bu son yaklaşımda ise sonuçlardan en çok benzeyeni yani sistemin<br />

en bulduğu en iyi çözüm kullanıcıya listelenir.<br />

Sorgu resmi gösterildikten ve arama kriteri seçildikten sonra “search”<br />

tuşuna <strong>ba</strong>sılarak arama işlemi <strong>ba</strong>şlatılır. Sistem içerik ta<strong>ba</strong>nlı mimarisi ile<br />

yüklenen içeriğin resim dosyası olduğunu algılar ve bunun üzerine işlemi<br />

görüntü ta<strong>ba</strong>nlı arama yöntemlerine yönlendirir. Sistem bu sorgu resmini<br />

aldıktan sonra ilk olarak resimden, SCD ve CLD özniteliklerini çıkartır. Daha<br />

sonraki aşamada bu iki öznitelik, tespit edilip bölümlendirilmiş sahneler<br />

içerisinde aranmaya <strong>ba</strong>şlanır. Bu arama sahnelerin rFrame’leri üzerinden<br />

yapılır. rFrame kısaca sahnenin orta kısmındaki frame’in çıkartılmış<br />

öznitelikleridir. Sahneler üzerinden arama gerçekleştikten sonra sonuçlar ağırlık


kazandırılmış ( Bölüm 2.5 ) benzerliklerine göre sıralanırlar. Bu işlemi tüm<br />

sonuçlar üzerinden benzerlik yüzdelerinin hesaplanması adımı takip eder.(D2.7)<br />

Bundan sonraki en son adım kullanıcın girdiği aram kriterine göre ilgili<br />

sonuçların ayıklanması ve kullanıcıya listelenmesi şeklindedir.<br />

Sistem mimarisi olarak, video gösterim de kullanılan Windows Media<br />

Player’in girdi özelliklerinden dolayı, frame sayısı yerine saniye üzerine işlem<br />

yapılmaktadır. Her ne kadar verita<strong>ba</strong>nında(Ek-1) bilgiler frame numaralarına<br />

göre tutulsa da; bu değerler gösterim amacı ile saniye bilgisine<br />

dönüştürülmüştür. Bu zorunluluk, sonuçların doğruluğunu etkilemiştir. Çünkü<br />

frame sayısı üzerinden döndürülecek sonuçlar daha net sonuçlar içermektedir.<br />

Ancak sistem, gerekli algoritmalar ile saniye-frame sayısı dönüşümü ve<br />

gereklilik duyulan diğer dönüşüm işlemlerini yapmakta ve en uygun sonuçları<br />

kullanıcıya ulaştırabilmektedir. Bu işlemler ardından kullanıcı sonuçlar sayfasına<br />

yönlendirilir. Bu sayfada en üstte sorgu resmi görüntülenirken, altında sırayla en<br />

çok benzerden en az benzere doğru sıralanmış sonuçlar listelenir. İlk dönem<br />

için, karşılaştığımız performans sorunları nedeniyle videoların ilgili sahnelerinin<br />

ön izleme resimleri gösterilememektedir.<br />

2.9 ÖN TANIMLI ÖRNEKLERLE ARAMA YAPILMASI<br />

Ön tanımlı örneklerle arama yapılırken, kullanıcının ara yüzden seçtiği, önceden<br />

verita<strong>ba</strong>nına eklenmiş olan “sample”lar ve mantıksal işlem göz önünde<br />

bulundurulur. Her mantıksal işlem için farklı bir yol izlenir; fakat mantıksal<br />

işlemlere gelene kadar, sistem <strong>ba</strong>zı işlemleri ortak bir şekilde gerçekleştirir.<br />

Verita<strong>ba</strong>nında “sample”ların öznitelikleri “XML” olarak tutulduğu için arama<br />

işlemi sırasında tekrar öznitelik çıkarımı için zaman harcanılmaz. Bu da<br />

kullanıcının sonuçlar için daha az beklemesini sağlar, performansı arttırır.<br />

Arama işlemi <strong>ba</strong>şladığında, görüntü ve ses için <strong>ba</strong>ğımsız adımlar yapılır ve<br />

daha sonra mantıksal işlem aracılığı ile elde edilen sonuçlar birleştirilerek<br />

kullanıcıya en uygun sonuçlar döndürülür.<br />

2.9.1 GÖRÜNTÜ İLEMLERİ<br />

Görüntü kısmında ilk olarak, kullanıcının seçtiği, verita<strong>ba</strong>nında kayıtlı olan ön<br />

tanımlı örnek türündeki “sample”ların öznitelikleri (“CLD” ve “SCD” ) okunur.<br />

Daha sonra bu öznitelikler, yine verita<strong>ba</strong>nında kayıtlı olan “shot”ların<br />

“rFrame”lerinin öznitelikleriyle karşılaştırılır ve buna göre benzerlik oranı elde<br />

edilir. Sonuçlar benzerlik oranına göre en çok benzeyenen en az benzeyene<br />

göre sıralanır ve bir listede; “video ismi”, “shot <strong>ba</strong>şlangıç zamanı”, “shot bitiş<br />

zamanı”, “benzerlik oranı” şeklinde tutulur. Bu liste daha sonra mantıksal işlem<br />

kullanılarak yapılan birleştirme işleminde kullanılacaktır.<br />

14


2.9.2 SES İLEMLERİ<br />

Ses kısmında da görüntü kısmında olduğu gibi önce, kullanıcının seçtiği,<br />

verita<strong>ba</strong>nında kayıtlı olan ön tanımlı örnek türündeki “sample”ların öznitelikleri<br />

(“ASF” ve “ASE” ) okunur. Okunan bu öznitelikler, verita<strong>ba</strong>nında kayıtlı olan<br />

videoların seslerinin öznitelikleri ile karşılaştırılırlar ve benzerliklerine göre<br />

sıralanırlar. Sıralanmış benzerlikler bir listede; “video ismi”, “sesin videodaki<br />

<strong>ba</strong>şlangıç zamanı”, “sesin videodaki bitiş zamanı”, “benzerlik oranı” şeklinde<br />

tutulur. Listenin yapısı, görüntü işlemlerinin sonucunda elde edilen listenin<br />

yapısıyla aynı yapıda tutulmuştur. Bunun nedeni daha sonra birleştirme işlemi<br />

yapılırken kolaylık sağlamasıdır.<br />

2.9.3 BİRLETİRME İLEMLERİ<br />

Birleştirme işlemleri, görüntü ve ses işlemleri sonucunda elde edilen listelerdeki<br />

<strong>ba</strong>şlangıç-bitiş zamanları ve benzerlik oranlarından yararlanılarak<br />

gerçekleştirilir. Sistemde, “before”, “during”,” overlap” mantıksal işlemleri ve<br />

bunların tersi işlemleri gerçekleştirilebilir.<br />

a) Before Mantıksal İşlemi<br />

“Before mantıksal işlemi”, bir öğenin diğerinden önce <strong>ba</strong>şlayıp bitmesi ve<br />

diğer öğenin ilk öğe bittikten sonra <strong>ba</strong>şlamasını ifade eder. “After<br />

mantıksal işlemi” ise bu işlemin tam tersini ifade etmektedir. “Audio<br />

Before Visual” ifadesi, videoda, ön tanımlı örneklerden seçilen sesin, ön<br />

tanımlı örneklerden seçilen görüntüden önce <strong>ba</strong>şlayıp bitmesi ve<br />

görüntünün, ses örneği bitmeden <strong>ba</strong>şlamamasını öngörür. “Visual Before<br />

Audio” ise bu işlemin tersini ifade eder. “1. Öğe Before 2.Öğe” olduğu<br />

düşünülürse; sistem bu işi gerçekleştirirken “1. Öğe”nin videodaki bitiş<br />

zamanı ile “2. Öğe”nin videodaki <strong>ba</strong>şlangıç zamanlarını karşılaştırır. Bu<br />

karşılaştırma işlemi, önceki adımlarda( Görüntü İşlemleri ve Ses<br />

İşlemleri) elde edilen listelerdeki değerler kullanılarak yapılır. Eğer “1.<br />

Öğe”nin bitiş zamanı, “2. Öğe”nin <strong>ba</strong>şlangıç zamanından küçük ise bu<br />

sistem için doğru bir sonuçtur ve sonuç listesine kullanıcıya gösterilmek<br />

üzere eklenir. Sonuç listesinde ayrıca, öğeler arasındaki zaman farkı da<br />

“2. Öğe”nin <strong>ba</strong>şlangıç zamanı ve “1. Öğe”nin bitiş zamanı arasındaki fark<br />

hesaplanarak kaydedilir.<br />

1. Öğ ş < 2. Öğ ş (D2.9)<br />

15


) During Mantıksal İşlemi<br />

“During mantıksal işlemi”, bir öğenin, diğer öğenin var olma süresi içinde<br />

<strong>ba</strong>şlayıp bitmesini ifade eder. “Audio During Visual” ifadesi, videoda, ön<br />

tanımlı örneklerden seçilen sesin, ön tanımlı örneklerden seçilen<br />

görüntünün yer aldığı “shot” esnasında bulunmasını öngörür. ”Visual<br />

During Audio” ise bu işlemin tersini ifade eder. “1. Öğe During 2. Öğe”<br />

olduğu düşünülürse; sistem bu işi gerçekleştirirken “1. Öğe”nin <strong>ba</strong>şlangıç<br />

zamanı ile “2. Öğe”nin <strong>ba</strong>şlangıç zamanını ve “1. Öğe”nin bitiş zamanı ile<br />

“2. Öğe”nin bitiş zamanını karşılaştırır. Eğer “1. Öğe”nin <strong>ba</strong>şlangıç<br />

zamanı “2. Öğe”nin <strong>ba</strong>şlangıç zamanından büyük ve “1. Öğe”nin bitiş<br />

zamanı “2. Öğe”nin bitiş zamanından küçük ise bu sistem için doğru bir<br />

sonuçtur ve sonuç listesine kulanıcıya gösterilmek üzere eklenir.Sonuç<br />

listesinde zaman farkı olarak öğelerin <strong>ba</strong>şlangıç zamanları arasındaki<br />

fark tutulur.<br />

1. Öğ ş > 2. Öğ ş ∧ 1. Öğ ş < 2. Öğ ş (D2.10)<br />

c) Overlaps Mantıksal İşlemi<br />

“Overlaps mantıksal işlemi”, iki öğenin çalışma sürelerinin çakışmasını<br />

ifade eder. “Audio Overlaps Visual” ifadesi, videoda, ön tanımlı<br />

örneklerden seçilen sesin, önce <strong>ba</strong>şlamasını, ön tanımlı örneklerden<br />

seçilen görüntünün bulunduğu ”shot” <strong>ba</strong>şladıktan sonra bitmesini ifade<br />

eder. “Visual Overlaps Audio” ise bu işlemin tersini ifade eder. “1. Öğe<br />

Overlaps 2. Öğe” olduğu düşünülürse; sistem bu işi gerçekleştirirken “1.<br />

Öğe”nin bitiş zamanı ile “2. Öğe”nin <strong>ba</strong>şlangıç zamanını ve “1. Öğe”nin<br />

bitiş zamanı ile “2. Öğe”nin bitiş zamanını karşılaştırır. Eğer “1. Öğe”nin<br />

bitiş zamanı “2. Öğe”nin <strong>ba</strong>şlangıç zamanından büyük ve “1. Öğe”nin<br />

bitiş zamanı “2. Öğe”nin bitiş zamanından küçük ise bu sistem için doğru<br />

bir sonuçtur ve sonuç listesine kulanıcıya gösterilmek üzere eklenir.<br />

Sonuç listesindeki zaman farkı “0” olarak ifade edilir.<br />

1. Öğ ş > 2. Öğ ş ∧ 1. Öğ ş < 2. Öğ ş (D2.11)<br />

2.9.4 SONUÇLARIN HAZIRLANMASI<br />

Ses ve görüntü kısımlarında ayrı ayrı olarak bulunan sonuçlar mantıksal<br />

işlemler ile birleştirildikten sonra bir listede tutulur. Bu listede gösterilmesi<br />

gereken videonun ismi, <strong>ba</strong>şlangıç süresi ( saniye cinsinden ), bitiş süresi (<br />

saniye cinsinden), benzerlik oranı ( ses benzeme oranı ve görüntü benzeme<br />

oranı ortalaması olarak hesaplanmıştır ) ve ses ile görüntü arasındaki uzaklık<br />

tutulmaktadır. Buna göre liste benzeme oranlarına göre, en çok benzeyenden<br />

16


en az benzeyene doğru sıralanır ve kullanıcıya ses ile görüntü arasındaki<br />

zaman farkı bilgisi ile birlikte sunulur.<br />

2.10 YÖNETİCİ İLEMLERİ<br />

İLEMLERİ<br />

Sistemde yetkili kullanıcıların <strong>ba</strong>şka bir deyişle sadece yöneticilerin<br />

erişebildikleri bir sayfa bulunmaktadır. Yöneticiler bu ara yüz sayesinde<br />

öntanımlı örneklerin düzenlenmesini gerçekleştirirle<br />

gerçekleştirirler. r. Bu sayfada iki temel<br />

bölüm vardır. Bunlar ses ve görüntü bölümleridir. Yöneticiler kullanıcı adları ve<br />

şifreleri ile güvenli olarak sisteme giriş yaptıktan sonra, bu sayfa yardımı ile<br />

kullanıcıların ön tanımlı arama yaptıkları sonuçların oluşturulmasın<br />

oluşturulmasını oluşturulmasın sağlayan<br />

örnekleri sisteme girerler.<br />

ekil 2.7<br />

17


ekildeki görüntüde Örnek resimlerin ve ses dosyalarının girildiği alan<br />

gösterilmektedir. Yönetici “Gözat” alanı ile uygun örneği sisteme girer. Ardından<br />

o anda veri ta<strong>ba</strong>nında bulunan türlere ekleme yapacak ise “Select type” alanını<br />

kullanarak türü seçer ancak yeni bir tür ekleyecek ise “New Feature Type”<br />

alnına yeni tür adını girer ve “add new feature” tuşunu kullanarak işlemi<br />

sonlandırır. Sistem girdi dosyasını aldıktan sonra ilgili özniteliklerin çıkartımını<br />

gerçekleştirir. En son olarak bu öznitelikler uygun ek bilgiler ile veri ta<strong>ba</strong>nına<br />

XML yapıları ile kaydedilirler.<br />

18


3.SONUÇ VE ÖNERİLER<br />

İki dönemlik projemizde; ilk dönem iti<strong>ba</strong>riyle çalışan bir sistemin iskeleti<br />

oluşturulmuştu. İkinci dönemle beraber bu sistemin geliştirilmesi, verimliliğinin<br />

arttırılması ve kullanım kolaylığının arttırılmasına yönelik çalışmalar yapılmıştır.<br />

Ayrıca ilk dönemde karşılaşılan <strong>ba</strong>zı güçlükler ortadan kaldırılmıştır. Bu<br />

çalışmalar sonucunda, web uygulaması olarak çalışan, iki farklı kullanıcı çeşidi<br />

olan ( admin ve casual user) video ekleme, sample ekleme, ön tanımlı<br />

örneklerle mantıksal işlemlere göre arama yapma, upload edilen veriye göre<br />

arama yapma gibi özellikleri olan ve arama sonuçlarını kullanıcıya <strong>ba</strong>şarılı<br />

olarak sunan yapılan test çalışmaları ile doğru sonuçlar döndürdüğü tespit<br />

edilen; geliştirilmeye müsait, kararlı ve <strong>ba</strong>şarılı çalışan bir sistem oluşturuldu.<br />

3.1 İLK DÖNEM ÇALIMALARI<br />

• Ses ve görüntü kısımlarında ayrı ayrı arama yapılması<br />

• Ses kısmında ASF; görüntü kısmında SCD, CLD özniteliklerinin<br />

kullanılması<br />

• Sisteme video eklenmesi<br />

• Ses ve görüntü kısımlarında frame yapısı üstünden arama yapılması<br />

• Çalışan bir sistem iskeleti oluşturulması<br />

• Kullanıcıların aramak istedikleri ses/görüntüyü yükleyebildiği sayfanın<br />

oluşturulması<br />

• Yüklenen ses/resme göre arama yapılması<br />

• Sonuçlardan en yakın 20 tanesinin kullanıcıya gösterilmesi<br />

3.2 İKİNCİ DÖNEM ÇALIMALARI<br />

• Ses ve görüntü ta<strong>ba</strong>nlı aramanın birleştirilmesi<br />

• Ses kısmında yeni bir öznitelik olarak ASE özniteliğinin çıkarılması<br />

• Görüntü kısmında sahne tespiti ve threshold hesaplanması<br />

• Görüntü kısmında yapılan aramada frame yerine shot’ların<br />

kullanılması<br />

• İlk dönem sonunda yavaş çalışan sistemin performansının arttırılması<br />

• Web sitesinin geliştirilmesi<br />

• Yeni sample’ların eklenebildiği bir admin sayfasının oluşturulması<br />

• Ön tanımlı örnekler ve “before”, “after”, “during”, “overlaps” mantıksal<br />

işlemleri kullanılarak yapılacak arama için bir sayfa oluşturulması<br />

• Sonuç gösteriminde ilk dönem gerçekleştirilemeyen “k-nearest”,<br />

“range” ve “point” yaklaşımlarının gerçekleştirilmesi<br />

19


4. KAYNAKLAR<br />

[1] ISO/IEC FDIS 15938-4:2001(E), “Information Technology-Multimedia<br />

Content Description Interface-Part 4: Audio”.----- M.Sert, B.Baykal and<br />

A.Yazici, “A Robust and Time-Efficient Fingerprinting Model for Musical<br />

Audio”, IEEE Tenth International Symposium, 2006.---- Jianping Chen,<br />

Tiejun Huang,” A Robust Feature Extraction Algorithm for Audio<br />

Fingerprinting”<br />

[2] Mathias Lux and S. A. Chatzichristofis, "LIRe: Lucene Image Retrieval -<br />

An Extensible Java CBIR Library", «ACM International Conference on<br />

Multimedia 2008», ACM MM’08, Vancouver, British Columbia, October<br />

27 – 31, 2008, Open Source Application Competition, pp.1085-1087.<br />

[3] S. Α. Chatzichristofis, Y. S. Boutalis and Mathias Lux,<br />

“IMG(RUMMAGER): AN INTERACTIVE CONTENT BASED IMAGE<br />

RETRIEVAL SYSTEM.”, «2nd International Workshop on Similarity<br />

Search and Applications (SISAP)», Proceedings: IEEE Computer<br />

Society, pp.151-153, August 29-30 2009, Prague, Czech Republic.<br />

[4] Text of ISO/IEC Study of CD 15938-3/FCD Information Technology –<br />

MPEG-7 Multimedia Content Description Interface – Part 3 Visual<br />

[5] INTERNATIONAL STANDARD ISO/IEC 15938-3:2002<br />

TECHNICAL CORRIGENDUM 1<br />

Published 2004-03-15<br />

[6] E. Kasutani and A. Yamada, “The MPEG-7 Color Layout Descriptor: a<br />

Compact Image feature Description for High-Speed Image/Video<br />

Segment Retrieval”, IEEE Proc. of International Conference on Image<br />

Processing (ICIP 2001), vol. I, pp. 674-677, October 2001.<br />

20


5. EKLER<br />

5.1 EK-1<br />

Verita<strong>ba</strong>nı şeması<br />

21


5.2 EK-2<br />

USE-CASE<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!