蘋果的手寫漢字識別如何實現(xiàn)的?

簡評:蘋果官方手寫識別團隊的技術(shù)文章毙芜,講解了如何用機器學習的方法實現(xiàn)中文的手寫識別忽媒。

以下「 我們」都代表「 蘋果手寫識別團隊」

因為手機腋粥,平板電腦和可穿戴設(shè)備如智能手表的流行晦雨,手寫識別比以往任何時候都更重要。在移動設(shè)備上支持中文手寫識別所需的大型字符庫隘冲,成了嵌入式設(shè)備獨特的挑戰(zhàn)闹瞧。

本文介紹了我們?nèi)绾螒獙@些挑戰(zhàn),以實現(xiàn) iPhone展辞,iPad 和 Apple Watch(Scribble 模式)上的實時性能夹抗。我們的識別系統(tǒng),基于深度學習纵竖,可以準確處理最多 30000 個字符的集合。為了達到可接受的準確度杏愤,我們特別注意數(shù)據(jù)的不同收集條件靡砌,寫作風格的差異和對應的機器訓練方案。我們發(fā)現(xiàn)珊楼,在合適的條件下通殃,更多的漢字識別是可以實現(xiàn)的。我們的實驗表明,只要我們使用足夠的質(zhì)量和足夠數(shù)量的訓練數(shù)據(jù)画舌,字符庫的增加以及準確性的保證都是可以做到的堕担。

介紹

手寫識別可以增強移動設(shè)備的用戶體驗,特別是對于中文輸入曲聂。中文手寫識別是獨一無二的挑戰(zhàn)霹购,因為其底層字符庫量級大。英文字母的手寫通常涉及 100 個符號以下朋腋,但中國漢字國家標準 GB18030 - 2005 中的一組 Hànzì 字符就包含 27533 個條目齐疙,并且大多數(shù)中文還使用了不同字體。

為了讓識別更容易實現(xiàn)旭咽,通常將重點放在有限數(shù)量的字符中贞奋,這些字符是日常使用率較高的常用字符。因此穷绵,標準 GB2312-80 集僅包括 6763 個條目(分別為 1 級常用字符 3755 個轿塔,2 級常用字符 3008 個)。中國科學院自動化研究所建立的流行常用 CASIA 字符集共包含大約 7356 個條目仲墨。SCUT-COUCH 數(shù)據(jù)庫具有類似的常用字符數(shù)[8]勾缭。

上述這些集合傾向于反映普遍中文輸入的常用字符。然而宗收,放在個別用戶身上漫拭,「常用」通常因人而異。大多數(shù)人至少要用到幾個「不常用」的字符混稽,例如與他們相關(guān)的專有名稱采驻。因此,中文手寫識別算法的理想狀態(tài)至少要達到 GB18030-2005 的水平(27533 個)匈勋。

經(jīng)過選型礼旅,最終 CNN 成為了我們團隊的的選擇方案。但是洽洁,這種方法需要將 CNN 擴展到約 30000 個字符痘系,同時還要保持嵌入式設(shè)備的實時性能。本文重點介紹了我們面對漢字識別準確性饿自,角色覆蓋率和寫作風格方面所遇到的挑戰(zhàn)汰翠。

系統(tǒng)配置

我們采取類似 CNN 的系統(tǒng)配置,整個系統(tǒng)配置如圖 1 所示昭雌。

圖1:典型的 CNN 架構(gòu)(2個卷積和兩次連續(xù)采樣)

輸入端數(shù)據(jù)是手寫的中文字符复唤,48 X 48 像素分辨率(出于性能考慮)。輸入數(shù)據(jù)傳遞至多個層級完成交替卷積和采樣烛卧,經(jīng)過最后一個特征層后然后輸出佛纫。

從一個卷積層到下一個卷積層,我們篩選了內(nèi)核的大小和特征圖的數(shù)量,以便導出越來越粗糙的粒度的特征呈宇。我們通過使用 2×2 內(nèi)核的最大池層[9]進行二次采樣好爬。最后一個特征層通常包含大約 1000 個小特征圖。輸出層每個類都有一個節(jié)點甥啄,例如 GB2312-80 的Hànzìlevel-1 有 3755 個節(jié)點存炮,而擴展到全部庫接近 30000 節(jié)點。

作為基準型豁,我們評估了以前描述的 CASN 基準任務的 CNN 實現(xiàn)模型[6]僵蛛。雖然這個任務只涵蓋Hànzì 常用一級字符,但在文獻中有許多關(guān)于字符精度的參考結(jié)果可以直接使用(例如[7]和[14])迎变。我們使用基于 CASIA-OLHWDB充尉,DB1.0-1.2,作為訓練和測試數(shù)據(jù)集[6]衣形,[7]驼侠,產(chǎn)生大約一百萬個訓練樣本。

