• Sonuç bulunamadı

İnsansız hava araçları için hareketli hedef takip sistemi

N/A
N/A
Protected

Academic year: 2021

Share "İnsansız hava araçları için hareketli hedef takip sistemi"

Copied!
55
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

T.C.

NİĞDE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ ANABİLİM DALI

İNSANSIZ HAVA ARAÇLARI İÇİN HAREKETLİ HEDEF TAKİP SİSTEMİ

ÖMER FARUK BUDAK

Temmuz 2016 YÜ KS EK L İS A N S T EZ İ Ö.F . B U DAK, 2 016 N İĞDE Ü N İV ERS İT ES İ F EN B İLİML ERİ E N ST İT Ü SÜ

(2)
(3)

T.C.

NİĞDE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ ANABİLİM DALI

İNSANSIZ HAVA ARAÇLARI İÇİN HAREKETLİ HEDEF TAKİP SİSTEMİ

ÖMER FARUK BUDAK

Yüksek Lisans Tezi

Danışman

Yrd. Doç. Dr. Mehmet Kürşat YALÇIN

(4)

TEZ BİLDİRİMİ

Tez içindeki bütün bilgilerin bilimsel ve akademik kurallar çerçevesinde elde edilerek sunulduğunu, ayrıca tez yazım kurallarına uygun olarak hazırlanan bu çalışmada bana ait olmayan her türlü ifade ve bilginin kaynağına eksiksiz atıf yapıldığını bildiririm.

(5)

iii

Ömer Faruk BUDAK tarafından Yrd. Doç. Dr. Mehmet Kürşat YALÇIN danışmanlığında hazırlanan “İnsansız Hava Araçları İçin Hareketli Hedef Takip Sistemi” adlı bu çalışma jürimiz tarafından Niğde Üniversitesi Fen Bilimleri Enstitüsü Elektrik-Elektronik Mühendisliği Ana Bilim Dalı’nda Yüksek Lisans tezi olarak kabul edilmiştir.

Başkan :Yrd. Doç. Dr. Mustafa SOYLAK (Erciyes Üniversitesi)

Üye :Yrd. Doç. Dr. İlyas KACAR (Niğde Üniversitesi)

Üye :Yrd. Doç. Dr. Mehmet Kürşat YALÇIN (Niğde Üniversitesi)

ONAY:

Bu tez, Fen Bilimleri Enstitüsü Yönetim Kurulunca belirlenmiş olan yukarıdaki jüri üyeleri tarafından …./…./20.... tarihinde uygun görülmüş ve Enstitü Yönetim Kurulu’nun …./…./20.... tarih ve …... sayılı kararıyla kabul edilmiştir.

.../.../20...

MÜDÜR

(6)

iii a

ÖZET

İNSANSIZ HAVA ARAÇLARI İÇİN HAREKETLİ HEDEF TAKİP SİSTEMİ

BUDAK, Ömer Faruk Niğde Üniversitesi Fen Bilimleri Enstitüsü

Elektrik-Elektronik Mühendisliği Ana Bilim Dalı

Danışman :Yrd. Doç. Dr. Mehmet Kürşat YALÇIN

Temmuz 2016, 53 sayfa

Gelişen teknoloji ile birlikte insansız hava araçları(İHA) hem sivil hem askeri anlamda birçok alanda kullanım kazanmıştır. İHA’ ların helikopter uçak gibi birçok tipinin geliştirilmesi ile birlikte güvenlik, gözlem, takip amaçlı kullanımlar da artmıştır. Bu kullanım alanlarından biri olan takip; hem güvenlik amaçlı takip, hem de reklam vb. amaçlarla takip olarak gerçekleştirilebilmektedir. Bu çalışmada insansız hava aracı ile yerde bulunan hareketli bir hedefin takibi gerçekleştirilmiştir. Bu takip işlemi sırasında hedefin tespiti için optik akış yöntemi kullanılmış, optik akışla tespit edilen hedefin renk bilgileri çıkartılarak CAMSHIFT algoritması ile takibi gerçekleştirilmiştir. Geliştirilen sistem hem laboratuvar ortamına hazırlanan test düzeneği ile hem de açık kaynak veri setleri denenmiş ve başarımı gözlemlenmiştir.

(7)

iv SUMMARY

MOVING TARGET TRACKING FOR UNMANNED AERIAL VEHICLES

BUDAK, Ömer Faruk Niğde University

Graduate School of Natural and Applied Science Department of Electrical-Electronics Engineering

Supervisor :Assistant Professor Dr. Mehmet Kürşat YALÇIN

July 2016, 53 pages

Unmanned aerial vehicles(UAV) gainded a wide usage area both military and civilian purposes with the advenced technology. UAVs’ usage in security, surveillance and tracking areas increased with the development of UAV types like helicopters and aeroplanes. The tracking which is one of those usage areas is used both tracking for security and tracking for advertising like purposes. In this work, a moving ground target tracking has been accomplished. In the process of tracking, optical flow algorithm is used for the detection of moving target and CAMSIFT algorithm is used for the tracking of the target after color information extracted. The developped system has been tried with the in testing environment developped in the laboratuary and open source data sets and observed the succes rate.

Anahtar Sözcükler: Unmanned aerial vehicles, UAV, target tracking, target detection, CAMSHIFT, optical

(8)

v

J

ÖN SÖZ

Bu yüksek lisana çalışmasında, bir insansız hava aracı tarafından taşınan kamera ile yerde bulunan hareketli bir hedefin takibi, gerçek zamanlı olarak gerçekleştirilmiştir.

Yüksek lisans tez çalışmamın yürütülmesi esnasında, çalışmalarıma yön veren, bilgi ve yardımlarını esirgemeyen ve bana her türlü desteği sağlayan değerli danışmanım, Sayın Yrd. Doç. Dr. Mehmet Kürşat YALÇIN’ a en içten teşekkürlerimi sunarım. Tez çalışmam sırasında sık sık tecrübelerine başvurduğum değerli meslektaşlarım Murat PEKER’ e katkılarından dolayı minnet ve şükran duygularımı belirtmek isterim.

(9)

vi İÇİNDEKİLER ÖZET ... iii SUMMARY ... iv ÖN SÖZ ... v İÇİNDEKİLER ... vi BÖLÜM I GİRİŞ ... 1 1.1 Amaç ve Kapsam ... 1 BÖLÜM II YÖNTEM ... 4

2.1. Hareketli Hedef Takibi Problemi ... 4

2.2 Optik Akış ... 5

2.2.1 Resim piramidi gösterimi ... 8

2.2.2 İteratif Lucas-Kanade ... 11

2.2.3 Harris köşe bulma algoritması ... 13

2.3 Hareketli Nesnenin Ayrıştırılması ... 19

2.4 Camshift Algoritması ... 20

2.4.1 HSV renk uzayı ... 20

2.4.2 Renk olasılık dağılımı ... 23

2.4.3 Camshift algoritmasının uygulanması... 28

BÖLÜM III TEST ORTAMI VE ELDE EDİLEN VERİLER ... 33

3.1 Test Düzeneği ... 33

3.2 Video Üzerinde Testler ... 35

3.3 Gerçek Zamanlı Testler ... 37

BÖLÜM IV SONUÇLAR ... 38

KAYNAKLAR ... 39

(10)

vii

ÇİZELGELER DİZİNİ

Çizelge 2.1. Bazı renkler ve RGB, HSV karşılıkları ... 22 Çizelge 2.2. Birinci veri seti için sonuçlar ... 35 Çizelge 2.3. İkinci veri seti için sonuçlar ... 36

(11)

viii

ŞEKİLLER DİZİNİ

Şekil 2.1. Takip sistemi blok diyagramı ... 2

Şekil 2.2. Örnek bir optik akış düzlemi. ... 5

Şekil 2.3. Kamera sabit, nesnenin hareketli olduğu durum. ... 6

Şekil 2.4. Nesnenin hareketsiz, kameranın hareketli olduğu durum ... 7

Şekil 2.5. Kameranın ve nesnenin hareket ettiği durum. ... 7

Şekil 2.6. Piramit katmanları. ... 9

Şekil 2.7. Tipik bir köşe ... 13

Şekil 2.8. Düz alanda pencere hareketi ... 14

Şekil 2.9. Kenar üzerinde pencere hareketi ... 14

Şekil 2.10. Köşe üzerinde pencere hareketi ... 15

Şekil 2.11. Öz değer kıyas grafiği ... 17

Şekil 2.12. Veri seti üzerindeki köşeler. ... 18

Şekil 2.13. Veri setinden başka bir kare ... 18

Şekil 2.14. HSV renk uzayı ... 21

Şekil 2.15. Ton, doygunluk ve parlaklık gösterimi... 21

Şekil 2.16. Rengin RGB ve HSV karşılıkları ... 24

Şekil 2.17. Histogramı alınacak resim ... 25

Şekil 2.18. Ton değerleri ... 25

Şekil 2.19. Histogram geri yansıtma ... 26

Şekil 2.20. Renk olasılık dağılımı için resim I. ... 27

Şekil 2.21. Renk olasılık dağılımı I. ... 27

Şekil 2.22. Renk olasılık dağılımı için resim II. ... 28

Şekil 2.23. Renk olasılık dağılımı II. ... 28

Şekil 2.24. MeanShift arama penceresi ve başlangıç konumu ... 29

Şekil 2.25. Pencere ağırlık merkezi kaydırma I ... 29

Şekil 2.26. Pencere ağırlık merkezi kaydırma II ... 30

Şekil 2.27. Algoritmanın sonlanması ... 30

Şekil 2.28. Robot kol ve maketin karşıdan görünümü ... 33

Şekil 2.29. Robot kol ve maketin yandan görünümü ... 34

(12)

ix KISALTMALAR Kısaltmalar RGB HSV CAMSHIFT İHA GPU UAV Açıklama Red Green Blue Hue Saturation Value

Countinuosly Adaptive MeanShift İnsansız Hava Aracı

Graphic Processing Unit Unmanned Aerial Vehicle

(13)

1 BÖLÜM I

GİRİŞ

1.1 Amaç ve Kapsam

İnsansız hava araçları (İHA), pilot gerektiren bir hava aracına göre maliyet, boyut, iniş kalkış alanının küçük olması gibi nedenlerle ilk olarak askeri alanlarda popülerlik kazanmıştır. İnsansız hava araçlarının hareketini düzenleyen kontrolcü sistemlerin gelişmesi, özel olarak tasarlanmış motorların ucuz ve kolay temin edilebilir hale gelmesi ve nihayetinde son kullanıcıya hitap edecek bir ürün haline gelmesiyle bu araçlar sivil çalışmalar için de kullanılmaya başlanmıştır. İnsansız hava araçları sivil anlamda film sektöründe eskiden helikopter kullanılarak yapılan çekimlerin yerini almıştır. Aynı şekilde reklam sektöründe de havadan görüntü alınarak tanıtım olanakları geliştirilmiştir. Bir etkinlik olduğunda, o etkinliği katılımcıları rahatsız etmeden havadan görüntülemek mümkün hale gelmiştir. Harita çıkarma, parsel belirleme gibi işler, zirai denetim, güvenlik amaçlı denetleme, tarla vb. yerlerde ilaçlama, paket taşıma, uzak iki nokta arasında elektrik kablosu taşıma gibi işler de İHA’ lar yardımıyla kolayca yapılabilir hale gelmiştir. Bahsi geçen işlerde kullanılan İHA’ lar çok rotorlu multikopter sınıfı helikopter benzeri yapılarda olabilmekle birlikte, uçak yapısında sabit kanatlı olarak da üretilebilmektedir.

