Sobel Algoritmasına Dayalı Görüntü Kenarı Algılamanın FPGA Uygulaması

Du Zhengcong 1, Ning Longfei 2

(1. Elektrik Enformasyon Mühendisliği Okulu, Panzhihua Üniversitesi, Panzhihua, Sichuan 617000; 2. Makine Mühendisliği Okulu, Xihua Üniversitesi, Chengdu, Sichuan 610039)

Gömülü yazılımların dijital görüntülerin gerçek zamanlı işlem hızını karşılayamaması sorununa yönelik olarak, FPGA üzerinden Sobel kenar algılama algoritmasını gerçekleştirmek için bir donanım hızlandırıcı kullanma fikri önerilmiştir. Ping-pong işlemi, paralel veri işleme ve boru hattı tasarımı sayesinde, algoritmanın işlem hızı büyük ölçüde geliştirildi. Modüler donanım tasarımının kullanılması, sistemin taşınabilirliğini ve ölçeklenebilirliğini sağlar. Son olarak, algoritma işlemeyi gerçekleştirmek için Verilog HDL programlamayı kullanın ve simülasyon ve doğrulama için Modelsim ve MATLAB kullanın.

FPGA; Sobel kenar algılama; donanım hızlandırıcı

TN911.73; TP391.7

Belge tanımlama kodu: Bir

10.16157 / j.issn.0258-7998.2016.10.023

Çince alıntı biçimi: Du Zhengcong, Ning Longfei. Sobel algoritmasına dayalı görüntü kenarı algılamanın FPGA uygulaması.Elektronik Teknoloji Uygulaması, 2016, 42 (10): 89-91, 95.

İngilizce alıntı biçimi: Du Zhengcong, Ning Longfei. FPGA uygulamasında Sobel algoritmasına dayalı görüntü kenar algılama. Application of Electronic Technique, 2016, 42 (10): 89-91, 95.

0 Önsöz

Görüntü kenar algılama, dijital görüntü işleme alanında anahtar bir teknolojidir ve görüntü bölümleme, hareket algılama, hedef izleme, yüz tanıma ve diğer teknolojilerin temelini oluşturur. Elektronik bilgi teknolojisinin hızla gelişmesiyle birlikte, görüntü kenarı algılama, havacılık, endüstri, tıp, askeri ve diğer alanlarda geniş bir uygulama ve gelişmelere sahiptir. Bu uygulamalarda, ARM ve DSP genellikle gömülü yazılım aracılığıyla bilgileri işlemek için işlemciler olarak kullanılır, ancak işlenecek bilgi miktarı arttıkça algoritma karmaşıklığı gittikçe artmakta ve tek çekirdekli işlemcilerin işlem hızı artmaktadır. Bazı sistemlerin ihtiyaçlarını karşılayamamaktadır.

Sobel algoritmasının araştırmasına dayanan bu makale, gerçek zamanlı veri işleme hızının gereksinimlerini karşılayamayan, RAM + FPGA donanım yapısını benimseyen, gömülü yazılım aracılığıyla bağımlı arabirim sağlayan ve çalışmak için hızlandırıcıyı kontrol eden gömülü yazılımlar için donanım hızlandırıcı fikrini ortaya koymaktadır. Hızlandırıcı (FPGA), gerçek zamanlı veri işlemenin hızını büyük ölçüde artırmak ve görüntü kenarı algılamasını gerçekleştirmek için modüler tasarım, boru hattı tasarımı ve ping-pong işlemini benimser. Slave arayüzü genellikle gömülü yazılım aracılığıyla yazmaçların okunması ve yazılmasıyla tamamlanır.

1 Kenar algılama ve Sobel algoritması

Kenar algılama, video ve görüntüleri analiz etmek için önemli bir yöntemdir.Genellikle görüntünün hangi alanlarında ani parlaklık değişiklikleri olduğunu tespit eder ve belirler.Bu ani parlaklık değişikliklerinin olduğu alanlar genellikle nesnelerin kenarlarıdır.

Örnek olarak gri tonlamalı bir görüntü alırsak, M × N çözünürlüğe sahip bir görüntü M × N pikselden oluşur. Sobel algılama yöntemi, merkez pikseli ve en yakın 8 pikseli bir katsayı ile çarpar ve bunları bir araya getirir.x ve y yönlerinde her pikselin türev değerini tahmin etmek için evrişime benzer bir işlem kullanılır. Katsayı genellikle bir evrişim tablosu (Evrişim Maskesi) ile temsil edilir. X ve y yönlerindeki türev değerlerini hesaplamak için kullanılan Sobel evrişim tabloları Dx ve Dy aşağıdaki gibidir:

