CORDIC'e Dayalı Yüksek Hızlı Sobel Algoritmasının Gerçekleştirilmesi

0 Önsöz

Görüntü kenarı algılama, askeri, tarım, endüstri, tıp, havacılık ve diğer alanlarda yaygın olarak kullanılan dijital görüntü işleme alanında anahtar bir teknolojidir. Elektronik bilgi teknolojisinin hızla gelişmesiyle birlikte, çeşitli ilgili alanlar, görüntü kenarı algılama teknolojisi için daha yüksek gereksinimler ortaya koymuştur, yani, doğruluğu sağlama öncülüğünde büyük ölçekli verileri gerçek zamanlı olarak işlemek için.

Literatür, donanım paralel teknolojisinin ve boru hattı teknolojisinin kullanılması, verilerin iş hacmini büyük ölçüde artırır, ancak Sobel gradyan değerinin hesaplanması daha yavaştır ve bu da sistemin genel işlem hızını sınırlar. Literatür temelinde, literatür, Sobel gradyan değerinin yavaş hesaplanması sorununu çözer, bu da sistemin genel işlem hızını artırır, ancak bu yöntem doğruluğu feda ederek zayıf kenar algılamasına neden olur.

Yukarıdaki sorunlara yanıt olarak, bu makale, Sobel gradyan hesaplama formülünü, işlemin doğruluğunu sağlarken genel işlem hızını büyük ölçüde artıran bir veri kaydırma ve ekleme işlem hattı işlemine dönüştürmek için optimize edilmiş CORDIC algoritmasını benimser.

Sobel operatörü, 2 set 3x3 matris ile birinci dereceden türev kenar algılama operatörüdür. Görüntüdeki pikseller sırasıyla bu iki matris ile çevrildikten sonra görüntünün yatay ve dikey gradyanları elde edilebilir. Formül (1) ve formül (2) 'ye göre görüntü gradyan değeri elde edildikten sonra, değeri önceden belirlenmiş bir eşik değeri ile karşılaştırarak, noktanın görüntünün kenar kısmı olup olmadığı yargılanabilir.

Şekil 1 (a), işlenecek görüntü verileridir ve Şekil 1 (b) ve Şekil 1 (c), x ve y yönü gradyan değerlerini hesaplamak için kullanılan evrişim tablolarıdır.

Yatay gradyan Px ve dikey gradyan Py'nin hesaplama formülü formül (1) 'de gösterilir:

Denklem (1), iki hat tamponu (Line_buffer) ve ardışık düzen çarpanı ve toplayıcı kullanılarak tamamlanabilir. Şekil 2'de gösterildiği gibi, iki hat tamponu önceden depolandığında ve iki saat daha beklendiğinde, sistem gerçek zamanlı olarak işlenecek görüntü verilerini elde edebilir.

Şekil 3'te gösterildiği gibi, işlenecek görüntü verisi elde edildikten sonra, P02 ve P22 doğrudan toplama işlemlerini gerçekleştirir ve P12, kaydırma işlemleriyle 2 efektiyle çarpmayı sağlar. D flip-flopları (Reg) arasındaki mantık gecikmesini azaltmak ve sistemin çalışma frekansını arttırmak için, bu makale, P02 ve P22 ilavesinin sonucunu ve ekleme işlemini gerçekleştirmeden önce P12'nin bir vuruş için kaymasının sonucunu kaydeder. Yukarıdaki ilkelere dayanarak, P02, P20 ve P10 üzerinde benzer işlemler gerçekleştirildi. Son olarak, iki veri kümesini çıkarın ve ardından Sobel hesaplama sonucunu x yönünde elde etmek için mutlak bir değer alın. Y yönündeki Sobel hesaplama yöntemi, Şekil 3'teki prensibe benzer şekilde Şekil 4'te gösterilmektedir.

Son gradyan değeri, gradyan hesaplama formülüne göre hesaplanabilir:

