《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 激光探測器光斑質(zhì)心算法硬件設(shè)計
激光探測器光斑質(zhì)心算法硬件設(shè)計
2018年電子技術(shù)應(yīng)用第2期
李榮翠
貴州大學(xué) 大數(shù)據(jù)信息與工程學(xué)院,貴州 貴陽550000
摘要: 針對計算機(jī)在接收工業(yè)高清相機(jī)通過圖像采集卡傳輸?shù)膱D像數(shù)據(jù)進(jìn)行信號處理運算的低速與單一性,設(shè)計一款相機(jī)控制器,該控制器在設(shè)備端與相機(jī)通過Camera Link電纜連接,利用可編程邏輯(FPGA)進(jìn)行圖像采集和算法實現(xiàn),將原先運行于計算機(jī)的算法移植到該設(shè)備中,處理完成的數(shù)據(jù)通過以太網(wǎng)發(fā)送給計算機(jī)。與原始方法相比,該方法充分利用了FPGA對信號的高速并行處理能力,能夠完成每秒300幀圖像傳輸?shù)耐瑫r,實時提取每幀圖像的質(zhì)心坐標(biāo)供計算機(jī)使用,對計算機(jī)的配置不需高要求。該方法為控制接收多臺相機(jī)數(shù)據(jù)并同時進(jìn)行信號處理提供了有效途徑。
中圖分類號: TP391.8
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.172828
中文引用格式: 李榮翠. 激光探測器光斑質(zhì)心算法硬件設(shè)計[J].電子技術(shù)應(yīng)用,2018,44(2):13-15,19.
英文引用格式: Li Rongcui. The hardware design of light spot center of mass algorithm for laser detector[J]. Application of Electronic Technique,2018,44(2):13-15,19.

The hardware design of light spot center of mass algorithm for laser detector
Li Rongcui
Guizhou University,Academy of Big Data Information and Engineering,Guiyang 550000,China
Abstract: The paper puts forward to design a camera controller in view of the computer at the receiving industrial high-definition camera through the image acquisition card transmission of image data signal processing operation of low speed and oneness. The controller connects with the camera through the Camera Link cable at the device end, makes use of FPGA(Field Programmable Gate Array) for image acquisition and algorithm implementation. Algorithms run on the computer is transplanted into the equipment, process the completed data is sent to the computer via Ethernet.Compared with the original method, the method can make full use of the FPGAto the signal of high speed parallel processing ability and is able to complete the image transmission of 300 frames per second, real-time extraction of each frame image centroid coordinates for the use of computer at the same time, the high demand of configuration of the computer is not required.The method provides a effective way for control of receiving more camera data and simultaneously to signal processing.
Key words : camera controller;algorithm;programmable logic;image

0 引言

    在一些姿態(tài)檢測的實際應(yīng)用中,需要在被測對象上安裝激光探測器[1],利用CCD相機(jī)捕捉激光光斑來檢測觀測對象的實際情況,光斑圖像質(zhì)心坐標(biāo)的提取是圖像處理技術(shù)中常見的問題,激光的瞬時和高速性是激光光斑圖像的重要特征[2]。為了實時準(zhǔn)確地獲取激光光斑質(zhì)心的坐標(biāo),相機(jī)要求以300幀每秒的速度進(jìn)行采集。原設(shè)備原始應(yīng)用場景為工業(yè)高清相機(jī)通過專用Camera Link電纜連接圖像采集卡,圖像采集卡插入計算機(jī)內(nèi)部,計算機(jī)接收圖像數(shù)據(jù)后進(jìn)行信號處理運算,質(zhì)心算法的實現(xiàn)在計算機(jī)上完成[3]。本文通過對原設(shè)備的結(jié)構(gòu)進(jìn)行優(yōu)化,將算法部分移植到硬件環(huán)境中形成相機(jī)控制器,使得攝像機(jī)與計算機(jī)可以遠(yuǎn)距離部署,一臺計算機(jī)可以控制和接收多臺相機(jī)數(shù)據(jù)并同時進(jìn)行信號處理,并且對計算機(jī)的配置要求較低,有靈活的擴(kuò)展性。在質(zhì)心算法研究方面,將計算機(jī)軟件實現(xiàn)的算法用硬件描述語言Verilog設(shè)計實現(xiàn),獲取激光光斑的實時質(zhì)心坐標(biāo)。