要注意一點谆吴,考慮到我們的產(chǎn)品重點倒源,目的是不要對 CASIA 的最高準確度進行調(diào)整。相反句狼,我們的優(yōu)先事項是模型大小笋熬,評估速度和用戶體驗。因此腻菇,我們選擇了一種緊湊的系統(tǒng)胳螟,可以實現(xiàn)橫跨多種字體風格萨醒,并兼顧非標準筆劃順序层宫。

表 1 顯示了使用圖 1 的 CNN 的結(jié)果,其中縮寫「Hz-1」是指 Hànzì 一級常用庫(3755個字符)蛛勉,CR(n)表示第 n 層字符識別精度丘薛。

表1:層數(shù)與識別精度嘉竟,3755 個字符,標準訓練洋侨,模型大小 1MB

表 1 中的系統(tǒng)僅針對 CASIA 數(shù)據(jù)進行訓練舍扰,不包括任何其他培訓數(shù)據(jù)。我們也有興趣提取 iOS 設(shè)備上內(nèi)部收集的其他培訓數(shù)據(jù)希坚。這些數(shù)據(jù)涵蓋了更多種類的風格(參見下一節(jié))边苹,并且包含每個字符更多樣的的訓練實例。表 2 是我們的增強訓練的結(jié)果吏够,也是測試上面的 3755 個字符。

表2:層數(shù)與識別精度,3755 個字符锅知,增強訓練播急,模型大小 15MB

盡管產(chǎn)生了更大的占用空間(15MB),但精度提高了(第 4 層提高了2%)售睹。

這表明:測試結(jié)果已經(jīng)能夠覆蓋到絕大多數(shù)手寫的字體桩警;附加字體樣式對底層無影響。

擴展到 30 K 個字符

常用字符只是理想狀態(tài)昌妹,不同用戶常用的字符并不相同捶枢,所以大量用戶都需要遠大于 3755 個 字符的庫,然而選擇哪個庫并不是很容易飞崖。從 GB2312-80 定義的簡體中文到繁體中文定義的 Big5烂叔,Big5E 和 CNS 11643-92,這個跨度太大了固歪。最近又出現(xiàn)了新的 HKSCS-2008蒜鸡,額外又增加了 4568 個字符,甚至更符合 GB18030 - 2000 的標準牢裳。

我們希望能夠讓用戶便捷的使用簡體中文逢防、繁體中文、常用的姓名蒲讯,詩歌和常見的標記忘朝,視覺符號和表情符號來完成日常通信。我們還希望能夠支持拉丁文腳本來用于偶爾的產(chǎn)品或商品名稱判帮。最終局嘁,我們遵循 Unicode 作為現(xiàn)行的國際字符編碼標準,因為它幾乎涵蓋了所有上述標準脊另。

因此导狡,我們的字符識別系統(tǒng)集中在 GB18030-2005,HKSCS-2008偎痛,Big5E旱捧,核心 ASCII 的集合,以及一系列視覺符號和表情符號踩麦,總共約 30000 個字符枚赡,我們覺得這些已經(jīng)能夠滿足幾乎所有漢字輸入的要求了。
選擇底層字符庫存后谓谦,對用戶實際使用的寫作風格進行抽樣至關(guān)重要贫橙。雖然有很多識別關(guān)鍵元素(參見[13]),但實際情況依然有很多誤差反粥,例如卢肃,(i)使用 U+2EBF 草字頭(艸)很難識別疲迂,因為有的用戶把草字頭寫成兩個「十」,或著(ii)草書 U+56DB「四」這個字和對 U+306E「の」經(jīng)衬妫混淆尤蒿。

渲染的字體也可能導致混淆,因為某些用戶期望特定字符以特定樣式呈現(xiàn)幅垮。書寫速度快但字形不一邊忍的草書腰池,往往會增加歧義,例如 U +38B(王)與 U+4E94(五)之間忙芒。最后示弓,國際化有時會引發(fā)意想不到的沖突:例如,U+4E8C(二)當被草寫時呵萨,可能與拉丁字符「2」和「Z」混淆奏属。

對此,我們的邏輯是為用戶提供全部的無約束的書寫體備選甘桑,從印刷體到草書[5]拍皮。為了盡可能覆蓋多的字體,我們向中國的手寫者尋求數(shù)據(jù)跑杭,我們驚訝的發(fā)現(xiàn)世界上竟然有如此多的不同的中文字體铆帽。我們收集了不同年齡、性別德谅、教育背景的參與數(shù)據(jù)爹橱。所得到的手寫數(shù)據(jù)在許多方面都是獨一無二。值得一提的是窄做,iOS 設(shè)備有個非常大的優(yōu)點愧驱,采樣清晰。