Formül (2) 'ye göre, son gradyanın | G | modül değeri elde edilebilir, gradyanın modül değeri eşik değeri ile karşılaştırılarak, noktanın bir kenar noktası olup olmadığı yargılanabilir. Gradyan modülünün hesaplama formülü ile ilgili olarak, literatür ve literatür, karekök işlemini uygulamak için IP çekirdeğini çağırmayı seçer.Bu yöntem, hesaplama doğruluğunu bir dereceye kadar garanti eder, ancak hesaplama hızı sınırlıdır. Bu sorunu çözmek için literatür, hesaplama hızını daha iyi artıran eşdeğer formül (2) 'yi | G | = | Px | + | Py | seçer, ancak hesaplama doğruluğu büyük ölçüde azalır.

Yukarıda bahsedilen problemleri çözmek için, bu makale formül (2) 'nin çalışmasını gerçekleştirmek için optimize edilmiş boru hattı CORDIC algoritmasını kullanmayı seçmektedir. Bu yöntem sadece doğruluğu garanti etmekle kalmaz, aynı zamanda işlem hızını da artırır.

2 CORDIC algoritma prensibi

2.1 Dairesel sistem altında CORDIC algoritması

Hesaplamanın doğruluğunu sağlama öncülüğünde Sobel algoritmasının gerçek zamanlı işlem hızını ve veri verimini iyileştirmek için, bu makale onu optimize etmek için CORDIC algoritmasını kullanmayı seçmiştir. CORDIC, karmaşık hesaplamaları vardiya ve eklemelere dönüştüren yinelemeli bir işlemdir. CORDIC algoritmasının döndürme modu ve vektör modu vardır. Farklı koordinat sistemlerinde kullanıldığında farklı fonksiyonlar gerçekleştirilebilir. Formül (2) 'yi gerçekleştirme ihtiyacından dolayı bu makale, dairesel koordinat sisteminde vektör modunu seçer.

2.2 Vektör modu

Vektör modunda, bir dizi açı yaklaşımı yoluyla arktanjant ve karekök hesaplanabilir. Döndürme modunun tam yinelemeli formülü denklem (3) 'te gösterilmiştir. Xi mevcut apsis değeri olduğunda, yi mevcut ordinat değeridir ve zi mevcut açı kümülatif değeridir. Bunlar arasında yi, karar operatörü i'nin değerini kontrol eder. Yi'nin değeri pozitif olduğunda i negatif, yi'nin değeri negatif olduğunda i pozitiftir.

3 Vektör modunda CORDIC algoritmasının optimizasyonu

Sistemin genel performansını iyileştirmek için, bu makale CORDIC algoritmasını optimize eder ve son olarak CORDIC algoritmasının doğruluğunu ve hızını geliştirir.

3.1 Kapsama açısının genişletilmesi

Denklem (6) 'da gösterildiği gibi, CORDIC algoritmasının dönüş açısının sabit bir yasası vardır ve açı 2-i'nin arktanjantıdır. Yineleme sayısı sonsuza eğilimli olduğunda, tüm açı değerlerinin toplamı yaklaşık olarak 99.827 ° 'ye eşittir. Kapsama açısı derecesinin çevredeki tüm açıları kapsamadığı görülebilir.

Sadece denklemin (2) çözülmesi gerektiği düşünüldüğünde, giriş verilerindeki işaret değişikliği nihai hesaplama sonucunu etkilemez. Bu nedenle, formül (1) 'de | Px | ve | Py | doğrudan elde edilir ve tüm veri hesaplamaları bu işlemle ilk çeyrekle sınırlandırılır. Yineleme sayısını azaltmak için, giriş verileri daha fazla işlenebilir. | Px | ve | Py | karşılaştırın, eğer | Py |, | Px | değerinden büyükse, | Py | ve | Px | değerlerini değiştirin; | Px | değeri | Py | 'den büyükse, sonra | Py | ve | Px | değeri değişmeden kalır. Önişlemeden sonra, verinin kadranı ile sınırlıdır. Sonuç olarak, bir seviye yineleme azaltılabilir ve bu nedenle yakınsama aralığı değiştirilebilir. Yukarıdaki işlemden sonra, formül (5), formül (7) olarak değiştirilir.

3.2 Veri bit uzantısı

