《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于CPLD的圖像傳感器非均勻性校正
基于CPLD的圖像傳感器非均勻性校正
摘要: 圖像傳感器是現(xiàn)代視覺信息獲取的一種基礎器件,它將入射到光敏面上按空間分布的光強信息轉換為按時序輸出的視頻信號,從而能夠再現(xiàn)物體的圖像信息. 在理想的情況下,當圖像傳感器受均勻光照時,各光敏元輸出的視頻信號幅度應該完全相同.
Abstract:
Key words :

  圖像傳感器是現(xiàn)代視覺信息獲取的一種基礎器件,它將入射到光敏面上按空間分布的光強信息轉換為按時序輸出的視頻信號,從而能夠再現(xiàn)物體的圖像信息. 在理想的情況下,當圖像傳感器受均勻光照時,各光敏元輸出的視頻信號幅度應該完全相同. 但實際上,由于制作器件的工藝水平、1/f 噪聲、光學系統(tǒng)以及電荷傳輸效率等諸多因素的影響,產生了非均勻性問題,使得在相同的輻照度下,每個光敏元的響應度不可能完全一致,甚至有較大的差異 .

  圖像傳感器的非均勻性直接影響了成像系統(tǒng)的探測靈敏度和空間分辨率,用這樣的成像裝置觀察景物,成像質量必然受到影響,甚至圖像會模糊不清. 因此,必須對非均勻性進行校正. 盡管針對非均勻性校正的研究多種多樣,但目前在商業(yè)上有推廣價值的還是2點法,專家和工程師們的著眼點依然是修正和完善2點法,如提高精度和算法處理速度. 此外,一些非線性校正方法,如神經網絡校正法、時域高通濾波器法還處于實驗室研究階段.

  圖像傳感器光敏元的光電轉換特性曲線反映了其輸出(U )與輻照度(H)之間的關系,因此,非均勻性體現(xiàn)為各個光敏元具有各不相同的光電轉換曲線. 非均勻性校正的最終目的就是通過校正處理使得圖像傳感器所有光敏元表現(xiàn)出完全相同的光電轉換關系. 2點法是在光敏元的輸出與輻照度成線性關系的前提下建立的,它以某一直線作為標準,通過選擇合適的斜率和偏置校正系數,將所有光敏元的轉換特性均校正為與標準直線重合(即有相同的線性函數) ,從而使所有的光敏元在相同的輻照度下,有相同的輸出.

  實際上,光敏元的輸出與輻照度兩者之間通常被認為服從拋物線模型. 顯然, 2點法所采用的線性近似是比較粗糙的,使其應用范圍局限于圖像傳感器光電轉換線性較好或工作范圍較窄的情況. 為此,筆者引入了多點校正方法,該方法將整個飽和輻照度區(qū)域劃分成若干子區(qū)域,每個子區(qū)域的光敏元輸出與輻照度的關系采用線性函數表示,從而能夠更好地逼近拋物線模型,并將圖像傳感器的工作范圍擴展到整個飽和輻照度區(qū)域. 為實現(xiàn)多點校正法,筆者設計了基于復雜可編程邏輯器件的硬件校正實現(xiàn)方案,實驗表明,該校正系統(tǒng)可將圖像傳感器CL512J的非均勻度由40%校正到2%. 因此,多點校正法及其實現(xiàn)系統(tǒng)能在不提高制造工藝和進一步研究光敏元結構的基礎上,有效地降低圖像傳感器的非均勻性,獲得較為理想的圖像質量.

  1 非均勻性多點校正法

  如果直接利用光電轉換關系的拋物線模型進行校正,硬件實現(xiàn)較為困難. 因此,引入多點校正法,利用分段線性函數來逼近非線性響應關系,即將整個飽和輻照度區(qū)域劃分成若干個子區(qū)域,每個子區(qū)域的光電轉換關系采用線性函數逼近,然后分別對每個子區(qū)域采用2點法進行校正處理. 顯然,多點校正法是2點校正法的擴展. 假設進行n點校正, 圖1給出了在輻照度子區(qū)域(Hj, Hj+1 ) ( j = 1, ., n - 1; Hj+1>Hj )的校正示意圖.