Bu tez çalışmasının konusu tüm bu kullanım alanları arasında hem askeri hem sivil amaçlara hizmet edebilen, hareketli bir hedefin havadan takibinin gerçekleştirilmesidir. Takip işlemi sırasında İHA’ nın kontrolü bu çalışma kapsamında ele alınmamış, takip işleminde kullanılan kameranın İHA üzerinde bulunan ve görüntü stabilizasyonu için kullanılan, gimbal adı verilen bir mekanizmaya bağlandığı varsayılmıştır. Gimbal mekanizması İHA ile kamera arasında oluşacak hareketi büyük oranda kompanze etmek ve kameranın, İHA’nın hareketinden olabildiğince az bir oranda etkilenmesini sağlamak için kullanılmıştır. İHA, gimbal, kamera ve takip algoritmasının çalıştırıldığı kontrol birimi arasındaki bağlantı Şekil 2.1’ de gösterilmiştir. Burada harici bir sinyal ile kontrol edilen İHA, üzerinde bulunan sensör ile kendi rotasyon değerlerini gimbale iletir. Gimbal

(14)

2

aldığı rotasyon değerlerini kullanarak kamera düzlemini uygun açılarda dönderir böylece bağıl rotasyon sıfıra yakın olur. Takip algoritması ise kameradan aldığı görüntüyü kullanarak takip edilecek nesneyi tespit eder, pozisyonunu belirler ve uygun rotasyon değerlerine ulaşmak adına gimbale referans olarak bu pozisyon bilgisini gönderir. Kamera, gimbal ve takip algoritması arasındaki bu döngü sürekli olarak devam eder. Bu tez çalışmasında temel olarak hedef takibi algoritmasının yapısı, uygulanması ve gimbal için referans değeri üretilmesi üzerinde durulmuştur.

Şekil 2.1. Takip sistemi blok diyagramı

Hedef takibinde son yıllarda açıklık, kolaylık ve işlem yükü açısından verimliği nedeniyle popüler olan, ilk olarak yoğunluk fonksiyonunun gradyentini hesaplamak için ortaya atılan Mean-Shift algoritması (Fukunaga ve Hostetler, 1975; Hati ve Vardhanan, 2014), bir izotropik çerçeve tarafından maskelenmiş ve bir benzerlik fonksiyonu ile bu fonksiyonu minimize edecek bölgeyi arama problemi haline getirilerek nesne takibinde kullanılmıştır (Comaniciu vd., 2000; Comaniciu vd., 2003).

Temelde Mean-Shift algoritması ölçüleri ve doğrultusu sabit bir çerçeve ile çalışmaktadır. Ancak bu durum hedefin ölçüleri değiştiğinde ( kameraya yaklaştığında veya uzaklaştığında) takibi zorlaştırmaktadır. Kullanılan çerçeve boyutunu adaptif hale getirerek CAMSHIFT algoritması geliştirilmiştir (Bradski, 1998a; Bradski, 1998b). CAMSHIFT algoritması görüntü içerisinde yazı tespitinde (Jung vd., 2002), bir mikrofon

(15)

3

dizisiyle birlikte konuşmacı tespitinde (Yoon ve Kee, 2004), insan-bilgisayar etkileşimi için el hareketi tespitinde (Zhai vd., 2005), yüz takibinde (Bradski, 1998a; 1998b; Liu vd., 2007; Liu ve Cai, 2006), bir veya birden fazla aracın takibinde (Liu vd., 2009), su altı hedef takibinde (Hu vd., 2009), çok rotorlu insansız hava aracı ile engelden kaçma probleminde engel tespiti için (Olivares-Mendez vd., 2012), göz takibi (Huang vd., 2013) gibi alanlarda CAMSHIFT algoritması kullanılmaktadır.

CAMSHIFT algoritması hızlı çalışması nedeniyle oldukça tercih gören bir algoritmadır, ancak uygulamada bu algoritmada takip edilen objeyi kaçırmak gibi bir problemle karşı karşıya kalınabilmektedir. Örnek olarak takip edilecek nesnenin yakınından o nesneye benzer renk dağılımında bir nesne geçtiğinde algoritma gerçek nesneyi karıştırıp diğerini takip edebilmesi veya takip edilen nesnenin önüne başka nesne geçmesi durumunda takibin sonlanması verilebilir (Emami ve Fathy, 2011; Zhai vd., 2005).

CAMSHIFT algoritmasının sahip olduğu problemleri çözmek adına, algoritma el takibi uygulaması için öğrenilmiş renk dağılımı ve KLT( Kanade-Lucas-Tomasi) algoritmasıyla birleştirilmiş (Kolsch ve Turk, 2004), yine el takibi uygulaması için takip penceresinin benzer nesnelere sıçraması önlemek amacıyla, iki video karesi arasındaki fark alınmış ve hareket bölgesi tespit edilerek CAMSHIFT algoritmasının doğruluğu arttırılmıştır (Zhai vd., 2005), çoklu pencere kullanarak hem takip edilecek nesneyi hem de o nesneye ait parçaları takip ederek takibi kaçırma ihtimali düşürülmüştür (Martinez vd., 2006), parçacık filtresiyle birleştirilerek kullanılmıştır (Wang vd., 2007)(Wang vd., 2007), HSV uzayında ton, doygunluk, değer değişkenlerinin üçü de kalman filtresi ile birlikte kullanılmıştır (Liu vd., 2007). Ardışık gelen üç kare arasındaki farka 1-2 ve 2-3 şeklinde bakıp, daha sonra bu farkları VE işlemine tabi tutarak hem CAMSHIFT algoritması için başlangıç penceresi çizimi gerçekleştirilmiş hem de bahsi geçen zayıflıklar iyileştirilmiştir (Guojun ve Yun, 2008). Arka plan modeli adaptif bir şekilde öğrenilerek CAMSHIFT’ in nesneyi kaybetme problemi iyileştirilmiştir (Stolkin vd., 2008). Nesne etrafına çizilen pencere ve onun çevresinin histogramlarının Gaussian ları ile Gaussuian Mixture Model (GMM) oluşturulup oluşturulan bu iki GMM ile CAMSHIFT algoritmasının arka plandan bağımsızlığı arttırılmıştır (Yao vd., 2009).

(16)

4 BÖLÜM II

YÖNTEM

2.1. Hareketli Hedef Takibi Problemi

Günümüzde insansız hava araçlarının (İHA) hem askeri hem de sivil amaçlarla kullanım yöntemleri oldukça çeşit kazanmıştır. Bu kullanım amaçlarından birisi de havadan görüntüleme ve istihbarat çalışmalarıdır. Havadan görüntüleme yaparken bazı durumlarda zeminde hareket eden bir hedefi takip etmek gerekmektedir. Hedef takibi için ise iki temel problem ortaya çıkmaktadır. Problemlerden ilki hareket eden hedefin tespiti, diğeri ise tespit edilen hedefin takibidir.

Hareket eden hedefin tespiti için iki temel durum söz konusudur; takip edilecek nesnenin hareketi ve kamera hareketi. Kamera sabit tutulduğunda hedefin takibi oldukça kolay gerçekleştirilebilmektedir. Bu durum için verilebilecek en basit örnek, ardışık iki karenin farkı alınarak bu kareler arasındaki değişen piksellerin tespiti ile hedefin belirlenmesidir. Kameranın hareketli olduğu durumda ise kamera hareketinin kestirilmesi gerekmektedir. Kamera hareketi kestiriminde uygulanabilecek bir yöntem; kamera üzerine ataletsel ölçüm birimi yerleştirmektir, ancak bu yöntem de ölçüm hataları nedeniyle görüntü kompanzasyonu yeterince doğru olmamaktadır. Diğer bir yöntem ise; optik akış adı verilen yöntemdir. Bu yöntemde ardışık iki kare için, ilk karede tespit edilen belirli noktaların ikinci karedeki yeri tespit edilir ve tespit edilen iki nokta arasında çizebilecek bir vektörün açısı ve büyüklüğü bulunur. Böylece hesaplanan tüm vektörlerin açı ve büyüklük değerine göre hareket eden hedef tespit edilir.

Tespit edilen hedefin takibi için ise yine aynı şekilde optik akış kullanılabilir ancak gerçek zamanlı bir uygulama için fazla yavaş kalmaktadır. Renk bilgisi kullanılarak takip işlemi oldukça popüler bir yöntem olmakla birlikte gerçek zamanlı uygulama yapabilmek için ise yeterince hızlıdır. Son zamanlarda bu yöntemlerden en popülerlerinden biri ise MEANSHIFT ve bunun geliştirilmiş hali olan CAMSHIFT algoritmasıdır. Bu algoritma

(17)

5

temelde HSV uzayında renklerin ton bilgisini kullanarak belirli bir tona sahip renkleri görüntü üzerinde takip etme şeklinde çalışmaktadır.

Bu tez çalışmasında hedefin tespiti için optik akış, takibi için ise CAMSHIFT algoritması kullanılmıştır. İlgili algoritmalar tezin ilerleyen kısımlarında ayrıntılı olarak açıklanacaktır.

2.2 Optik Akış

Optik akış genel olarak bir kayıtlı video veya kamera gibi ortamlardan elde edilen ardışık iki resim üzerinde belirlenmiş önceden belirlenmiş piksellerin veya duruma göre tüm piksellerin birinci resimdeki pozisyonlarını kullanarak ikinci resimdeki pozisyonlarını bulma işlemidir. İkinci resim üzerinde bulunan noktalar ile birinci resim üzerinde bulunan noktalar arası uzaklık ve bu noktaların birbirine yaptığı açı değerleri alındığında optik akış vektörlerinin büyüklük ve doğrultu değerleri elde edilmiş olur.

(18)

6

Şekil 2.3. Kamera sabit, nesnenin hareketli olduğu durum

