張 娜,沈小林,劉新生,王麗麗
(1.中北大學(xué) 計(jì)算機(jī)與控制工程學(xué)院,太原 030051;2.中北大學(xué) 控制科學(xué)與工程實(shí)驗(yàn)室,太原 030051)
輕武器電子校瞄系統(tǒng)的算法設(shè)計(jì)及系統(tǒng)驗(yàn)證
張 娜1,2,沈小林1,2,劉新生1,2,王麗麗1,2
(1.中北大學(xué) 計(jì)算機(jī)與控制工程學(xué)院,太原 030051;2.中北大學(xué) 控制科學(xué)與工程實(shí)驗(yàn)室,太原 030051)
輕武器驗(yàn)收的重要指標(biāo)之一是其擊打目標(biāo)的準(zhǔn)確度[1],瞄準(zhǔn)系統(tǒng)的精度直接影響武器性能的發(fā)揮,而傳統(tǒng)的校準(zhǔn)設(shè)備只能完成武器的粗校準(zhǔn),為此設(shè)計(jì)了一種新型的輕武器電子校瞄系統(tǒng);其設(shè)計(jì)核心是槍口輪廓在圖中精準(zhǔn)識(shí)別算法的構(gòu)建;在算法構(gòu)建中,通過引入正六邊形搜索窗口和梯度方向信息判據(jù)對(duì)隨機(jī)Hough變換算法進(jìn)行改進(jìn),彌補(bǔ)了已有的Hough變換方法計(jì)算復(fù)雜程度高,占用內(nèi)存大的不足[2];在MATLAB中充分驗(yàn)證改進(jìn)算法的優(yōu)良效果后,將該算法移植到基于嵌入式軟件環(huán)境的電子校瞄系統(tǒng)中,系統(tǒng)通過測試表面電子校瞄系統(tǒng)對(duì)槍口的中心位置,槍膛中心點(diǎn)和十字光標(biāo)相對(duì)位置,展現(xiàn)出優(yōu)良的校準(zhǔn)性能,初步實(shí)現(xiàn)了槍支瞄準(zhǔn)系統(tǒng)的精細(xì)校準(zhǔn);在整個(gè)校準(zhǔn)過程中,不直接與輕武器接觸,可以避免傳統(tǒng)校瞄系統(tǒng)重復(fù)安裝對(duì)槍管造成的磨損,為傳統(tǒng)的校準(zhǔn)方式提供了一種新方法。
Hough變換;改進(jìn)算法;MATLAB;嵌入式
瞄準(zhǔn)裝備是輕武器的重要組成部分,被譽(yù)為“輕武器之眼”,它的優(yōu)劣直接影響到武器性能的發(fā)揮[3]。因此,輕武器在出廠或者使用一段時(shí)間后,都要對(duì)其瞄準(zhǔn)裝置進(jìn)行校準(zhǔn),來保證它的射擊精度。但是目前國內(nèi)對(duì)瞄準(zhǔn)裝置的校準(zhǔn)只有槍管瞄準(zhǔn)鏡裝置,在使用時(shí)將瞄鏡插入槍膛中,完成輕武器的瞄準(zhǔn)鏡粗校準(zhǔn),而且這種校靶驗(yàn)收使用時(shí)對(duì)光軸、機(jī)械插桿軸和槍管軸線的一致性不好把握,操作不方便,無法進(jìn)行精確地判讀[4],特設(shè)計(jì)一種新型的輕武器校瞄系統(tǒng),其對(duì)于槍膛中心軸線位置及準(zhǔn)星基座相對(duì)于0°基準(zhǔn)線的偏移角的獲取是依靠采集槍口及準(zhǔn)星基座輪廓的圖像交由數(shù)據(jù)處理分系統(tǒng)經(jīng)算法得到的。
1.1 圖像預(yù)處理算法
在進(jìn)行槍口中心位置坐標(biāo)識(shí)別時(shí),通過攝像頭采集到槍口圖片后,首先要對(duì)圖像進(jìn)行預(yù)處理。預(yù)處理的目的是提取有用的信息,處理過程主要包括圖像灰度處理及濾波。圖像的灰度化處理可以縮小圖片所需要的存儲(chǔ)空間,便于圖像的處理;圖像的濾波處理則屬于圖像增強(qiáng),主要目的是消除噪聲,使模糊的細(xì)節(jié)得到顯現(xiàn)使圖像更適合于人的觀察或機(jī)器的識(shí)別系統(tǒng)[5]。本系統(tǒng)中采用的增強(qiáng)技術(shù)是空間域的中值濾波法。它對(duì)于具有脈沖干擾及椒鹽噪聲的圖片具有很好的濾波效果,特別是對(duì)于一些孤立噪點(diǎn)的消除,十分有力,不僅使隨機(jī)噪聲減小了很多,而且也使圖像邊緣突出的部分得到了較好的保護(hù),在噪點(diǎn)比較密集的圖像中,使用替代像素灰度值產(chǎn)生的影響也減小了很多。
預(yù)處理完成之后,為了便于后續(xù)特征的提取,需要得到提取的目標(biāo)對(duì)象,一般采用圖像分割技術(shù)對(duì)圖片進(jìn)行處理[6]。圖像分割的目的是劃分開圖像中具有特殊意義的不同區(qū)域。本系統(tǒng)中采用的是邊緣檢測的方法,通過邊緣檢測,可以將不相關(guān)的信息剔除,圖像結(jié)構(gòu)的重要屬性得到保留,數(shù)據(jù)量大幅度減少,邊緣檢測的基本步驟如圖1所示。
圖1 邊緣檢測步驟
首先要通過平滑濾波去除噪聲,然后需要進(jìn)行銳化濾波,檢測圖像的邊界,經(jīng)過銳化操作,使灰度局部變化的位置的像素點(diǎn)得到了加強(qiáng)。經(jīng)過銳化之后,就可以進(jìn)行邊緣判定。邊緣判定需要選擇和去除一些沒有意義的點(diǎn),通常采用的方法為二值化和過零檢測。最后將間斷的邊緣連接起來,并將假的邊緣去除,這樣就完成了邊緣檢測,圖2是我們采用幾種邊緣檢測算子對(duì)圖片進(jìn)行邊緣檢測后的結(jié)果。
圖2 邊緣檢測
由圖2的檢測結(jié)果可以看出,canny算子邊緣檢測的效果明顯優(yōu)于其他幾種,因此本系統(tǒng)選擇canny算子作為邊緣檢測算子,接下來就要利用圖像處理算法對(duì)圖片進(jìn)行處理,獲得槍口軸線的中心位置坐標(biāo)。
1.2 槍口中心位置識(shí)別算法
1.2.1 Hough變換
Hough變換經(jīng)常用來進(jìn)行直線的檢測和定位,以及對(duì)曲線進(jìn)行解析等,并且效果非常顯著[7]。它可以用參數(shù)空間中的點(diǎn),來描述原始圖像中給定形狀的曲線或直線,即原始圖像中在一條給定形狀的曲線或直線上的所有點(diǎn)在參數(shù)空間中所對(duì)應(yīng)的曲線,都會(huì)相交到一個(gè)點(diǎn)上,這些點(diǎn)依次累加,在參數(shù)空間形成峰值。通過找到參數(shù)空間中的峰值點(diǎn),就能得到原始圖像中給定形狀的曲線或直線的參數(shù),便可以利用檢測問題的局部特性的來代替整體特性(給定曲線的點(diǎn)集)檢測,標(biāo)準(zhǔn)Hough變換算法雖然成熟,使用得較普遍,但是存在著計(jì)算量大[8],占用內(nèi)存空間大等不容忽視的缺點(diǎn),無法滿足實(shí)時(shí)的檢測需求,輕武器電子校瞄系統(tǒng)在使用時(shí),獲取的槍口輪廓為一個(gè)圓,對(duì)于槍膛中心軸線位置的獲取,相當(dāng)于檢測圓心所在位置。而對(duì)于準(zhǔn)星基座輪廓的獲取可以看成是進(jìn)行直線檢測,直線檢測的方法比較簡單,眾所周知,圓有3個(gè)自由參數(shù),采用Hough變換時(shí)就需要在3維空間中進(jìn)行累積,這樣以來就會(huì)有很大的計(jì)算量和內(nèi)存需求。隨機(jī)Hough變換法采用了隨機(jī)采樣和多對(duì)一映射,時(shí)間和空間開銷都大大減少了,但是由于該算法對(duì)邊緣隨機(jī)采樣,造成了參數(shù)單元的無效累積。而對(duì)于槍械校正系統(tǒng)而言,由于槍口有一定的厚度,采集到的槍口經(jīng)邊緣檢測后為兩個(gè)同心的圓,對(duì)其進(jìn)行檢測類似于多圓檢測,不可避免地會(huì)帶來無效累計(jì)的問題,這將大大降低系統(tǒng)的運(yùn)算速度,影響系統(tǒng)的整體性能。
因此,針對(duì)輕武器校準(zhǔn)系統(tǒng)的功能需求,在隨機(jī)Hough變換的基礎(chǔ)上,提出了一種改進(jìn)的Hough變換作為槍口中心軸線位置坐標(biāo)的檢測方法。該算法采用梯度方向的信息決定3個(gè)采樣點(diǎn)是否被累積,同時(shí)利用正六邊形的窗口去縮小參數(shù)點(diǎn)的選取范圍來提高計(jì)算速度,很好地解決了多圓檢測中無效采樣點(diǎn)的累積的問題。
1.2.2 輕武器電子校瞄系統(tǒng)改進(jìn)算法原理
輕武器電子校瞄系統(tǒng)通過攝像頭獲取槍口的圖片,并對(duì)圖片進(jìn)行中值濾波處理,改善圖像的視覺效果,增強(qiáng)圖像的有用信息,再經(jīng)過邊緣檢測算子實(shí)現(xiàn)邊緣的提取,接下來就要采用改進(jìn)的Hough變換來獲取槍口中心軸線位置坐標(biāo)。改進(jìn)算法原理如下所述。
首先,確定正六邊形的大小。由于在采集槍口圖片時(shí),不可避免地會(huì)采集到其他的元素,選用正六邊形的目的是將候選圓的范圍確定在一定的區(qū)域內(nèi),來降低計(jì)算量。正六邊形要選用候選圓的中心作為其中心點(diǎn),候選圓的半徑的1.2~1.4倍作為其邊長(若是選用的邊長太短,候選圓將位于正六邊形之外,選用的邊長太長,會(huì)使區(qū)域變大,引入無效的像素點(diǎn))。根據(jù)選取的邊緣點(diǎn)判斷其是否在正六邊形的內(nèi)部,如果在,估算出邊緣點(diǎn)到候選圓中心的距離,如果不在,放棄該點(diǎn),找尋下一個(gè)點(diǎn)來進(jìn)行判斷。這種方法可以大大地縮短尋找范圍,從而減少運(yùn)算量來加快檢測速度。
其次,獲取梯度信息。圓的極坐標(biāo)方程為:
x=a+rcosθ
(1)
圓的參數(shù)可表示如下:
a=x-rcosθ
(2)
(3)
(4)
由式(4)可以得出,如果法線方向與梯度的方向的差值在允許的范圍內(nèi),則可以作為一個(gè)約束條件來簡化隨機(jī)Hough變換。給出一個(gè)預(yù)設(shè)的誤差范圍θ,約束條件可以表示如下:
(5)
當(dāng)滿足式(5)時(shí),三點(diǎn)將被認(rèn)為是在同一個(gè)圓上,圓的參數(shù)是可以累積的。所以這種方法可以有效地提高算法速度,降低搜索范圍,降低內(nèi)存的占用。
1.2.3 改進(jìn)算法描述
該算法采用梯度方向作為約束條件來改進(jìn)隨機(jī)Hough變換,詳細(xì)步驟如下:
1)構(gòu)造邊緣點(diǎn)集D,初始化圓的參數(shù)單元集,令P=NULL,記錄這些點(diǎn)的梯度方向。
2)從點(diǎn)集中隨機(jī)地選取3個(gè)點(diǎn),計(jì)算圓的參數(shù)(a,b,r)。
3)計(jì)算3個(gè)點(diǎn)的梯度方向G1,G2,G3,法線方向n1,n2,n3,并判斷其差值是否在容許的誤差范圍內(nèi),若是轉(zhuǎn)4),否則轉(zhuǎn)2)。
4)PC為候選圓的特征參數(shù),在參數(shù)單元集中找到PC。PC應(yīng)該滿足||P-PC||<δ,式中δ為界值[10],如果找到轉(zhuǎn)6,否則轉(zhuǎn)5).
5)將(a,b,r)插入P中,令Value為1。
6)遍歷正六邊形內(nèi)的所有點(diǎn),當(dāng)滿足(a-r) 7)如果圓的邊緣點(diǎn)與參數(shù)NPC>Nmin一致,則轉(zhuǎn)向8)。否則,將是一個(gè)錯(cuò)的圓,從單元集P中移除該參數(shù)。 8)如果真實(shí)的圓檢測到了,判斷檢測圓的個(gè)數(shù)是否超過真實(shí)圓的個(gè)數(shù),如果是,則根據(jù)累積值計(jì)算圓的參數(shù),得到圓心坐標(biāo)。否則,從邊緣點(diǎn)集D中刪除真實(shí)圓的邊緣點(diǎn)集,重置P=NULL。轉(zhuǎn)向2)。 1.2.4 槍膛中心點(diǎn)和十字光標(biāo)(靶心位置)相對(duì)位置修正 圖3 LCD輸出校正信息示意圖 由于MATLAB中具有許多現(xiàn)成的圖像處理函數(shù)可以供我們?cè)诰幊虝r(shí)直接調(diào)用,所以,我們對(duì)圖像處理算法的設(shè)計(jì)和驗(yàn)證是在以計(jì)算機(jī)為平臺(tái)的MATLAB環(huán)境中進(jìn)行的,但是在實(shí)際使用時(shí),我們需要將程序移植到本系統(tǒng)設(shè)計(jì)的硬件平臺(tái)上來運(yùn)行。因此,需要完成程序由MATLAB平臺(tái)到CCS平臺(tái)中的移植。所謂算法的移植,就是對(duì)程序中相應(yīng)的部分做出修改,使其能夠在不同的程序平臺(tái)上運(yùn)行。移植原理如圖4所示。 圖4 算法移植原理 首先,要對(duì)MATLAB應(yīng)用程序中與算法相關(guān)的代碼進(jìn)行分析并提取,并結(jié)合CCS的軟件環(huán)境,對(duì)驗(yàn)證算法的程序框架和測試環(huán)境重新建立和配置,對(duì)不符合該運(yùn)行平臺(tái)的部分進(jìn)行修改。其次,要注意編譯器和工作平臺(tái)的基本數(shù)據(jù)類型的差別。再次,注意編譯器和工作平臺(tái)相關(guān)序的問題,DM642硬件平臺(tái)的序是由DM642芯片復(fù)位時(shí)管腳TOUT1/LENDIAN的電平?jīng)Q定的;但是CCS在工程編譯之前,需要對(duì)工程的編譯設(shè)置進(jìn)行手工設(shè)置來確定輸出的模式。最后,合理配置存儲(chǔ)系統(tǒng),在CCS中,是通過后綴為.cmd的配置文件進(jìn)行存儲(chǔ)空間的分配的。程序在編譯后如果訪問了不存在的存儲(chǔ)空間,就會(huì)造成程序跑飛。因此,在存儲(chǔ)空間分配前,了解芯片整個(gè)可用的內(nèi)外存儲(chǔ)空間大小是十分有必要的[12]。 圖5所示為在MATLAB中對(duì)所改進(jìn)的算法進(jìn)行的驗(yàn)證,圖(a),(b)為使用隨機(jī)Hough檢測出的結(jié)果,(a)為切片圖,(b)中對(duì)檢測到的圓形邊緣進(jìn)行高亮顯示,由圖中可見,產(chǎn)生了大量的無效累積值。(c),(d)為使用算法檢測的結(jié)果,由于引入了正六邊形,縮小了檢測的范圍,由圖可見,檢測結(jié)果的精準(zhǔn)度明顯上升。 圖5 MATLAB中程序驗(yàn)證 由于輕武器特殊的使用性,在進(jìn)行算法移植之后,由于實(shí)驗(yàn)條件的限制,無法進(jìn)行現(xiàn)場的調(diào)試運(yùn)行,所以對(duì)移植后的算法采用了軟件的仿真器工作模式進(jìn)行驗(yàn)證,即在PC上模擬DSP的指令集和工作機(jī)制,進(jìn)行了算法的實(shí)現(xiàn)和調(diào)試,通過調(diào)試,該算法能夠?qū)崿F(xiàn)在MATLAB中進(jìn)行驗(yàn)證的結(jié)果,如圖6所示,(a)為灰度圖,(b)為Hough檢測結(jié)果。 圖6 CCS程序驗(yàn)證結(jié)果 通過對(duì)輕武器電子校瞄系統(tǒng)中所涉及到的算法進(jìn)行設(shè)計(jì),主要包括圖像預(yù)處理算法和槍口中心位置的識(shí)別算法,重點(diǎn)對(duì)Hough變換算法進(jìn)行了研究分析,并設(shè)計(jì)了基于隨機(jī)Hough變換的改進(jìn)算法,同時(shí)對(duì)也槍膛中心點(diǎn)和十字光標(biāo)(靶心位置)相對(duì)位置進(jìn)行了修正。算法由基于PC的MATLAB環(huán)境 向基于嵌入式系統(tǒng)的軟件環(huán)境CCS的移植,通過驗(yàn)證,該系統(tǒng)切實(shí)可行,能實(shí)現(xiàn)預(yù)設(shè)功能,完成槍支校準(zhǔn)。 [1]王 欣. 變倍白光瞄具像面穩(wěn)定度測試系統(tǒng)研究[D]. 長春:長春理工大學(xué),2008. [2]吳安律,黃歌德. 立高而能望遠(yuǎn)-瞄準(zhǔn)鏡與槍械結(jié)合之態(tài)勢種種[J]. 輕兵器,2012(1):10-13. [3]康 林. 槍神戰(zhàn)眼:會(huì)拐彎的光纖瞄準(zhǔn)具[J]. 科學(xué)大眾,2015(5):25-27. [4]RafaelC,Gonzalez. 數(shù)字圖像處理(MATLAB版)[M]. 北京:電子工業(yè)出版社,2010. [5]胡小鋒,趙 輝.VisualC++MATLAB圖像處理與識(shí)別實(shí)用案例精選[M]. 北京:人民郵電出版社,2004. [6]張 錚,徐 超,任淑霞,等. 數(shù)字圖像處理與機(jī)器視覺-VisualC++與MATLAB實(shí)現(xiàn)[M]. 北京:人民郵電出版社,2014. [7]焦圣喜,肖德軍,闞一凡. 霍夫變換算法在圓心視覺定位中的應(yīng)用研究[J]. 科學(xué)技術(shù)與工程,2013,13(14):4089-4093. [8]尚 璐,李銳,宋信玉. 改進(jìn)的Hough變換圓檢測算法[J]. 電子設(shè)計(jì)工程,2011,19(14):168-170. [9]ChungKL,UangYH,WangJP,etal.Fastrandomizedalgorithmforcenter-detection[J].PatternRecognition,2010,43(8):2659-2665. [10]段黎明,汪 威,張 霞. 改進(jìn)的Hough變換實(shí)現(xiàn)圓檢測[J]. 計(jì)算機(jī)集成制造系統(tǒng),2013,19(9):2148-2152. [11]岡薩雷斯. 數(shù)字圖像處理(MATLAB版)[M]. 北京:電子工業(yè)出版社,2009 [12]朱桂英,張瑞林. 基于Hough變換的圓檢測方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(6):1462-1464. Algorithm Design and System Verification of Electronic Pointing System of Light Weapon Zhang Na1,2,Shen Xiaolin1,2, Liu Xinsheng1,2, Wang Lili1,2 (1.College of computer and control engineering, North Central University, Taiyuan 030051,China; 2. Laboratory of control science and engineering, North Central University,Taiyuan 030051,China) Light weapons acceptance is one of the most important factors, that hit targets on the accuracy, the aiming system accuracy has a direct impact on performance of weapons to play, and the traditional calibration device can only be accomplished with weapons of coarse alignment. So design a new light weapons electronic aiming system. The core of the design is the construction of the accurate recognition algorithm in the figure. In constructing algorithm, through the introduction of regular hexagon search window and gradient direction information criterion to improve the randomized Hough transform algorithm, to make up for the existing Hough transform method for computing complex degree is high, occupies large memory. Fully validated in Matlab excellent effect of improved algorithm, the algorithm was transplanted to the embedded software environment of electronic aiming system, by testing the surface electronic aiming system on the muzzle of the center position and bore center point and cross cursor relative position, showing excellent performance calibration, the initial realization of fine calibration of gun system. In the calibration process, not directly in contact with light weapons can avoid the traditional aiming system repeats the installation on the barrel caused by wear, provides a new method for traditional methods of calibration. Hough transform; improved algorithm; Matlab; embedded 2016-06-04; 2016-08-31。 張 娜(1990-),女,河北張家口人,在讀研究生, 主要從事控制理論與控制工程方向的研究。 1671-4598(2017)01-0217-04 10.16526/j.cnki.11-4762/tp.2017.01.060 TP216 B2 輕武器電子校瞄系統(tǒng)驗(yàn)證
3 結(jié)論