本發(fā)明涉及目標(biāo)檢測(cè)技術(shù)領(lǐng)域,具體地,涉及一種基于運(yùn)動(dòng)員號(hào)碼識(shí)別的馬拉松比賽照片管理方法。
背景技術(shù):
近年來(lái),馬拉松比賽在全世界范圍內(nèi)得到了積極的推廣與開(kāi)展,參賽群體廣泛,產(chǎn)生的社會(huì)影響力巨大。比賽過(guò)程中所拍攝的照片對(duì)運(yùn)動(dòng)員們來(lái)說(shuō)彌足珍貴,如若采用人工標(biāo)注方式對(duì)比賽照片進(jìn)行分類(lèi),將是一項(xiàng)巨大的工程。在馬拉松比賽場(chǎng)景中,運(yùn)動(dòng)員的參賽號(hào)碼是其重要標(biāo)識(shí)。而目前,車(chē)牌、身份證等號(hào)碼識(shí)別技術(shù)也已經(jīng)非常成熟,為運(yùn)動(dòng)員號(hào)碼識(shí)別技術(shù)的研究奠定了基礎(chǔ)。但是,根據(jù)應(yīng)用場(chǎng)景的不同,具體所采用的技術(shù)也不同。由于馬拉松比賽場(chǎng)景十分復(fù)雜,一幅圖像中通常會(huì)出現(xiàn)多個(gè)運(yùn)動(dòng)員,且比賽過(guò)程中運(yùn)動(dòng)員號(hào)碼會(huì)出現(xiàn)傾斜、扭曲、粘連等現(xiàn)象,直接套用車(chē)牌或者身份證號(hào)的識(shí)別技術(shù)無(wú)法有效識(shí)別運(yùn)動(dòng)號(hào)碼。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,針對(duì)上述問(wèn)題,提出一種基于號(hào)碼識(shí)別的運(yùn)動(dòng)員檢測(cè)算法,以實(shí)現(xiàn)對(duì)馬拉松比賽照片進(jìn)行有效管理。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
一種基于號(hào)碼識(shí)別的馬拉松比賽照片管理方法,包括,
號(hào)碼區(qū)域定位的步驟:即首先對(duì)原圖像進(jìn)行灰度化處理,然后采用形態(tài)學(xué)處理進(jìn)行邊緣檢測(cè),最后根據(jù)運(yùn)動(dòng)員號(hào)碼圖像的形態(tài)和顏色特征,對(duì)號(hào)碼區(qū)域進(jìn)行篩選,精確定位運(yùn)動(dòng)員號(hào)碼區(qū)域;
字符分割的步驟:即根據(jù)號(hào)碼區(qū)域定位步驟的定位結(jié)果,首先采用連通域標(biāo)記算法對(duì)字符進(jìn)行粗分割,根據(jù)字符粗分割的結(jié)果,找到各個(gè)字符的中心點(diǎn),然后將第一個(gè)字符中心點(diǎn)與最后一個(gè)字符中心點(diǎn)的連線與水平直線的夾角作為號(hào)碼區(qū)域圖像的傾斜角進(jìn)行傾斜校正,接著根據(jù)單個(gè)字符的統(tǒng)計(jì)寬度,再采用垂直投影法對(duì)字符做進(jìn)一步的字符分割,從而有效分割出運(yùn)動(dòng)員號(hào)碼區(qū)域的每一個(gè)字符;
字符識(shí)別的步驟:即將經(jīng)字符分割步驟分割后的字符進(jìn)行歸一化處理,提取字符圖像的局部特征和結(jié)構(gòu)特征,將兩者相結(jié)合作為支持向量機(jī)的輸入向量,進(jìn)行訓(xùn)練、預(yù)測(cè),最終實(shí)現(xiàn)運(yùn)動(dòng)員號(hào)碼的識(shí)別。
優(yōu)選的,所述號(hào)碼區(qū)域定位步驟中采用形態(tài)學(xué)處理進(jìn)行邊緣檢測(cè),具體為:求灰度圖像與經(jīng)過(guò)腐蝕處理的灰度圖像的差的絕對(duì)值,接著采用雙閾值法對(duì)圖像進(jìn)行二值化處理。
優(yōu)選的,腐蝕處理采用的腐蝕算法為:
式中,表示當(dāng)前像素的腐蝕值,分別表示當(dāng)前像素的左、右、上和下像素的灰度值。
優(yōu)選的,采用雙閾值法對(duì)圖像進(jìn)行二值化處理中,采用公式為:
,
式中,為當(dāng)前像素的灰度值,為當(dāng)前像素的飽和度,,為整幅圖像最大灰度值的50%,為0.25。優(yōu)選的,所述字符分割步驟中找到各個(gè)字符的中心點(diǎn),中心點(diǎn)的橫坐標(biāo)計(jì)算公式如下:
,
中心點(diǎn)的縱坐標(biāo)計(jì)算公式如下:
,
其中,分別為字符左右邊界的橫坐標(biāo),分別為字符上邊邊界的縱坐標(biāo)。
優(yōu)選的,所述傾斜校正采用的算法為:
設(shè)圖像的傾斜角度為,圖像的中心點(diǎn),圖像旋轉(zhuǎn)后的新像素點(diǎn)的值與源圖像中像素點(diǎn)的值之間的關(guān)系如公式如下:
。
優(yōu)選的,所述字符識(shí)別步驟中對(duì)字符提取的特征包括32個(gè)局部特征和9個(gè)結(jié)構(gòu)特征,其中32個(gè)局部特征提取方式如下:
將單個(gè)字符歸一化成大小為32×16的圖像,再將圖像分成32個(gè)4×4的網(wǎng)格小塊,統(tǒng)計(jì)每小塊區(qū)域的黑色像素?cái)?shù)作為字符的特征,從而獲到32個(gè)局部特征;
9個(gè)字符結(jié)構(gòu)特征提取方式如下:
字符的高寬比k,如果k大于2,則特征值為1,否則為0;
字符上半部分與下半部分寬度的比較,如果字符的上半寬度大于下半寬度,則特征值為1,否則為0;
橫貫間隙,是指在指定區(qū)域內(nèi)是否存在一行像素全部是白色的,將字符按田字格劃分為左上、右上、左下和右下四個(gè)塊,判斷各個(gè)塊中是否存在橫貫間隙,如果存在,則特征值為1,否則為0,從而得到四個(gè)橫貫間隙特征;
封閉的內(nèi)部連通區(qū)域,是指字符筆劃線圍成的一個(gè)封閉的內(nèi)部連通域,分別判斷字符的上半部分、下半部分以及整個(gè)字符是否存在這種封閉的內(nèi)部連通域,如果存在,則特征值為1,否則為0,從而得到三個(gè)內(nèi)部封閉連同域特征;
從而,每個(gè)字符總共提取了41個(gè)特征,包括32個(gè)局部特征和9個(gè)結(jié)構(gòu)特征,組成了一個(gè)41維的特征向量作為支持向量機(jī)的輸入向量。
本發(fā)明的技術(shù)方案具有以下有益效果:
本發(fā)明的技術(shù)方案,針對(duì)復(fù)雜背景下的多運(yùn)動(dòng)員號(hào)碼識(shí)別以及號(hào)碼會(huì)發(fā)生傾斜、扭曲、粘連等現(xiàn)象,通過(guò)對(duì)運(yùn)動(dòng)員的號(hào)碼進(jìn)行準(zhǔn)確定位,然后進(jìn)行粘連字符的分割,最后通過(guò)特征提取,作為支持向量機(jī)的輸入向量,從而達(dá)到對(duì)運(yùn)動(dòng)員號(hào)碼進(jìn)行有效識(shí)別的目的。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例所述的基于號(hào)碼識(shí)別的馬拉松比賽照片管理方法的流程圖;
圖2為本發(fā)明實(shí)施例所述的馬拉松比賽照片管理系統(tǒng)的功能框架圖。
圖3為本發(fā)明實(shí)施例所述的馬拉松比賽照片管理系統(tǒng)的服務(wù)器端功能界面;
圖4為本發(fā)明實(shí)施例所述的馬拉松比賽照片管理系統(tǒng)的客戶(hù)端功能界面。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,一種基于號(hào)碼識(shí)別的運(yùn)動(dòng)員檢測(cè)算法
包含號(hào)碼區(qū)域定位、字符分割與識(shí)別三個(gè)部分:
(1)復(fù)雜背景下多運(yùn)動(dòng)員號(hào)碼區(qū)域定位。對(duì)單幀運(yùn)動(dòng)員比賽圖像,先后通過(guò)灰度化、邊緣檢測(cè)、二值化、目標(biāo)區(qū)域篩選等處理來(lái)實(shí)現(xiàn)號(hào)碼區(qū)域的定位。邊緣檢測(cè)部分,提出了一種基于形態(tài)學(xué)處理的算法,即:將灰度圖像先做腐蝕處理,再與原灰度圖作差,取絕對(duì)值作為圖像邊緣檢測(cè)的結(jié)果。其腐蝕算法如下公式(1)所示:
(1),
式中,表示當(dāng)前像素的腐蝕值,分別表示當(dāng)前像素的左、右、上、下像素的灰度值。設(shè)置雙閾值進(jìn)行二值化處理,算法原理如公式(2)所示:
(2),
式中,為當(dāng)前像素的灰度值,為當(dāng)前像素的飽和度,,為整幅圖像最大灰度值的50%,為0.25。
號(hào)碼區(qū)域篩選,結(jié)合運(yùn)動(dòng)員號(hào)牌的顏色特征(白底黑字)、形狀特征(寬高比大于2)對(duì)多個(gè)運(yùn)動(dòng)員號(hào)碼區(qū)域進(jìn)行定位。
(2)粘連字符的分割。本技術(shù)方案先采用連通域標(biāo)記法對(duì)字符進(jìn)行了粗分割,根據(jù)字符粗分割的結(jié)果,找到各個(gè)字符的中心點(diǎn)。然后將第一個(gè)字符中心點(diǎn)與最后一個(gè)字符中心點(diǎn)的連線與水平直線的夾角作為號(hào)碼區(qū)域圖像的傾斜角進(jìn)行傾斜校正。接著根據(jù)單個(gè)字符的統(tǒng)計(jì)寬度,再采用垂直投影法對(duì)字符做進(jìn)一步的分割,從而有效分割出運(yùn)動(dòng)員號(hào)碼區(qū)域的每一個(gè)字符。其中,中心點(diǎn)的橫和縱坐標(biāo)計(jì)算如式(3)和式(4)所示。
, (3)
, (4)
其中,分別為字符左右邊界的橫坐標(biāo),分別為字符上下邊界的縱坐標(biāo)。
(3)基于支持向量機(jī)的號(hào)碼識(shí)別。即將經(jīng)字符分割步驟分割后的字符進(jìn)行歸一化處理,提取字符圖像的局部特征和結(jié)構(gòu)特征,將兩者相結(jié)合作為支持向量機(jī)的輸入向量,進(jìn)行訓(xùn)練、預(yù)測(cè),最終實(shí)現(xiàn)運(yùn)動(dòng)員號(hào)碼的識(shí)別。
運(yùn)動(dòng)員號(hào)碼識(shí)別:首先對(duì)原圖像進(jìn)行灰度化處理,然后采用形態(tài)學(xué)處理進(jìn)行邊緣檢測(cè),即:求灰度圖像與經(jīng)過(guò)腐蝕處理的灰度圖像的差的絕對(duì)值,接著采用雙閾值法對(duì)圖像進(jìn)行二值化處理,最后根據(jù)運(yùn)動(dòng)員號(hào)碼圖像的形態(tài)、顏色特征,對(duì)目標(biāo)區(qū)域圖像進(jìn)行篩選,精確定位運(yùn)動(dòng)員號(hào)碼區(qū)域。根據(jù)定位結(jié)果,首先采用連通域標(biāo)記算法對(duì)字符進(jìn)行粗分割,根據(jù)字符粗分割的結(jié)果,找到各個(gè)字符的中心點(diǎn),然后將第一個(gè)字符中心點(diǎn)與最后一個(gè)字符中心點(diǎn)的連線與水平直線的夾角作為號(hào)碼區(qū)域圖像的傾斜角進(jìn)行傾斜校正,接著根據(jù)單個(gè)字符的統(tǒng)計(jì)寬度,再采用垂直投影法對(duì)字符做進(jìn)一步的字符分割,從而有效分割出運(yùn)動(dòng)員號(hào)碼區(qū)域的每一個(gè)字符。將分割后字符進(jìn)行特征提取,作為支持向量機(jī)的輸入向量進(jìn)行字符識(shí)別。
連通域標(biāo)記算法就是讓每個(gè)單獨(dú)的連通區(qū)域形成一個(gè)被標(biāo)識(shí)的塊,連通區(qū)域中各個(gè)像素相互之間鄰接,包括上下、左右、對(duì)角鄰接。
傾斜校正算法:設(shè)圖像的傾斜角度為,圖像的中心點(diǎn),圖像旋轉(zhuǎn)后的新點(diǎn)素的值等于源圖像中像素點(diǎn)的值,它們之間的關(guān)系如公式(5)所示:
(5)
字符特征提取方式:將單個(gè)字符歸一化成大小為32×16的圖像,再將圖像分成32個(gè)4×4的網(wǎng)格小塊,統(tǒng)計(jì)每小塊區(qū)域的黑色像素?cái)?shù),作為字符的特征,得到32個(gè)字符局部特征,然后再提取9個(gè)字符結(jié)構(gòu)特征,組成一個(gè)41維的向量作為支持向量機(jī)的輸入向量。
字符識(shí)別步驟中對(duì)字符提取的特征包括32個(gè)局部特征和9個(gè)結(jié)構(gòu)特征,其中32個(gè)局部特征提取方式如下:
將單個(gè)字符歸一化成大小為32×16的圖像,再將圖像分成32個(gè)4×4的網(wǎng)格小塊,統(tǒng)計(jì)每小塊區(qū)域的黑色像素?cái)?shù)作為字符的特征,從而獲到32個(gè)局部特征;
9個(gè)字符結(jié)構(gòu)特征提取方式如下:
字符的高寬比k,如果k大于2,則特征值為1,否則為0;
字符上半部分與下半部分寬度的比較,如果字符的上半寬度大于下半寬度,則特征值為1,否則為0;
橫貫間隙,是指在指定區(qū)域內(nèi)是否存在一行像素全部是白色的,將字符按田字格劃分為左上、右上、左下和右下四個(gè)塊,判斷各個(gè)塊中是否存在橫貫間隙,如果存在,則特征值為1,否則為0,從而得到四個(gè)橫貫間隙特征;
封閉的內(nèi)部連通區(qū)域,是指字符筆劃線圍成的一個(gè)封閉的內(nèi)部連通域,分別判斷字符的上半部分、下半部分以及整個(gè)字符是否存在這種封閉的內(nèi)部連通域,如果存在,則特征值為1,否則為0,從而得到三個(gè)內(nèi)部封閉連同域特征;
從而,每個(gè)字符總共提取了41個(gè)特征,包括32個(gè)局部特征和9個(gè)結(jié)構(gòu)特征,組成了一個(gè)41維的特征向量作為支持向量機(jī)的輸入向量。
支持向量機(jī)是一種監(jiān)督學(xué)習(xí)方法,在解決小樣本、非線性及高維模式識(shí)別中表現(xiàn)出許多特有的優(yōu)勢(shì)。
系統(tǒng)構(gòu)建模塊:在運(yùn)動(dòng)員號(hào)碼識(shí)別方法的基礎(chǔ)上,在VS2008開(kāi)發(fā)環(huán)境下,建立了一個(gè)具有可移植性的基于對(duì)話框的MFC Windows應(yīng)用程序。在VS2008平臺(tái)上成功連接了MySQL數(shù)據(jù)庫(kù),構(gòu)建了一個(gè)完整的馬拉松比賽照片管理系統(tǒng),其功能架構(gòu)如圖2所示,該管理系統(tǒng)共分為客戶(hù)端和服務(wù)器端兩大功能模塊,服務(wù)器端對(duì)運(yùn)動(dòng)員號(hào)碼圖像進(jìn)行自動(dòng)識(shí)別,并將識(shí)別結(jié)果保存到數(shù)據(jù)庫(kù)??蛻?hù)端用戶(hù)可以根據(jù)自己的參賽號(hào)碼或者姓名查詢(xún)并下載自己的比賽照片。
服務(wù)器端功能界面如圖3所示,通過(guò)點(diǎn)擊“批量上傳”按鈕,一鍵實(shí)現(xiàn)馬拉松比賽照片批量自動(dòng)識(shí)別和結(jié)果保存功能,即遍歷文件夾中所有的BMP圖片,每讀取一張BMP圖片就對(duì)圖片進(jìn)行一系列處理,包括
(1)馬拉松比賽照片識(shí)別前的預(yù)處理;
(2)根據(jù)號(hào)碼布的紋理和形狀特征進(jìn)行號(hào)碼區(qū)域定位;
(3)對(duì)號(hào)碼區(qū)域圖像進(jìn)行傾斜校正;
(4)進(jìn)行字符分割;
(5)采用支持向量機(jī)對(duì)運(yùn)動(dòng)員號(hào)碼進(jìn)行識(shí)別,并將識(shí)別結(jié)果保存到數(shù)據(jù)庫(kù)中。
點(diǎn)擊“單張上傳”按鈕,即打開(kāi)并讀取單張照片,然后需要點(diǎn)擊識(shí)別過(guò)程的各個(gè)操作按鈕,才能對(duì)照片進(jìn)行以上一系列處理,每個(gè)過(guò)程的處理結(jié)果將在界面中顯示出來(lái),方便系統(tǒng)性能的檢查。
客戶(hù)端功能界面如圖4所示,參賽運(yùn)動(dòng)員可以根據(jù)自己的參賽號(hào)碼查詢(xún)并下載自己的比賽照片。如果用戶(hù)忘記了自己的參賽號(hào)碼,也可通過(guò)輸入自己的姓名來(lái)查詢(xún)。因?yàn)閿?shù)據(jù)庫(kù)中還存有一份關(guān)于運(yùn)動(dòng)員姓名與對(duì)應(yīng)的參賽號(hào)碼的數(shù)據(jù)表格。當(dāng)用戶(hù)輸入姓名時(shí),先根據(jù)姓名查找到對(duì)應(yīng)的參賽號(hào)碼,再根據(jù)參賽號(hào)碼查詢(xún)對(duì)應(yīng)的參賽照片,在點(diǎn)擊“查詢(xún)”按鈕后,客戶(hù)使用界面將顯示出查詢(xún)結(jié)果——查詢(xún)到的照片數(shù)量,通過(guò)點(diǎn)擊“上翻”、“下翻”按鈕,可以一一瀏覽這些照片,點(diǎn)擊“下載”按鈕,即可下載這些照片到本地。
最后應(yīng)說(shuō)明的是:以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。