WildDoc:拍照场景下的文档理解——数据真香

论文: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"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值