小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

CV之Nougat:Nougat(一種基于神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)OCR功能的視覺轉(zhuǎn)換器模型)的簡介、安裝和使用方法、案例應(yīng)用之詳細(xì)攻略

 處女座的程序猿 2024-06-19 發(fā)布于上海

CV之Nougat:Nougat(一種基于神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)OCR功能的視覺轉(zhuǎn)換器模型)的簡介、安裝和使用方法、案例應(yīng)用之詳細(xì)攻略


相關(guān)論文

《Nougat: Neural Optical Understanding for Academic Documents》的翻譯與解讀

地址

論文地址:https:///abs/2308.13418

時間

2023年8月25日

作者

Meta AI

摘要

科學(xué)知識主要存儲在書籍和科學(xué)期刊中,通常以PDF格式存在。然而,PDF格式會導(dǎo)致語義信息的丟失,特別是對于數(shù)學(xué)表達(dá)式。我們提出了Nougat(Neural Optical Understanding for Academic Documents),這是一種視覺轉(zhuǎn)換器模型,用于執(zhí)行光學(xué)字符識別(OCR)任務(wù),將科學(xué)文檔處理成標(biāo)記語言,并在新的科學(xué)文檔數(shù)據(jù)集上展示了我們模型的有效性。所提出的方法為增強(qiáng)數(shù)字時代科學(xué)知識的可訪問性提供了一個有前景的解決方案,通過彌合人類可讀文檔與機(jī)器可讀文本之間的差距。我們發(fā)布了模型和代碼,以加速未來對科學(xué)文本識別的工作。

總結(jié)

這篇文章提出了一種新的神經(jīng)網(wǎng)絡(luò)模型Nougat,它可以將學(xué)術(shù)論文轉(zhuǎn)換為結(jié)構(gòu)化標(biāo)記文本。

背景:目前大多數(shù)科學(xué)知識都是以PDF格式存儲在書籍或?qū)W術(shù)期刊中,但PDF格式會喪失一定的語義信息,尤其是數(shù)學(xué)表達(dá)式。

現(xiàn)有的OCR識別引擎,如Tesseract,可以識別和分類個別字符和詞語,但因?yàn)樗捎玫氖切凶R別的方式,因此無法理解字符之間的關(guān)系,對數(shù)學(xué)表達(dá)式識別效果不佳。

解決方案

>> Nougat模型采用視覺變換器架構(gòu),可以直接從論文頁面圖像輸入進(jìn)行識別,無需依賴OCR預(yù)處理。

>> 它使用Swin Transformer編碼器提取論文圖像特征,再通過解碼器在自回歸方式生成標(biāo)記文本序列。

>> 訓(xùn)練時采用各種數(shù)據(jù)增強(qiáng)技術(shù)來提升泛化能力,如模糊、噪聲等。

核心特點(diǎn)

>> 端到端學(xué)習(xí),不需要任何OCR輸入,直接使用論文頁面圖像進(jìn)行識別。

>> 可以識別數(shù)字出版物以外的掃描書刊和教材。

>> 與現(xiàn)有方法相比,可以更好地還原數(shù)學(xué)表達(dá)式及其語義關(guān)系。

優(yōu)勢

>> 公開了預(yù)訓(xùn)練模型和代碼,可促進(jìn)相關(guān)領(lǐng)域未來工作。

>> 能夠有效提升科學(xué)知識在數(shù)字時代的可訪問性。

總之,Nougat提出了一種新的端到端神經(jīng)網(wǎng)絡(luò)方法來將學(xué)術(shù)論文轉(zhuǎn)化為結(jié)構(gòu)化標(biāo)記文本,它直接使用論文圖像作為輸入,通過視覺變換器架構(gòu)實(shí)現(xiàn)自動識別,解決了現(xiàn)有OCR方法在數(shù)學(xué)表達(dá)式識別上的不足,同時也提升了泛化能力。

Nougat的簡介

Nougat是學(xué)術(shù)文檔的神經(jīng)光學(xué)理解。這是Nougat的官方倉庫,一個能夠理解LaTeX數(shù)學(xué)和表格的學(xué)術(shù)文檔PDF解析器。

GitHub地址https://github.com/facebookresearch/nougat

項(xiàng)目頁面: Nougat

Nougat的安裝和使用方法

1、安裝

通過pip安裝:
pip install nougat-ocr

通過倉庫安裝:
pip install git+https://github.com/facebookresearch/nougat
注意,在Windows上:如果你想使用GPU,確保首先安裝正確版本的PyTorch。按照此處的說明進(jìn)行操作。




如果你想從API調(diào)用模型或生成數(shù)據(jù)集,需要額外的依賴項(xiàng)。通過以下方式安裝:
pip install "nougat-ocr[api]" 或 pip install "nougat-ocr[dataset]"

2、使用方法

(1)、獲取PDF的預(yù)測

T1、命令行接口(CLI)
要獲取PDF的預(yù)測,請運(yùn)行:
$ nougat path/to/file.pdf -o output_directory

也可以傳遞一個目錄的路徑或每行是PDF路徑的文件路徑作為位置參數(shù):
$ nougat path/to/directory -o output_directory


使用方法
nougat [-h] [--batchsize BATCHSIZE] [--checkpoint CHECKPOINT] [--model MODEL] [--out OUT]
       [--recompute] [--markdown] [--no-skipping] pdf [pdf ...]

位置參數(shù):

  • pdf:要處理的PDF文件。

