,
(蘭州交通大學 電子與信息工程學院,蘭州 730070)
基于自動識別的自動打靶機器人系統
李虎,張健
(蘭州交通大學 電子與信息工程學院,蘭州 730070)
開發了一種基于圖像識別的自動打靶機器人系統。該系統利用OV7670攝像頭獲取靶面圖像,經過圖像處理及靶面識別后得到射擊成績。本系統完成了對圖像的采集、識別、判靶算法的研究,綜合運用圖像灰度化、二值化、閥值分割等圖像預處理方法,采用局部特征識別的算法進行靶面檢測,應用灰度特征識別光斑區域,以STM32F407單片機進行實時處理、控制觸摸屏顯示環數。
圖像處理;閥值分割;OV7670攝像頭;STM32F407
移動激光打靶系統具有廣泛的應用前景和現實的軍事意義,能夠提高軍事訓練水平,降低軍事訓練成本,保障訓練人員安全。研究者采用基于圖像處理的激光打靶系統硬件要求較低,只需普通高清攝像機采集靶位圖像,通過軟件控件識別靶位和激光光斑,硬件成本低,安裝維護方便,并且采用圖像處理算法可以使激光打靶系統能夠在復雜光線環境下穩定運行[2]。激光打靶系統根據打靶對象又可分為基于固定靶位和基于移動靶位兩類[3]。目前的激光打靶系統大多是針對固定靶位打靶,針對移動靶位的激光打靶系統應用較少,特別是基于圖像處理的移動激光打靶系統還處在研究與發展中。對移動靶位的目標跟蹤成為系統需要解決的關鍵技術之一,而激光光斑是在運動的靶位背景下進行識別,也需要進一步研究改進[4]。
本文設計了一種基于圖像識別的自動打靶機器人系統,采用OV7670攝像頭來獲取靶面圖像,利用圖像處理技術獲取準確的射擊信息,得出激光模擬打靶的成績,且具有安全、體積小、實用性高的優點,能夠滿足模擬射擊訓練的需求。
自動打靶機器人系統是集數字圖像處理技術與嵌入式應用技術于一體的模擬打靶系統。它用激光束代替真實的子彈模擬實彈射擊訓練,圖像接收端利用OV7670攝像頭獲取帶有激光光斑的靶面圖像,并經過圖像處理技術與靶面識別算法,包括圖像的灰度化、二值化、標靶識別、中心判定、光斑識別等,最終獲取激光模擬打靶的成績并通過觸摸屏顯示,實現自動報靶的功能,滿足系統對實時性、準確性、可靠性的高要求。
本系統基于STM32F407單片機實現控制小車轉動,攝像頭圖像采集等功能。系統總體框圖如圖1所示。

圖1 系統總體框圖
STM32F407的內核帶有ARM Cortex-M4 32位 MCU+FPU,主頻高達168 MHz(可獲得210 DMIPS 的處理能力),具有1 MB FLASH、(192+4) KB SRAM、多達 140 個具有中斷功能的 I/O 端口、15 個通信接口、多達17個定時器[5]。與STM32F1/F2等ARM Cortex-M3產品相比,STM32F4 最大的優勢,就是新增了硬件 FPU 單元以及 DSP 指令[6],適用于需要浮點運算或 DSP 處理的應用,使用該控制器能夠很好地完成系統的各項功能。
圖像傳感器OV7670體積小、工作電壓低,可提供單片 VGA 攝像頭和影像處理器的所有功能[7]。OV7670并行攝像頭控制引腳多,接線復雜,但采集到的圖像無需解碼就能顯示,符合本設計對系統的實時性要求。
3.2寸TFT彩色液晶觸摸屏是一款廣泛應用于單片機系統、電子設計大賽項目、手持機等設備上的彩色TFT液晶顯示屏[8],具有3.2英寸顯示面積,同時兼有240×320的分辨率。在有限的平面內顯示更多信息,采用16位標準8080總線接口方式,色彩支持26萬色,可使圖像更加細膩,可以和任意高速系統接口。適配CPU:AVR、PIC、STM32系列、LPC2XXX、MSP430、51單片機、DSP、FPGA、X86、8088、Z80等[9]。
硬件是保障自動打靶系統的基礎,而軟件部分則是系統的核心,軟件部分中功能模塊和關鍵技術設計與實現對整個系統的性能有著極大的影響。本系統在基于Keil4的開發平臺下,采用C語言編程實現系統的主要功能。系統軟件的總體結構圖如圖2所示。