CORDIC algoritmasının yineleme sayısı ve işlem verilerinin bit genişliği, işlem sonucunun doğruluğu üzerinde büyük bir etkiye sahiptir. YU Y H, literatürdeki nicemleme hatasını (OQE) çözmek için bir yöntem önerdi.

YU Y H, OQE'nin yaklaşıklık hatası ve yuvarlama hatasından oluştuğunu belirtti. Yaklaşık hata, maksimum vektör modülü değeri ve yineleme sayısı ile belirlenen CORDIC dönüş açısını ölçmek için belirlenen sonlu sayıda rotasyon açısının neden olduğu niceleme hatasıdır. Yuvarlama hatası, hesaplama sırasında yetersiz veri bitlerinin neden olduğu hatadır ve verilerin bit genişliğine göre belirlenir.

Veri bit genişliğini ve yineleme sayısını artırmak, işlem sonucunun doğruluğunu artırabilir. Ancak yineleme sayısı belirli bir değere ulaştığında yineleme sayısındaki artışın işlemin doğruluğu üzerinde çok az etkisi vardır. Aritmetik verilerin bit genişliğini artırmak, daha iyi sonuçlar getirecek ve yuvarlama hatasını büyük ölçüde azaltacaktır. Veri bit genişliğini bir bit artırdığınızda, yuvarlama hatası 1/2 oranında azalacaktır. Bu yazıda formül (2) 'yi gerçekleştirmek için CORDIC algoritması kullanıldığında, daha fazla sayıda yineleme sağlama öncülü altında, işlem verisi biti 3 bit uzatılır, bu da yuvarlama hatasını büyük ölçüde azaltır.

Verilerin yinelemeli işleminde, kayan noktalı sayıların kullanım sıklığını azaltabileceği düşünülerek sabit nokta sayıları kullanılır. Şekil 5'te gösterildiği gibi, sabit noktalı sayı, bir işaret biti (S), bir tam sayı biti (I) ve bir ondalık bitten (D) oluşur.

3.3 Optimizasyondan sonra CORDIC algoritmasının uygulanması

Dairesel moddaki vektör modu, | Px | ve | Py | girişlerine göre son gradyanın modülünü doğrudan çözebilir. Gradyan modülü aritmetik modülünün donanım yapısı diyagramı, üç bölümden oluşan Şekil 6'da gösterilmektedir: ön işleme, CORDIC yinelemeli boru hattı ve işlem sonrası. Ön işleme bölümünde, | Px | ve | Py | değerlerinin değiştirilmesinin gerekip gerekmediğine karar verilecektir. Yineleme sayısı önceden belirlendiğinden ve ölçekleme faktörü bilindiğinden, ön işleme aşamasının sayısal düzeltme kısmı nihai sonucu önceden telafi edebilir. Telafi edildikten sonra, veri bitlerinin sayısı 24'ten 27'ye çıkarılır. Genişletmeden sonra, yuvarlama hatası bir öncekinin 1 / 8'ine düşürülecek ve bu da hesaplamanın doğruluğunu artıracaktır.

Ön işlemeden sonra, 15 aşamalı bir ardışık düzen modu kullanan CORDIC yineleme bölümüne girer. Denklem (3) 'e göre, denklem (2)' yi çözerken sadece | Px | ve | Py | değerlerini bilmemiz gerekir, bu nedenle bazı kaynaklardan tasarruf etmek için zi hesaplaması atılabilir. Şekil 7'de gösterildiği gibi, yineleme bölümünün her satırı için iki kaydırma yazmacı ve iki toplayıcı / çıkarıcı vardır. Sembol kontrol sinyali, yi tarafından belirlenen İşarettir. Formül (3) ile, yi pozitif olduğunda toplayıcı xi'de, çıkarıcı ise yi'de, yi negatif olduğunda çıkarıcı xi'de ve toplayıcı da yi'de kullanılır.

