手機上記筆記的手寫軟體(手機上怎麼手寫筆記)
歡迎關注微信公眾號:微軟研究院
如今的現代社會,電腦鍵盤和輸入法的組合快速取代了手寫環境,大家早已習慣了以鍵盤為筆、螢幕為紙,在電腦上揮灑創作的生活。但電腦並不是隨處可得,在大多數情況下我們仍需要使用手寫筆記的方式隨時記錄下我們的靈感。其實,無論是用電腦記錄還是手寫筆記都各有優劣,並在很長一段時間內都會是互補的關係。
當然,電子化何時能夠取代紙筆不是我們今天需要討論的問題,我們今天討論的是,如何用軟硬體相結合的方式,優化人們的工作體驗。很顯然,如果你是紙質書寫愛好者的話,你必然會發現當你想要檢索自己曾經的手寫筆記,或快速找到某一天偶然寫在紙上的靈感是十分困難的,這種時候,光靠人類的記憶力絕對不夠。
那麼,有沒有一種方式能夠讓人們快速檢索出他們的手寫筆記呢?對於這個問題,微軟亞洲研究院的研究員和工程師們早就替你想好了,並已將這項手寫筆記檢索功能成功置入OneNote啦!(戳閱讀原文了解相關資訊)現在開啟最新版本的OneNote就能體驗!(目前該項技術僅支援英文)
這項功能的使用方法非常簡單。當你結束一場會議或是一堂課之後,你的筆記本想必記滿了與之相關的筆記,這時候你只需要將手機攝像頭對準筆記本或白板等輕輕一拍並上傳至OneNote,下次你再想尋找與這門課或者會議相關的內容時,只需在OneNote的搜尋框內輸入關鍵詞,系統就會快速、自動地檢索出帶有相關資訊的筆記內容。當然,如果你的手寫筆記連你自己都完全不認識的話,那該技術能識別的正確率大概和你一樣吧。╮(╯﹏╰)╭
你知道的和你不知道的OCR
這項看起來神奇又簡單的功能背後的核心技術便是手寫識別OCR(Handwriting OCR),當然你們可能會說了:“慢著,你先告訴我OCR是什麼!”
OCR的英文全稱是Optical Character Recognition,即光學字元識別,其本質就是將影象中的文字轉化為電腦能夠處理的資訊。這個技術早在20世紀50年代的時候就開始使用了,IBM當時用OCR技術實現了各類印刷文件的數字化,當時OCR裝置龐大且複雜,並且對掃描印刷文件的背景和字型等要求極高。到了80年代,平板掃描器的誕生則讓OCR技術進入了商用階段,雖然硬體裝置變得輕便靈巧了,但對圖片的成像質量要求仍然很高。如上所說,OCR將影象中的文字轉化為電腦可處理的資訊,而影象中的文字除了印刷字之外,還可能有手寫字,這就需要手寫字識別技術。手寫字識別技術已被廣泛用於郵件分揀、支票識別、手寫表格數字化等領域,但影象抓取主要以專業的掃描裝置為主。
進入二十一世紀,在帶有攝像頭的智慧手機誕生之後,人們的生活方式發生了很大改變。如今,大家已經習慣了用手機拍照的方式記錄資訊,因而產生的圖片檔案數量劇增。而這一類圖片中出現的文字多為自然場景下出現的文字,對於此類文字的識別也大大難於掃描器時代行列規整和背景乾淨的文字資訊。此外,由於雲端計算及無線網路的發展,前端用攝像頭進行捕捉,後端利用雲端計算對圖片進行處理,兩者結合,讓OCR應用充滿了想象空間。
Microsoft Translator的圖片文字翻譯功能
如今,在微軟的很多產品和服務中你都能看到OCR的影子。微軟推出的手機應用Microsoft Translator就能利用該項技術實時翻譯出圖片中的文字,無論是看不懂的外文選單還是複雜的外文使用說明書,只需用手機一照,就能看到對應的翻譯。而Office Lens應用更是將使用場景與人們的工作密切結合,它能識別出你拍下來的照片中的印刷文字,並儲存到OneNote或Word中,便於編輯、整理和搜尋。
從印刷字型到手寫字型
從Office Lens的印刷文字識別到如今的手寫文字識別,這兩者的技術差別可以說很大,也可以說是很小。
當一張圖片上傳到後臺,系統首先檢測這張圖片裡是否有文字,即文字檢測(text detection)。但用手機拍攝下來的圖片具有極大的多樣性和明顯的不確定性。例如,影象的非文字背景千變萬化,文字中包含多種語言,每種語言含有多種字母,每個字母又可以有不同的大小、字型、顏色、亮度、對比度等;文字通常以文字行的形式存在,但文字行可能有不同的排列和對齊方式,橫向、豎向、彎曲都有可能;因拍攝影象的隨意性,影象中的文字區域還可能會產生變形(透視和仿射變換)、殘缺、模糊斷裂等現象; 此外,手寫文字相較於印刷文字書寫風格更為隨意,進一步增大了文字檢測的難度。因此,文字檢測至今仍是一個開放性問題,值得研究人員去不斷探討來提高它的準確性。
在微軟亞洲研究院之前的文章中已經介紹過自然場景中印刷文字檢測的解決方案。在該方案中,我們先採用顏色增強對比極值區域(color-enhanced contrasting extremal region)快速提取候選文字連通區域,再利用一套基於淺層神經網路的文字/非文字分類演算法快速有效地將候選文字連通區域中的非文字區域濾除,最終得到一條一條的文字行。該方案同樣可以用來解決自然場景影象中手寫文字檢測的問題。
事實上,我們只是在之前分類器的訓練資料中新增了少量的手寫訓練樣本,並重新訓練分類器,就使得我們的文字檢測技術可以同時處理印刷字型和手寫字型。但是在文字識別階段,為了確保系統的效率及效能,我們還是暫時選擇將印刷字型和手寫字型分開處理,並提出了一套簡單有效的基於神經網路的印刷體/手寫體分類演算法來實現這個目的。
對被分類器分為印刷字型的文字行,我們直接採用微軟傳統的印刷字型識別引擎進行識別,而剩餘被分為手寫字型的文字行,則採用我們新開發的手寫文字識別引擎進行識別。不過,在對提取出的手寫字型文字行進行識別之前,我們還需要採用手寫文件處理領域經典的文字行預處理技術來對文字行進行規整,從而降低文字行識別的難度。我們採用的文字行規整演算法主要包含四個步驟:
1. 將非水平方向的文字行規整到水平方向;
2. 將傾斜的字型“掰正”;
3. 依據英文手寫常用的四線格標準對文字行的上中下三部分進行相應的尺度規整;
4. 將每條文字行的高度都規整到固定高度。
被規整之後的文字行看起來就像將正體英文字母工整地寫在水平等高的英文手寫四線格上,當然此處四線格並不會被畫出來。每一條這樣的文字行都可以被抽象為左右方向的序列訊號,因此可以利用滑動視窗法從文字行中提取出相應的特徵序列。滑動視窗以相同的步長從文字行左側滑到右側,劃過的每個位置都可以利用影象處理技術提取出相應的特徵向量。
四線格效果圖示意
針對上述序列訊號,我們採用雙向長短期記憶(Deep Bidirectional Long Short-Term Memory,簡稱為DBLSTM)遞迴神經網路(Recurrent Neural Network,簡稱為RNN)對其建模。該模型可以利用上下文資訊有效預測序列訊號的每個時刻被分為某英文字母或某標點符號的概率,因此被稱為字母模型(character model)。我們選擇用CTC(Connectionist Temporal Classification)訓練方法訓練DBLSTM模型。
為了處理大規模訓練資料並加快訓練速度,我們發明了一套極為有效的利用多機多GPU卡訓練深度學習模型的演算法, 讓訓練速度在增加GPU的條件下幾乎實現了線性增長,並保證了訓練模型的效能。此外,利用CTC訓練後的DBLSTM模型輸出結果的特性,我們可以利用簡單的規則過濾掉前面文字檢測演算法誤檢的非文字文字行。我們用基於WFST(Weighted Finite State Transducer)的解碼器識別文字行,且採用了統計語言模型提升識別率。此外,利用CTC訓練後DBLSTM模型的特性,我們採用自適應的方法動態調整解碼器剪枝閾值,大大加速了識別速度。
從點到面,將想法變為產品
通過以上步驟,一張圖片中的文字便被簡單高效地識別了出來。對於研究人員來說,如果只是做好上述某一技術或模組已很難,要將這些技術整合成一個好的產品解決方案則要求更高。微軟亞洲研究院首席研究員霍強博士介紹道,“想做好這一套手寫識別的產品解決方案,既需要有文字檢測、識別以及大資料機器學習的研究人員,還需要有程式碼能力極強的工程師。微軟亞洲研究院正好提供了這樣一個平臺,讓每個人都能發揮所長,相互合作,做了不起的事情。”憑藉著研究員和工程師們在各自領域的專業知識和高效合作,手寫識別從想法到成功轉化至產品的效率非常之高。談及這一技術未來的走向,霍強博士信心滿滿,“我們很清楚第一版方案的不足之處,正在全力研發第二版產品解決方案,完成後將大大改善使用者體驗。”
在人工智慧真正出現之前,我們不妨討論一下計算機都能幫助我們做些什麼。計算機天生擅長儲存、計算以及一些簡單的推理,而人類更擅長的是發明和創造。這就像手寫筆記一樣,你可以在你的筆記本上進行天馬行空的創作和發揮,而之後就把這一切交給計算機,讓它幫你記憶、儲存,以及在你需要的時候可以輕鬆地檢索出來。這也許就是我們目前最需要的增強智慧——讓計算機和人類做各自擅長的事情,人們因此可以更好地享受生活。
你也許還想看:
小編的話:
今天小編的話環節,小編給大家打一個小廣告~
你沒猜錯,CCTV2《對話》節目再次來襲!博鰲亞洲論壇之探討人工智慧高大上組合亮相《對話》,洪小文【微軟公司資深副總裁、微軟亞洲研究院院長】、王小川【搜狗CEO】、本·格策爾【Aidyia首席科學家、通用人工智慧會議主席】、劉慶峰【科大訊飛董事長】、袁輝【小i機器人創始人】、任泉【Star VC聯合創始人】,是不是大咖雲集呢?
人工智慧到底會不會產生一個新的物種?人工智慧會不會控制人類?4月3日21:50,CCTV2《對話》即將播出!
人工智慧三大猜想將會何去何從?敬請期待~
微軟小冰住進微軟研究院微信啦!快去和她聊聊天吧。