国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA 的微光圖像處理

2022-06-13 16:49:02陳文明
電視技術(shù) 2022年5期
關(guān)鍵詞:夜視直方圖圖像處理

陳文明

(1.中航華東光電有限公司,安徽 蕪湖 241002;2.特種顯示技術(shù)國家工程實驗室,安徽 蕪湖 241002)

0 引 言

目前,像增強(qiáng)器作為主流器件被用于微光夜視系統(tǒng)中,但是隨著CMOS 圖像處理器技術(shù)的不斷發(fā)展和進(jìn)步,尤其是SOI(絕緣襯底硅)、BSI(背照結(jié)構(gòu))等新技術(shù)的出現(xiàn),極大提升了CMOS 圖像處理器的光敏度和成像質(zhì)量。同時,CMOS 技術(shù)兼容性高,具有低電壓驅(qū)動、低功耗、高分辨率的特點,在夜視系統(tǒng)中逐漸被應(yīng)用。但是由于CMOS 圖像處理器中的模擬電路較多,導(dǎo)致電路的一致性很難控制,因此成像圖像的均勻性較差,而且在低照度情況下,底噪聲嚴(yán)重。為了提升最終顯示圖像的效果,需要根據(jù)CMOS 圖像處理器在低照度下輸出圖像的特點,針對性地進(jìn)行圖像處理[1]。本文采用現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)作為圖像處理的主控制器,實現(xiàn)CMOS 的驅(qū)動、圖像的采集、壞點的矯正、噪聲的去除以及圖像增強(qiáng)等圖像處理操作,保證微光系統(tǒng)能夠輸出干凈、清晰、對比度高的視頻圖像。

1 微光圖像處理系統(tǒng)硬件組成

微光圖像處理系統(tǒng)的硬件電路部分如圖1 所示,由CMOS 傳 感器、FPGA、SRAM、DVI 編碼器、通信接口以及各個電源模塊組成。CMOS 傳感器是微光視頻的采集終端,對微弱的光信號進(jìn)行采集、放大、數(shù)模轉(zhuǎn)化及讀出等操作,實現(xiàn)光電轉(zhuǎn)化的功能,并將采集的視頻按一定的視頻格式傳輸給FPGA,以進(jìn)行下一步的處理和控制[2]。FPGA 是主控制模塊,負(fù)責(zé)電路的總體控制、視頻接口的實現(xiàn)以及針對視頻數(shù)據(jù)進(jìn)行降噪、增強(qiáng)處理;SRAM 是視頻數(shù)據(jù)的存儲模塊,配合相應(yīng)的視頻處理算法,實現(xiàn)需要數(shù)據(jù)的讀寫控制操作;DVI 編碼芯片負(fù)責(zé)數(shù)字視頻信號向DVI 信號的轉(zhuǎn)化,主要完成DVI 編碼;通信方式采用RS-422 接口,主要完成對微光夜視儀的控制以及工作狀態(tài)的反饋。

圖1 電路整體框圖

2 微光圖像處理算法的FPGA 實現(xiàn)

2.1 FPGA 視頻處理架構(gòu)

本文采用的CMOS 圖像傳感器的分辨率為1 920×1 080,需要處理的數(shù)據(jù)量非常大,而且要求具有實時顯示的功能,通過軟件中斷很難實現(xiàn)。而FPGA 是一種并行架構(gòu),通過Verilog DHL 或者VHDL 語言描述的電路,被編譯成具體的數(shù)字電路在FPGA 內(nèi)部并行運(yùn)行,所以使用FPGA 來處理數(shù)字圖像,具有吞吐量大、處理速度快的特點。因此,本文的夜視圖像處理系統(tǒng)的主控制器選用的是Xilinx 公司的Artix 7 系列FPGA。FPGA 主要實現(xiàn)的功能有采集移動產(chǎn)業(yè)處理器接口(Mobile Industry Processor Interface,MIPI)信號轉(zhuǎn)化為數(shù)字信號以便后續(xù)模塊的處理,由于CMOS 圖像傳感器以MIPI接口輸出視頻信號,通過FPGA 的LVDS 接口搭配外圍的電阻網(wǎng)絡(luò)將MIPI 信號進(jìn)行轉(zhuǎn)化;CMOS 上電后需要對其內(nèi)部寄存器進(jìn)行配置,使其進(jìn)入正常的工作模式,同時在使用過程中,需要根據(jù)環(huán)境調(diào)整相關(guān)參數(shù),來使CMOS 適應(yīng)外部環(huán)境,使其工作在最佳狀態(tài)。CMOS 輸入的信號在照度極低的情況下會產(chǎn)生嚴(yán)重的噪聲,通過相應(yīng)的算法將其去除;由于低照度圖像的灰度較低,圖像總體的對比度較低,不易于人眼識別,所以要對去噪后的圖像進(jìn)行灰度拉升,提升對比度,即增強(qiáng)處理[3]。FPGA 內(nèi)部主要的功能框圖如圖2 所示。

