44
T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü HAREKETLİ NESNE TAKİBİ VE LAZER İLE İMHA 210257 İsmail GÜLLÜPINAR Danışman Prof.Dr. İsmail HAKKI ÇAVDAR Mayıs, 2014 TRABZON

KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

T.C.

KARADENİZ TEKNİK ÜNİVERSİTESİ

Mühendislik Fakültesi

Elektrik-Elektronik Mühendisliği Bölümü

HAREKETLİ NESNE TAKİBİ

VE

LAZER İLE İMHA

210257

İsmail GÜLLÜPINAR

Danışman

Prof.Dr. İsmail HAKKI ÇAVDAR

Mayıs, 2014

TRABZON

Page 2: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

T.C.

KARADENİZ TEKNİK ÜNİVERSİTESİ

Mühendislik Fakültesi

Elektrik-Elektronik Mühendisliği Bölümü

HAREKETLİ NESNE TAKİBİ

VE

LAZER İLE İMHA

210257

İsmail GÜLLÜPINAR

Danışman

Prof.Dr. İsmail HAKKI ÇAVDAR

Mayıs, 2014

TRABZON

Page 3: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

III

LİSANS BİTİRME PROJESİ ONAY FORMU

210257 İsmail GÜLLÜPINAR tarafından Prof. Dr. İ.Hakkı ÇAVDAR

yönetiminde hazırlanan “Hareketli Nesne Takibi ve Lazer ile İmha” başlıklı

lisans bitirme projesi tarafımızdan incelenmiş, kapsamı ve niteliği açısından

bir Lisans Bitirme Projesi olarak kabul edilmiştir.

Danışman : Prof. Dr. İ.Hakkı ÇAVDAR ………………………………

Jüri Üyesi 1 : Yrd. Doç. Dr. Haydar KAYA ………………………………

Jüri Üyesi 2 : Yrd. Doç. Dr. Adnan CORA ………………………………

Bölüm Başkanı : Prof. Dr. İ.Hakkı ALTAŞ ………………………………

Page 4: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

IV

ÖNSÖZ

Gelişen teknoloji ile beraber yeni savunma ve silah sistemleri geliştirilmektedir. Bu

kapsamda projede görüntü işleme teknikleri kullanarak, prototip olarak askeri amaçlı

hareketli bir nesnenin, hareketli bir kamera yardımıyla eş zamanlı olarak algılanması,

takibi ve lazer ile imhası gerçekleştirilecektir.

Bu kılavuzun ilk taslaklarının hazırlanmasında emeği geçenlere, kılavuzun son halini

almasında yol gösterici olan kıymetli hocam Sayın Prof. Dr. İ.Hakkı ÇAVDAR ‘a

şükranlarımı sunmak istiyorum. Ayrıca bu çalışmayı destekleyen Karadeniz Teknik

Üniversitesi Rektörlüğü’ne Mühendislik Fakültesi Dekanlığına ve Elektrik-Elektronik

Mühendisliği Bölüm Başkanlığına içten teşekkürlerimi sunarım.

Her şeyden öte, eğitimim süresince bana her konuda tam destek veren aileme

sevgilerimi sunarım.

Mayıs, 2014

İsmail GÜLLÜPINAR

Page 5: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

V

İÇİNDEKİLER

LİSANS BİTİRME PROJESİ ONAY FORMU .................................................................. III

ÖNSÖZ ................................................................................................................................ IV

İÇİNDEKİLER ..................................................................................................................... V

ÖZET .................................................................................................................................. VII

ŞEKİLLER DİZİNİ .......................................................................................................... VIII

ÇİZELGELER DİZİNİ ........................................................................................................ IX

SEMBOLLER VE KISALTMALAR .................................................................................. X

1. GİRİŞ ................................................................................................................................. 1

2. TEORİK ALTYAPI ......................................................................................................... 3

2.1. Servo Motorlar ........................................................................................................................ 3

2.1.1. DA Servo Motorlar ........................................................................................................... 3

2.1.2. Servo Motorlarının Çalışma Prensibi ............................................................................... 4

2.1.3. Servo Motorlarının Avantajları ........................................................................................ 4

2.1.4. Servo Motorların Dezavantajları ...................................................................................... 4

2.2. Matlab ve Hareketli Nesne Takip Yöntemleri ........................................................................ 5

2.2.1. Matlab .............................................................................................................................. 5

2.2.2. Hareketli Nesne Takip Yöntemleri ................................................................................... 6

2.2.2.1. Meanshift Algoritması ............................................................................................... 7

2.2.2.2. Parametrelerin Hesabı ............................................................................................... 8

2.2.2.3. Camshift Algoritması ................................................................................................ 8

2.3. RS-232 Haberleşmesi ............................................................................................................ 10

2.4. Kamera ve Lazer Sistemi ...................................................................................................... 11

2.4.1. Kamera Sistemi .............................................................................................................. 11

2.4.2. Lazer Sistemi .................................................................................................................. 12

2.5. Arduino ................................................................................................................................. 12

2.6. L7805 Entegresi .................................................................................................................... 13

2.7. HC05 Bluetooth Modül ......................................................................................................... 13

3.TASARIM ........................................................................................................................ 14

3.1. Gövde .................................................................................................................................... 14

3.2. Pan-Tilt Servo Motor ve Lazer Düzeneği ............................................................................. 14

Page 6: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

VI

3.3. Arduino ve Bluetooth Modül ................................................................................................ 14

3.4. Harici Güç Kaynağı ............................................................................................................... 15

4. DENEYSEL ÇALIŞMALAR ........................................................................................ 16

4.1. Matlab ................................................................................................................................... 16

4.2. Arduino ................................................................................................................................. 17

5. SONUÇLAR .................................................................................................................... 18

6. YORUMLAR DEĞERLENDİRMELER ........................................................................ 19

KAYNAKLAR .................................................................................................................... 20

EKLER ................................................................................................................................ 21

EK1: IEEE Etik Kuralları ............................................................................................................. 21

...................................................................................................................................................... 23

EK2: Disiplinlerarası Çalışma ...................................................................................................... 24

EK 3: Standartlar ve Kısıtlar ........................................................................................................ 25

EK3: KODLAR ............................................................................................................................ 27

ÖZGEÇMİŞ ......................................................................................................................... 32

Page 7: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

VII

ÖZET

Bu çalışmada, hareketli kamera ile hedef takibi yapan ve lazer ile imha eden, gerçek

zamanlı bir sistem tasarlanacaktır. Hareketli görüntü, bir servo motoru üzerine

yerleştirilmiş bir web kamerasından sağlanacaktır. Sistem, görüntü alımı, hedef nesne

