国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟硬件協(xié)同的圖像放大系統(tǒng)設計

2024-01-10 10:08柴志雷
科學技術(shù)創(chuàng)新 2024年2期
關(guān)鍵詞:加速器雙層插值

樊 榮,柴志雷*

(1.江南大學人工智能與計算機學院,江蘇無錫;2.江蘇省模式識別與計算智能工程實驗室,江蘇無錫)

引言

圖像放大是指將低分辨率的圖像放大到高分辨率圖像,現(xiàn)在也被稱為圖像超分辨率重建,圖像放大應用范圍很廣,在醫(yī)學影像[1]、衛(wèi)星圖像[2]、視頻監(jiān)視[3]等領(lǐng)域,在數(shù)字相機、智能手機、監(jiān)控攝像頭、智能家居等嵌入式[4]設備也常常需要對圖像進行放大操作,以更好地觀察細節(jié)。圖像放大技術(shù)的應用,可以幫助用戶更好地理解圖像信息,提升圖像觀察體驗。

傳統(tǒng)放大算法是以插值為基礎的放大,其計算簡單,但是放大效果有限。在插值算法中一般以三次卷積插值放大效果最好,而基于卷積神經(jīng)網(wǎng)絡的圖像超分辨率重建效果常常要遠超三次卷積插值,但是基于卷積神經(jīng)網(wǎng)絡的圖像放大方法,其網(wǎng)絡結(jié)構(gòu)較深、網(wǎng)絡體量較大[5],其處理速度遠遠達不到三次卷積插值,針對這種情況本文提出一種輕量圖像放大加速器,設計了一種軟硬件協(xié)同的圖像放大系統(tǒng),在放大系統(tǒng)中,其放大速度要比三次卷積插值快,放大的效果要比三次卷積插值要好。

1 圖像放大模塊介紹

本文使用如圖1 所示基于卷積神經(jīng)網(wǎng)絡的雙層模型放大。首先,由初始特征提取模塊(如圖1 中的綠色塊)從低分辨率輸入圖中提取出的低分辨率的特征,然后將其輸出至反卷積模塊(如圖1 中的橙色塊)中,反卷積模塊將提取的特征圖融合上采樣為最終生成放大后圖。雙層模型結(jié)構(gòu)特點,輸入彩色圖像需要先進行顏色空間轉(zhuǎn)換,將其從RGB 顏色空間通道轉(zhuǎn)變?yōu)閅CbCr 通道,經(jīng)過雙層模型對Y 通道進行放大,通過線性插值對CbCr 進行放大,合并得到Y(jié)CbCr 三通道,最終轉(zhuǎn)換為RGB 彩色圖。conv(m,n,o)代表著輸入通道為m,輸出通道為n,卷積核尺寸大小為o×o 的卷積計算,deconv(p,q,r)代表著輸入通道為p,輸出通道為q,卷積核尺寸大小為r×r 的反卷積計算,在圖1中特征提取的卷積層的輸出通道數(shù)為16,在上雙層模型中反卷積核大小與放大倍數(shù)S 相等。

圖1 雙層模型結(jié)構(gòu)圖

2 雙層模型加速器介紹

本文通過FPGA 設計的雙層模型加速器如圖2所示,雙層模型加速器輸入數(shù)據(jù)和輸出數(shù)據(jù)均為數(shù)據(jù)流的方式,為了使卷積層和反卷積層能夠以數(shù)據(jù)流的方式并行運算,在卷積層和反卷積層之間添加了中間緩沖,當卷積層處理一批數(shù)據(jù)后,可將數(shù)據(jù)存儲中間緩沖,反卷積則從中間緩沖中獲取數(shù)據(jù)。

圖2 雙層模型加速器

當數(shù)據(jù)入流卷積層時,為了提高數(shù)據(jù)的并行本文設計實現(xiàn)了窗口緩沖加行緩沖的組合,如圖3 所示,當外部數(shù)據(jù)feature(i,j)流入輸入特征模塊時,此時需要先對linebuffer 中的數(shù)據(jù)進行更新,先將linebuffer 第j列的數(shù)據(jù)向上移動,隨后將流入的數(shù)據(jù)插入linebuffer第5 行的j 列處。linebuffer 更新結(jié)束后需要對windowbuffer 進行更新,先將windowbuffer 中的數(shù)據(jù)按照5 行5 列的排布方式整體左移1 格,而后取出linebuffer 第j 列數(shù)據(jù),插入到windowbuffer 的第5 列。最后將windowbuffer 中的數(shù)據(jù)一次性全部取出,流向卷積乘模塊。

圖3 窗口緩沖+行緩沖結(jié)構(gòu)示意圖

將卷積乘、卷積加、偏置、激活、數(shù)據(jù)存儲五個步驟進行流水,由于每個卷積層數(shù)據(jù)計算是相互獨立的,故而可以對16 通道進行流水展開。其展開結(jié)構(gòu)如圖4。

圖4 卷積流水展開示意圖

反卷積與卷積計算方式類似,但是在雙層模型中反卷積計算比卷積更適合流水,本文針對反卷積并行特點設計了在進行反卷積展開+雙重流水的結(jié)構(gòu),如圖5 所示,其中一個反卷積基本操作對16 個通道和反卷積核寬(與放大倍數(shù)相同,本文設計了6 放大)進行展開,該結(jié)構(gòu)大大提高了反卷積并行計算力度,加速了反卷積計算。

