论文:https://arxiv.org/abs/2505.11015
代码:https://github.com/bytedance/WildDoc
注:个人这篇论文的理论价值并不高,但是数据比较香。
一. 论文简介
在文档理解领域,多模态大模型(MLLMs)正以惊人的速度进化。从基础文档图像识别到复杂文档理解,它们在扫描或数字文档基准测试(如 DocVQA、ChartQA)中表现出色,这似乎表明MLLMs已很好地解决了文档理解问题。 然而,现有的文档理解基准存在两大核心缺陷:
- 脱离真实场景:现实中文档多为手机/相机拍摄的纸质文件或屏幕截图,面临光照不均、物理扭曲(褶皱 / 弯曲)、拍摄视角多变、模糊 / 阴影、对焦不准等复杂干扰;
- 无法评估鲁棒性:现有基准未模拟真实环境的复杂性和多样性,导致模型在实际应用中表现存疑。
针对每个文档数据,都在不同的条件下,用相机拍摄了四张图片,如下图a所示。下图b中展示了不同的样例图片。
核心结论:文档理解在真实拍照情况下,文档理解效果下降明显,建议未来的研究需要考虑真实世界的文档。
二. 数据
该论文开源了3万多张测试数据,这应该是该论文最大的贡献了,获取数据的方式如下:
from datasets import load_dataset
import os
import json
from PIL import Image
from tqdm import tqdm
# 确保目录存在
os.makedirs("./images", exist_ok=True)
os.makedirs("./Q&A", exist_ok=True)
# 加载数据集
ds = load_dataset("ByteDance/WildDoc")
print(f"数据集特征: {ds['test'].features}")
print(f"测试集大小: {len(ds['test'])}")
for i in tqdm(range(len(ds['test']))):
try:
example = ds['test'][i]
img = example['image']
question = example['question']
answer = example['answer']
# 检查图像类型
# print(f"图像 {i} 类型: {type(img)}")
if hasattr(img, 'save'):
# 如果是PIL Image对象,直接保存
img.save(f"./images/{i}.png")
# print(f"保存图像 {i} 成功")
# 保存对应的问答json文件
qa_data = {
"question": question,
"answer": answer
}
json_filename = f"./Q&A/{i}.json"
with open(json_filename, 'w', encoding='utf-8') as f:
json.dump(qa_data, f, ensure_ascii=False, indent=4)
# print(f"保存问答文件 {i}.json 成功")
else:
print(f"图像 {i} 不是PIL Image对象: {type(img)}")
except Exception as e:
print(f"处理图像 {i} 时出错: {e}")
print("\n完成所有文件保存")
运行上述代码,在当前文件下会创建两个子文件夹images(存储图片)、Q&A(存储问答对)。
# 问答对示例
{
"question": "What is the difference in value between Lamb and Corn?",
"answer": "0.57"
}