Gerçek Zamanlı Ataletsel Hareket Bulanıklı˘gı Ölçe˘gi A
Transkript
Gerçek Zamanlı Ataletsel Hareket Bulanıklı˘gı Ölçe˘gi A
2014 IEEE 22nd Signal Processing and Communications Applications Conference (SIU 2014) Gerçek Zamanlı Ataletsel Hareket Bulanıklığı Ölçeği A Real-Time Inertial Motion Blur Metric Mehmet Mutlu, Afşar Saranlı Uluç Saranlı Elektrik ve Elektronik Mühendisliği Bölümü Orta Doğu Teknik Üniversitesi {memutlu,afsars}@metu.edu.tr Bilgisayar Mühendisliği Bölümü Orta Doğu Teknik Üniversitesi saranli@ceng.metu.edu.tr Özetçe —Mobil robotlar, gövde salınımları ve bozuculardan kaynaklanan algılayıcı verilerindeki bozulmadan olumsuz etkilenirler. Özellikle robot üzerinde bulunan kameralar ile kaydedilen resimlerdeki bilgi kaybı çok fazla olabilir ve bu bilgi kaybı geri alınamayabilir yada resmi bulanıklığını az da olsa giderebilmek işlemsel olarak masraflı olabilir. Bu çalışmada, mobil kameralar ile yakalanan resimlerde oluşan ortalama hareket bulanıklığını azaltacak özgün bir yöntem önerilmiştir. Sadece ataletsel algılayıcılar kullanılarak gerçek zamanlı hesaplanabilir hareket bulanıklığı ölçeği (HBÖ) türetildi. HBÖ’nün tutarlılığı optik akış sonuçları ile karşılaştırılarak onaylandı. HBÖ’nün kullanışlılığını ifade edebilmek için RHex özerinde hareket bulanıklığını aza indirgeyecek bir sistem yapıldı. Bu sistemde, düz bir zeminde ileri doğru giden robot üzerindeki bir kamera gerçek zamanlı hesaplanan HBÖ’nün değerine göre tetiklendi. Önerilen sistemle alınan resimlerdeki hareket bulanıklığı sabit aralıklarla alınan resimlerdeki hareket bulanıklığı ile görsel değerlendirerek karşılaştırıldı. kameralarda asıl bozucu etken olarak gösterilebilir. Bahsi geçen robotların üzerine yerşeltirilmiş kameralardaki en etkin bozucu kameranın pozlama sırasındaki kendi hareketinden kaynaklanan görüntü bulanıklığıdır. Hareket bulanıklığı, hız tahmin etmek [2] yada bir resmin üzerinde oynamalar yapılıp yapılmadığını anlamakta kullanıldığında [3] faydalı gözükebilir. Fakat çoğunlukla resimlerden özellik çıkartmaya çalışan algoritmaların performansını olumsuz etkiler [4]. Anahtar Kelimeler—Hareket Bulanıklığı Ölçeği, Kamera Tetikleme Yazılım tabanlı yöntemler ise resim bozulduktan sonra geri filtreleme yöntemleri kullanarak hareket bulanıklığının etkilerini geri alıp keskin hatları olan resimler elde etmeyi amaçlar [7]. Fakat bu yöntemlerin çoğu, bir resim için bile gerçek zamanlı uygulanamayacak kadar hesaplama gücü gerektirir [8]. Ayrıca bazı etkilerin sebep olduğu bilgi kaybı geri alınamaz olabilir. Yazılımsal yöntemlerin ön adımı, bozulmalara neden olan hareketi tahmin etmektir. Bu amaçla ataletsel algılayıcılar [9] yada farklı çözünürlük ve hızda çalışan yardımcı kameralar [10] nokta dağılım fonksiyonlarını tahmin etmekte kullanılabilir. Abstract—Mobile robots suffer from sensor data corruption due to body oscillations and disturbances. Especially, information loss on images captured with onboard cameras can be extremely high and such loss may become irreversible or deblurring can be computationally costly. In this paper, a novel method is proposed to minimize average motion blur captured by mobile cameras. A real-time computable motion blur metric (MMBM) is derived by using only inertial sensor measurements. MMBM is validated by comparing it to optic flow results. To express the applicability of MMBM, a motion blur minimizing system is built on the RHex. To this end, an onboard camera is externally triggered depending on the real-time-calculated MMBM while the robot is walking straight on a flat surface. The resulting motion blur is compared to motion blur levels of a regular, fixed frame-rate image acquisition schedule by qualitative inspection on captured images. Keywords—Motion Blur Metric, Camera Triggering I. Hareket bulanıklığını engellemek için donanımsal yöntemler mevcuttur. Kullanılan basit el kameralarının bile çoğunda lensi yada algılayıcıyı hareket ettirerek hareket bulanıklığının önüne geçilmeye çalışılır. Ayrıca daha büyük bozucuları giderebilmek için gimballi sistemler veya Stewart platform benzeri stabilizasyon platformları [5], [6] kullanılır. Fakat bu platformlar hacimsel olarak büyük, kontrolü zor ve pahalı olabilirler. Bu çalışmanın amacı, öncelikli olarak ataletsel veriler kullanılarak kameranın belirli bir anda resim yakalaması halinde, resimde oluşacak olan ve kameranın kendi döngüsel hareketinden kaynaklacak olan bulanıklığın miktarını kestirecek bir ölçek geliştirmektir. Daha sonra bu ölçek kullanılarak, dinamik ve çevik bir bacaklı robot üzerindeki kameradan alınan görüntünün kalitesini arttırmak amaçlanmıştır. II. G İR İ Ş Mobil robotlar, özellikle de bacaklı robotlar, arazi robotları ve uçan robotlar kendi yapılarından yada bulundukları çevreden dolayı gövde salınımları sergilerler. RHex [1] gibi çevik bacaklı robotlarda bu tarz salınımlar kaçınılmazdır. Bu salınımlar robotun üzerine yarleştirilmiş algılayıcıların performansını olumsuz etkiler. Özellikle döngüsel hareketler, uzaklara bakan c 978-1-4673-5563-6/13/$31.00 2013 IEEE 2225 KAMERA HAREKET İNDEN KAYNAKLANAN HAREKET BULANIKLI ĞI ÖLÇE Ğ İN İN (HBÖ) ÇIKARIMI Kameranın döngüsel hareketi bilindiğinde, bu hareketten kaynaklanacak hareket bulanıklığı matematiksel olarak hesaplanabilir. Şekil 1 arka arkaya yakalanan iki resmin zamanlamasını göstermektedir. Pozlama süreleri te1 ve te2 olarak görülmektedir. HBÖ’nün amacı yüksek frekansta gelen ataletsel ölçümlerden te1 pozlaması boyunca kameranın hareketinin en az hareket bulanıklığına yol açacağı ti1 anını bulabilmektir. 2014 IEEE 22nd Signal Processing and Communications Applications Conference (SIU 2014) Görüntüye yakalamadan pozlama boyunca oluşacak hareket bulanıklığını bilmek imkansızdır. Ancak robot dinamikleri göz önüne alındığında, HBÖ’nün hesaplanma süresi td1 ve pozlama süresi te1 oldukça kısa zamanlar sayılabilir ve robot döngüsel hızlarının bu sürede fazla değişmeyeceği varsayımı geçerli kabul edilebilir. HBÖ, jiroskop ile robotun üç boyutlu döngüsel hızlarını alır ve ti1 anındaki optik akışı kestirir. ti1 tt1 ... ti2 tt2 tf1 te1 tf0 td1 te2 tf2 ... td2 to1,2 Şekil 1: HBÖ tabanlı kamera tetiklemenin zamanlama şeması. ve resim düzlemi üzerindeki hız ilişkisini kullanır. Dolayısı ile kamera modelinin türevine ihtiyacımız vardır; "ẋ# ẋz−xż f fx d u 0 − 2 2 z z z ẏ . (3) = f ẏz−y ż = 0 fz − fz2y ż dt v z2 Sabit bir dünya noktasını döngüsel hareket ederek yakalayan bir kamere ile sabit bir kameranın aynı noktayı orijine göre hareket ederken yakalaması birbirine analojik olarak çok yakındır. Dolayısı ile herhangi bir orijinden geçen w vektörüne göre dönüş yapan noktanın hızı şu şekilde gösterilir: Ṗ = W × P #" # " # " 0 −wz wy x ẋ 0 −wx y . ẏ = wz z ż −wy wx 0 (4) (5) A. Notasyon D. HBÖ Tanımı Şekil 2 dünya (X,Y,Z) ve resim (U,V) koordinat sistemlerini; dünyadaki bir nokta (x,y,z) ve onun resim düzlemi üzerindeki izdüşümünü (u,v); kameranın döngüsel hızlarını wx , wy and wz göstermektedir. HBÖ’nün tanımı kameranın ti1 anındaki dönüş hızından kaynaklanan algılayıcı düzlemindeki tüm optik akış vektörlerinin büyüklüklerinin ortalamasıdır. Z umax ,vmax p 1 µ := u̇2 + v̇ 2 du, v (6) ∆u∆v umin ,vmin Y X wx (u,v) wz ∆u ve ∆v, (umax − umin ) ve (vmax − vmin ) şeklinde tanımlanmaktadır. Denklem (3), (5) ve (2)’yi sırası ile kullanarak aşağıdaki ilişkiyi elde edebiliriz, # z u f " 0 −wz wy u f 0 − u̇ z wz 0 −wx z fv . (7) = z f v v̇ 0 z − z −w wx 0 y z (x,y,z) V wy U Z f III. Şekil 2: HBÖ’nün çıkarımında kullanılan parametrelerin gösterimi. B. Kamera Modeli Kamera modeli olarak basitliğinden dolayı iğne delikli kamera modeli kullanılmıştır. Kamera modeli vektör formatında şu şekilde yazılır: x u (1) = f yz . v z Modelin tersi ise şu şekildedir: " # z u x f y = z fv . z z (2) C. Dünya ve Resim Koordinatları Arasındaki Vektörel Hız İlişkisi Döngüsel (R) ve öteleme (T) hareketlerinden sonra, dünyadaki bir noktanın kamera algılayıcısı üzerindeki hareketi [11] tarafından detaylı bir şekilde verilmiştir. Ayrıca, zamana bağlı değişen R ve T kullanarak düzlemsel değişiklikleri de barındıran hareket bulanıklığı modeli [10] tarafından sunulmuştur. Fakat HBÖ R’yi kullanmak yerine dünya koordinatları 2226 HBÖ’NÜN DO ĞRULANMASI Klasik optik akış algoritmaları iki resim arasındaki optik akış vektörlerini hesaplamaktadır. Fakat HBÖ, sadece ti1 anındaki jiroskop ölçümleri kullanılarak kameranın döngüsel hareketinden kaynaklanan optik akış vektörlerinin ortalamasını verir. Dolayısı ile diğer optik akış algoritmalarından elde edilen sonuçlar ile tutarlılık göstermesi gerekmektedir. Bunun için kamera ve jiroskoptan oluşan bir ekipman ile veri toplandı. HBÖ’nün verdiği bilgi ile [12] çalışmasındaki optik akış algoritmasının sonuçları karşılaştırıldı. Optik akış algoritmasına girdi olarak verilen iki ardışık resim örneği Şekil 3’de görülmektedir. Örneğin, Şekil 3’deki resimlerin arasındaki optik akış alanı Şekil 4 (a)’da görülen renk haritasına göre kodlandığında çıkan optik akışın yön ve yoğunluk bilgisi Şekil 4 (b)’de görülmektedir. İlk olarak ortalama optik akış (OOA) hesaplandı ve HBÖ ile karşılaştırıldı. Bu karşılaştırmada esas dikkat edilmesi gereken sonuçların değeri değil, nasıl bir trend izlediğidir. Çünkü HBÖ ve OOA tam olarak aynı şey değildir fakat ikisi de hareket bulanıklığı hakkında bilgi vermektedir. Optik akış pozlama zamanlarını (te1 &te2 ) sonsuz küçük kabul eder ve algılayıcı düzlemi üzerinde bir noktanın to1,2 süresi boyunca nereden nereye gittiğini gösterir. HBÖ ise ti1 &ti2 anlarındaki hız ile alakalıdır. Dolayısı ile iki resimden alınan OOA bilgisi ile to1,2 ’in tam orta anında alınmış jiroskop verisinden hesaplanan HBÖ’nün ölçeklendirilerek karşılaştırılması sonucunda Şekil 5 elde edilmiştir. Bu veri setinde kamera ağırlıklı olarak yalpa açısında döndürülerek hareket ettirilmiştir. Bir miktar öteleme ve diğer eksenlerde 2014 IEEE 22nd Signal Processing and Communications Applications Conference (SIU 2014) düşündüğümüzde HBÖ’nün olması gereken değerine oldukça yakın sonuç elde edilebilmektedir. Sonuç olarak HBÖ hesaplaması aşağıdaki ifadeye dönüşmektedir: n q 1X µ∗ = u̇i 2 + v˙i 2 dA. (8) n i=1 V (a) (b) Şekil 3: HBÖ’nün tutarlılığını göstermek için kaydedilmiş veri setinden iki ardışık resim. (-240,160) (-80,160) (-240,0) (80,160) (240,160) (80,0) (240,0) (-80,0) U (-240,-160) (-80,-160) (80,-160) (240,-160) Şekil 6: Riemann toplamı yaklaşımında kullanılan fonksiyon değeri hesaplama noktaları ile değerin sabit kabul edildiği alanlar. (a) (b) Şekil 4: Şekil 3’deki resimler arasında hesaplanan optik akış alanı: (a) Optik akış alanı, (b) optik akış yön ve yoğunluk gösteren renk haritası. döngü de söz konusudur fakat ihmal edilebilir düzeylerde tutulmuştur. Ölçeklenmiş HBÖ ve OOA’nın birbirini yakın bir şekilde takip ettiği görülmektedir. HBÖ 600Hz ile alınan jiroskop datasından hesaplanırken, OOA 12fps sıklıkla alınmış resimlerden hesaplanmıştır. Görülen büyük kırmızı noktalar to1,2 süresinin tam orta noktasına karşılık gelmektedir. V. HBÖ UYGULAMASI: KAMERA D İYAFRAMININ HAREKET BULANIKLI ĞINI AZA İND İRGEYECEK ANLARDA TET İKLENMES İ 6 Bacaklı robotumuz SensoRHex üzerinde hareket bulanıklığı kestirme ve aza indirgeme sistemi kurulmuştur. Kullanılan donanım bir adet Fizoptika optik jiroskop, bir adet PointGrey kamera, bir PIC mikro kontrolcülü kart ve bir adet PC-104 RTD CME137686Lx500HR’den oluşmaktadır. Donanım parçaları arasındaki bağlantı ilişkisi Şekil 7’de gösterilmiştir. Jiroskop 600Hz’te döngüsel hız verisi vermektedir. 3D-Jiroskop RS232 PC-104 IEEE1394 Kamera 150 HBÖ & OOA HBÖ OOA RS232 100 Dijital-Giriş-Çıkış Şekil 7: Hareket bulanıklığı azaltma sisteminin SensoRHex üzerindeki uygulanmış donanım yapısı. 50 0 Mikro Kontrolcü 0 1 2 3 4 5 Zaman(s) 6 7 8 Şekil 5: Ölçeklenmiş HBÖ ve OOA karşılaştırması. IV. HBÖ’NÜN GERÇEK ZAMANLI HESAPLANMASI Bölüm III’te HBÖ analitik olarak çözülemeyip nümerik yöntemlerle hesaplanmıştı. Ancak HBÖ’yü gerçek zamanlı hesaplayabilmek için nümerik çözümden kurtulmak gerekmektedir. Dolayısıyla HBÖ’nün değeri Riemann toplamı yöntemiyle yakınsanmıştır. HBÖ’yü tüm kamera algılayıcı düzleminde sürekli integralini alarak değerini bulmak yerine, Şekil 6’de gösterilen noktalardaki değerini hesaplayıp, gösterilen kare alanlarda HBÖ’nün değeri sabit kalacakmış gibi 2227 HBÖ her jiroskop verisi için gerçek zamanlı olarak hesaplanabilmektedir. SensoRHex’in düz beton zeminde yürüyüşü sırasında hesaplanmış HBÖ verisi Şekil 8’de görülmektedir. Yüksek HBÖ verileri, görüntünün o sırada alınması halinde fazla miktarda hareket bulanıklığının olacağını göstermektedir. Şekil 8’in iki adımdan biraz daha uzun bir süreci kapsadığı ve 3 kez bacakların yere değdiği an görünmektedir. Bacak yere değme anlarında gövde impulsif kuvvetlere maruz kaldığından HBÖ’nün en yüksek, bacak yere değme anları etrafında çıkması beklendik bir durumdur. HBÖ’nün belli değerlerin etrafında salının yapması kamera’yı hangi anlarda tetiklemenin uygun olacağı bilgisini vermektedir. Bu çalışmada kamera pozlama süresi 70ms olarak sabitlenmiştir. Tetikleme sinyali, HBÖ belirli bir değerin altına düştüğünde, bilgisayar tarafından mikro kontrolcü aracılığı ile kameraya verilir. Son olarak yakalanan görüntü IEEE1394 iletişim hattı üzerinden bilgisayara iletilir. 2014 IEEE 22nd Signal Processing and Communications Applications Conference (SIU 2014) VII. 40 HBÖ 30 20 10 0 21.5 22 22.5 23 23.5 Zaman(s) 24 24.5 Şekil 8: SensoRHex’in düz beton zeminde yürümesi sırasında hesaplanan HBÖ değerleri. VI. DENEYSEL SONUÇLAR Önerilen hareket bulanıklığını geçiştirme sisteminin etkisini gösterebilmek için SensoRHex düz yürürken iki farklı veri seti toplandı. Şekil 9’de görüldüğü üzere yürüyüş sırasında robotun dama tahtası örüntüsüne bakması sağlandı. İlk veri setinde robot yürürken 5fps sıklığında görüntü toplandı. İkinci veri seti toplanırken bir önceki resim alındıktan sonra sistemin en az 200ms beklemesi sağlandı. 200ms sonunda HBÖ hareket bulanıklığının az olduğunu öngörüyorsa görüntü hemen tetiklendi. Fakat HBÖ hareket bulanıklığının çok olacağını öngörüyorsa görüntü tetiklemesi ilk uygun an gelinceye kadar beklendi. Her iki veri setinde de pozlama süresi 70ms olarak belirlendi. Önerilen sistem ile alınan resimlerde Bu çalışmada, özgün bir hareket ölçeği önerildi. HBÖ jiroskop datasını kullanarak gerçek zamanlı olarak hesaplanabilmektedir. SensoRHex üzerindeki kamera ile yakalanan resimlerdeki hareket bulanıklığını azaltmak için tetikleme tabanlı bir sistem önerildi ve sistemin ortalama hareket bulanıklığını azalttığı görüldü. Daha da önemlisi aşırı bozulmaya uğrayan resimler hiç gözlenmedi. Görsel verinin daha gerçeğe yakın olması pek çok bilgisayarla görme algoritmasının performansını arttıracaktır. Önerilen sistem özellikle bacaklı robotlar gibi gövde hareketinin periyodik benzeri davranış gösterdiği sistemler için uygundur. Doğal yürüyüş sırasında görüntü alımının nerelerde yapılması gerektiği belirlenerek görüntü daha alınırken bozulmaların az miktarda tutulması sağlanmıştır. Önerilen sistemde çok basit bir tetikleme yapısı kullanılmıştır. Ancak sinyalin gelecek değerlerini başarılı bir şekilde öngörebilecek bir yöntem yardımıyla önerilen sistemin performansı daha da arttırılabilir. TE ŞEKKÜR Bu bildirideki çalışmalar TÜBİTAK tarafından 110E120 numaralı proje kapsamında desteklenmiştir. K AYNAKÇA [1] [2] [3] (a) (b) [4] Şekil 9: SensoRHex üzerinde denenen hareket bulanıklığını aza indiren sistem (a) Deney alanı, (b) robotun görüş açısı. [5] ortalama olarak daha az hareket bulanıklığı olduğu görsel olarak doğrulandı. Ayrıca Şekil 10’da görüldüğü üzere iki veri setindeki en fazla hareket bulanıklığına uğramış resimler arasında gözle görülür bir fark oluştu. [6] [7] [8] [9] [10] (a) (b) Şekil 10: Görsel denetleme ile seçilen en fazla hareket bulanıklığına uğramış resimler: (a) Sabit frekansla yakalanan resim seti, (b) harici tetikleme ile toplanan resim seti. 2228 SONUÇLAR [11] [12] U. Saranli, M. Buehler, and D. E. Koditschek, “Rhex: A simple and highly mobile hexapod robot,” The International Journal of Robotics Research, vol. 20, no. 7, pp. 616–631, 2001. H.-Y. Lin, “Vehicle speed detection and identification from a single motion blurred image,” in Application of Computer Vision, 2005. WACV/MOTIONS ’05 Volume 1. Seventh IEEE Workshops on, vol. 1, 2005, pp. 461–467. J. Hu, Y. Li, S. Niu, and X. Meng, “Exposing digital image forgeries by detecting inconsistencies in principal point,” in Computer Science and Service System (CSSS), 2011 International Conference on, 2011, pp. 404–407. A. Pretto, E. Menegatti, M. Bennewitz, W. Burgard, and E. Pagello, “A visual odometry framework robust to motion blur,” in Robotics and Automation, 2009. ICRA ’09. IEEE International Conference on, 2009, pp. 2250–2257. J. M. Hilkert, “Inertially stabilized platform technology concepts and principles,” Control Systems, IEEE, vol. 28, no. 1, pp. 26–46, 2008. E. Akgul, M. Mutlu, A. Saranli, and Y. Yazicioglu, “A comparative evaluation of adaptive and non-adaptive sliding mode, lqr amp; pid control for platform stabilization,” in Control Applications (CCA), 2012 IEEE International Conference on, 2012, pp. 1547–1552. M. Poulose, “Literature survey on image deblurring techniques,” International Journal of Computer Applications Technology and Research, vol. 2, no. 3, pp. 286 – 288, 2013. S. Schuon and K. Diepold, “Comparison of motion de-blur algorithms and real world deployment,” Acta Astronautica, vol. 64, no. 11–12, pp. 1050 – 1065, 2009. N. Joshi, S. B. Kang, C. L. Zitnick, and R. Szeliski, “Image deblurring using inertial measurement sensors,” ACM Trans. Graph., vol. 29, no. 4, pp. 30:1–30:9, Jul. 2010. S. Nayar and M. Ben-Ezra, “Motion-based motion deblurring,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 26, no. 6, pp. 689–698, 2004. A. Basu and K. Ravi, “Active camera calibration using pan, tilt and roll,” Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, vol. 27, no. 3, pp. 559–566, 1997. D. Sun, S. Roth, and M. Black, “Secrets of optical flow estimation and their principles,” in Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on, 2010, pp. 2432–2439.