Şekil 2.2’de örnek bir optik akış düzlemi görülmektedir. Bu düzlemde yeşil renkte olan ızgaralı alan zemini, mavi renkli kare takip edilmek istenen nesneyi temsil etmektedir. Mavi ok ile gösterilen yön nesnenin hareket edeceği doğrultuyu, kırmızı ok ise üstten bakan kameranın hareket yönünü göstermektedir. Kamera sabit kalarak nesne hareket ettiğinde Şekil 2.3’deki gibi nesnenin hareket doğrultusunda optik akış vektörleri oluşur. Bu hareket vektörlerinin gösterimi, vektör doğrultusunu hesaplarken birinci ve ikinci resimden referans alınan resme göre değişiklik göstermektedir. Nesnenin hareketsiz kaldığı ve kameranın hareket ettiği durum Şekil 2.4’de gösterilmiştir. Kamera Şekil 2.2’de gösterildiği gibi ok yönünde sola doğru hareket etmiştir ve kameranın gördüğü görüntü okun tersi yönünde sağa doğru hareket etmiş olarak görüntülenmiştir. Son olarak nesnenin ve kameranın hareket ettiği durum ise Şekil 2.5’de gösterilmiştir. Bu durumda kamera yine sola doğru hareket etmekte nesne ise yukarı doğru hareket etmektedir. Kameranın hareket etmesinden dolayı takip edilmek istenen mavi nesnenin hareketi çapraz bir şekilde iki vektörün bileşkesi olarak bulunacaktır.

(19)

7

Şekil 2.4. Nesnenin hareketsiz, kameranın hareketli olduğu durum

Şekil 2.5. Kameranın ve nesnenin hareket ettiği durum

Optik akış problemini tanımlarken kullanılacak ifadelerden 𝐼 birinci video karesini 𝐽 ikinci video karesini ifade etmektedir. Bu tez çalışmasında video karesi ifadesi kısaca resim olarak ifade edilecektir. 𝜒 = [𝑥, 𝑦]𝑇 piksel koordinatını vermek üzere 𝐼(𝜒) = 𝐼(𝑥, 𝑦) ve 𝐽(𝜒) = 𝐽(𝑥, 𝑦) gri tonlu piksel değerlerini vermektedir. Resmin sol üst köşesi [0 0]𝑇 noktası, 𝑛

𝑥 genişlik ve 𝑛𝑦 yükseklik değerleri, [𝑛𝑥− 1 𝑛𝑦− 1]𝑇 resmin sağ alt köşesi ve 𝑈 = [𝑢𝑥 𝑢𝑦]𝑇 resim üzerinde seçilen bir noktayı ifade etmektedir.

Optik akışta amaç 𝐼(𝑈) ve 𝐽(𝑈) değerlerini aynı yapacak bir 𝑉 = 𝑈 + 𝑑 = [𝑢𝑥+ 𝑑𝑥 𝑢𝑦+ 𝑑𝑦]𝑇 noktasını J resmi üzerinde bulmaktır. Böylece 𝑑 = [𝑑𝑥 𝑑𝑦]𝑇 resim

(20)

8

hız vektörü elde edilmiş olur. Hız vektörü olan 𝑑, 𝜖 rezidü fonksiyonunu minimize eden değer olarak bulunur.

𝜖(𝑑) = 𝜖(𝑑𝑥, 𝑑𝑦) = ∑ ∑ (𝐼(𝑥, 𝑦) − 𝐽(𝑥 + 𝑑𝑥, 𝑦 + 𝑑𝑦 )) 2 𝑢𝑦+𝑤𝑦 𝑢𝑦−𝑤𝑦 𝑢𝑥+𝑤𝑥 𝑢𝑥−𝑤𝑥 (2.1)

Burada (2𝑤𝑥+ 1)(2𝑤𝑦+ 1) integrasyon penceresi olarak isimlendirilir 𝑤𝑥 ve 𝑤𝑦 genel olarak 2,3,4,5,6,7 piksellik değerler alır.

Bütün takip algoritmalarının iki önemli unsuru vardır; hassasiyet ve gürbüzlük. Hassasiyet, bölgesel alt-piksel hassasiyeti ile ilgilidir ve bunu sağlamak için integrasyon penceresini olabildiğince küçük seçmek gerekir. Gürbüzlük ise ışık değişimine, resmin boyutuna, hareketin büyüklüğüne hassasiyetidir. Özel olarak ele almak gerekirse gürbüzlük optik akış probleminde hareketin büyüklüğüne olan hassasiyettir. Büyük hareketleri algılamak için integrasyon penceresi büyük seçilebilir. İntegrasyon penceresini büyük seçmek doğal olarak alt piksel hassasiyetini düşürecektir ve böylece gürbüzlük ve hassasiyet arasında doğal bir karşılıklı ödün verme problemi ortaya çıkacaktır. Bu durumu çözmek amacıyla klasik Lucas-Kanade algoritmasının piramit şeklinde uygulaması ortaya atılmıştır (Bouguet, 2000). Bu tez çalışmasında da ortaya atılan bu yöntem kullanılmış ve tezin ilerleyen kısımlarında piramit yöntemi ile birlikte iteratif Lucas-Kanade algoritması ayrıntılı olarak açıklanmıştır.

2.2.1 Resim piramidi gösterimi

Piramit metodunun uygulamasına geçmeden önce kullanılacak ifadeleri tanımlamak gerekir. 𝐼, 𝑛𝑥 𝑥 𝑛𝑦 boyutlarında genel bir resim olmak üzere, 𝐼0 sıfırıncı seviye olan orijinal resimdir ve maksimum çözünürlüğe sahiptir. Resmin genişliği 𝑛𝑥0 = 𝑛𝑥 ve yüksekliği 𝑛𝑦0 = 𝑛𝑦 olarak ifade edilir. Piramidin her seviyesi bir önce sevi ile hesaplanır yani 𝐼1, 𝐼0 kullanılarak, 𝐼2,𝐼1 kullanılarak hesaplanır. Piramidin seviyeleri L=1,2, … olarak tanımlanır ve 𝐼𝐿−1, 𝐿 − 1 seviyesindeki resmi, 𝑛

𝑥𝐿−1 ve 𝑛𝑦𝐿−1 L-1 seviyesindeki resmin boyutlarını ifade eder. 𝐼𝐿−1 denklem 2.2’deki gibi ifade edilir.

𝐼𝐿(𝑥, 𝑦) = 1 4𝐼 𝐿−1(2𝑥, 2𝑦) +1 8〖(𝐼〗 𝐿−1(2𝑥 − 1,2𝑦) + 𝐼𝐿−1(2𝑥 + 1,2𝑦) + 𝐼𝐿−1(2𝑥, 2𝑦 − 1) + 𝐼𝐿−1(2𝑥, 2𝑦 + 1)) + 1 16〖(𝐼〗 𝐿−1(2𝑥 − 1,2𝑦 − 1) + 𝐼𝐿−1(2𝑥 + 1,2𝑦 + 1) + 𝐼𝐿−1(2𝑥 − 1,2𝑦 + 1) + 𝐼𝐿−1(2𝑥 + 1,2𝑦 + 1)) (2.2)

(21)

9

Denklem 2.2’de 𝐼𝐿−1 çevresindeki bir piksellik değerleri resim içinde kalan değerlere eşitlersek örn: 𝐼𝐿−1(−1, 𝑦) = 𝐼𝐿−1(0, 𝑦), 𝐼𝐿−1(𝑛 𝑥 𝐿−1, 𝑛 𝑦 𝐿−1) = 𝐼𝐿−1(𝑛 𝑥 𝐿−1− 1, 𝑛 𝑦𝐿−1− 1) olacak şekilde sınır dışında kalacak piksel değerlerini sınırdakiler le değitirirsek denklem 2.2 yalnızca 0 ≤ 2𝑥 ≤ 𝑛𝑥𝐿−1− 1 ve 0 ≤ 2𝑦 ≤ 𝑛

𝑦𝐿−1− 1 olduğu durumlarda tanımlı olacaktır. Böylece 𝐼𝐿’nin genişlik ve yüksekliği, denklem 2.3 ve denklem 2.4’ü sağlayan en büyük tam sayı değerleri olacaktır.

𝑛𝑥𝐿 ≤ 𝑛𝑥𝐿−1+ 1 2 (2.3) 𝑛𝑦𝐿 ≤ 𝑛𝑦𝐿−1+ 1 2 (2.4)

Piramit gösterimini oluşturmak için denklem 2.2, denklem 2.3 ve denklem 2.4 özyinelemeli olarak kullanılır. Piramidin yüksekliği 𝐿𝑚 dir ve pratikte 2,3,4 değerlerini alır. Tipik bir resim için 4 değerinin ilerisine gitmek pek mantıklı değildir çünkü örneğin 640x480 piksel ölçülere sahip bir resim için 𝐼1, 𝐼2, 𝐼3 ve 𝐼4 sırasıyla 320x240, 160x120,80x60 ve 40x30 olur, dolayısıyla bu ebatlarda bir resim üzerinde çalışmak doğru sonuç vermeyecektir. Piramit gösteriminde seviyelerin nasıl değiştiği Şekil 2.6’de gösterilmiştir.

Şekil 2.6. Piramit katmanları

Piramit yaklaşımındaki temel felsefe büyük piksel hareketlerini tespit edebilmektir. Klasik Lucas-Kanade algoritmasında yalnızca küçük piksel hareketleri algılanabilmektedir. Piramit yöntemi ile yine integrasyon çerçevesi nispeten küçük seçilmekte fakat piramidin 1 ve daha büyük katlarına göre 1 piksellik bir hareket orijinal

(22)

10

resimdeki daha büyük hareketleri temsil edebilmektedir. Bu yüzden 𝐿𝑚 değeri beklenen maksimum optik akış değerine göre seçilmelidir.

Piramit yöntemiyle optik akış gerçekleştirirken, resim üzerindeki belirlenen bazı özniteliklerin takibi yapılmaktadır. Daha açık bir ifadeyle 𝐼 resminin bir öznitelik noktası 𝑢 için, bu noktanın 𝐽 resminde karşılığı olan 𝑣 = 𝑢 + 𝑑 noktasını bulma ve yer değiştirme vektörü olan 𝑑 değerini bulma işlemi gerçekleştirilmektedir.

𝐿 = 0,1, … , 𝐿𝑚 olmak üzere, 𝑢𝐿 = [𝑢 𝑥 𝐿 𝑢

𝑦

𝐿] noktası 𝑢 özniteliğinin ilgili piramit seviyesindeki gösterimidir ve denklem 2.5 deki gibi hesaplanır.

𝑢𝐿 = 𝑢 2𝐿

(2.5) Piramit yöntemiyle optik akış algoritması tam haliyle şu şekilde gerçekleştirilir: öncelikle en alt seviye olan 𝐿𝑚 için optik akış hesaplanır. Daha sonra hesaplama sonucu bir üst katman olan 𝐿𝑚− 1 katmanına başlangıç tahmini olarak aktarılır. Bu işlemler asıl resim olan sıfırıncı katmana kadar devam eder. Seviye 𝐿 için optik akış başlangıç tahmini 𝑔𝐿 = [𝑔𝑥𝐿 𝑔

𝑦𝐿], 𝐿𝑚’den (𝐿 + 1)’e kadar yapılan hesaplamalarla bulunduğunu varsaydığımızda 𝐿’deki optik akışı bulmak için denklem 2.6’daki 𝜖𝐿’nin minimize edilmesi gerekir.

