• Sonuç bulunamadı

Gerçek zamanlı video işleyen yeni bir Hücresel Sinir Ağı (HSA) emülatörü yapısı önerilmiş ve Celoxica RC203 kartı üzerinde bulunan Xilinx Virtex-II 3000 FPGA tümdevresi ile gerçeklenmiştir. Gerçeklenen emülatör, bir kenar belirleme uygulamasında 640×480 piksel 60 fps monokrom VGA video girişiyle test edilmiş ve çıkış videosu VGA monitöründe gözlenmiştir.

Emülatörün çalışabileceği maksimum saat frekansı (Virtex-II 3000 için) ISE yazılımının sentezleyici raporuna göre 136 MHz, “Place and Route” raporuna göre ise 123 MHz olarak belirlenmiştir. Emülatörün saat frekansı FPGA’deki çarpıcıların hızı ile sınırlanmaktadır. Bu sınır FPGA’in üretim teknolojisinden kaynaklanmakta olup, emülatörün kontrol yapısını değiştirerek çalışabileceği maksimum saat frekansını yükseltmek mümkün değildir.

Bir pikselin çıkış değerinin hesaplanması üç saat darbesi zaman alır ve bu değerin hesaplanması için yapılacak Euler iterasyonu sayısı gerçeklenen işlem birimleri’nin sayısına bağlıdır. İşlem birimlerinin çalışabileceği maksimum saat frekansı 123 MHz olduğu ve her bir çıkış piksel değerinin hesaplanması için üç saat darbesi gerektiğinden, emülatör saniyede 41 Mega piksel (123/3) işleyebilmektedir. Virtex-II 3000 FPGA tümdevresinde 96 çarpıcı ve 96 blok RAM bulunduğundan 32 adet işlem birimi gerçeklenebilir. Bu 32 işlem birimiyle çıkış değerlerinin hesaplanması için 31 Euler iterasyonu ((96/3)–1) gerçekleştirilebilir. Önerilen emülatör yapısının temel özellikleri şunlardır:

• FPGA dışında bellek elemanı (RAM) kullanılmaz. • Her bir çıkış piksel değeri üç saat darbesinde hesaplanır.

• Çıkışın hesaplanması için yapılan Euler iterasyonu sayısı gerçeklenen işlem birimi sayısı ile belirlenir (işlem birimi sayısı – 1).

Gerçeklenen emülatör yapısı FPGA dışında bir bellek elemanı kullanmamakta ve video görüntülerini gerçek zamanlı olarak işlemektedir. Literatürde şu ana dek gerçeklenmiş ve bu iki özelliği de bünyesinde bulunduran yalnızca bir çalışma göze çarpmaktadır (Martínez vd. 2007). Martínez vd. (2007) çalışmasındaki Virtex-4 üzerinde gerçeklenen yapının bu tezde gerçeklenen yapıya göre bazı iyi ve kötü yanları mevcuttur. Bu tezde gerçeklenen yapı giriş görüntüsünden gij sabitlerini hesaplar ve saklar, ancak giriş görüntüsünü saklamaz. Bu durum, işlenmiş görüntü ile giriş görüntüsü arasında bir işlem yapılarak çıkış görüntüsünün oluşturulmasını gerektiren uygulamaların gerçeklenmesini zorlaştırır. Martínez vd. (2007) çalışmasındaki yapıda ise giriş görüntüsü kaybedilmez ve gij sabitleri her kullanımdan önce

tekrar hesaplanır. Bu durum, her işlem birimi için FPGA üzerinde kullanılan donanım miktarını iki kat arttırmaktadır. Martínez vd. (2007) çalışmasında gerçeklenen yapıdaki her işlem birimi iki adet blok RAM ve iki adet DSP48 bloğu içerir (Çizelge 3.1) ve çalışma frekansı piksel frekansının en az 17 katı olmalıdır. Çalışma frekansının çok yüksek olması bu yapının Virtex-II ve Spartan-3 aileleri gibi, Virtex-4’e göre daha yavaş ve dolayısıyla düşük maliyetli olan FPGA aileleri için uygun olmaması sonucunu doğurur. Bu tezde gerçeklenen yapıdaki her işlem birimi üç adet blok RAM ve üç adet çarpıcı içerir ve çalışma frekansı piksel frekansının en az üç katı olmalıdır. Bu iki yapı karşılaştırıldığında, bu tezde gerçeklenen yapının Martínez vd. (2007) yapısına göre kabaca 1.5 kat fazla donanımı kullanarak 5.6 kat hızlı çalıştığı söylenebilir. Bu hız artışıyla, yapının Virtex-II FPGA tümdevresinde gerçek zamanlı video işlemesine olanak sağlanmıştır. Eğer yapı giriş görüntüsünü de saklayacak şekilde değiştirilirse, kullandığı donanım miktarı Martínez vd. (2007) yapısının üç katı olacaktır. Bu durumda, üç kat fazla donanım kullanılarak sistemin 5.6 kat hızlı çalışması sağlanmış olur. Bu hız artışı, Virtex-4 FGPA’leri kullanıldığında, 1280×1024 piksel SXGA video işaretlerinin (piksel frekansı 60 fps için 108 MHz, 75 fps için 135 MHz) gerçek zamanlı olarak işlenmesini mümkün kılar.

