• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于改進Faster R-CNN 的算式檢測與定位

    2022-02-07 09:20:22周慶華
    智能計算機與應用 2022年12期
    關鍵詞:錨框原圖特征提取

    王 巍,周慶華

    (長沙理工大學 物理與電子科學學院,長沙 410004)

    0 引言

    小學四則混合運算題一般由加、減、乘、除、括號和數(shù)字組成,數(shù)字又包含印刷體和手寫體兩種類型。從廣義上來講,用機器視覺方法對這種基礎算式的檢測與識別,屬于光學字符識別(Optical Character Recognition,OCR)。傳統(tǒng)OCR 技術主要分為文字區(qū)域定位、行列分割、分類器識別等幾個步驟,其中文字區(qū)域定位、行列分割在本質(zhì)上就是文本檢測與定位。研究可知,文字區(qū)域定位是對文字顏色、亮度、邊緣等信息進行聚類,進而分離出文字區(qū)域與非文字區(qū)域。一般情況下多是采用投影法[1]進行行列分割,行列分割的目的是提取出單字,主要方法是利用文字在行列間存在間隙的特征,由此來找出行列分割點。在背景單一、數(shù)據(jù)簡單、容易分割的情況下,比如車牌識別[2-3]和身份證識別[4-5]等,傳統(tǒng)OCR 方法一般都能達到較好的效果。然而,在自然場景中的圖像文本檢測[6]時,往往存在背景復雜、有噪聲干擾、字符之間有粘連/重疊等情況。具體來說,本文研究的算術題題卡一般是由家長自行打印,打印紙中會有背景圖案干擾,手寫答案也會有粘連/重疊的情況,使得傳統(tǒng)OCR 方法的區(qū)域定位和行列分割準確度大打折扣。在此背景下,近年來提出的深度學習[7]OCR 技術就表現(xiàn)出明顯優(yōu)勢。

    與傳統(tǒng)OCR 方法相比而言,深度學習OCR 算法無需進行文字的單字分割,可以直接對整行文字進行識別[8]。因此,在深度學習的OCR 技術中,使用合適的目標檢測算法對文本進行檢測與定位是至關重要的一個環(huán)節(jié)。Ren 等人[9]在2017 年提出了Faster R-CNN,被證實是一種較高效的目標檢測算法。由于Faster R-CNN 的檢測對象只是PASCAL VOC 2007 數(shù)據(jù)集上的20 類目標,故對其它特定目標的檢測效果并不理想。因此,后期又相繼提出了基于Faster R-CNN 的改進算法[10~13]。馮小雨等人[14]對Faster R-CNN 算法進行改進,將其專門用來檢測空中目標。黃繼鵬等人[15]提出面向小目標的多尺度Faster R-CNN 檢測算法,提高了Faster RCNN 在小目標檢測任務上的平均精度。王憲保等人[16]提出了一種分裂機制的改進Faster R-CNN 算法,獲得了比原始Faster R-CNN 更好的檢測效果。黃寧霞等人[17]增加基礎網(wǎng)絡的深度,采用雙線性插值和soft-NMS[18]等方法改進Faster R-CNN,在不同場景的人行道障礙物檢測中獲得了不錯的魯棒性。

    然而,本文處理的基礎算式具有長短不一、手寫數(shù)字隨機、定位要求高等特點,上述改進算法不適用于算式的檢測與定位??紤]到基礎算式的上述特點,本文提出了一種基于聚類的快速區(qū)域卷積網(wǎng)絡(faster region based convolutional neural network based on clustering,CF R-CNN)算法,CF R-CNN 算法主要有2 方面的改進:

    (1)用K-means 聚類算法[19]得出更適合的anchor 參數(shù),使模型收斂更快。

    (2)參考Mask R-CNN[20]的處理方法,把ROI Pooling 改為ROI Align,避免了ROI Pooling 中2 次量化帶來的影響,提高了檢測精度。實驗表明,在基礎算式檢測定位中,本文提出的CF R-CNN 有更好的性能。

    1 數(shù)據(jù)集

    為了完成用于基礎算式檢測定位的CF R-CNN網(wǎng)絡的訓練,研究制作了一個包含每個算式定位框信息的題卡數(shù)據(jù)集??紤]到教師和家長制作題卡并進行識別的常見場景,每頁題卡采用每行2 個算式、每頁25 行、A4 紙打印的形式。研究中以隨機的方式生成了500 頁的口算題,數(shù)據(jù)集的一個樣本頁如圖1 所示,每個算式由2~3 個整數(shù)或小數(shù)的四則混合運算組成,部分含有括號、鉛筆書寫答案,用手機攝像頭拍照。

    圖1 數(shù)據(jù)集樣本示例Fig. 1 Sample of the dataset

    2 CF R-CNN 算法

    CF R-CNN 的網(wǎng)絡結構如圖2 所示。選擇Faster R-CNN 作為基礎的網(wǎng)絡框架,主要由特征提取網(wǎng)絡、區(qū)域建議網(wǎng)絡、ROI Align 和分類回歸網(wǎng)絡組成。對此擬做闡釋分述如下。

    圖2 CF R-CNN 網(wǎng)絡結構框架圖Fig. 2 Frame of CF R-CNN

    2.1 特征提取網(wǎng)絡

    圖片輸入進來,先歸一化到800×600 像素,接下來是選取VGG16 的前面部分層的基本結構作為特征提取網(wǎng)絡,具體見圖2。由圖2 看到,主要由13個卷積層(Conv Layer)、13 個激勵層、4 個池化層(Pooling Layer)組成,卷積層全部采用3×3 大小的卷積核,步長為1(stride =1),填充1 圈0(pad =1);所有激勵層采用修正線性單元函數(shù)(the rectified linear unit,Relu);所有池化層采用最大池化(Max Pooling),2×2 大小的池化核,步長為2(stride =2),不填充(pad =0)。經(jīng)過一次池化層尺寸會變?yōu)樵瓉淼囊话耄虼俗罱K得到的特征圖(feature map)尺寸變?yōu)樵瓐D的1/16。

    2.2 改進的區(qū)域建議網(wǎng)絡

    為了減少參數(shù)數(shù)量,節(jié)省訓練時間,改進的區(qū)域建議網(wǎng)絡(Region Proposal Network,RPN)與分類回歸網(wǎng)絡共享特征提取網(wǎng)絡,在特征圖上做3×3 的滑動窗口,把每個滑動窗口的中心映射到原圖,生成k種不同的錨框來得到期望的目標建議框,原始Faster R-CNN 采用k =9 種錨框,如圖3(a)所示,這9 個錨框由3 種長寬比[1 ∶2,1 ∶1,2 ∶1],3 種尺寸[1282,2562,5122]組成,錨框長寬比和尺寸均不能適用于本文的算式檢測與定位。為了找到適合算式檢測定位的錨框,本文采用K-means 聚類算法,在第3 節(jié)實驗與分析得出k =nw × nr =16、共16 種錨框(nw =4 種寬度值[64,80,96,112]和nr =4 種高寬比例[0.20,0.25,0.30,0.36]),如圖3(b)所示。

    圖3 錨框Fig. 3 Anchors

    生成的錨框(anchor boxes)中有一些是超出圖片邊界的,把這部分錨框去除,利用非極大值抑制(Non-Maximum Suppression,NMS)[21]去除重疊的框。對剩下的錨框分2 條路線處理。線路一負責判斷是否為目標對象,線路二負責計算目標對象的錨框(anchor boxes)與真實框(ground truth)在原圖中的偏移量,最終得到區(qū)域建議框(region proposal)。

    2.3 ROI Align

    原始 Faster R -CNN 在 RPN 后使用 ROI Pooling,用來接收 RPN 輸出的區(qū)域建議框(proposal)和原始特征圖(feature map)。該過程可詳見圖4 中的虛線流程,假如原圖(image)為800×800 大小的正方形,目標建議框為665×665 大小的正方形。第一步,特征提取下采樣16 倍,得到邊長為[800/16]=50 的正方形特征圖(其中,[·]表示向下取整),同時,建議框(proposals)映射到特征圖(feature map),邊長大小變成[665/16] =41。第二步,把尺寸池化到統(tǒng)一大小7×7,進入分類回歸網(wǎng)絡的全連接層,每塊的邊長為41/7 =5.86,是浮點數(shù),做取整操作,?。?1/7]=5。

    圖4 ROI Pooling 和ROI AlignFig. 4 ROI Pooling and ROI Align

    以上2 步都存在取整操作,此后映射回原圖時會帶來坐標的偏差,使得最終的檢測框出現(xiàn)偏差,導致定位不準確,為了解決定位偏差的問題,研究采用ROI Align 替代ROI Pooling。ROI Align 不采用取整操作,而是直接利用浮點數(shù)來進行操作。該過可詳見圖4 中的實線流程。在第一步中,特征圖(feature map)中的建議框(proposals)邊長為665/16 =41.56;在第二步中,池化到7×7 大小時,每塊的邊長為41.56/7 =5.94。ROI Align 有效避免了取整帶來的量化誤差,使得映射回原圖的定位框更精確。

    2.4 分類回歸網(wǎng)絡

    ROI Align 得到的7×7 建議框特征圖(proposal feature maps)進入分類回歸網(wǎng)絡的全連接層,后分2路同時進行。一路進行框坐標值的回歸,得到更精確的目標檢測框;另一路利用softmax函數(shù)進行計算,判斷出目標的種類。

    3 實驗與分析

    本次研究采用圖2 中的基本網(wǎng)絡框架,通過聚類方法得出nw種寬度值和nr種高寬比,把單個錨點的錨框數(shù)目記為k(k =nw ×nr),不同的nw,nr值決定了不同的k值。通過實驗得到網(wǎng)絡在不同k值下的性能,取綜合性能最佳者作為CF R -CNN 網(wǎng)絡,并將其與原始的Faster R -CNN 進行對比驗證。實驗中,把數(shù)據(jù)集分為訓練驗證集和測試集,分別占比80%和20%,訓練50 輪:前40 輪學習率為0.001,后10 輪學習率衰減為0.000 1。

    3.1 實驗環(huán)境

    實驗均在Ubuntu18.04 LTS 操作系統(tǒng)下進行,電腦的中央處理器為Intel(R)Core(TM)i7-10870H,運行內(nèi)存16 GB,一塊NVIDIA GeForce RTX 2060顯卡,使用CUDA 10.0 并行計算架構,cuDNN7.4 深度神經(jīng)網(wǎng)絡GPU 加速庫以及TensorFlow1.13 深度學習框架,所用的編程語言為Python。

    3.2 k 值的確定

    考慮到特征提取網(wǎng)絡的16 倍下采樣,對25 000個算式的寬度值除以16,作為新的寬度值,對其進行聚類分析,得出寬度值分布在4~7 之間(一共4個整數(shù)值:4,5,6,7)??紤]到取1~2 種寬度值,數(shù)目過少,因此,僅選取nw =3 和4 兩個值。取nw =3時,寬度值為4.5、5.7、6.7,選取5、6、7 這3 個值;取nw =4 時,寬度值為4.3、5.3、6.0、7.0,選取4、5、6、7這4 個值。接著對高寬比進行聚類分析,高寬比的值分布在0.2~0.4 之間。分別按3~6 類進行聚類,得出數(shù)據(jù)見表1。選取表1 中的幾種nw ×nr的組合做對比測試,得出訓練時間及AP值。綜合考慮選擇k =nw ×nr =4×4 的組合作為CF R-CNN 網(wǎng)絡參數(shù)。

    表1 不同k 值組合的參數(shù)及性能對比Tab.1 Performance comparison of different k-value combinations

    3.3 性能對比分析

    實驗得出Faster R-CNN 的訓練時間和AP值,并與CF R-CNN 進行對比,對比結果見表2。圖5為二者的損失曲線。由圖5 可以看出,CF R-CNN的訓練時間更短,收斂更迅速,準確度更高。對CF R-CNN 與Faster R-CNN 進行對比測試,測試結果如圖6 所示。圖6 中,圖6(a)是部分的實驗結果,圖6(b)是基于同樣的圖片,運用Faster R-CNN 得到的實驗結果。

    圖5 CF R-CNN 與Faster R-CNN 損失曲線Fig. 5 Loss curve of CF R-CNN and Faster R-CNN

    表2 不同組合的訓練時間和AP 值Tab.2 Training time and AP values for different combinations

    從圖6 對比可以看出,CF R-CNN 的檢測效果更好,把所有的基礎算式都定位出來,而Faster RCNN 每張圖都存在沒有檢測出來的算式(算式35和算式48)。主要原因是Faster R-CNN 的錨框與基礎算式匹配度太低,而CF R-CNN 選用了更準確的錨框尺寸和比例,使得檢測效果得到提升。

    在定位準確度方面,從圖6(b)可以看出,算式37 中手寫數(shù)字9 的上部落在了定位框外;圖6(b)的算式49,最后一個數(shù)字2 全部都處于定位框之外。這些定位的不準確都會帶來后續(xù)的識別偏差,從而造成最終批改系統(tǒng)的錯誤判別。分析主要原因應為ROI Pooling 的2 次量化造成偏差,使得定位框不夠準確,而用ROI Align 替換ROI Pooling 后,消除了這部分偏差,這樣一來定位就會更加準確。

    圖6 測試結果對比圖Fig. 6 Comparison chart of test results

    4 結束語

    為了提高基礎算術題檢測與定位的準確度,研究提出了基于改進Faster R-CNN 的CF R-CNN 方法。由于傳統(tǒng)的Faster R-CNN 中RPN 的3×3、共9種錨框,與基礎算式匹配度不高,不再適用于基礎算式檢測定位。通過創(chuàng)建數(shù)據(jù)集,并對基礎算式的尺寸和比例進行聚類分析,得出多種初始組合,進行實驗對比分析,最終選擇效果最佳的4×4 的16 種組合。用ROI Align 替換ROI Pooling,有效避免了ROI Pooling 兩次量化帶來的偏差。在500 張基礎算式的圖片數(shù)據(jù)集上進行訓練測試,相比于傳統(tǒng)的Faster R-CNN,CF R-CNN 的收斂速度更快、損失更小、定位更準確,為后續(xù)的基礎算式識別和自動批改提供保障。

    猜你喜歡
    錨框原圖特征提取
    基于YOLOv3錨框優(yōu)化的側掃聲吶圖像目標檢測
    信號處理(2022年11期)2022-12-26 13:22:06
    錨框策略匹配的SSD飛機遙感圖像目標檢測
    基于SSD算法的輕量化儀器表盤檢測算法*
    基于GA-RoI Transformer的遙感圖像任意方向目標檢測
    完形:打亂的拼圖
    孩子(2019年5期)2019-05-20 02:52:44
    基于Daubechies(dbN)的飛行器音頻特征提取
    電子制作(2018年19期)2018-11-14 02:37:08
    大家來找茬
    Bagging RCSP腦電特征提取算法
    基于MED和循環(huán)域解調(diào)的多故障特征提取
    出版原圖數(shù)據(jù)庫遷移與備份恢復
    惠来县| 闸北区| 容城县| 治县。| 蕉岭县| 商丘市| 松滋市| 城步| 道孚县| 永安市| 曲靖市| 习水县| 富宁县| 宣威市| 天长市| 仙居县| 榆树市| 吉木乃县| 贡觉县| 松原市| 鹤庆县| 星子县| 襄城县| 大石桥市| 洞头县| 子长县| 惠东县| 哈密市| 宣汉县| 盘山县| 香港| 岳池县| 新津县| 垫江县| 原平市| 微山县| 正蓝旗| 长汀县| 高尔夫| 萨嘎县| 明水县|