seçimi, hedef nesne takibi ve lazer ile imha modüllerinden oluşmaktadır.

Hedef nesne kameranın görüş açısına girdiğinde, görüntüde nesneyi seçme ve nesne

takibi başlayacaktır. Nesne takibini, kameradan elde edilen art arda resim görüntülerindeki

hedef nesnenin konum bilgisinin belirlenmesidir. Yazılım aracı olarak MATLAB

kullanılacaktır.

Projede ilk olarak webcam yardımıyla alınan görüntüler, MATLAB ortamında

işlenecektir. Hareketin tespiti, nesnenin konum bilgisi, hareketin yönü, yazılacak olan

program ile elde edilecektir. İkinci aşamada ise elde edilen verilere göre, bilgisayarın serial

portundan bluetooth aracılığı ve Arduino arayüzü sayesinde servo motor kontrol edilecek

ve webcam üzerine yerleştirilen lazer ile nesnenin imhası gerçekleştirilecektir.

Bu proje tamamlandıktan sonra yapılan sistemin belirlenen hedef kitleler

doğrultusunda, ihtiyaçları karşılayarak faydalı olacağı hedeflenmiştir. Bu durumda, hava,

deniz, kara taşıtlarında kullanılabilecek aynı zamanda sivil hayatta otomatik gözetleme

sistemleri, trafik gözetleme ve kontrol sistemleri ve güvenlik sistemlerinde kullanılabilecek

bir sistem tasarlanmış olacaktır.

Page 8: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

VIII

ŞEKİLLER DİZİNİ

Şekil 1 Nesne Takip Sisteminin Blok Diagramı .................................................................... 6

Şekil 2 Meanshift Blok Diagramı .......................................................................................... 7

Şekil 3. RS232 Dış Görünümü ............................................................................................ 10

Şekil 4. L7805 Entegresi ..................................................................................................... 13

Şekil 5. HC05 ve ARDUİNO .............................................................................................. 13

Şekil 6. Sistemin Görünüşü ................................................................................................. 14

Page 9: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

IX

ÇİZELGELER DİZİNİ

Çizelge 1. Çalışma Takvimi .................................................................................................. 2

Çizelge 2. RS-232 Pin İşlevleri ........................................................................................... 11

Çizelge 3. Maliyet Hesabı .................................................................................................. 24

Page 10: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

X

SEMBOLLER VE KISALTMALAR

MATLAB : MATrix LABoratory

MMK : Magneto Motor Kuvveti

DA : Doğru Akım

AA : Alternatif Akım

Page 11: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

1

1. GİRİŞ

Günümüzde gelişen teknoloji ile birlikte ülke savunması büyük bir önem arz

etmektedir. Günden güne değişen teknoloji, eski savunma sistemlerinin etkisini yok

etmektedir ve ülkeleri yeni sistem arayışlarına sürüklemektedir. Özellikle ulaşılan

teknolojik bilgi seviyesi savunma silahlarında sayısal üstünlük sağlamak yerine vurucu

gücü yüksek ileri teknolojiye dayalı silahlara önem vermeyi gerekli kılmaktadır. Bu

kapsamda, ülke savunma sanayiine katkıda bulunmak amaçlı kara, hava, deniz taşıtlarında

kullanılabilecek basit bir savunma sistemi gerçekleştirilecektir.

Bu projede, renkli görüntü çekimi yapan bir kameradan görüntü alımı yapılmaktadır.

Nesne takibi yapabilmek için öncelikle görüntü üzerinde, hedef nesnenin seçilmesi

gerekmektedir. Görüntüde istenilen nesne hedef olarak seçildikten sonra nesne, takip

edilmeye başlanır. Nesne takibi için kamera tarafından alınan görüntüler MATLAB

ortamında işlenerek, elde edilen sonuçlar bluetooth aracılığı ile Arduino ve sonuç olarak

servo motora iletilmektedir. Takibe alınan hedef nesne istenildiğinde kamera üzerine

monte edilmiş lazer ile imha edilecektir.

Bu projenin yapımı 4 ana bileşen esas alarak yapılacaktır. Birinci bileşen; servo

motorlarının tanıtılması, servo motorların çalışması ve servo motor çeşitleri. İkinci bileşen;

hareketli nesne takip yöntemleri. Üçüncü bileşen; seri haberleşme. Dördüncü bileşen;

MATLAB ve uygun lazer seçimidir.

Sonuç olarak, gelişen teknoloji ile beraber günümüzde kullanımı ve gereksinimi artan

video işleme teknolojileri ve lazer sistemleri ile ilgili uygulamaların önemi artacaktır. Bu

proje uygun maliyet ile ihtiyaç durumuna göre ülke genelinde sadece askeri savunma

sanayinde değil her türlü takip, kontrol, arama, veri toplama gibi işlemler doğrultusunda

şahıslar tarafından da birçok alanda kullanılabilecektir.

Page 12: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

2

Aylara göre projenin yapım aşamaları aşağıdaki tabloda verilmiştir.

Çizelge 1. Çalışma Takvimi

Görevler

Başlangıç

Bitiş

2014

Eylül Ekim Kasım Aralık Ocak Şubat Mart Nisan Mayıs

İş

Paketleri

10/2/2014

23/5/2014

1.

İşPaketi 1

10/2/2014

10/4/2014

1.1 MATLAB

Yazılımı

10/2/2014

10/4/2014

1.2 Malzeme

Temini

10/2/2014

20/2/2014

1.3 Parçaları

monte ve

test

edilmesi

21/2/2014

14/3/2014

1.4 Ana

gövde

yapımı ve

montaj

15/3/2014

10/4/2014

2.

İş paketi

2

10/4/2014

23/5/2014

2.1 Sistemin

test

edilmesi

10/4/2014

1/5/2014

2.2 Bitirme

tezinin

yazımı

1/5/2014

23/5/2014

Page 13: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

3

2. TEORİK ALTYAPI

2.1. Servo Motorlar

Servo motorlar, kontrol motorları olarak da adlandırılabilirler. Servo motorlar, elektrik

motoru olup bir sistemde çıkış hareketini kontrol edici olarak tasarlanır ve üretilirler.[1]

Servo motorlarının güçleri birkaç Watt’ dan birkaç yüz Watt’a kadar olabilir. Genelde

güç için kullanılan motorlar belirli bir hızda dönmeye göre tasarlanırlar, fakat servo

motorlar çok geniş hız komutunu yerine getirebilecek şekilde üretilirler. Servo motorlar,

yüksek hız tepkisine sahiptirler. Bu özellik ise servo motorların düşük rotor ataletine sahip