圖2 FPGA 內(nèi)部功能模塊

2.2 FPGA 代碼實現(xiàn)

2.2.1 壞點矯正

CMOS 圖像傳感器上有呈陣列排列的像素點。每個像素點是一個感光單元,根據(jù)光強(qiáng)將光信號轉(zhuǎn)化為電信號,被像素下的采樣電路接收和轉(zhuǎn)化。由于像素陣列在制作過程中存在工藝上的差異,或者在光信號轉(zhuǎn)化電信號的過程中出現(xiàn)錯誤,都會造成輸出圖像上的像素信息出現(xiàn)錯誤。直觀的表現(xiàn)是壞點的灰度與周圍的像素點不一致,存在很大的差別,一般為亮點或是暗點,這樣的點就被稱作壞點。在壞點尺寸不是很大的情況下,可以通過算法對圖像進(jìn)行修復(fù)[4]。

以圖3 所示的壞點矯正區(qū)域為例,在3×3 的區(qū)域內(nèi),通過比較算出區(qū)域中最大值Pmax,次大值Pmax1,最小值Pmin,第二小值Pmin1以及此區(qū)域的平均亮度Pyav。根據(jù)數(shù)據(jù)之間的關(guān)系,判斷當(dāng)前點是否為壞點。如果是,就用區(qū)域內(nèi)相互差異最小的兩個點的均值來替代壞點的值。壞點矯正分為3 種情況。

圖3 壞點矯正3×3 區(qū)域

(1)對于亮點的矯正。當(dāng)同時滿足|Pmax-P11|≥Th,|Pmax1-P11|≥Th,|4×(Pmax-Pmax1)|<|Pmax1-Pyav|。

(2)對于暗點的矯正。當(dāng)同時滿足|P11-Pmin|≥Th,|P11-Pmin1|≥Th,|4×(Pmin1-Pmin)|<|Pyav-Pmin1|。

(3)如果P11是壞點,就要用3×3 區(qū)域內(nèi)差異最小的兩個點的均值來替代;否者,輸出P11。

壞點校正模塊框圖如圖4 所示,其中l(wèi)ine_sram模塊是行緩存器,3 個line_sram 一起得到一個3×3 區(qū)域。badpix_control 模塊對3×3 個數(shù)據(jù)進(jìn)行判斷和運(yùn)算,判斷當(dāng)前數(shù)據(jù)是否為壞點。如果是,用計算數(shù)值替代,反之,直接輸出[5]。

圖4 壞點校正模塊框圖

2.2.2 視頻去噪

CMOS 圖像傳感器由于其自身特點,在低照度成像難免會出現(xiàn)各種噪聲,主要包括暗電流散射的噪聲、暗電流復(fù)位噪聲、放大器噪聲以及光散射噪聲等。這些噪聲讓圖像處理變得異常復(fù)雜,所以在進(jìn)行進(jìn)一步處理之前要對視頻圖像進(jìn)行去噪。常見的去噪方式有中值濾波、均值濾波以及高斯濾波,還有機(jī)遇時間域的幀間平均濾波。結(jié)合夜視圖像的噪聲特點,本文設(shè)計一種改進(jìn)的雙邊濾波算法,能夠有效地去除夜視圖像的噪聲,對圖像的邊緣和細(xì)節(jié)保護(hù),而且不需要延時,實時性好。

雙邊濾波的數(shù)學(xué)表達(dá)式為:

式中:g(x,y)表示處理后數(shù)據(jù),f(i,j)表示原始圖像,ω(i,j)為加權(quán)系數(shù),ωs(i,j)為距離對應(yīng)的加權(quán)系數(shù),ωr(i,j)為數(shù)值對應(yīng)的加權(quán)系數(shù)。

考慮到算法的實時性和FPGA 的運(yùn)行速率,以上電路采用流水線方式實現(xiàn),在各個運(yùn)算節(jié)點處需要插入觸發(fā)器,注意ω(i,j)結(jié)束時間和f*w 的時間不在同一時刻,需要對ω(i,j)輸出進(jìn)行相應(yīng)延時以和f*w 匹配。f*w 與ω(i,j)經(jīng)過FPGA 自帶的除法器計算,得到此區(qū)域的濾波后數(shù)據(jù)。算法效果如圖6 所示,圖像中的噪聲部分被濾除,線條的邊緣銳度變化較小。