𝜖𝐿(𝑑𝐿) = 𝜖𝐿(𝑑 𝑥𝐿, 𝑑𝑦𝐿) = ∑ ∑ (𝐼(𝑥, 𝑦) − 𝐽(𝑥 + 𝑔𝑥𝐿+ 𝑑𝑥𝐿, 𝑦 + 𝑔𝑦𝐿+ 𝑑𝑦𝐿 )) 2 𝑢𝑦𝐿+𝑤𝑦 𝑥=𝑢𝑦𝐿−𝑤𝑦 𝑢𝑥𝐿+𝑤𝑥 𝑥=𝑢𝑥𝐿−𝑤𝑥 (2.6)

İleriki kısımda 𝑑𝐿’nin ayrıntılı hesabı verileceğinden şimdilik denklemleri tamamlamak

amacıyla hesaplanmış olduğu varsayıldığında, bu hesabın sonucu bir sonraki seviye olan (𝐿 − 1)’e başlangıç tahmini 𝑔𝐿−1olarak aktarılır.

𝑔𝐿−1 = 2(𝑔𝐿+ 𝑑𝐿) (2.7)

Bir sonraki seviye optik akış rezidü vektörü 𝑑𝐿−1 de aynı yöntem ile hesaplanır. Bu hesaplamalar (𝐿 = 0)’a ulaşana kadar devam eder. Algoritma başlatılırken başlangıç tahmini sıfır olarak alınır. Her seviyedeki optik akış ile maksimum 𝑑𝑚𝑎𝑥değerine kadar ulaşılabildiği için, son durumda 𝑑max 𝑠𝑜𝑛 = (2𝐿𝑚+1− 1)𝑑

𝑚𝑎𝑥 değerine kadar optik akış hesaplanabilir. Bu durumda da integrasyon pencere nispeten küçük tutularak daha büyük hareketler algılanmış olur.

(23)

11 2.2.2 İteratif Lucas-Kanade

Optik akış hesabının çekirdeğini tanımlandığında, piramitteki her L seviyesi için amaç denklem 2.6’ daki eşleştirme fonksiyonunu (𝜖𝐿) minimize edecek 𝑑𝐿 vektörünü bulmaktır. Her seviye için aynı hesaplamalar yapıldığından 𝐿 üst indisi yerine 𝐴 ve 𝐵 olarak yeni resimler tanımlanır.

∀(𝑥, 𝑦) ∈ [𝑝𝑥− 𝑤𝑥− 1, 𝑝𝑥+ 𝑤𝑥+ 1] × [𝑝𝑦− 𝑤𝑦− 1, 𝑝𝑦+ 𝑤𝑦+ 1], 𝐴(𝑥, 𝑦) = 𝐼𝐿(𝑥, 𝑦) (2.8) ∀(𝑥, 𝑦) ∈ [𝑝𝑥− 𝑤𝑥, 𝑝𝑥+ 𝑤𝑥] × [𝑝𝑦− 𝑤𝑦, 𝑝𝑦+ 𝑤𝑦], B(x, y)= 𝐽𝐿(𝑥 + 𝑔𝑥𝐿, 𝑦 + 𝑔𝑦𝐿) (2.9)

Burada 𝐴(𝑥, 𝑦) üzerinde çalıştığı pencere boyutu (2𝑤𝑥+ 1) × (2𝑤𝑦+ 1) yerine (2𝑤𝑥+ 3) × (2𝑤𝑦+ 3) olur. Daha anlaşılır olması açısından yer değiştirme vektörü 𝑣̅ = [𝑣𝑥 𝑣𝑦]𝑇 = 𝑑

𝐿 olarak ve resim pozisyon vektörü 𝑝 = [𝑝𝑥 𝑝𝑦]𝑇 = 𝑢𝐿 olarak tanımlanır. Yeni notasyona göre amaç denklem (2.10)’u minimize edecek 𝑣̅ = [𝑣𝑥 𝑣𝑦]𝑇 vektörünü bulmak olur. 𝜀(𝑣̅) = 𝜀(𝑣𝑥, 𝑣𝑦) = ∑ ∑ (𝐴(𝑥, 𝑦) − 𝐵(𝑥 + 𝑣𝑥, 𝑦 + 𝑣𝑦)) 2 𝑝𝑦+ 𝑤𝑦 𝑦=𝑝𝑦− 𝑤𝑦 𝑝𝑥+ 𝑤𝑥 𝑥=𝑝𝑥− 𝑤𝑥 (2.10)

Optimum noktada 𝜀’ un 𝑣̅’ye göre türevi sıfır olur. Bu türevi açarak denklem (2.11) elde edilir. 𝜕𝜀(𝑣̅) 𝜕𝑣̅ = −2 ∑ ∑ (𝐴(𝑥, 𝑦) − 𝐵(𝑥 + 𝑣𝑥, 𝑦 + 𝑣𝑦)) . [ 𝜕𝐵 𝜕𝑥 𝜕𝐵 𝜕𝑦] 𝑝𝑦+ 𝑤𝑦 𝑦=𝑝𝑦− 𝑤𝑦 𝑝𝑥+ 𝑤𝑥 𝑥=𝑝𝑥− 𝑤𝑥 (2.11)

Denklem (2.11)’deki 𝐵(𝑥 + 𝑣𝑥, 𝑦 + 𝑣𝑦) ifadesinin 𝑣̅ = [0 0]𝑇 noktasında Taylor serisine açarsak yaklaşık olarak denklem (2.12) elde edilir.

𝜕𝜀(𝑣̅) 𝜕𝑣̅ ≈ −2 ∑ ∑ (𝐴(𝑥, 𝑦) − 𝐵(𝑥, 𝑦) − [ 𝜕𝐵 𝜕𝑥 𝜕𝐵 𝜕𝑦] 𝑣̅). [ 𝜕𝐵 𝜕𝑥 𝜕𝐵 𝜕𝑦] 𝑝𝑦+ 𝑤𝑦 𝑦=𝑝𝑦− 𝑤𝑦 𝑝𝑥+ 𝑤𝑥 𝑥=𝑝𝑥− 𝑤𝑥 (2.12)

(24)

12

Denklem (2.12) de 𝐴(𝑥, 𝑦) − 𝐵(𝑥, 𝑦) ifadesi [𝑥 𝑦]𝑇 noktasındaki geçici resim türevi olarak çevrilebilir ve 𝛿𝐼(𝑥, 𝑦) = 𝐴(𝑥, 𝑦) − 𝐵(𝑥, 𝑦) olarak gösterilir. [𝜕𝐵

𝜕𝑥 𝜕𝐵

𝜕𝑦] matrisi resim gradyen vektörü olarak alındığında ∇𝐼 = [𝐼𝐼𝑥

𝑦] = [ 𝜕𝐵 𝜕𝑥 𝜕𝐵 𝜕𝑦] 𝑇

olarak tanımlanır. Eğer merkezi fark operatörü kullanılırsa resmin iki türevi denklem 2.13 ve 2.14 gibi olur.

∀(𝑥, 𝑦) ∈ [𝑝𝑥− 𝑤𝑥, 𝑝𝑥+ 𝑤𝑥] × [𝑝𝑦− 𝑤𝑦, 𝑝𝑦+ 𝑤𝑦], 𝐼𝑥(𝑥, 𝑦) =𝜕𝐴(𝑥, 𝑦) 𝜕𝑥 = 𝐴(𝑥 + 1, 𝑦) − 𝐴(𝑥 − 1, 𝑦) 2 (2.13) 𝐼𝑦(𝑥, 𝑦) =𝜕𝐴(𝑥, 𝑦) 𝜕𝑦 = 𝐴(𝑥, 𝑦 + 1) − 𝐴(𝑥, 𝑦 − 1) 2 (2.14)

Yeni notasyonlara göre denklem 2.12’nin yeni hali denklem 2.15 ve 2.16 gibi olur.

1 2 𝜕𝜀(𝑣̅) 𝜕𝑣̅ ≈ ∑ ∑ (∇𝐼 𝑇𝑣̅ − 𝛿𝐼)∇𝐼𝑇 𝑝𝑦+ 𝑤𝑦 𝑦=𝑝𝑦− 𝑤𝑦 𝑝𝑥+ 𝑤𝑥 𝑥=𝑝𝑥− 𝑤𝑥 (2.15) 1 2 𝜕𝜀(𝑣̅) 𝜕𝑣̅ 𝑇 ≈ ∑ ∑ ([ 𝐼𝑥 2 𝐼 𝑥𝐼𝑦 𝐼𝑥𝐼𝑦 𝐼𝑦2 ] 𝑣̅ − [ 𝛿𝐼 𝐼𝑥 𝛿𝐼 𝐼𝑦]) 𝑝𝑦+ 𝑤𝑦 𝑦=𝑝𝑦− 𝑤𝑦 𝑝𝑥+ 𝑤𝑥 𝑥=𝑝𝑥− 𝑤𝑥 (2.16)

Denklem 2.16 daki uzaysal gradyen matrisi 𝐺 ve resim yanlış eşleşme vektörü 𝑏̅ denklem 2.17 de gösterilmiştir. 𝐺 = ∑ ∑ [ Ix 2 I xIy IxIy Iy2 ] py+ wy y=py− wy px+ wx x=px− wx , b̅ = ∑ ∑ [δI IδI Ix y] py+ wy y=py− wy px+ wx x=px− wx (2.17)

Buraya kadar olan kısım standart Kanade-Lucas algoritmasıdır. Ancak doğru sonuca ulaşmak için bu algoritma iteratif bir şekilde icra edilecektir.

İterasyon için gerekli notasyonlardan k iterasyon indeksi olmak üzere 1 den başlamaktadır. Her iterasyon başlangıç tahmini için bir önceki itereasyonda elde edilen sonuçları kullanmaktadır yani 𝑣̅𝑘 için 𝑣̅𝑘−1 = [𝑣

𝑥𝑘−1 𝑣𝑦𝑘−1] kullanılmaktadır. Hata fonksiyonu da yeniden düzenlenerek 𝜀(𝑣̅) yerine 𝜀(𝜂𝑥𝑘, 𝜂𝑦𝑘) yazılır ve denklemler iteratif

(25)

13

bir şekilde icra edilir. Ortalama olarak 5 iterasyonda sonuca ulaşılır ve K iterasyon sayısı olmak üzere sonuç vektörü, 𝑣̅ = 𝑑𝐿 = 𝑣̅𝐾 = ∑𝐾 𝜂̅

𝑘=1 𝑘

olarak bulunur.