圖2 系統軟件的總體結構圖

圖3 小車控制流程圖
在軟件設計中用C語言編程方式,采用PWM控制直流電機轉動很小的角度,編程過程中采用主函數調用模塊函數實現對應功能,其中控制小車流程圖如圖3所示。
TFT顯示程序采用C語言的編程方式,將TFT類化,提高了程序的集成度和可用性,對TFT顯示程序的顯示采用了獨立編程的思想進行編程。TFT顯示流程圖如圖4所示。
圖像處理程序是整個軟件系統中最重要的部分,經過圖像預處理及靶面識別,最終得到打靶的環值。圖像處理流程圖如圖5所示。

圖4 TFT顯示流程圖

圖5 圖像處理流程圖
通過攝像頭采集得到靶面圖像,經過預處理和識別判靶處理,計算得到環值。圖像預處理是為了改善圖像質量而進行的各種圖像濾波和灰度、二值化等所作的標準化處理環節[10],圖像識別處理則是為了得到圖像中我們所需要的信息,因此預處理信息的好壞會直接影響圖像識別的準確度[11]。圖像識別判靶算法是整個自動打靶系統的核心部分,為了使系統能夠快速、準確、自動地顯示出打靶成績,就需要設計一套良好可行且靈活快速的靶面圖像識別算法,畢竟,一個算法的好壞直接影響到結果的執行效率。
識別與判靶的前提是先獲取靶環中心坐標、各圓環半徑、光斑斑點中心坐標,再經過計算光斑中心到靶環中心的距離,并與攝取到的靶面圖像中靶環各環半徑相比較得到環值,實現判靶。靶面圖像處理系統設計過程圖如圖6所示。

圖6 靶面圖像處理系統設計過程圖
采用并行攝像頭OV7670圖像傳感器采集圖像數據,如圖7所示。經過灰度、二值化預處理后,如圖8所示。

圖7 采集圖

圖8 預處理后的圖
特征提取是圖像目標識別中的關鍵技術,對于識別的最終效果有著決定性的影響[12]。本文采用局部特征識別的算法,在小車轉動過程中掃描圖像中的三條白線,當同時掃描到三條等間隔的白線時,即發現了目標標靶。標靶識別圖如圖9所示,圖像處理中一個重要的環節是標靶環線的識別,經過二值化后的靶紙圖像中的環線具有幾個像素寬度,靶面識別后,橫向掃描靶環的多條環線,對其求平均值,以確定標靶的中心。經過多次測試,尋求規律,對標靶中心加以修正即可準確地得到靶中心坐標。
光斑中心識別是圖像處理過程中關鍵步驟之一,它的準確程度直接決定了環數精度。本文就利用這個灰度特征識別光斑區域,光斑識別圖如圖10所示。

圖9 標靶識別

圖10 光斑識別圖
想要計算出打靶成績,即判定環值,就需要先知道光斑的中心點位置。系統中采用閥值法,即通過提取光斑區域的像素值來計算光斑中心位置。當求取光斑中心位置后,也就相當于得出了打靶的位置。求出光斑中心到靶環中心的距離,再與各環所處的值的范圍比較,便可得出打靶環數。環值計算公式如下:
式中,rp為光斑點到靶心的距離,d為相鄰靶環半徑的差值。
十環圖和六環圖如圖11和12所示。

圖11 十環圖

圖12 六環圖
進行200次試驗,分析環值結果如表1所列。

表1 分析環值結果
在整個試驗過程中,由于外界環境的影響,圖像二值化的效果不明顯,使得靶面中心點的識別有5~7個像素點的偏差,導致判靶環數的誤差在1環左右,通過多次試驗,對靶面中心加以修正,減少誤差,達到本設計的要求。小車底盤直流電機的驅動能力有限,無法實現小角度的慢速轉動,在小車的轉動中會出現一些誤差,但相對完成效果較好。

