昨天深夜调试一个票据识别项目,模型在通用COCO数据集上mAP跑得挺漂亮,一到实际业务场景就翻车——密密麻麻的报销单小字检测框要么漏检,要么多个字被合并成一个检测框。盯着屏幕上的错误结果,我意识到:是时候给RT-DETR动一次“眼科手术”了。问题根源:通用目标检测与文本检测的本质差异通用目标检测和文本检测根本是两码事。COCO里的物体通常有明确边界、相对稀疏,而文本呢?字符间距可能只有几个像素,行间距紧凑,还有各种字体大小混排。RT-DETR原生的设计更关注中等尺寸物体,对小文本的敏感度不够。更麻烦的是,Transformer decoder的query设计默认假设物体是“稀疏分布”的,这在密集文本场景下直接崩盘。改进一:特征金字塔的“显微镜”改造原版特征金字塔的顶层特征图下采样率太大,小文本特征早就被稀释没了。我的做法是增加一个更高分辨率的特征层:classTextFeaturePyramid(nn.Module):