Bu işlemler sırasında belirtilen resim noktası olarak adlandırılan ve 𝑝,𝑢 gibi harflerle gösterilen öznitelik noktaları için Harris köşe bulma algoritması kullanılmıştır(Harris and Stephens, 1988).

2.2.3 Harris köşe bulma algoritması

Köşe, temel olarak iki kenarın kesişmesi sonucu meydana gelen şekil olarak tanımlanabilir. Köşe olarak tanımlanan noktayı bulmak için küçük bir pencere seçilerek, bu pencerenin içinde kalan şekilden yararlanılabilir. Şekil 2.7’de tipik bir köşenin pencere içine alınmış hali görülmektedir.

Şekil 2.7. Tipik bir köşe

Köşe olarak nitelendirilecek noktayı bulmak için pencere her doğrultuda sınırlı bir uzaklık boyunca hareket ettirilir ve büyük bir yoğunluk değişimi aranır. Burada yoğunluk olarak ifade edilen kavram resmin gri tonlamada sahip olduğu piksel değerleridir. Eğer pencere Şekil 2.8’deki gibi düz bir alana denk gelmişse pencerenin her yönde olan hareketi yoğunluk değişimine neden olmayacak veya çok az bir değişim olacaktır.

(26)

14

Şekil 2.8. Düz alanda pencere hareketi

Pencere Şekil 2.9’deki gibi bir kenar üzerinde denk geldiğinde, pencerenin hareketi yoğunluk değişimine yol açmayacak veya küçük bir değişime yol açacaktır.

Şekil 2.9. Kenar üzerinde pencere hareketi

Pencere Şekil 2.10’deki gibi köşe üzerinde denk geldiğinde ise pencerenin her doğrultuda hareketi yoğunluk değişimine neden olacaktır. Daha açık bir ifadeyle, pencerenin herhangi bir doğrultuda hareketi ile Şekil 2.10’de gösterilen 1 ve 2 kenarları pencere içerisine girecek veya pencereden çıkacak, dolayısıyla her hareket yoğunluk değişimine neden olacak. Bu yoğunluk değişimi tam köşe noktasına gelindiğinde maksimum olacak ve böylece köşe tespit edilmiş olacaktır.

(27)

15

Şekil 2.10. Köşe üzerinde pencere hareketi

Pencere hareketine bağlı olarak yoğunluk değişimi denklem 2.18’de verilmiştir (Harris and Stephens, 1988). Burada 𝑢 ve 𝑣 yatay ve düşey kaydırma vektörlerini, 𝑤(𝑥, 𝑦) pencere fonksiyonunu, 𝐼(𝑥 + 𝑢, 𝑦 + 𝑣) kaydırılmış yoğunluğu ve 𝐼(𝑥, 𝑦) yoğunluğu vermektedir.

𝐸(𝑢, 𝑣) = ∑ 𝑤(𝑥, 𝑦)[𝐼(𝑥 + 𝑢, 𝑦 + 𝑣) − 𝐼(𝑥, 𝑦)]2 𝑥,𝑦

(2.18)

Pencere fonksiyonu pencere dışında kalan alan için 0 ve içerde kalan için 1 olacak şekilde binary veya pencere içerisinde doğru değer artacak şekilde gaussian olarak seçilebilir.

Küçük [𝑢 𝑣] kaymaları için bilineer yaklaşımla denklem 2.19 elde edilir.

𝐸(𝑢, 𝑣) ≅ [𝑢 𝑣]𝑀 [𝑢𝑣] (2.19)

Burada 𝑀 2 × 2 boyutlarında bir matristir ve denklem 2.20’ deki gibi resim türevleri ile

𝑀 = ∑ 𝑤(𝑥, 𝑦) [ 𝐼𝑥 2 𝐼 𝑥𝐼𝑦 𝐼𝑥𝐼𝑦 𝐼𝑦2 ] 𝑥,𝑦 (2.20)

Kaydırma penceresindeki yoğunluk değişimi 𝑀 matrisinin öz değerlerinin analizi ile sınıflandırılır. Şekil 2.11’ de gösterilen 𝜆1 ve 𝜆2 öz değerlerinden, 𝜆2, 𝜆1’den çok büyük

(28)

16

olduğunda ve 𝜆1, 𝜆2’den çok büyük olduğunda pencerenin bulunduğu konum kenar olmaktadır. Düz alanlar için 𝜆1 ve 𝜆2 değerleri çok küçük olmaktadır. Pencerenin bir köşe üzerinde bulunması durumunda ise 𝜆1 ve 𝜆2 ikisi birden büyük olmakta ve yaklaşık olarak birbirlerine eşit olmaktadırlar. Pencerenin bulunduğu konumun köşe, kenar veya düz alan olması durumlarını ayırt etmek için öz değerlere bağlı denklem 2.21’deki gibi bir köşe cevabı fonksiyonu tanımlanır.

𝑅 = 𝑑𝑒𝑡𝑀 − 𝑘(𝑡𝑟𝑎𝑐𝑒𝑀)2 (2.21)

Burada 𝑑𝑒𝑡𝑀 = 𝜆1𝜆2 ve 𝑡𝑟𝑎𝑐𝑒𝑀 = 𝜆1+ 𝜆2 olmak üzere 𝑀 matrisinin determinantı ve izidir, k değeri ise deneysel olarak bulunacak bir sabittir genel olarak 0.04 − 0.06 arasında bir değer alır.

(29)

17 𝜆2

Şekil 2.11. Öz değer kıyas grafiği

𝑅 değeri yalnızca 𝜆1 ve 𝜆2 değerlerine bağlıdır ve bu değer büyükse köşe, negatif ve |𝑅| büyükse kenar ve |𝑅| küçükse düz alanı ifade etmektedir. Köşe noktasını bulmak için 𝑅 bir eşik değeri ile kıyaslanır ve bu eşikten büyükse köşe noktası olarak seçilir. Köşe bulma algoritması motchallenge.net adresinden alınan açık veri setleri üzerinde çalıştırıldığında Şekil 2.12’deki gibi bir sonuç elde edilmiş olur. Burada kırmızı daire ile gösterilen noktalar algoritmanın bulduğu köşe noktalarını göstermektedir.

𝜆1 𝜆1 𝑣𝑒 𝜆2 𝑏ü𝑦ü𝑘 𝜆1~𝜆2 𝐸 tüm doğrultularda artar 𝜆2 ≫ 𝜆1 𝜆1 ≫ 𝜆2

(30)

18

Şekil 2.12. Veri seti üzerindeki köşeler

Veri seti birkaç kare ileriye alındığında Şekil 2.13’deki gibi yine köşe noktaları bulunacak ve iki kareye de dikkatli bakıldığında bulunan köşelerin, resimlerin hareketsiz kısımlarında büyük oranda aynı oldukları görülmektedir.

Köşelerin optik akışta öznitelik olarak kullanılması, bu köşelerin ölçeklendirme; yani görüntünün uzaklaşması veya yakınlaşması, dönme; yani takip edilen nesnenin etrafında hareket etme ve ışık değişiminden az etkilenme gibi özelliklere sahip olmasıdır. Ayrıca resim üzerindeki köşeler değişmeyeceğinden Şekil 2.12 ve Şekil 2.13’den de görüleceği gibi köşeler sahne üzerinde bulunan cisim insan vb. hareketsiz varlıklar için konum belirten referans noktaları olarak kullanılabilmektedir.

(31)

19 2.3 Hareketli Nesnenin Ayrıştırılması

Hareket eden nesnenin konumunun 2 boyutlu resim üzerinde tam olarak tespit edebilmek için, Bölüm 2.2’ de anlatılan optik akış bulma yönteminde elde edilen hareket vektörlerinin sınıflandırılması gerekmektedir. Sınıflandırma işleminde hangi vektörlerin arka plana, hangi vektörlerin takip edilecek nesneye ait olduğu belirlenir.

Bu tez çalışması kapsamında hareketli hedef takibi bir insansız hava aracı ile havadan yapılacaktır. Havadan görüntülenen hedefle ilgili daha önceden elde edilmiş herhangi bir veri olmadığı için, sınıflandırma sırasında bazı varsayımlar yapmak sonuca ulaşmak açısından gereklidir.

Bu varsayımlardan ilki insansız hava aracının düz olarak rotasyon yapmadan hareket ettiğidir. İkinci varsayım hava aracının takip edilecek nesneye çok yanın uçmadığı dolayısıyla nesnenin ekranda küçük bir alan kaplayacağıdır. Üçüncü ve son varsayım ise hava aracının hareketi ile nesnenin hareketi arasına 10°’ lik bir açı olduğudur.

Bu varsayımlar doğrultusunda elde edilen optik akış vektörleri incelendiğinde, bu vektörlerin arka plan için yaklaşık olarak aynı değere sahip olduğu, nesne vektörleri için arka plandan farklı ancak kendi içinde yaklaşık aynı değerlere sahip olduğu gözlemlenmiştir.

Bu varsayımlar doğrultusunda, 1/50 oranında seyreltilmiş değerlere sahip gerçek verilerden elde edilmiş bir açı değerlerini tutan 𝑣(𝑥, 𝑦) = {65, 110, 113, 62, 108, 116, 112, 110, 68, 109} incelendiğinde, bu vektörün üç değerinin 62,65,68 olduğu ve kalan vektörlerin 110 çevresinde değiştiği görülmektedir. Seyreltilmemiş verilerde toplam 500 adet öznitelik noktası için hesaplama yapılmaktadır. Vektör üzerindeki bu açı değerleri sınıflandırılırken öncelikle ikinci varsayım olan nesne arka plan oranı dikkate alınmıştır. Buna göre; bu vektörü sıralanıp medyanı alındığında elde edilen açı her zaman arka plana ait olacaktır ve 𝑣(𝑥, 𝑦) vektörü için bu değer 109,50 dir. Ancak bu bilgi değeri küçük olan vektörlerin mi yoksa büyük olan vektörlerin mi arka plana ait olduğunu anlamak için yeterli değildir. Tam olarak hangi noktanın nesneye ait olduğu bilgisi bu açıların tamamının ortalaması alınarak elde edilebilmektedir. Bu durumda 𝑣(𝑥, 𝑦) vektörünün ortalaması alındığı zaman 97,3 elde edilir. Elde edilen medyan ve ortalama değerleri kıyaslandığında, 109,5 > 97,3 yani medyan değeri ortalamadan büyük olur. Daha önce de bahsedildiği gibi medyan değeri her zaman arka

(32)

20

plana ait bir açı değeriydi, dolayısıyla medyanın ortalamadan büyük olması arka plana ait açıların 110 derece çevresinde olan açılar olduğu anlaşılır.

Bu yöntemle birçok durumda arka plan ve nesne arasında ayrım yapılabilmekte, ancak uygulamada bu açı değerleri ±10 − 15 derece civarında değişebildiğinden 10 dereceden küçük açılarda hatalı sonuç verebilmektedir.