Veriler iterasyon kısmından geçtikten sonra işlem sonrası kısmına girer. İşlem sonrası parça, sinyali bir vuruş için tamponlar ve kesme işlemini gerçekleştirir ve ardından son gradyanın modül değeri olan x15 değeri elde edilebilir. Ek olarak, tasarım, verimi ve maksimum çalışma frekansını iyileştirmek için bir boru hattı yapısı kullanır.

4 Sistem simülasyonu ve performans analizi

Bu tasarım ISE14.7 yazılımı altında Verilog HDL dilinde uygulanmıştır. Ayrıca tasarımı test etmek için MATLAB ve Modelsim SE 10.1c kullanılır.

Xilinx ISE derleyicisinde kodu derledikten sonra, bu makale Modelsim aracılığıyla yazılım simülasyonu gerçekleştirir. Şekil 8, bu tasarımın kritik yolunun simülasyonudur: CORDIC yinelemeli çalışmanın simülasyonu. Revize edilmiş | Px | ve | Py | sabit noktalı sayı yöntemiyle temsil edilir, toplam 24 bit, 0-12 bit ondalık basamaklar, 13-22 bit tam sayı biti ve 23 bit işaret bitidir. | Px | ve | Py |, | Px | ve | Py | değerlerinin sırasıyla x ve y ile temsil edilen 3 basamakla genişletilmiş halidir. Kn, son gradyan modülünün hesaplama sonucudur. Daha sezgisel olarak ifade etmek için, girdi değeri, ara değer ve çıktı sonucunun tümü işaretli ondalık sayılarla ifade edilir. Simülasyon sonuçlarına göre, optimize edilmiş CORDIC kullanılarak formül (2) 'nin hesaplanmasının doğruluğu, literatürün doğruluğundan çok daha büyük olan yaklaşık 10-4'tür.

Simülasyonun ardından literatürün algoritması ve bu yazının algoritması karşılaştırılarak test edilmiş ve sonuç Şekil 9'da gösterilmiştir. Şekil 9 (b) 'den literatürdeki hızlandırma algoritması kullanıldıktan sonra, düşük doğruluktan dolayı kenarların iyi tespit edilemediği, portrenin sol alt ve sağ üstündeki saç kenarlarının arka plan ile karıştırıldığı görülmektedir. Portre yüzünün sol alt ve sağ üst tarafındaki kenar algılama etkisi zayıf. Bu makalede geliştirilmiş algoritma kullanıldıktan sonra, Şekil 9 (c) 'de gösterildiği gibi, hesaplama hızının sağlanması öncülüğünde, görüntünün kenarları daha iyi tanınır ve saç ve yüz kenarları daha iyi tespit edilir. d) Sobel algoritmasının yaklaşık etkisini elde etmek için MATLAB kullanın.

Bu makale ayrıca kritik yolu hesaplamak için Xilinx ISE ile birlikte gelen karekök IP çekirdeğini kullanmaya çalışır. Spartan6 XC6SLX162CSG324C yongası, Xilinx ISE14.7 yazılım platformu altında karekök IP çekirdeğini derlemek ve sentezlemek için seçildi. Derleme ve sentezleme sonrasında İMKB tarafından hesaplanan en yüksek çalışma frekansı bilgisi elde edilir. Bu yazıda kullanılan algoritmanın performansını aynı koşullar altında test etmek için bu makalenin algoritması da derlenmiş ve en yüksek çalışma frekansı bilgisi elde edilmiştir. Nihai sonuçlar Tablo 1'de gösterilmektedir. Kritik yolu hesaplamak için IP çekirdeğini kullanarak, en yüksek çalışma frekansı 114.745 MHz'dir. Optimize edilmiş CORDIC algoritması, kritik yolu hesaplamak için kullanılır ve en yüksek frekans 187.652 MHz'dir. IP çekirdeği kullanan yöntemle karşılaştırıldığında, kritik yolun hesaplanmasını sağlamak için optimize edilmiş CORDIC algoritmasının kullanılması% 63,53 oranında hızlanabilir.

5. Sonuç