圖5 算法計算電路

圖6 算法效果對比圖

2.2.3 視頻增強(qiáng)

夜視圖像的灰度級都集中在較小的區(qū)間,而正常亮度下的圖像灰度值在直方圖中呈現(xiàn)均勻分布的狀態(tài)。為了提升圖像的對比度,需要對其進(jìn)行增強(qiáng)處理。自適應(yīng)直方圖均衡(Adaptive Histgram Equalization,AHE)是一種比較適合在FPGA 中實現(xiàn)的算法。本文采用此算法進(jìn)行圖像的增強(qiáng)處理,來達(dá)到擴(kuò)大局部對比度、平滑區(qū)域細(xì)節(jié)的作用。直方圖均衡化的數(shù)學(xué)表達(dá)式為其中,k為灰度級,N為一幅圖像的像素總點數(shù)。

在FPGA 中實現(xiàn)自適應(yīng)直方圖均衡,需要進(jìn)行兩步操作。首先,對整幅圖像中的灰度進(jìn)行統(tǒng)計,計算其出現(xiàn)的概率;然后計算每一個灰度級的累積分布函數(shù);最后在下一幀通過累積分布函數(shù)計算輸入圖像的值,實現(xiàn)圖像的增強(qiáng)。

如圖7 所示,自適應(yīng)直方圖均衡模塊由fifo、雙口ram1、雙口ram2、SRAM_CTRL 以及CDF_cal 控制模塊組成。電路工作過程如下。

圖7 自適應(yīng)直方圖均衡電路

當(dāng)檢測到VS 信號下降沿,對fifo 進(jìn)行復(fù)位,同時啟動對his_ram1 內(nèi)部數(shù)據(jù)的清零。因為新的一幀圖像的直方圖數(shù)據(jù)會有差異,需要清零,重新記錄。雙口his_ram1 的端口A 為數(shù)據(jù)寫入端,端口B 為數(shù)據(jù)讀出端。直方圖計算需要先從對應(yīng)的地址讀出數(shù)據(jù),再將數(shù)據(jù)自增1,并寫回his_ram1 的原地址。也就是說,一個新像素的直方圖計算至少要3 個像素時鐘。為了保證數(shù)據(jù)流的連續(xù)性,需要在輸入視頻數(shù)據(jù)和直方圖計算模塊之間加入緩存。本文采用fifo 進(jìn)行緩存。當(dāng)新的一幀視頻數(shù)據(jù)輸入后,在像素時鐘和DEN 信號的控制下,將數(shù)據(jù)寫入到fifo 中進(jìn)行緩存。直方圖計算模塊監(jiān)控到fifo 的empty 信號為0 時,從fifo 讀出數(shù)據(jù),讀出時鐘頻率是像素時鐘的3 倍。整個控制流程的狀態(tài)轉(zhuǎn)化如圖8 所示。

圖8 直方圖計算的狀態(tài)轉(zhuǎn)換圖

上電后,程序首先進(jìn)入Idle 狀態(tài),當(dāng)vs 信號出現(xiàn)低電平時vs_neg=’1’,狀態(tài)跳轉(zhuǎn)到ini_ram,在此狀態(tài)現(xiàn)實對雙口ram 的清零,地址從0 ~255 自增,對應(yīng)地址的數(shù)據(jù)為0。當(dāng)?shù)刂穉ddr=255 時,ram 清零完成,狀態(tài)切換到wait_data 狀態(tài)。在wait_data狀態(tài)監(jiān)控fifo 的empty 信號狀態(tài),當(dāng)empty=’0’,從fifo 讀取數(shù)據(jù),并跳轉(zhuǎn)到rd_his 狀態(tài)。在rd_his狀態(tài),以從fifo 讀到的數(shù)據(jù)作為ram 的讀地址,從此地址讀取數(shù)據(jù),并且將數(shù)據(jù)加1,同時跳轉(zhuǎn)到wr_his狀態(tài)。在wr_his 狀態(tài)將自增后的數(shù)據(jù)寫回到讀出地址,并回到wait_data 狀態(tài),這樣就完成了一個像素的統(tǒng)計。如此循環(huán)往復(fù),直到一幀數(shù)據(jù)全部統(tǒng)計完,在wait_data 狀態(tài)同時滿足empty=’1’和field_over =’1’,完成一幀數(shù)據(jù)統(tǒng)計,返回到idle 狀態(tài),等待新一幀數(shù)據(jù)的統(tǒng)計。