圖5 反卷積流水展開示意圖

3 放大系統(tǒng)設計與分析

本文設計的放大系統(tǒng)如圖6 所示,該系統(tǒng)分為軟件部分和硬件部分,軟件部分是PC 在Web 頁面書寫代碼調(diào)動雙層模型加速器進行處理,硬件部分是在PYNQZ1 板卡上搭建的SoC 系統(tǒng)。

軟件上使用Python 讀取需要放大的LR 圖像,將其轉(zhuǎn)化為YCbCr 顏色空間,提取出其Y 通道值,對Cb、Cr 通道通過三次卷積插值進行放大。在輸入前需要通過PYNQ 系統(tǒng)自帶Overlay 類從而調(diào)用PL 端設計的模塊,設置輸入LR 圖像高、寬以及需要放大倍數(shù),目前支持放大6 倍,然后指定Overlay 中的DMA類,將填充好的圖像數(shù)據(jù)傳輸至放大模塊加速器對其進行放大,然后等待DMA 模塊接受放大后Y 通道數(shù)據(jù),將Y、Cb、Cr 通道數(shù)據(jù)融合為RGB 圖像。

硬件上為SoC 系統(tǒng),該系統(tǒng)由PS 和PL 組成,其中PS 主要實現(xiàn)與PC 通過以太網(wǎng)進行數(shù)據(jù)交換,同時對PL 部分進行參數(shù)配置、數(shù)據(jù)傳輸。在整個RIP 系統(tǒng)中控制指令在PC 端通過以太網(wǎng)傳輸至PS 部分,PS中的APU(Application Processor Unit)在介紹到控制指令后,通過中央總線傳輸將控制指令通過通用GP口,將實現(xiàn)對DMA 控制器進行控制配置、對雙層模型接口進行配置。需要放大處理的LR 圖像數(shù)據(jù)在PC 端通過以太網(wǎng)傳輸至PS部分,PS 將數(shù)據(jù)存儲至DDR 中,DDR中的數(shù)據(jù)通過HP 口在DMA 模塊控制下從PS 段傳輸入PL 中雙層模型加速處,雙層模型加速器內(nèi)部分為卷積層和反卷積層,其中數(shù)據(jù)通路在第四章介紹過,根據(jù)圖中模塊依次通過卷積層,中間緩沖,反卷積層,最后反卷積層流出的數(shù)據(jù)通過DMA 控制下經(jīng)過HP 寫入DDR 中,最后通過以太網(wǎng)口,傳輸至PC端。

表1 為系統(tǒng)在PYNQZ1 上資源消耗情況,由表可知,本設計由于最終將卷積計算和反卷積計算都進行展開,因此其消耗的DSP48 資源損耗較多,最終總共使用132 個,其中conv 占用了35 個,卷積層計算為5×5 大小的卷積核,deconv 占用了97 個,LUT 資源消耗最多,總共消耗達到了49 748 個,已經(jīng)接近PYNQ-Z1 板卡的總量。

表1 系統(tǒng)資源消耗

本文使用放大前圖像為180*320,放大6 倍,即放大后圖像大小為820*1 920 對放大系統(tǒng)進行測試評價,對比雙層模型與三次卷積插值的處理效果,雙層模型通過FPGA 加速器實現(xiàn),三次卷積插值是在ARM9 上用python 調(diào)用opencv 庫實現(xiàn),如表2 所示。

表2 處理時間和PSNR 對比

其中,就處理時間而言,本文設計比三次卷積插值放大的處理時間要快22.7%,PSNR 能夠衡量圖像效果,PSNR 要高0.76,處理效果更好。

4 結(jié)論

本文采用一種輕量化的雙層模型,并通過數(shù)據(jù)流的方式實現(xiàn)雙層模型加速器,通過窗口緩沖和行緩沖、流水展開等優(yōu)化方式加速雙層模型卷積層、反卷積層,在PYNQZ1 通過軟件與硬件協(xié)同設計方式,調(diào)用雙層模型加速器進行放大,實現(xiàn)一種軟硬件協(xié)同的放大系統(tǒng),經(jīng)測試在該系統(tǒng)上實現(xiàn)圖像放大比三次卷積插值處理速度快22%,PSNR 高0.76,因此本文設計的圖像放大系統(tǒng)具有一定優(yōu)越性。

猜你喜歡
加速器雙層插值
莫比斯加速器眾創(chuàng)辦公空間
知識快餐店 科學加速器
全民小康路上的“加速器”
墨爾本Fitzroy雙層住宅
基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
等待“加速器”
一種改進FFT多譜線插值諧波分析方法
基于四項最低旁瓣Nuttall窗的插值FFT諧波分析
次級通道在線辨識的雙層隔振系統(tǒng)振動主動控制
傳統(tǒng)Halbach列和雙層Halbach列的比較
盱眙县| 永福县| 卓尼县| 肇源县| 苏尼特右旗| 华安县| 丽水市| 文山县| 巴南区| 汕头市| 凤山市| 新民市| 社旗县| 习水县| 桐梓县| 和田市| 车致| 通道| 林芝县| 石柱| 湟源县| 延边| 塔城市| 房山区| 金昌市| 临湘市| 北宁市| 乌拉特中旗| 达拉特旗| 定西市| 焦作市| 呼伦贝尔市| 伊宁市| 响水县| 合山市| 克什克腾旗| 广安市| 朝阳区| 喀什市| 弥勒县| 兴仁县|