比如用 U+82B1「花」這個字來舉例椭盏,就有好多種不同的寫作風格:

圖2:偏旁部首的不同變化

圖3:草體的變化
圖4:無約束的變化

事實上组砚,在日常生活中,用戶總是寫的又快又亂掏颊,導致字體千變?nèi)f化糟红。同一個字可能認成兩個字,同樣的乌叶,不同的字可能識別成同一個字盆偿。

圖5:U+7684 (的)這個字的不同風格

圖6:U+4EE5 (以)這個字的不同風格
圖7:手寫的 U+738 (王) 和 U+4E94 (五) 極容易混淆

根據(jù)前面討論的指導原則,我們收集數(shù)千萬個字符的實例用于我們的訓練數(shù)據(jù)准浴。將上一節(jié)中的 3755 個字符系統(tǒng)與表 3 作比較后事扭,在同一測試集上,我們將可識別字符數(shù)從 3755 增加到約 30000 個乐横。

表3:CASIA 在線數(shù)據(jù)庫求橄,30K 字符

注意今野,表 3 的模型大小和表 2 相同,因為它們同樣是使用了 Hz-1 的庫罐农,但是精確度有所下降腥泥,這是我們預期到的,因為要考慮到覆蓋范圍的大大增加啃匿,以及不同類型字體的混淆,比如「二」和「Z」蛆楞。

比較表 2 和表 3溯乒,我們可以發(fā)現(xiàn),覆蓋率提高了 10 倍豹爹,但是儲存空間沒有變裆悄,精確度也只下降了一點。實際上臂聋,隨著模型大小的增加光稼,錯誤的數(shù)量增加的并不多。因此構(gòu)建一個覆蓋 3 萬字符的高精度的漢字識別系統(tǒng)是可行和實用的孩等。

為了了解系統(tǒng)在整個 30000 字符中的運行情況艾君,我們進行了不同的測試,這些測試包含了各種情況肄方,最后得出一個平均的結(jié)果冰垄。

表4:所有寫作風格的多個測試平均結(jié)果

當然,表 3 和表 4 是不能直接比較的权她,因為他們是在不同測試集上獲取的虹茶。盡管如此,它們都展現(xiàn)了在前 4 層的識別精度上隅要,都處于同一個較高的水準蝴罪。

討論

由于存在各種來源的新增內(nèi)容,Unicode 中的 CJK 字符總數(shù)(目前約為75,000 [12])可能會增加步清。誠然要门,這些增加的字符可能都很罕見(例如,用于歷史名稱或詩歌)尼啡。不過暂衡,對于特定的人來說都是有價值的。

那么未來我們?nèi)绾翁幚砀蟮淖址麕炷匮虏t?根?jù)本文探討的實驗學習曲線[2]狂巢,我們可以以此推斷,未來不同的類型的字體书聚,不同的數(shù)據(jù)量產(chǎn)生的結(jié)果唧领。

舉個例子藻雌,表 3 比表 1 的數(shù)據(jù)量大十倍,而精準度下降少于 2%斩个,由此我們可以推斷出 100000 個字符的量級和相應增加的訓練數(shù)據(jù)胯杭,使用相同的架構(gòu),第一層精度會在 84% 左右受啥,而第十層的精度會在 97%做个,這是可以預期到的。

綜上所述滚局,在嵌入式設(shè)備上構(gòu)建一個覆蓋 30000 個字符的漢字手寫識別系統(tǒng)是切實可行的居暖。此外,在訓練數(shù)據(jù)夠多藤肢,數(shù)據(jù)質(zhì)量高的情況下太闺,隨著字符庫存的增加,精準度會有所細微的下降嘁圈。這些結(jié)論對于未來構(gòu)建更大的字符庫是有很大意義的省骂。

參考

