王 旋,陳 忻,劉 巍
(1.武漢第二船舶設(shè)計(jì)研究所,湖北 武漢430064;2.中國(guó)科學(xué)院 上海技術(shù)物理研究所,上海200083)
高動(dòng)態(tài)范圍圖像(high dynamic range image,HDRI)是一種可以表示實(shí)際場(chǎng)景中亮度大范圍變化的圖像類型,其圖像中的像素值正比于場(chǎng)景中對(duì)應(yīng)點(diǎn)的實(shí)際亮度值,因此能夠更好地刻畫場(chǎng)景中亮區(qū)和暗區(qū)的光學(xué)特性,最大限度保存場(chǎng)景中的細(xì)節(jié)信息[1]。在一些應(yīng)用場(chǎng)景中,如:衛(wèi)星遙感探測(cè)、軍事偵察、工業(yè)檢測(cè)、智能交通等領(lǐng)域,往往需要實(shí)時(shí)獲取當(dāng)下場(chǎng)景的信息數(shù)據(jù),關(guān)注更多的細(xì)節(jié)特征,以提高應(yīng)用的性能指標(biāo),因此對(duì)HDRI數(shù)據(jù)的獲取與合成速度提出了較為嚴(yán)苛的要求[2,3]。
目前,國(guó)內(nèi)外對(duì)HDRI數(shù)據(jù)獲取與合成方法的研究主要有:多次曝光法[4]、多靶面曝光合成法[5]、單像素集成多感光單元法[6]、自適應(yīng)像素曝光法[7]、光學(xué)衰減器法[8]等。其中,多次曝光法以無需對(duì)現(xiàn)有成像系統(tǒng)進(jìn)行改造或重新設(shè)計(jì),且合成算法復(fù)雜度不高、穩(wěn)定可靠等優(yōu)點(diǎn),尤為適用于在具有并行計(jì)算能力的處理器上。
本文針對(duì)實(shí)際應(yīng)用中HDRI快速合成的設(shè)計(jì)需求,提出并在現(xiàn)場(chǎng)可編程門列陣(FPGA)中實(shí)現(xiàn)了一種基于多曝光時(shí)間的實(shí)時(shí)HDRI合成算法。該算法首先選擇多幅不同曝光時(shí)間下的圖像序列,在上位機(jī)中完成探測(cè)器光照響應(yīng)曲線的生成,然后在FPGA中完成多曝光圖像的場(chǎng)景照度恢復(fù)以及像素的實(shí)時(shí)融合。通過仿真和試驗(yàn)驗(yàn)證,該算法能夠正確有效的在FPGA中執(zhí)行,可達(dá)到HDRI實(shí)時(shí)合成的設(shè)計(jì)要求。
多曝光時(shí)間下的HDRI合成算法原理如下:假設(shè)一共需要獲取P幅圖像,其中第j幅圖像的曝光時(shí)間為Δtj。每幅圖像共有N個(gè)像素,第j幅圖像的第i個(gè)像素的像素值用Zij表示。第i個(gè)像素處的曝光量為Xi,經(jīng)過探測(cè)器鏡頭入射到第i個(gè)像素處的傳感器的真實(shí)照度為Ei。由于是連續(xù)獲取P幅圖像,考慮到圖像獲取時(shí)間間隔較短,實(shí)際場(chǎng)景環(huán)境的光照強(qiáng)度基本上沒有太大的變化,因此認(rèn)為每張圖像中的真實(shí)場(chǎng)景的光照強(qiáng)度是近似恒定的。那么對(duì)第j幅圖像的第i個(gè)像素的總曝光量符合公式(1)所表征的線性關(guān)系:
假設(shè)探測(cè)器的響應(yīng)輸出值與總曝光量存在非線性映射關(guān)系 ,如公式(2)表示:
探測(cè)器輻照響應(yīng)曲線為單調(diào)曲線,因此反函數(shù)f存在。記為g=lnf-1,公式(2)經(jīng)過變形可得:
其中,Zij和 Δtj是已知的,g(Zij)和lnEi是未知的,而g(Zij)就是需要擬合的非線性輻照響應(yīng)函數(shù)。在n位數(shù)字圖像中,Zij是0~2n-1范圍的整數(shù),因此并不需要g(Zij)的解析表達(dá)式,只要計(jì)算出相應(yīng)的2n個(gè)g(Zij)值就可以了。因此,對(duì)公式(2)的求解就轉(zhuǎn)化為對(duì)最小二乘目標(biāo)函數(shù)的求解,由公式(4)表示:
目標(biāo)函數(shù)中需求解的未知量為2n個(gè)g(Zij)和N個(gè)lnEi。因此,獲得響應(yīng)曲線實(shí)際上并不需要利用圖像中所有的像素?cái)?shù)據(jù)。根據(jù)線性方程組解的性質(zhì)可以知道,需要使用的像素?cái)?shù)N滿足公式(5)即可:
擬合出光照響應(yīng)曲線后,就可以根據(jù)該曲線恢復(fù)每張圖像的場(chǎng)景輻射照度。融合所有的P幅圖像計(jì)算每個(gè)像素的照度值Ei來減小誤差,如公式(6)表示:
其中,w(Zij)是為了減少數(shù)據(jù)中的噪聲影響引入的權(quán)重函數(shù),如公式(7)表式:
利用公式(7)即可求出所有像素點(diǎn)的照度值,其值的變化范圍很大,且正比于實(shí)際場(chǎng)景點(diǎn)的亮度,最終合成所對(duì)應(yīng)場(chǎng)景的高動(dòng)態(tài)范圍圖像。
多曝光時(shí)間HDRI合成的處理框圖如圖1所示,首先要設(shè)置不同曝光時(shí)間拍攝一組原始序列圖像,然后利用原始圖像計(jì)算出光照響應(yīng)曲線,最后根據(jù)響應(yīng)曲線融合出高動(dòng)態(tài)范圍圖像。
在該算法的FPGA硬件實(shí)現(xiàn)中,響應(yīng)曲線可通過采集到的數(shù)據(jù)預(yù)先計(jì)算出來,存儲(chǔ)在FPGA中,在實(shí)際運(yùn)算時(shí)再進(jìn)行調(diào)用。這樣做的優(yōu)勢(shì)就是可以事先利用某一已知的亮度來標(biāo)定比例系數(shù),獲得絕對(duì)亮度值,滿足實(shí)際應(yīng)用分析需求。
HDRI合成算法的FPGA實(shí)現(xiàn)結(jié)構(gòu)圖如圖2所示,工作時(shí),探測(cè)器在圖像序列曝光控制模塊控制下進(jìn)行不同時(shí)間的曝光,采集到的圖像序列將會(huì)首先進(jìn)行依照輻照響應(yīng)曲線進(jìn)行映射恢復(fù)每張圖片的照度,最后進(jìn)行圖像序列的照度融合,完成HDR圖像的合成。
圖1 多曝光時(shí)間HDRI合成流程示意圖
圖2 硬件實(shí)現(xiàn)結(jié)構(gòu)框圖
圖像序列曝光控制模塊可根據(jù)用戶命令配置每張圖像的曝光時(shí)間以及圖像序列數(shù)目,并根據(jù)配置數(shù)據(jù)控制探測(cè)器進(jìn)行拍攝。數(shù)據(jù)采集模塊完成探測(cè)器圖像數(shù)據(jù)的接口交互,由探測(cè)器的行同步與幀同步信號(hào)一起控制數(shù)據(jù)的采集。響應(yīng)曲線查找表存儲(chǔ)預(yù)先計(jì)算出來的響應(yīng)曲線數(shù)據(jù),探測(cè)器采集到的數(shù)據(jù)通過查找表輸出對(duì)應(yīng)的照度值。在FPGA中可通過調(diào)用ROM IP核實(shí)現(xiàn)響應(yīng)曲線查找表,由于支持的探測(cè)器輸入為10Bits,因此實(shí)例化的ROM大小為1024×16Bit。
場(chǎng)景照度合成模塊用于完成多圖像數(shù)據(jù)的合成,恢復(fù)場(chǎng)景的真實(shí)照度,其計(jì)算過程如公式(6)所示。由于圖像序列的采集是依次獲取的,因此可以通過序列迭代的方式完成圖像的計(jì)算。
整個(gè)模塊設(shè)計(jì)結(jié)構(gòu)如圖3所示,將探測(cè)器響應(yīng)輸出,響應(yīng)曲線查找表輸出對(duì)應(yīng)的照度信息,以及當(dāng)前幀對(duì)應(yīng)的積分時(shí)間送入場(chǎng)景照度合成模塊。根據(jù)照度信息查找到對(duì)應(yīng)的權(quán)重函數(shù),積分時(shí)間通過查找表對(duì)數(shù)化,然后根據(jù)公式完成分母部分與分子部分的迭代累加計(jì)算。最后通過除法器完成這一組序列的真實(shí)場(chǎng)景輻照輸出,輸出的數(shù)據(jù)為lnEi??赏ㄟ^增加一個(gè)Cordic模塊進(jìn)行反對(duì)數(shù)化,得到對(duì)應(yīng)的Ei值。
整個(gè)模塊對(duì)于單幅圖像單個(gè)像素的處理采用全流水線方式進(jìn)行,流水線級(jí)數(shù)為7,其計(jì)算速度可達(dá)單個(gè)時(shí)鐘周期。對(duì)于多幅圖像由于采用疊加的工作模式,因此在采集完成多幅圖像后即可同步完成高HDRI的融合。
圖3 照度恢復(fù)模塊實(shí)現(xiàn)框圖
為了驗(yàn)證該算法的實(shí)際運(yùn)行情況,以Xilinx Spartan6FPGA為主處理器搭建測(cè)試平臺(tái)對(duì)其進(jìn)行驗(yàn)證。調(diào)用Matlab圖像庫(kù)中office圖像序列作為測(cè)試圖像,如圖4所示,曝光時(shí)間分別為0.03(a)、0.1(b)、0.3(c)、0.625(d)、1.3(e)、4(f),最大動(dòng)態(tài)范圍為256。通過以太網(wǎng)將圖像傳輸至測(cè)試平臺(tái)中,測(cè)試平臺(tái)模擬真實(shí)圖像采集處理過程,進(jìn)行HDRI合成,合成后的圖像通過以太網(wǎng)傳輸至上位機(jī)中。
圖4 Matlab圖像庫(kù)測(cè)試圖像序列曝光時(shí)間:0.03(a);0.1(b);0.3(c);0.625(d);1.3(e);4(f)
圖5是根據(jù)公式(4)擬合出的光照響應(yīng)曲線,它以16Bits有符號(hào)定點(diǎn)數(shù)方式存儲(chǔ)在FPGA的ROM中,其中12Bits為小數(shù)位。
圖5 測(cè)試圖像序列
圖6為融合原始圖像序列后生成的高動(dòng)態(tài)范圍圖像,合成后圖像動(dòng)態(tài)范圍可達(dá)2×103。
圖6 合成HDR圖像
硬件實(shí)現(xiàn)的HDR合成算法在合成速度上有很大優(yōu)勢(shì),將相同的算法在PC機(jī)中執(zhí)行。采用的PC配置如下:CPU為Intel I7-3770,內(nèi)存4GB,操作系統(tǒng)為 Windows7家庭版,運(yùn)行軟件為 Matlab2010b。整個(gè)算法需要執(zhí)行24.5s才能完成HDR圖像的合成。而基于硬件實(shí)現(xiàn)的HDR由于采用全流水線架構(gòu),可以在采集完曝光圖像組的7個(gè)周期后完成圖像的合成,非常適合高幀頻輸出的應(yīng)用場(chǎng)合。
通過公式8比較兩種實(shí)現(xiàn)方式的誤差情況:
殘差結(jié)果如圖7所示,殘差分布直方圖如圖8所示。從圖中可以看出硬件實(shí)現(xiàn)計(jì)算的平均誤差在3.5%,可以滿足實(shí)際應(yīng)用中對(duì)精度的要求。本文提出的用恢復(fù)成像系統(tǒng)光照響應(yīng)曲線來實(shí)時(shí)合成高動(dòng)態(tài)范圍圖像的方法是合理可行的。
圖7 兩種實(shí)現(xiàn)方式的殘差圖像
圖8 殘差分布直方圖
高動(dòng)態(tài)范圍圖像可以準(zhǔn)確獲取場(chǎng)景細(xì)節(jié)特征信息,在衛(wèi)星遙感遙測(cè)探測(cè)、工業(yè)檢測(cè)、軍事偵察,以及智能交通等領(lǐng)域有著廣泛的應(yīng)用前景。本文提出了一種基于多曝光時(shí)間的實(shí)時(shí)HDRI合成算法,在上位機(jī)中預(yù)先標(biāo)定出探測(cè)器光照響應(yīng)曲線,然后在FPGA中通過數(shù)字信號(hào)處理完成多曝光圖像的場(chǎng)景照度恢復(fù)以及像素的實(shí)時(shí)融合。通過仿真平臺(tái)驗(yàn)證,合成后的圖像動(dòng)態(tài)范圍提升了87.2%,平均計(jì)算誤差為3.5%,圖像細(xì)節(jié)特征可辨識(shí)率大幅提升。本文提出的算法能夠正確有效地在FPGA中執(zhí)行,可達(dá)到實(shí)時(shí)HDRI獲取的設(shè)計(jì)要求。
[1] Erik R,Greg W,Sumanta P,Paul D.High Dynamic Range Imaging Acquisition,Display,and Image-Based Lighting[M].2nd Edition.USA:Morgan Kaufmann,2010.
[2] Jinno T,Okuda M.Multiple exposure fusion for high dynamic range image acquisition[J].IEEE Transactions on Image Processing,2012,21(1):358-365.
[3] 劉 真,楊丹丹,朱 明.HDR圖像壓縮算法比較研究[J].影像科學(xué)與光化學(xué),2011,29(1):32-44.Liu Z,Yang D D,Zhu M.Comparison of HDR image compression algorithms[J].Imaging Science and Photo-chemistry,2011,29(1):32-44.
[4] 江燊煜,陳 闊,徐之海,馮華君,李 奇,陳躍庭.基于曝光適度評(píng)價(jià)的多曝光圖像融合方法[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2015,49(3):470-475,481.Jiang S Y,Chen K,Xu Z H,F(xiàn)eng H J,Li Q,Chen Y T.Multi-exposure image fusion based on well-exposedness assessment[J].Journal of Zhejiang University (Engineering Science),2015,49(3):470-475,481.
[5] Ikeda E.Image data processing apparatus for processing combined image signals in order to extend dynamic range[P].US patent,5801773.1998.
[6] Street R A.High dynamic range segmented pixel sensor array[P].US patent,5789737.1998.
[7] Guthier B,Kopf S,Effelsberg W.Capturing high dynamic range images with partial re-exposures[C].Proceedings of IEEE10th WorkShop on Multimedia Signal Processing,2008,241-246.
[8] Nayar S K,Branzoi V.Adaptive dynamicrange imaging:optical control of pixelexposures over space and time[C].Proceedings of the Ninth IEEE International Conference on Computer Vision,2003,2:1168-1175.