2點校正法示意圖

圖1 2點校正法示意圖

  圖中,直線a和b分別表示圖像傳感器中a和b 2個光敏元在(Hj , Hj+1 )區(qū)域內的光電轉換特性的逼近直線,直線c表示校正后2個光敏元的轉換特性.

  從圖1可看出,在Hj和Hj+1輻照度下,校正前a和b光敏元的視頻輸出值分別為Uaj、Ua(j+1) 、Ubj和Ub(j+1) . 由于非均勻性的存在,使得Uaj ≠Ubj、U a (j+1) ≠U b(j+1) . 校正后, a和b 2個光敏元在H j和H j+1輻照度下,均分別有相同的輸出: Ucj和Uc(j+1) . 同時也保證了在(Hj , Hj+1 )區(qū)域內,相同輻照度下2個光敏元均有相同的輸出. 直線i ( i = a, b)可表示為:

公式

  式中, Uij為i光敏元校正前的輸出; Kij、bij分別為對應直線的斜率和偏置常數為使a和b光敏元的轉換特性經校正后均表現(xiàn)為直線c所表示的轉換關系,按以下2式選擇斜率校正系數Gij和偏置校正系數Cij.

公式

  式(2)中, Kc為常數, 表示直線c的斜率. 對Kc的選擇具有很強的隨意性, 通常選取所有光敏元中最大斜率的光電轉換直線或者取過2個不同光照下各個光敏元的算術平均值的直線作為標準. 筆者則以獲取盡可能大的Gij作為標準, 因此, 由Gij (最大取值可為250)和(Ui(j+1) - Uij )值可確定(Uc(j+1) - Ucj )值的范圍,從而確定Kc值. 同時保證校正后的視頻輸出值在飽和輻照度范圍內隨輻照度增強而增大.

  式(3)中,Mj為常數. 在保證光電轉換曲線分段線性化后的連續(xù)性和單值性的情況下,Mj值等于分段點Hj校正后的視頻電壓值. 同時, 結合Uij以及選擇合適的Gij ,保證獲取盡可能大Cij. 因此,校正后的視頻輸出Uc可表示為

公式

  將式(1) 、式(2)和式(3)代入式(4) ,經整理后得:

公式

  可見,因為Kc、Mj和Hj均為常數, 經過校正處理后, 在同一輻照度下, 2個光敏元都有相同的視頻輸出電壓并且輸出電壓值與輻照度大小成一一對應的線性關系. 同理,對有m 個光敏元的傳感器采用上述校正原理和校正算法可實現(xiàn)其非均勻性校正.

  此外,由于不同圖像傳感器的光電轉換曲線各不相同,所以,在輻照度區(qū)域的劃分時,各邊界點應根據具體傳感器的特性加以選擇,不能一概而論. 筆者所采取的選取原則是,采用實驗測取數據,擬合出曲線的大致變化情況,再進行輻照度區(qū)域劃分.

:   2 非均勻性校正系統(tǒng)實現(xiàn)

  2. 1 硬件設計

  目前,在非均勻性校正的硬件實現(xiàn)上,采用的都是1點或2點校正法. 電路由計數器、存儲器、A /D轉換器和D /A轉換器等器件組成 . 通常,只能針對某個特定型號的圖像傳感器進行電路板制作,擴展性較差,而且,電路工作頻率較低. 采用這些器件很難實現(xiàn)多點實時校正.

  為了實現(xiàn)非均勻性多點實時校正,筆者設計了基于復雜可編程邏輯器件(CPLD)的校正系統(tǒng). 該系統(tǒng)以CPLD EPM7512AE為核心,包括輸入和輸出信號調理電路、高速A/D采樣單元、D/A轉換單元和FLASH存儲器等功能模塊. 系統(tǒng)結構如圖2所示.