選項(xiàng):

  • -h, --help:顯示幫助信息并退出
  • --batchsize BATCHSIZE, -b BATCHSIZE:使用的批處理大小。
  • --checkpoint CHECKPOINT, -c CHECKPOINT:檢查點(diǎn)目錄的路徑。
  • --model MODEL_TAG, -m MODEL_TAG:使用的模型標(biāo)簽。
  • --out OUT, -o OUT:輸出目錄。
  • --recompute:重新計(jì)算已計(jì)算的PDF,丟棄以前的預(yù)測。
  • --full-precision:使用float32而不是bfloat16。在某些設(shè)置中可以加速CPU轉(zhuǎn)換。
  • --no-markdown:不添加markdown兼容性的后處理步驟。
  • --markdown:添加markdown兼容性的后處理步驟(默認(rèn))。
  • --no-skipping:不應(yīng)用失敗檢測啟發(fā)式方法。
  • --pages PAGES, -p PAGES:提供頁碼,例如'1-4,7'表示第1到4頁和第7頁。僅適用于單個PDF。

默認(rèn)的模型標(biāo)簽是0.1.0-small。如果你想使用基礎(chǔ)模型,請使用0.1.0-base。

$ nougat path/to/file.pdf -o output_directory -m 0.1.0-base

在輸出目錄中,每個PDF將保存為.mmd文件,這是一種輕量級標(biāo)記語言,大部分兼容Mathpix Markdown(我們使用LaTeX表格)。
注意:在某些設(shè)備上,失敗檢測啟發(fā)式方法工作不正常。如果你遇到大量的[MISSING_PAGE]響應(yīng),嘗試使用--no-skipping標(biāo)志運(yùn)行。相關(guān)問題:#11, #67

T2、API

使用額外的依賴項(xiàng),你可以使用app.py啟動一個API。調(diào)用:

$ nougat_api

通過向http://127.0.0.1:8503/predict/發(fā)送POST請求來獲取PDF文件的預(yù)測。它還接受start和stop參數(shù)來限制計(jì)算的頁碼(包含邊界)。

響應(yīng)是文檔的markdown文本字符串。

curl -X 'POST'   'http://127.0.0.1:8503/predict/'   -H 'accept: application/json'   -H 'Content-Type: multipart/form-data'   -F 'file=@<PDFFILE.pdf>;type=application/pdf'

要將轉(zhuǎn)換限制在第1到5頁,請?jiān)谡埱骍RL中使用start/stop參數(shù):http://127.0.0.1:8503/predict/?start=1&stop=5

(2)、數(shù)據(jù)集

生成數(shù)據(jù)集

要生成數(shù)據(jù)集,你需要:
>> 包含PDF的目錄
>> 包含.html文件(由LaTeXML處理的.tex文件)的目錄,具有相同的文件夾結(jié)構(gòu)
>> pdffigures2的二進(jìn)制文件和相應(yīng)的環(huán)境變量 export PDFFIGURES_PATH="/path/to/binary.jar"

然后運(yùn)行:
python -m nougat.dataset.split_htmls_to_pages --html path/html/root --pdfs path/pdf/root --out path/paired/output --figure path/pdffigures/outputs
其他參數(shù)包括:
參數(shù)描述
--recompute重新計(jì)算所有拆分
--markdownMARKDOWN 輸出目錄
--workersWORKERS 使用的進(jìn)程數(shù)
--dpiDPI 保存頁面的分辨率
--timeoutTIMEOUT 每篇論文的最大時間
--tesseractTesseract 每頁的OCR預(yù)測
最后,創(chuàng)建一個包含所有圖像路徑、markdown文本和元信息的jsonl文件:
python -m nougat.dataset.create_index --dir path/paired/output --out index.jsonl

對于每個jsonl文件,你還需要生成一個快速數(shù)據(jù)加載的索引映射:
python -m nougat.dataset.gen_seek file.jsonl
生成的目錄結(jié)構(gòu)可以如下所示:
root/
├── images
├── train.jsonl
├── train.seek.map
├── test.jsonl
├── test.seek.map
├── validation.jsonl
└── validation.seek.map

注意,路徑/配對/輸出中的.mmd和.json文件(此處為images)不再需要。這對于通過減少一半文件數(shù)量推送到S3存儲桶很有用。

(3)、訓(xùn)練

要訓(xùn)練或微調(diào)Nougat模型,運(yùn)行:

python train.py --config config/train_nougat.yaml

(4)、評估

運(yùn)行:
python test.py --checkpoint path/to/checkpoint --dataset path/to/test.jsonl --save_path path/to/results.json

要獲取不同文本模式的結(jié)果,運(yùn)行:
python -m nougat.metrics path/to/results.json

3、常見問題

為什么我只得到[MISSING_PAGE]?

Nougat是在arXiv和PMC上找到的科學(xué)論文上訓(xùn)練的。你正在處理的文檔是否與此相似?文檔的語言是什么?Nougat對英文論文效果最佳,其他拉丁語系語言可能也有效。中文、俄文、日文等則無效。如果這些要求都滿足,可能是由于CPU或較舊的GPU上失敗檢測的誤報(bào)(#11)。目前嘗試傳遞--no-skipping標(biāo)志。

我可以從哪里下載模型檢查點(diǎn)?

它們已上傳到GitHub的發(fā)布部分。你也可以在程序第一次執(zhí)行時下載它們。通過傳遞--model 0.1.0-{base,small}選擇首選模型。

Nougat的案例應(yīng)用

持續(xù)更新中……

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多