張 濤,李新陽(yáng),李劍峰,徐 稚
1 中國(guó)科學(xué)院光電技術(shù)研究所,四川 成都 610209;
2 電子科技大學(xué)光電科學(xué)與工程學(xué)院,四川 成都 610054;
3 中國(guó)科學(xué)院云南天文臺(tái),云南 昆明 650216
隨著半導(dǎo)體工藝的發(fā)展,CMOS 圖像傳感器的性能得到了很大進(jìn)步,特別是同時(shí)融入了CCD、CMOS優(yōu)勢(shì)工藝的sCMOS 圖像傳感器,其不僅具備CCD 的低噪聲、高動(dòng)態(tài)、高靈敏度的特點(diǎn),還具備CMOS 高讀出速率、高集成度、高性價(jià)比的特點(diǎn)?;谝陨蟽?yōu)勢(shì),sCMOS 在各科研領(lǐng)域迎來(lái)了廣泛使用。稍顯遺憾的是,sCMOS 在繼承CMOS 傳統(tǒng)優(yōu)點(diǎn)的同時(shí),也延續(xù)了CMOS 的缺點(diǎn),即存在明顯的非均勻性。CMOS非均勻性的成因,主要由于CMOS 每一列像元共用一個(gè)列放大器所致,如圖1 所示。
圖1 CMOS 讀出結(jié)構(gòu)Fig.1 CMOS readout architecture
由于工藝的原因,列放大器之間會(huì)存一定程度的放大倍率的偏差,即便相同的輸入信號(hào)也會(huì)得到不同的輸出。在均勻光照下,圖像上會(huì)表現(xiàn)出明顯的固定圖形噪聲,如圖2 所示。sCMOS 在此問(wèn)題上表現(xiàn)得更為明顯,嚴(yán)重影響其成像的效果。實(shí)際應(yīng)用中為了提升sCMOS 成像的質(zhì)量大多會(huì)采用各種非均勻性校正方法來(lái)改善其成像質(zhì)量。
非均勻校正的方法可分為兩大類:
1) 基于定標(biāo)的方法
典型的方法有兩點(diǎn)校正法[1-3]、分段校正法、多項(xiàng)式擬合法[4-5]等。
2) 基于場(chǎng)景的方法
典型的方法有矩匹配法[6]、時(shí)域高通濾波法[7-10]、小波法[11-13]、變分法[14-17]、神經(jīng)網(wǎng)絡(luò)法[18]、深度機(jī)器學(xué)習(xí)法[19]等。
在對(duì)非均勻性處理具有實(shí)時(shí)性要求的場(chǎng)景中,基于定標(biāo)的方法是較為簡(jiǎn)單有效的方法,基于場(chǎng)景的方法盡管也能取得很好的效果,但是由于計(jì)算量大實(shí)時(shí)性不佳,不適合移植到硬件處理單元中。定標(biāo)法中的多項(xiàng)式擬合法可以取得較好的效果,但由于涉及的參數(shù)較多并且計(jì)算過(guò)程相對(duì)復(fù)雜,一般不適合應(yīng)用于嵌入式系統(tǒng)中。單點(diǎn)法計(jì)算最為簡(jiǎn)單,但在偏離標(biāo)定點(diǎn)稍遠(yuǎn)處會(huì)產(chǎn)生較大的誤差。兩點(diǎn)法計(jì)算過(guò)程簡(jiǎn)單,且校正效果遠(yuǎn)優(yōu)于單點(diǎn)法,是目前研究最多的方法。例如,2006 年徐文文等人[20]將兩點(diǎn)校正算法移植到FPGA 中實(shí)現(xiàn)了非均勻性的實(shí)時(shí)校正。為改善兩點(diǎn)法的溫漂問(wèn)題;2011 年呂雷等人[21]不僅在FPGA 上實(shí)現(xiàn)了兩點(diǎn)法,還結(jié)合特殊的擋片結(jié)構(gòu)周期性檢測(cè)溫漂情況,動(dòng)態(tài)更新校正參數(shù),進(jìn)一步提高了兩點(diǎn)法的穩(wěn)定性。然而,兩點(diǎn)法要取得較好效果的前提是:像元的光電響應(yīng)曲線有較好的線性度,以及像元參數(shù)不存在溫漂和時(shí)漂。然而事實(shí)上CMOS 或者sCMOS 均存在一定程度上的非線性,如圖3 所示。
為改善非線性導(dǎo)致的校正精度下降,也有學(xué)者嘗試在嵌入式中實(shí)現(xiàn)多項(xiàng)式校正,例如,2016 年程旺等人[22]在FPGA 上實(shí)現(xiàn)了基于二階多項(xiàng)式的非均勻性校正;2019 年夏候耀濤等人[23]提出了改進(jìn)型的二階多項(xiàng)式非均勻性校正方法,以及該方法在FPGA 上的實(shí)現(xiàn)方案。盡管多項(xiàng)式的方法的確可以提高校正精度,但由于計(jì)算過(guò)程復(fù)雜,不適合使用在對(duì)校正幀率有要求的應(yīng)用中。相較于多項(xiàng)式法,多點(diǎn)法兼具兩點(diǎn)法的校正效率以及多項(xiàng)式法的校正精度,在對(duì)校正精度和速率均有要求的工程應(yīng)用中被廣泛使用。原理上,多點(diǎn)校正法是一種通過(guò)多個(gè)線性段來(lái)近似逼近曲線,然后在各個(gè)線性段分別采用兩點(diǎn)法將其校正到參考直線來(lái)實(shí)現(xiàn)非均勻性校正的方法。對(duì)于多點(diǎn)校正法來(lái)說(shuō),不同分段點(diǎn)位置(如圖4 中的T2,T3)的選擇以及分段數(shù)量的選擇是非常關(guān)鍵的,它直接影響著校正結(jié)果的好壞。
圖2 固定圖形噪聲Fig.2 Fixed pattern noise
圖3 Andor Zyla sCMOS 相機(jī)非線性示意圖。(a) 縱坐標(biāo)為灰度值;(b) 縱坐標(biāo)為殘差值。橫坐標(biāo)都為曝光時(shí)間Fig.3 Nonlinear diagram of the Andor Zyla sCMOS camera.(a) The vertical coordinates are gray values;(b) The vertical coordinates are residual values.The horizontal coordinates are exposure times
圖4 多點(diǎn)校正法示意圖Fig.4 Multipoint correction diagram
本文將采用一種自適應(yīng)的方法來(lái)自動(dòng)獲取最優(yōu)的分段點(diǎn)位置和分段數(shù)量,具體的方法如下。
在確定了各線性段以后,需將各像元的各線性段分別校正到統(tǒng)一參考直線 Yref(T) 上。統(tǒng)一參考直線可通過(guò)線性擬合多個(gè)全局平均灰度值Y(T)來(lái)獲得,其中Y(T)的定義如下:
其中:T ∈[T1,T2,…,TN],N,M 分別是相機(jī)靶面的垂直方向上的像元數(shù)以及水平方向上的像元數(shù)。Y (i,j,T)為相機(jī)第i 行,第j 列處的像元曝光T 秒后的灰度值。各子線段向參考直線調(diào)整的過(guò)程使用兩點(diǎn)校正法,基本原理如圖5 所示。
將直線 Y (i,j,T) 調(diào)整到Y(jié)ref(T),只需要對(duì)直線Y (i,j,T)的斜率G 和偏置量B 做出調(diào)整,如下:
其中:Y (i,j,T) 表示位于相機(jī)靶面第i 行,第j 列位置處的像元在曝光T 時(shí)的灰度值,Yref(T) 為參考直線上曝光時(shí)間為T(mén) 時(shí)的灰度值,該直線是通過(guò)最小二乘法線性擬合各個(gè)曝光時(shí)間點(diǎn)的全局平均灰度值的方式得到。最后,以類似的方法調(diào)整各個(gè)像元的各線性段到統(tǒng)一參考曲線。整個(gè)流程如圖6 所示。
為了評(píng)價(jià)校正結(jié)果的優(yōu)劣,一般采用光電響應(yīng)不均勻性性PRUN(photo response non-uniformity)來(lái)評(píng)價(jià):
其中:(i,j) 為像元的行列位置,I (i,j) 為(i,j) 位置處像元的灰度值。為所有像元的平均值。N,M 為圖像傳感器有效靶面的像元行數(shù)和像元列數(shù)。
以下性能測(cè)試過(guò)程中試驗(yàn)環(huán)境參數(shù)為積分球光源電壓為7.8 V,電流為5.8 A(恒流源);相機(jī)的曝光時(shí)間90 ms。
圖5 兩點(diǎn)校正法原理Fig.5 Two point correction principle
圖6 流程圖Fig.6 Flow chart
圖7 為各種方法非均勻性曲線,可以看出,自適應(yīng)多點(diǎn)法和均分多點(diǎn)法都可以取得很好的效果。由于自適應(yīng)多點(diǎn)法選取的分段點(diǎn)更為合適,因此從曲線的結(jié)果上來(lái)看自適應(yīng)方法效果更優(yōu)一些。單點(diǎn)法在前半段效果很差,主要是由于我們?yōu)閱吸c(diǎn)法選取的標(biāo)定點(diǎn)是曝光時(shí)間為50 ms 的地方,曝光大于50 ms 的地方光電響應(yīng)曲線斜率較為近似,因此此處校正效果相對(duì)較好。
圖7 各種方法的非均勻性曲線Fig.7 Nonuniformity curves of various methods
圖8 為90 ms 曝光時(shí)各方法校正結(jié)果,噪聲圖像經(jīng)過(guò)單點(diǎn)法校正后依然有明顯的非均勻性噪聲。兩點(diǎn)法校正后在條紋較寬的地方仍有少量噪聲殘留。經(jīng)過(guò)均分多點(diǎn)法校正后(本試驗(yàn)采用的是4 點(diǎn)均分)效果優(yōu)于兩點(diǎn)法,但在局部地方仍有微弱噪聲殘留。經(jīng)過(guò)自適應(yīng)多點(diǎn)法校正后,圖像均勻一致,視覺(jué)效果優(yōu)于上述幾種方法。圖9 列均值曲線,可以發(fā)現(xiàn),由于非均勻性噪聲的存在,噪聲圖像的每列平均值發(fā)生劇烈震蕩,經(jīng)過(guò)單點(diǎn)法校正以后,震蕩的幅度得到抑制,但圖像依然不均勻,列與列之間的幅值依然有很大的差異;經(jīng)過(guò)兩點(diǎn)校正后不論是噪聲波動(dòng)的幅度以及列與列之間的幅值差異得到極大改善,但在個(gè)別位置依然存在由于校正精度不高導(dǎo)致的小幅波動(dòng)。經(jīng)過(guò)4 點(diǎn)均分校正后噪聲起伏進(jìn)一步降低,但在個(gè)別位置依然存在校正精度不夠的情況。經(jīng)過(guò)自適應(yīng)多點(diǎn)校正法(也是4 個(gè)分段點(diǎn))后,可以看到列均值曲線均勻一致方面,相對(duì)于其他方法有較好的改善效果。
圖8 90 ms 曝光時(shí)各方法校正結(jié)果。(a) 原圖;(b) 單點(diǎn)校正;(c) 兩點(diǎn)校正;(d) 均分多點(diǎn)校正;(e) 自適應(yīng)多點(diǎn)校正Fig.8 Correction results of each method at 90 ms exposure.(a) Original image;(b) Single-point correction;(c) Two-point correction;(d) Equate multipoint correction;(e) Adaptive multipoint correction
圖9 列均值曲線。x 橫坐標(biāo)為列編號(hào),y 縱坐標(biāo)為當(dāng)前列的平均值。(a) 原圖;(b) 單點(diǎn)校正;(c) 兩點(diǎn)校正;(d) 均分多點(diǎn)校正;(e) 自適應(yīng)多點(diǎn)校正Fig.9 Column average value curve.The x-coordinate is the column number,and the y-coordinate is the average of the current column.(a) Original image;(b) Single-point correction;(c) Two-point correction;(d) Equate multipoint correction;(e) Adaptive multipoint correction
對(duì)于相機(jī)的終端用戶,并不能去修改相機(jī)的內(nèi)部設(shè)計(jì)。對(duì)于相機(jī)數(shù)據(jù)中的非均勻性改善只能通過(guò)軟件后期處理或者基于硬件的實(shí)時(shí)處理的方式進(jìn)行。軟件后期處理的方式一般適用于對(duì)實(shí)時(shí)性沒(méi)有要求的場(chǎng)景,而那些對(duì)實(shí)時(shí)性要求較高的場(chǎng)景,基于硬件的非均勻校正方式更為合適。本文硬件設(shè)計(jì)方案是:將一個(gè)嵌入式硬件處理單元串連在相機(jī)與采集電腦之間,在相機(jī)數(shù)據(jù)流過(guò)處理單元的時(shí)候完成非均勻性校正,具體結(jié)構(gòu)如圖10 所示。整個(gè)硬件系統(tǒng)的工作流程是:圖10 中的Andor 相機(jī)(分辨率2k×2k,幀率100 幀/秒)通過(guò)其CameraLink 數(shù)據(jù)接口輸出數(shù)據(jù),在處理單元中首先轉(zhuǎn)換來(lái)自相機(jī)的串行數(shù)據(jù)到并行數(shù)據(jù)然后在嵌入式單元中進(jìn)行非均勻校正,校正完成以后再次將結(jié)果數(shù)據(jù)轉(zhuǎn)換成CameraLink 接口數(shù)據(jù)輸出到采集計(jì)算機(jī)。在這樣的工作方式下,嵌入式數(shù)據(jù)單元對(duì)于后面的相機(jī)數(shù)據(jù)采集系統(tǒng)來(lái)說(shuō)是無(wú)感的,對(duì)原來(lái)的采集軟件和系統(tǒng)均無(wú)需做出調(diào)整。嵌入式處理單元的內(nèi)部邏輯是:經(jīng)過(guò)第2.4 節(jié)的介紹,可以獲取每個(gè)像元的數(shù)據(jù)校正矩陣G,B,由于采用的是多點(diǎn)校正法,會(huì)存在一個(gè)像元擁有多個(gè)校正區(qū)間的情況,需要判斷當(dāng)前的校正數(shù)據(jù)處于哪一個(gè)校正期間,并且調(diào)用與該期間相對(duì)應(yīng)的G和B。圖10中的期間判斷單元就是完成這一工作。時(shí)序邏輯單元根據(jù)期間判斷單元的判斷結(jié)果,再結(jié)合行列的計(jì)數(shù)值就可以從增益矩陣和偏置矩陣中通過(guò)查表的方式獲取合適的校正參數(shù),并在乘法器和加法器的配合下實(shí)現(xiàn) Yref(T )=G ?Y (i,j,T)+B的運(yùn)算。盡管多點(diǎn)校正法相對(duì)于單點(diǎn)、兩點(diǎn)法擁有更多的計(jì)算量,但對(duì)本系統(tǒng)選用的FPGA(ARTIX-7)完全可以提供足夠的算力來(lái)完成實(shí)時(shí)校正。
圖10 實(shí)時(shí)嵌入式處理單元結(jié)構(gòu)圖Fig.10 Structure diagram of the real-time embedded processing unit
圖11 嵌入式處理單元實(shí)物Fig.11 Object of the embedded processing unit
通過(guò)自適應(yīng)多點(diǎn)校正法,不僅可以獲取多點(diǎn)校正法的優(yōu)點(diǎn),還可以避免因分段點(diǎn)選擇不當(dāng)導(dǎo)致的校正性能下降。經(jīng)過(guò)實(shí)際測(cè)試,該方法有效改善了Andor Zyla 的sCMOS 相機(jī)的均勻度,均勻度從原有的3‰提高到1‰。然而,在實(shí)驗(yàn)中發(fā)現(xiàn),隨著相機(jī)的老化以及工作環(huán)境的變換會(huì)存在校正數(shù)據(jù)的失效問(wèn)題,為維持性能需要定期完成校正數(shù)據(jù)的更新,這也是目前所有定標(biāo)法需要面對(duì)的一大問(wèn)題。接下來(lái)將嘗試在嵌入式系統(tǒng)中添加溫漂模型,然后通過(guò)將相機(jī)傳感器溫度代入模型的方式來(lái)獲取補(bǔ)償量,進(jìn)而實(shí)現(xiàn)校正參數(shù)的動(dòng)態(tài)修正,以改善校正參數(shù)失效的問(wèn)題。