olmalarını gerektirir. Bu motorlar daha küçük çaplı ve uzundurlar. Servo motorlar

kullanıcının belirlemiş olduğu, pozisyon ve hız komutlarına göre hareket ederler.

Sonuç olarak, servo motorlar geniş bir hız yelpazesine sahip olup; robotlar, radarlar,

bilgisayarlar, takım tezgahları, izleme ve yol gösterme sistemlerinde yaygınca

kullanılmaktadır.

İki çeşit servo motor vardır:

1. DA Servo Motorlar

2. AA Servo Motorlar

Bu projede DA servo motor kullanılmış olup, DA servo motorlar tanıtılacaktır.

2.1.1. DA Servo Motorlar

Temel çalışma prensibi klasik DA motorları ile aynıdır. DA servo motorların, boyutları

küçüktür ve rotorları düşük atalate sahip olacak şekilde tasarlanırlar. DA servo motorlar,

genellikle endüvi gerilimi ile kontrol edilirler. Moment-Hız karakteristiğini sabit tutmak

amacıyla, endüvi yüksek dirence sahip olarak tasarlanır. Endüvi mmk’i ve uyartım alanı

mmk’i bir DA makinasında birbirlerine diktir. Bu sayede, hızlı moment tepkesi elde

edilmiş olunur. Çünkü moment ve akı birbirinden bağımsızdırlar. Bundan dolayı endüvi

gerilimindeki veya akımındaki adım şeklindeki değişim sonucunda, rotorun hızında ve

konumunda ani değişiklikler yapılabilir.[1]

Page 14: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

4

2.1.2. Servo Motorlarının Çalışma Prensibi

Servo motor çalışma prensibi açısından, rotoru sabit mıknatıslı DA motorudur.

Manyetik alan ile içerisinden akım geçirilen iletken arasındaki etkileşim nedeniyle,

döndürme momenti oluşur. Manyetik alan vektörü ve sargı akım vektörü birbirine dik

olduğunda, döndürme momenti maksimum olur. Motorun dönme yönü ve hızını, endüvi

akımı belirler. Endüvi akımındaki herhangi herhangi artış motorun hızını artırır, aynı

zamanda akımın yönünü değiştirerek motorun dönüş yönünü değiştirilebilir.[2]

Projede servo motorlarını Arduino programlayıcı kart kullanarak, servo motorun hızını,

yönünü PWM (Darbe Genişlik Modülasyonu) ile kontrol edildi. Bu sayede hızlı, net

sonuçlar elde edildi. PWM, robot kontrol sistemlerinde, sayısal kontrol sistemlerinde ve

diğer kontrol sistemlerinde yaygınca kullanılmaktadır.

2.1.3. Servo Motorlarının Avantajları

Servo motorlarının çok geniş bir kullanım alanına sahip olmasının nedeni bazı

avantajlara sahip olduğudur. Servo motorlarının avantajlarını sıralayacak olursak;

Döndürme momentleri yüksektir.

Yüksek kararlılığa sahiptir.

Hız değişimi kolaylıkla yapılabilir.

Çok sık aralıklarla dur-kalk yapılabilir, motoru olumsuz yönde etkilemez.

Kalkış momentleri küçüktür ve bu yüzden komutları gecikme olmadan algılar ve

yerine getirir.

DA servo motorlar az enerji harcarlar.

2.1.4. Servo Motorların Dezavantajları

Servo motorların dezavantajlarını sıralayacak olursak;

Geri besleme döngüsü, stabilize ayar gerektirir.

Kontrol devreleri gerektirir.

Karmaşıktır ve encoder gerektirir.

Yüksek fiyata sahiptirler.

Page 15: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

5

2.2. Matlab ve Hareketli Nesne Takip Yöntemleri

2.2.1. Matlab

Bu çalışmada, yazılım olarak MATLAB kullanılacaktır. MATLAB programı, kullanım

kolaylığı, işletim sistemi uyumluluğu, hazır fonksiyonlara sahip olması, grafik çizim

kolaylığı ve çok geniş kapsamda araç kutularına sahipliği tercih edilme nedenidir.

Program yazılırken Matlab ‘’ Görüntü İşleme Araç Kutusu ’’ ve ‘’ Görüntü Yakalama

Araç Kutusu’’ yardımcı olacaktır. Matlab ‘’ Görüntü İşleme Araç Kutusu ’’, daha etkili

çalışma, verileri daha hızlı anlama, daha güvenilir algoritmalar oluşturma ve programlama

sürecini daha etkili tekrarlama imkanı sağlamaktadır. MATLAB ‘’Görüntü Yakalama

Araç Kutusu’’ farklı görüntü yakalama aygıtlarından canlı veri görüntüsü sağlar. Veriyi

işlerken aynı zamanda veri alımına devam edilebilir.

Gerçek zamanlı bir görüntüde, nesnenin hareket ettiğini anlayabilmek için, görüntü

üzerinde belli bir bölgede piksel değerlerinin hareket boyunca değişiyor olması gerekir.

Hareketli görüntüyü oluşturan resim art arda incelenir. İlk resimde seçilmiş olan nesnenin

piksel değerleri, bir sonraki resimde aranıp işaretlenir. Bu işaretleme tüm resimlere

uygulanır, bu takdirde hareket algılanmış olur.

Matlab’ da bilgisayara bağlı kameraları görmek için;

İmaqhwinfo; komutu kullanılacaktır.

Webcam’ den görüntü almak için;

Video= videoinput(‘winvideo’,1); komutu kullanılacaktır.

Akan videoda resim yakalamak için;

Resim= getsnapshot(video); komutu kullanılacaktır.

Elde edilen resim çerçevesi gerekli algoritmalarla işlenecek ve sonuca ulaştırılacaktır.

Page 16: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

6

2.2.2. Hareketli Nesne Takip Yöntemleri

Yapacak olduğumuz sistemde, iyi bir organize sağlamak amacıyla, uygulanacak

algoritmalarda MATLAB kullanılacaktır. Nesne takibinin hedefi, yakalanan her resim

çerçevesi için, nesnenin izini elde etmektir. Nesne takip algoritması üç modülün

bileşiminden oluşur[3]

İlk çerçevedeki nesne seçimi

Meanshift modül algoritması

Camshift modül algoritması

Seçilen modül, ilk çerçevedeki nesnenin konumunu seçer. İlk çerçevenin içindeki nesne

arama penceresinin konumu, boyutu, uzunluğu, genişliği aracılığıyla modül başlangıç

parametreleri oluşturulur. Nesne takip adımları şekil 1’de gösterilmiştir.[3]

Şekil 1. Nesne Takip sisteminin blok diagramı

Page 17: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

7

