Vivado HLS'ye dayalı kenar algılama donanım hızlandırma uygulaması

Peng Xiwu, Zhang Tao

(Bilgi Bilimi ve Mühendisliği Okulu, Wuhan Bilim ve Teknoloji Üniversitesi, Wuhan 430081, Hubei)

Bilgisayar yüksek tanımlı görüntü veya video kenar algılamasını işlerken uzun gecikme ve sınırlı veri depolama bant genişliğinin eksikliklerini hedefleyen VivadoHLS'yi kenar algılama yazılım kodlarını RTL düzeyinde donanım devrelerine dönüştürmek için kullanan bir donanım hızlandırma yöntemi önerilmiştir. Donanım hızlandırma, fonksiyonel modülleri donanım devresi tarafından büyük miktarda hesaplama ile gerçekleştirmektir.Donanım devresinin yüksek çalışma frekansı ve veri genişliğine göre uzun gecikme ve sınırlı veri genişliği dezavantajlarını çözebilir. Deneysel sonuçlar, kenar algılama donanım hızlandırma yönteminin yalnızca gecikmeyi ve veri bant genişliğini iyileştirmediğini, aynı zamanda uç algılamanın geliştirme döngüsünü de kısalttığını göstermektedir.

HLS; kenar algılama; donanım hızlandırma; çip üzerinde sistem

Çin Kütüphanesi Sınıflandırma Numarası: TN919.82

Belge tanımlama kodu: Bir

DOI: 10.16157 / j.issn.0258-7998.2017.05.017

Çince alıntı biçimi: Peng Xiwu, Zhang Tao. Vivado HLS'ye dayalı kenar algılama donanım hızlandırma uygulaması. Elektronik Teknoloji Uygulaması, 2017, 43 (5): 70-73.

İngilizce alıntı biçimi: Peng Xiwu, Zhang Tao. Vivado HLS'ye dayalı kenar algılama donanım hızlandırması.Elektronik Tekniğin Uygulanması, 2017, 43 (5): 70-73.

0 Önsöz

Bilgisayarla görme ve görüntü işleme alanında, görüntü kenarı algılama teknolojisi önemli bir rol oynar ve etkisi, tüm sistemin performansını doğrudan etkiler. Görüntünün kenarı zengin dahili bilgiler içerdiğinden, görüntü bölümleme ve özellik değeri çıkarma için önemli bir temel oluşturur. Kenar algılama, yalnızca işleme verilerini azaltmakla kalmaz, aynı zamanda gerçek zamanlı görüntü işlemede önemli içeriklerden biri olan görüntüdeki nesnelerin şekil bilgilerini de korur.

Bu aşamada, yazılım veya FPGA donanımı esas olarak kenar algılamayı gerçekleştirmek için kullanılır. Literatür-Görüntünün kenar algılamasını gerçekleştirmek için yazılım yöntemi kullanılır.Kenar algılamanın etkisi iyileştirilmiş olmasına rağmen gecikme ve veri bant genişliği açısından iyileştirilemez. Literatür-Görüntü kenar algılamasını gerçekleştirmek için FPGA yöntemini kullanma Bu donanım yöntemi, kenar algılamanın uzun gecikmesini ve veri bant genişliğinin sınırlandırılmasını iyileştirse de, FPGA donanım tasarımının karmaşıklığı tüm devre geliştirme döngüsünün daha uzun olmasına neden olacaktır.

Bu makale, kenar algılama yazılım kodunu RTL donanım devrelerine dönüştürmek için Xilinx'in Vivado HLS'sini kullanır. Bu sadece yazılım yönteminin getirdiği uzun sistem gecikmesi ve dar veri bant genişliğinin eksikliklerini gidermekle kalmaz, aynı zamanda FPGA donanım devresi tasarım döngüsünün eksikliklerini de önler.

1 Kenar algılama algoritması tasarımı

