一、从一次诡异的漏检说起上周在部署RT-DETR到边缘设备时,遇到一个让人头疼的问题:同一个目标在画面中移动时,检测框的置信度会莫名其妙地波动。静态测试时mAP挺漂亮,一旦目标连续运动,某些帧的检测结果就会“闪跳”。最初怀疑是后处理NMS的参数问题,调了一整天阈值,效果反而更差。直到把注意力权重可视化出来,才发现问题出在位置编码上——模型对同一物体的位置变化过于敏感,又不够敏感。听起来矛盾吧?敏感是指位置轻微偏移就会导致注意力权重重新分布;不够敏感是指模型缺乏对物体相对位置关系的稳定理解。这恰恰是Transformer结构在视觉任务中的老毛病:缺乏天然的平移等变性。二、绝对位置编码的“死板”原始Transformer的位置编码是固定的正弦曲线,每个位置有个独一无二的编码向量。这在NLP里挺好用,因为文本的位置是绝对的、离散的。但图像不一样,像素的绝对位置没那么重要,重要的是相对关系。# 典型的绝对位置编码实现(别直接抄,有问题)defabsolute_position_encoding(h,w