🚀 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模型有四个版本,可根据需求选择提取包含或不包含标题文本的表格和图片。
- 所有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% |
根据不同的使用场景,一些“不正确”的输出可能仍然完全可用。例如,模型为一个包含两个子组件的图片绘制了两个边界框。
🔧 技术细节
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}},
}