Daha sonra nesneye ait elde edilen noktaların ağırlık merkezleri her piksel bir birim kabul edildiğinde denklem 2.22 ile bulunur ve renk olasılık hesabında kullanılmak üzere bu noktada 50x50 piksellik bir çerçeve oluşturulur.

𝑚𝑥 =𝑥1𝑝1+𝑥2𝑝2+⋯

𝑝1+𝑝2+⋯ , 𝑚𝑦 =

𝑦1𝑝1+𝑦2𝑝2+⋯

𝑝1+𝑝2+⋯ (2.22)

2.4 Camshift Algoritması

Camshift algoritması temelde bir resim üzerindeki belirli bir renk olasılık dağılımına sahip nesneyi yine bu renk olasılık dağılımını kullanarak tüm resim içerisinde takip etmek, (𝑥, 𝑦) koordinat düzleminde konumunu bulmak amacıyla kullanılmaktadır. Bu renk olasılık dağılımını hesaplamak için HSV( Hue Saturation Value) renk uzayının H(Hue) değeri kullanılmaktadır. Bu kısımda HSV renk uzayı tanıtılacak, renk olasılık dağılımı hesabı için gerekli yöntem açıklanacak ve CAMSHIFT algoritması gerekli denklemler ile birlikte açıklanacaktır.

2.4.1 HSV renk uzayı

HSV renk uzayı temel olarak renklerin ton doygunluk ve parlaklık değerleri cinsinden örneklenmesi ve sayısal olarak temsil edilebilmesi amacıyla geliştirilmiştir. Bu uzay Şekil 2.14’ de görüldüğü gibi sivri ucu aşağıya bakan bir koni ile temsil edilebilir. Bu konide, koninin tavanı olan geniş dairesel kısmın çevresi ton değişimini vermektedir. Ton değişimi 0°’de kırmızı renk ile başlar ve yeşil, mavi, mor gibi renkleri takip ederek tekrardan 360°’de kırmızı renge gelir.

(33)

21

Şekil 2.14. HSV renk uzayı

Ton değeri belirlendikten sonra dairenin merkezine doğru gidildikçe Şekil 2.15’de gösterildiği gibi doygunluk değeri değişmektedir. Dairenin merkezinde doygunluk %0, dairenin çevresinde ise doygunluk %100 olmaktadır.

(34)

22

Merkez doğrultusunda doygunluk değeri de seçildikten sonra yine Şekil 2.15’ de sağ kısımda gösterilen parlaklık değeri bulunmalıdır. Parlaklık değeri Şekil 2.14’deki koninin sivri ucuna doğru inildikçe azalmaktadır. Özet olarak HSV uzayında bir rengi örneklerken, o rengin ton değeri Şekil 2.14’deki koninin çevresi üzerinde seçilir, rengin doygunluğunu azaltmak için koninin düşey merkez çizgisine doğru ilerlenir. Son olarak parlaklık değerini ayarlamak için koninin sivri ucuna doğru ilerlenir ve üç farklı değişken ile bir renk örneklenmiş olur Çizelge 2.1’ de bazı renklerin standart RGB uzayı ve HSV uzayındaki karşılıkları verilmiştir.

Çizelge 2.1. Bazı renkler ve RGB, HSV karşılıkları Renk Renk adı R G B H (°) S(%) V(%)

Kırmızı 255 0 0 0 100 100 Yeşil 0 255 0 120 100 100 Mavi 0 0 255 240 100 100 Turuncu 255 165 0 39 100 100 Lacivert 18 10 150 243 93 59 K. Yeşil 1 50 32 158 98 20 Siyah 1 0 0 0 0 0 0 Siyah 2 0 0 0 150 0 0 Gri 1 128 128 128 50 0 50 Gri 2 128 128 128 200 0 50

RGB uzayından HSV uzayına geçmek için H değerinin 0-360 derece, S,V,R,G,B değerlerinin 0-1 aralığında değiştiğini varsaydığımızda ve MAKS=𝑚𝑎𝑘𝑠(𝑅, 𝐺, 𝐵), MİN=min(R,G,B) olduğunda Ton(H) değeri denklem 2.23 ile, doygunluk değeri(S) denklem 2.24 ile parlaklık(V) değeri ise denklem 2.25 ile bulunur.

