• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于HLS的色彩插值算法硬件設(shè)計與實現(xiàn)

      2020-06-16 04:00:52潘曉英李晨晨薛玉鋒
      液晶與顯示 2020年6期
      關(guān)鍵詞:像素點插值梯度

      潘曉英,李晨晨*,王 昊,薛玉鋒

      (1.西安郵電大學(xué) 計算機學(xué)院,陜西 西安 710121;2.廈門優(yōu)萊柏網(wǎng)絡(luò)科技有限公司,福建 廈門 361008)

      1 引 言

      圖像傳感器是獲取圖像不可或缺的一個重要組成部分。目前市場上常見的圖像傳感器主要有互補金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)圖像傳感器和電荷耦合元件(Charge-coupled Device,CCD)圖像傳感器兩種[1]。由于制造工藝和原件成本等原因,市場上主流的傳感器多為CMOS圖像傳感器。為獲得彩色圖像,通常需要在CMOS圖像傳感器表面覆蓋一層彩色濾波陣列(Color Filter Array,CFA),而Bayer格式的CFA是最常用的一種[2],Bayer格式的圖像在每個像素位置上只有物理三基色(紅、綠、藍)中的一種色彩分量,要得到RGB彩色圖像就需要根據(jù)該色彩分量周圍的其他色彩分量插值計算出另外兩種色彩分量,這種處理方式稱為色彩插值[3-4]。

      隨著圖像傳感器像素尺寸的增加,圖像數(shù)據(jù)量也隨之增大,使用軟件方式實現(xiàn)色彩插值算法存在實時性差、效率低下等問題,現(xiàn)場可編程門陣列(Field-Programmable Gate Array, FPGA)[5-6]在圖像處理應(yīng)用上具有處理數(shù)據(jù)量大、處理速度快等特點,使用FPGA可以加速實現(xiàn)色彩插值算法。色彩插值算法在實際硬件實現(xiàn)中多采用計算簡單、實現(xiàn)較為容易的算法,比如鄰近插值算法和雙線性插值算法等[7-9]。文獻[10]提出在FPGA上采用鄰近插值算法實現(xiàn)色彩還原,但圖像色彩還原較差,細節(jié)丟失嚴重。文獻[11]提出在FPGA上實現(xiàn)一種四合一圖像插值算法,該算法FPGA實現(xiàn)簡單,實時性較好,但圖像邊緣鋸齒現(xiàn)象較為嚴重。上述文獻中插值算法的實現(xiàn)多使用硬件描述語言開發(fā),對開發(fā)要求較高且開發(fā)時間較長。

      針對上述算法存在圖像色彩還原較差、細節(jié)丟失嚴重、存在鋸齒現(xiàn)象以及開發(fā)周期較長等問題,本文提出了一種改進的色彩插值算法,該算法融合雙線性插值法和一階微分邊緣導(dǎo)向插值法實現(xiàn)色彩插值,使用Xilinx高層次綜合工具HLS完成算法開發(fā)。與傳統(tǒng)FPGA開發(fā)使用硬件描述語言實現(xiàn)相比,HLS使用C/C++進行開發(fā)[12-13],可降低開發(fā)難度,縮短開發(fā)時間。最后本文在ZYNQ平臺上將HLS生成的色彩插值IP與圖像采集模塊結(jié)合實現(xiàn)了實時的圖像色彩還原。

      2 改進的色彩插值算法

      本文的色彩插值算法采用雙線性插值算法和一階微分邊緣導(dǎo)向插值算法相結(jié)合的方式實現(xiàn)圖像色彩還原。如圖1所示,在Bayer格式的CFA中,綠色分量占據(jù)所有像素信息的一半,所包含的圖像信息量相對較多,需要在插值計算中更加精確地進行還原。當(dāng)被插值像素點為R分量或B分量時,對缺失像素的插值使用較為復(fù)雜的算法計算。紅色與藍色分量分別占所有像素信息的1/4,為減少算法復(fù)雜度與FPGA資源占用,當(dāng)被插值像素點為G分量時,使用計算相對簡單的算法完成插值計算。圖1所示為Bayer格式的色彩濾波陣列。

      圖1 Bayer色彩濾波陣列(CFA)Fig.1 Bayer color filter array (CFA)

      在圖像色彩還原時,如果插值算法沒有考慮到圖像邊緣的特殊性,使用了跨邊緣的圖像像素信息進行插值,就會導(dǎo)致插值后得到的圖像邊緣產(chǎn)生模糊和鋸齒現(xiàn)象。改進后的色彩插值算法對以紅色和藍色分量為中心像素點的像素使用一階微分邊緣導(dǎo)向插值算法進行色彩插值還原,通過計算被插值像素點處水平(垂直)方向或?qū)欠较虻奶荻戎荡_定圖像邊緣,取梯度較小方向上的像素點作為估計點,從而避免了插值時錯誤地利用跨邊緣的鄰域像素信息,在插值計算時能有效還原圖像邊緣信息,改善圖像邊緣模糊以及鋸齒現(xiàn)象等問題。對以綠色分量為中心像素點的像素使用雙線性插值算法進行色彩插值還原,利用相鄰像素中同色分量的像素值信息進行平均運算得到當(dāng)前像素的插值色彩分量,該算法運算量較小,可有效減少FPGA資源的使用。

      圖2 不同分量為中心像素點的示意圖。(a)藍色分量;(b)紅色分量;(c)綠色分量Fig.2 Diagram of different compontnts as central pixols. (a)Blue component;(b)Red component;(c)Green component.

      2.1 紅色與藍色分量處的色彩插值

      如圖2(a)所示,當(dāng)以藍色分量B22為中心像素點時,針對需要恢復(fù)的綠色分量和紅色分量,本文使用一階微分邊緣導(dǎo)向插值算法進行色彩還原。對需要插值的綠色分量,首先計算水平方向和垂直方向上的梯度大小,取梯度較小方向上的像素點作為估計點,計算當(dāng)前缺失像素,ΔHg表示水平梯度,ΔVg表示垂直梯度。

      (1)

      缺失的G分量插值計算方式如式(2)所示:

      (2)

      對藍色分量B22進行插值求取紅色分量R,根據(jù)藍色分量B22周圍的紅色分量的值來確定對角梯度值,Hr表示主對角梯度,Vr表示次對角梯度。取梯度較小方向上的像素點作為估計點,對角梯度值定義如下:

      (3)

      R分量的插值計算方式如式(4)所示:

      (4)

      在圖2(b)中,紅色分量R22為中心像素,需要插值計算出綠色分量和藍色分量,其計算過程與以藍色分量B22為中心像素點時的計算方式相同,首先計算R22處水平與垂直梯度值,插值計算出缺失的G分量,再計算R22處的對角梯度值,插值計算出缺失的B分量。

      2.2 綠色分量處的色彩插值

      如圖2(c)所示,當(dāng)以綠色分量G22為中心像素點時,使用雙線性插值算法進行色彩還原,首先對中心像素點鄰域內(nèi)相同顏色分量求均值,然后將該值作為中心像素點缺失顏色分量值。

      對圖2(c)中像素點G22進行插值,對應(yīng)的紅色分量R和藍色分量B的恢復(fù)公式如下:

      (5)

      (6)

      本文提出了一種改進后的色彩插值算法實現(xiàn)圖像色彩還原,對不同的顏色分量,使用相對應(yīng)的色彩插值算法,利用圖像邊緣的梯度信息區(qū)分圖像的邊緣,恢復(fù)出的圖像邊緣細節(jié)較好,減少了鋸齒與模糊現(xiàn)象。

      3 色彩插值算法的HLS實現(xiàn)

      Vivado HLS 是 Xilinx 公司推出的高層次綜合工具。與使用硬件描述語言開發(fā)FPGA不同,HLS使用 C/C++進行開發(fā),通過高層次綜合將其轉(zhuǎn)換成HDL代碼,并將程序打包成IP核,因此具有很強的靈活性,可大幅度縮短開發(fā)周期,同時也具有良好的加速功能。

      3.1 使用HLS設(shè)計色彩插值IP核

      使用Vivado HLS完成Bayer格式圖像色彩還原的流程如圖3所示。

      圖3 HLS 硬件加速流程Fig.3 HLS hardware acceleration process

      本文使用Sony IMX系列CMOS傳感器完成圖像采集,圖像尺寸為2 048×1 536。系統(tǒng)運行時,攝像頭完成取圖,原始Bayer格式圖像數(shù)據(jù)流進色彩插值IP,通過AXI4-Stream 協(xié)議將數(shù)據(jù)流轉(zhuǎn)換為HLS opencv庫下的 hls::Mat 格式,然后進行色彩插值運算,最后將處理完成的圖像再經(jīng)過格式轉(zhuǎn)換流出色彩插值IP,完成Bayer格式圖像的色彩插值,最終得到RGB彩色圖像。

      圖4 Vivado HLS實現(xiàn)色彩插值算法流程框圖Fig.4 Vivado HLS algorithm flow chart

      使用HLS完成色彩插值算法的主要流程如圖4所示。首先對圖像進行格式轉(zhuǎn)換,根據(jù)AXI4-Stream協(xié)議將原始圖像數(shù)據(jù)流轉(zhuǎn)換為HLS視頻庫下的 hls::Mat 格式,使用hls::LineBuffer緩存大小為3×2 048的行緩存,將行緩存中的數(shù)據(jù)使用hls::Window再緩存到一個大小為3×3的滑動窗口,對該3×3的滑動窗的中心像素點進行插值計算,計算完成后窗口右移,當(dāng)該窗口完成行遍歷后,行緩存下移,窗口繼續(xù)向右移動,直至完成所有像素點遍歷。

      如圖1所示,在Bayer格式的CFA中,不同色彩分量有規(guī)律地分布,其中G分量處于奇行偶列與偶行奇列,R分量與B分量處于奇行奇列與偶行偶列。在色彩插值計算中,需要判斷該滑動窗中心像素點所處行列的奇偶性,當(dāng)中心像素處于奇行偶列與偶行奇列時,對該像素采用雙線性插值算法進行色彩插值。當(dāng)中心像素處于奇行奇列與偶行偶列時,對該像素采用一階微分邊緣導(dǎo)向插值算法進行色彩插值。

      3.2 色彩插值IP硬件系統(tǒng)實現(xiàn)

      在Xilinx高層次綜合工具中,將設(shè)計仿真通過的色彩插值算法打包成IP核,在Vivado開發(fā)環(huán)境中將色彩插值IP添加進整體的圖像采集系統(tǒng)完成色彩還原的硬件加速。圖5為圖像采集和色彩還原系統(tǒng)的整體設(shè)計。在整體系統(tǒng)設(shè)計中將攝像頭采集到的Bayer格式數(shù)據(jù)輸送到色彩插值IP中,完成實時的圖像色彩還原。

      圖5 Vivado中圖像采集和色彩還原系統(tǒng)設(shè)計Fig.5 Image acquisition and color restoration system

      4 實驗與結(jié)果分析

      在對Bayer格式圖像進行插值運算過程中有可能會出現(xiàn)偽彩色、摩爾紋現(xiàn)象、鋸齒現(xiàn)象等問題。為衡量色彩插值算法的還原效果,需要對還原后的圖像進行圖像質(zhì)量進行評價。衡量圖像還原質(zhì)量可分為主觀評價和客觀評價,主觀判斷不具有量化標(biāo)準,因此本文選用了客觀評價中評價重構(gòu)圖像質(zhì)量最常用的方法:彩色信噪峰值比(CPSNR)。CPSNR值越大,說明插值后得到的圖像質(zhì)量越好。

      式(7)所示為CPSNR的計算公式。其中:W表示圖片的寬度,H表示圖片的高度,Oi,j,k表示真實圖片的原始值,Ni,j,k表示經(jīng)過插值算法恢復(fù)后的圖像,P表示像素的峰值,因為本文圖像格式為8 bits,因此P取值為255。

      (7)

      為驗證本文算法的圖像還原效果,隨機選取經(jīng)典的Kodak圖像庫里的8幅圖像數(shù)據(jù)作為測試圖像,對選取圖像進行圖像還原處理,得到Bayer格式的圖像再使用色彩插值算法進行還原。

      圖6 實驗結(jié)果Fig.6 Experimental results

      圖7 Kodak測試圖像集Fig.7 Kodak image dataset

      從圖6中可以看出,采用本文算法插值還原得到的圖像細節(jié)相較于雙線性法圖像細節(jié)更加豐富,色彩還原更好。相較于文獻[10]與文獻[11],圖像邊緣細節(jié)還原較好,鋸齒現(xiàn)象較少。

      表1 幾種算法的CPSNR值對比Tab.1 Comparison of CPSNR values of three algorithms

      續(xù) 表

      表2 硬件資源使用表Tab.2 Hardware resource usage table

      從表1中可以看出,本文算法的彩色峰值信噪比(CPSNR)相較于雙線性插值算法、文獻[8]、文獻[9]所提算法平均高4~6 dB,使用一階微分邊緣導(dǎo)向插值算法得到的CPSNR值比本文算法平均高0.5 dB左右。從表2中可看出,本文算法的FPGA資源使用略高于雙線性法與文獻[10]、文獻[11]所提算法,其FPGA資源使用比3種算法平均高13.7%,相較于一階微分算法有大幅度下降,僅為一階微分算法的57.1%。

      結(jié)合圖像還原結(jié)果、CPSNR數(shù)據(jù)以及FPGA的資源使用,改進后的色彩插值算法得到的圖像質(zhì)量比常規(guī)插值算法還原出的圖像質(zhì)量要好。相較于一階微分邊緣導(dǎo)向插值算法,其使用FPGA資源使用大幅度減少。在保證圖像還原質(zhì)量的前提下,本文算法還原出的圖像更加清晰,邊緣細節(jié)較好,圖像色彩還原真實,細節(jié)豐富,F(xiàn)PGA資源使用較少。

      最后,本文將設(shè)計驗證完成的色彩插值IP進行板級驗證,在Zynq平臺上結(jié)合攝像頭采集模組完成實時的圖像色彩插值計算,如圖8所示,圖8(a)為Zynq圖像采集平臺,圖8(b)為實際采集到的Bayer圖像,圖8(c)使用本文色彩插值IP在Zynq平臺上實際拍攝彩色還原圖像。

      圖8 采集模塊與板上還原結(jié)果Fig.8 Acquisition module and restore results

      5 結(jié) 論

      提出了一種改進的色彩插值算法,該算法融合了雙線性插值算法和一階微分邊緣導(dǎo)向插值算法。由于綠色分量所包含圖像信息量較多,當(dāng)被插值像素點為R分量或B分量時,使用一階微分算法插值恢復(fù)缺失的顏色分量,可有效減少圖像邊緣模糊與鋸齒現(xiàn)象。考慮到FPGA資源使用與硬件成本,當(dāng)被插值像素點為G分量時,使用雙線性插值算法插值恢復(fù)缺失的顏色分量。實驗結(jié)果表明,本文算法的彩色峰值信噪比相較于常規(guī)算法高4~6 dB。使用HLS開發(fā)可快速完成算法的設(shè)計與實現(xiàn),提高開發(fā)效率。將設(shè)計實現(xiàn)的算法打包生成IP核,可多次重復(fù)使用,提高了算法的復(fù)用性。

      猜你喜歡
      像素點插值梯度
      一個改進的WYL型三項共軛梯度法
      一種自適應(yīng)Dai-Liao共軛梯度法
      基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
      一類扭積形式的梯度近Ricci孤立子
      基于canvas的前端數(shù)據(jù)加密
      基于逐像素點深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
      一種改進FFT多譜線插值諧波分析方法
      基于四項最低旁瓣Nuttall窗的插值FFT諧波分析
      基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
      Blackman-Harris窗的插值FFT諧波分析與應(yīng)用
      蒙城县| 清新县| 佛学| 卓资县| 汨罗市| 高邑县| 上虞市| 山东| 平罗县| 左权县| 昌吉市| 和林格尔县| 云阳县| 双江| 丹江口市| 营口市| 黎川县| 和龙市| 祁阳县| 綦江县| 涡阳县| 德兴市| 扎赉特旗| 盈江县| 江都市| 宜宾县| 汝阳县| 平江县| 民县| 江阴市| 揭西县| 游戏| 宜州市| 罗平县| 广昌县| 宜宾县| 噶尔县| 曲阜市| 兰溪市| 泸定县| 丘北县|