崔亞琳
(中北大學(xué),太原 030051)
現(xiàn)代射箭運動14世紀(jì)起源于英國,它由戰(zhàn)爭的軍事需要演變成娛樂運動。進入21世紀(jì),射箭已成為一項重要的全球性運動。報靶是射箭項目的重要部分。傳統(tǒng)的人工報靶方式存在安全隱患,效率低下,工作量大等弊端。隨著科技進步和訓(xùn)練技術(shù)水平的提高,射箭運動的場地器材也在不斷地更新,并向自動化的方向發(fā)展。有很多自動報靶系統(tǒng)逐漸出現(xiàn):雙層電極短路報靶系統(tǒng)、激光坐標(biāo)定位報靶系統(tǒng)、聲電定位自動報靶系統(tǒng)、還有基于圖像處理的計算機視覺報靶系統(tǒng)[1]。
雙層電極報靶、激光坐標(biāo)定位、聲電定位三種方法安裝困難、成本較高、定位精度不高、實時性不強。而基于計算機視覺的圖像處理技術(shù)的自動報靶系統(tǒng)由于可以直接處理現(xiàn)場攝像機采集的圖像得到結(jié)果,其成本低、效率高、實時性高,因此被越來越多的人所關(guān)注。
然而目前國際國內(nèi)比賽均還在使用人工報靶,各種自動報靶技術(shù)使用不多。造成這種情況的原因主要還是報靶精度不夠,出錯率比較高。基于計算機視覺的自動報靶技術(shù)主要處理現(xiàn)場攝像機采集的圖像,而射箭運動每組比賽最后完成后才會拔去箭,這就使得箭與箭之間產(chǎn)生遮擋,而且當(dāng)箭處于壓線狀態(tài)是判別會更加困難,使得報靶出錯率難以控制。本文針對這些問題設(shè)計了一種可以精確報自動靶的系統(tǒng)。
基于計算機視覺的自動報靶主要存在攝像機位置隨機、圖像畸變、箭的遮擋、壓線等問題。對箭靶圖像進行確定箭靶位置、校正等預(yù)處理后最主要面對的問題就是在遮擋的圖像中精確定位箭的位置。可以使用檢測箭的端點這樣可以避免中間的遮擋,最后利用距離來判靶可以解決壓線難檢測的問題。
本文射箭精確自動報靶系統(tǒng),首先檢測箭靶中心的顏色,以此為中心以一定的距離截取圖像即可定位箭靶。確定箭靶位置后,對箭靶進行校正預(yù)處理并對射出的箭的位置進行識別。
檢測箭時可知每一次比賽中箭靶跟攝像頭固定,所以圖像背景固定,可以考慮幀差法、背景減除法來進行檢測。然而由于比賽進行時實時性的要求以及主要關(guān)注的是箭的位置所以直接采用算法更為簡單的兩幀差分的方法來判決是否有箭射中即可。最后再使用hough 變換檢測圓心,箭的端點,利用兩者之間的距離來判別得分。
對環(huán)值的判定是本系統(tǒng)的核心模塊。首先我們可以使用目標(biāo)檢測的方法檢測是否有箭射中箭靶,再對差分后的圖像進行霍夫直線變換獲取中箭坐標(biāo)位置,最后使用霍夫圓檢測檢測箭靶圓心,并根據(jù)圓心與中箭坐標(biāo)的距離進行判靶。
運動目標(biāo)檢測一般常用的方法有:幀差法、背景減除法、光流法等。針對本文來說射箭比賽中箭靶固定不動也就是背景變化很小,同時射箭前后圖像對比明顯。主要在于區(qū)別有沒有箭,即目標(biāo)會在某一幀中突然出現(xiàn),無需追蹤箭的運動。對比這三種算法可以發(fā)現(xiàn),幀差法計算簡單、而且可以正確地勾勒出目標(biāo)形態(tài),所以采用幀差法。
圖1 總體流程
幀差法的基本原理主要是考慮到運動物體在相鄰的幀之間有位移,而背景圖像在相鄰的幀之間的位置是相對固定的[5]。幀差法的流程如圖2,當(dāng)前幀與前一幀圖像相減,并對相減得到的結(jié)果利用閾值T 進行二值化后,還要進行形態(tài)學(xué)濾波等后續(xù)處理,最終才判斷此幀圖像是否出現(xiàn)了運動目標(biāo)[5]。
圖2 幀差法流程圖
使用幀差法來確定前景和背景區(qū)域的閾值T一般很難確定。手動確定的閾值處理效果得不到保證,所以自動確定閾值很重要。最大類間差法算法簡單、易于實現(xiàn)。所以本文采用最大類間差法自動確定閾值。
檢測到箭的位置后,我們還需要確定箭靶的圓心以及半徑,最基本的檢測圓的方法是霍夫圓變換?;舴驁A變換將x-y 空間的圓心為(a,b)半徑為r 的圓變換到a-b-r 三維空間進行累加,這樣計算占用內(nèi)存大速度慢,所以我們利用霍夫梯度法來解決這一問題[2]。
圓方程:
以極坐標(biāo)表示圓,其中θ 是梯度方向角:
利用梯度信息對圖像進行霍夫圓檢測的主要思路[6]:
1.首先對圖像應(yīng)用邊緣檢測,然后對邊緣使用Sobel 算子計算x 和y 方向的梯度為(Gx,Gy)并且求取方向角θ=arctan(Gx/Gy)。
2.由于半徑未知選取一個半徑的范圍進行循環(huán),在一個半徑r的循環(huán)中按式(4)求得圓心坐標(biāo)的值,并據(jù)此對累加數(shù)組進行累加操作。
3.找到累加數(shù)組中值最大的那個元素,其對應(yīng)的值就是要檢測的圓心。
的坐標(biāo)與靶心坐標(biāo)的距離來確定。在前面進行過圖像校正后則靶紙表面的圓環(huán)是一個個規(guī)則的圓,各圓環(huán)的半徑也就依次為R,2R,3R 這樣的以R 為差的等差數(shù)列。經(jīng)過大量觀測實驗,發(fā)現(xiàn)箭的命中點往往是下面那個端點。假設(shè)線段上靠下的端點坐標(biāo)值為(x1,y1),靶心坐標(biāo)值為(x2,y2)。則距離的計算公式為:
得到距離后與半徑進行比較后最終確定環(huán)數(shù)。
本文使用圖像處理的方法來識別射箭箭靶得分,其中使用了幾何校正對圖像進行校正,方便準(zhǔn)確識別。然后利用幀差法檢測箭的位置,并且使用霍夫圓檢測來識別得分。
圖3 展示了箭檢測的過程,(a)圖是已經(jīng)有四支箭的圖像,(b)圖是射入第五支以后。兩幀相減后進行閾值處理、形態(tài)學(xué)處理,最后使用hough 直線檢測進行箭的檢測。由圖(e)發(fā)現(xiàn)相差后箭由于遮擋會變得不再完整,但是經(jīng)過hough 檢測后可以將其連為一條直線,并確定端點。本圖檢測到的箭的兩個端點為(280,156)、(243,167)。按前文所述選取下方即y 值比較小的點(243,167)。
環(huán)值判定算法的關(guān)鍵是確定各區(qū)域范圍所對應(yīng)的環(huán)值,而區(qū)域范圍的確定則由中箭所產(chǎn)生的線段
圖3 目標(biāo)檢測
環(huán)值判定的前提是檢測到箭的位置以及圓心與半徑。前文中檢測到箭的位置為(243,167),如圖4利用hough 梯度法確定的圓心為(263,160)半徑為18。根據(jù)距離判靶可知環(huán)值為9。表1 為六次測試得到的結(jié)果,由表1 可知本文中的檢測方法可以、準(zhǔn)確率很高。
圖4 圓檢測
表1 環(huán)值判定
本文使用圖像處理的方法來對射箭箭靶進行判別。對其中應(yīng)用到的圖像處理的技術(shù)進行了闡述。主要用到了hough 變換、幀差法、環(huán)值判定等。首先將多用于遙感圖像的幾何校正方法使用在視頻圖像校正上很好的解決了箭靶與攝像機之間存在夾角導(dǎo)致的圖像空間上的畸變。其次使用自適應(yīng)閾值的方法避免了幀差法閾值不好選取的弊端,使得幀差法效果得以改進。再次使用梯度法避免了普通hough圓檢測計算量過大,需要的存儲空間過大等問題。
通過實驗表明使用圖像處理可以準(zhǔn)確判靶,而且各部分的處理都獲得了良好的效果,很好的解決了精度差、出錯率高等問題。同時本系統(tǒng)還可以對射箭數(shù)據(jù)進行統(tǒng)計,依據(jù)箭時偏上偏下等分析每次運動員射箭的狀態(tài),使得訓(xùn)練效果更好。同時本系統(tǒng)圖像處理的方法簡單、易實現(xiàn)可以在電腦或者手機之類的終端上使用,更方便推廣。
[1]甘重斗.基于圖像處理技術(shù)的自動報靶系統(tǒng)的設(shè)計與實現(xiàn)[D].蘭州大學(xué),2007:28-29.
[2]Rafael C.Gonzalez,Richard E.Woods.數(shù)字圖像處理[M].阮秋琦,阮宇智,譯.北京:電子工業(yè)出版社,2007:215-219.
[3]陳海峰.基于圖像處理技術(shù)的自動報靶系統(tǒng)研究[D].南京航空航天大學(xué),2005:56-60.
[4]劉泉志.基于視頻的運動目標(biāo)檢測與跟蹤算法研究[D].上海交通大學(xué),2010:45-50.
[5]黃素茵.基于視頻監(jiān)控運動目標(biāo)檢測算法研究[D].華南理工大學(xué),2013:26-32.
[6]程鵬,朱美琳,耿華.一種基于梯度Hough 變換和SVM 的圓檢測算法[J].計算機與現(xiàn)代化,2013,02:22-26.
[7]謝小亮.基于圖像處理技術(shù)的自動報靶系統(tǒng)[D].重慶大學(xué),2012.20-36.