𝐻 = { 𝑡𝑎𝑛𝚤𝑚𝑠𝚤𝑧 60 𝐺−𝐵 𝑀𝐴𝐾𝑆−𝑀İ𝑁+ 0, 60 𝐺−𝐵 𝑀𝐴𝐾𝑆−𝑀İ𝑁+ 360, 60 𝐵−𝑅 𝑀𝐴𝐾𝑆−𝑀İ𝑁+ 120, 60 𝑅−𝐺 𝑀𝐴𝐾𝑆−𝑀İ𝑁+ 240, 𝑒ğ𝑒𝑟 𝑀𝐴𝐾𝑆 = 𝑀İ𝑁 𝑒ğ𝑒𝑟 𝑀𝐴𝐾𝑆 = 𝑅 𝑣𝑒 𝐺 ≥ 𝐵 𝑒ğ𝑒𝑟 𝑀𝐴𝐾𝑆 = 𝑅 𝑣𝑒 𝐺 < 𝐵 𝑒ğ𝑒𝑟 𝑀𝐴𝐾𝑆 = 𝐺 𝑒ğ𝑒𝑟 𝑀𝐴𝐾𝑆 = 𝐵 (2.23)

(35)

23 𝑆 = { 0, 𝑒ğ𝑒𝑟 𝑀𝐴𝐾𝑆 = 0 1 − 𝑀İ𝑁 𝑀𝐴𝐾𝑆, 𝑒ğ𝑒𝑟 𝑀𝐴𝐾𝑆 = 0 (2.24) 𝑉 = 𝑀𝐴𝑋 (2.25)

2.4.2 Renk olasılık dağılımı

Camshift istatistik temelli bir algoritmadır ve renkli bir objeyi takip ederken o renk için çıkarılmış bir renk olasılık dağılımı ile çalışır. Renk olasılık dağılımı tek kanallı gri tonlamalı resim üzerinde oluşturulabileceği gibi renkli resimler üzerinde de oluşturulabilmektedir. Bu tez çalışmasında renkli resimler üzerinde çalışılmıştır.

Renkleri temsil edebilmek adına uygulamalarda sıkça kullanılan iki uzay RGB ve HSV uzayıdır. RGB uzayında kırmızı yeşil ve mavi renklerin oranları renkler için fazla değiştiğinden rengin ton bilgisini tam olarak çıkarmak zor olmaktadır. Örneğin Şekil 2.16’de yeşil rengin bir tonu üzerinde RGB ve HSV değerleri gösterilmiştir. Bu gösterimde rengin parlaklığı %100’den %0’ kadar gradyan biçiminde değiştirilmiştir. Mavi oklar renk örneklemesi alınan noktayı işaret etmektedir. Buna göre ilk örneklemede HSV uzayında ton değeri olan H 120 olarak, doygunluk 70 ve parlaklık 96 olarak gösterilmiştir. RGB değerleri ise ilk örnekleme için R=74, G=246, B=74 olarak gösterilmiştir. Örnekleme noktası değiştirildiğinde ise Şekil 2.16’den de görülebileceği gibi ton değeri ve doygunluk değeri sabit kalmış yalnızca parlaklık değeri değişmiştir. RGB uzayında ise her üç değer de değişmiştir bu durum da bu uzayı kullanarak filtreleme ve olasılık hesaplama gibi işlemleri çok daha karmaşık hale getirmektedir.

(36)

24

Şekil 2.16. Rengin RGB ve HSV karşılıkları

Ayrıca gerçek bir kamerayla gerçek bir ortamda görüntü alındığında, takip edilecek cisim üzerinde bulunan ışık ve gölge değişimlerinden kaynaklı renk değişimleri görüntüdeki piksellerin değerlerinin farklılaşmasına neden olmaktadır. HSV uzayının ton bileşeni bu gibi durumlardan etkilenmez. Ancak RGB uzayı kullanıldığına Şekil 2.16’de de çok net görülebileceği gibi RGB değerleri üzerinde değişimlere neden olmaktadır. Bu nedenle Camshift algoritması HSV uzayının H değeri yani ton değerleri üzerinde oluşturulmuş bir olasılık dağılımı ile çalışmaktadır.

Bu tez çalışmasında renk olasılık dağılımı için histogram geri yansıtma(histogram backprojection)(Swain ve Ballard, 1990) yöntemi kullanılmıştır. Histogram verisi temel olarak resim üzerindeki her rengin ne kadar kullanıldığını belirli bir sınır içerisinde normalize olarak vermektedir. Histogram geri yansıtma ise bu histogram değerlerini resim üzerinde ilgili rengin bulunduğu piksele yazarak aynı renkte olan pikselleri belirleme işlemi yapar. Örneğin Camshift ile sarı bir topun yeşil bir sahada takibi gerçekleştirilecek olsun, bu sarı topun renk değerine sahip pikseller belirlenir ve böylece bu topu sahanın tam olarak neresinde aramak gerektiğine dair bilgi sahibi olunur.

Daha açık görsel bir ifade ile Şekil 2.17’da verilen 8x8 piksellik ölçülere sahip ve görülebilmesi açısından yaklaştırılmış resmin üzerinde histogram geri yansıtma yapmak için öncelikle bu renk değerleri HSV uzayında ton değerlerine dönüştürülür. Bu ton

(37)

25 değerleri 8 bitlik bir veri için h ∗256

360 formülü ile 0-255 arasında ölçeklenir ve bu değerler gri tonlamalı bir resim gibi temsil edilmek suretiyle Şekil 2.18’de gösterilen resim elde edilir.

Şekil 2.17. Histogramı alınacak resim

Şekil 2.18. Ton değerleri

Daha sonra her tonda toplam kaç adet piksel olduğu bulunur. Bulunan bu miktarlar (Örn: Kırmızı: 20, Koyu Yeşil:11, Lacivert:6 gibi) toplam piksel sayısına(64) oranlanır. Daha sonra 0-1 arasında olan bu oran 0-255 değeri arasında ölçeklenir ve yine gri tonlamalı resim gibi temsil edilerek elde edilen tüm değerler ilgili rengin bulunduğu piksele yazılır. Tüm piksellerdeki renk olasılıkları hesaplandıktan sonra Şekil 2.19’deki gibi bir olasılık dağılımı elde edilmiş olur.

(38)

26

Şekil 2.19. Histogram geri yansıtma

Renk olasılık dağılımı gerçek ortamdan alınan veriler üzerinde de hesaplanırken öncelikle belirlenmiş bir rengi tüm resim içerisinde filtrelemek gerekir. Bu işlem renkler üzerinde oluşacak olası gürültülerin de önüne geçmekle birlikte arama uzayındaki verilerin kalitesini de arttırmaktadır. Filtreleme yapılacak rengi seçmek için öncelikle optik akış algoritmasının çalıştırılmasından sonra takip edilecek nesnenin etrafında bir dikdörtgen çizilir. Daha sonra bu dikdörtgen içerisinde kalan bölgenin renk histogramı ton kanalı için çıkartılır. Takip edilecek nesnenin sahip olduğu ana renk çizilen dikdörtgende büyük bir alan kaplayacağı için bu histogramın maksimum değeri takip edilecek ana rengin merkez noktası olacaktır. Gerçek hayata nesne üzerinde düşen ışık dağılımı gölge, ikinci bir ışık kaynağı, eskime gibi nedenlerden dolayı değişeceğinden filtrelenecek rengi bir aralık olarak seçmek gerekmektedir. Uygulamada bu aralığın, eğer 360° ‘lik ton yelpazesi kullanıldıysa, ∓20° olduğu durumlarda büyük oranda başarı sağlanmıştır. Filtreleme işleminden sonra elde edilen sonuç doğrudan olasılık dağılımı hesaplamalarında kullanılır. Örneğin Şekil 2.21’de gösterilen resimde kırmızı araba için renk olasılık dağılımı çıkarıldığında Şekil 2.21’deki resim elde edilir.

(39)

27

Şekil 2.20. Renk olasılık dağılımı için resim I

Şekil 2.21. Renk olasılık dağılımı I

Aynı şekilde Şekil 2.22’deki resim üzerinde kırmızı dikdörtgen içerisinde bulunan çimen renklerine göre filtrelenip renk olasılık dağılımı çıkarıldığında Şekil 2.23’deki gibi bir resim elde edilir. Filtrelenmiş veriler ile doğrudan olasılık dağılımı çıkarılmış veriler arasındaki fark Şekil 2.19’de verilen olasılık dağılımına bakılarak daha net anlaşılabilir. Burada yine kırmızı nokta için olasılık dağılımı çıkarılmıştır ancak filtreleme işlemine tabi tutulmadığından diğer renkler olasılık dağılımını karışık ve üzerinde çalışılması zor bir hale getirmektedir.

(40)

28

Şekil 2.22. Renk olasılık dağılımı için resim II

Şekil 2.23. Renk olasılık dağılımı II 2.4.3 Camshift algoritmasının uygulanması

Camshift algoritması temelde takip amacıyla geliştirilmemiş MeanShift algoritmasına dayanır. Bu algoritma kısım 2.4.2 de elde edilen renk olasılık dağılımlarını kullanır.

MeanShift algoritması gerçeklerinken aşağıdaki adımlar izlenir. 1- Bir arama penceresi boyutu seçilir.

2- Arama penceresi için bir başlangıç noktası seçilir.

3- Seçilen arama penceresinin ortalama noktası(ağırlık merkezi) seçilir.

(41)

29

5- Yeni ortalama noktası ile eskisi arasındaki mesafe belirlenen bir eşikten küçük olana kadar adım 3 ve adım 4 tekrar edilir.

Adım 1 ve adım 2 Şekil 2.24’de gösterilmiştir. Şekle göre mavi çember arama penceresi, kırmızı noktalar olasılık yoğunlukları, mavi nokta çemberin güncel merkezi, yeşil nokta ise çemberin hesaplanan yeni vektörünü ifade etmektedir.

Şekil 2.24. MeanShift arama penceresi ve başlangıç konumu

Şekil 2.25. Pencere ağırlık merkezi kaydırma I

Arama penceresinin konum güncellemesi sırasıyla Şekil 2.25’de ve Şekil 2.26’de devam etmiştir. Son olarak Şekil 2.27’de görülebileceği gibi hesaplanan noktanın konum değişimi oldukça küçük olmaktadır. Böylece algoritma sonlanmış olur.

(42)

30

Şekil 2.26. Pencere ağırlık merkezi kaydırma II

Şekil 2.27. Algoritmanın sonlanması

Algoritmanın adımları hesaplanırken arama penceresinin ortalama noktası denklem (2.26) ile bulunur. 𝑝̂(𝑊) =𝑘 1 |𝑊|∑ 𝑝𝑗 𝑗∈𝑊 (2.26)

(43)

31

Pencere merkezi 𝑝̂(𝑊) noktasına kaydırılır. Bu adımlar ayrık zamanlı 2 boyutlu bir 𝑘 resim için aşağıdaki adımlar kullanılır.

Denklem 2.27 ile sıfırıncı moment bulunur. Momentler resim üzerinde çeşitli tanımlamalar yapmak için kullanılan ifadelerdir (G.R. Bradski, 1998; Hu, 1962).

𝑀00 = ∑ ∑ 𝐼(𝑥, 𝑦) 𝑦

𝑥

(2.27)

Daha sonra 𝑥 ve 𝑦 için birinci moment denklem 2.28 ile bulunur.

𝑀10= ∑ ∑ 𝑥𝐼(𝑥, 𝑦) 𝑦 𝑥 ; 𝑀01= ∑ ∑ 𝑦𝐼(𝑥, 𝑦) 𝑦 𝑥 (2.28)

Daha sonra ortalama arama penceresi konumu denklem 2.29 ile bulunur.

𝑥𝑐 = 𝑀10 𝑀00; 𝑦𝑐 =

𝑀01

𝑀00 (2.29)

Bu denklemlerde 𝐼(𝑥, 𝑦) değeri piksellerin resim içerisinde (𝑥, 𝑦) noktasındaki olasılıklarıdır ve (𝑥, 𝑦) değerleri arama penceresi boyunca tanımlıdır.

Buraya kadar olan kısım MeanShift algoritmasının tanıtımıydı. MeanShift algoritması statik olasılık uzayıyla çalışır yanı takip edilen çerçevenin boyu her zaman sabittir. Ancak uygulamada takip edilen nesneye yaklaşma uzaklaşma gibi durumlar, nesnenin bir yöne doğru eğilmesi veya hareket doğrultusunun değişmesi sabit pencere ile takibi imkânsız hale getirmektedir. Bu nedenle CAMSHIFT algoritmasında MeanShifte’ e ek olarak pencere boyutu ve rotasyonu değişmektedir.

Son durumda CAMSHIFT algoritması aşağıdaki adımlarda gerçekleştirilir; 1- Olasılık uzayı hesaplanması için pencere boyutu tüm resim olarak seçilir. 2- 2 boyutlu pencere için başlangıç konumu belirlenir.

3- Seçilen pencereden biraz büyük bir alan için renk olasılık dağılımı hesaplanır. 4- MeanShift ile tam konum bulunana kadar iterasyon yapılır ve sıfırıncı moment

(44)

32

5- Gelecek yeni kare için MeanShift sonucu elde edilen konum başlangıç konumu olur ve sıfırıncı moment kullanılarak pencere boyutu ayarlanır.

2 boyutlu bir olasılık dağılımında rotasyon denklem 2.30’da gösterilen 2. Momentler ile bulunabilir. 𝑀20 = ∑ ∑ 𝑥2𝐼(𝑥, 𝑦) 𝑦 𝑥 ; 𝑀02 = ∑ ∑ 𝑦2𝐼(𝑥, 𝑦) 𝑦 𝑥 (2.30)

Daha sonra ana rotasyon ekseni denklem 2.31 ile bulunur.

𝜃 = arctan ( 2 (𝑀𝑀11 00− 𝑥𝑐𝑦𝑐) (𝑀𝑀20 00− 𝑋𝑐 2) − (𝑀02 𝑀00− 𝑌𝑐2) ) 2 (2.31)

Bu ana eksenin ilk iki öz değeri olan genişlik ve yükseklik değerleri denklem 2.32 ile bulunur. Burada 𝑎 =𝑀20 𝑀00− 𝑋𝑐 2 , 𝑏 = 2 (𝑀11 𝑀00− 𝑥𝑐𝑦𝑐), 𝑐 = 𝑀02 𝑀00− 𝑦𝑐 2 şeklinde olmaktadır. 𝑙 = √(𝑎 + 𝑐) + √𝑏 2+ (𝑎 − 𝑐)2 2 𝑤 = √(𝑎 + 𝑐) − √𝑏 2+ (𝑎 − 𝑐)2 2 (2.32)

Yeniden ölçeklenebilir olması ve belirli bir kalıba bağlı kalarak çalışmaması nedeniyle CAMSHIFT algoritması kimliği belirlenmemiş, daha önceden tanınmamış bir nesnenin takibinde iyi sonuçlar vermektedir. Uygulamada kameranın kalitesiz olması görüntü üzerinde çalışırken birçok veriyi kullanılamaz hale getirmektedir. Ancak CAMSHIFT algoritması renk olasılık dağılımları üzerinde çalıştığından ve ölçeklenebilir olduğundan piksellerde oluşacak gürültü ve kameranın kalibrasyon ihtiyacı gibi durumlarda n oldukça az bir oranda etkilenecektir.

(45)

33

TEST ORTAMI VE ELDE EDİLEN VERİLER

Bölüm 2’de anlatılan yöntemler internet ortamından alınan veri setleri ve laboratuvar ortamında kurulan bir test düzeneği ile test düzeneği ile test edilmiştir. Bu bölümde bu test düzeneğinin yapısına, video üzerinde yapılan testlerin sonuçlarına yer verilmiştir. 3.1 Test Düzeneği

İnsansız hava aracının uçuşunun temsil etmek adına KUKA firmasının üretmiş olduğu KR-Agilus robot kolu kullanılmıştır. Bu robot 6 eksene sahip ve kol 95 cm ileriye doğru ulaşabilmektedir. Nesnenin takip edileceği ortam, hava aracını temsil edecek robot kolun ulaşım sınırları dâhilinde olması açısından, küçük ölçeklerde yapılmış bir makettir. Bu maketin ve robot kolun karşıdan görünümü Şekil 2.28’de gösterilmiş, yandan görünümü ise Şekil 2.29’de gösterilmiştir.

(46)

34

Şekil 2.29. Robot kol ve maketin yandan görünümü

Maket geliştirilirken ağaçlar mümkün olduğunda üç boyuta yakın yapılmıştır ve üzerlerine optik akış algoritmasının algılayabilmeleri için boya ile doku oluşturulmuştur. Maketin zemini de aynı dokulara sahiptir. Maket üzerinde bulunan yollar algoritmanın farklı ortamlarda başarısını test etmek amacıyla asfalt toprak yol ve taşlı yolu temsil edecek şekilde üç farklı renkte yapılmıştır. Görüntüleme için üzerinde 18-105 mm ayarlı objektif bulunan Nikon D-7000 kamera kullanılmıştır ve yukarıdan görüntüleme sonucunda Şekil 2.30’daki gibi bir görüntü elde edilmiştir.

(47)

35 3.2 Video Üzerinde Testler

Algoritma, biri laboratuvar ortamında modellenmiş olan sistemden alınan veriler diğeri gerçek bir hava aracı ile çekilmiş veriler olmak üzere iki farklı veri seti üzerinde çalıştırılmıştır.

Laboratuvar ortamında alınan veriler için elde edilen sonuç Çizelge 2.2’ de soldaki küçük resimler gerçek görüntüyü, sağdakiler ise renk olasılık dağılımlarını verecek şekilde gösterilmiştir.

(48)

36

İkinci veri seti olan internet ortamından alınmış veriler için ise aynı formatta Çizelge 2.3’de gösterilmiştir.

(49)

37 3.3 Gerçek Zamanlı Testler

Sistem bir adet webcam KUKA robot koluna bağlanarak, webcam verisini okuyup algoritmayı çalıştıracak bir diz üstü bilgisayar ile gerçekleştirilmiştir. Bu bilgisayar 2,2 Ghz quadcore işlemciye, 8 GB ram belleğe sahiptir ve işlemler tek çekirdek üzerinde gerçekleştirilmiştir.

Bölüm 3.2’de gösterilen şekle benzer şekilde ancak bu defa gerçek zamanlı anlık verilerle işlemler gerçekleştirilmiş ve öngörüldüğü gibi gerçek zaman faktöründe bir düşüş yaşanmadan istenen takibin gerçekleştirilmesi sağlanmıştır.

(50)

38 BÖLÜM IV

SONUÇLAR

Bu tez çalışmasında inansız hava araçları bir hareketli hedef takip sistemi geliştirilmiştir. Takip sırasında hedefin ve kameranın aynı anda hareket ediyor olması hedefin tespitini zorlaştırmakta, hedefi takip edebilmek için ise otomatik bir şekilde o hedefin bulunması gerektiğinden, hedef tespitinde optik akış yöntemi kullanılmıştır. Optik akış ile elde edilen vektörler ham veriler olduğundan ve tam olarak hedefin konumu kestirilemediğinden, vektörleri ayrıştıracak bir algoritma geliştirilmiş ve yapılan testlerde algoritmanın başarıyla vektör sınıflandırması yaptığı gözlemlenmiştir.

Sınıflandırma işleminden sonra hedefin tam pozisyonu belirlenmiş, o bölgeye takip algoritması için bir dikdörtgen çizilmiştir. Takip algoritması olarak renkli verilerle hızlı ve başarılı çalışabilen CAMSHIFT algoritması kullanılmıştır. CAMSHIFT algoritmasının renk olasılık dağılımı çıkarırken ihtiyaç duyduğu filtre verileri, daha önceden belirlenen pencere için histogram verilerinden yararlanılarak elde edilmiştir. Tüm sistem parçaları bir araya getirildikten sonra internet ortamında alınan veriler ve laboratuvar ortamında geliştirilen bir test düzeneği algoritmalar test edilmiştir yapılan testler sonucunda hava aracı ve hedefin doğrultusu arasında 10° açı farkı olduğu durumlarda geliştirilen sistem doğru sonuçlar verecek biçimde çalışmaktadır. Bu problemi ortadan kaldırmak için belirli noktalar üzerinde çalışan Lucas-Kanade algoritması yerine tüm pikseller için optik akış gerçekleştirecek bir algoritma kullanmak yeterli olacaktır. Ancak tüm pikseller için optik akış gerçekleştirmek çok fazla işlem gücü gerektirmekte ve GPU gibi paralel işlem yapabilen işlem birimlerine ihtiyaç duyulmaktadır.

(51)

39 KAYNAKLAR

Bouguet, J., “Pyramidal implementation of the Lucas Kanade feature tracker”, Intel Corp. Microprocess. Res. Labs, 2000.

Bradski, G.R., “Computer Vision Face Tracking For Use in a Perceptual User Interface”, Intel Technology Journal Q2 ’98, 1998.

Bradski, G.R., “Real time face and object tracking as a component of a perceptual user interface”, Fourth IEEE Workshop on Applications of Computer Vision, WACV ’98, 214–219, 1998.

Comaniciu, D., Ramesh, V. and Meer, P., “Kernel-based object tracking”, IEEE Trans. Pattern Anal. Mach. Intell 25, 564–577, 2003.

Comaniciu, D., Ramesh, V. and Meer, P., “Real-time tracking of non-rigid objects using mean shift”, IEEE Conference on Computer Vision and Pattern Recognition, Proceedings. Presented at the IEEE Conference on Computer Vision and Pattern Recognition, Proceedings, 142–149 vol.2, 2000.

Emami, E. and Fathy, M., “Object Tracking Using Improved CAMShift Algorithm Combined with Motion Segmentation, in: Machine Vision and Image Processing (MVIP)”, 2011 7th Iranian, Presented at the Machine Vision and Image Processing (MVIP), 7th Iranian, 1–4, 2011.

Fukunaga, K. and Hostetler, L., “The estimation of the gradient of a density function, with applications in pattern recognition”, IEEE Trans. Inf. Theory 21, 32–40, 1975.

Guojun, D. and Yun, Z., “A novel auto-camshift algorithm used in object tracking”, Control Conference, CCC 2008. 27th Chinese, Presented at the Control Conference, 2008. CCC 2008. 27th Chinese, 369–373, 2008.

(52)

40

Harris, C. and Stephens, M., “A combined corner and edge detector”, In Proc. of Fourth Alvey Vision Conference, 147–151, 1988.

Hati, K.K. and Vardhanan, A.V., “Review and improvement areas of mean shift tracking algorithm”, The 18th IEEE International Symposium on Consumer Electronics (ISCE 2014), Presented at the The 18th IEEE International Symposium on Consumer Electronics (ISCE 2014), 1–2, 2014.

Huang, Y., Sang, N., Hao, Z. and Jiang, W., “Eye Tracking Based on Improved CamShift Algorithm”, 2013 Sixth International Symposium on Computational Intelligence and Design (ISCID), Presented at the 2013 Sixth International Symposium on Computational Intelligence and Design (ISCID), pp. 24–29, 2013.

Hu, M.-K., “Visual pattern recognition by moment invariants”. IRE Trans. Inf. Theory 8, 179–187, 1962.

Hu, Y., Zhao, W., Wang, L. and Jia, Y., “Underwater target following with a vision-based autonomous robotic fish”, American Control Conference, 2009. ACC ’09. Presented at the American Control Conference, 2009. ACC ’09., 5265–5270, 2009.

Jung, K., Kim, K.I., Kurata, T., Kourogi, M. and Han, J., “Text scanner with text detection technology on image sequences”, 16th International Conference on Pattern Recognition, 2002. Proceedings. Presented at the 16th International Conference on Pattern Recognition, 2002, 473–476 vol.3, 2002.

Kolsch, M. and Turk, M., “Fast 2D Hand Tracking with Flocks of Features and Multi-Cue Integration”, Conference on Computer Vision and Pattern Recognition Workshop, 2004. CVPRW ’04. Presented at the Conference on Computer Vision and Pattern Recognition Workshop, 2004, CVPRW ’04, 158–158, 2004.

Liu, Q. and Cai, C., “Dual Searching Window Based Face Tracking”, International Symposium on Intelligent Signal Processing and Communications”, 2006. ISPACS ’06, Presented at the International Symposium on Intelligent Signal Processing and Communications, 2006, ISPACS ’06, 279–282, 2006.

(53)

41

Liu, Q., Cai, C., Ngan, K.N. and Li, H., “Camshift based real-time multiple faces match tracking, in: International Symposium on Intelligent Signal Processing and Communication Systems”, ISPACS 2007, Presented at the International Symposium on Intelligent Signal Processing and Communication Systems, 2007. ISPACS 2007, pp. 726–729, 2007.

Liu, X., Chu, H. and Li, P., “Research of the Improved Camshift Tracking Algorithm”, International Conference on Mechatronics and Automation, 2007, ICMA 2007, Presented at the International Conference on Mechatronics and Automation, 2007, ICMA 2007, pp. 968–972, 2007.

Liu, Z., Chen, Y. and Li, Z., “Camshift-Based Real-Time Multiple Vehicle Tracking for Visual Traffic Surveillance”, 2009 WRI World Congress on Computer Science and Information Engineering, Presented at the 2009 WRI World Congress on Computer Science and Information Engineering, pp. 477–482, 2009.

Martinez, B., Ferraz, L., Binefa, X. and Diaz-Caro, J., “Multiple Kernel Two-Step Tracking”, 2006 IEEE International Conference on Image Processing, Presented at the 2006 IEEE International Conference on Image Processing, 2785–2788, 2006.

Olivares-Mendez, M.A., Campoy, P., Mellado-Bataller, I. and Mejias, L., “See-and-avoid quadcopter using fuzzy control optimized by cross-entropy”, 2012 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), Presented at the 2012 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), 1–7, 2012.