Tez’de gerçeklenen yapıdaki A şablonu işle birimleri (APU(n)) doğrusal dizilmiştir. İleride bu yapı geliştirilerek işlem birimlerinin düzlemsel (matrisel) dizilimine olanak sağlanabilir. Böylece, işlem birimlerinde bir blok RAM ve bir çarpıcı kullanılarak daha küçük işlem birimleri oluşturulabilir. Bu sayede, işlem birimi sayısı istenen hız ve işlenecek piksel sayısına göre daha verimli ve esnek bir şekilde ayarlanabilir.

Bu tez çalışması çerçevesinde “A New Approach to Emulate CNN on FPGAs for Real Time Video Processing” adlı bildiri “Proceedings of the 11th International Workshop on Cellular Neural Networks and Their Applications (CNNA 2008)”da yayımlanmış ve aynı adlı toplantıda sunum ve demonstrasyonu yapılmıştır. Ayrıca, “Gerçek Zamanlı Video İşleyen Yeni Bir Hücresel Sinir Ağları Emülatörü” adlı bildiri özeti “Gömülü Sistemler ve Uygulamaları Sempozyumu (GömSis 2008) Bildiri Özetleri” kitapçığında yayımlanmış ve aynı adlı toplantıda poster sunumu yapılmıştır (Kayaer ve Tavşanoğlu, 2008a; 2008b).

Tez çalışmasında gerçeklenen yapı “CPU Turkey 2008” adlı yarışmanın “Akademik Yenilikçi Gömülü Sistem Tasarımı” kategorisine “RTCNNP” (Real-Time CNN Processor) adılı projeyle katılmış ve birincilik ödülü almıştır. Ayrıca, yarışma dahilinde “CeBIT Eurasia Bilişim” fuarında, 7-12 Ekim 2008 tarihleri arasında gerçeklenen yapının demonstrasyonu yapılmıştır.

KAYNAKLAR

Beke, L., Nagy, Z. ve Szolgay, P., (2004), “Low-cost CNN-UM Global Analogic Programming Unit implementation on FPGA”, 8th IEEE International Workshop on Cellular Neural Networks and Their Applications (CNNA2004), 22-24 July 2004, Budapest / Hungary.

Chua, L. O. ve Yang, L., (1988a), “Cellular Neural Networks: Theory”, IEEE Transactions on Circuits and Systems, 35: 1257-1272.

Chua, L. O. ve Yang, L., (1988b), “Cellular Neural Networks: Applications”, IEEE Transactions on Circuits and Systems, 35: 1273-1290.

Chua, L. O. ve Roska, T., (2002), Cellular Neural Networks and Visual Computing, Cambridge University Press, Cambridge.

Dominguez-Castro, R., Espejo, S., Rodriguez-Vazquez, A. ve Carmona, R., (1994), “A CNN Universal Chip in CMOS Technology”, Third IEEE International Workshop on Cellular Neural Networks and Their Application (CNNA’94), 18-21 Dec. 1994, Rome / Italy.

Espejo, S., Rodriguez-Vazquez, A., Dominguez-Castro, R. ve Carmona, R., (1994), “Convergence and Stability of the FSR CNN Model”, Third IEEE International Workshop on Cellular Neural Networks and Their Application (CNNA’94), 18-21 Dec. 1994, Rome / Italy. Feher, B., Szolgay, P., Roska, T., Radványi, A. G., Szirányi, T., Csapodi, M., László, K., Nemes, L., Szatmári, I., Tóth, G. ve Venetianer, P. L., (1996), “ACE a digital floating point CNN emulator engine”, Fourth IEEE International Workshop on Cellular Neural Networks and Their Applications (CNNA’96), 24-26 June 1996, Seville / Spain.

Hidvégi, T., Keresztes, P. ve Szolgay, P., (2002), “An accelerated digital CNN-UM (CASTLE) Architecture by using the Pipe-Line Technique”, 7th IEEE International Workshop on Cellular Neural Networks and Their Applications (CNNA’2002), 22-24 July 2002, Frankfurt / Germany.

Hidvégi, T., Keresztes, P. ve Szolgay, P., (2003), “Enhanced Modified Analized Emulated Digital CNN-UM (CASTLE) Arithmetic Cores”, Journal of Circuits, Systems, and Computers, special issue on "CNN Technology and Visual Microprocessors", 12 (5): 711- 738.

Kayaer, K. ve Tavsanoglu, V., (2008a), “A New Approach to Emulate CNN on FPGAs for Real Time Video Processing”, 11th IEEE International Workshop on Cellular Neural Networks and Their Applications (CNNA’2008), 14-16 July 2008, Santiago de Compostela / Spain.