Her piksel değerini evrişim tablosundaki karşılık gelen sayıyla çarpın ve ardından çarpma ile elde edilen 9 sayıyı ekleyerek x ve y yönlerinde kısmi türev değerleri Dx ve Dy elde edin. Ardından, merkez pikselin türevini hesaplamak için bu iki kısmi türev değerini kullanın.

Aşağıdaki şekilde hesaplanmıştır:

Karekök ve kare fonksiyonları tekdüze olduğu için, gerçek hesaplanan genliğin maksimum ve minimum değerleri ile yaklaşımdan sonra hesaplanan maksimum ve minimum değerler görüntüde aynı yerde meydana gelir. Dahası, karekök ve karekök hesaplamayla karşılaştırıldığında, mutlak değeri hesaplamak için kullanılan donanım kaynakları çok daha azdır. Türev genliğinin maksimum ve minimum değerlerini bulmak için denklemi (1) aşağıdaki gibi basitleştirin:

Görüntüdeki her pikselin türev genliğini tekrar tekrar hesaplamak gerekir. Ancak, görüntünün kenarını çevreleyen piksellerin, kısmi türevi ve türevi hesaplamak için eksiksiz bir bitişik piksel setine sahip olmadığına dikkat edin, bu nedenle bu piksellerin ayrı olarak işlenmesi gerekir. En basit yöntem, görüntüdeki kenar piksellerin türev değerini | D | 0 olarak ayarlamaktır.

2 Sobel kenar algılama yönteminin donanım uygulaması

2.1 Sobel hızlandırıcı yapısı

Donanım hızlandırma, temelde hızlandırma amacına, genellikle donanım çoğaltma ve boru hattı yöntemlerini kullanarak işlemlerin paralelliğini artırarak ulaşır.

Kenar algılama hızlandırıcı sisteminin prensip blok şeması Şekil 1'de gösterilmektedir. Video veya görüntü dijital sinyali, G / Ç denetleyicisi aracılığıyla girilir ve bellekte depolanır; RAM işlemcisinin kontrolü altında çalışan donanım hızlandırıcı, bellekte depolanan çerçeve görüntüsünü (verileri) okur ve kenar algılama algoritmasını uygular.Son olarak, Karşılık gelen türev imajı alın ve hafızaya yazın. Pratik uygulamalarda, zaman alan algoritmaları hızlandırmak için donanım hızlandırıcılar seçilir ve bu da diğer işlemcilerdeki (DSP, ARM, vb.) Üzerindeki yükü büyük ölçüde azaltır.

G / Ç denetleyicisi ve hızlandırıcı, işlemciden geçmeden doğrudan DMA (Doğrudan Bellek Erişimi) aracılığıyla belleğe erişimi başlatarak belleğe erişim hızını büyük ölçüde artırır. Birden fazla cihaz belleğe aynı anda eriştiğinde çakışmaları önlemek için sisteme bir hakem eklenir. Hakemin tahkim stratejisi şudur: kaynağı yalnızca başvuru sahibi alır. Bu şekilde, ARM (CPU) hızlandırıcıyı yapılandırır, işlenecek verinin kaynak adresini ve hedef adresini yapılandırır, ardından hızlandırıcıyı başlatır ve veri yolu kaynaklarını serbest bırakır; başlatma komutunu aldıktan sonra, ACC kaynaklar için başvurmalıdır ve algoritma uygulandıktan sonra kesme modunu kullanın RAM'e (CPU) geri besleme yapın ve kaynakları aynı anda serbest bırakın.

2.2 FPGA tabanlı donanım hızlandırıcı

Görüntü kenarı algılama verileri, büyük veri hacmi, paralel işleme ve tekrarlanan işlemler özelliklerine sahiptir.FpGA, bilginin donanımla paralel olarak işlenmesini gerçekleştirebilir; boru hattı tasarım teknolojisi ve ping-pong işlem mimarisi tasarımı sayesinde, işlem hızını ve algoritma kombinasyon mantığının sistem işlemesini daha da geliştirebilir Bilgi çıkışı, bu nedenle FPGA, görüntü kenarı algılama verilerini işlemede doğal bir avantaja sahiptir. Bu makale, sırayla gelen veri akışlarını işlemek için akış odaklı hızlandırıcılar kullanır.

