由於現實世界中各種各樣的文字出現,場景文本識別(STR)仍然是研究人員的重大挑戰。例如,識別文檔上的文本不同於識別T恤上的文本。在ECCV 2022上引入的場景文本識別(MGP-STR)模型的多粒性預測提供了一種開創性的方法。 MGP-STR將視覺變壓器(VIT)的魯棒性與創新的多晶格語言預測相結合,顯著提高了其處理複雜的STR任務的能力。這導致了更高的準確性和在各種現實世界中挑戰的各種情況,提供了一個簡單而強大的解決方案。
*本文是***數據科學博客馬拉鬆的一部分。
MGP-STR是一種基於視覺的STR模型,而無需單獨的語言模型。它使用多粒性預測(MGP)策略將語言信息直接集成到其體系結構中。這種隱式方法允許MGP-STR勝過純粹的視覺模型和語言增強方法,從而實現最新的STR結果。
該體系結構由兩個關鍵組成部分組成:
通過簡單而有效的策略,在字符,子詞和單詞級別上進行預測的融合可確保MGP-STR捕獲視覺和語言細節。
MGP-STR主要用於文本圖像上的OCR任務。它隱式結合語言知識的獨特能力使其在不同文本和扭曲文本的現實情況中特別有用。示例包括:
本節將在示例圖像上使用MGP-STR進行場景文本識別。您需要Pytorch,Transformers庫和依賴項(PIL,請求)。
導入所需的庫:用於模型處理的變壓器,用於圖像操縱的PIL以及獲取在線圖像的請求。
<code>from transformers import MgpstrProcessor, MgpstrForSceneTextRecognition import requests import base64 from io import BytesIO from PIL import Image from IPython.display import display, Image as IPImage</code>
通過擁抱面部變壓器來加載MGP-STR基本型號及其處理器。
<code>processor = MgpstrProcessor.from_pretrained('alibaba-damo/mgp-str-base') model = MgpstrForSceneTextRecognition.from_pretrained('alibaba-damo/mgp-str-base')</code>
創建一個函數來輸入圖像URL,使用MGP-STR處理它們,然後返回文本預測。此處理圖像轉換,base64編碼和文本解碼。
<code>def predict(url): image = Image.open(requests.get(url, stream=True).raw).convert("RGB") pixel_values = processor(images=image, return_tensors="pt").pixel_values outputs = model(pixel_values) generated_text = processor.batch_decode(outputs.logits)['generated_text'] buffered = BytesIO() image.save(buffered, format="PNG") image_base64 = base64.b64encode(buffered.getvalue()).decode("utf-8") display(IPImage(data=base64.b64decode(image_base64))) print("\n\n") return generated_text</code>
這裡省略了帶有圖像URL和預測的示例以節省空間,但是它們將遵循與原始文本相同的結構,以不同的圖像URL調用predict
功能。
從圖像示例可以明顯看出該模型的準確性。它的效率值得注意,在使用低RAM使用情況的CPU上運行。這使其很容易適應針對特定領域的任務的微調。
MGP-STR有效地結合了願景和語言理解。其創新的多晶型預測為不帶外部語言模型的情況提供了一種全面的方法,提高準確性和適應性。它簡單而準確的體系結構使其成為OCR和STR中研究人員和開發人員的寶貴工具。它的開源性質促進了該領域的進一步進步。
Q1:什麼是MGP-STR,它與傳統STR模型有何不同? A1: MGP-STR使用MGP將語言預測直接整合到基於視覺的框架中,從而消除了對傳統方法中單獨的語言模型的需求。
Q2:用於培訓MGP-STR的哪些數據集? A2:基本模型在MJSynth和Synthtext上進行了培訓。
Q3:MGP-STR可以將變形或低質量的文本圖像處理嗎? A3:是的,它的多粒性預測機制使其可以應對此類挑戰。
問題4:MGP-STR適合英語以外的其他語言? A4:雖然對英語進行了優化,但可以通過適當的培訓數據適應其他語言。
Q5:A³模塊如何促進MGP-STR的性能? A5: A³模塊可以完善VIT輸出,實現子詞級預測並嵌入語言信息。
注意:圖像佔位符與原始輸入相同。切記用實際鏈接替換包圍的鏈接。
以上是使用基於視覺的文本識別的場景文本識別的詳細內容。更多資訊請關注PHP中文網其他相關文章!