校正系統(tǒng)結構圖

圖2 校正系統(tǒng)結構圖

  校正系統(tǒng)通過輸入信號調理單元將接收到的圖像傳感器視頻輸出信號進行預處理,將信號調整到A/D轉換器(ADC) TLV5580的采樣電壓范圍內.系統(tǒng)控制核心CPLD接收圖像傳感器工作信號,根據視頻信號串行輸出的規(guī)律,產生控制TLV5580工作的時鐘信號和轉換數據輸出使能信號,從而控制TLV5580對經過調理的視頻信號進行采樣量化,并將量化后的數字信號實時讀入CPLD. 同時, CPLD 從FLASH存儲器W29C040的相應單元中讀出斜率和偏置校正系數,實現(xiàn)式(4)描述的校正算法,完成對各個視頻信號的實時非均勻性校正.

  CPLD還產生D/A轉換器(DAC) TL5632C工作時鐘信號,控制TL5632C將校正后的數字信號實時地轉換成模擬信號,并由輸出信號調理單元將該模擬信號調理為一個范圍合適的電壓信號作為校正系統(tǒng)的輸出(即經過校正的視頻信號).

  2. 2 CPLD設計思想

  作為控制核心的CPLD是一種半定制器件,它最大的優(yōu)點就是采用編程的方式定制其具體實現(xiàn)的硬件電路,指定CPLD的硬件實現(xiàn)功能. 筆者主要采用硬件描述語言VHDL,并結合原理圖方式在MAX + PLUSⅡ集成開發(fā)環(huán)境下進行CPLD 功能的設計. 采用VHDL語言的設計方法,可實現(xiàn)器件的無關性,并且功能實現(xiàn)靈活、修改方便. CPLD的應用以及VHDL設計方法的使用為校正系統(tǒng)能靈活地適用于不同圖像傳感器的校正以及實現(xiàn)不同的校正算法提供了可能和保證.

  根據系統(tǒng)校正功能要求及工作流程, CPLD 實現(xiàn)的功能主要包括:

  1) 分頻器. 分頻器對晶振信號進行分頻,產生校正系統(tǒng)協(xié)調工作的時鐘基準信號. 分頻器采用VHDL進行設計,可以根據不同的晶振、不同的圖像傳感器工作頻率,靈活、方便地選擇不同的分頻數,產生合適的時鐘基準信號.

  2) ADC控制信號發(fā)生模塊. 該模塊采用VHDL進行設計,根據分頻器產生的時鐘基準信號和圖像傳感器的工作信號,產生能夠準確控制TLV5580工作的時鐘信號和轉換數據輸出使能信號,保證TLV5580實時、準確地采集經過調理后的視頻輸出信號.

  3) 地址發(fā)生器. 地址發(fā)生器產生讀取FLASH存儲器中斜率和偏置校正系數的地址信號. 由于每個光敏元在每個輻照度子區(qū)域有一組數據(一個斜率校正系數和一個偏置校正系數) ,為了方便讀取,將同一輻照度子區(qū)域的所有光敏元的校正系數按照在圖像傳感器中的相對位置順序存儲. 所以,同一光敏元在不同子區(qū)域下的數據地址,高位地址不同,低位地址則完全相同;同一子區(qū)域內不同光敏元的數據地址,則高位相同,低位不同. 因此,地址發(fā)生器由2部分構成:高位地址發(fā)生器和低位地址發(fā)生器.

  高位地址發(fā)生器實質上是一個比較器,確定當前圖像傳感器所測量的輻照度所處的子區(qū)域. 其設計思想是:將采集到的第1個光敏元的視頻信號和預先設定的對應于每段輻照度子區(qū)域的邊界值進行比較,根據比較的結果產生相應的高位地址. 由于采用并行執(zhí)行的指令來實現(xiàn),能夠很好地滿足實時處理的要求.低位地址發(fā)生器根據視頻信號逐一串行輸出的特點以及TLV5580工作特點(每個工作時鐘采集1個光敏元的輸出信號)進行設計,實質上是一個計數器,只需對TLV5580工作時鐘信號進行計數,就能產生相應的低位地址.

  4) 校正模塊. 由乘法和加法2個子模塊構成,分別采用MAX + PLUS Ⅱ提供的功能單元LPM_MULT和LPM_ADD_SUB來實現(xiàn). 校正模塊將采集到的視頻信號以及從FLASH存儲器讀取的相應校正系數按照式(4)進行處理,實現(xiàn)圖像傳感器的實時非均勻性校正.

 

  5) DAC控制信號發(fā)生模塊. 產生控制TL5632C工作的時鐘信號,指揮TL5632C實時地將校正后的數字視頻信號轉換為模擬信號.

  由于非均勻性校正功能的實現(xiàn)對時序要求嚴格,在程序的設計中,一定要注意時序的合理性. 將程序編寫出來后,首先進行了仿真實驗,在得到期望的工作波形數據后,進行邏輯綜合生成網絡表和下載文件,最后將程序文件下載到EPM7512AE中,以便進行下一步對圖像傳感器非均勻性校正指標的測試.

  3 實驗結果

  筆者以重慶大學研制的CL512J型自掃描光電二極管陣列( SSPA)圖像傳感器作為對象,進行6點非均勻性實時校正的實驗. CL512J是一種具有512個光敏元的線陣列圖像傳感器. 其工作波形如圖3所示,以起始脈沖S信號(低電平有效)表示每一次掃描輸出的開始. 光敏元的視頻輸出電壓Uo 與時鐘信號CP同步,在CP的上升沿時刻開始輸出,經過短暫的上升時間后,穩(wěn)定下來;在CP為低電平時,輸出變?yōu)?. 因此,將S和CP信號引入校正系統(tǒng)作為CPLD產生各種控制信號的基本依據.在實驗中, 首先通過數據采集卡和計算機, 將 CL512J 的校正系數計算出來, 按指定地址保存在FLASH存儲器中.

