Pazartesi, Mart 12, 2012

Optic-Flow (optik akış)

Evet gel gelelim ilk projemize Optic-Flow(OF). Nedir bu optic flow diye sorcak olursanız şöyleki birçok hayvanın gözleri olmasına rağmen hayatta bizim kadar net göremezler. Bu yüzden etrafında olan olaylara tepki verebilmek için değişik yöntemler geliştirmişlerdir. Bunun en güzel örneği arıların görme duyularıdır. Bu küçük haşerelerki (korkarım  =) ) etraflarındaki olayı 1saniye gördüğü nesneyle o anki pozisyonu arasında sabit bir noktasını baz alarak bir çizgi çekiyo. Eğer çizgi çoookkkkkkk uzunsa diyorki evet az sonra kafadan geçicem az yön değiştireyim. Karışık oldu değilmi şöyleki arabayla giderken 5km ötedeki dağa baktığınızda dağın tepesi hemen hemen sabit gibi görünür fakat yolun kenarındaki elektrik direkleri göz açıp kapayıncaya kadar geçer. işte bu küçük haşereler eğer yakınlarındaki nesnelerin hızları çoksa(optic flow vektörleri uzunsa ve uzuyorsa) yön değiştirmesi gerekiyor. öyleki arıyı bir kutuya koysanız bile arı bu özelliğiyle kutunun tam ortasından uçabiliyor. Bu demek değilki arı alıyo eline kalemi defteri denklemlerle uğraşıyo sadece basit bir karşılaştırmayla dengelemeye çalışıyo.


Gel gelelim işin güzel tarafına. Günümüzde bir çok üniversitede araştırma konusu olan(http://people.epfl.ch/104340   burdaki abi olayın ....unu çıkarmış bi insan makalelerini okumakta fayda var.). bu özellik (ki maalesef türkiyede çok az ) çeşitli alanlarda kullanılmaktadır Hatta öyleki sizin kullandığınıza yemin edebilirim =) nasılmı hani şu bilgisayarınızda az önce bu siteyi açmak için bi o yana bi buyana gezdirdiğiniz altından muhtemel kırmızı ışıklar saçan nesne tam olarak bu mantıkla çalışıyor. 1980 lerde 2 abim oturmuş demişki bu biyologlar bunu bulduda bu hayvanlar nasıl bunu buluyodiyip matematiksel olarak ispat etmişler. Horn-schunck ve Lucas Canade. tabi her 2side farklı algoritmalar  geliştirmişler ama sonuç aynı fakat genel olarak kullanım alanlarına göre performansı değişken örneğin horn-sch. 2 boyutta daha iyi sonuç verirken Lucas abim 80lerde 3 boyut teknolojisinin yaygınlaşacağını anlayıp 3 boyutta çalışan algoritmayı yapıştırmış ama genede şu an için hala 2 boyutta takılıyoruz." Henüz fareyi havada kullananımız yok  sanırım".  Sonra bu Horn abimin algoritmayı 1999 larda alıp bizim o içinde ağır top olup böle dönmeli kapağıyla büyük bi çoğunluğumuzun hatırlayacağı içinde encoder diski bulunan mouselara veda etmemizin öncüsü olmuş. Yaklaşık tırnağımız büyüklüğünde saniyede 600 ile 6000 frame çekebilen derken dediğim şeyi birdaha düşünün bir kameraya sahipsiniz. bunu şöle açıklayabilirim bir webcam 30frame çekerse iyi bir kameradır.:) yani o elinizde salladığınız zavallı şeyin değerini iyi bilin aradada temizleyin!!! =) şimdi diyeceksinizki oldu ccanım biz 1000lerce lira verip fotoğraf makinesi alıyoz 10 llirayada fare alıyoz. ever haklısınız ama fare 16*16 yada 32*32 lik görüntüler çekersken o pahalı fotoğraf makineleri 10mp çekiyo merak eden var 5000* bilmem ne civarı . Neyse sonuç olarak emin olun fotoğrafı kimse beğenmicek. ama genede fotoğraf çekebilirsiniz. Şimdi bu alet okadar fotoğraf çekip napıyo her bir görüntüyle bir öncekini karşılaştırıp bir vektör çıkarıyo. bu vektörün x ve y eksenideki bileşenleri bulanarak karelerinin toplamından çıkan kısmı sizin bilgisayarınızıda gönderiliyo. işlem aslında bu kadar basit tabi o vektörü çıkarmak ölüm :D üzerinde çalışacak arkadaşlar nedemek istediğmi çok yakında anlıcaklar.  işin biraz teknik kısmına inecek olursak bu mouse chippleriki genellikle ADNS firması yada PAN (dandiktir)  üretir. çok hassas konumlandırılması gerekir.Yani lucas ve horn abim sadece vektörlerle ilgilendiğinden bunun hız kısmıyla ilgilenmemişler bu sebepten ötürüki eğer mousun hızı bulunmak isteniyorsa vektörün yanı sıra  yükseklik bilgisinede ihtiyaç duyulmaktadır. (mousedaki hassas konumlandırma mouse chipinin içine yazılan yükseklik değeri sabit olduğundan ötürüdür. ve mouse 2-3 cm havadayken çözünürlü yetmediğinden (altındaki mercekten ötürü) algılama yapamayacaktır.)



Budurumda eğer projemi hızla alakası olsun istiyorsak yani sadece görsel olsunda bana yeter demiyosanızki öle diyorsanız  ROBOREALm adlı program tam size göre robotlar üzerinde her türlü görme hakkında toolbax var fakat 30 gün kullanım kısıtlamalı.Ya bir algoritmaa ihtiyacınız var yada bir mouse chipine. Şimdi 2 yol var biri kardeş ben mouse chipi karıştırmam alırım webcamimi bağlarım diyorsanız allah size kolaylık versin yollarımız ayrılıyo.=)(Beagleboard görüntü işleme konusunda 1 numara sakın şaşmayın gerçek zamanlı olarak simulingle çalışabilirseniz ki(http://www.mathworks.com/academia/beagleboard/) ah burda var.hem algoritmanız işe yarıyacaktır hemde görüntü kolay işlersiniz. Artık ondan sonrası size kalmış. yok kardeş naptın mouse chipinden alırım bilgileri sharpında çakarım yüksekliğide veririm diyorsanız buyrun devam edelim.

Şimdi proje dedik birazda projeden bahsedelim bizim okulumuzun undergraduate research project olarak verilen mece 408 dersinde mousechip kullanılarak  robotların hız, konum (ilk başladığı konumdan itibaren rota) ve engellerden kaçınmasını sağlamak için robotlara entegrasyanonunu sağlamak. ki robotikle alakası olanlar önemini anlıyacaklardır. Proje hakkında daha detaylı bilgi verememekle birlikte proje için yapılan literatür araştımasını sizlerle paylaşacağım. Bu proje çerçevesinde okulumuz Atılım ünivesitesi bize hatrı sayılır bi miktar para ayırdı. Buders kapsamında 30 kişi 5 erli ve 4 li gruplar halinde farklı alanlardaki projelerde ilgilenmekte ve her proje ayrı ayrı desteklenmektedir.Bunun içinde uçan robotlar, bio inspired , insansı robotlar, güvenlik robotları gibi bir çok alt başlık bulmak mümkün. Bölümümüzünde akademik personolinin katkısıyla yürüttüğümüz projelerde (isim kullanmıyorum çünki izin almadım =) ) Alımlar gerçekleştirilmektedir. Bu konuyla ilgili olarak hemen hemen her elektronik veya mekatronik ürünlerle ilgilenen arkadaşımızın duyduğunu tahmin ettiğim arduino ile ön bir çalışma yapılmasını düşündük.Aslına bakılırsa bir mouse alıp parçalamaktansa diydrone firmasının ürettiği ve ardupilotta kulanılmak üzere tasarlanan Adns 3080 çiplerinden kullanmakla başladık bunun nedeni diğer 2610 gibi chiplerden x ve y değerleri alınabilirken bunun gibi üst sınıf  bir çipten hem hassasiyeti daha fazla hemde görsel olarak bir çıktı alabilmemizin mümkün olmasıydı.Bunun anlamı 2610 ile ölçülebilecek maksimum hızın ki maksimum 1200 frame çekiyordu sanırım (max 15km/hour gibi bişeydi hatırladığım kadarıyla) adns 3080 ile karşılaştırıldığında bir hayli düşük kalmasıydı (40km/hour a yakın bişeydi buda).

Çok önemli not::Canım webcam kullanan arkadaşım 30 frame le ancak mikroskopik canlıların hhızını ölçersin bir dost.:)

