当前位置: 首页 > backend >正文

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"
}
http://www.xdnf.cn/news/9718.html

相关文章:

  • ETL怎么实现多流自定义合并?
  • 信奥之计算原理与排列组合
  • 人工智能在智慧物流中的创新应用与未来趋势
  • mybatis plus的源码无法在idea里 “download source“
  • 勾股数的性质和应用
  • JS逆向 【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack实战 (上)
  • Dify案例实战之智能体应用构建(一)
  • wewin打印机 vue版本 直接用
  • ABF膜介绍
  • 免杀二 内存函数与加密
  • QTest应用迷城
  • 鸿蒙完整项目-仿盒马App(一)首页静态页面
  • 极坐标下 微小扇环 面积微元
  • 数据库如何优化,尤其是历史温度数据计算品均值,实现小时,天,月的查询计算
  • Android和iOS DNS设置方式
  • C++链式调用与Builder模式
  • 【LightRAG:轻量级检索增强生成框架】
  • Femap许可转移操作指南
  • 思迅商慧7管理系统 信息泄露漏洞复现(CVE-2025-4281)
  • 适用于 Windows 和 Linux 的 Yolo全栈算法之开源项目学习
  • 【大模型原理与技术-毛玉仁】第二章 大语言模型架构
  • docker镜像加速
  • TestStand API编程:在SequenceFile中操作Sequence和Step
  • Jenkins-Pipeline:学习笔记
  • openbmc kvm Video 底层实现(1)之aspeed-video Module 初始化:
  • [yolov11改进系列]基于yolov11引入高效卷积模块SCConv减少冗余计算并提升特征学习的python源码+训练源码
  • MySQL主从复制深度解析:原理、配置与实战指南
  • Linux线程机制揭秘:从内核实现到用户态编程(二)
  • 相机Camera日志分析之二十二:高通相机Camx 基于预览1帧的ConfigureStreams重要完整日志
  • 框架漏洞(1)SpringBoot