2.2.2.1. Meanshift Algoritması

Meanshift algoritması parametrik olmayan metottur. Algoritma, detaylı bir arama

gerektirmeden etkili bir karşılaştırma ve doğru konum tespiti sağlar. Arama penceresinin

boyutu sabittir. İlk olarak o anki işaretlenen konumun Meanshift değeri üretilir.[4] Daha

sonra işaret, işaretin Meanshift değerine sanki yeni konummuş gibi taşınır. Son olarak

kesin konum belirlene kadar Meanshift değeri hesap edilir. Tek bir resim çerçevesi için,

resmin gri seviye dağılımı kullanılır. Kullanacağımız gri seviye dağılımı nesnenin yapısı

hakkında bilgi verir. Moment vasıtasıyla, nesnenin ağırlık merkezini hesaplanır. Şekil 2’de

Meanshift akış şemasında algoritmanın adımları tanımlanmıştır.

Şekil 2. Meanshift blok diagramı

Page 18: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

8

2.2.2.2. Parametrelerin Hesabı

Modülün girişleri ilk konumlarıdır, nesne arama penceresinin genişlik ve uzunluğudur. I

(x, y) ‘2D’ resmi, (x, y) ise resimdeki nesnenin konumu olsun. Denklem (1)’ de sıfırıncı

dereceden moment verilmiştir. Denklem (2), (3) ‘ de nesnenin ağırlık merkezi verilmiştir.

Bu parametreler Meanshift algoritmasının çıkışı, Camshift algoritmasının girişi olur.

Sıfırıncı dereceden moment (1), resim çerçevesinin şekli vasıtasıyla meydana gelen alanı

temsil etmektedir.[5]

M00 = ∑ ∑ 𝑰(𝒙, 𝒚)𝒚𝒙 (1)

Birinci ve ikinci dereceden momentler denklem (2)’ deki gibi hesaplanır.

M10 = ∑ ∑ 𝒙 ∗ 𝑰(𝒙, 𝒚)𝒚𝒙 ; M01 = ∑ ∑ 𝒚 ∗ 𝑰(𝒙, 𝒚)𝒚𝒙 (2)

Sıfırıncı ve birinci dereceden momentler vasıtasıyla, nesnenin ağırlık merkezi bulunur.

xc = 𝑴𝟏𝟎

𝑴𝟎𝟎 ; yc =

𝑴𝟎𝟏

𝑴𝟎𝟎 (3)

2.2.2.3. Camshift Algoritması

Camshift algoritmasının prensibi, Meanshift algoritma prensibine dayanmaktadır.

Camshift sıradaki resim çerçevesi için arama penceresinin boyutunu ayarlayarak, o an ki

resim çerçevesinin sıfırıncı momentine dayanarak, hareket dağılımını ele alır. Meanshift ile

arasındaki farkı, Meanshift statik dağılımlar için tasarlanmıştır, Camshift ise dağılımın

dinamik değişimine göre tasarlanmıştır. Değişmeyen momentlerde, arama penceresinin

boyutunu ayarlar. Bu algoritma, bir sonraki resim çerçevesindeki nesnenin hareketini

hızlıca takip edebilmek için, nesnenin hareketini tahmin eder. Nesnenin hızlı hareket

etmesi durumunda bile, Camshift algoritmasının izleme kabiliyeti çok yüksektir. Video da

nesneye rastlanıldığında ya da nesnenin hareketi olasılık dağılımının boyutunu ve

konumunu zamanla değiştirirse, Camshift algoritması devreye girer. İlk arama penceresi

algılayıcı algoritmalarla ve yazım ile belirlenir. Camshift algoritması olasılık yoğunluk

resmindeki hedef merkezi bulmak için Meanshift algoritmasından ve aynı zamanda asal

eksendeki yönelimden ve olasılık yoğunluğunun boyutundan yararlanır. Birinci ve ikinci

momentler x ve y için belirlenir. Bu parametreler, denklem (4, 5, 6) ‘ da verilmiştir.[6]

Page 19: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

9

M20 = ∑ ∑ 𝒙𝟐 ∗ 𝑰(𝒙, 𝒚)𝒚𝒙 (4)

M02 = ∑ ∑ 𝒚𝟐 ∗ 𝑰(𝒙, 𝒚)𝒚𝒙 (5)

M1 = ∑ ∑ 𝒙 ∗ 𝒚 ∗ 𝑰(𝒙, 𝒚)𝒚𝒙 (6)

Asal eksendeki yönelim ve dağılımın çizelgesi, 2D olasılık dağılım resminden ölçülen

aynı momente sahip denk dikdörtgen tarafından belirlenir. Yönelim denklem (7)’ de

gösterilmiştir.

𝚹 =

𝐚𝐫𝐜𝐭𝐚𝐧(𝟐∗(

𝐌𝟏𝟏𝐌𝟎𝟎

−𝐱𝐜∗𝐲𝐜)

((𝐌𝟐𝟎𝐌𝟎𝟎

−𝐱𝐜𝟐)−(𝐌𝟎𝟐𝐌𝟎𝟎

−𝐲𝐜𝟐)))

𝟐 (7)

İlk iki özdeğerler ( Olasılık yoğunluğun uzunluğu ve genişliği), denklem (8, 9, 10)’ da

gösterilmiştir.

a = 𝑴𝟐𝟎

𝑴𝟎𝟎− 𝒙𝒄𝟐 (8)

b = 2*(𝐌𝟏𝟏

𝐌𝟎𝟎− 𝐱𝐜 ∗ 𝐲𝐜) (9)

c = 𝑴𝟎𝟐

𝑴𝟎𝟎 -𝒚𝒄𝟐 (10)

Page 20: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

10

Ağırlık merkezindeki yoğunluğun uzunluğu ve genişliği, denklem (11, 12)’ de

verilmiştir.

L = √(𝐚+𝐜)+√𝐛𝟐+(𝐚−𝐜)𝟐

𝟐 (11)

W = √(𝐚+𝐜)−√𝐛𝟐+(𝐚−𝐜)𝟐

𝟐 (12)

2.3. RS-232 Haberleşmesi

RS-232 standardı 1962 yılında, veri alınmasını ve iletilmesini sağlayan haberleşme

protokolü olarak geliştirilmiştir. İki tür konnektör tipi bulunmaktadır. Bunlar; DB-9 ve

DB-25’dir. 9 pinli konnektörün çıkış sebebi, 25 pinli konnektörün bazı pinlerinin

kullanılmamasıdır.

Veriler 8 bitlik ASCII karakterleri ile iletilir. İletim seri yapılır. Standarda göre senkron