1 CCD采集圖像質(zhì)心算法

    激光探測器形成的激光光斑在CCD表面的光強(qiáng)分布可以看作以中心對稱的高斯分布[4],所以在激光光斑質(zhì)心坐標(biāo)算法中,可以用光斑光亮的最強(qiáng)點作為激光光斑的質(zhì)心坐標(biāo),對于CCD數(shù)字視頻信號來說就是灰度值最大的那一點的坐標(biāo)值[5]。具體算法如下:

    第一步:噪聲采集。假設(shè)圖像x方向與y方向分別有m與n個像素點。在無激光照射CCD情況下采集N幅圖(N理論上越多越好,實際N值手動可設(shè)即可),databuffa[m][n]為第a幅圖的數(shù)據(jù)。對N幅圖進(jìn)行求均方根,即可得到噪聲數(shù)據(jù)。

    wdz4-gs1.gif

    第二步:去噪聲。此時開始進(jìn)行激光光斑的采集,CCD所采集的每幅圖數(shù)據(jù)為h[m][n],進(jìn)行去噪聲處理,將CCD所采集的數(shù)據(jù)與采集算好的噪聲相減。如果低于最小灰度值0則為0;如果高于最大灰度值255則為255。

     wdz4-gs2.gif

    第三步:去一定比例的最大灰度值,比例系數(shù)為p。此時經(jīng)過去噪聲的圖像數(shù)據(jù)h[i][j]還具有一定的干擾,采用閾值去掉干擾,閾值為最大灰度值的比例數(shù)。首先尋找圖像的最大灰度值,然后進(jìn)行去掉閾值。

     wdz4-gs3-4.gif

    第四步:進(jìn)行質(zhì)心計算。CCD所采集圖像質(zhì)心即圖像灰度的重心,i與j分別為兩個方向的坐標(biāo),g[i][j]為像素點(i,j)坐標(biāo)的灰度值,則圖像質(zhì)心位置坐標(biāo)為:

     wdz4-gs5-6.gif

式中x、y即為圖像質(zhì)心的坐標(biāo)。

2 基于FPGA的圖像質(zhì)心算法

    FPGA的特點是數(shù)字邏輯的思維與并行的處理方式。FPGA的并行處理能力使得它有著更高的處理速度,讓人們更青睞于這種可編程邏輯方式去實現(xiàn)所需要的算法。本文的目的是將CCD采集圖像質(zhì)心算法用可編程邏輯Verilog語言去實現(xiàn)所需算法,為了實現(xiàn)上述算法,需要對算法進(jìn)行必要的改造。

    第一步:噪聲均方根的采集實現(xiàn)。對于數(shù)字邏輯中只有0和1之分,灰度圖像的顏色由8位二進(jìn)制來表示,故灰度顏色由0~255這256個數(shù)據(jù)來表示。故這里不需對根號內(nèi)數(shù)據(jù)進(jìn)行開方,而是直接根據(jù)根號下的數(shù)據(jù)即可算出均方根的結(jié)果,因為這里的結(jié)果都是四舍五入后的整數(shù)。

    第二步:去噪聲的實現(xiàn)。此算法可直接用可編程邏輯實現(xiàn),與原算法一致。

    第三步:去一定比例的最大灰度值中比例數(shù)p是一個0~1之間的小數(shù),在實際應(yīng)用中小數(shù)可以通過浮點數(shù)的方法來表示,浮點數(shù)的表示有32位與64位的表示方法。所以本文的設(shè)計方法是將0~1的數(shù)與0~100的數(shù)字一一對應(yīng),在后續(xù)再轉(zhuǎn)換縮回比例,求出數(shù)據(jù)。例如0.16對應(yīng)整數(shù)16,這樣只需要7位二進(jìn)制數(shù)即可表示,節(jié)省了寄存器占用的空間,利于算法的實現(xiàn)。

    第四步:質(zhì)心計算的實現(xiàn)。第三步中的質(zhì)心計算的算法方式由于求矩陣過程復(fù)雜,運算量大,不適用于可編程邏輯方式,為此將此算法進(jìn)行了轉(zhuǎn)換。一種基于函數(shù)轉(zhuǎn)換的快速搜素質(zhì)心算法,利用目標(biāo)質(zhì)心與目標(biāo)上所有各點間距離之和值最小的原理,快速求出質(zhì)心。此算法適用于灰度圖像,對灰度圖像求質(zhì)心具有廣泛的用途與實際的意義。應(yīng)用此算法后,n個乘法轉(zhuǎn)換成了1個乘法,便于Verilog語言去實現(xiàn)。   

3 仿真結(jié)果與分析

    將改進(jìn)后的算法應(yīng)用到可編程邏輯Verilog語言中后,實現(xiàn)了光斑質(zhì)心算法的功能并能夠?qū)崟r求出質(zhì)心的坐標(biāo)。通過上位機(jī)選擇需要算出的N幅圖得到的噪聲系數(shù),將求出的噪聲系數(shù)存入RAM中,當(dāng)激光照射后讀出RAM中存儲的噪聲系數(shù)值即可。本設(shè)計包括噪聲系數(shù)模塊,去噪聲模塊與質(zhì)心坐標(biāo)算法3個模塊。圖1為光斑質(zhì)心算法的總體架構(gòu)圖。

