來源:映維網(wǎng) 作者 廣州客
谷歌在今年五月舉行的I/O大會宣布將視覺AR工具Lens納入至Google Go。但Google Go最初只支持Android Go設(shè)備,并且只登陸了特定市場的Google Play。然而,谷歌已于最近將這一工具帶到全球范圍內(nèi)的Play Store。
在全世界范圍內(nèi),有數(shù)以百萬計(jì)的人是首次上網(wǎng),而他們很多都是全球8億多名不具備讀寫能力的成年人中的一員,或者剛剛搬到陌生城市或城鎮(zhèn)的新居民。作為一款基于智能手機(jī)攝像頭的工具,Google Lens具備幫助所述人群的潛力。Lens主要利用了計(jì)算機(jī)視覺,機(jī)器學(xué)習(xí)和谷歌Knowledge Graph,并能夠?qū)F(xiàn)實(shí)世界的所見之物放到視覺搜索欄,從而識別相關(guān)的對象,或者將現(xiàn)實(shí)世界的文本復(fù)制粘貼至智能手機(jī)。
谷歌指出:“為了幫助更多的人群,我們需要創(chuàng)建一個能夠支持更多基礎(chǔ)機(jī)型的版本。所以在2019 I/O大會中,我們發(fā)布了一款面向Google Go的Lens版本,支持基本的入門設(shè)備。我們同時納入了旨在幫助存在閱讀挑戰(zhàn)和其他語言挑戰(zhàn)的用戶的全新功能。”
谷歌在一篇博文中指出,為了支持所述的讀寫功能,Google Go版本的Lens需要在一系列的設(shè)備中捕獲高質(zhì)量的文本,然后識別文本,理解其結(jié)構(gòu),翻譯并進(jìn)行疊加,最后再誦讀出來。
1. 圖像捕獲
入門級設(shè)備的圖像捕獲相當(dāng)具有挑戰(zhàn)性,因?yàn)槟阈枰嫒菀幌盗胁煌脑O(shè)備,而它們大多數(shù)都不具備旗艦機(jī)的性能。為了構(gòu)建一個能夠以最小延遲可靠捕獲高質(zhì)量圖像的通用工具,谷歌將Google Go中的Lens變成了一個全新Android支持庫的早期采用者:CameraX。包含在Jetpack(一套針對Android開發(fā)者的庫,工具和指南)的CameraX是Android Camera2 API的抽象層,可解決設(shè)備兼容性問題,所以開發(fā)者無需編寫自己的設(shè)備專用代碼。
為了平衡捕獲延遲和性能影響,谷歌利用CameraX實(shí)現(xiàn)了兩種捕獲策略。對于高端手機(jī),它們足以提供恒定的高分辨率幀,所以系統(tǒng)能夠瞬間完成捕獲。對于相對低端的設(shè)備,由于CPU性能有限,流式傳輸所述幀可能會導(dǎo)致攝像頭滯后,所以谷歌是在用戶點(diǎn)擊捕獲時處理幀,并生成單個按需高分辨率圖像。
2. 文本識別
當(dāng)Google Go中的Lens捕獲圖像后,它需要理解相關(guān)的形狀,及構(gòu)成單詞,句子和段落的字母。所以,圖像將按比例縮小并傳送到Lens服務(wù)器,然后執(zhí)行處理。接下來,應(yīng)用光學(xué)字符識別(Optical Character Recognition;OCR),后者利用Region Proposal Network來檢測可以合并成用于文本識別的行的字符級邊界框。
將字符框合并為單詞是一個分為兩步的順序過程。第一步是應(yīng)用Hough Transform;第二步是利用Text Flow。無論是直的,彎的,還是兩者混合,這個過程將可以確保系統(tǒng)識別和處理具有各種分布的文本。
由于Google Go的Lens所捕獲的圖像可能包含標(biāo)牌,手寫字符或文檔等來源,所以這可能會出現(xiàn)一系列的其他挑戰(zhàn)。例如,文本可以被遮擋,而圖像可以是模糊的。所有這些問題都可能導(dǎo)致OCR引擎誤解每個單詞中的各種字符。為了糾正錯誤并提高單詞準(zhǔn)確性,Google Go中的Lens利用周圍單詞的情景進(jìn)行更正。它同時利用Knowledge Graph提供情景線索,例如單詞是不是專有名詞,所以不應(yīng)進(jìn)行拼寫糾正。
從腳本檢測到方向識別,再到文本識別,所有這些步驟都是由單獨(dú)的卷積神經(jīng)網(wǎng)絡(luò)和一個額外的量化LSTM網(wǎng)絡(luò)(Long Short-Term Memory)來執(zhí)行。另外,從ReCaptcha到Google Books的掃描圖像。模型接受了各種來源的數(shù)據(jù)訓(xùn)練。
3. 理解結(jié)構(gòu)
一旦識別出單個單詞,Lens必須確定如何將它們組合在一起。人類在現(xiàn)實(shí)世界中遇到的文本以多種不同的方式展示。例如,一份報(bào)紙的文章包括標(biāo)題,文章和廣告。同時,公交時刻表中一列是目的地,另一列則有時間。盡管理解文本結(jié)構(gòu)對人類來說非常自然,但計(jì)算機(jī)則不然。Lens使用卷積神經(jīng)網(wǎng)絡(luò)來檢測連貫的文本塊,如列,或文本的一致樣式或顏色。然后,在每個塊中,它利用文本對齊,語言和段落的幾何關(guān)系等信號來確定其最終閱讀順序。
檢測文檔結(jié)構(gòu)的另一個挑戰(zhàn)是,我們會從不同的角度拍攝文本,并且通常是翹曲的視角。這意味著我們無法恢復(fù)依賴于現(xiàn)成的檢測器,而是必須普遍化系統(tǒng),從而使其能夠處理單應(yīng)性失真。
4. 情景翻譯
為了向用戶提供最有用的信息,翻譯必須精確且具有情景上下文。Lens利用了神經(jīng)機(jī)器翻譯算法。另外,為了提高翻譯的效用,這需要在原始文本的情景上下文中進(jìn)行。例如,當(dāng)翻譯ATM的指令時,重要的是要知道哪些按鈕對應(yīng)于哪些指令。
挑戰(zhàn)的一部分是,翻譯后的文本可能比原文短得多或長得多。例如,德語句子往往比英語句子長。為了實(shí)現(xiàn)這種無縫疊加,Lens將譯文重新分配到相似長度的行中,并選擇適當(dāng)?shù)淖煮w大小進(jìn)行匹配。它同時能夠匹配翻譯的顏色及其背景。Lens可以分類像素是表示背景還是文本,然后從這兩個區(qū)域中采樣平均顏色,從而確保翻譯文本與原始文本匹配。
5. 誦讀文本
Google Go的Lens的最后一個挑戰(zhàn)是大聲誦讀文本。系統(tǒng)利用谷歌的文本轉(zhuǎn)語音(TTS)技術(shù)來生成高保真音頻(一種應(yīng)用機(jī)器學(xué)習(xí)來消除歧義的服務(wù)),并使用它來生成基于DeepMind WaveNet的真實(shí)語音。
當(dāng)與屏幕配對時,它們將變得更具情景性和實(shí)用性。Lens利用來自TTS服務(wù)的定時注釋來標(biāo)記每個單詞的開頭,從而在誦讀時突出顯示屏幕的每個單詞,就類似于卡拉OK機(jī)。例如,用戶可以捕獲不同按鈕有著不同標(biāo)簽的ATM屏幕圖像。這種卡拉OK效果將允許用戶知道哪個標(biāo)簽適用于哪個按鈕。它同時可以幫助用戶學(xué)習(xí)如何發(fā)音相關(guān)單詞。
6. 展望未來
谷歌表示:“我們希望這些功能可以對數(shù)百萬人的日常生活產(chǎn)生積極影響。展望未來,我們將繼續(xù)對這些閱讀功能進(jìn)行更新,包括改進(jìn)文本結(jié)構(gòu)理解(例如多列文本)和識別印度語腳本。在我們解決這些文本挑戰(zhàn)時,我們繼續(xù)尋找集合機(jī)器學(xué)習(xí)和智能手機(jī)攝像頭的新方式,從而幫助改善人們的生活質(zhì)量。”
原文鏈接:https://yivian.com/news/65980.html