Sobel operatörüne dayalı kenar algılama, basit algoritma ve uygun uygulama avantajlarına sahiptir, ancak görüntüleri işlerken gürültüye duyarlılık ve bulanık kenar sınırları gibi dezavantajlar vardır, bu nedenle Sobel algoritması temelinde optimize edilmesi gerekir. Optimize edilmiş kenar algılama, Şekil 1'de gösterildiği gibi orta filtre, genleşme filtresi, kenar algılama modülü ve korozyon filtresi modülünden oluşur. Görüntü girildikten sonra, medyan filtresi önce giriş görüntüsündeki görüntü gürültüsü işlemesini düzeltir ve ardından görüntünün yerel maksimum değeri genişletme filtresi tarafından hesaplanır ve ardından kenar algılama modülü görüntünün kenar bilgilerini çıkarır ve son olarak korozyon filtresi tarafından ortadan kaldırılır. En iyi görüntü kenarını elde etmek için görüntüdeki "benek" gürültüsü.

2 Kenar algılama yazılımı ve donanımının birlikte tasarımı

Kenar algılamanın yazılım ve donanım ortak tasarımı temel olarak yazılım uygulama tasarımını, donanım hızlandırma tasarımını ve SoC uygulama tasarımını içerir.

2.1 Yazılım ve donanım işbirliğine dayalı geliştirme süreci

Yazılım uygulama tasarımı, kenar algılama işlevini gerçekleştirmek için OpenCV işlevini veya özel işlev işlevini kullanmaktır; donanım hızlandırma tasarımı, yazılım kodunu, sentezlenemeyen işlevlerin veya ifadelerin Vivado HLS tarafından desteklenen işlevlerle değiştirilmesi gereken RTL devresine dönüştürür; SoC uygulama tasarımı Vivado HLS'nin RTL devre çıkışı, gerçek SoC sistemine uygulanır. Şekil 2, kenar algılama donanım hızlandırmasının bir akış çizelgesidir.

Şekil 2'de gösterildiği gibi, önce yazılım uygulamasının geliştirilmesini tamamlayın, ardından Vivado HLS tarafından sentezlenemeyen OpenCV işlev zincirini HLS video kitaplığı işlev zinciriyle değiştirin ve son olarak FPGA'da aramak için bir IP'ye kapsülleyin.

2.2 Kenar Algılama Yazılımı ve Donanım İşbirliğinin Uygulanması

Yazılım uygulama aşamasında, OpenCV işlev kitaplığı veya özel C dili işlevleri, kenar algılama algoritmalarını uygulamak için kullanılır, ancak Vivado HLS tüm yazılım kodlarını sentezleyemez. Yazılım kodunda Vivado HLS tarafından sentezlenemeyen işlevler olduğunda, dinamik bellek tahsisini tamamlamak için sabit nokta işlemleri, yonga üzerinde hat arabellekleri ve pencere arabellekleri gibi bu işlevlerin genişletilmesi veya değiştirilmesi gerekir; harici bellekte kayan nokta ve görüntü depolama ve değişiklik Operasyon.

Donanım hızlandırma şeması, yazılım uygulamaları temelinde gerçekleştirilir. SoC'yi oluştururken, çipin içindeki AXI ara bağlantı veriyolu kullanılır ve desteklediği veri türü AXI4 video akışıdır. Kenar algılama IP arayüzünü tasarlarken, AXI4 video akışını ve Vivado HLS tarafından desteklenen hls :: Mat türünü dönüştürmek gerekir. Veri dönüştürme modülü, Şekil 2'de AXIvideo2Mat ve Mat2AXIvideo modüllerinde gösterilmektedir. Vivado HLS, OpenCV işlev zincirini HLS video kitaplığı işlev zincirine dönüştürür. Donanım hızlandırma aşaması, kenar algılamanın simülasyonunu ve optimizasyonunu içerir.Sadece optimizasyon ve simülasyon geçişinden sonra, RTL seviyesindeki devre bir IP çekirdek çıkışına paketlenir.

