• 
    

    
    

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

      基于FPGA的實時Bayer解馬賽克算法與實現(xiàn)

      2022-04-25 07:36:12張澤宇伍凌帆楊一帆李旭亮
      應(yīng)用光學(xué) 2022年2期
      關(guān)鍵詞:梯度方向馬賽克復(fù)原

      張澤宇,張 弘,伍凌帆,楊一帆,李旭亮

      (北京航空航天大學(xué),北京 102206)

      引言

      目前絕大多數(shù)的消費級圖像采集設(shè)備采用CMOS/CCD 作為前端傳感器,通過A/D 模塊將采集到的模擬量轉(zhuǎn)化為數(shù)字信號。由于彩色圖像需要紅、綠、藍(lán)3 顏色分量的信息,出于對成本和曝光時間等考慮,消費級產(chǎn)品多采用彩色濾波陣列CFA(color filter array)的方法,將每個像素點的紅、綠、藍(lán)顏色分量壓縮,僅保留單個顏色通道信息。其中Bayer 陣列[1]是最常見的一種彩色濾波陣列,其特點在于陣列的綠色分量2 倍于藍(lán)色或紅色分量。

      后端圖像處理系統(tǒng)通過解馬賽克算法將Bayer陣列復(fù)原為紅、綠、藍(lán)3 色陣列,過程如圖1所示。利用目標(biāo)位置原有顏色值以及周圍位置的其他顏色分量,恢復(fù)目標(biāo)位置缺失的顏色。算法性能影響了圖像復(fù)原得到的色彩真實性,進而影響了彩色圖像的有效分辨率。在解馬賽克的過程中不可避免地引入人為設(shè)計的插值像素,從而導(dǎo)致顏色與真實場景不相符的情況發(fā)生,主要問題包括拉鏈效應(yīng)、偽彩色和摩爾紋效應(yīng)[2]3 大類問題。圖2 展示了典型場景下,由Bayer 解馬賽克算法引入的拉鏈效應(yīng)(左)、偽彩色(中)和摩爾紋(右)現(xiàn)象。

      目前Bayer 陣列解馬賽克算法已經(jīng)過了長達(dá)30 余年的發(fā)展,現(xiàn)存在的解馬賽克算法大致可分為3 類。第1 類是模板線性插值方法[3],這種方法的特點在于整幅圖像采用相同的插值模板進行計算,算法復(fù)雜度低、輸出延遲小。常見的方法包括最近鄰插值方法、雙線性插值法等。最初的算法設(shè)計中,未知的顏色分量僅通過周圍的同顏色分量來插值復(fù)原,但是由于藍(lán)色、紅色分量信息不足,復(fù)原效果不佳,引入偽彩色問題。隨著色比色差定律[4]的提出,算法可以通過更加豐富的綠色信息幫助復(fù)原藍(lán)色和紅色的顏色信息,這類算法在圖像平滑區(qū)域?qū)崿F(xiàn)了很好的效果,但是在圖像紋理豐富的區(qū)域難以維持銳利的邊緣,存在拉鏈效應(yīng)等復(fù)原問題。

      第2 類是基于局部梯度反向的線性插值方法[5-7],這種算法的提出是為了提升第1 類方法在圖像紋理豐富區(qū)域的復(fù)原效果。選擇垂直于圖像梯度的方向進行插值復(fù)原,可以有效地減少拉鏈效應(yīng)等復(fù)原問題。這類算法的性能受制于局部梯度信息的重建精度以及后續(xù)的插值方向選擇,高效的算法需要權(quán)衡梯度算法的復(fù)雜度和色彩復(fù)原效果。目前廣泛應(yīng)用的是先計算候選顏色,再確定梯度方向的“后驗”方法[6-7]。該類方法首先計算出不同梯度方向的候選綠色分量,然后利用自然圖像中色差沿著圖像邊緣的方向更加平滑的特點[8]確定邊緣方向,進一步復(fù)原藍(lán)色和紅色分量。算法只需要5~7 行的圖像緩存就可以進行瀑布式運算,非常適合基于FPGA 的開發(fā),適用于實時性要求高的邊緣計算場景,如自動駕駛系統(tǒng)中的攝像組件、高靈敏度光電探測設(shè)備等。

      第3 類是基于頻域分析的解馬賽克算法[9-11],該類方法將Bayer 陣列看作是原始的紅、綠、藍(lán)3 色陣列通過采樣得到,在頻域中對應(yīng)特定的頻譜調(diào)制,而圖像中紋理豐富的區(qū)域即對應(yīng)頻域中的高頻部分。研究人員根據(jù)這一特點,設(shè)計特定的頻域濾波方法解決紋理豐富區(qū)域的圖像復(fù)原效果。方法[9]分析了Bayer 陣列的頻域特征,通過設(shè)計自適應(yīng)濾波器的方法來迭代得到最后的紅、綠、藍(lán)3 色陣列。計算過程需要對完整的圖像進行緩存,算法延遲時間相較于第2 類方法慢2~3 個數(shù)量級。該類方法對圖像高頻區(qū)域的復(fù)原效果更好,因而適用于專業(yè)相片復(fù)原精修、視頻后期處理等非實時場景的應(yīng)用。

      本文結(jié)合實際應(yīng)用,提出一種低延遲、高復(fù)原質(zhì)量的Bayer 解馬賽克算法,并完成FPGA 硬件算法的實現(xiàn)。實驗結(jié)果表明,本文算法可在FPGA 中實時運行,與相同算法復(fù)雜度、低輸出延遲的算法相比,復(fù)原出彩色圖像的質(zhì)量更高。

      1 系統(tǒng)設(shè)計方案

      如圖3所示,本方案采用Xilinx 公司的FPGA作為主芯片,實現(xiàn)了將前端CMOS 采集的圖像信息通過數(shù)字圖像信號處理(ISP)后,最后通過視頻編碼方式輸出的功能。Bayer 解馬賽克算法作為圖像信號處理中最重要的環(huán)節(jié)之一,部署在FPGA內(nèi)部。本章節(jié)重點講述系統(tǒng)的硬件系統(tǒng)設(shè)計方案以及基于FPGA 的實時數(shù)字圖像信號處理模塊的功能化設(shè)計。

      硬件系統(tǒng)包括供電模塊、時鐘及復(fù)位模塊、DDR3 緩存模塊、視頻編碼模塊、FPGA 主芯片以及前端CMOS 芯片。FPGA 作為數(shù)字圖像信號處理主芯片[12],不僅完成對CMOS 芯片和其他模塊的配置工作,同時負(fù)責(zé)完整的數(shù)字圖像信號處理功能(包括解馬賽克算法的實現(xiàn));圖像數(shù)據(jù)緩存采用DDR3 芯片;視頻編解模塊將FPGA 的輸出視頻流編碼為常見的視頻格式。

      系統(tǒng)的核心功能都部署在主芯片F(xiàn)PGA 上,根據(jù)模塊的功能不同,采用FPGA 內(nèi)部的MicroBlaze軟核和Verilog HDL 硬件語言搭建的功能化模塊相結(jié)合的方案設(shè)計了整體的FPGA 內(nèi)部功能框架。MicroBlaze 軟核實現(xiàn)了包括CMOS 芯片寄存器的配置、控制CMOS 自動曝光和自動增益等功能。模塊通過C 語言實現(xiàn),功能特點在于模塊參數(shù)需要頻繁修改、涉及復(fù)雜的代數(shù)運算以及實時性要求較低等。其他的數(shù)字圖像處理功能,包括串行數(shù)據(jù)解碼、壞點補償、解馬賽克模塊、Bayer去噪模塊、圖像較正等,均通過Verilog HDL 硬件語言完成模塊化的設(shè)計。整體視頻數(shù)據(jù)采用串行流式的方案,從CMOS 的原始輸出到最終的制式視頻編碼完成,這保證了整體系統(tǒng)具備最低的視頻輸出延遲。FPGA 功能框架設(shè)計方案如圖4所示。

      2 實時Bayer 解馬賽克算法的設(shè)計與實現(xiàn)

      本章重點描述基于FPGA的實時Bayer解馬賽克算法的解壓縮過程。本系統(tǒng)采用了改進的基于局部梯度方向的線性插值算法。首先,算法分別計算出沿水平、垂直方向和平滑的綠色插值作為候選的綠色分量;在復(fù)原了綠色分量信息后,可以利用自然圖像中色差沿著圖像邊緣的方向更加平滑的特點,將原有的紅色或藍(lán)色分量與候選綠色分量分別計算色差,色差較小的候選方向即估計為該處的邊緣梯度方向;最后,根據(jù)估計出的局部梯度方向信息,在梯度的垂直方向上進行插值計算,復(fù)原紅色和藍(lán)色分量。

      系統(tǒng)根據(jù)FPGA 硬件電路的特點,設(shè)計了3 大模塊,即行列緩存模塊、Bayer 去噪聲模塊和解馬賽克模塊。行列緩存模塊利用FPGA 內(nèi)部Block RAM 進行數(shù)據(jù)的行緩存,通過6×FIFO(first input first output)行緩存模塊,得到總共7 行的圖像數(shù)據(jù)。再利用移位寄存器進行列緩存,總共利用7×10 的圖像矩陣完成算法的功能。Bayer 去噪聲模塊是為了解決CMOS 中存在的壞點和噪聲點問題,由于該噪聲經(jīng)過解馬賽克算法后會擴散到更大的區(qū)域,因此在解馬賽克模塊之前進行,這里采用3×3 中值濾波模塊,具體不進行詳述。解馬賽克模塊完成了包括候選綠色分量的方向插值、局部梯度方向估計和紅、藍(lán)色分量復(fù)原的工作。整體算法的硬件運算流程如圖5所示,流程重點展示了圖像數(shù)據(jù)的瀑式流水處理過程。詳細(xì)步驟見章節(jié)2.1、2.2 和2.3。

      2.1 候選綠色分量的方向插值方法

      候選綠色分量的方向插值方法如圖6所示。由于在Bayer 陣列的排布中,綠色分量的采樣率是紅色或藍(lán)色分量的2 倍,綠色分量的復(fù)原效果要好于紅色或藍(lán)色分量[13]。因此往往先復(fù)原綠色分量,因為這時還未計算出該位置的梯度方向,分別計算沿水平、垂直方向以及平滑插值得到候選綠色分量GH、GV和GS。

      對于丟失綠色分量的位置而言,無論該位置原像素是紅色還是藍(lán)色,綠色分量在四周的分布情況是一致的。以當(dāng)前位置為藍(lán)色像素為例,GH、GV和GS的計算方法如(1)~(3)式所示:

      2.2 局部梯度方向的估計

      采用局部梯度方向估計的方法是為了解決單一位置梯度方向估計存在較大誤差的問題,本文為了平衡算法的復(fù)雜度和梯度估計精度,采用3×3 鄰域的梯度信息來估計梯度的方向。綜合3×3 鄰域內(nèi)各像素位置的梯度方向[14],可以有效地解決圖像紋理豐富區(qū)域的梯度方向雜亂的問題,從雜亂的梯度方向中定位到主梯度方向。根據(jù)當(dāng)前位置丟失的顏色分量信息的不同,需要通過兩種不同的梯度算子來計算沿水平和垂直方向的梯度值。局部梯度方向估計的算法流程總結(jié)為4 步:

      1)對3×3 鄰域內(nèi)的每個位置計算水平和垂直方向梯度算子;

      2)比較兩個方向的算子大小,用標(biāo)志位0 或1 作標(biāo)記;

      3)統(tǒng)計局部3×3 鄰域內(nèi)各個位置的標(biāo)志位,求和得到總梯度算子;

      4)對總梯度算子設(shè)置閾值,判斷該位置最可能的梯度方向。

      梯度算子1:對于丟失綠色分量的位置,采用梯度算子1 計算該處的梯度值。以中心位置藍(lán)色像素為例,如圖7(a)所示,算子利用藍(lán)色分量的二階梯度加上綠色分量的一階梯度分別計算水平和垂直方向的梯度算子值,通過(4)、(5)式計算出水

      GradHGradV平梯度值和垂直梯度值:(6)、(7)式計算出水平梯度值GradH和垂直梯度值GradV。

      梯度算子2:對于丟失紅色或藍(lán)色分量的位置,采用梯度算子2 計算該處的梯度值,如圖7(b)所示,算子利用綠色分量的一階梯度和二階梯度分別計算水平和垂直方向的梯度算子值,通過

      通過梯度算子1 和梯度算子2 計算出3×3 鄰域內(nèi)各個位置的水平和垂直方向梯度值后,用標(biāo)志位Flag 標(biāo)記各個位置的梯度方向。當(dāng)GradH>GradV時,判斷該位置梯度方向為水平方向,標(biāo)志位記為1;當(dāng)GradH<GradV時,判斷該位置梯度方向為垂直方向,標(biāo)志位記為0。綜合9 個位置的梯度信息,按照(8)式估計當(dāng)前位置的局部梯度信息。

      2.3 紅、藍(lán)色分量的復(fù)原方法

      經(jīng)過候選綠色分量和局部梯度方向的計算,已經(jīng)具備了完整復(fù)原紅、綠、藍(lán)3 層陣列的條件。在對紅色和藍(lán)色分量進行插值時,采用的基本思想是基于色比色差的插值算法。利用色差思想與色比恒定的思想是一致的,它認(rèn)為在圖片的小平滑區(qū)域內(nèi),色差是恒定的[4],即假設(shè)采樣點(i,j)附近的一個采樣點(m,n),色差滿足(9)式:

      本文將插值方法按照采樣點顏色分量的不同分為4 種模式,顏色分量排列如圖8(a)~8(d)所示。當(dāng)采樣點顏色為綠色時,Bayer 陣列的分布如圖8(a)、8(b)所示,算法需要插值產(chǎn)生紅色和藍(lán)色分量,差別在于藍(lán)色分量和紅色分量在水平和垂直方向的分布不同,可以采用類似的插值算法;當(dāng)采樣點顏色為紅色或藍(lán)色時,Bayer 陣列的分布如圖8(c)、8(d)所示,算法需要插值產(chǎn)生綠色和紅(藍(lán))色分量,圖8(c)、8(d)模塊差別在于采樣點的顏色分量為紅色或藍(lán)色,兩種模式下的插值算法策略是一樣的。

      以圖8(a)模式為例,利用(10)~(11)式的插值算法來復(fù)原紅色和藍(lán)色分量。

      以圖8(c)模式為例,利用(12)~(13)式的插值算法來復(fù)原紅色和綠色分量。

      3 實驗結(jié)果分析

      為了對本文的解馬賽克算法效果進行準(zhǔn)確評價,我們在廣泛使用的柯達(dá)圖片數(shù)據(jù)集上進行了定量測量。該數(shù)據(jù)集包含24 張真彩色圖片,如圖9所示。實驗過程中采用硬件仿真的方法,以保證真實的實驗效果。將原始柯達(dá)圖片通過Matlab程序采樣為Bayer 陣列,通過ModelSim 工具讀取RAW 格式的Bayer 圖片,經(jīng)FPGA 綜合生成的解馬賽克算法模塊后輸出彩色的RAW 數(shù)據(jù),再用Matlab工具將RAW 格式數(shù)據(jù)轉(zhuǎn)換成TIF 格式圖片,進行后續(xù)的指標(biāo)評價處理。

      本文采用了評價去馬賽克重建圖像質(zhì)量最常用的指標(biāo)峰值信噪比(peak signal- to-noise ratio,PSNR),定義如(14)~(15)式。

      式中:Io和Id分別代表原始圖像和解馬賽克后生成的圖像;圖像寬度為W像素,高度為H像素。PSNR的值越大代表算法復(fù)原出的圖像質(zhì)量越高。

      實驗對比了雙線性插值算法、實時彩色復(fù)原算法[15]和本文算法,表1 展示了代表性圖片01.tig、07.tif、19.tif 和24.tif 圖片上算法復(fù)原圖片的PSNR結(jié)果以及數(shù)據(jù)集上的平均PSNR 值。

      表1 3 種算法在柯達(dá)數(shù)據(jù)集上的PSNR 值Table 1 PSNR of three algorithms on Kodak data set dB

      對數(shù)據(jù)集中的“燈塔”圖片進行了定性的分析,圖10 展示了經(jīng)典場景燈塔下的Bayer 解馬賽克效果。其中,圖左側(cè)展示的是全圖效果,右側(cè)小圖是放大的局部細(xì)節(jié)效果??梢钥闯觯疚奶岢龅姆椒ㄔ诩y理復(fù)雜的柵欄區(qū)域色彩復(fù)原效果有了很大程度的改善,偽彩色和拉鏈效應(yīng)的現(xiàn)象得到了明顯的抑制。

      除此之外,本系統(tǒng)還針對實際應(yīng)用中的夜晚星空場景進行了測試,結(jié)果如圖11所示。其中,左側(cè)是局部放大的圖像復(fù)原效果,右側(cè)是整幅圖像的復(fù)原圖??梢钥闯觯疚奶岢龅姆椒ㄔ趶?fù)雜的星空背景下,有效地減小了解碼過程中引入的偽彩色噪點,保證了星點位置采集的有效性。

      本文算法運行在Xilinx 公司的XC7A50T 硬件平臺上,在輸入視頻圖像的分辨率和幀頻為1 080P@30 Hz、像素位寬為10 bit 的情況下,試驗測試了Bayer 解馬塞克模塊在FPGA 上的資源占用率和實際運行速度,資源占用結(jié)果如表2所示,運行時間為207.2 μs。

      表2 FPGA 資源占用率Table 2 FPGA resource occupancy rate

      4 結(jié)論

      本文介紹了一種利用局部梯度方向進行Bayer解馬賽克的算法及其硬件實現(xiàn)。首先,對算法運行的硬件平臺做了簡要的概述,展示了算法在數(shù)字圖像處理系統(tǒng)中的定位和意義;其次,針對FPGA硬件平臺的特點,闡述了解馬賽克算法在FPGA 中的模塊化硬件設(shè)計方案和數(shù)據(jù)流走向,利用特定的數(shù)據(jù)流水和硬件架構(gòu)設(shè)計有效地降低了硬件開銷,保證了系統(tǒng)的低延遲性能;最后,詳細(xì)地介紹了算法的程序流程和具體實現(xiàn),通過局部特征的精確提取保證了圖像復(fù)原的效果。實驗結(jié)果表明,本文提出的解馬賽克系統(tǒng)在保證微秒級視頻輸出延遲的條件下,提升了對圖像復(fù)雜紋理區(qū)域(如密集的條紋狀或點狀紋理區(qū)域等等)的復(fù)原效果,保證了圖像的有效分辨率,對于實時高清視頻采集系統(tǒng)的搭建有重要的應(yīng)用價值。

      猜你喜歡
      梯度方向馬賽克復(fù)原
      馬賽克瓶花
      溫陳華:唐宋甲胄復(fù)原第一人
      基于機器視覺的鋼軌接觸疲勞裂紋檢測方法
      鐵道建筑(2021年11期)2021-03-14 10:01:48
      淺談曜變建盞的復(fù)原工藝
      毓慶宮惇本殿明間原狀陳列的復(fù)原
      紫禁城(2020年8期)2020-09-09 09:38:04
      基于梯度方向一致性引導(dǎo)的邊緣檢測研究
      基于光譜上下文特征的多光譜艦船ROI鑒別方法
      《馬賽克》
      赴美留學(xué),這些會被“打馬賽克”的東西別帶了!
      僑園(2016年5期)2016-12-01 05:23:49
      基于支持向量機的分類器訓(xùn)練研究
      常山县| 宁都县| 建平县| 武定县| 沐川县| 通许县| 南靖县| 边坝县| 乌兰浩特市| 玛沁县| 聊城市| 都昌县| 大港区| 珠海市| 揭西县| 尤溪县| 贡觉县| 潼关县| 霍城县| 西峡县| 历史| 安乡县| 玉田县| 项城市| 高安市| 法库县| 桂东县| 勃利县| 江山市| 巴东县| 柏乡县| 香港| 察隅县| 临西县| 南开区| 安新县| 寻乌县| 西昌市| 特克斯县| 平远县| 天祝|