1. 引言
古籍是文化遗产的重要载体,其数字化保存与传播对学术研究、文化传承具有不可替代的价值。在扫描过程中,受限于扫描仪结构,图像中不可避免地包含盖板、色卡、标尺、手指等非书页物体,以及因书本厚度、装订方式造成的阴影和曲率变化。如何从这些高分辨率扫描件中,自动、精确且无损地提取出纯净的书页图像,成为古籍数字化流水线中的第一道技术关卡。
目前,书页分割方法大致可分为三类:
- 传统图像处理方法:基于边缘检测、阈值分割、投影分析、直线检测等技术,通过手工设计的特征和规则提取书页轮廓。这类方法在背景均匀、书页规整时表现良好,但对阴影、纹理、色卡等干扰鲁棒性差,参数调节繁琐,难以批量化。
- 深度学习语义分割:以U-Net、DeepLab、U²-Net等模型为代表,通过大量标注数据训练端到端的分割网络,能够较好地理解图像语义,区分前景与背景。然而,深度学习模型通常要求固定输入尺寸(如320×320),对高清原图进行缩放推理会导致边缘模糊、细节丢失;若分块推理,则面临拼接伪影和计算量巨大的问题。
- 混合方法:结合深度学习的高层语义理解与传统算法的精确边缘定位。通过混合方法保证输出像素与原始扫描件100%一致。
针对上述问题,本文提出“守真”理论框架及其对应的高效无损分割方法。本文的主要贡献包括:
- 确立了古籍书页分割的“保真”红线,提出“智能与执行分离”的设计哲学。
- 设计了一种“粗判–过渡带精细推理”的层次化推理策略,在保证精度的同时大幅减少冗余计算。
- 提出基于纹理标准差的色卡/标尺自动检测与背景填充方法,有效排除固定位置的干扰物。
- 实现了从掩膜到坐标再到原图裁剪的完整无损流水线,所有像素均直接取自原始图像,无任何缩放或插值。
- 通过大量实验验证了该方法在精度、保真度和效率上的优势。
2. 问题定义与核心矛盾
2.1 输入与输出规范
输入:一张来自扫描仪的高分辨率古籍书页图像 I_{raw} ,可能包含以下元素:
- 书页本身(目标前景)
- 扫描仪盖板(背景)
- 色卡、标尺、标签等固定位置的参考物体
- 由书本厚度引起的书脊阴影、边缘翘起
输出:仅包含书页区域的图像 I_{crop} ,其每一个像素均严格等于 I_{raw} 中对应位置的原始像素值。
形式化定义:若裁剪坐标集合为 \mathcal{C} = \{(x_1,y_1), (x_2,y_2), (x_3,y_3), (x_4,y_4)\} (四边形顶点),则
I_{crop} = Crop(I_{raw}, \mathcal{C})
其中 Crop(\cdot) 为像素切片操作,不涉及任何像素值修改。
2.2 核心矛盾
书页分割面临一对根本矛盾:
- 语义理解需要全局视野:区分书页与背景(尤其是阴影、污渍)需要理解图像的语义内容,这通常要求网络看到足够大的感受野。
- 像素保真需要局部精度:最终的裁剪边界必须精确到像素级,任何缩放或重采样都会破坏原始信息。
传统方法试图用低层特征(梯度、颜色)拟合语义,能力不足;深度学习方法试图直接输出图像,导致缩放损失。如何让深度学习模型在不接触原始像素的前提下,提供精确到像素的坐标,是“守真”理论要解决的核心问题。
3. “守真”理论框架
3.1 设计哲学与红线
“守真”之名取自“守其真,不夺其璞”,意即守护古籍原貌,不使智能算法损害其原始信息。框架遵循三条不可逾越的红线:
- 永不缩放原图:从加载到保存,原始图像始终以原始分辨率驻留在内存中,任何缩放、滤波操作仅用于生成坐标,绝不作用于输出图像。
- 深度学习只动坐标,不动像素:模型的输出是概率掩膜,掩膜仅用于提取轮廓坐标,绝不直接生成或修改输出图像。
- 传统算法只做执行,不做判断:所有关于“什么是书页”的决策由深度学习完成,传统算法仅负责根据坐标忠实地执行裁剪,不参与语义决策。
3.2 四步流程
基于上述原则,我们将分割过程分解为四个严格分离的阶段:
第一步:色卡/标尺预处理(可选)
在正式分割前,利用传统纹理分析方法检测并“虚拟移除”色卡、标尺等固定干扰物。具体而言:
- 计算图像四边边缘区域内每一行/列的标准差,标准差突变处标记为色卡边界。
- 生成色卡掩膜 M_{color} ,色卡区域置为0(待排除)。
- 从图像四角采样估计背景颜色,将色卡区域填充为背景色,使后续语义分割不受其干扰。
- 此步骤完全在原始分辨率下进行,输出的 M_{color} 坐标被记录,最终裁剪时会将色卡区域彻底排除。
第二步:全局粗判与过渡带定位
此步的目标是以最低计算成本获得书页的全局语义理解,并框定出需要精细分析的“不确定区域”。
- 将原始图像等比缩放至 320×320 的尺寸(保留整体结构),送入轻量级语义分割模型(如U²‑Netp)进行推理,得到一张低分辨率掩膜 M_{coarse} 。
- 将 M_{coarse} 放大回原始尺寸。
- 对 M_{coarse} 进行二值化,然后用大尺寸椭圆形核对二值图分别进行膨胀和腐蚀操作。
- 过渡带 B 定义为膨胀结果与腐蚀结果的差值: B = Dilate(M_{bin}) - Erode(M_{bin}) 。过渡带的宽度由核大小控制,通常设为101像素,确保完全覆盖书页边缘的所有不确定区域(阴影、翘起、模糊边界)。
这一步骤耗时极短(单次缩略图推理),但提供了全局视野,精确锁定了后续精细推理的范围。
第三步:沿过渡带精细推理
过渡带内的像素才是真正需要高分辨率判断的区域。我们对过渡带进行密集切块,每个图块尺寸为 320×320 像素,直接从原图裁剪,不进行任何缩放。
- 在过渡带的包围盒内,以步长 stride = tile_size - overlap 滑动窗口,确保窗口完全位于图像内部。
- 仅当窗口内过渡带像素数超过阈值(如50)时,才进行推理,大幅跳过书页内部和纯背景区域。
- 每个 320×320 图块送入 U²‑Net 模型,得到局部精细掩膜。
- 图块之间的重叠区域采用线性渐变权重融合,消除拼接痕迹。
- 精细掩膜与粗判掩膜合并,过渡带以外的区域保持粗判结果(0或1)。
若精细推理后前景面积比粗判减少超过20%(说明过渡带遗漏了部分书页),则自动回退到全局精细推理,保证鲁棒性。
第四步:坐标提取与无损裁剪
- 对最终的精细掩膜进行二值化,寻找最大连通域。
- 计算最小外接矩形,并向外安全扩展10像素,得到初始裁剪四边形 \mathcal{C}_0 。
- 用户可选的边界扩展参数 \delta (正数外扩,负数内缩)作用在四边形上:每条边沿其法线方向平移 \delta 像素,重新计算交点,得到最终裁剪坐标 \mathcal{C} 。
- 在原图 I_{raw} 上,根据 \mathcal{C} 执行像素切片,输出 I_{crop} 。
至此,深度学习的使命彻底结束。输出图像中的每一个像素,都直接来源于原始扫描件,未经过任何缩放、滤波或插值。
4. 关键技术细节
4.1 色卡/标尺排除
色卡和标尺通常位于图像边缘,具有高纹理密度和高颜色饱和度。我们采用行/列标准差剖面分析结合饱和度检测来精确定位。
- 对于四边各 25% 宽度的区域,计算每行/列的灰度标准差,得到一维剖面曲线。
- 设定阈值 \theta_{std} ,寻找剖面曲线上首个显著上升的位置,作为色卡边界。
- 生成掩膜后,用 5×5 核进行腐蚀,避免误切书页边缘。
- 从图像四角采样中值颜色作为背景色,填充掩膜区域,使色卡与背景融为一体。
该方法在批量处理同一本书时尤为有效,因为色卡位置基本固定,检测结果高度一致。
4.2 过渡带宽度选择
过渡带宽度直接决定了精细推理的覆盖范围和计算量。宽度过小,可能遗漏边缘细节;宽度过大,则退化为全局推理,失去效率优势。
实验表明,对于3000–6000像素宽度的古籍扫描图,band_width = 101 像素能在覆盖所有边缘阴影的同时,将推理块数控制在30–60块(全局推理需100–200块)。若图像边缘模糊区域异常宽大,可通过回退机制自动补偿。
4.3 图块融合与边界处理
图块融合采用空间渐变权重:
w(x,y) = min( x/L, 1, (W-x)/L ) · min( y/L, 1, (H-y)/L )
其中 L = overlap ,W, H 为图块宽高。最终掩膜为加权平均:
M_{fine}(x,y) = Σ_t M_t(x,y) · w_t(x,y) / Σ_t w_t(x,y)
边界图块通过 min(y1, h-tile_size) 进行钳位,确保不越界。
4.4 坐标调整与安全扩展
从掩膜提取的轮廓是二值化后的像素边界,直接使用可能因离散化而损失少许边缘。我们在最小外接矩形的基础上,向四角方向各扩展10像素,作为安全边界。用户可通过交互界面进一步微调扩展量。
5. 实验验证
5.1 实验设置
- 测试数据:从多家图书馆收集的100张古籍扫描图,分辨率从2000×3000到4000×6000不等,涵盖不同背景类型(黑、白、灰、纹理)、不同装订方式、不同破损程度。
- 对比方法:传统CV(多模态融合)、原始U²‑Net全局缩放推理、U²‑Net全局分块推理(无过渡带)、本文方法(守真)。
- 评价指标:
- 像素保真度(Pixel Fidelity):输出图像中与原始像素完全一致的比例,理想为100%。
- 边界交并比(Boundary IoU):以手动标注的四边形为真值,计算预测四边形与真值的重叠率。
- 推理时间(秒)。
5.2 结果与分析
| 方法 | 像素保真度 | Boundary IoU | 平均推理时间 (s) |
|---|---|---|---|
| 传统CV | 100% | 0.84 | 0.8 |
| U²‑Net全局缩放 | 0% | 0.78 | 2.1 |
| U²‑Net全局分块 | 100% | 0.92 | 48.3 |
| 守真 (本文) | 100% | 0.93 | 11.7 |
- 像素保真度:传统CV和全局分块、守真方法均能达到100%,因为它们均基于坐标裁剪原图。全局缩放方法由于直接输出低分辨率掩膜并放大,必然引入插值失真。
- 边界精度:守真方法在Boundary IoU上与全局分块相当,且显著优于全局缩放和传统CV。传统CV在阴影和色卡干扰下容易出现误判。
- 推理效率:守真方法耗时仅为全局分块的24%,这得益于过渡带策略成功跳过了大量内部和外部区域。
5.3 消融实验
- 去除色卡排除:在含色卡的图像上,Boundary IoU从0.93降至0.89。
- 缩小过渡带宽度至51:部分严重阴影图像出现边缘缺失,Boundary IoU降至0.90。
- 关闭回退机制:对于过渡带遗漏的图像,Boundary IoU降至0.85。
实验表明,色卡排除、足量过渡带宽和回退机制对最终性能均有重要贡献。
6. 讨论与局限
6.1 当前方法的适用范围
守真方法主要针对“书页整体提取”这一任务设计,适用于书页在图像中占主体、边缘轮廓大致为凸多边形的场景。对于以下情况,效果可能下降:
- 书页严重破损、碎裂,导致二值掩膜出现多个孤立前景块。
- 扫描图像中包含多页且严重重叠,难以界定单页边界。
- 背景极度复杂,与书页纹理高度相似,导致粗判模型本身即出现重大错误。
这些场景下,可能需要对粗判模型进行专用数据微调,或引入人工交互修正。
6.2 模型选择与升级
本文使用U²‑Netp作为语义分割骨干,其体积小(4.7MB)、速度快,但精度略逊于大型模型。若未来追求更高精度,可直接替换为U²‑Net标准版(167MB)或IS‑Net(43MB),无需修改任何流水线代码。更进一步的,可针对古籍书页专门训练微调版本,预期边界精度可接近手动标注水平。
6.3 向单页分割与版框提取的扩展
守真的“智能定位+坐标裁剪”范式可自然扩展至更细粒度的任务:
- 双页分割:在全局粗判阶段额外输出中缝线坐标,或利用投影分析分离左右页。
- 版框提取:在单页图像上,训练版框角点检测模型,输出版框四边形的坐标,再用同样的无损裁剪方式提取文本区域。
这种“一模型一坐标”的模块化设计,使得整个古籍数字化流水线可逐步构建、独立优化。
7. 结论
本文针对古籍书页无损分割问题,提出了“守真”理论框架及配套的高效推理方法。该框架以“智能与执行分离”为核心理念,通过“粗判–过渡带精细推理”策略,在保证100%像素保真和接近全局推理精度的前提下,将计算量降低至后者的四分之一。同时,整合了色卡/标尺自动排除、回退机制等实用模块,形成了鲁棒、高效、可扩展的完整方案。
守其真,不夺其璞——让古籍的每一个像素都保持它被扫描时的本来面目。