[1] D.C. Ciresan, U. Meier, L.M. Gambardella, and J. Schmidhuber, Convolutional Neural Network Committees For Handwritten Character Classification, in 11th Int. Conf. Document Analysis Recognition (ICDAR 2011), Beijing, China, Sept. 2011.
[2] C. Cortes, L.D. Jackel, S.A. Jolla, V. Vapnik, and J.S. Denker, Learning Curves: Asymptotic Values and Rate of Convergence, in Advances in Neural Information Processing Systems (NIPS 1993), Denver, pp. 327–334, Dec. 1993.
[3] G.E. Hinton and K.J. Lang, Shape Recognition and Illusory Conjunctions, in Proc. 9th Int. Joint Conf. Artificial Intelligence, Los Angeles, CA, pp. 252–259, 1985.
[4] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, Gradient– based Learning Applied to Document Recognition, Proc. IEEE, Vol. 86, No. 11, pp. 2278–2324, Nov. 1998.
[5] C.-L. Liu, S. Jaeger, and M. Nakagawa, Online Recognition of Chinese Characters: The State-of-the-Art, IEEE Trans. Pattern Analysis Machine Intelligence, Vol. 26, No. 2, pp. 198–213, Feb. 2004.
[6] C.-L. Liu, F. Yin, D.-H. Wang, and Q.-F. Wang, CASIA Online and Offline Chinese Handwriting Databases, in Proc. 11th Int. Conf. Document Analysis Recognition (ICDAR 2011), Beijing, China, Sept. 2011.
[7] C.-L. Liu, F. Yin, Q.-F. Wang, and D.-H.Wang, ICDAR 2011 Chinese Handwriting Recognition Competition,in 11th Int. Conf. Document Analysis Recognition (ICDAR 2011), Beijing, China, Sept. 2011.
[8] Y. Li, L. Jin , X. Zhu, T. Long, SCUT-COUCH2008: A Comprehensive Online Unconstrained Chinese Handwriting Dataset (ICFHR 2008), Montreal, pp. 165–170, Aug. 2008.
[9] K. Jarrett, K. Kavukcuoglu, M. Ranzato, and Y. LeCun, What is the Best Multi-stage Architecture for Object Recognition?, in Proc. IEEE Int. Conf. Computer Vision (ICCV09), Kyoto, Japan, Sept. 2009.
[10] U. Meier, D.C. Ciresan, L.M. Gambardella, and J. Schmidhuber, Better Digit Recognition with a Committee of Simple Neural Nets, in 11th Int. Conf. Document Analysis Recognition (ICDAR 2011), Beijing, China, Sept. 2011.
[11] P.Y. Simard, D. Steinkraus, and J.C. Platt, Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis, in 7th Int. Conf. Document Analysis Recognition (ICDAR 2003), Edinburgh, Scotland, Aug. 2003.
[12] Unicode, Chinese and Japanese,http://www.unicode.org/faq/han_cjk.html, 2015.
[13] F.F. Wang, Chinese Cursive Script: An Introduction to Handwriting in Chinese, Far Eastern Publications Series, New Haven, CT: Yale University Press, 1958.
[14] F. Yin, Q.-F. Wang, X.-Y. Xhang, and C.-L. Liu, ICDAR2013 Chinese Handwriting Recognition Competition, in 11th Int. Conf. Document Analysis Recognition (ICDAR 2013), Washington DC, USA, Sept. 2013.

英文原文:Real-Time Recognition of Handwritten Chinese Characters Spanning a Large Inventory of 30,000 Characters - Apple
“本譯文僅供個人研習之用,謝絕任何轉(zhuǎn)載及用于任何商業(yè)用途最住。本譯文所涉法律后果均由本人承擔钞澳。本人同意簡書平臺在接獲有關(guān)著作權(quán)人的通知后,刪除文章涨缚÷灾”
推薦閱讀:
AI 何時會全面超越人類
什么!這款 App 居然用攝像頭充當按鈕仗岖!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逃延,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子轧拄,更是在濱河造成了極大的恐慌揽祥,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件檩电,死亡現(xiàn)場離奇詭異拄丰,居然都是意外死亡,警方通過查閱死者的電腦和手機俐末,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門料按,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卓箫,你說我怎么就攤上這事载矿。” “怎么了烹卒?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵闷盔,是天一觀的道長弯洗。 經(jīng)常有香客問我,道長逢勾,這世上最難降的妖魔是什么牡整? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮溺拱,結(jié)果婚禮上逃贝,老公的妹妹穿的比我還像新娘。我一直安慰自己迫摔,他們只是感情好秋泳,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著攒菠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪歉闰。 梳的紋絲不亂的頭發(fā)上辖众,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音和敬,去河邊找鬼凹炸。 笑死,一個胖子當著我的面吹牛昼弟,可吹牛的內(nèi)容都是我干的啤它。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼舱痘,長吁一口氣:“原來是場噩夢啊……” “哼变骡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芭逝,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤塌碌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后旬盯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體台妆,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年胖翰,在試婚紗的時候發(fā)現(xiàn)自己被綠了接剩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡萨咳,死狀恐怖懊缺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情培他,我是刑警寧澤桐汤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布而克,位于F島的核電站,受9級特大地震影響怔毛,放射性物質(zhì)發(fā)生泄漏员萍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一拣度、第九天 我趴在偏房一處隱蔽的房頂上張望碎绎。 院中可真熱鬧,春花似錦抗果、人聲如沸筋帖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽日麸。三九已至,卻和暖如春逮光,著一層夾襖步出監(jiān)牢的瞬間代箭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工涕刚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嗡综,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓杜漠,卻偏偏與公主長得像极景,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子驾茴,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容