3 Sistem yapımı ve IP çekirdek optimizasyonu

Kenar algılamanın yazılım ve donanım işbirliğine dayalı uygulamasının belirli sınırlamaları vardır ve yalnızca işlemciler ve programlanabilir mantık dizileri içeren SoC'lerde uygulanabilir. Bu makale, Xilinx Company'nin zc7z020clg484-1 serisi yongalarındaki kenar algılamanın sistem yapısı ve işlevsel doğrulamasıdır.

3.1 SoC sistem tasarımı

Vivado HLS, kenar algılama IP'sini Vivado'nun IP kataloğuna gönderir ve kenar algılama IP çekirdeği, SoC sistem tasarımı sırasında çağrılabilir. Oluşturulan kenar algılama SoC sistemi Şekil 3'te gösterilmektedir.

ŞEKİL 3'te, kalın ok görüntü veri akışının yolunu gösterir ve ince ok kontrol sinyalinin yönünü gösterir. Şekil 3'te gösterilen gölgeli alan, kırpılabilir sistemdir (PS) ve beyaz alan, programlanabilir mantıktır (PL). Vivado HLS, çerçeve arabelleğine işaretçi erişimini desteklemediğinden, çerçeve verilerine erişmek için AXI VDMA gereklidir.

Video akışı, HDMI aracılığıyla video giriş denetleyicisine girilir ve veri akışı, AXI ara bağlantı veriyolu aracılığıyla DDR3 belleğinde depolanır.Cortex-A9, görüntü verilerine erişmek için AXI ara bağlantı veriyolu aracılığıyla AXI VDMA'yı ve kenar algılama IP'sini kontrol eder ve işlenen veriler, DDR3 ve son olarak Cortex-A9, işlenen verileri video görüntüleme denetleyicisine gönderir. Donanım hızlandırma, Cortex-A9 tarafından işlenen hesaplamaları tamamlanmaları için PL'ye aktarır, bu da işlemci üzerindeki yükü azaltır.

3.2 HLS modül optimizasyonu

Vivado HLS'nin iki optimizasyon yöntemi vardır, biri Direktif kontrol çubuğunda optimizasyon değişkenlerini ve parametrelerini ayarlamak, diğer yöntem ise değişken uygulama türünü ve yapısını tanımlamak için kodda #pragma komutlarını kullanmaktır. Sistemin ihtiyaçlarına göre kenar algılama için seri ve paralel uygulama stratejileri uygulayın.

3.2.1 Seri uygulama şeması

Seri uygulama, yazılım kodunun sıralı yürütme yapısını korumak içindir ve kenar algılama modülü sırayla seri olarak yürütülür. Donanım devresi 100 MHz'lik bir frekansta çalıştığında, işleme pikseli (1080 × 1092) ve görüntü hızı 0,7 kare / sn'dir. Tablo 1'den Sobel alt modülünün, tüm kenar algılama fonksiyon bloğunun oranının azalmasına neden olan 1142 ms tükettiği görülebilir. Kenar algılama IP verilerinin genişliği 16 bit ve piksel derinliği 8 bit olduğunda, kenar algılama işlem hızı 825,5 KB / s'dir.

3.2.2 Paralel uygulama şeması

Paralel uygulama, paralel yürütmeyi sağlamak için for döngüsünü düzleştirmek, diziyi değiştirmek ve ardışık düzen işlemleri eklemektir. Seri uygulama ile karşılaştırıldığında, hızın yaklaşık 68.5 kat arttığı görülebilir .. 100 MHz'lik bir frekansta, işlem piksellerinin (1080 × 1092) görüntü hızı 48 kare / s'dir. Kenar algılama IP verilerinin genişliği 16 bit ve piksel derinliği 8 bit olduğunda, kenar algılama işlem hızı 56609.28 KB / s'dir.