完成一幀數(shù)據(jù)的直方圖統(tǒng)計之后,開始計算這一幀的CDF 值。計算方式與直方圖計算類似,從his_ram1 循環(huán)讀取0 ~255 地址的數(shù)據(jù),并將當(dāng)前地址的數(shù)據(jù)與其前所有地址的數(shù)據(jù)相加,將相加結(jié)果寫到his_ram2 對應(yīng)的地址,直到地址達(dá)到255,計算完成。

由于直方圖統(tǒng)計需要對一幀的所有數(shù)據(jù)進(jìn)行統(tǒng)計,為了將計算的結(jié)果與對應(yīng)的統(tǒng)計幀對應(yīng)起來,需要將統(tǒng)計幀進(jìn)行緩存,等計算繼續(xù)后,在下一幀統(tǒng)計的過程中,按一定視頻時序從SRAM 中取出,并在his_ram2 中進(jìn)行查表,得到增強(qiáng)后的像素值??紤]到計算的方便,在最后輸出視頻的時候,對數(shù)據(jù)進(jìn)行固定除數(shù)(除數(shù)為一幀圖像的總點數(shù))的除法計算,商即為最終輸出像素數(shù)據(jù)。采用以上方法得到的圖像增強(qiáng)效果如圖9 所示。

圖9 自適應(yīng)直方圖均衡后對比

3 夜視效果驗證

為了驗證夜視圖像處理的效果,改進(jìn)現(xiàn)有微光相機(jī)的FPGA 代碼,增加了壞點校正、視頻去噪以及視頻增強(qiáng)算法。在夜晚環(huán)境照度5.4×10-4lx 下,對同一地點進(jìn)行拍攝,通過監(jiān)視器觀察顯示效果如圖10 所示。其中,左邊為原始效果,右邊為處理后的效果??梢钥闯?,處理后的圖像清晰,邊緣輪廓分明,對比度范圍寬??傮w而言,經(jīng)過本文算法聯(lián)合處理后,夜視視頻圖像的質(zhì)量得到明顯改善,圖像中的細(xì)節(jié)清晰,所含噪聲較少,同時,視頻圖像的總體亮度有提升,灰度之間的差異被拉開。對比度提升,能明顯識別感興趣區(qū)域,而且處理后視頻更適合人眼的視覺觀察效果。

圖10 夜視視頻圖像處理前后效果對比

4 結(jié) 語

本文針對夜視CMOS 圖像傳感器的特點,研究了針對其圖像質(zhì)量提升的方法。首先對微光夜視系統(tǒng)的硬件組成進(jìn)行介紹,進(jìn)一步分析了基于FPGA的圖像處理的架構(gòu),并且對具體的處理模塊進(jìn)行了詳細(xì)的介紹,在理論分析的基礎(chǔ)上,介紹了其在FPGA 中的詳細(xì)實現(xiàn)過程和具體電路。本文主要論述了CMOS 圖像傳感器的壞點矯正、視頻圖像的噪聲去除以及視頻圖像增強(qiáng)算法的FPGA 實現(xiàn)。最后通過夜晚戶外實驗來檢驗算法的有效性。通過實驗對比,結(jié)果表明本文的算法能夠有效改善夜視視頻圖像質(zhì)量,能夠提升圖像細(xì)節(jié),減少噪聲,提升對比度,使得處理后的視頻更適合人眼觀察。

猜你喜歡
夜視直方圖圖像處理
統(tǒng)計頻率分布直方圖的備考全攻略
符合差分隱私的流數(shù)據(jù)統(tǒng)計直方圖發(fā)布
用直方圖控制畫面影調(diào)
夜視無人機(jī)研發(fā)及巡檢勘災(zāi)應(yīng)用
電子測試(2018年22期)2018-12-19 05:13:02
機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:20
模糊圖像處理,刑事偵查利器
圖像處理技術(shù)的實戰(zhàn)應(yīng)用
夜視眼藥水,讓你擁有一雙“夜視眼”
軍事文摘(2016年24期)2016-12-10 02:49:02
夜視能力藥水
基于直方圖平移和互補(bǔ)嵌入的可逆水印方案
南岸区| 开原市| 松桃| 上蔡县| 凤翔县| 大厂| 潼南县| 南汇区| 抚州市| 盐山县| 龙南县| 尼勒克县| 樟树市| 上林县| 越西县| 南宫市| 二连浩特市| 天峨县| 中宁县| 双流县| 博罗县| 北海市| 炉霍县| 华池县| 绿春县| 揭西县| 金山区| 思茅市| 长沙县| 普兰店市| 聂荣县| 吴江市| 洛浦县| 梅河口市| 嘉峪关市| 缙云县| 宜君县| 桑日县| 宜章县| 平武县| 方城县|