ve asenkron iletim mevcuttur. Gönderilen bilgi 8 bitlik lojik-1 ve lojik-0

kombinasyonlarından oluşmaktadır. Gönderici bilgiyi hatta birer bit olarak gönderir, alıcı

ise hattı sürekli dinler ve gelen veriyi toplayıp, gönderilen bilgiyi oluşturur.

RS-232’de eksi voltaj seviyesi ’1’ ve artı voltaj seviyesi ‘0’ vardır. Hattın boş olduğu

durum eksi voltaj seviyesidir. Hattan veri gönderilecek ise, hat artı voltaj seviyesine

yükseltilir ve karakterler gönderilir. Her lojik değerler +3V ile +25V arasında değer alır.

Seri haberleşme, paralel haberleşmeye göre daha yavaştır. Fakat uzak mesafelerde

iletim söz konusu olduğunda daha avantajlıdır. Daha az telli kablolar kullanılmaktadır.

Ayrıca veri iletim seviyesi 3V ile +25V arsında olduğu için data kaybı daha azdır.

Şekil 3. RS232 dış görünümü

Page 21: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

11

Çizelge 2. RS-232 pin işlevleri

Pin No Pin işlevi

Pin 1 Taşıyıcı Sinyal Dedektörü

Pin 2 Alınan Data

Pin 3 Gönderilen Data

Pin 4 Bilgisayar Haberleşmeye Hazır

Pin 5 Toprak Noktası

Pin 6 ‘On’ olduğunda alıcı ile verici arasındaki bağlantının uygun olduğunu gösterir.

Pin 7 Alıcı tarafa bilgi gönderilmek istenildiği sinyali üretir.

Pin 8 Alıcı tarafın bilgi almaya hazır olduğu sinyalini üretir.

Pin 9 Ring sinyalini belirler.

2.4. Kamera ve Lazer Sistemi

2.4.1. Kamera Sistemi

Kamera sistemini, notebook bilgisayara harici bir kamera ile sağlanacaktır. Kamera

olarak Microsoft Lifecam HD-3000 kullanıldı. Kamera, 1280 x 720 px Video çekim

çözünürlüğü ile High Definition (HD) video kayıt, 1280 x 720 px fotoğraf çekme çekme

çözünürlüğü, yazılım desteği ile 4.0 Megapiksel resim çekebilme çözünürlüğe ulaşma,

USB 2.0 ile daha hızlı görüntü akışı, kötü ışıklarda bile daha net görüntü, notebook ile

kullanabilme, 1280 x 720 px Video çekim hızı, otomatik odaklanma, geniş ekran formatı

ve esnek bağlantı tabanına sahiptir.

Page 22: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

12

2.4.2. Lazer Sistemi

Lazer teknolojisi özellikle son yıllarda büyük gelişmeler kaydetmiş ve bunun sonucu

olarak savunma sanayisinde ve endüstride çok geniş kullanım alanı bulmuştur. Lazer,

“Light Amplification by Stimulated Emission of Radiation” ifadesinin kısaltılmış olup,

uyarılmış ışının yayılımı ile ışık amplifikasyonu olarak tanımlanmaktadır. Lazer,

insanoğlunun geliştirdiği en önemli teknolojilerden biridir. Lazer teknolojisi özellikle son

yıllarda büyük gelişmeler kaydetmiş ve bunun sonucu olarak savunma sanayiinde ve

endüstride çok geniş kullanım alanı bulmuştur. Lazer teknolojisinin en çok kullanıldığı

alanlardan biri askeri uygulamalardır. Lazer; mesafe bulucu, mayın arama, lazer uyarı ve

karşı tedbir sistemleri gibi kullanım alanları yanında; özellikle son yıllarda güdümlü mermi

karşı tedbirlerinde de sıkça kullanılmaktadır. Esas olan, güçlü lazerler kullanarak

arayıcıların arama mekanizmalarını fiziksel olarak bozmaktır.

Projede kullanılmış olan lazer sadece prototip olacaktır. Gerçekte yapılmak istenen lazer

sistemi, kara-deniz ve havada tehdit unsuru oluşturan; Savaş gemisi, İnsansız Hava

Araçları ve Panzer/Tank gibi hedefleri algılayacak, takip ederek ve lazerle etkisiz hale

getirecektir.

2.5. Arduino

Arduino, veri görselleştirme alanında programlar yazmayı oldukça kolaylaştırdığından

günümüzde oldukça popüler hale gelmiştir. Geliştirme ortamının ve sürücülerinin

kurulumu çok kolay olduğu için, bütün platformlarda çalışabilir. Sahip olduğu geniş

kütüphaneler sayesinde birçok karmaşık işlem kolaylıkla gerçekleştirebilir. Programlar

başka bir platform üzerinde koşmadığından ve sade bir dili olduğundan oldukça hızlıdır.

Birlikte çalışabilecek birçok ek donanımı desteklemektedir. En önemlisi açık kaynak kodlu

olması yanında, benzerlerine göre fiyatı uygun olduğundan, herkes tarafından tercih

edilmektedir. Projede Matlab’ dan gelen veriyi yorumlamak ve servo motoru harekete

geçirmek amacıyla, şekil 5’de gösterildiği üzere Arduino UNO kullanılmıştır.

Page 23: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

13

2.6. L7805 Entegresi

7-12 V arası giriş değerlerinde, sabit 5V çıkış gerilimi verir. Maksimum 1 A çıkış alınır.

Şekil 4’ de görüldüğü gibi 1 numaralı bacağı giriş, 2 numaralı bacağı toprak, 3 numaralı

bacağı ise çıkıştır.

Şekil 4. L7805 entegresi

2.7. HC05 Bluetooth Modül

Projede Matlab ile Arduino haberleşmesinde kablo fazlalığından kurtulmak amacıyla

bluetooth modül kullanılmıştır. HC05 bluetooth modül, 2.4 Ghz frekansında haberleşmeye

imkan sağlayıp, 10 metrelik haberleşme mesafesine sahiptir. Çalışma gerilimi 1.8V-3.6V

arasındadır. Projede, modülün beslemesini Arduino üzerinden 3.3 V ile sağlanmıştır.

Şekil 5. HC05 ve Arduino

Page 24: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

14

3.TASARIM

Projenin tasarım aşamasında, mekanik ve elektriksel düzeneğin oluşturulmasında yatay

ve dikey hareketi sağlayan pan-tilt servo motor düzeneği, Arduino, bluetooth modül, harici

güç kaynağı, lazer ve bunları muhafaza edecek olan 20x10x7 boyutlarında bir kutudan

oluşmaktadır.

Şekil 6. Sistemin görünüşü

3.1. Gövde

