🚀 TF-ID:学術論文の表/画像識別器
TF-ID(Table/Figure IDentifier)は、胡逸飛によって作成された、一連の微調整された物体検出モデルです。このモデルは、学術論文から表と画像を抽出するために使用されます。学術論文中の表と画像の自動識別の問題を効果的に解決し、学術研究や文献処理に便利をもたらします。
🚀 クイックスタート
以下のコードを使用して、このモデルを始めることができます。
import requests
from PIL import Image
from transformers import AutoProcessor, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("yifeihu/TF-ID-base", trust_remote_code=True)
processor = AutoProcessor.from_pretrained("yifeihu/TF-ID-base", trust_remote_code=True)
prompt = "<OD>"
url = "https://huggingface.co/yifeihu/TF-ID-base/resolve/main/arxiv_2305_10853_5.png?download=true"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(text=prompt, images=image, return_tensors="pt")
generated_ids = model.generate(
input_ids=inputs["input_ids"],
pixel_values=inputs["pixel_values"],
max_new_tokens=1024,
do_sample=False,
num_beams=3
)
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
parsed_answer = processor.post_process_generation(generated_text, task="<OD>", image_size=(image.width, image.height))
print(parsed_answer)
結果を可視化するには、このチュートリアルノートブックを参照して詳細を確認してください。
✨ 主な機能
- TF-IDモデルには4つのバージョンがあり、必要に応じて、タイトルテキストを含むまたは含まない表と画像を抽出することができます。
- すべてのTF-IDモデルは、microsoft/Florence - 2のチェックポイントをベースに微調整されています。
- モデルは、単一ページの学術論文の画像を入力として受け取り、そのページ内のすべての表と画像のバウンディングボックスを返します。
- 微調整データはHugging Face Daily Papersから取得され、すべてのバウンディングボックスは人工的に手動でアノテーション付けされ、チェックされています。
💻 使用例
基本的な使用法
import requests
from PIL import Image
from transformers import AutoProcessor, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("yifeihu/TF-ID-base", trust_remote_code=True)
processor = AutoProcessor.from_pretrained("yifeihu/TF-ID-base", trust_remote_code=True)
prompt = "<OD>"
url = "https://huggingface.co/yifeihu/TF-ID-base/resolve/main/arxiv_2305_10853_5.png?download=true"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(text=prompt, images=image, return_tensors="pt")
generated_ids = model.generate(
input_ids=inputs["input_ids"],
pixel_values=inputs["pixel_values"],
max_new_tokens=1024,
do_sample=False,
num_beams=3
)
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
parsed_answer = processor.post_process_generation(generated_text, task="<OD>", image_size=(image.width, image.height))
print(parsed_answer)
📚 ドキュメント
モデルバージョン
モデル |
モデルサイズ |
モデル説明 |
TF-ID-base[HF] |
0.23B |
表/画像とそのタイトルテキストを抽出する |
TF-ID-large[HF] (推奨) |
0.77B |
表/画像とそのタイトルテキストを抽出する |
TF-ID-base-no-caption[HF] |
0.23B |
表/画像を抽出する(タイトルテキストを含まない) |
TF-ID-large-no-caption[HF] (推奨) |
0.77B |
表/画像を抽出する(タイトルテキストを含まない) |
物体検出結果の形式
{'': {'bboxes': [[x1, y1, x2, y2], ...], 'labels': ['label1', 'label2', ...]} }
学習コードとデータセット
ベンチマークテスト
モデルは、学習データセット以外の論文ページでテストされました。これらの論文は、Hugging Faceの毎日の論文のサブセットです。
正しい出力は、モデルが与えられたページ内の各表/画像に正しいバウンディングボックスを描画することと定義されます。
モデル |
総画像数 |
正しい出力数 |
成功率 |
TF-ID-base[HF] |
258 |
251 |
97.29% |
TF-ID-large[HF] |
258 |
253 |
98.06% |
モデル |
総画像数 |
正しい出力数 |
成功率 |
TF-ID-base-no-caption[HF] |
261 |
253 |
96.93% |
TF-ID-large-no-caption[HF] |
261 |
254 |
97.32% |
異なる使用シナリオによっては、一部の「不正確な」出力でも完全に使用可能な場合があります。例えば、モデルが2つのサブコンポーネントを含む画像に2つのバウンディングボックスを描画する場合があります。
🔧 技術詳細
TF-IDモデルは、microsoft/Florence - 2をベースに微調整され、学術論文中の表と画像の識別タスクに適応させています。微調整データはHugging Face Daily Papersから取得され、すべてのバウンディングボックスは人工的に手動でアノテーション付けされ、チェックされているため、データの正確性と信頼性が保証されています。モデルは、単一ページの学術論文の画像を入力として受け取り、ディープラーニングアルゴリズムを使用して画像の特徴を分析し、最終的に表と画像のバウンディングボックスを出力します。
📄 ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細については、ライセンスリンクを参照してください。
BibTexと引用情報
@misc{TF-ID,
author = {Yifei Hu},
title = {TF-ID: Table/Figure IDentifier for academic papers},
year = {2024},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/ai8hyf/TF-ID}},
}