張延蘇,吳瀅躍
基于FPGA的紅外弱小目標(biāo)檢測算法
張延蘇1,2,吳瀅躍1,3
(1. 中國科學(xué)院上海技術(shù)物理研究所,上海 200083;2. 中國科學(xué)院大學(xué),北京 100049;3. 中國科學(xué)院紅外探測與成像技術(shù)重點(diǎn)實(shí)驗(yàn)室,上海 200083)
傳統(tǒng)的紅外弱小目標(biāo)檢測算法一般采用DSP(digital signal processing)處理器實(shí)現(xiàn),算法復(fù)雜且實(shí)時(shí)性差,本文提出了一種基于FPGA(field programmable gate array)的自適應(yīng)閾值的FAST(features from accelerated segment test)算法對紅外弱小目標(biāo)進(jìn)行檢測,利用FPGA并行處理的特點(diǎn),采用流水線設(shè)計(jì)實(shí)現(xiàn)了算法的硬件加速。改進(jìn)的自適應(yīng)閾值方法可以根據(jù)不同的環(huán)境生成合適的閾值,避免了由于閾值選擇不當(dāng)造成的紅外弱小目標(biāo)的丟失或冗余。最后采用4組不同的實(shí)測紅外圖像進(jìn)行實(shí)驗(yàn),結(jié)果表明:該算法能實(shí)時(shí)地檢測出紅外圖像中的弱小目標(biāo),并且能夠取得較高的檢測率和較低的虛警率,滿足實(shí)時(shí)性和有效性的要求。
弱小目標(biāo)檢測;FPGA;FAST;自適應(yīng)閾值
遠(yuǎn)距離目標(biāo)在紅外探測器的視場中經(jīng)常以弱小目標(biāo)形態(tài)出現(xiàn),與背景灰度差異很小,含有少量的像素[1-2]。實(shí)時(shí)、準(zhǔn)確地檢測出紅外弱小目標(biāo)具有較大難度,目前的紅外弱小目標(biāo)檢測算法多是在DSP處理器中順序執(zhí)行[3-5],且算法復(fù)雜、需要利用多幀圖像才可以得出紅外小目標(biāo)檢測結(jié)果[6-8],難以滿足實(shí)時(shí)性要求。
FPGA是可編程硅芯片,內(nèi)含豐富資源,同一時(shí)刻可以進(jìn)行多個(gè)算法處理[9-10],這些特點(diǎn)使其很適合用來做實(shí)時(shí)性圖像處理。FAST目標(biāo)點(diǎn)檢測算法結(jié)構(gòu)簡單,具有較高的運(yùn)行速度和較準(zhǔn)確的檢測結(jié)果[11],但是檢測結(jié)果依賴于閾值的取值[12-13],適應(yīng)性較差。因此本文設(shè)計(jì)了一種基于FPGA的自適應(yīng)FAST紅外弱小目標(biāo)檢測算法,通過實(shí)驗(yàn)驗(yàn)證,該算法運(yùn)算量小、檢測率高、實(shí)時(shí)性和適應(yīng)性好。
FAST檢測算法的思想為[14-16]:以一個(gè)中心像素點(diǎn)為圓心,半徑為3的圓周上為鄰域像素點(diǎn),若中心像素點(diǎn)與圓周上足夠多的像素點(diǎn)的像素差值大于設(shè)定閾值,那該中心像素點(diǎn)更可能是亮點(diǎn),具體如圖1所示。
圖1 FAST目標(biāo)點(diǎn)檢測
基于該FAST檢測算法思想,本文提出了自適應(yīng)閾值的FAST弱小目標(biāo)檢測算法,一幀紅外圖像的任意一個(gè)像素點(diǎn)為中心時(shí),生成一個(gè)合適的動(dòng)態(tài)閾值對該中心像素點(diǎn)進(jìn)行FAST目標(biāo)檢測。改進(jìn)后的算法步驟如下:
第1步:首先求出圖1中16個(gè)圓周像素點(diǎn)中的最小像素值min,然后將中心點(diǎn)像素值0與16個(gè)圓周上的像素值分別減去min,如公式(1)所示,構(gòu)成新的FAST鄰域像素值0¢~16¢。該步的處理降低了像素值位數(shù),為后續(xù)計(jì)算減少了運(yùn)算量,節(jié)省了FPGA資源。
P¢=P-min(0≤≤16) (1)
第2步:求該中心點(diǎn)下的自適應(yīng)閾值。首先分別求出1¢~16¢中的最大像素值¢max、像素均值¢mean,再求出中心點(diǎn)像素值0¢與該均值的差P¢,然后給P¢一個(gè)權(quán)重,權(quán)重為¢max與0¢之比,最后該權(quán)重與P¢相乘即為該中心點(diǎn)的自適應(yīng)閾值,具體如公式(2)、(3)所示:
第3步:分別計(jì)算中心點(diǎn)像素值0¢與鄰域像素值1¢~16¢的差,若它們的差值有連續(xù)16個(gè)大于自適應(yīng)閾值,則判定為候選目標(biāo)點(diǎn),否則直接排除掉,具體如公式(4)所示:
第4步:進(jìn)行非極大值抑制。若圖1內(nèi)中心點(diǎn)的3×3鄰域內(nèi)有一個(gè)或多個(gè)候選目標(biāo)點(diǎn)時(shí),則選取該3×3鄰域中像素值最大的點(diǎn)作為最終檢測目標(biāo)點(diǎn)。更改中心像素點(diǎn)重復(fù)步驟1~4完成一幀圖像的弱小目標(biāo)檢測。
紅外相機(jī)采集的視頻圖像幀頻為100Hz,分辨率為640×512,由Camera Link總線輸入,經(jīng)過DS90CR288轉(zhuǎn)換為TTL標(biāo)準(zhǔn)的圖像,然后FPGA對圖像進(jìn)行采集,采集到的圖像分兩路操作:第1路直接在FPGA控制下按圖2中的時(shí)序輸出640×512大小的TTL標(biāo)準(zhǔn)的圖像信號(hào),經(jīng)過DS90CR287轉(zhuǎn)換為Camera Link標(biāo)準(zhǔn)的圖像數(shù)據(jù)后輸出,第2路采用自適應(yīng)FAST算法進(jìn)行小目標(biāo)檢測,將檢測為小目標(biāo)的位置信息存儲(chǔ)到RAM中,作為一幀圖像的第513行輸出,即最后以640×513大小輸出,輸出時(shí)序如圖3所示。整個(gè)FPGA內(nèi)的數(shù)據(jù)流架構(gòu)如圖4所示。
圖2 第1路輸出時(shí)序圖
圖3 第2路輸出時(shí)序圖
硬件實(shí)現(xiàn)方法分5個(gè)模塊:7×7窗口產(chǎn)生模塊、預(yù)處理模塊、自適應(yīng)閾值模塊、FAST檢測與目標(biāo)判定模塊、非極大值抑制模塊。具體實(shí)現(xiàn)電路如圖5所示,在輸入使能信號(hào)per_en上升沿時(shí)計(jì)數(shù)器計(jì)數(shù)生成當(dāng)前輸入像素點(diǎn)的、坐標(biāo)。最終輸出目標(biāo)點(diǎn)的位置信息_out、_out和使能信號(hào)post_en。使能信號(hào)post_en連接RAM的寫使能,當(dāng)post_en有效時(shí),將目標(biāo)的坐標(biāo)信息_out,_out寫入RAM。下面對預(yù)處理模塊、自適應(yīng)閾值模塊、FAST檢測與目標(biāo)判定模塊進(jìn)行詳細(xì)介紹。
2.2.1 預(yù)處理模塊
該模塊首先求出輸入的16個(gè)FAST鄰域像素值中的最大值、最小值。然后比較輸入的中心點(diǎn)像素值與最大值關(guān)系,若中心點(diǎn)像素值大于鄰域像素值中的最大值,則中心點(diǎn)可能是目標(biāo)點(diǎn),sel置為1,輸出的中心點(diǎn)像素值及FAST鄰域像素值分別是各自減去鄰域像素中最小值后的結(jié)果;否則中心點(diǎn)不是目標(biāo)點(diǎn),sel置為0,輸出的中心點(diǎn)像素值及FAST鄰域像素值均為1,具體如圖6所示,其中最大值和最小值的計(jì)算采用4級(jí)流水線,消耗4個(gè)時(shí)鐘周期。
2.2.2 自適應(yīng)閾值模塊
該模塊根據(jù)公式(2)、(3)產(chǎn)生自適應(yīng)閾值,具體如圖7所示。求均值時(shí)先采用4級(jí)流水線求出16個(gè)FAST鄰域像素點(diǎn)的和,然后將求出的和右移4位得到均值。
圖4 系統(tǒng)硬件結(jié)構(gòu)框圖
Fig.4 System hardware structure diagram
圖5 自適應(yīng)FAST算法實(shí)現(xiàn)電路圖
圖6 預(yù)處理模塊實(shí)現(xiàn)電路圖
圖7 自適應(yīng)閾值模塊實(shí)現(xiàn)電路圖
2.2.3 FAST檢測與目標(biāo)判定模塊
該模塊按照公式(4)進(jìn)行目標(biāo)檢測與判定,如圖8所示,通過16組并行的硬件同時(shí)進(jìn)行比較,最后根據(jù)16位比較值判斷是否為目標(biāo)點(diǎn),若比較值的16位均為1,則判定為目標(biāo)點(diǎn),post_en置1;否則判定為非目標(biāo)點(diǎn),post_en置0。
圖8 FAST檢測與目標(biāo)判定模塊實(shí)現(xiàn)電路圖
為了驗(yàn)證算法有效性,輸入4組分辨率為640×512像素,采集幀數(shù)為100幀的紅外視頻圖像進(jìn)行實(shí)驗(yàn),第1組是海、天、地復(fù)雜背景下的雙目標(biāo)紅外序列圖像(共200個(gè)目標(biāo)),第2組是海、天、地復(fù)雜背景下的雙目標(biāo)紅外序列圖像(共200個(gè)目標(biāo)),第3組是薄云背景下的單目標(biāo)紅外序列圖像(共100個(gè)目標(biāo)),第4組是厚云背景下的單目標(biāo)紅外序列圖像(共100個(gè)目標(biāo))。圖9表示的是隨機(jī)從4組圖像序列中各抽取一幀圖像的弱小目標(biāo)檢測結(jié)果。
采用檢測率和虛警率對本文的弱小目標(biāo)檢測算法性能進(jìn)行評(píng)價(jià),檢測率和虛警率定義如下:
FR=a/b(5)
FAR=f/(f+b) (6)
式中:a表示算法中檢測出的真實(shí)弱小目標(biāo)個(gè)數(shù);b表示圖像中實(shí)際的真實(shí)弱小目標(biāo)個(gè)數(shù);f表示算法中檢測出的虛假弱小目標(biāo)個(gè)數(shù)。
分別計(jì)算每組中每一幀圖像的檢測率和虛警率,然后取100幀的平均值。實(shí)驗(yàn)結(jié)果如表1所示,從表1可看出,本文設(shè)計(jì)的算法在較低虛警率下可以滿足100%的檢測率。
在FPGA(型號(hào)為xc6slx100t-3fgg484)和DSP(型號(hào)為TMS320C6455)上分別采用本文的算法處理分辨率為640×512的圖像。若采用FPGA處理,系統(tǒng)時(shí)鐘為100MHz,從一幀圖像輸入開始到算法檢測完該幀圖像結(jié)束的總時(shí)間為3276.97ms,其中圖像的輸入時(shí)間為3276.80ms,處理延時(shí)時(shí)間為0.17ms。若采用DSP處理,主頻為1GHz,從一幀圖像輸入開始到檢測完該幀圖像結(jié)束的總時(shí)間約為7224.03ms,其中圖像輸入時(shí)間為3276.80ms,處理延時(shí)為3947.23ms??芍?,F(xiàn)PGA在總時(shí)間性能上約為DSP的2.20倍,在處理延時(shí)時(shí)間性能上約為23219倍。具體如表2所示。
表1 算法檢測結(jié)果
表2 算法實(shí)時(shí)性說明
結(jié)合工程實(shí)際的需要,本文設(shè)計(jì)了一種基于FPGA的自適應(yīng)FAST紅外弱小目標(biāo)檢測算法,充分利用FPGA并行處理的優(yōu)勢,提高了算法的運(yùn)算速度,滿足實(shí)時(shí)性要求。同時(shí)采用自適應(yīng)閾值的方法進(jìn)行紅外弱小目標(biāo)檢測,根據(jù)不同的FAST鄰域生成合適的動(dòng)態(tài)閾值,適應(yīng)性好,滿足系統(tǒng)有效性與可靠性的要求。
[1] 汪國有, 陳振學(xué), 李喬亮. 復(fù)雜背景下紅外弱小目標(biāo)檢測的算法研究綜述[J]. 紅外技術(shù), 2006, 28(5): 287-292.
WANG Gouyou, CHEN Zhenxue, LI Qiaoliang. A review of infrared Weak and Small Targets Detection under Complicated Background[J]., 2006, 28(5): 287-292.
[2] 劉杰, 安博文. 海面紅外小目標(biāo)檢測算法研究[J]. 紅外技術(shù), 2015, 37(1): 16-19.
LIU Jie, AN Bowen. Research on the detection algorithm for infrared small target on the sea[J]., 2015, 37(1): 16-19.
[3] 李勝勇, 姜濤, 朱強(qiáng)華. 紅外序列圖像中小目標(biāo)實(shí)時(shí)檢測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 紅外技術(shù), 2010, 32(8): 471-474.
LI Shengyong, JIANG Tao, ZHU Qianghua. Design and implement a real-time system for small target detection in infrared image sequence[J]., 2010, 32(8): 471-474.
[4] 牟新剛, 張桂林, 丁全心, 等. 基于DSP+FPGA的紅外多目標(biāo)檢測系統(tǒng)設(shè)計(jì)[J]. 紅外與激光工程, 2007, 36(S2): 173-176.
MOU Xingang, ZHANG Guilin, DING Quanxin, et al. Design of infrared multi-target detection system based on DSP+FPGA[J]., 2007, 36(S2): 173-176.
[5] 康令州, 陳福深, 黃自力, 等. 基于DSP+FPGA的紅外圖像小目標(biāo)檢測系統(tǒng)設(shè)計(jì)[J]. 電子設(shè)計(jì)工程, 2010, 18(12): 117-119.
KANG Lingzhou, CHEN Fushen, HUANG Zili, et al. Design of small target detection system in infrared image based on DSP and FPGA[J]., 2010, 18(12): 117-119.
[6] 徐文晴, 王敏. 基于自適應(yīng)形態(tài)學(xué)濾波的紅外小目標(biāo)檢測算法[J].激光與紅外, 2017(1): 108-113.
XU Wenqing, WANG Min. Infrared small target detection algorithm based on adaptive morphology filter[J]., 2017(1): 108-113.
[7] 張祥越, 丁慶海, 羅海波, 等. 基于改進(jìn)LCM的紅外小目標(biāo)檢測算法[J]. 紅外與激光工程, 2017, 46(7): 270-276.
ZHANG Xiangyue, DING Qinghai, LUO Haibo, et al. Infrared dim target detection algorithm based on improved LCM[J]., 2017, 46(7): 270-276.
[8] BAI X, ZHOU F. Analysis of new top-hat transformation and the application for infrared dim small target detection[J]., 2010, 43(6): 2145-2156.
[9] 劉源, 李慶, 梁艷菊. 基于FPGA的紅外目標(biāo)自動(dòng)檢測系統(tǒng)[J]. 紅外技術(shù), 2019, 41(6): 521-526.
LIU Yuan, LI Qing, LIANG Yanju. Implementation of infrared target detection system based on FPGA[J]., 2019, 41(6): 521-526.
[10] 楊魯新, 董文博. 高幀頻視覺實(shí)時(shí)目標(biāo)檢測系統(tǒng)[J]. 電子技術(shù)應(yīng)用, 2019, 45(4): 116-119,124.
YANG Luxin, DONG Wenbo. High-frame-rate visual real-time target detection system[J]., 2019, 45(4): 116-119,124.
[11] Rosten E, Drummond T. Machine learning for high-speed corner detection[C]//, 2006: 430-443.
[12] 劉亮, 王平, 孫亮. 基于區(qū)域灰度變化的自適應(yīng)FAST角點(diǎn)檢測算法[J]. 微電子學(xué)與計(jì)算機(jī), 2017, 34(3): 20-24.
LIU Liang, WANG Ping, SUN Liang. Adaptive FAST corner detection algorithm based on regional grayscale change[J]., 2017, 34(3): 20-24.
[13] 程彪, 黃魯. 自適應(yīng)閾值FAST特征點(diǎn)檢測算法的FPGA實(shí)現(xiàn)[J]. 信息技術(shù)與網(wǎng)絡(luò)安全, 2018, 37(10): 86-90.
CHEN Biao, HUANG Lu. Hardware implementation of adaptive threshold FAST feature point detection algorithm based on FPGA[J]., 2018, 37(10): 86-90.
[14] Rosten E, Porter R, Drummond T. Faster and better: a machine learning approach to corner detection[J].., 2008, 32(1): 105-119.
[15] Rublee E, Rabaud V, Konolige K, et al. ORB: An efficient alternative to SIFT or SURF[C]//2011, 2011: 2548-2555.
[16] 吳金津, 王鵬程, 龍永新, 等. 基于FAST角點(diǎn)檢測的圖像配準(zhǔn)算法[J]. 湖南工業(yè)大學(xué)學(xué)報(bào), 2014, 28(4): 71-75.
WU Jinjin, WANG Pengcheng, LONG Yongxin, et al. Image registration algorithm based on fast corner detection[J]., 2014, 28(4): 71-75.
Detection Algorithm of Infrared Dim Small Target Based on FPGA
ZHANG Yansu1,2,WU Yingyue1,3
(1.,200083,;2.,100049,;3.,,200083,)
The traditional infrared dim and small target detection algorithm is generally implemented by digital signal processing, which is complex and has poor real-time performance. In this study, a features from accelerated segment test (FAST) adaptive-threshold algorithm based on a field programmable gate array (FPGA) is proposed to detect infrared dim and small targets. Based on the characteristics of FPGA parallel processing, the hardware acceleration of the algorithm was realized by a pipeline design. The improved adaptive threshold method can generate appropriate thresholds according to different environments and avoid the loss or redundancy of dim and small infrared targets that is caused by improper threshold selection. Finally, two different groups of infrared images were used for an experiment.The results show that the algorithm can detect dim and small targets in an infrared image in real time and can achieve a high detection rate and low false alarm rate, thereby meeting the requirements of real-time performance and effectiveness.
dim and small target detection, FPGA, FAST, adaptive threshold
TP391.41
A
1001-8891(2020)06-0566-07
2019-12-17;
2020-04-25.
張延蘇(1993-),女,河北人,碩士研究生,主要方向:圖像處理和目標(biāo)檢測。E-mail:issuyanzhang@163.com。
吳瀅躍(1980-),男,浙江人,博士(副研究員),主要方向:信號(hào)處理、紅外成像、目標(biāo)檢測、伺服控制、光電對抗。E-mail:wyyhit@163.com。