Şekil 6’ da gösterildiği gibi 20x10x7 boyutlarında ahşap kutudan oluşmaktadır. Üst

kapak tarafı kayan kapak tarzında yapılmış olup, herhangi bir arıza durumunda müdahale

edilmeye olanak sağlayacaktır.

3.2. Pan-Tilt Servo Motor ve Lazer Düzeneği

Şekil 6’da görüldüğü gibi düzenekler gövdenin üst kapağına, hareketini rahatlıkla

yerine getirebilecek şekilde yerleştirilmiştir. Üzerine aynı zamanda kamera ve lazer monte

edilmiştir.

3.3. Arduino ve Bluetooth Modül

Şekil 6’da gösterildiği üzere arduino pinlerine rahatlıkla ulaşılabilecek ve sağlıklı monte

edilebilecek şekilde konumlandırılmıştır.

Page 25: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

15

3.4. Harici Güç Kaynağı

Harici güç kaynağı olarak, cihazlar 5V ve aşağı değerlerde çalıştığı için skalası 0V ile

12V arasında değişen ayarlı adaptör kullanıldı. Aynı zamanda kablo fazlalığını önlemek

amaçlı işlemci 9V pil ile beslendi.

Page 26: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

16

4. DENEYSEL ÇALIŞMALAR

Servo motor kontrolü, Matlab ve bilgisayar ile iletişimini sağlayan bluetooth modül ile

Arduino üzerinden gerçekleştirilmiştir.

4.1. Matlab

Projenin ana yazılım kısmı, Matlab ortamında yazılan kod ile gerçekleştirilmiştir.

Program ilk olarak, görüntü yakalama fonksiyonlarını, daha sonra elde ettiği verilere göre

görüntü işleme fonksiyonlarını ve son olarak ise servo motor kontrol fonksiyonlarını

içermektedir.

Sistemi kontrol etmek için bilgisayar kullanılmıştır. Gerekli işlemleri bilgisayara

yaptırmak için Matlab kullanılmıştır. MATLAB programı, kullanım kolaylığı, işletim

sistemi uyumluluğu, hazır fonksiyonlara sahip olması, grafik çizim kolaylığı ve çok geniş

kapsamda araç kutularına sahipliği tercih edilme nedenidir.

Görüntü işleme yaparken en çok karşılaşılan problem resimlerdeki parlaklık ve

kontrasttır. Her bir değişim sonuçları olumlu veya olumsuz yönde etkilemektedir. Seçilen

nesnenin hareket edip, etmediğini anlamak için piksel değerlerine bakılır. Eğer arama

penceresinde herhangi piksel değişimi mevcut ise orada hareket var demektir. Bu noktada

parlaklık ve kontrasttın önemi bir kez daha anlaşılmaktadır. Programda ilk olarak Arduino

ile haberleşmeyi sağlayacak seri portu açıp, bluetooth modül ile bağlantı kurulur. Bağlantı

kurulduktan sonra kamera devreye sokularak, görüntüde hedef nesnenin seçimi sağlanır.

Parlaklıktan minimum düzeyde etkilenmek için görüntüyü RGB uzayından, HSV uzayına

dönüştürülür. İşlemler HSV uzayında yapılıp, Meanshift ve Camshift algoritması

kullanılarak, hedef nesnenin değerleri elde edilir.

Bir sonraki görüntüde arama penceresinde aynı değerler aranır. Tarama işlemi önceki

değerlerden farklı bir değer elde edesiye kadar devam eder ve yeni merkez koordinatları

belirlenir. Elde edilen koordinatlara göre nesne görüntüde kare içine alınır. Nesne

görüntüde ortalandığında lazer ile imhası sağlanır.

Motorun hareketini sağlamak amacıyla, elde edilen koordinatlar seri port aracılığı ile

kablosuz olarak gönderilir.

Page 27: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

17

4.2. Arduino

Matlab tarafından ilk olarak Arduino üzerine bağlı olan bluetooth modüle, com

portları aracılığı ile bağlanır. Bağlandıktan sonra, nesnenin görüntüde değişimine göre,

bluetooth üzerinden Arduino seri portuna datalar gelir. Arduino, gelen datayı içeresindeki

yazılmış olan programa göre işleyip, digital pinlerinden çıkış alarak servo motorlarının

hareketini sağlar.

Page 28: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

18

5. SONUÇLAR

Bu tez kapsamında hareketli kameradan alınan görüntüler ile gerçek zamanlı hareketli

nesne takibi ve lazerle imhası gerçekleştirilmiştir. Kamera yatay ve dikey yönde hareket

edebilen, Pan-Tilt motorunun üzerine monte edilmiştir. Sistem hareketli kamera ile

hareketli nesneyi başarılı bir şekilde takip edebilmektedir. Görüntü üzerinden hedef nesne

seçildikten sonra, nesnenin renk olasılık dağılımı çıkartılır. Bu amaçla nesnenin bütün

piksellerinin değeri hesaplanıp, bu hesaplamalar doğrultusunda nesnenin konumu

belirlenir.

Nesne takip aşamasında, hedef nesnenin bir önceki görüntüde bulunan değerleri

kullanarak nesne takibine başlanmaktadır. O anki görüntü üzerinde aranacak olan nesnenin

merkezi, bir önceki nesnenin merkeziyle aynıdır. Yani arama penceresinin koordinatları,

bir önceki elde edilen değerlerle aynı olacak şekilde ayarlanır. Algoritmalar sonucunda

elde edilen değerler ile nesnenin olası yeri bulunur ve kare içine alınır. Bir sonraki

görüntüde yeni elde edilen değerler kullanılarak, nesnenin takibi sağlanır. Görüntü alımı

devam ettiği sürece, nesne takibi bu şekilde sağlanır.

Sistemi olumsuz yönde etkileyen faktörleri sıralayacak olursak;

Hedef nesnenin parlak bir cisim olması ve ortamdaki ışığın fazla olması

durumunda, nesneyi işaretlemek yerine parlak olmayan yerleri hedef olarak

işaretlemektedir.

Nesnenin bütünsel bir nesne olmadığı durumlarda, yani insan gibi karmaşık yapıya

sahip nesne seçildiğinde, hedef nesnenin görüntüsü gereksiz bilgi içerdiğinden

takip aşaması sekteye uğrayabilmektedir.

Takip edilen nesnenin hareketi çok hızlı olması durumunda nesne gözden

kaçabilmektedir.

Page 29: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

19

6. YORUMLAR DEĞERLENDİRMELER

Hareketli nesne takibi, uluslararası savunma alanında kullanılan, bilinen bir yöntemdir.

Bu zamana kadar birçok hava, deniz, kara araçlarında kullanılarak gerek hedef takibi