Sonuç olarak dedik madem hız ölçüme odaklı bi proje e ozaman 3080 dedik ama hemen hemen her farenin içinden çıkan 2610 ki 5 liralık fareden çıktı 50 liralık farelerde bulunan adns 3080 i elde etmek bir hayli zor oldu. digikey ve benzer firmalarda olmasına karşın minimum 1000 tane gönderirim diyince 3080 tarlası yapamıcağıma karar verip 50 liraya fare alıp parçalamaktansa ki o paraya fare alırsam kendimi affetmem =) 40dolara arducopter için lan shieldini almak mantıklı geldi. (Mantığa gel. tabi bunda okul bütçesinin etkisini yoksaymamak gerekir.) dedik alak 4-5 tane derken yükseklik ölçecez dedik 5-30 cm sharptan aldık 2-3 tane derken programlayısı olsun deyip 2 tane arduino fio  derken bu liste uzadı gitti. Şimdi gelelim konuyu biraz daha açmaya ama saat 1:31 uykum var ve sabah 9:30da kontrol dersi beni bekler. Görüşürüz.

Olaki buraya kadar okuyan bi insan evladı çıkar ve soru sormak isterse elimden geleni yaparım ister mailden ister burdan ulaşabilirsiniz kolay gelsin. (kendini kandırıyon kim okusun buraya kadar. delimi bu insanlar =) )

7 yorum:

  1. Elinize sağlık, yazı güzel, faydalandım. Ancak yazı fontu okumayı çok zorlaştırıyor. Okuyucularınız için değiştirmeyi düşünebilirsiniz. :)

    YanıtlaSil
  2. (kendini kandırıyon kim okusun buraya kadar. delimi bu insanlar =) )
    herkes akıllı olmuyor :)

    YanıtlaSil
  3. Teşekkürler faydalı bir yazı oldu benim için. Yazanın yayımlanması biraz uzun sürmüş ama 1.31 1.34 :)

    YanıtlaSil
  4. Teşekkürler faydalı bir yazı oldu benim için. Yazanın yayımlanması biraz uzun sürmüş ama 1.31 1.34 :)

    YanıtlaSil
  5. Güzel bir yazı olmuş gerçekten.Faydalandım (Not:sene 2018 ve hala okuyan var :) )

    YanıtlaSil
  6. bende okudum, teşekkürler, 04/2019

    YanıtlaSil

Powered By Blogger