Yukarıdaki iki uygulama aracılığıyla, paralel uygulamanın işlem hızının seri uygulamaya göre yaklaşık 68,5 kat daha hızlı olduğu ve işlem süresine karşılık gelen veri çıkış hızının da 68,5 kat artırıldığı görülebilir. Veri bant genişliği gereksinimleri karşılamadığında, IP veri portunun genişliği, yazılım kodundaki değişkenlerin bit genişliğini değiştirerek ve böylece veri çıkışını artırarak artırılabilir.

Donanım devresi tarafından kullanılan kaynak, genellikle algoritma tarafından dikkate alınan faktörlerden biridir. Tablo 2, iki uygulama stratejisinin gerektirdiği donanım kaynaklarını göstermektedir.

Kaynak kullanımı açısından paralellik, seri uygulamadan daha fazla kaynak kullanır.Tüm yongayı oluşturan kaynaklar BRAM_18K için% 10, DSP48E için 0, FF için% 3 ve LUT için% 10'dur. Kaynakların tasarım gereksinimlerini karşıladığı görülebilir.

4 Sonuç analizi

Bu belgede kenar algılamanın etkisini doğrulamak için üç set gerçek yol görüntüsü kullanılmıştır. İlk grup, Şekil 4'te gösterildiği gibi gün içinde çekilen bir yol sahnesidir, Şekil 4 (a) orijinal giriş görüntüsüdür, Şekil 4 (b) OpenCV kenar algılamanın sonucudur ve Şekil 4 (c), donanım hızlandırmalı kenar algılamanın sonucudur. İkinci grup, gece çekilmiş bir yol sahnesidir (zayıf pozlama), bkz.Şekil 5. Şekil 5 (a) orijinal giriş görüntüsüdür, Şekil 5 (b), OpenCV kenar algılamanın sonucudur ve Şekil 5 (c), donanımdır Kenar algılama sonuçlarını hızlandırın. Üçüncü grup, gece çekilen bir yol sahnesidir, bkz. Şekil 6, Şekil 6 (a) orijinal giriş görüntüsüdür, Şekil 6 (b), OpenCV kenar algılamanın sonucudur, Şekil 6 (c), donanım hızlandırmalı kenar algılamanın sonucudur.

Şekil 4, Şekil 5 ve Şekil 6 için, donanım hızlandırmalı kenar algılamanın etkileri hem yatay hem de dikey perspektiflerden analiz edilir. Yanal analiz, OpenCV kenar algılama sonucuyla karşılaştırıldığında, donanım hızlandırma şemasının daha belirgin kenar görüntü çizgileri çıkardığı görülebilir.Şekil 5'teki zayıf pozlama etkisi durumunda, OpenCV'de kenar algılama eksiklikleri bulunurken, donanım hızlandırma şemasında kaçırılan algılamalar yoktur. ; Boylamsal analiz, gündüz çekilen sahnelerin kenar algılama sonucu gece çıktısından daha iyidir ve iyi pozlama ile gece çekilen sahnelerin kenar algılama etkisi, zayıf pozlanmış çıktıdan daha iyidir.

Üç set sahnede donanımla hızlandırılmış kenar algılama etkisinin analizi, donanım hızlandırmalı kenar algılamasının OpenCV kenar algılamasından önemli ölçüde daha iyi olduğunu gösterir.Aynı zamanda, donanım hızlandırmalı kenar algılama, kamera pozlama etkisi zayıf olduğunda veya dış ortam karmaşık olduğunda etkili kenarlar gerçekleştirebilir. Tespit etme.

5. Sonuç

