王雪松
基于近紅外CMOS的激光光斑質(zhì)心檢測系統(tǒng)設計
王雪松
(北京高普樂光電科技股份公司,北京 100193)
為實現(xiàn)在復雜背景光照條件下具有較高的光斑探測靈敏度,高精度的坐標計算,及大于1000fps的結(jié)果輸出速度,介紹了一種基于近紅外CMOS圖像傳感器,實時計算光斑質(zhì)心坐標并輸出的系統(tǒng)。設計使用安森美半導體公司的Python1300系列近紅外圖像傳感器NOIP1FN1300A對激光光斑成像。利用Cyclone4系列低功耗FPGA對傳感器進行驅(qū)動和解串,應用可靠的質(zhì)心算法實時計算光斑坐標。結(jié)果輸出部分分別采用USB2.0和RS422接口實時輸出目標圖像和質(zhì)心坐標。該設計最終具有1500fps的實時處理能力,軟件代碼簡潔,質(zhì)心坐標計算精確,系統(tǒng)功耗低等優(yōu)點。
圖像傳感器;FPGA;近紅外;質(zhì)心坐標
激光光斑質(zhì)心定位在軍事和民用領域都有著非常廣泛的應用。如激光測照、光通信、導引頭、商用電子白板等,應用中所使用的激光器,波長普遍都在紅外波段。探測激光的傳感器性能和光斑檢測算法的精度、速度直接影響光學測量的精度及速度。目前的檢測處理系統(tǒng)多是基于PC機的,存在著延遲及不穩(wěn)定等問題。在總結(jié)各種檢測算法的基礎上,基于重心法使用現(xiàn)場可編程門陣列(FPGA)實現(xiàn)了低信噪比紅外光斑中心的實時檢測[1]。本文針對紅外光斑的特點,使用近紅外增強型CMOS圖像傳感器NOIP1FN1300A對激光光斑成像,使前端探測系統(tǒng)具有較高靈敏度[2]。軟硬件系統(tǒng)均采用模塊化設計,利用FPGA驅(qū)動傳感器成像,對傳感器輸出的圖像數(shù)據(jù)進行串并轉(zhuǎn)換、光斑提取、降噪和質(zhì)心計算,計算結(jié)果通過RS422串行接口輸出。
硬件電路結(jié)構分為CMOS焦面電路板、FPGA核心處理板和電源接口板3部分。各個電路板之間采用高速板對板連接器對接,實現(xiàn)了模塊化設計,便于更改和更換任務模塊。系統(tǒng)原理框圖如圖1所示。
圖1 硬件系統(tǒng)框圖
NOIP1FN1300A是安森美公司生產(chǎn)的近紅外增強型黑白CMOS圖像傳感器,四通道低電壓差分信號(LVDS)輸出,具有開窗口功能[2]。該傳感器性能參數(shù)如表1所示。
傳感器具有3種類型的引腳:電源引腳、3.3V邏輯電平(LVTTL)控制信號引腳和LVDS差分信號引腳。使用Linear公司的低噪聲的LDO芯片LT1763為傳感器提供3.3V、3.3V_PIX、1.8V電源。FPGA控制LDO的關斷(SHDN)引腳,以實現(xiàn)對傳感器上電順序的控制,電源電路原理圖如圖2所示。在傳感器的每個電源引腳均配有濾波電容,降低電源噪聲對傳感器的成像的影響[3-5]。將傳感器的CLK_PLL、復位RESET和串行外設接口(SPI)信號連接至FPGA。FPGA通過SPI對傳感器進行初始化配置和參數(shù)在線調(diào)整[6-7]。
傳感器成像輸出采用LVDS傳輸方式。包括4組數(shù)據(jù)線,2組時鐘線,1組同步信號線。7組差分線等長布線連接到FPGA上,相關的bank供電電壓為2.5V,輸入輸出端口(I/O)應設置為“LVDS”模式。
表1 NOIP1FN1300A傳感器性能
圖2 LT1763應用電路
FPGA芯片采用INTEL公司的Cyclone4系列低功耗器件EP4CE55U19I7。該器件具有55856個邏輯單元(LE)、4個鎖相環(huán)、最大374個用戶I/O,最高運行速度可達437MHz。
使用高效的DCDC轉(zhuǎn)換器EP5357為FPGA提供電源供電。板載一片1Gbits DDR2存儲器,實時存儲傳感器輸出的視頻圖像,用于USB輸出和圖像濾波的緩存。FLASH采用128Mbits的M25P128,能夠滿足FPGA程序存儲的要求,同時也能夠固化系統(tǒng)的配置參數(shù),具有斷電記憶功能。
電源接口電路對主電源進行濾波、降噪處理。利用去共模、差模和消紋波電路,使電源噪聲等級控制在Rms5mV以下,可保證傳感器輸出較高的圖像質(zhì)量。
通訊方式采用抗干擾能力強的RS422全雙工接口,在傳感器實時輸出質(zhì)心坐標的同時,仍能夠?qū)崿F(xiàn)對系統(tǒng)參數(shù)的在線調(diào)整。
通過USB2.0接口實時輸出目標圖像,用于系統(tǒng)對焦操作。也可以通過USB通道傳遞配置參數(shù)。
FPGA軟件完成對傳感器的驅(qū)動、數(shù)據(jù)解串、中值濾波、光斑提取、質(zhì)心計算與輸出5個主要模塊的設計。使用Quartus13.1進行軟件的開發(fā)與調(diào)試,采用Verilog語言編寫程序代碼。軟件系統(tǒng)流程圖如圖3所示。
系統(tǒng)上電后,F(xiàn)PGA按照傳感器的上電時序要求,對傳感器分步上電及寄存器初始化配置。傳感器正常輸出后,首先進行數(shù)據(jù)的串并轉(zhuǎn)換,得到正確的10bit并行數(shù)據(jù)。再根據(jù)并行數(shù)據(jù)的狀態(tài)碼,解算出原始圖像的行、場同步信號和圖像數(shù)據(jù)信號。圖像數(shù)據(jù)流向分為兩路,一路數(shù)據(jù)存入DDR2,通過USB2.0接口實時輸出。另一路原始數(shù)據(jù)分別進行濾波處理、閾值計算、光斑判斷和質(zhì)心計算,最終得到光斑質(zhì)心的坐標。最終計算結(jié)果通過RS422接口進行輸出。
由FPGA產(chǎn)生傳感器工作的主時鐘clk_pll,頻率為36MHz。按照像素位寬10bits輸出,將4路并行的LVDS數(shù)據(jù)同時解串,拼接成逐行逐點的像素時鐘率則達到了144MHz。
傳感器上電時序有嚴格的要求。為使clk_pll時鐘輸出可控,該信號由獨立的PLL產(chǎn)生,通過控制PLL的ARESET信號啟動或關斷時鐘輸出。傳感器上電時序如圖4所示[5]。
圖3 FPGA編程流程圖
圖4 傳感器上電時序
軟件啟動后,F(xiàn)PGA依次使能1.8V、3.3V、3.3V_PIX電源,電源穩(wěn)定后使能ARESET為傳感器提供36MHz時鐘,間隔一定時間,拉高復位信號。最后進行SPI寄存器初始化配置。
傳感器的初始化配置包括鎖相環(huán)、狀態(tài)機、初始參數(shù)、工作模式等。配置結(jié)束后使能傳感器輸出,傳感器即可正常工作。
光斑光強分布,可近似為高斯分布。光斑邊緣的提取,對質(zhì)心坐標精度影響較大。成像電路中也會存在隨機的白噪聲,在光斑判斷時,會被誤認為是光斑的一部分。本文針對這兩種噪聲的頻譜特點,使用技術成熟的中值濾波對圖像預處理,實現(xiàn)了較好的處理效果[3]。
程序中例化了兩個FIFO緩存2行圖像數(shù)據(jù),與第3行的實時數(shù)據(jù)組成3×3矩陣窗口,首先對窗口內(nèi)的圖像數(shù)據(jù)排序,然后將窗口中間像素,用排序后的中值取代。整個過程消耗3個時鐘周期,需要將行、場有效信號同步延遲3個周期,最后得到濾波后的圖像數(shù)據(jù)[8]。
通過解析數(shù)據(jù)差分信號DOUT_N/P和同步差分信號SYNC_N/P分別獲得像素數(shù)據(jù)和行、場同步信號。
傳感器具有Training pattern(TP訓練模式)寄存器,指在傳感器空閑狀態(tài)時,數(shù)據(jù)線和狀態(tài)線上會持續(xù)輸出一個固定值,用于串并轉(zhuǎn)換時進行位對齊,該值可通過SPI配置寄存器的方式任意設置。當串并轉(zhuǎn)換模塊成功檢索到TP值后,即可正常接收像素數(shù)據(jù)。在像素數(shù)據(jù)輸出時,狀態(tài)線上輸出不同的狀態(tài)碼,指示當前像素數(shù)據(jù)類型。狀態(tài)碼時序如圖5所示。其中IMG是有效像素段,LE是行結(jié)束,LS是行起始。TR是TP值,空閑時間一直為0x3A6。
在像元數(shù)據(jù)輸出時,傳感器固定以8個像素為一組,分為奇數(shù)組和偶數(shù)組。在奇、偶組內(nèi),以特定的排列順序?qū)?個像素分配到4組LVDS差分線上輸出。因此,軟件程序解串后還需要對8個像素重新排序,才能得到正確的一行圖像數(shù)據(jù)。
4個通道的圖像數(shù)據(jù)是同時到來的,為便于光斑提取和計算,軟件設置2個FIFO進行乒乓操作,分別存儲一行圖像數(shù)據(jù)。將4通道36MHz的數(shù)據(jù),轉(zhuǎn)換成逐行逐點輸出的144MHz像素數(shù)據(jù)格式。
對目標的提取主要是采用閾值分割的方法。閾值設置分為手動設置閾值和自適應閾值兩種,這兩種方法都存在固有的缺陷[4]。手動設置方法適應性差,而自適應閾值在復雜背景條件下提取目標成功率低。本文采用自動閾值和手動閾值相結(jié)合的方式,提高了系統(tǒng)的適用范圍和提取精度。
光斑所占像元的數(shù)量越少,坐標提取精度越高,一般不大于20×20個像素。視場窗口尺寸越大,背景光照強度對光斑提取所使用的閾值的影響越大。在全分辨率條件下,光斑尺寸僅占整個靶面的0.03%。在復雜背景條件下,例如背景光的整體偏暗,但是局部有較大區(qū)域的亮度較高時,此時會出現(xiàn)平均灰度不能實現(xiàn)剔除背景,提取光斑的情況,如圖6所示。
圖5 傳感器狀態(tài)碼輸出
圖6 復雜背景灰度圖
當開窗尺寸較小,且背景光照強度均勻時,可單獨使用自適應閾值進行光斑提取,提取效果較好。反之,則需要合理的設置手動閾值,設置值應能保證用于分割的閾值大于局部亮區(qū)的灰度,只提取有效的光斑目標。
程序設計中,利用相鄰兩幅成像畫面具有較大相關性這一時間冗余特點,將當前幀圖像的平均灰度與手動設置閾值相加,作為下一幀圖像光斑提取的閾值。用兩個FIFO分別緩存兩行圖像數(shù)據(jù),與第3行數(shù)據(jù)組成3×3滑動窗口,當窗口中的9個像素點灰度值,有3個以上大于閾值,則認為窗口中心像素是激光光斑的一部分。將該點的灰度值和行、列坐標值輸出給下一模塊,進行質(zhì)心計算。
激光光斑的質(zhì)心也就是光斑的灰度重心。本文采用灰度質(zhì)心法計算光斑的質(zhì)心坐標,該方法具有計算速度快、精度高、硬件容易實現(xiàn)等優(yōu)點[4,9]。假設圖像的分辨率為×,光斑所占像元的灰度表示為(,),那么質(zhì)心計算公式為:
光斑提取模塊輸出了光斑所占像素的灰度值和坐標值,將這些數(shù)據(jù)代入公式(1),通過FPGA自帶的乘/除法IP核,實現(xiàn)計算功能。為了提高坐標輸出精度,精確到小數(shù)點后3位,將公式分子部分均乘以1024,硬件程序上采用邏輯左移10位,低位補0的方式。此時的商是坐標放大1000倍的數(shù)據(jù),最終應用時,再除以1024即可得到帶3位小數(shù)的坐標值,實現(xiàn)了亞像元細分功能。本文中只保留小數(shù)點后兩位有效數(shù)據(jù)。
坐標以幀指令格式通過RS422接口輸出,一幀指令包含8個字節(jié)數(shù)據(jù),有同步頭、行坐標、列坐標、校驗位,波特率230.4 kbps。用戶可通過該接口實時調(diào)整系統(tǒng)的曝光時間、增益等參數(shù)。同時,設計具有一路USB2.0圖像輸出接口,實時顯示目標圖像,可用于觀測和對焦操作。
硬件電路采用5V供電,實測工作電流0.56A,硬件功耗為2.8W。利用上述設計方案,對940nm激光光斑成像效果如圖7所示。光斑邊緣清晰,與背景過度均勻,適合使用閾值分割算法,對光斑進行提取。
圖7 光斑成像效果
在全分辨率條件下,設置復雜背景,對激光光斑成像,實時計算質(zhì)心坐標并輸出,其中圖像右下角為坐標原點,將視頻圖像通過USB2.0高速數(shù)據(jù)接口,傳輸?shù)絇C機軟件顯示,測試結(jié)果如圖8所示。
畫面中激光光斑亮度較高,已呈現(xiàn)飽和狀態(tài),光斑附近及其他部位有若干灰度較高的斑點,模擬雜散光對成像系統(tǒng)的干擾。將鏡頭光圈減小,使成像畫面的亮度降低,避免局部區(qū)域出現(xiàn)過飽和,影響算法對光斑的提取和判斷。
圖8 左下角光斑
為達到較好的檢測效果,針對所用激光中心波長,使用窄帶濾光片和衰減片,使檢測結(jié)果更加精準和穩(wěn)定。最終光斑坐標檢測結(jié)果如表2所示。
表2 坐標輸出結(jié)果
從系統(tǒng)輸出的光斑坐標結(jié)果可以看出,數(shù)據(jù)穩(wěn)定且精度較高,能夠維持小數(shù)點后一位不變,實現(xiàn)了亞像元細分,滿足了設計需求。
質(zhì)心坐標在每個場同步下降沿計算和輸出一次。使用示波器檢測場同步周期,即可得到系統(tǒng)實際輸出速度。將傳感器分辨率設定為256×256 pixels,減少行消隱時間xsm_delay,實測場同步周期縮小到630ms時,系統(tǒng)仍正常工作,此時幀率達1587fps。
實驗結(jié)果表明,傳感器在近紅外波段靈敏度高,在復雜背景條件下光斑成像效果好,質(zhì)心坐標計算精確,實現(xiàn)了亞像元細分。硬件功耗小于3W,系統(tǒng)工作穩(wěn)定可靠。經(jīng)實測在開窗口模式下,坐標計算幀率可達1500fps,具有較高的實用價值。
[1] 陳興美, 嚴壯志. 基于FPGA的紅外光斑中心實時檢測[J]. 紅外與激光工程, 2005(4): 401-405.
CHEN Xingmei, YAN Zhuanzhi. Real-time detection of infrared spot based on FPGA[J]., 2005(4): 401-405.
[2] 向世明, 高教波, 焦明印. 現(xiàn)代光電子成像技術概論[M]. 北京: 北京理工大學出版社, 2010: 155-156, 168-169.
XIANG Shiming, GAO Jiaobo, JIAO Mingyin.[M]. Beijing: Beijing Institute of Technology Press, 2010: 155-156, 168-169.
[3] 胡治國, 何海菠, 范祝軍. 基于FPGA的光斑圖像中值濾波處理[J]. 自動化與儀器儀表, 2013(4): 127-128.
HU Zhiguo, HE Haibo, FAN Zhujun. Median filtering of spot image based on FPGA[C]//, 2013(4): 127-128.
[4] 黃茂祥, 劉允才. 基于FPGA的快速紅外光斑檢測[J]. 微型電腦應用, 2010, 26(10): 54-57.
HUANG Maoxiang, LIU Yuncai. Fast infrared spot detection based on FPGA[J]., 2010, 26(10): 54-57.
[5] 馬利剛, 馬鐵華. 基于FPGA的實時圖像采集系統(tǒng)設計[J]. 計量與測試技術, 2009(4): 51-52, 56.
MA Ligang, MA Tiehua. Design of image sampling system based on FPGA[J]., 2009(4): 51-52, 56.
[6] 白廷柱. 光電成像技術與系統(tǒng)[M]. 北京: 電子工業(yè)出版社, 2016.
BAI Tingzhu.[M]. Beijing: Electronic Industry Press, 2016.
[7] 姚立斌. 低照度CMOS圖像傳感器技術[J]. 紅外技術, 2013, 35(3): 125-132.
YAO Libin. Low-light-level CMOS image sensor technique[J]., 2013, 35(3): 125-132.
[8] 肖鋒鋼, 劉建國, 曾淙泳, 等. 一種新型提高光斑圖像質(zhì)心精度的去噪方法[J].計算機應用研究, 2008(12): 3683-3684, 3687(doi: 10.3969/j.issn.1001-3695.2008.12.046).
XIAO Fenggang, LIU Jianguo, ZENG Congyong, et al. New denosing method for improving speckle image centriod accuracy[J]., 2008(12): 3683-3684, 3687 (doi: 10.3969/ j.issn.1001-3695.2008.12.046).
[9] 樊巧云, 張廣軍. 離散噪聲圖像的光斑質(zhì)心算法及其硬件實現(xiàn)[J]. 光學精密工程, 2011(12): 2992-2998(doi:10.3788/ OPE. 20111912. 2992).
FAN Qiaoyun, ZHANG Guangjun. Spot centroiding algorithm for discrete noise image and its hardware implementation[J]., 2011(12): 2992-2998(doi:10.3788/ OPE. 20111912.2992).
Design of a Laser Spot Centroid Detection System Based on NIR CMOS
WANG Xuesong
(..,100193,)
To meet the requirements of high detection sensitivity, high-precision calculation of spot coordinates, and a calculated output speed greater than 1000 fps, this study introduces a system based on a near-infrared CMOS image sensor to calculate and output centroid coordinates in real time. We employed the NIR detector NOIP1FN1300A of the Python1300 series produced by the company ONsemiconductor to image the laser spot. The Cyclone4 series low-power FPGA was used to drive the sensor and deserialize the sensor output data, and a reliable centroid algorithm was used to calculate the spot coordinates. The results in the output part, USB2.0, and RS422 interfaces were used to output the target image and centroid coordinates in real time. The design has the following advantageous features: 1500 fps real-time processing capacity, a concise software code, accurate calculation of centroid coordinates, and low-power consumption.
image sensor, FPGA, near-infrared, spot coordinates
TN219
A
1001-8891(2021)08-0730-06
2020-12-17;
2021-01-19.
王雪松(1984-),男,天津人,碩士,主要從事遠距離激光夜視系統(tǒng)研發(fā)與設計。E-mail:wangxuesong@glopro.com.cn。