gerekse sınır güvenliği gibi birçok alanda kullanılmıştır. Ülkeler bunun sayesinde

sınırlarının bütünlüğünü koruyabiliyor ve sistemin avantajlarından yararlanabiliyor. Fakat

hareketli nesne takibi bir savunma aracı olmaktan çıkıp aynı zamanda saldırı aracı olarak

da kullanılmalıdır. Bu proje doğrultusunda sistemin bu yöndeki yetersizliğinin farkına

varıp ona göre bir çalışma yapılmıştır.

Bu çalışmada görüntü işleme teknikleri kullanılmış ve hangi yöntemlerin

kullanılacağı, hangi kodlarla hayata geçirilebileceği kavranmış aynı zamanda kullanılmış

olan seri haberleşme ve bluetooth modülünün kullanımı ve değerlendirilmesi hakkında

bilgi ve deneyim kazanılmıştır. Bunlara ek olarak Arduino ile kod yazma yeteneği

kazanılmış olup, kullanılan entegre hakkında bilgi ve deneyim kazanılmıştır.

Yapılan çalışmalar doğrultusunda, orta bütçeli bir maliyetle, amaçlarına uygun bir

tasarım, uygulamaya dönüştürülmüştür. Elde edilen ve kazanılan bilgiler mühendislik

hayatı boyunca karşılaşılan güçlüklerde kolaylıklar sağlayacağı düşünülmektedir.

Page 30: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

20

KAYNAKLAR

[1]. G. Bal, ‘’ Özel Elektrik Makinaları ’’, Ankara, 2006

[3]. S.Afef and Y.J. Ameni, “ Object tracking system using Camshift, Meanshift and

Kalman filter ”, World Academy of Science, Engineering and Technology 64, 2012

[2]. MEGEP yayınları

[4]. E. Yılmaz, C. Manav , “Matlab kullanarak basit bir güvenlik sistemi geliştirilmesi”,

POLİTEKNİK DERGİSİ, CİLT 12, SAYI 2, 2009

[5]. S. Yao, X. Chen, S.Wang, Z. Jiao, Y.Wang, D. Yu, “Camshift Algorithm –based

Moving Target Recognition and Tracking System”, College of Precision Instrument &

Opto-electronics Engineering, Tianjin University

[6]. P.Hidayatullah, H.Konik, “CAMSHIFT Improvement on Multi-Hue and Multi-Object

Tracking”, 2011 International Conference on Electrical Engineering and Informatics 17-19

July 2011, Bandung, Indonesia.

Page 31: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

21

EKLER

EK1: IEEE Etik Kuralları

Page 32: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

22

Page 33: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

23

Page 34: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

24

EK2: Disiplinlerarası Çalışma

Projenin ana kısmını oluşturan kamera ve pan-tilt motor internet üzerinden alındı. Diğer

elektronik malzemeler, tedarikçilerden temin edildi.

Projenin gövde kısmını yapmak için, ilk olarak boyutlarına karar verildi. Boyutları

kararlaştırdıktan sonra, malzemeye karar verildi. Son olarak lazer ile kesim atölyesine

gidilip, istenilen boyutta ve istenilen cinste malzeme ile kesim yaptırıldı.

Projenin detaylı maliyeti tablo.3 ‘dedir.

Çizelge 3. Maliyet Hesabı

Ürün Adı Marka Ürün Vasfı Birim Fiyatı

Lifecam HD-3000 Microsoft Kamera 95,00 TL

GS-9025MG GOTECH Servo Motor 45,00 TL

Programlayıcı Arduino Uno İşlemci 60,00 TL

Osel SuperPower Pil 2,5, TL

AT-500 ATABA Adaptör 20,00 TL

Lazer - Lazer 3,00 TL

Kablolar, delikli

pertinaks ve

butonlar

-

-

30,00 TL

TOPLAM

255,50 TL

Page 35: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

25

EK 3: Standartlar ve Kısıtlar

Tasarım Projesinin hazırlanmasında Standart ve Kısıtlarla ilgili olarak, aşağıdaki soruları

cevaplayınız.

1. Projenizin tasarım boyutu nedir? Açıklayınız.

Canlı görüntüyü alabilmemize yarayacak olan kamera, servo motorunun üstüne monte

edilecektir. 180° görüş açısına sahip olacaktır. Arduino, bluetooth ve güç kaynağı,

yapılacak olan kutunun içinde bulunacaktır.

2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü?

Proje kapsamında, görüntünün ağırlık merkezini bulmak için moment hesabı yapılmıştır.

3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız?

MATLAB, Elektronik Devreler dersi, Kontrol Sistemlerine Giriş dersi, Endüstriyel

Elektronik dersinde öğretilen motor kontrolü ve diğer derslerde öğretilen birçok teorik

bilgi proje kapsamında kullanılmıştır.

4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir?

Bağlantılarda kullanılacak kablolar TSE standartlarına uymaktadır. Lazer EN 60825-1

Uluslararası Standartlarına uygundur.

5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir?

a) Ekonomi

Bu projede kullanılan her türlü yazılım, donanım, yazılım programları her türlü

ekonomik şartlara uygundur.

b) Çevre sorunları:

Projenin çevreyi olumsuz etkileyecek herhangi bir etkisi yoktur.

c) Sürdürülebilirlik

Proje amaçlar doğrultusunda geliştirilebilir.

c) Üretilebilirlik:

Proje alanında birçok projeye örnek olabilecek ve araştırmalara destek

sağlayabilecek yapıdadır. Üretilebilirliği mümkündür.

Page 36: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

26

e) Etik:

Çevreye bir zararının olmadığı tespit edildiğinden etiğe uygun kurallar

çerçevesinde olumsuz bir etkisi yoktur.

f) Sağlık:

Projenin tasarlanmasında temel alınan standartlar çerçevesinde sağlık sorunu

yaratacak bir durum içermemektedir.

g) Güvenlik:

Bu proje tamamlandıktan sonra yapılan sistemin belirlenen hedef kitleler

doğrultusunda, ihtiyaçları karşılayarak faydalı olacağı hedeflenmiştir. Bu

durumda, hava, deniz, kara taşıtlarında kullanılabilecek aynı zamanda sivil hayatta

otomatik gözetleme sistemleri, trafik gözetleme ve kontrol sistemleri ve güvenlik

sistemlerinde kullanılabilecek bir sistem tasarlanmış olacaktır.

h) Sosyal ve politik sorunlar:

Gelişen teknoloji ile beraber günümüzde kullanımı ve gereksinimi artan video

işleme teknolojileri ile ilgili uygulamaların önemi artacaktır. Bu proje uygun

