|
|
@@ -721,7 +721,8 @@ def should_use_rtdetr(pdf_type, unet_cell_count, table_size):
|
|
|
- RT-DETR 独有 + 高置信度 (>0.7) → 补充
|
|
|
- UNet 独有 → 保留
|
|
|
- **Phase 3**: NMS去重 (IoU>0.5)
|
|
|
-- **Phase 4**: OCR补偿
|
|
|
+- **Phase 4**: 边界噪声过滤
|
|
|
+- **Phase 5**: OCR边缘补偿(补偿"有OCR文本但无单元格覆盖"的位置)
|
|
|
|
|
|
#### 3. **配置示例**
|
|
|
```yaml
|
|
|
@@ -732,23 +733,25 @@ wired_table_recognizer:
|
|
|
unet_weight: 0.6
|
|
|
rtdetr_weight: 0.4
|
|
|
iou_merge_threshold: 0.7
|
|
|
- skip_rtdetr_for_txt_pdf: true # 🎯 文字PDF跳过RT-DETR
|
|
|
+ enable_ocr_compensation: true # 启用OCR边缘补偿
|
|
|
```
|
|
|
|
|
|
### 📊 预期效果
|
|
|
|
|
|
-1. **文字PDF** (pdf_type='txt')
|
|
|
- - 自动跳过 RT-DETR,纯 UNet 模式
|
|
|
- - 性能提升:节省 100-200ms 推理时间
|
|
|
- - 准确性:避免 RT-DETR 在无噪声图像上的误检
|
|
|
+1. **所有PDF类型**
|
|
|
+ - 统一使用 UNet + RT-DETR 融合模式
|
|
|
+ - OCR边缘补偿在融合后执行
|
|
|
+ - 边缘单元格召回率显著提升
|
|
|
|
|
|
-2. **扫描PDF** (pdf_type='ocr')
|
|
|
- - 启用融合模式
|
|
|
- - 鲁棒性提升 30%+(模糊/噪声表格)
|
|
|
- - 边缘单元格召回率 +15%
|
|
|
+2. **融合流程**
|
|
|
+ - Phase 1: RT-DETR 检测
|
|
|
+ - Phase 2: UNet + RT-DETR 智能融合
|
|
|
+ - Phase 3: NMS 去重
|
|
|
+ - Phase 4: 边界噪声过滤
|
|
|
+ - Phase 5: OCR 边缘补偿
|
|
|
|
|
|
3. **降级机制**
|
|
|
- - RT-DETR模型未配置 → UNet-only
|
|
|
+ - RT-DETR模型未配置 → UNet-only + OCR补偿
|
|
|
- RT-DETR推理失败 → 自动回退
|
|
|
- UNet为空 → 强制启用RT-DETR
|
|
|
|
|
|
@@ -756,21 +759,21 @@ wired_table_recognizer:
|
|
|
|
|
|
运行测试脚本:
|
|
|
```bash
|
|
|
-cd /Users/zhch158/workspace/repository.git/ocr_platform/ocr_tools/universal_doc_parser/models/adapters/wired_table
|
|
|
+cd /Users/zhch158/workspace/repository.git/ocr_platform/ocr_tools/universal_doc_parser/tests
|
|
|
python test_cell_fusion.py
|
|
|
```
|
|
|
|
|
|
测试覆盖:
|
|
|
- ✅ RT-DETR检测器初始化
|
|
|
- ✅ 融合引擎基本功能
|
|
|
-- ✅ 文字PDF自适应跳过
|
|
|
-- ✅ 扫描PDF启用融合
|
|
|
+- ✅ 所有PDF类型启用融合
|
|
|
+- ✅ OCR边缘补偿
|
|
|
- ✅ 降级机制
|
|
|
|
|
|
### 📝 使用文档
|
|
|
|
|
|
完整的配置和使用说明已包含在 cell_fusion_config_example.yaml 中。
|
|
|
|
|
|
-系统已完全实现并集成,支持自适应策略,文字PDF自动跳过RT-DETR检测以提升性能和准确性!🎉
|
|
|
+系统已完全实现并集成,所有PDF类型统一使用UNet+RT-DETR融合,OCR补偿在融合后执行!🎉
|
|
|
|
|
|
Made changes.
|