本申請涉及人工智能領域,具體涉及機器學習領域,尤其涉及字符檢測方法和裝置。
背景技術:
機器學習被廣泛應用于大數(shù)據(jù)、圖像識別、語音識別等技術領域。然而,對于圖片中的字符的檢測,目前,由于既有的標注樣本通常為詞級別的標注樣本,無法參與對字符進行檢測的機器學習模型的訓練,導致對字符進行檢測的機器學習模型無法得到充分的訓練,進而造成無法對圖片中的字符進行較為精確地檢測。此外,只有符合嚴格的標注規(guī)范的樣本才能參與訓練,進一步導致可參與訓練的標注樣本數(shù)量的減少。
發(fā)明信息
本申請?zhí)峁┝俗址麢z測方法和裝置,用于解決上述背景技術部分存在的技術問題。
第一方面,本申請?zhí)峁┝俗址麢z測方法,該方法包括:將包含經(jīng)標注的詞語的圖片作為機器學習模型的輸入;基于被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符的預測結(jié)果和經(jīng)標注的詞語的標注信息,從被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出用于訓練機器學習模型的字符;基于選取出的字符的特征,對機器學習模型進行訓練,以利用訓練后的機器學習模型對圖片中的字符進行檢測。
第二方面,本申請?zhí)峁┝俗址麢z測裝置,該裝置包括:輸入單元,配置用于將包含經(jīng)標注的詞語的圖片作為機器學習模型的輸入;選取單元,配置用于基于被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符的預測結(jié)果和經(jīng)標注的詞語的標注信息,從被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出用于訓練機器學習模型的字符;訓練單元,配置用于基于選取出的字符的特征,對機器學習模型進行訓練,以利用訓練后的機器學習模型對圖片中的字符進行檢測。
本申請?zhí)峁┑淖址麢z測方法和裝置,通過將包含經(jīng)標注的詞語的圖片作為機器學習模型的輸入;基于被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符的預測結(jié)果和經(jīng)標注的詞語的標注信息,從被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出用于訓練機器學習模型的字符;基于選取出的字符的特征,對機器學習模型進行訓練。實現(xiàn)了利用既有的詞級別標注的圖片即可對機器學習模型進行充分地訓練,得到可對圖片中的字符進行檢測的機器學習模型,降低了訓練可對圖片中的字符進行檢測的機器學習模型的開銷。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1示出了根據(jù)本申請的字符檢測方法的一個實施例的流程圖;
圖2示出了根據(jù)本申請的字符檢測方法的另一個實施例的流程圖;
圖3示出了適用于本申請的字符檢測方法的一個示例性架構(gòu)圖;
圖4示出了根據(jù)本申請的字符檢測裝置的一個實施例的結(jié)構(gòu)示意圖;
圖5示出了適于用來實現(xiàn)本申請實施例的字符檢測裝置的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本申請作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋相關發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發(fā)明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本申請。
請參考圖1,其示出了根據(jù)本申請的字符檢測方法的一個實施例的流程。該方法包括以下步驟:
步驟101,將包含經(jīng)標注的詞語的圖片作為機器學習模型的輸入。
在本實施例中,包含經(jīng)標注的詞語的圖片中可以包含用于對詞語的位置進行標注的對象。
例如,圖片中包含用于對圖片中的詞語的位置進行標注的包圍詞語的標注框,可以將該圖片中的位于該標注框內(nèi)的詞語稱之為經(jīng)標注的詞語,將該包含經(jīng)標注的詞語的圖片稱之為詞級別標注的圖片,將該標注框稱之為經(jīng)標注的詞語的標注信息。
在本實施例中,可以將詞級別標注的圖片作為機器學習模型的輸入。當圖片中的一個位置存在字符的概率大于閾值時,機器學習模型可以預測該位置可能存在字符,可以將位于該位置的對象稱之為被預測出的字符。機器學習模型可以輸出被預測出的字符的預測結(jié)果。
在本實施例的一些可選的實現(xiàn)方式中,機器學習模型為卷積神經(jīng)網(wǎng)絡。
在本實施例中,機器學習模型可以為卷積神經(jīng)網(wǎng)絡,卷積神經(jīng)網(wǎng)絡可以包括但不限于:深度卷積網(wǎng)絡、SSD(single shot multibox detector)、R-FCN:(Object Detection via Region-based Fully Convolutional Networks)、Faster RCNN等通用物體預測深度卷積網(wǎng)絡框架。
在本實施例的一些可選的實現(xiàn)方式中,被機器學習模型預測出的字符的預測結(jié)果包括:字符對應的置信度、字符對應的包圍盒,經(jīng)標注的詞語的標注信息包括:經(jīng)標注的詞語對應的包圍盒。
應理解,在本實施例中,包圍盒并不特指某一對象,可以將機器學習模型對圖片中的待檢測的對象進行預測時使用的包圍待檢測的對象的對象稱之為包圍盒。相應地,包圍盒可以對應一個置信度。
以機器學習模型為卷積神經(jīng)網(wǎng)絡SSD為例,在將詞級別標注的圖片作為SSD的輸入即將詞級別標注的圖片輸入到SSD之后,SSD可以輸出被預測出的字符的預測結(jié)果。被預測出的字符的預測結(jié)果可以包括:該字符對應的包圍盒(bounding box)和該字符對應的置信度(text/non-text score),該字符對應的置信度可以用于表示包圍盒中的對象為字符的概率。
在本實施例的一些可選的實現(xiàn)方式中,還包括:將詞級別標注的數(shù)據(jù)集中的詞級別標注的圖片作為包含經(jīng)標注的詞語的圖片,詞級別標注的圖片包括:用于對詞語的位置進行標注的包圍詞語的標注框。
例如,詞級別標注的數(shù)據(jù)集COCO-Text數(shù)據(jù)集中包含詞級別標注的圖片。詞級別標注的圖片包含用于對詞語的位置進行標注的包圍詞語的標注框和位于該標注框內(nèi)的經(jīng)標注的詞語。可以將COCO-Text數(shù)據(jù)集中的詞級別標注的圖片作為機器學習模型的輸入。
步驟102,基于標注區(qū)域內(nèi)的字符的預測結(jié)果和標注信息,選取出用于訓練的字符。
在本實施例中,為了利用詞級別標注的圖片對機器學習模型進行訓練,得到用于對圖片中的字符進行檢測的機器學習模型,可以首先從被機器學習模型預測出的字符中查找出位置位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符。然后,可以基于被預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符的預測結(jié)果和經(jīng)標注的詞語的標注信息,從被預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出適用于參與機器學習模型的訓練的字符。
以機器學習模型為卷積神經(jīng)網(wǎng)絡SSD,詞級別標注的圖片中包含標注框為例,經(jīng)標注的詞語的標注信息為該標注框。經(jīng)標注的詞語的標注區(qū)域為該標注框占用的區(qū)域。該標注框可以為任意形狀例如多邊形,用于包圍圖片中的詞語對詞語的位置進行標注。該標注框也可稱之為經(jīng)標注的詞語對應的包圍盒。在將包含經(jīng)標注的詞語的圖片作為SSD的輸入之后,SSD可以輸出被預測出的字符的預測結(jié)果。被SSD預測出的字符的預測結(jié)果可以包括:該字符對應的包圍盒和該字符對應的置信度,該字符對應的置信度可以用于表示包圍盒中的對象為字符的概率。可以首先從被SSD預測出的字符中查找出位于該標注框內(nèi)的字符。例如,當被預測出的字符對應的包圍盒在經(jīng)標注的詞語對應的包圍盒中時,則可以確定該被檢測出的字符的位置位于該標注框內(nèi)。然后,可以根據(jù)被SSD預測出的位于標注框內(nèi)的字符的預測結(jié)果和經(jīng)標注的詞語對應的包圍盒,從被SSD預測出的位于標注框內(nèi)的字符中選取出用于適用于參與SSD的訓練的字符。
在本實施例的一些可選的實現(xiàn)方式中,從被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出用于訓練機器學習模型的字符包括:基于被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符對應的包圍盒的區(qū)域與經(jīng)標注的詞語對應的包圍盒的區(qū)域之間的比例關系和被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符之間的對齊情況,從被機器學習模型預測出的字符中選取出用于訓練機器學習模型的字符。
以機器學習模型為卷積神經(jīng)網(wǎng)絡SSD,詞級別標注的圖片中包含標注框為例,經(jīng)標注的詞語的標注信息為該標注框。經(jīng)標注的詞語的標注區(qū)域為該標注框占用的區(qū)域。該標注框可以為任意形狀例如多邊形,用于包圍圖片中的詞語對詞語的位置進行標注。該標注框也可稱之為經(jīng)標注的詞語對應的包圍盒。
SSD預測出的位于標注框內(nèi)的字符的預測結(jié)果可以包括:字符對應的包圍盒和字符對應的置信度。在從被SSD預測出的位于標注框內(nèi)的字符中的字符中選取出用于訓練SSD的字符時,可以根據(jù)被SSD預測出的位于標注框內(nèi)的字符對應的包圍盒和經(jīng)標注的詞語對應的包圍盒的面積之間的比例關系和預測出的位于標注框內(nèi)的字符之間的對齊情況,選取出用于參加SSD訓練的字符。選取出的字符應滿足:對應的包圍盒的面積盡可能多地覆蓋經(jīng)標注的詞語對應的包圍盒的面積以及盡可能地在同一直線上。
步驟103,基于選取出的字符的特征,對機器學習模型進行訓練。
在本實施例中,在通過步驟102從被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出用于訓練機器學習模型的字符之后,可以利用選取出用于訓練機器學習模型的字符的特征,對機器學習模型進行訓練。
例如,通過步驟102從被預測出的位于標注框內(nèi)的字符中選取的字符滿足:對應的包圍盒盡可能多地覆蓋經(jīng)標注的詞語對應的包圍盒的面積以及盡可能地在同一直線上??梢岳脧奈挥跇俗⒖騼?nèi)的字符中選取出的字符的特征,例如利用從位于標注框內(nèi)的字符中選取出的字符對應的包圍盒對機器學習模型進行訓練。
在本實施例中,步驟101-步驟103可以執(zhí)行多次,從而,多次對機器學習模型進行訓練,得到用于對圖片中的字符進行檢測的機器學習模型。在每一次訓練中,通過步驟101將包含經(jīng)標注的詞語的圖片即詞級別標注的圖片作為機器學習模型的輸入,例如將COCO-Text數(shù)據(jù)集中的詞級別標注的圖片作為機器學習模型的輸入。通過步驟102基于機器學習模型預測出的經(jīng)標注的詞語的標注區(qū)域內(nèi)字符的預測結(jié)果和經(jīng)標注的詞語的標注信息,從預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出適用于參與訓練機器學習模型的字符。通過步驟103利用選取出的用于對機器學習模型進行訓練的字符的特征,對機器學習模型進行訓練。
在本實施例中,步驟101-步驟103所涉及的對機器學習模型的訓練方式可以應用在深度卷積網(wǎng)絡、SSD、R-FCN、Faster RCNN等通用物體預測深度卷積網(wǎng)絡框架中。從而,利用既有的詞級別標注的圖片例如COCO-Text數(shù)據(jù)集中的詞級別標注的圖片即可對機器學習模型進行充分地訓練,得到可對圖片中的字符進行檢測的機器學習模型,降低了訓練可對圖片中的字符進行檢測的機器學習模型的開銷。適用于多種不同的機器學習模型,進一步地,參與訓練的詞級別標注的圖片不會受到嚴格的標注規(guī)范的限制,也可參與訓練,增加了參與訓練的詞級別標注的圖片的數(shù)量,進一步充分地對機器學習模型進行訓練。
請參考圖2,其示出了根據(jù)本申請的字符檢測方法的另一個實施例的流程。該方法包括以下步驟:
步驟201,將包含經(jīng)標注的詞語的圖片作為卷積神經(jīng)網(wǎng)絡的輸入。
在本實施例中,包含經(jīng)標注的詞語的圖片中包含用于對詞語的位置進行標注的對象。
例如,圖片中包含用于對圖片中的詞語的位置進行標注的包圍圖片中的詞語的標注框,可以將該圖片中的位于該標注框內(nèi)的詞語稱之為經(jīng)標注的詞語,將該包含經(jīng)標注的詞語的圖片稱之為詞級別標注的圖片,將該標注框稱之為經(jīng)標注的詞語的標注信息。
在本實施例中,可以將詞級別標注的數(shù)據(jù)集中的詞級別標注的圖片作為卷積神經(jīng)網(wǎng)絡的輸入。例如,詞級別標注的數(shù)據(jù)集COCO-Text數(shù)據(jù)集包含詞級別標注的圖片。詞級別標注的圖片包含用于對詞語的位置進行標注的包圍詞語的標注框即經(jīng)標注的詞語的標注信息和位于該標注框內(nèi)的經(jīng)標注的詞語??梢詫OCO-Text數(shù)據(jù)集中的詞級別標注的圖片作為卷積神經(jīng)網(wǎng)絡的輸入。
在本實施例中,卷積神經(jīng)網(wǎng)絡可以包括但不限于:深度卷積網(wǎng)絡、SSD(single shot multibox detector)、R-FCN:(Object Detection via Region-based Fully Convolutional Networks)、Faster RCNN等通用物體預測深度卷積網(wǎng)絡框架。在將詞級別標注的圖片作為卷積神經(jīng)網(wǎng)絡的輸入之后,由卷積神經(jīng)網(wǎng)絡進行前向傳播,卷積神經(jīng)網(wǎng)絡可以輸出被預測出的字符的預測結(jié)果。被卷積神經(jīng)網(wǎng)絡預測出的字符的預測結(jié)果可以包括:該字符對應的包圍盒和該字符對應的置信度,該字符對應的置信度可以用于表示包圍盒中的對象為字符的概率。
應理解,在本實施例中,包圍盒并不特指某一對象,可以將機器學習模型對圖片中的待檢測的對象進行預測時使用的包圍待檢測的對象的對象稱之為包圍盒。相應地,包圍盒可以對應一個置信度。
步驟202,基于標注區(qū)域內(nèi)的字符的預測結(jié)果和標注信息,選取出用于訓練的字符。
在本實施例中,為了利用詞級別標注的圖片對卷積神經(jīng)網(wǎng)絡進行訓練,得到用于對字符進行檢測的卷積神經(jīng)網(wǎng)絡,可以首先從被卷積神經(jīng)網(wǎng)絡預測出的字符中查找出位置位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符。然后,可以基于被卷積神經(jīng)網(wǎng)絡預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符的預測結(jié)果和經(jīng)標注的詞語的標注信息,從被預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出適用于參與機器學習模型的訓練的字符。
以卷積神經(jīng)網(wǎng)絡為SSD,詞級別標注的圖片中包含標注框為例,經(jīng)標注的詞語的標注信息為該標注框。經(jīng)標注的詞語的標注區(qū)域為該標注框占用的區(qū)域。該標注框可以為任意形狀例如多邊形,用于包圍圖片中的詞語對詞語的位置進行標注。該標注框也可稱之為經(jīng)標注的詞語對應的包圍盒。
在將詞級別標注的圖片作為SSD的輸入之后,SSD預測出的位于標注框內(nèi)的字符的預測結(jié)果可以包括:字符對應的包圍盒和字符對應的置信度??梢允紫葟谋活A測出的字符中查找出位于該標注框內(nèi)的字符。例如,當被預測出的字符對應包圍盒在經(jīng)標注的詞語對應的包圍盒中時,則該被檢測出的字符的位置可以相當于位于該標注框內(nèi)。然后,可以根據(jù)預測出的位于標注框內(nèi)的字符對應的包圍盒和經(jīng)標注的詞語對應的包圍盒的面積之間的比例關系和預測出的位于標注框內(nèi)的字符之間的對齊情況,選取出適用于參加SSD訓練的字符。選取出的字符應滿足:對應的包圍盒的面積盡可能多地覆蓋經(jīng)標注的詞語對應的包圍盒的面積以及盡可能地在同一直線上。
在本實施例中,可以采用以下方式從預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出適用于參與卷積神經(jīng)網(wǎng)絡的訓練的字符:可以采用K-NN(k-nearest neighbors)算法對被卷積神經(jīng)網(wǎng)絡預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符對應的包圍盒計算k近鄰,得到一個表示預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符之間的連接關系的拓撲結(jié)構(gòu)。
例如,采用K-NN算法根據(jù)位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的每一個字符對應的包圍盒的中心點的位置,計算k近鄰,得到個表示位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符之間的連接關系的拓撲結(jié)構(gòu)。在該拓撲結(jié)構(gòu)中,一個字符可以與其他被卷積神經(jīng)網(wǎng)絡預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的k個字符相連接。兩個相連接的字符之間可以具有權(quán)重值wij,權(quán)重值wij可以采用以下公式計算:
其中,d(i,j)表示兩個相連接的字符之間的距離,表示所有字符連接對中的字符之間的距離的平均值,ti和tj表示兩個相連接的字符各自對應的置信度。兩個相連接的字符之間的距離可以為兩個相連接的字符對應的包圍盒的中心點的位置之間的距離。
在該拓撲結(jié)構(gòu)中,兩個相連接的字符可以構(gòu)成一個字符連接對。在分別計算出每一個字符連接對中的兩個相連接的字符之間的距離之后,例如,計算出每一個字符連接對中的兩個相連接的字符對應的包圍盒的中心點的位置之間的距離之后,可以計算每一個字符連接對中的兩個相連接的字符之間的距離的平均值,得到上述所有字符連接對中的字符之間的距離的平均值。
在對被卷積神經(jīng)網(wǎng)絡預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符對應的包圍盒計算k近鄰,得到表示字符之間的連接關系的拓撲結(jié)構(gòu)之后,可以從該拓撲結(jié)構(gòu)中查找出最大生成樹。該最大生成樹包括所有被卷積神經(jīng)網(wǎng)絡預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符,所有被卷積神經(jīng)網(wǎng)絡預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符在最大生成樹中依次連接,并且,依次連接的字符中兩兩相連接的字符之間的權(quán)重值之和最大。
在查找出最大生成樹之后,可以查找出最大生成樹和最大生成樹中的子樹中得分較高的樹。將得分較高的樹中的字符作為用于參與卷積神經(jīng)網(wǎng)絡訓練的字符。從而,使得參與卷積神經(jīng)網(wǎng)絡訓練的字符對應的包圍盒的面積覆蓋盡可能多地占用詞級別的標注信息所對應的面積,參與卷積神經(jīng)網(wǎng)絡訓練的字符盡可能地落在同一直線上。
可以采用以下得分計算公式計算最大生成樹或最大生成樹中的子樹的得分s:
s=w·s1+(1-w)·s2
其中,Bchars表示子樹或當前樹中的字符對應的包圍盒。子樹或當前樹中的字符為多個時,Bchars可以表示由每一個字符對應的包圍盒組成的包圍盒集合。
Banno表示經(jīng)標注的詞語對應的包圍盒,area(Bchars)表示子樹或當前樹中的字符對應的包圍盒的面積,子樹中的字符為多個時,area(Bchars)則可每一個字符對應的包圍盒的面積之和。area(Banno)表示經(jīng)標注的詞語對應的包圍盒的面積,λ1和λ2表示Bchars的中心坐標協(xié)方差矩陣C的最大和第二大特征值。
s1可以用于描述被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符對應的包圍盒的區(qū)域與經(jīng)標注的詞語對應的包圍盒的區(qū)域之間的比例關系,s2可以用于描述被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符之間的對齊情況。
可以采用以下方式查找出最大生成樹和最大生成樹中的子樹中得分較高的樹:在第一次計算得分時,將最大生成樹作為當前樹,利用上述得分計算公式計算當前樹的得分,w的取值為預設權(quán)重值例如w的取值為0.5,得到當前樹的得分。同時,可以對當前樹中的每一個字符連接對分別進行剪枝,在每一次剪枝之后,連接字符對中的一個字符與該字符上游的字符可以構(gòu)成一個子樹,連接字符對中的另一個字符與該另一個字符下游的字符可以構(gòu)成一個子樹。在對當前樹中的每一個字符連接對分別進行剪枝之后,可以得到多個子樹??梢酝ㄟ^得分計算公式計算每一個子樹的得分,利用上述得分計算公式計算子樹的得分時,w的取值為子樹對應的字符連接對中的兩個相連接的字符之間的權(quán)重值。
在計算出當前樹和子樹的得分之后,可以判斷多個子樹中得分最高的子樹的得分是否大于當前樹的得分。當?shù)梅肿罡叩淖訕涞牡梅中∮诋斍皹涞牡梅謺r,可以將當前樹中的字符作為用于訓練經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符。當?shù)梅肿罡叩淖訕浯笥诋斍皹涞牡梅謺r,可以將得分最高的子樹作為當前樹,再次對得分最高的子樹中的每一個字符連接對分別進行剪枝,計算對該當前樹中的字符連接對進行剪枝后得到的多個子樹的得分,再次將得到的得分最高的子樹的分數(shù)與該當前樹的得分進行比較,直至查找出最大生成樹和最大生成樹中的子樹中得分較高的樹。
步驟203,基于選取出的字符對應的包圍盒,對卷積神經(jīng)網(wǎng)絡進行訓練。
在本實施例中,在通過步驟202從被卷積神經(jīng)網(wǎng)絡預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出用于訓練卷積神經(jīng)網(wǎng)絡的字符之后,可以利用選取出用于訓練卷積神經(jīng)網(wǎng)絡的字符對應的包圍盒作為卷積神經(jīng)網(wǎng)絡的監(jiān)督學習方式的標簽信息,根據(jù)預設損失函數(shù)進行后向傳導,以有監(jiān)督學習方式對卷積神經(jīng)網(wǎng)絡進行訓練,更新卷積神經(jīng)網(wǎng)絡的參數(shù)。
在本實施例中,步驟201-步驟203可以執(zhí)行多次,從而,多次對卷積神經(jīng)網(wǎng)絡進行訓練,得到用于對圖片中的字符進行檢測的卷積神經(jīng)網(wǎng)絡。在每一次訓練中,通過步驟201將包含經(jīng)標注的詞語的圖片作為機器學習模型的輸入,例如將COCO-Text數(shù)據(jù)集中的詞級別標注的圖片作為卷積神經(jīng)網(wǎng)絡的輸入,由卷積神經(jīng)網(wǎng)絡進行前向傳播。通過步驟202基于預測出的經(jīng)標注的詞語的標注區(qū)域內(nèi)字符的預測結(jié)果和經(jīng)標注的詞語的標注信息,從預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出適用于參與訓練卷積神經(jīng)網(wǎng)絡的字符。選取出的字符可以滿足:對應的包圍盒盡可能多地覆蓋經(jīng)標注的詞語對應的包圍盒的面積以及盡可能地在同一直線上。通過步驟203利用選取出的字符對應的包圍盒作為卷積神經(jīng)網(wǎng)絡的監(jiān)督學習方式的標簽信息,根據(jù)預設損失函數(shù)進行后向傳導,以有監(jiān)督學習方式對卷積神經(jīng)網(wǎng)絡進行訓練。
在本實施例中,步驟201-步驟203所涉及的對卷積神經(jīng)網(wǎng)絡的訓練方式可以應用在深度卷積網(wǎng)絡、SSD、R-FCN、Faster RCNN等通用物體預測深度卷積網(wǎng)絡框架中。從而,利用既有的詞級別標注的圖片例如COCO-Text數(shù)據(jù)集中的詞級別標注的圖片即可對卷積神經(jīng)網(wǎng)絡進行充分地訓練,得到可對圖片中的字符進行檢測的卷積神經(jīng)網(wǎng)絡,降低了訓練可對圖片中的字符進行檢測的卷積神經(jīng)網(wǎng)絡的開銷。適用于多種不同的卷積神經(jīng)網(wǎng)絡,進一步地,參與訓練的詞級別標注的圖片不會受到嚴格的標注規(guī)范的限制,也可參與訓練,增加了參與訓練的詞級別標注的圖片的數(shù)量,進一步充分地對卷積神經(jīng)網(wǎng)絡進行訓練。
請參考圖3,其示出了適用于本申請的字符檢測方法的一個示例性架構(gòu)圖。
詞級別標注的圖片:作為卷積神經(jīng)網(wǎng)絡的輸入,可以包含標注框和位于標注框內(nèi)的經(jīng)標注的詞語。經(jīng)標注的詞語的標注信息為該標注框。標注框可以為任意形狀例如多邊形,用于包圍圖片中的詞語對詞語的位置進行標注??梢詫⒃~語別標注的數(shù)據(jù)集例如COCO-Text數(shù)據(jù)集中的詞級別標注的圖片作為深度卷積網(wǎng)絡的輸入。
卷積神經(jīng)網(wǎng)絡:接收輸入的詞級別標注的圖片,輸出預測結(jié)果。預測結(jié)果包括:字符對應的包圍盒和字符對應的置信度。卷積神經(jīng)網(wǎng)絡可以包括但不限于:深度卷積網(wǎng)絡、SSD(single shot multibox detector)、R-FCN:(Object Detection via Region-based Fully Convolutional Networks)、Faster RCNN等通用物體預測深度卷積網(wǎng)絡框架。
字符模板更新裝置:在每一次訓練中,同時接收卷積神經(jīng)網(wǎng)絡的預測結(jié)果和詞級別的標注圖片的詞級別的標注信息即標注框,結(jié)合卷積神經(jīng)網(wǎng)絡的預測結(jié)果和詞級別的標注圖片的詞級別的標注信息,從預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出適用于參與訓練機器學習模型的字符,將選取出的字符對應的包圍盒進行組合,得到更新的字符模板。更新的字符模板可以作為卷積神經(jīng)網(wǎng)絡當前訓練過程的后向傳播對應的標簽信息。字符模板更新裝置使得整個用于對字符檢測的卷積神經(jīng)網(wǎng)絡的訓練過程不需要依賴成本巨大的字符級別的標注信息,能夠讓卷積神經(jīng)網(wǎng)絡使用更多的文字數(shù)據(jù)集參與訓練。
在每一次訓練開始時,向卷積神經(jīng)網(wǎng)絡輸入詞級別標注的圖片,卷積神經(jīng)網(wǎng)絡完成一次前向傳播,進行網(wǎng)絡預測,輸出被預測出的字符的預測結(jié)果。接著,字符模板更新裝置結(jié)合卷積神經(jīng)網(wǎng)絡輸出的預測結(jié)果和詞級別的標注信息,輸出包含選取出用于對卷積神經(jīng)網(wǎng)絡進行訓練的字符對應的包圍盒的更新的字符模板。最后,卷積神經(jīng)網(wǎng)絡將更新的字符模板作為監(jiān)督學習標簽,根據(jù)預先定義的損失函數(shù)來完成一次網(wǎng)絡的后向傳導,進行網(wǎng)絡更新即更新卷積神經(jīng)網(wǎng)絡的參數(shù),完成一次對卷積神經(jīng)網(wǎng)絡的訓練。
在針對卷積神經(jīng)網(wǎng)絡的訓練中,由于僅需詞級別的標注信息即標注框即可對卷積神經(jīng)網(wǎng)絡進行充分地訓練,并不依賴于精確到字符級別的標注信息例如標注框中的每一個字符對應的標注信息,使得能夠利用更多的文字數(shù)據(jù)集來參與訓練,尤其是只有詞級別的標注信息的數(shù)據(jù)集例如COCO-Text數(shù)據(jù)集參與訓練。進一步地,參與訓練的詞級別標注的圖片不會受到嚴格的標注規(guī)范的限制,也可參與訓練,增加了參與訓練的詞級別標注的圖片的數(shù)量,進一步充分地對卷積神經(jīng)網(wǎng)絡進行訓練。
請參考圖4,其示出了根據(jù)本申請的字符檢測裝置的一個實施例的結(jié)構(gòu)示意圖。該裝置實施例與圖1所示的方法實施例相對應。
如圖4所示,本實施例的字符檢測裝置400包括:輸入單元401,選取單元402,訓練單元403。輸入單元401配置用于將包含經(jīng)標注的詞語的圖片作為機器學習模型的輸入;選取單元402配置用于基于被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符的預測結(jié)果和經(jīng)標注的詞語的標注信息,從被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出用于訓練機器學習模型的字符;訓練單元403配置用于基于選取出的字符的特征,對機器學習模型進行訓練,以利用訓練后的機器學習模型對圖片中的字符進行檢測。
在本實施例的一些可選的實現(xiàn)方式中,機器學習模型為卷積神經(jīng)網(wǎng)絡。
在本實施例的一些可選的實現(xiàn)方式中,預測結(jié)果包括:字符對應的包圍盒、字符對應的置信度,標注信息包括:經(jīng)標注的詞語對應的包圍盒。
在本實施例的一些可選的實現(xiàn)方式中,預測結(jié)果基于在將包含經(jīng)標注的詞語的圖片作為機器學習模型的輸入之后,機器學習模型進行前向傳播而獲得。
在本實施例的一些可選的實現(xiàn)方式中,訓練單元403包括:監(jiān)督學習子單元(未示出),配置用于將選取出的字符對應的包圍盒作為機器學習模型的監(jiān)督學習方式的標簽信息;機器學習模型根據(jù)預設損失函數(shù)進行后向傳導,更新機器學習模型的參數(shù)。
在本實施例的一些可選的實現(xiàn)方式中,選取單元402包括:字符選取子單元(未示出),配置用于基于被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符對應的包圍盒的區(qū)域與經(jīng)標注的詞語對應的包圍盒的區(qū)域之間的比例關系和被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符之間的對齊情況,從被機器學習模型預測出的字符中選取出用于訓練機器學習模型的字符。
在本實施例的一些可選的實現(xiàn)方式中,字符選取子單元進一步配置用于:對被機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符對應的包圍盒計算k近鄰,得到字符之間的連接關系,其中,每一個字符連接k個其他的字符;采用以下公式計算兩個相連接的字符之間的權(quán)重值wij:
其中,兩個相連接的字符構(gòu)成一個字符連接對,d(i,j)表示兩個相連接的字符之間的距離,表示所有字符連接對中的字符之間的距離的平均值,ti和tj表示兩個相連接的字符各自對應的置信度;查找出最大生成樹,最大生成樹包括:依次連接的被機器學習模型預測出的字符并且字符之間的權(quán)重值之和最大;執(zhí)行以下選取操作:對當前樹中的每一個字符連接對分別進行剪枝,得到多個子樹,其中,當選取操作為首次執(zhí)行時當前樹為最大生成樹;采用以下公式計算子樹或當前樹的得分s:
s=w·s1+(1-w)·s2
其中,Bchars表示子樹或當前樹中的字符對應的包圍盒,Banno表示經(jīng)標注的詞語對應的包圍盒,area(Bchars)表示子樹或當前樹中的字符對應的包圍盒的面積,area(Banno)表示經(jīng)標注的詞語對應的包圍盒的面積,λ1和λ2分別表示Bchars的中心坐標協(xié)方差矩陣的最大特征值和第二大特征值,當選取操作為首次執(zhí)行時w為預設權(quán)重值,當選取操不是首次執(zhí)行時w為子樹對應的字符連接對中的兩個字符之間的權(quán)重值;判斷得分最高的子樹的得分是否大于當前樹的得分;若是,將得分最高的子樹作為當前樹,以及再次執(zhí)行選取操作;若否,將當前樹中的字符作為用于訓練機器學習模型的字符。
在本實施例的一些可選的實現(xiàn)方式中,裝置400還包括:標注信息獲取單元(未示出),配置用于將詞級別標注的數(shù)據(jù)集中的詞級別標注的圖片作為包含經(jīng)標注的詞語的圖片,詞級別標注的圖片包括:用于對詞語的位置進行標注的包圍詞語的標注框。
圖5示出了適于用來實現(xiàn)本申請實施例的字符檢測裝置的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
如圖5所示,計算機系統(tǒng)500包括中央處理單元(CPU)501,其可以根據(jù)存儲在只讀存儲器(ROM)502中的程序或者從存儲部分508加載到隨機訪問存儲器(RAM)503中的程序而執(zhí)行各種適當?shù)膭幼骱吞幚?。在RAM503中,還存儲有系統(tǒng)500操作所需的各種程序和數(shù)據(jù)。CPU501、ROM502以及RAM503通過總線504彼此相連。輸入/輸出(I/O)接口505也連接至總線504。
以下部件連接至I/O接口505:包括鍵盤、鼠標等的輸入部分506;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分507;包括硬盤等的存儲部分508;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡接口卡的通信部分509。通信部分509經(jīng)由諸如因特網(wǎng)的網(wǎng)絡執(zhí)行通信處理。驅(qū)動器510也根據(jù)需要連接至I/O接口505??刹鹦督橘|(zhì)511,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據(jù)需要安裝在驅(qū)動器510上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分508。
特別地,根據(jù)本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產(chǎn)品,其包括有形地包含在機器可讀介質(zhì)上的計算機程序,所述計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分509從網(wǎng)絡上被下載和安裝,和/或從可拆卸介質(zhì)511被安裝。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
作為另一方面,本申請還提供了一種非易失性計算機存儲介質(zhì),該非易失性計算機存儲介質(zhì)可以是上述實施例中所述設備中所包含的非易失性計算機存儲介質(zhì);也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質(zhì)。上述非易失性計算機存儲介質(zhì)存儲有一個或者多個程序,當所述一個或者多個程序被一個設備執(zhí)行時,使得所述設備:將包含經(jīng)標注的詞語的圖片作為機器學習模型的輸入;基于被所述機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符的預測結(jié)果和所述經(jīng)標注的詞語的標注信息,從被所述機器學習模型預測出的位于經(jīng)標注的詞語的標注區(qū)域內(nèi)的字符中選取出用于訓練機器學習模型的字符;基于選取出的字符的特征,對所述機器學習模型進行訓練,以利用訓練后的所述機器學習模型對圖片中的字符進行檢測。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。