CL512J工作波形

圖3 CL512J工作波形

  然后, 在MAX + PLUS Ⅱ開發(fā)環(huán)境下, 根據CL512J的具體情況(光敏元個數、工作頻率、視頻信號串行輸出的特點等) ,設計出相應的程序,經過仿真驗證后,將程序文件下載到CPLD中.最后,將CL512J的視頻信號接入校正系統(tǒng),并利用示波器觀察校正前后的視頻電壓波形. 圖4給出了一個實時校正的實驗結果,上面一條曲線是CL512J實際的視頻輸出信號,下面一條是經過校正后的視頻信號. 校正前, 輸出信號最大值為2V, 最小值不足0. 8V,非均勻性超過40%. 校正后,電壓信號在2V附近變化,非均勻性約為2%. 由于TLV5580等器件的工作特點,校正信號延遲約5個CP時鐘后輸出.

不均勻性校正實驗結果圖

圖4 不均勻性校正實驗結果圖

  4 結束語

  設計的非均勻性校正算法以及硬件校正系統(tǒng),能夠有效地實現(xiàn)圖像傳感器的多點實時非均勻性校正.采用CPLD作為核心構成的校正系統(tǒng)具有功耗低、抗干擾能力強、功能實現(xiàn)方便和擴展靈活等優(yōu)點,能夠有效地適用于多種圖像傳感器的校正.

  但是,由于存在光電轉換曲線分段線性化誤差、A/D轉換器和D/A轉換器等器件轉換精度問題以及實驗條件的限制等客觀原因,影響了圖像傳感器非均勻性校正效果的進一步提高.

此內容為AET網站原創(chuàng),未經授權禁止轉載。