Sistem, Altera'nın Cyclone IV serisi FPGA tabanlıdır, yukarıdan aşağıya modüler bir tasarım yöntemini benimser ve modelleme için iyi bir taşınabilirlik ve sistem ölçeklenebilirliğine sahip kaya tırmanma yöntemini kullanır. Şekil 2, kenar algılamanın gerçek zamanlı işleme diyagramını göstermektedir.

Şekil 3, donanım hızlandırıcı modülü tasarım şemasını gösterir. Tasarımda, sistem veri akışı ve kontrol akışı ayrı ayrı gerçekleştirilir, böylece veri akışını tasarlarken verinin ne zaman girdi ve çıktı olduğuna dikkat etmenize gerek kalmaz, ancak bu sorunları kontrol akışı tasarım aşamasına aktarırsınız. Kontrol akışı tasarım aşamasında veri akışının kontrolünün sistematik olarak dikkate alınması, devre tasarımını daha sistematik ve modifiye edilmesini kolaylaştıracaktır. Kontrol akışının tasarımı genellikle durum makinelerine (FSM) başvurur.

Örnek olarak 600 × 400 çözünürlüğe sahip 8 bitlik gri tonlamalı bir görüntü alarak, sistem, veri yolu aracılığıyla zaman bölmeli çoklanmış olan 32 bit genişliğinde bir veri yolu tasarlar.Veri hafızadan alınır ve geçersiz verileri azaltmak için 32 bit * _row_reg kaydı yerleştirilir. , Donanım tasarımının karmaşıklığını artırın, verilerin * _row_reg kaydını doldurmasını bekleyin ve ardından Sobel operatörü sonucunun vardiya hesaplamasını başlatın, bu da verilerin kaydırma sırasında yazılamamasına ve veri yazılırken verilerin kaydırılmamasına neden olarak çok fazla beklemeye neden olur zaman. Bu yazıda, * _row kaydırma yazmacının eklenmesiyle, yazma verileri ve kaydırma, sistemin tam hat ardışık düzenini gerçekleştirmek için ayrı ayrı işlenir.

Sobel algoritma birimi için kaynaklardan tasarruf etmek ve işlem hızını artırmak için bazı tasarımlar, çarpma işlemleri için çarpanlar yerine arama tabloları kullanarak dağıtılmış algoritmalar kullanır, böylece rastgele rastgele veriler işlenemez. Çarpanların kullanımından kaçınmak için, bu makale kaydırarak çarpma işlemini uygular. Veri hattı girişi tarafından oluşturulan geçersiz veriler sol sınır olarak belirlenir, veri hattı tarafından dışlanan geçersiz veriler sağ sınır olarak belirlenir ve üst ve son satırlardaki geçersiz satırlar için üst ve alt sınırlar belirlenir. Şekil 4 Sobel algoritma mimarisi diyagramıdır.

3 Sistem simülasyonu ve sonuç analizi

Bu kağıt, araştırma nesnesi olarak 600 × 400 gri tonlamalı görüntüler kullanır ve simülasyon ve doğrulama sonuçları Şekil 5'te gösterilmektedir.

Gri tonlamalı görüntü imag1.bmp (keyfi format) MATLAB tarafından işlenerek imag.txt dosyasına dönüştürülür ve Hafızada saklanır.Sobel algoritması Verilog tarafından gerçekleştirilir ve data.txt dosyası Modelsim simülasyon verileri tarafından oluşturulur ve ardından data.txt dosyası MATLAB tarafından geçirilir. Eşik işleme resim tes.bmp'ye dönüştürülür. İlk gri mod görüntüsünü işlemek için Sobel işlevini doğrudan çağırmak, imag2.bmp görüntüsünü oluşturmak, iki görüntüyü karşılaştırmak ve FPGA işleminin doğruluğunu onaylamak için MATLAB kullanın.