Stolkin, R., Florescu, I., Baron, M., Harrier, C. and Kocherov, B., “Efficient visual servoing with the ABCshift tracking algorithm”, IEEE International Conference on Robotics and Automatio, ICRA 2008. Presented at the IEEE International Conference on Robotics and Automation, ICRA 2008, 3219–3224, 2008.

Swain, M.J. and Ballard, D.H., “Indexing via color histograms”, Proceedings, Third International Conference on Computer Vision, 1990. Presented at the Proceedings, Third International Conference on Computer Vision, 390–393, 1990.

Referanslar

Benzer Belgeler

RoboBee adlı bu nano insansız hava aracı kanatlarını oldukça çevik ve güçlü elektronik kasları sayesinde tıpkı gerçek bir böcek gibi saniyede 120 kez çırparak

Örneğin, skalar algılayıcı düğümleri (ısı ve titreĢim gibi skalar veri toplayan düğümler) olan Telos, MicaZ algılayıcı düğümlerinde haberleĢme

The bureaucracy began attributing the legitimacy of its common good concept and tutelage over political power and society through the reputation of Mustafa Kemal Atatürk, the

2003’ten sonra Türkiye’de genel çizgileriyle Irak’ın parçalanması, PKK terör örgütünün Kuzey Irak’taki faaliyetleri ve ABD’nin Irak politikası konusundaki endişe-

B^hfkalPdln Dl[kn Ikhljk]kn kiln \liilfilhdln alhn ldljn fljeblin c^]elhlfilhn Smhlfleilhk X^j^c^[dln jkQlikfn Zln jkelikfn mYgbgjdmjn X^Yi^n \khn XTh^j^cn blhXkilclbln dln

Atilla ÖZDEMİR tarafından kalkan balığı yetiştiriciliği konusunda özel sektör, araştırma kuruluşları ve üniversitelerden gelen katılımcılardan oluşan 55 kişilik

The six variables showed (clarity of the sequence of stages of the production process (C1), clarity of the need of production stages for the previous and subsequent stages

These aspects consist of: (a) the ability to carry out personal and professional development through updating of knowledge, skills, and expertise competencies related to