崔亞琳
(中北大學,太原 030051)
現代射箭運動14世紀起源于英國,它由戰爭的軍事需要演變成娛樂運動。進入21世紀,射箭已成為一項重要的全球性運動。報靶是射箭項目的重要部分。傳統的人工報靶方式存在安全隱患,效率低下,工作量大等弊端。隨著科技進步和訓練技術水平的提高,射箭運動的場地器材也在不斷地更新,并向自動化的方向發展。有很多自動報靶系統逐漸出現:雙層電極短路報靶系統、激光坐標定位報靶系統、聲電定位自動報靶系統、還有基于圖像處理的計算機視覺報靶系統[1]。
雙層電極報靶、激光坐標定位、聲電定位三種方法安裝困難、成本較高、定位精度不高、實時性不強。而基于計算機視覺的圖像處理技術的自動報靶系統由于可以直接處理現場攝像機采集的圖像得到結果,其成本低、效率高、實時性高,因此被越來越多的人所關注。
然而目前國際國內比賽均還在使用人工報靶,各種自動報靶技術使用不多。造成這種情況的原因主要還是報靶精度不夠,出錯率比較高。基于計算機視覺的自動報靶技術主要處理現場攝像機采集的圖像,而射箭運動每組比賽最后完成后才會拔去箭,這就使得箭與箭之間產生遮擋,而且當箭處于壓線狀態是判別會更加困難,使得報靶出錯率難以控制。本文針對這些問題設計了一種可以精確報自動靶的系統。
基于計算機視覺的自動報靶主要存在攝像機位置隨機、圖像畸變、箭的遮擋、壓線等問題。對箭靶圖像進行確定箭靶位置、校正等預處理后最主要面對的問題就是在遮擋的圖像中精確定位箭的位置。可以使用檢測箭的端點這樣可以避免中間的遮擋,最后利用距離來判靶可以解決壓線難檢測的問題。
本文射箭精確自動報靶系統,首先檢測箭靶中心的顏色,以此為中心以一定的距離截取圖像即可定位箭靶。確定箭靶位置后,對箭靶進行校正預處理并對射出的箭的位置進行識別。
檢測箭時可知每一次比賽中箭靶跟攝像頭固定,所以圖像背景固定,可以考慮幀差法、背景減除法來進行檢測。然而由于比賽進行時實時性的要求以及主要關注的是箭的位置所以直接采用算法更為簡單的兩幀差分的方法來判決是否有箭射中即可。最后再使用hough 變換檢測圓心,箭的端點,利用兩者之間的距離來判別得分。
對環值的判定是本系統的核心模塊。首先我們可以使用目標檢測的方法檢測是否有箭射中箭靶,再對差分后的圖像進行霍夫直線變換獲取中箭坐標位置,最后使用霍夫圓檢測檢測箭靶圓心,并根據圓心與中箭坐標的距離進行判靶。
運動目標檢測一般常用的方法有:幀差法、背景減除法、光流法等。針對本文來說射箭比賽中箭靶固定不動也就是背景變化很小,同時射箭前后圖像對比明顯。主要在于區別有沒有箭,即目標會在某一幀中突然出現,無需追蹤箭的運動。對比這三種算法可以發現,幀差法計算簡單、而且可以正確地勾勒出目標形態,所以采用幀差法。

圖1 總體流程
幀差法的基本原理主要是考慮到運動物體在相鄰的幀之間有位移,而背景圖像在相鄰的幀之間的位置是相對固定的[5]。幀差法的流程如圖2,當前幀與前一幀圖像相減,并對相減得到的結果利用閾值T 進行二值化后,還要進行形態學濾波等后續處理,最終才判斷此幀圖像是否出現了運動目標[5]。


圖2 幀差法流程圖
使用幀差法來確定前景和背景區域的閾值T一般很難確定。手動確定的閾值處理效果得不到保證,所以自動確定閾值很重要。最大類間差法算法簡單、易于實現。所以本文采用最大類間差法自動確定閾值。
檢測到箭的位置后,我們還需要確定箭靶的圓心以及半徑,最基本的檢測圓的方法是霍夫圓變換。霍夫圓變換將x-y 空間的圓心為(a,b)半徑為r 的圓變換到a-b-r 三維空間進行累加,這樣計算占用內存大速度慢,所以我們利用霍夫梯度法來解決這一問題[2]。
圓方程:

以極坐標表示圓,其中θ 是梯度方向角:

利用梯度信息對圖像進行霍夫圓檢測的主要思路[6]:
1.首先對圖像應用邊緣檢測,然后對邊緣使用Sobel 算子計算x 和y 方向的梯度為(Gx,Gy)并且求取方向角θ=arctan(Gx/Gy)。
2.由于半徑未知選取一個半徑的范圍進行循環,在一個半徑r的循環中按式(4)求得圓心坐標的值,并據此對累加數組進行累加操作。
3.找到累加數組中值最大的那個元素,其對應的值就是要檢測的圓心。
的坐標與靶心坐標的距離來確定。在前面進行過圖像校正后則靶紙表面的圓環是一個個規則的圓,各圓環的半徑也就依次為R,2R,3R 這樣的以R 為差的等差數列。經過大量觀測實驗,發現箭的命中點往往是下面那個端點。假設線段上靠下的端點坐標值為(x1,y1),靶心坐標值為(x2,y2)。則距離的計算公式為:

得到距離后與半徑進行比較后最終確定環數。
本文使用圖像處理的方法來識別射箭箭靶得分,其中使用了幾何校正對圖像進行校正,方便準確識別。然后利用幀差法檢測箭的位置,并且使用霍夫圓檢測來識別得分。
圖3 展示了箭檢測的過程,(a)圖是已經有四支箭的圖像,(b)圖是射入第五支以后。兩幀相減后進行閾值處理、形態學處理,最后使用hough 直線檢測進行箭的檢測。由圖(e)發現相差后箭由于遮擋會變得不再完整,但是經過hough 檢測后可以將其連為一條直線,并確定端點。本圖檢測到的箭的兩個端點為(280,156)、(243,167)。按前文所述選取下方即y 值比較小的點(243,167)。
環值判定算法的關鍵是確定各區域范圍所對應的環值,而區域范圍的確定則由中箭所產生的線段

圖3 目標檢測
環值判定的前提是檢測到箭的位置以及圓心與半徑。前文中檢測到箭的位置為(243,167),如圖4利用hough 梯度法確定的圓心為(263,160)半徑為18。根據距離判靶可知環值為9。表1 為六次測試得到的結果,由表1 可知本文中的檢測方法可以、準確率很高。

圖4 圓檢測

表1 環值判定
本文使用圖像處理的方法來對射箭箭靶進行判別。對其中應用到的圖像處理的技術進行了闡述。主要用到了hough 變換、幀差法、環值判定等。首先將多用于遙感圖像的幾何校正方法使用在視頻圖像校正上很好的解決了箭靶與攝像機之間存在夾角導致的圖像空間上的畸變。其次使用自適應閾值的方法避免了幀差法閾值不好選取的弊端,使得幀差法效果得以改進。再次使用梯度法避免了普通hough圓檢測計算量過大,需要的存儲空間過大等問題。
通過實驗表明使用圖像處理可以準確判靶,而且各部分的處理都獲得了良好的效果,很好的解決了精度差、出錯率高等問題。同時本系統還可以對射箭數據進行統計,依據箭時偏上偏下等分析每次運動員射箭的狀態,使得訓練效果更好。同時本系統圖像處理的方法簡單、易實現可以在電腦或者手機之類的終端上使用,更方便推廣。
[1]甘重斗.基于圖像處理技術的自動報靶系統的設計與實現[D].蘭州大學,2007:28-29.
[2]Rafael C.Gonzalez,Richard E.Woods.數字圖像處理[M].阮秋琦,阮宇智,譯.北京:電子工業出版社,2007:215-219.
[3]陳海峰.基于圖像處理技術的自動報靶系統研究[D].南京航空航天大學,2005:56-60.
[4]劉泉志.基于視頻的運動目標檢測與跟蹤算法研究[D].上海交通大學,2010:45-50.
[5]黃素茵.基于視頻監控運動目標檢測算法研究[D].華南理工大學,2013:26-32.
[6]程鵬,朱美琳,耿華.一種基于梯度Hough 變換和SVM 的圓檢測算法[J].計算機與現代化,2013,02:22-26.
[7]謝小亮.基于圖像處理技術的自動報靶系統[D].重慶大學,2012.20-36.