Simülasyon sonuçlarından ve deneyden elde edilen görüntülerden yola çıkarak tasarım, Sobel algoritmasının kenar algılama görevini başarıyla tamamlar.RAM + FPGA hızlandırıcı yapısını kullanır ve 600 × 'i işlemek için örnek olarak 50 MHz (deneysel simülasyonda kullanılan değer) saat sürücüsünü alır. 400 görüntü, gereken süre 19,2 ms'dir ve saniyede 208 görüntü işleyebilir, bu da gerçek zamanlı sistemlerin gereksinimlerini karşılar ve tek çekirdekli işlemciler için uzun hesaplama süresi sorununu çözer. Daha karmaşık kontrol ve işlevler elde etmek için kontrol birimini serbest bırakın.

4. Sonuç

FPGA'ya dayanan bu yazıda, gömülü yazılımın bilginin gerçek zamanlı işlenmesini karşılayamaması sorununu çözmek için donanım hızlandırıcı fikri kullanılmıştır.Verilog programlama donanımı, görüntü dijital sinyal okuma ve yazma, Sobel algoritması uygulaması ve görüntü kenarı algılama; FPGA ping-pong işlemi, paralel işleme ve boru hattı aracılığıyla Sistem verimliliğini büyük ölçüde artıran ve gerçek zamanlı gereksinimleri karşılayan büyük veri hacmi ve yüksek tekrarlama oranı ile görüntü kenarı algılama veri işlemeyi tamamlamak için tasarlanmıştır. Aynı zamanda modüler tasarım metodu benimsenmiş ve kaya tırmanışı metodu yukarıdan aşağıya modelleme için kullanılmaktadır, bu da tasarımın iyi bir taşınabilirliğe ve sistem ölçeklenebilirliğine sahip olmasını ve büyük bir pratik değere sahip olmasını sağlar.

Referanslar

He Junfeng. Görme ilkelerine dayalı görüntü kenarı algılama operatörleri üzerine araştırma Wuhan: Huazhong Bilim ve Teknoloji Üniversitesi, 2006.

Yu Yuanhui, Chang Chinchen Görüntü bağlam analizine dayalı yeni bir kenar algılama yaklaşımı. SCI, Görüntü ve Görme Hesaplama, 2006, 24: 1090-1102.

Lin Wei, Zhou Jianyang Görüntü Kenar Algılama için Yüksek Hızlı Dijital Filtrelerin Tasarımı ve Uygulanması üzerine Araştırma Modern Elektronik Teknolojisi, 2006 (6): 26-29.

Wu Haibin, He Zuen, Li Wenjin. Geliştirilmiş Sobel operatörü ve gömülü uygulamasına dayalı görüntü kenarı algılama. Machine Tool and Hydraulics, 2009, 37 (10): 133-136.

Ye Min, Zhou Wenhui, Gu Weikang FPGA'ya dayalı gerçek zamanlı görüntü filtreleme ve kenar algılama yöntemi Journal of Sensor Technology, 2007, 20 (3): 623-627.

AET üyeleri için yıl sonu avantajları!

Yeni telefon resmi olarak ön satışa açıldı.OPPO K1, 1599 yuan'dan itibaren her şeye sahip!
önceki
Bu makaleyi okuduktan sonra, yapmak istediğim tek şey kendime bir kase erişte yapmak.
Sonraki
Bugün "Plants vs. Zombies" in net güvenlik versiyonunu, hücum ve defansif yüzleşmenin "Star Wars" versiyonunu gördüm ve içeceklere para harcamayan otomatlar var.
"Tomb Raider: Shadow" resmi olarak duyuruldu, ilk pilot fragmanı yayınlandı
Batıya Yolculuk seksen kez filme alındı, bunun için doğru kahramanı bulduğumu söyleyebilirim.
Kimse Yanjiao'da 10.000 / m2'lik bir ev satın almak istemiyor
"Akım sınırlayıcı direnç" doğrusal regülatörlerde kullanılan bir akım sınırlayıcı devre
Küçük bir porno izlediğini mi düşünüyorsun? On dakikadan daha kısa sürede yüzüme tokat atacağım
Endüstri 4.0, bir şehir "bir şeyler yapmak" ister
Satın al ya da alma? "Kabi Star Alliance"
Üzgünüz, Douban'ın tam puanını size tanıtmak çok uzun sürdü
Gome, Dangdang ve Xiaomi, Pinduoduo'nun "anti-Ali" ekibine yerleşti mi?
Bir robot bir bina inşa edebilir, inşaat sektörü endüstriyi alt üst etme fırsatını başlattı
Elektronik Etikete Dayalı Sipariş Toplama Sisteminin Tasarımı ve Uygulanması
To Top