maliyet ile ihtiyaç durumuna göre ülke genelinde sadece askeri savunma

sanayinde değil her türlü takip, kontrol, arama, veri toplama gibi işlemler

doğrultusunda şahıslar tarafından da kullanılabilmesi için sistemin daha da

basitleştirilebilir.

Page 37: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

27

EK3: KODLAR

close all;

clear all;

clc;

s2 = serial('COM40','BaudRate',9600); %seri haberleşme

fopen(s2);

vid = videoinput('winvideo', 1, 'MJPG_640x360');

set(vid,'FramesPerTrigger',2);

set(vid,'FrameGrabInterval',1)

set(vid,'TriggerRepeat',Inf);

src.Saturation = 23;

triggerconfig(vid,'manual');

start(vid);

deger=0;

while(vid.FramesAcquired<=200)

trigger(vid);

resim=getdata(vid);

deger=deger+1;

artis=8; % arama penceresinin arttırımı

minmesafe=0.1; % eşleşme değeri

maxiterasyon=15;

I=resim(:,:,:,1);

if deger==1

image(I);

k = waitforbuttonpress;

point1 = get(gca,'CurrentPoint'); % mouse pressed

rectregion = rbbox;

point2 = get(gca,'CurrentPoint');

point1 = point1(1,1:2); % extract col/row min and maxs

point2 = point2(1,1:2);

lowerleft = min(point1, point2);

upperright = max(point1, point2);

cmin = round(lowerleft(1));

cmax = round(upperright(1));

rmin = round(lowerleft(2));

rmax = round(upperright(2));

Page 38: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

28

center(1,1)=floor((rmin+rmax+1)/2); % hedef nesnenin merkezi

center(1,2)=floor((cmin+cmax+1)/2); %

yaricenter(1) = round(abs(rmax - rmin)/2);

yaricenter(2) = round(abs(cmax - cmin)/2);

yaricenter_bg=2*yaricenter;

L=[cmin cmin+yaricenter_bg(1,2)];

W=[rmin rmin+yaricenter_bg(1,1)];

end

set(gcf,'DoubleBuffer','on'); % set double buffer

uzunluk=size(I,1); % resmin genişliği ve uzunluğu

genislik=size(I,2);

figure(1);hold on;

for i = 1:2

if i==1 % ilk çerçeve

cerceve=resim(:,:,:,1);

elseif i>1 %

cerceve=resim(:,:,:,i); %ikinci çerçeve

hue=rgb2hsv(cerceve);

iterasyon=0;

eskimerkez=center;

rmin=center(1)-yaricenter(1)-artis;

rmax=center(1)+yaricenter(1)+artis;

cmin=center(2)-yaricenter(2)-artis;

cmax=center(2)+wyaricenter(2)+artis;

while 1

m00=0.0;

m10=0.0;

m01=0.0;

m20=0.0;

m02=0.0;

m11=0.0;

for i=rmin:rmax

for j=cmin:cmax

if (i>=1 & i<=uzunluk & j>=1 & j<=genislik)

m00=m00+double(hue(i,j));

m10=m10+i*double(hue(i,j));

m01=m01+j*double(hue(i,j));

m20=m20+i*i*double(hue(i,j));

Page 39: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

29

m02=m02+j*j*double(hue(i,j));

m11=m11+i*j*double(hue(i,j));

end

end

end

center_r(1)=round(m10/m00);

center_r(2)=round(m01/m00);

oldL=L;

L=[floor(center_r(2)-w_halfsize(2)) floor(center_r(2)+w_halfsize(2))];

iterasyon=iterasyon+1;

MS=sqrt(sum((center_r-eskimerkez).^2));

if (MS<minmesafe | iterasyon>=maxiterasyon)

break;

end

eskimerkez=center_r;

center=floor(center_r);

rmin=center(1)-yaricenter(1)-artis;

rmax=center(1)+yaricenter(1)+artis;

cmin=center(2)-yaricenter(2)-artis;

cmax=center(2)+wyaricenter(2)+artis;

end

end

rmin=center(1)-yaricenter(1);

rmax=center(1)+yaricenter(1);

cmin=center(2)-yaricenter(2);

cmax=center(2)+yaricenter(2);

% motor hareket kısmı.....................

while(hip>=60)

if center(1,2)<mcenter(1,2) && center(1,1)<mcenter(1,1)

durum=1;

fwrite(s2,'1');

pause(0.2)

else if center(1,2)>mcenter(1,2) && center(1,1)<mcenter(1,1)

Page 40: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

30

durum=2;

fwrite(s2,'2');

pause(0.2)

else if center(1,2)<mcenter(1,2) && center(1,1)>mcenter(1,1)

durum=3;

fwrite(s2,'3');

pause(0.2)

else if center(1,2)>mcenter(1,2) && center(1,1)>mcenter(1,1)

durum=4;

fwrite(s2,'4');

pause(0.2)

end

end

end

end

break;

end

% nesnenin ekranda gösterilmesi....................

if rmin<2

rmin=2;

end

if rmax>uzunluk-1;

rmax=uzunluk-1;

end

if cmin<2

cmin=2;

end

if cmax>genislik-1

cmax=genislik-1

end

% takip sonucunu gösterme

image(takip);

drawnow;

end

Page 41: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

31

end

fwrite(s2,'5');

fclose(s2);

stop(vid);

Page 42: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

32

ÖZGEÇMİŞ

İsmail GÜLLÜPINAR, 19/01/1989 tarihinde MANİSA ilinin Turgutlu ilçesinde

doğdu. İlköğretiminin ilk 6 yılını Samiye Nuri Sevil İlköğretim okulunda tamamladı.

Ortaokul 7. Sınıftan itibaren Özel Kocatürk Kolejine devam ederek, lise eğitimini Turgutlu

Anadolu Lisesi’nde tamamladı. 2008 yılında Karadeniz Teknik Üniversitesi Elektrik-

Elektronik Mühendisliği Bölümü’nde lisans eğitimine başladı. 3. Sınıfta bölümlerin

ayrılması ile seçimini Elektronik-Haberleşme dalı olarak yaptı. 4.Sınıfta Erasmus öğrencisi

olarak Univesidad Pontificia Comillas ‘da eğitim gördü. Şu an 5. Sınıf öğrencisi olarak

öğrenimine devam etmektedir.

Page 43: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

33

Page 44: KARADENİZ TEKNİK ÜNİVERSİTESİ Mühendislik Fakültesi · 2.2. Matlab ve Hareketli Nesne Takip Yöntemleri 2.2.1. Matlab Bu çalışmada, yazılım olarak MATLAB kullanılacaktır

I