wdz4-t1.gif

    噪聲系數(shù)模塊:初始化后檢測ready信號,ready拉高表示外部輸入已經(jīng)準(zhǔn)備好可以接收數(shù)據(jù),可保證在一幀圖像數(shù)據(jù)內(nèi)的連續(xù)性。在準(zhǔn)備好后等待pulse_in信號的到來,pulse_in為脈沖信號,當(dāng)接收到此信號時表示通知模塊需要計算噪聲系數(shù)。pixel_num為像素值選擇, frame_num為幀數(shù)選擇,范圍是0~131 072。data_in為輸入的圖像數(shù)據(jù)8位灰度值,noise_req為噪聲系數(shù)輸入數(shù)據(jù)請求信號,當(dāng)此信號拉高后,輸入信號data_in在下一拍輸入數(shù)據(jù)。noise_done為噪聲系數(shù)計算完成信號,當(dāng)計算結(jié)束并沒有接收到重新計算信號pulse_in時,noise_done一直拉高來表示噪聲系數(shù)模塊處理完成。在noise_done高電平期間,輸入來自去噪聲模塊的地址信號addr_in,即可讀出RAN中對應(yīng)地址的數(shù)據(jù)databuffnoise。

    去噪聲模塊:在noise_done高電平期間可啟動去噪聲模塊。read_en為脈沖信號,一個脈沖可接收一幀圖像數(shù)據(jù)。proportion信號是上位機(jī)發(fā)來的比例系數(shù),范圍在0~100之間,表示0~1之間的數(shù)。在接收到read_en脈沖信號后,發(fā)出數(shù)據(jù)請求信號data_req,data_req拉高后輸入dec_in數(shù)據(jù)信號,由于需要求出一幀圖像的最大圖像數(shù)據(jù),所以會有一幀圖像的延遲,當(dāng)輸出圖像數(shù)據(jù)有效data_valid信號拉高時,輸出去噪后有效的pixel_data數(shù)據(jù),在data_valid信號拉高后輸出的pixel_data數(shù)據(jù)會傳到質(zhì)心算法模塊中進(jìn)行計算。圖2為去噪模塊仿真結(jié)果。

wdz4-t2.gif

    質(zhì)心坐標(biāo)算法模塊:輸入的request_in信號是去噪聲模塊的輸出信號data_valid,在request_in信號有效時,輸入的數(shù)據(jù)gravity_in信號有效,與去噪模塊的輸出數(shù)據(jù)信號pixel_data線性連接。在信號請求輸出req_out高脈沖同時輸出質(zhì)心坐標(biāo)xy_pos信號,輸出的x、y坐標(biāo)都是10位二進(jìn)制數(shù)表示,根據(jù)需求以32位xy_pos信號輸出,高25~16位填充x坐標(biāo),9~0位填充y坐標(biāo),其他填充0。通過各個模塊的驗證可看出算法符合基本要求, 最后得到如圖3所示的3個模塊整體的頂層模塊仿真結(jié)果圖。

wdz4-t3.gif

    將此算法用C++在VS2012上運行并驗證質(zhì)心坐標(biāo)是否正確,輸入相同輸入數(shù)據(jù),驗證結(jié)果如圖4所示。

wdz4-t4.gif

    通過分析和仿真驗證了設(shè)計的正確性,CCD圖像質(zhì)心算法被很好地應(yīng)用到可編程邏輯語言中,F(xiàn)PGA的高速并行優(yōu)點使得算法可以達(dá)到流水線高速運行,由于相機(jī)的圖像采集速度可達(dá)到每秒300幀,為了符合這樣的高速采集能力,本文采用了流水線算法可實時算出質(zhì)心坐標(biāo)供上位機(jī)采集和使用。

4 結(jié)論

    本文所設(shè)計的光斑質(zhì)心定位算法是基于實際應(yīng)用的激光探測器相機(jī)控制器的算法實現(xiàn)部分,該算法的實現(xiàn)使得攝像機(jī)與計算機(jī)可以遠(yuǎn)距離部署,將復(fù)雜算法的運算量交給控制器去處理,減輕了計算機(jī)的工作量去處理更重要的事情。該方法適用于有一定存儲空間的FPGA芯片去實現(xiàn),注重高速與實時性,對工業(yè)高清相機(jī)這種高精度要求的應(yīng)用有一定的實用價值。

參考文獻(xiàn)

[1] 肖鋒鋼,劉建國,曾淙泳,等.一種新型提高光斑圖像質(zhì)心精度的去噪方法[J].計算機(jī)應(yīng)用研究,2008,25(12):3683-3685.

[2] 樊巧云,張廣軍.離散噪聲圖像的光斑質(zhì)心算法及其硬件實現(xiàn)[J].光學(xué)精密工程,2011,19(12):2992-2993.

[3] 張海莊,孟智勇,丁帥,等.CCD攝像法采集激光光斑圖像方法研究[J].光學(xué)與光電技術(shù),2013,11(10):33-35.

[4] 張秋佳,趙玉華.基于加權(quán)插值算法的激光光斑中心檢測[J].激光與紅外,2016,46(1):81-84.

[5] 王冰,職秦川,張仲選,等.灰度圖像質(zhì)心快速算法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2004,16(10):1360-1362.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。