Geleneksel Sobel hızlandırma algoritmasına dayanan bu makale, FPGA platformunda Sobel algoritması hızlandırma elde etmek için optimize edilmiş CORDIC algoritmasını kullanır. Şekil 9'dan bu yöntemin kenar algılama etkisinin iyi olduğu ve görüntünün kenarının daha iyi tespit edildiği görülebilmektedir. Tablo 1'den görülebileceği gibi, bu yöntem, IP çekirdeğini çağırmaya kıyasla çalışma frekansını% 63,53 artırmaktadır. Deneysel sonuçlar, bu tasarımın sistemin çalışma hızını daha da geliştirdiğini ve daha yüksek hız gereksinimleri olan sistemlerde kullanım için uygun olduğunu göstermektedir.

Referanslar

AGGARWAL S, MEHER P K, KHARE K. Yeniden yapılandırılabilir CORDIC kavramı, tasarımı ve uygulaması. Çok Büyük Ölçekli Entegrasyon Sistemlerinde IEEE İşlemleri, 2016, 24 (4): 1588-1592.

PRASAD N, TRIPATHY M R, DAS D S, ve diğerleri. CORDIC tabanlı doğrudan dijital sentezleyicinin verimli VLSI uygulaması. Akıllı Bilgisayar, İletişim ve Cihazlar. Springer Hindistan, 2015.

Yu Lijie, Sun Yuliang, Miao Yongwei Derinlik bilgisinin yerel ikili model özelliklerine dayalı iç mekan sahne kenarı tespiti Bilgisayar Destekli Tasarım ve Grafik Dergisi, 2017, 29 (12): 2162-2170.

Liu Xiaoning, Xie Yizhuang, Chen He, ve diğerleri.CORDIC algoritmasının optimizasyonu ve gerçekleştirilmesi. Journal of Beijing Institute of Technology, 2015, 35 (11): 1164-1170.

SHUKLA R, RAY K C. Düşük gecikmeli hibrit CORDIC algoritması Bilgisayarlarda IEEE İşlemleri, 2013, 63 (12): 3066-3078.

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

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.

HU Y H. CORDIC algoritmasının niceleme etkileri IEEE İşlemleri Sinyal İşleme, 1992, 40 (4): 834-844.

yazar bilgileri:

Huang Hu, Yang Ding, Lei Yuhui, Xie Jiaxun, Chen Shiyao, Zou Yu

(Bilgi Bilimi ve Teknolojisi Okulu, Chengdu Teknoloji Üniversitesi, Chengdu 610059, Sichuan)

"Sektördeki etkin nokta" 96 katmanlı 3D NAND flash bellek savaşı yoğunlaşıyor
önceki
Dashi Johnson, Çinli hayranları "Baijiu içmeye" "Cesur Oyunu" Kuzey Amerika gişelerinde beklentileri aşmaya davet ediyor
Sonraki
Changsha'dan çekilen fotoğraf: Juzizhou'nun kafası dalgaların üzerinde yüzüyor ve kıvrılıyor ve Yuelu Dağı'nın mavi dağları boncuklar kadar güzel
FPGA ve NAND Flash'a Dayalı Taşınabilir Sinyal Toplama Sisteminin Tasarımı
AD2S1205'e dayalı çözücü kod çözme sisteminin tasarımı
Akıllı hayat nasıldır? Büyük kahve bir resim "konuşur"
Ke Zhendong ayrıldığını itiraf etti ve altı yaşındaki "ev kadını" Li Yufen kalbini tutamadı.
Samsung, Hindistan için tasarlanmış 32 milyona kadar pikseli destekleyen Exynos 7904 çipini piyasaya sürdü
PSO-BP Sinir Ağına Dayalı İnsan Akupunktur Konumlandırma Sisteminin Tasarımı
Notre Dame Katedrali yangınından sonra Fransız lüks eşya devi 760 milyon yuan bağışladı ve Çin'deki Eski Yaz Sarayı'nın hayvan başını bedavaya iade etti.
CPR Eylül Önerilen Okuma
Zamanla yarışan HP, A3 sahasında mucize yaratabilir mi?
Zynq-7000'e Dayalı Otomatik İzleme Sisteminin BSP'sinin Tasarımı ve Gerçekleştirilmesi
"Resimlerin Kralı"
To Top