Kayaer, K. ve Tavşanoğlu, V., (2008b), “Gerçek Zamanlı Video İşleyen Yeni Bir Hücresel Sinir Ağları Emülatörü”, Gömülü Sistemler ve Uygulamaları (GömSis’2008), 3-5 Kasım, İstanbul.

Keresztes, P., Zarándy, Á., Roska, T., Szolgay, P., Bezák, T., Hidvégi, T., Jónás, P. ve Katona, A., (1999), “An emulated digital CNN implementation”, Journal of VLSI Signal Processing Systems, Kluwer Academic Publishers, 23: 291-303.

Kincses, Z., Nagy, Z. ve Szolgay, P., (2006), “Implementation of nonlinear template runner emulated digital CNN-UM on FPGA”, 10th IEEE International Workshop on Cellular Neural Networks and Their Applications (CNNA’2006), 28-30 August 2006, Istanbul / Turkey.

Liñán, G., Foldesy, P., Espejo, S., Domínguez-Castro, R. ve Rodríguez-Vázquez, A., (1999), “A 0.5μm CMOS 106 Transistors Analog Programmable Array Processor for Real-Time Image Processing”, 25th European Solid-State Circuits Conference (ESCIRC’99), 21-23 Sept. 1999, Duisburg / Germany.

Liñán, G, Domínguez-Castro, R., Espejo, S. ve Rodríguez-Vázquez, A., (2001), “ACE16k: A Programmable Focal Plane Vision Processor with 128 x 128 Resolution”, 15th European Conference on Circuit Theory and Design, 28-31 August 2001, Espoo / Finland.

Liñán, G., Espejo, S., Domínguez-Castro, R. ve Rodríguez-Vázquez, A., (2002a), “ACE4k: An Analog I/O 64 × 64 Visual Microprocessor Chip with 7-bit Analog Accuracy”, International Journal of Circuit Theory and Applications, 30 (2/3): 89-116.

Liñán, G. , Rodríguez-Vázquez, A., Espejo, S. ve Domínguez-Castro, R., (2002b): “ACE16k: A 128x128 Focal Plane Analog Processor with Digital I/O”, 7th IEEE International Workshop on Cellular Neural Networks and Their Applications (CNNA’2002), 22-24 July 2002, Frankfurt / Germany.

Martínez-Alvarez, J. J., Garrigós-Guerrero, F. J., Toledo-Moreo, F. J. ve Ferrández-Vicente, J. M., (2007), “High Performance Implementation of an FPGA-Based Sequential DT-CNN”, 2nd International Work-Conference on the Interplay between Natural and Artificial Computation (IWINAC’2007), 18-21 June 2007, Murcia / Spain.

Nagy, Z. ve Szolgay, P., (2002), “Configurable Multi-Layer CNN-UM Emulator on FPGA”, 7th IEEE International Workshop on Cellular Neural Networks and Their Applications (CNNA’2002), 22-24 July 2002, Frankfurt / Germany.

Nagy, Z. ve Szolgay, P., (2003), “Configurable Multi-Layer CNN-UM Emulator on FPGA”, IEEE Transactions on Circuits and Systems-I, 50 (6): 774-778.

Rodríguez-Vázquez, A., Liñán-Cembrano, G., Carranza, L., Roca-Moreno, E., Carmona- Galán, R., Jiménez-Garrido, F., Domínguez-Castro, R. ve Meana, S. E., (2004), “ACE16k: The Third Generation of Mixed-Signal SIMD-CNN ACE Chips Toward VSoCs”, IEEE Transactions on Circuits and Systems-I: Regular Papers, 51 (5): 851-863.

Roska, T. ve Chua, L. O., (1993), “The CNN Universal Machine: an Analogic Array Computer”, IEEE Transactions on Circuits and Systems-II, 40: 163-173.

Saatçi, E. (2003), Image Processing Using Cellular Neural Networks, Doktora Tezi, London South Bank University.

Toledo, F. J., Martínez, J. J., Garrigós, F. J. ve Ferrández, J. M., (2005a), “Image Processing with CNN in a FPGA-Based Augmented Reality System for Visually Impaired People”, 8th International Work-Conference on Artificial Neural Networks (IWANN’2005), 8-10 June 2005, Barcelona / Spain.

Toledo, F. J., Martínez, J. J., Garrigós, F. J. ve Ferrández, J. M., (2005b), “An Augmented Reality Visual Prothesis for People Affected by Tunneling Vision”, 1st International Work- Conference on the Interplay between Natural and Artificial Computation (IWINAC’2005), 15-18 June 2005, Canary Islands / Spain.

Vörösházi, Z., Nagy, Z., Kiss, A. ve Szolgay, P., (2006), “An Embedded CNN-UM Global Analogic Programming Unit implementation on FPGA”, 10th IEEE International Workshop on Cellular Neural Networks and Their Applications (CNNA’2006), 28-30 August 2006, Istanbul / Turkey.

EKLER

Ek 1 Tez dahilinde gerçeklenen ilk HSA emülatöründeki “Adres ve Kontrol” bloğunun

Benzer Belgeler