Geleneksel OpenCV görüntü işlemenin uzun gecikmesi ve sınırlı veri bant genişliği göz önüne alındığında, donanım hızlandırma bu eksikliği giderebilir. Vivado HLS'yi, donanım devre tasarımını yazılım uygulamaları temelinde daha fazla uygulamak için kullanmak, sistem geliştirme döngüsünü büyük ölçüde kısaltmaktadır. Bu makale yalnızca kenar algılama için bir donanım hızlandırma şeması önermekle kalmaz, aynı zamanda büyük veri işleme hacmine ve hızlı işlem hızına sahip uygulamalarda yazılım ve donanım kombinasyonu yoluyla sistem tasarımı için bir şema önerir.

Referanslar

Guan Xinping, Zhao Lixing, Tang Yingqian. Görüntü denoising hibrit filtreleme yöntemi Çin Görüntü ve Grafik Dergisi, 2005, 10 (3): 332-337.

Jiang Ting, Tan Yuegang, Liu Quan.SOBEL operatörüne dayalı görüntü netliği değerlendirme fonksiyonu üzerine araştırma Bilgisayar ve Dijital Mühendislik, 2008 (8): 129-131,191.

Jin Pengfei İyileştirilmiş Sobel görüntü kenarı algılama algoritması Applied Optics, 2008 (4): 625-628.

Bai Junjiang, Hong Chunyong Sobel'e dayalı kenar algılama yöntemi Bilgisayar Bilgisi ve Teknolojisi, 2009 (21): 5847-5849.

Li Jinming, Yan Xiaojun, Jiang Xudong, ve diğerleri Sobel görüntü kenarı algılama algoritmasının optimizasyon tasarımı ve uygulaması Elektronik Teknolojinin Uygulanması, 2016, 42 (3): 71-73.

Yang Xinhua, Kou Weigang, FPGA tabanlı Sobel operatör görüntü kenarı algılama algoritması. Enstrümantasyon Teknolojisi ve Sensörü, 2013 (1): 102-104

Ning Sainan, Zhu Ming, Sun Honghai, vb. Sobel uyarlamalı kenar algılamasının geliştirilmiş bir FPGA uygulaması Sıvı Kristal Görüntü ve Görüntü, 2014 (3): 395-402.

Guo Fengshou. Xilinx FPGA / Zynq tasarımında OpenCV geliştirme sürecini uygulamak için HLS'yi kullanın Elektronik Ürünler Dünyası, 2014 (2-3): 50-52.

"Star Wars: The Last Jedi" yeni Çince fragmanı dünya çapında aynı anda yayınlandı
önceki
Honor 10 Youth Edition değerlendirmesi: fütüristik kademeli tasarım, aynı fiyat aralığında "selfie yıldızı"
Sonraki
Hu adam, Yuquan'dan bir şarkı söyledi ve sonra kendini uyuşturucuya teslim etti!
Famitong puanı: "Cang Wing Apocalypse: Cross Team Battle" için 35 puan
1399 yuan'dan satış! Honor 10 Youth Edition yayınlandı: parlama gradyan rengi, 24 milyon AI selfie
Yerli idol dramasının başyapıtı "Aurora Love"
Dünyanın ilk yasal olarak yetkilendirilmiş iki kişilik uçan otomobili GyroDrive yolda
Tan Weiwei, "Aşk ve Buluşma" Zhang Aijia'nın tema şarkısını söylüyor: O benim istediğim şey
"Sky Hunter" filmi ağızdan ağza özel filmleri yayınlıyor, kanlı işler gençlerin uçan rüyasını ateşliyor
Tek çipli mikrobilgisayar tabanlı düşme algılama cihazı
Bugünün Oscar filminin Çin'e girmek için kaç seviye geçmesi gerekiyor?
Yeni çağdaki trendler Nokia'nın Nirvana'dan dönüşünü izleyin, klasikleri tekrar gözden geçirin ve JD ile yeniden başlayın
Uzay Aracı Elektrostatik Deşarjı Üzerine Simülasyon Araştırması
Övmezsen bu yıl en büyük pişmanlık olacak.
To Top