李 響,李明偉,孫 怡
(1.大連理工大學 信息與通信工程學院,遼寧 大連 116024;2.大連海洋大學 信息工程學院,遼寧 大連 116023)
圖像去模糊是圖像與計算機視覺應用中的一個重要問題[1]。產(chǎn)生圖像運動模糊的原因是,在傳感器的曝光時間內,運動目標與靜態(tài)相機之間產(chǎn)生了較大的相對位移所致。一般圖像模糊模型可表示為
式中:L代表目標的原始清晰圖像;K表示在圖像采集時目標與相機的相對運動(模糊核);η表示疊加的成像系統(tǒng)噪聲;B表示降質后的圖像;符號?代表卷積。由于原始圖像及其成像系統(tǒng)的降質情況未知,因此,僅由實際采集到的圖像去重建清晰圖像是一個不可逆的病態(tài)問題[2]。在目前的圖像復原研究中,甚少考慮圖像采集過程出現(xiàn)的問題對圖像質量的影響,只是針對模糊圖像本身進行數(shù)學建模反演、恢復重建。圖像在采集過程中發(fā)生信息損失不能在后續(xù)的復原中恢復。因此只針對采集圖像進行圖像恢復重建,而不考慮圖像采集過程的信息損失,這種圖像復原是不完善的。
通常的成像方式是控制相機快門一次開啟形成曝光,曝光時間決定了成像的空間分辨能力。根據(jù)信號時頻關系,曝光時間越長(越寬),其頻域帶寬越窄,保留目標的高頻分量越少,對運動目標的成像越模糊[3]。為減少頻域中高頻信息的損失,有學者[4-10]提出將一次曝光轉換為依據(jù)特定編碼的多次曝光模式,進而保留原有目標圖像更多的信息。在編碼曝光研究實驗中,簡單的方法是采集多幀連續(xù)圖像疊加融合成編碼曝光圖像[6,11-14],這種方式只是模擬編碼曝光產(chǎn)生過程,而非真正的單張編碼曝光圖像。另外也有利用圖像傳感器測試平臺來獲得編碼曝光圖像。
上述編碼曝光圖像都要經(jīng)過后處理解碼,才能得到去運動模糊的清晰圖像。本文設計的編碼曝光相機,針對應用需求,將編碼曝光過程和清晰圖像的解碼復原輸出過程集成在一起,實現(xiàn)了對CCD器件持續(xù)編碼曝光控制和一次電荷轉移輸出,并用FPGA 的硬件邏輯結合IP 核的方式實現(xiàn)高速智能化解碼。
編碼曝光模型是將一個完整的曝光時間分成m個相等時間的時隙,每個時隙是否曝光由對應位的二進制編碼決定,這里編碼長度和時隙數(shù)量相等。若編碼k=(k1,k2···km),則對應的編碼曝光模糊核可由ki確定。若ki= 1,表示該時隙曝光;若ki= 0,表示該時隙不曝光,其中i∈[0,m]。為方便研究,(1)式的圖像采集模型用矩陣形式表示為
利用Toeplitz 矩陣可將圖像與模糊核之間的矩陣卷積轉化為矩陣乘積。以一維信號為例,若采集長度為n的一維信號與長度為m的單一方向運動模糊核卷積運算,則(2)式可由下式表示成:
從信號的模糊情況來看,當模糊核K中的數(shù)據(jù)全為1 時,即為一般意義下的連續(xù)運動模糊。當模糊核K中的數(shù)據(jù)不全為1 時,表示為非連續(xù)或間斷的運動模糊。從快門曝光角度看,編碼曝光是按照一定頻率由預先設定的編碼來控制快門的開啟和閉合?,F(xiàn)以成像系統(tǒng)與目標物體的一維相對線性運動為例,說明編碼曝光成像和復原過程,如圖1 所示。若存在任意一維信號l,通過預設編碼k=(k1,k2···km)=(1 100 101)的成像系統(tǒng)曝光,其采集信號是長度為(n+m-1)模糊信號B,可以用l與k二者的卷積表示。可以看出,圖1 的結果獲得方式和(3)式的表達方式一致。
按(3)式的轉換計算方法,圖1 中采集信號B中每一位是否存在累積變化與ki當前數(shù)值是否為1 有關。若ki中的值為1,代表曝光,B的累積量增加;ki為0 時,代表不曝光,B的累積量不變。
與此同時,(2)式亦可表達為(4)式的形式,我們可以在數(shù)據(jù)復原階段利用(4)式進行解碼。當l與k二者做單一方向相對運動時,先通過預設編碼k構造Toeplitz 矩陣形式的模糊核K,之后利用采集信號B來恢復重建一維信號l。
圖1 一維相對運動與卷積計算之間的關系示意圖Fig.1 Schematic diagram of relationship between 1-D relative motion and convolution calculation
與一維信號相似,當出現(xiàn)二維圖像信號L時,該模型可理解為二維目標L與K之間單一方向移動獲得模糊圖像B。當解碼復原圖像時,可以根據(jù)編碼時的二進制序列和模糊長度構造模糊核K,其圖像采集及理想的重建解碼過程可以由L=B/K獲得。該過程如圖2 所示,圖中的模糊核K即為(4)式所構造,并可應用到解碼過程中。
圖2 編碼曝光圖像采集及圖像重建解碼過程Fig.2 Image acquisition of coded exposure and process of restored image
CCD 成像過程如圖3 所示。圖3 中的灰色矩形陣列代表圖像元陣列。當受光照射時,像元陣列將入射光轉化為電荷,在外加襯底柵極電極下形成電荷勢阱,襯底每吸收一個光子就會形成一個電子-空穴對[15],并在外加電場作用下移動形成“光生電荷”,如圖3 中水滴形狀。
勢阱電壓控制像元光生電荷的累積過程,襯底信號SUB 控制勢阱電壓,因此SUB 信號就是曝光的控制變量。SUB 為1 時,像元累積電荷;SUB 為0 時,像元不累積電荷。因此在采集圖像時需要一個SUB 信號控制所有像元在同一時刻曝光,再由垂直、水平同步脈沖共同驅動,將累積的電荷輸出形成像元陣列的所有電荷。如圖4 所示,垂直同步脈沖VD 驅動光生電荷在垂直移位寄存器內向水平移位寄存器移動。像元陣列中所有列在同一個VD 信號下同時驅動光生電荷一起移動。當光生電荷到達水平移位寄存器后,按順序由水平同步脈沖驅動電荷向外輸出。因此一個VD 信號周期內,需要輸出同時到達水平移位寄存器的一行光生電荷,由水平同步脈沖HD 信號驅動順序輸出。再經(jīng)過“電荷-電壓”、電壓放大、“模-數(shù)”轉換完成后,形成數(shù)字圖像陣列,即為一幅數(shù)字圖像。
圖3 CCD 像元累積電荷轉移示意圖Fig.3 Schematic diagram of accumulative charge transfer in pixels of CCD
圖4 一般CCD 圖像的輸出時序Fig.4 Output sequence of traditional CCD image
普通的曝光過程一個像元累積一次、生成并轉移光生電荷。為了得到編碼曝光圖像,需要每個像元完成多次曝光、多次累積電荷,并一次轉移輸出電荷。因此我們將原有的一次曝光分割成若干 更小的曝光時隙,該時隙的分布和預設的編碼相關,一個像元就會多次累積曝光電荷。該過程可以由SUB 控制,如圖5 所示,編碼“10…1…1”加入曝光過程控制SUB 后,會得到與編碼相對應的編碼曝光圖像輸出。若將電荷累積集中輸出,即形成編碼曝光圖像。由SUB 控制電荷是否累積,由VD 和HD 控制電荷是否轉移并形成輸出圖像。
圖5 像元曝光累積編碼曝光電荷輸出時序Fig.5 Charge cumulative of coded exposure in pixels and their time sequence
如圖6 所示,核心控制器選用Xilinx 公司Spartan 6 系列的XC6SLX45T-3FG484C。該芯片共484 個引腳,其中DDR3 存儲器、程序存儲器以及88E1111 千兆網(wǎng)物理層芯片分別接于廠家典型系統(tǒng)默認引腳,以便利用現(xiàn)有資源;設計的模塊外接引腳盡量布置在同一個BANK 內,全局時鐘使用48 MHz 外部晶振;W25Q64 為64 Mbit 的配置程序存儲器;DDR3 數(shù)據(jù)存儲器MT41J64M16LA 有1 024 M數(shù)據(jù)存儲空間,存儲圖像數(shù)據(jù)和運算中間結果;高靈敏度CCD 圖像傳感器ICX204AL 有效像素為1 024 × 768,幀率為60 frame/s;CXD3400N 作為場時序驅動器提供列向的三態(tài)電壓時序驅動(XV2A、XSG1、XV2B、XSG2)及襯底信號驅動(XSUB);12 位CCD 信號處理器AD9949 作為行驅動信號發(fā)生器(H1、H2),并提供生成信號(CCDIN)的模數(shù)轉換;88E1111 是千兆網(wǎng)物理層芯片,通過RJ45 構成網(wǎng)絡通信接口。
圖6 編碼曝光相機系統(tǒng)電路框圖Fig.6 Circuit block diagram of coded exposure camera system
CXD3400N 接收FPGA 發(fā)出的垂直時鐘轉移控制信號(XV1、XV2A/XV2B、XV3)和襯底控制信號XSUB,向ICX204AL 發(fā)送電荷累積和電荷垂直移位的時序信號,其中XSUB 是編碼曝光信號,V2A/V2B 是三電平結構;FPGA 向AD9949 提供主時鐘(CLK)、垂直同步脈沖(VD)和水平同步脈沖(HD),F(xiàn)PGA 通過SPI 總線接口控制AD9949 生成水平時鐘轉移信號(H1、H2)和復位時鐘信號(RG),AD9949 也是CCD 信號的模數(shù)信號轉換器,將模擬圖像信號轉換成數(shù)字信號,通過D[7…0]輸出到FPGA,F(xiàn)PGA 的DDR3 控制核將圖像數(shù)據(jù)發(fā)送到存儲器MT41J64M16LA。當圖像采集完成后,F(xiàn)PGA 中圖像重建模塊恢復出清晰圖像,通過網(wǎng)絡通信接口輸出,可由上位機接受顯示。
編碼曝光相機系統(tǒng)結構如圖7 所示,主要由核心控制模塊和外部芯片功能模塊組成。核心控制模塊的功能設計如下:外部晶振通過全局時鐘引腳到核心控制模塊中的基準時鐘模塊,作為系統(tǒng)的時鐘基準。時序模塊產(chǎn)生CCD 傳感器的驅動時序。曝光編碼模塊作為傳感器配置模塊的輸入變量,向圖像采集模塊的時序驅動模塊提供曝光序列。傳感器配置模塊同時對處理模塊產(chǎn)生的垂直同步脈沖和水平同步脈沖信號進行編輯。圖像讀取模塊利用DDR 控制模塊將數(shù)據(jù)保存在數(shù)據(jù)存儲器中,這時得到了編碼曝光圖像數(shù)據(jù)。隨后核心控制器中的解碼重建模塊讀取數(shù)據(jù)存儲器中編碼曝光圖像,進行片內解碼得到清晰復原圖像。圖像數(shù)據(jù)經(jīng)千兆網(wǎng)模塊可輸出顯示,也可以直接輸出編碼曝光圖像。命令模塊接受網(wǎng)絡的輸入信號,可以進行系統(tǒng)設置。千兆網(wǎng)模塊和DDR 控制均為廠家提供的資源。
圖7 CCD 編碼曝光相機系統(tǒng)結構Fig.7 Structure diagram of CCD coded exposure camera system
編碼曝光圖像采集及輸出時序圖如圖8 所示。由于ICX204AL 總像素為1 034 × 792,輸出一幅圖像需要VD 控制信號1 034 個,且每個VD 信號含792 個HD 信號。相機快門開關由SUB 信號控制,HD 信號為低電平時,垂直時鐘信號按V1、V2A/V2B、V3 順序開始工作,并將存于垂直移位寄存器中的光生電荷向水平移位寄存器移動。V2A/V2B的高電平信號決定了新一行圖像的起始位置。
圖8 編碼曝光圖像采集及輸出時序圖Fig.8 Schematic diagram of image acquisition and timing sequence output with coded exposure
編碼曝光解碼圖像程序流程圖如圖9 所示。曝光編碼在控制像元曝光襯底信號SUB 的同時,也被用作圖像復原時構造模糊核K,以便解碼復原。若已經(jīng)得到編碼曝光模糊圖像B,利用L=B/K解碼獲得清晰圖像輸出。上述過程由FPGA的硬件邏輯實現(xiàn)。
文獻[16]中提出,同一目標以不同相對速度通過采集相機時,在采集圖像的像平面中位置不同,導致采集的模糊圖像不同,即可以認為由不同模糊核造成。由于模糊核是由預設編碼的Toeplitz矩陣形式和與其等寬且不等長的模糊尺度構成,因此采用結構相似性與圖像熵的聯(lián)合估計方法[16]確定圖像模糊核的模糊尺度,并與二進制編碼一起構造模糊核。具體編碼曝光解碼復原過程如下:
1)在核心控制器內預設碼長為m的二進制編碼序列k;
2)通過設定模糊尺度與k共同構造模糊核K;
3)通過L=B/K解碼獲得清晰圖像,并輸出顯示。
從信號生成角度看:CCD 成像芯片之所以能夠產(chǎn)生圖像信號,是由于CCD 的感光像元作用。當外界有入射光到達像元后,光生電荷隨之產(chǎn)生,其數(shù)量與入射光的光通量呈線性關系。因此,當不考慮其他因素時,曝光時間長短決定了入射光線的光通量的大小,進而反應了光生電荷的多少。長時間曝光比短時間曝光圖像電壓更高,信號更強,從外界來看圖像更亮。當外部環(huán)境較暗時,適當延長曝光時間,可以有效解決圖像信號不足。當外部環(huán)境較亮,長時間曝光易出現(xiàn)圖像飽和。
圖9 嵌入式編碼曝光系統(tǒng)程序流程圖Fig.9 Flow chart of program design for embedded coded exposure system
從噪聲角度分析:令目標物體與相機圖像平面上獲得單位時間內的平均圖像強度為i,利用噪聲仿射模型[17]可將噪聲分為獨立于圖像信號存在的噪聲和依存于圖像信號存在的噪聲。
獨立于圖像信號存在的噪聲由暗電流噪聲、放大器噪聲、AD 量化誤差等因素綜合表現(xiàn),該噪聲與采集信號無關,其灰度級方差可表示為。與此同時,依存于圖像信號的噪聲與光通量和光-電轉換過程的不確定性有關。該噪聲信號隨測量信號的增加而增大。當曝光時間變長時,光通量變大,該信號也隨之變大。令該噪聲信號與常數(shù)C有關,當曝光時間為t時,該光子噪聲的方差值為Ct。
因此,總體噪聲可以表示為
采集圖像的信噪比為
當曝光時間t較長時,即時,有:
當曝光時間t較短時,即時,有:
若當i、C、σgray為常數(shù),信噪比SNRcapture均隨曝光時間t增加。因此當只考慮曝光時間t這一因素時,增加曝光時間可以提升信噪比。短時曝光(t較小)中獨立于信號存在的噪聲對信噪比影響較大。若在單位時間內可獲得足夠光照(即i足夠大),則短時曝光(t較小)也可獲得較高的信噪比。
我們利用多次生成、一次轉移光生電荷的曝光方式,累積光生電荷建立仿真模型。將單一的曝光時間分割成若干時隙,各時隙持續(xù)時間總和與原來的單次曝光時間相等。這些時隙中,只有部分參與曝光,因此,該種方法根據(jù)光通量可以分成普通單次曝光、編碼曝光、短時曝光。
實驗中,選取一般單次曝光、編碼曝光、短時曝光成像質量研究其異同,如圖10 所示。其中清晰圖像如圖10(a)所示,單次曝光模型使用全“1”編碼模擬目標圖像運動后的疊加,其過程如圖10(b)所示,其疊加的模糊圖像如圖10(c)所示,利用P an[18]方法的復原圖像如圖10(d)所示。編碼曝光圖像的模擬運動圖像是按照編碼規(guī)律,抽取普通曝光模型中對應位的圖像進行疊加,其過程如圖10(e)所示,疊加的模糊圖像如圖10(f)所示;利用本方法復原結果如圖10(g)所示,經(jīng)亮度調整后圖像如圖10(h)所示。短時單次曝光圖像中取一般曝光時間的前1/3 進行“短時”設計,因此該模糊圖像圖10(j)的光通量是一般單次曝光圖像圖10(c)的1/3,其復原圖像如圖10(k)所示,亮度調整后如圖10(l)所示。同時,為了模擬曝光時的信噪比,在合成圖像過程中均在每幅移動圖像移動疊加前,加入0.005 的高斯噪聲。由于信號持續(xù)時間導致信號強度不同,在一般曝光下噪聲影響最小,編碼曝光次之,噪聲對短時曝光的影響最大。
在圖10 的復原圖像中,編碼曝光快門轉換過程是間斷的,該編碼的使用將原來的窄帶濾波器轉變?yōu)閷拵V波器,有效避免了頻域幅值的零點,以保存更多的高頻信息。相比于一般曝光采集的運動模糊圖像圖10(c),編碼曝光圖像包含了更多的高頻信息,如圖10(f)所示。當復原正確時,這些高頻信息將組成一張完整清晰的復原圖像,如圖10(g)所示。在普通曝光下圖像復原時,一般曝光模型在頻域中幅值會出現(xiàn)“零”的情況,使得一些高頻信息在圖像采集時即損失,無法通過后續(xù)算法恢復,導致復原圖像振鈴效應明顯,如圖10(d)所示。相對而言,短時曝光采集圖像圖10(j)中由于采集圖像時接收的光通量不足,即使相對移動造成模糊小,噪聲淹沒部分圖像信號,已經(jīng)失去原有圖像部分特征,導致復原圖像異常。可以看出,編碼曝光是在損失較小信噪比的前提下,在采集階段保護并正確復原運動模糊圖像的一種有效方法。
編碼曝光相機設計實物如圖11 所示。
實驗采用m= 31 位近似最優(yōu)編碼碼字(k=1111111111111000010011101000111)[3]設計,該碼字被Raskar[19]等學者證明了在編碼曝光中使用可以更多地保留高頻信息。與單次普通曝光方法相比,在相同的圖像采集時間內,普通曝光方法全時曝光,編碼曝光是非全時曝光。使用上述編碼時,用n代表碼長,這里n= 31;用s代表“1”的個數(shù),這里s= 21,也即在31 個時隙中有21 個時隙的像元參與接受光信號。因此,當其他條件完全相同時,利用該編碼的光通量是普通曝光的s/n=21/31,使整體圖像偏暗。
圖10 一般曝光、編碼曝光、短時曝光的采集運動模糊圖像、曝光模型、復原圖像之間的對比Fig.10 Comparison among motion blurred images, exposure models and restored images under general exposure, coded exposure and short-time exposure conditions
圖11 編碼相機硬件電路實物圖Fig.11 Hardware circuit diagram of coded camera
在編碼曝光時間內,被測物體在相機鏡頭前做快速的單一方向移動,曝光結束后獲得編碼曝光圖像,通過已知編碼設計,并估計模糊核長度,從而得到模糊核,恢復圖像。該過程獲得的編碼曝光圖像如圖12 所示。圖12(a)是靜止清晰圖像,圖12(b)是編碼曝光圖像,圖12(c)為本文方法恢復重建圖像。
為了客觀評價圖像復原質量,我們使用了SMD、SMD2、Energy、Brenner 等無參考質量評價方式對復原質量進行測評。由于高頻分量在運動模糊圖像中有損失,呈現(xiàn)細節(jié)模糊,但圖像復原正確,高頻圖像細節(jié)信息清楚,因此可以利用高頻信息數(shù)量表示圖像清晰程度,即選用灰度差分函數(shù)(SMD)和灰度差方函數(shù)(SMD2)。這兩者分別表示圖像中相鄰像素差的絕對值之和以及相鄰像素差的乘積之和。由于自然圖像邊緣清晰、明顯,為了突出目標圖像的特征,選用能量梯度函數(shù)(Energy)和Brenner 梯度函數(shù)(Brenner),分別表示圖像中相鄰像素的梯度之和以及相隔像素的差方之和。同時,圖12 的實驗中清晰圖像已知,我們加入了圖像結構相似性評價。如表1 所示,在全參考圖像質量評價的圖像結構相似性以及無參考圖像質量評價方面,復原圖像均高于模糊圖像指數(shù)值,說明復原圖像質量得到提升。
圖12 清晰圖像、編碼曝光圖像與復原圖像Fig.12 Clear image, coded exposure image and restored image
表1 圖12 中編碼曝光實驗的圖像質量評價指數(shù)Table 1 Image quality evaluation index of coded exposure for Fig.12
為了獲得同一條件下的對比實驗,在同一個編碼曝光相機上,采用全“1”的碼字,類比一般單次相機曝光模型。需要獲得同一條件下的運動模糊圖像,拍攝時物體的運動在伺服系統(tǒng)下進行,保持速度、光照等外部條件接近一致。由于Pan[18]的基于強度和梯度先驗的L0 正則化圖像去模糊方法,對文字和圖形圖像均具有很強的重建能力,因此本文選取該方法與本文的編碼相機恢復方法進行對比,獲得的模糊圖像及其復原圖像如圖13 所示。
在圖13 中,編碼曝光圖像13(a)與普通曝光模糊圖像13(c)相比,視覺上的模糊程度是相近的,但編碼曝光亮度偏暗。然而,由于編碼曝光圖像中隱含著圖像的高頻信息,因此重建恢復圖像在文字筆畫及結構上更加清晰,如編碼曝光的恢復圖像的放大圖13(e)中,中文的“碩士”、“采集”與普通曝光恢復圖像13(f)中相應二字清晰度更高。在英文方面,“Embedded”和“System”等單詞可讀性亦更強。為了客觀評價圖像復原質量,選取上述無參考圖像質量評價指標,如表2 所示。
圖13 本文采集編碼曝光復原圖像與普通曝光去模糊方法[18]復原圖像對比Fig.13 Comparison between restored images of coded exposure restored method and general exposure deblurred method[18]
表2 圖13 中編碼曝光實驗的圖像質量評價指標Table 2 Image quality evaluation index of coded exposure for Fig.13
從表2 中可以看出,一般單次曝光和編碼曝光的復原圖像均比模糊圖像指標要高,說明恢復了部分高頻信息。經(jīng)過進一步對比指標的提升率發(fā)現(xiàn),圖13 中測試圖像的各測試指標平局值從一般曝光情況下的36.32%提高到編碼曝光條件下的69.47%,復原后圖像質量的指標平均值提高了近1 倍,說明編碼曝光條件下的復原能力要更強。
本文設計了一種運動圖像去模糊的嵌入式編碼曝光相機系統(tǒng)。利用CCD 襯底控制技術,實現(xiàn)持續(xù)編碼曝光控制和一次電荷轉移讀出光生電荷,從而獲得編碼曝光圖像。同時,將圖像的解碼過程在同一控制器中實現(xiàn),獲得清晰運動復原圖像。實驗結果表明,本文所設計的嵌入式圖像系統(tǒng)能夠解決運動模糊圖像的復原問題。以較低成本實現(xiàn)較高幀率相機的清晰復原圖像,并利用無參考圖像評價指標測試,與一般曝光相比,相關指標提升的平均值約為一般普通曝光相關指標值的2 倍。