表格截图直接变成可查询数据库:2B模型在合成表上表级完全匹配0.86,外键召回0.99
核心概要
从一张文档图像直接写出可执行的SQLite数据库,而不只是保留版式的表格标记。PIX2DB用Qwen3-VL-2B加LoRA在36,589个带精确金标准数据库的样本上训练,再经确定性校验修复层,在来自未见数据库的渲染表上取得0.86表级完全匹配和0.99外键召回,同族8B模型提示生成SQL为0.75/0.75,8B的HTML转SQLite流程为0.47/0.00。在未参与训练的TabRecSet上它写出数据库的直接系统里最好(0.52),但仍落后8B HTML流程(0.58),差距主要在照片文字识读。
深度剖析
表格图像的目标输出从保留版式的标记改为一个能直接加载并查询的SQLite数据库,模式、列类型、主外键和行都在其中。 此前的表格理解系统把结构恢复成单元格网格、HTML或Markdown,合并单元格、两级表头、发票抬头与明细行之间的关系仍留给下游自行决定。 在150张渲染图像的预实验中,同族8B模型被要求输出SQL时93%的输出可执行,但只有61%的表完全正确;被要求输出HTML再由脚本载入SQLite时只有46%正确。
一个2B模型加上确定性校验修复层,在多数评测集上超过同族更大的模型。 同族8B模型直接提示生成SQL在合成测试上表级完全匹配为0.75,8B的HTML转SQLite流程为0.47,未微调的2B基座为0.53。 在来自未见数据库的900张合成测试图像上,PIX2DB-2b取得0.86表级完全匹配和0.99外键召回;在FinTabNet验证集上单元F1为0.96,CORD收据测试集召回0.93。
训练数据由两条路径生成精确金标准:把Spider数据库样本按六个版式难度渲染成图像,以及把PubTabNet、FinTabNet和CORD标注按同一套归一化规则转换。 真实标注只描述表格外观,转换时需要展开跨行跨列、把表头压平成列名、把数字去掉千分位与货币符号,并丢弃正文含跨列的表格。 每个金标准转储都先执行并与自身比对,得分低于1.0即视为数据错误;该检查发现并修正了复合主键、数字存成文本、标识符为SQL关键字等问题。
合成数据教会归一化约定,真实数据教会读取真实单元格内容。 只用24k合成图像训练的版本在合成测试上达到0.85,与加入真实数据后的0.86相当,但在PubTabNet上单元F1只有0.43,150个输出中有82个SQL根本无法执行。 加入18.8k转换后的真实表格与收据后,PubTabNet单元F1升到0.81,FinTabNet升到0.96,CORD召回升到0.93,TabRecSet从0.44升到0.52,合成测试分数没有下降。
启示与展望
演示范围是英文文档图像上的单页表格、收据与图表,输出为可直接在未修改SQLite引擎中执行的转储;手写、多页表格和超过30行的表格不在训练分布内,正文含分节行的表格在训练与评测中都被排除。
真实留出集与训练数据同源,因此会高估模型在陌生文档上的表现,TabRecSet被单独报告;TabRecSet缺少表头标注,只能假定首行为表头;所有数字来自单次训练运行,区间反映测试样本抽样而非训练方差;图表无数值标签时只能近似读取。
