Quellcode durchsuchen

feat: 添加 CDM 和 COCODet 指标说明文档,详细描述评估算法及使用场景

zhch158_admin vor 2 Monaten
Ursprung
Commit
b851433056

+ 3 - 0
zhch/评估算法说明/CDM.md

@@ -0,0 +1,3 @@
+CDM: Character Detection Matching
+公式识别用,https://github.com/opendatalab/UniMERNet/blob/main/cdm/README-CN.md
+CDM 将模型预测的 LaTeX 和真实 LaTeX 公式渲染为图像格式,然后使用视觉特征提取和定位技术进行精确的字符级匹配,结合空间位置信息。相比于仅依赖文本字符匹配的 BLEU 和编辑距离,CDM 提供了更准确和公平的评估

+ 62 - 0
zhch/评估算法说明/COCODet.md

@@ -0,0 +1,62 @@
+## COCODet 指标说明
+
+COCODet 是基于 COCO 数据集标准的目标检测评估指标,在您的项目中通过 `mmeval.COCODetection` 实现。主要包含以下指标:
+
+### 核心指标
+- **mAP (mean Average Precision)**: 平均精度均值,是检测任务的主要评估指标
+- **mAR (mean Average Recall)**: 平均召回率均值
+- **AP@IoU=0.5**: IoU阈值为0.5时的平均精度
+- **AP@IoU=0.75**: IoU阈值为0.75时的平均精度
+- **AP@IoU=0.5:0.95**: IoU阈值从0.5到0.95(步长0.05)的平均精度
+
+## 在 OmniDocBench 中的使用场景
+
+根据您的代码和配置文件,COCODet 主要用于以下检测任务:
+
+### 1. Layout Detection (版面检测)
+在 layout_detection.yaml 中配置,用于评估文档版面元素检测:
+
+```yaml
+detection_eval:   # 由 DetectionEval 类处理
+  metrics:
+    - COCODet     # 使用 COCODet 指标
+```
+
+检测的版面元素包括:
+- `title` - 标题
+- `text` - 正文文本  
+- `figure` - 图片
+- `table` - 表格
+- `abandon` - 页眉页脚等
+
+### 2. Formula Detection (公式检测)
+在 formula_detection.yaml 中配置,评估公式检测效果:
+
+- `isolate_formula` - 行间公式检测
+- `inline_formula` - 行内公式检测
+
+### 3. 数据处理流程
+
+在 detection_eval.py 中,`DetectionEval` 类通过以下方式使用 COCODet:
+
+```python
+detect_matrix = dataset.coco_det_metric(
+    predictions=dataset.samples['preds'], 
+    groundtruths=dataset.samples['gts']
+)
+```
+
+数据来源于 `DetectionDataset` 类,该类负责:
+- 加载真实标注数据 (ground truth)
+- 加载模型预测结果 (predictions)
+- 格式转换和类别映射
+
+### 4. 评估优势
+
+COCODet 指标特别适合文档检测任务因为:
+- **多尺度评估**: 通过不同IoU阈值评估检测精度
+- **类别无关**: 可以评估多种文档元素类型
+- **标准化**: 与计算机视觉领域标准一致,便于比较
+- **全面性**: 同时考虑精度和召回率
+
+这使得 OmniDocBench 能够全面评估各种文档理解模型在版面分析和公式检测任务上的性能表现。

+ 80 - 0
zhch/评估算法说明/METEOR.md

@@ -0,0 +1,80 @@
+## METEOR 详细解释
+
+METEOR(Metric for Evaluation of Translation with Explicit ORdering)是一个用于评估机器翻译和文本生成质量的指标。
+
+### METEOR 的工作原理
+
+METEOR 通过以下步骤计算相似度分数:
+
+1. **词汇匹配**:在候选文本和参考文本之间寻找匹配的词汇
+   - 精确匹配:完全相同的词
+   - 词干匹配:词的词根相同
+   - 同义词匹配:使用 WordNet 等词典识别同义词
+
+2. **对齐计算**:找到最佳的词汇对齐方式
+
+3. **分数计算**:
+   ```
+   METEOR = (1 - α × 惩罚因子) × 调和平均值
+   ```
+   其中:
+   - 调和平均值基于精确率和召回率
+   - 惩罚因子考虑词序的重要性
+
+### 在代码中的实现
+
+从您的代码可以看到,METEOR 的使用方式:
+
+````python
+# ...existing code...
+meteor = evaluate.load('meteor', keep_in_memory=True, experiment_id=random.randint(1,1e8))
+meteor_results = meteor.compute(predictions=predictions, references=references)
+result[group_name] = meteor_results['meteor']
+# ...existing code...
+````
+
+**注意**:代码中存在一个错误,`predictions` 和 `references` 的赋值顺序颠倒了:
+
+````python
+# ...existing code...
+for sample in samples:
+    gt = sample['norm_gt'] if sample.get('norm_gt') else sample['gt']
+    pred = sample['norm_pred'] if sample.get('norm_pred') else sample['pred']
+    # 应该是:
+    predictions.append(pred)  # 预测结果
+    references.append(gt)     # 真实标签
+# ...existing code...
+````
+
+### 使用场景
+
+1. **机器翻译评估**
+   - 评估翻译系统的输出质量
+   - 比较不同翻译模型的性能
+
+2. **文本摘要评估**
+   - 评估自动摘要系统的效果
+   - 衡量摘要的信息保留度
+
+3. **OCR/文档识别评估**(如您的项目)
+   - 评估光学字符识别的准确性
+   - 衡量文档解析结果的质量
+
+4. **问答系统评估**
+   - 评估自动问答系统的回答质量
+   - 比较生成答案与标准答案的相似度
+
+### METEOR 的优势
+
+- **语义理解**:考虑同义词和词干变化
+- **词序敏感**:通过惩罚因子考虑词序重要性
+- **平衡性好**:在精确率和召回率之间取得平衡
+- **人类判断相关性高**:与人类评判结果相关性较强
+
+### 与其他指标的比较
+
+- **vs BLEU**:METEOR 更注重召回率,BLEU 更注重精确率
+- **vs Edit Distance**:METEOR 考虑语义相似性,编辑距离只考虑字符差异
+- **vs TEDS**:TEDS 专门用于表格结构评估,METEOR 用于通用文本评估
+
+在您的文档识别项目中,METEOR 特别适合评估文本内容的识别准确性,能够容忍一些同义词替换和词序变化。