[1] 羅杰, 張之明. 基于圖像處理技術自動報靶系統綜述[J]. 激光雜志, 2016, 37(7):1-6.
[2] Lin Y C, Miaou S G, Lin Y C, et al.An automatic scoring system for air pistol shooting competition based on image recognition of target sheets[C]//IEEE International Conference on Consumer Electronics-TaiwanIEEE,2015:140-141.
[3] 張曉錕, 林嘉宇. 一種基于圖像處理技術的自動報靶系統設計[J]. 微處理機, 2010, 31(3):101-104.
[4] 蔡勇智. 基于圖像識別的無彈射擊自動報靶研究[J]. 科技信息, 2013(20):127-128.
[5] 任志敏. 基于STM32F407的圖像采集系統設計[J]. 山西電子技術, 2016(3):61-63.
[6] 楊宇, 賈永興, 榮傳振,等. 基于STM32F407的圖像采集與傳輸系統的設計與實現[J]. 微型機與應用, 2015, 34(8):26-28.
[7] 李慧敏, 樊記明, 楊笑,等. 基于STM32和OV7670的圖像采集與顯示系統設計[J]. 傳感器與微系統, 2016, 35(9):114-117.
[8] 張勇強, 陽泳, 余建坤. 基于STM32的圖像采集與顯示系統的設計與實現[J]. 電子世界, 2016(2):34-36.
[9] 胡凱, 沈新鋒, 張瑞東. 基于點識別的自動報靶系統[J]. 電氣自動化, 2015, 37(4):87-89.
[10] 陳廣慶, 孫建, 王吉岱,等. 基于激光靶的野外自動報靶系統設計[J]. 電子技術應用, 2015, 41(5):32-34.
[11] Xu L, Gan E, Zheng S. An automatic laser gun shoot system based on image identification technology[J]. Icic Express Letters Part B Applications An International Journal of Research&Surveys, 2015(6).
[12] 洪佳敏, 曾培峰. 嵌入式自動報靶系統的設計與實現[J]. 計算機應用與軟件, 2015, 32(1):234-238.
李虎(碩士研究生),主要研究方向為信號處理、嵌入式系統;張健(碩士研究生),主要研究方向為無線傳感器網絡。

參考文獻
[1] 王志賀,馬國旗,紀億.淺談WiFi技術[J].魅力中國,2011(16):213.
[2] Espressif Systems.ESP8266 SDK編程手冊V1.3.0,2015.
[3] 曾磊,張海峰,候維巖.基于WiFi的無線測控系統設計與實現[J].電測與儀表,2011,48(7).
[4] 梁永恩,萬世明.基于S3C6410的智能家居控制系統的設計[J].計算機與數字工程,2014(6):1104-1107.
[5] 石志國,王志良,丁大偉.物聯網技術與應用[M].北京:清華大學出版社,2012:22.
[6] 李朝青.單片機原理及接口技術[M].北京:北京航空航天大學出版社,2006.
[7] 曾金,雷建云.基于Arduino的果園基地環境Web監測系統設計[J].物聯網,2016,6(8):60-61.
焦再峰,主要從事電光源產品檢驗工作。
AutomaticTargetShootingRobotDesignBasedonAutomaticRecognition
LiHu,ZhangJian
(College of Electronic and Information,Lanzhou Jiaotong University,Lanzhou 730070,China)
In the paper,a kind of automatic shooting robot system based on image recognition is proposed.The system uses the OV7670 camera to obtain the target image and get the shooting results after image processing and target surface recognition.This system not only completes the research of image collection,identification and judgment of target algorithm,but also comprehensively uses the image pre-processing techniques like image grizzled processing,image binary and threshold segmentation,etc.Besides,it adopts the local feature recognition algorithm to detect the target image and gray-scale feature to identify the flare area.The MCU STM32F407 is used for real-time processing and controlling the touch screen to display the number of rings.
image processing;threshold segmentation;OV7670 camera;STM32F407
TN911.73
A
楊迪娜
2017-09-04)
2017-08-31)