本發明涉及圖像矯正和識別技術領域,尤其涉及一種基于定位點的旋轉數字識別方法及系統。
背景技術:
王雄華等人在論文《快速定位的QR碼校正方法》中提出一種基于圖像特征的QR碼校正算法,該方法使用多方向掃描像素點的方法找到條碼各個頂點坐標,采用逆投影變換完成圖像的幾何校正,但是該方法搜索定位點容易受到背景環境的干擾,而且受圖像質量影響明顯。
李瑩等人在論文《采用特征點提取算法的車牌傾斜校正方法研究》中提出基于非線性雙邊濾波器的Harris算法,然后提取出車牌區域的字符角點信息,再結合慣性主軸算法對傾斜車牌進行矯正。該方法中容易出現偽角點,導致慣性主軸并不準確,進而導致矯正存在偏差。
李彥等人在《基于SIFT特征匹配的車牌識別方法》中提出了一種基于SIFT特征匹配的車牌識別方法,該方法使用超分辨率重建圖像,然后對重建圖像進行SIFT特征匹配識別。該方法的匹配速度較快,但是準確率不高。
彭博等人在《基于深度學習的車標識別方法研究》中采用PCA對車標進行特征提取和過濾噪聲,然后使用卷積神經網絡(CNN)來識別視頻中的車標。該方法充分利用了卷積神經網絡多層次的提取深層的隱式特征,能夠有效地表達字符的組合構成。然而,該方法的參數調整非常復雜,訓練樣本量大,各層參數個數多,并且訓練速度慢,這不利于非專業人員在各種硬件性能有限的車牌識別設備上擴展使用。
技術實現要素:
本發明要解決的技術問題在于針對現有技術中定位矯正準確率低以及識別準確率低的缺陷,提供一種基于定位點的旋轉數字識別方法及系統。
一種基于定位點的旋轉數字識別方法,該方法包括:
S1、對輸入的視頻幀圖像進行預處理,得到相應的灰度圖像;
S2、對所述灰度圖像進行輪廓提取,得到所述灰度圖像中的色塊的定位點位置、寬度和長度;
S3、根據所述定位點位置對所述灰度圖像進行旋轉矯正,得到矯正圖像和矯正定位點位置;
S4、根據所述矯正定位點位置、所述色塊的寬度和長度對所述矯正圖像進行圖像分割,得到只包含數字部分的數字圖像;
S5、對所述數字圖像進行灰度化,通過深度學習模型和分類器得到所述數字圖像中的數字。
本發明所述的旋轉數字識別方法,步驟S2包括:
S21、對所述灰度圖像進行輪廓提取,并通過道格拉斯-普克算法對提取到的輪廓進行四邊形逼近處理,得到相應的色塊;
S22、當確定存在三個色塊時,計算得到該三個色塊的中心點位置、寬度和長度,將該三個中心點位置分別作為三個色塊的定位點位置。
本發明所述的旋轉數字識別方法,步驟S3包括:
S31、根據三個定位點構成三角形的幾何特征,確定旋轉矯正的旋轉角;
S32、根據所述旋轉角以所述灰度圖像的中心為旋轉原點對所述灰度圖像進行旋轉矯正,得到矯正圖像和矯正定位點位置。
本發明所述的旋轉數字識別方法,步驟S1中,對輸入的視頻幀圖像進行預處理包括:對所述視頻幀圖像進行灰度化處理、下采樣處理、上采樣處理以及二值化處理。
本發明所述的旋轉數字識別方法,步驟S5中,所述深度學習模型為PCANet模型,所述分類器為SVM分類器。
一種基于定位點的旋轉數字識別系統,該系統包括:
預處理模塊,用于對輸入的視頻幀圖像進行預處理,得到相應的灰度圖像;
輪廓提取模塊,連接所述預處理模塊,用于對所述灰度圖像進行輪廓提取,得到所述灰度圖像中的色塊的定位點位置、寬度和長度;
旋轉矯正模塊,連接所述輪廓提取模塊,用于根據所述定位點位置對所述灰度圖像進行旋轉矯正,得到矯正圖像和矯正定位點位置;
圖像分割模塊,連接所述旋轉矯正模塊,用于根據所述矯正定位點位置、所述色塊的寬度和長度對所述矯正圖像進行圖像分割,得到只包含數字部分的數字圖像;
數字識別模塊,連接所述圖像分割模塊,用于對所述數字圖像進行灰度化,通過深度學習模型和分類器得到所述數字圖像中的數字。
本發明所述的旋轉數字識別系統中,所述輪廓提取模塊包括:
提取子模塊,連接所述預處理模塊,用于對所述灰度圖像進行輪廓提取,并通過道格拉斯-普克算法對提取到的輪廓進行四邊形逼近處理,得到相應的色塊;
計算子模塊,連接所述提取子模塊,用于當確定存在三個色塊時,計算得到該三個色塊的中心點位置、寬度和長度,將該三個中心點位置分別作為三個色塊的定位點位置。
本發明所述的旋轉數字識別系統中,所述旋轉矯正模塊包括:
確定子模塊,連接所述計算子模塊,用于根據三個定位點構成三角形的幾何特征,確定旋轉矯正的旋轉角;
矯正子模塊,連接所述確定子模塊和所述圖像分割模塊,用于根據所述旋轉角以所述灰度圖像的中心為旋轉原點對所述灰度圖像進行旋轉矯正,得到矯正圖像和矯正定位點位置。
本發明所述的旋轉數字識別系統中,所述預處理模塊中,對輸入的視頻幀圖像進行預處理包括:對所述視頻幀圖像進行灰度化處理、下采樣處理、上采樣處理以及二值化處理。
本發明所述的旋轉數字識別系統中,所述數字識別模塊中,所述深度學習模型為PCANet模型,所述分類器為SVM分類器。
本發明產生的有益效果是:提供一種基于定位點的旋轉數字識別方法及系統,通過色塊計算定位點,根據定位點位置關系計算矯正角度,根據矯正角度對圖像進行矯正,保證了定位點和矯正角度的準確性;識別率高,參數設置較簡單,訓練速度快,實際使用時可以直接載入訓練好的網絡進行使用。
附圖說明
下面將結合附圖及實施例對本發明作進一步說明,附圖中:
圖1是本發明實施例的一種基于定位點的旋轉數字識別方法的流程示意圖。
圖2是本發明實施例的一種基于定位點的旋轉數字識別方法的分步驟流程示意圖。
圖3是本發明實施例的一種基于定位點的旋轉數字識別方法的分步驟流程示意圖。
圖4是本發明實施例的一種基于定位點的旋轉數字識別系統的結構示意圖。
圖5是本發明實施例的一種基于定位點的旋轉數字識別方法的流程示意圖。
圖6是本發明實施例的矯正前的灰度圖像示意圖。
圖7是本發明實施例的矯正后的灰度圖像示意圖。
圖8是本發明實施例的矯正角度示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,并不用于限定本發明。
本發明實施例中,如圖1所示,一種基于定位點的旋轉數字識別方法,該方法包括:
S1、對輸入的視頻幀圖像進行預處理,得到相應的灰度圖像;
S2、對灰度圖像進行輪廓提取,得到灰度圖像中的色塊的定位點位置、寬度和長度;
S3、根據定位點位置對灰度圖像進行旋轉矯正,得到矯正圖像和矯正定位點位置;
S4、根據矯正定位點位置、色塊的寬度和長度對矯正圖像進行圖像分割,得到只包含數字部分的數字圖像;
S5、對數字圖像進行灰度化,通過深度學習模型和分類器得到數字圖像中的數字。
本發明實施例中,如圖2所示,步驟S2包括:
S21、對灰度圖像進行輪廓提取,并通過道格拉斯-普克算法對提取到的輪廓進行四邊形逼近處理,得到相應的色塊;
S22、當確定存在三個色塊時,計算得到該三個色塊的中心點位置、寬度和長度,將該三個中心點位置分別作為三個色塊的定位點位置。
上述實施例中,通過道格拉斯-普克算法對提取到的輪廓進行四邊形逼近處理,使得輪廓逼近四邊形,逼近精度值小于輪廓周長的0.02倍,輪廓最小面積大于200像素,輪廓最大面積小于40000像素,且所有拐點夾角的余弦值均小于0.2;四個輪廓對應一個色塊,如果輪廓總數為12,則讀取色塊頂點位置,并將色塊中心作為定位點位置,計算色塊的寬度和長度,否則,轉到下一幀圖像重新開始識別。
本發明實施例中,如圖3所示,步驟S3包括:
S31、根據三個定位點構成三角形的幾何特征,確定旋轉矯正的旋轉角;
S32、根據旋轉角以灰度圖像的中心為旋轉原點對灰度圖像進行旋轉矯正,得到矯正圖像和矯正定位點位置。
上述實施例中,如圖7所示,根據三個定位點連接所構成三角形的幾何特點,確定矯正前后三角形各個頂點的映射關系。可以得出,矯正前后定位點所構成三角形的直角所對的邊為最長邊,該最長邊所對的頂點即為頂點L,因此計算定位點構成的三角形所有邊中最長邊所對應的頂點即是矯正前后的頂點L。以逆時針為正方向且兩邊所成夾角小于等于90度,三角形中另外任意一條邊到最長邊的角度為正,則與L構成這條邊的頂點是矯正前后的頂點B;三角形中另外任意一條邊到最長邊的角度為負,則與L構成這條邊的頂點是矯正前后的頂點R。由于矯正后的三個頂點所成直角三角形位置關系已知,又找出了各個頂點的映射關系,因此只需計算映射前后對應邊所成的夾角即為旋轉矯正的夾角。該旋轉角的計算公式可表示為:
α=arctan(k)
其中,k表示L和R所成直線的斜率,α表示LR所成直線與x軸夾角的弧度數,逆時針為正方向,而degree表示旋轉角的弧度。圖6為矯正前的圖像,通過對第一步中經過灰度化、下采樣和上采樣后的圖像進行旋轉變換,得到矯正后的圖像(如圖7)。
該計算degree的公式是由各點間的多種位置情況計算得到。如圖8所示,R0為矯正后的R所在位置,degreei(i=1,2,3,4)分別表示為R在Ri位置時旋轉角度的大小。以L為原點,以水平方向向右為x軸正方向,以豎直向上為y軸正方向,構建直角坐標系。由R與L為不同點可得,R.x=L.x與R.y=L.y不同時成立。若R.x>L.x時,R在第一象限R1、第四象限R4或x軸正方向上,則degree=α;若R.x<L.x時,R在第二象限R2、第三象限R3或x軸負方向上,則若R.x=L.x且R.y>L.y時,R在y軸正方向上,即若R.x=L.x且R.y<L.y時,R在y軸正方向上,即因此,可以得到上述的角度計算公式。
利用計算出的色塊的寬度nWidth和長度nHeight計算切割區域的寬和高,矯正后定位點L(左上)、B(左下)、R(右上),切割區域的左上角頂點為該區域的寬為nW=|R.x-L.x-2nWidth-pad|,高為nH=|B.y-L.y-2nHeight-pad|。其中,pad是根據實際使用設置的一個補償值,用于微調切割區域的大小。最后,根據該切割區域進行圖像分割,得到只包含數字部分的圖像。
本發明實施例中,步驟S1中,對輸入的視頻幀圖像進行預處理包括:對視頻幀圖像進行灰度化處理、下采樣處理、上采樣處理以及二值化處理。
上述實施例中,二值化處理可以采用OTSU算法和Kittle算法;灰度化處理可以采用分量法、最大值法、平均值法以及加權平均法;上采樣就是采集模擬信號的樣本。采樣是將時間上、幅值上都連續的信號,在采樣脈沖的作用下,轉換成時間、幅值上離散的信號,所以采樣又稱為波形的離散化過程。通常采樣指的是下采樣,也就是對信號的抽取。其實,上采樣和下采樣都是對數字信號進行重采,重采的采樣率與原來獲得該數字信號(比如從模擬信號采樣而來)的采樣率比較,大于原信號的稱為上采樣,小于的則稱為下采樣。
本發明實施例中,步驟S5中,深度學習模型為PCANet模型,分類器為SVM分類器。
上述實施例中,PCANet是一個基于CNN的簡化Deep Learning模型,它是一個深度學習網絡,該網絡采用PCA的方法對圖像進行多層次的主成分分析和卷積操作,最后統計直方圖并生成圖像的特征編碼。本技術方案采用基于PCANet的方法進行字符特征提取并使用SVM分類器進行有監督的分類識別,該方法有效地結合了神經網絡和統計學習的特點來提取隱式特征,對各種干擾具有較好的魯棒性。
本發明還提供一種基于定位點的旋轉數字識別系統,如圖4所示,該系統包括:
預處理模塊1,用于對輸入的視頻幀圖像進行預處理,得到相應的灰度圖像;
輪廓提取模塊2,連接預處理模塊1,用于對灰度圖像進行輪廓提取,得到灰度圖像中的色塊的定位點位置、寬度和長度;
旋轉矯正模塊3,連接輪廓提取模塊2,用于根據定位點位置對視頻幀圖像進行旋轉矯正,得到矯正圖像和矯正定位點位置;
圖像分割模塊4,連接旋轉矯正模塊3,用于根據矯正定位點位置、色塊的寬度和長度對矯正圖像進行圖像分割,得到只包含數字部分的數字圖像;
數字識別模塊5,連接圖像分割模塊4,用于對數字圖像進行灰度化,通過深度學習模型和分類器得到數字圖像中的數字。
本發明實施例中,輪廓提取模塊2包括:
提取子模塊21,連接預處理模塊1,用于對灰度圖像進行輪廓提取,并通過道格拉斯-普克算法對提取到的輪廓進行四邊形逼近處理,得到相應的色塊;
計算子模塊22,連接提取子模塊21,用于當確定存在三個色塊時,計算得到該三個色塊的中心點位置、寬度和長度,將該三個中心點位置分別作為三個色塊的定位點位置。
本發明實施例中,旋轉矯正模塊3包括:
確定子模塊31,連接計算子模塊22,用于根據三個定位點構成三角形的幾何特征,確定旋轉矯正的旋轉角;
矯正子模塊32,連接確定子模塊31和圖像分割模塊4,用于根據旋轉角以視頻幀圖像的中心為旋轉原點對視頻幀圖像進行旋轉矯正,得到矯正圖像和矯正定位點位置。
本發明實施例中,預處理模塊1中,對輸入的視頻幀圖像進行預處理包括:對視頻幀圖像進行灰度化處理、下采樣處理、上采樣處理以及二值化處理。
本發明實施例中,數字識別模塊5中,深度學習模型為PCANet模型,分類器為SVM分類器。
本發明的一個具體實施例中,如圖5所示,輸入視頻幀圖像,對該視頻幀圖像進行灰度化處理、下采樣處理、上采樣處理以及二值化處理,對預處理后的圖像進行輪廓提取,確定提取到的色塊個數達到三個時根據提取到的輪廓計算三個色塊的定位點位置、寬度和長度,根據三個定位點構成的三角形的幾何特征得到旋轉矯正的旋轉角,根據旋轉角以視頻幀圖像的中心為旋轉原點對原視頻幀圖像進行旋轉矯正,最后進行圖像分割和數字識別,得到識別結果。
應當理解的是,對本領域普通技術人員來說,可以根據上述說明加以改進或變換,而所有這些改進和變換都應屬于本發明所附權利要求的保護范圍。