一、从一次深夜调试说起
上周在给 Jetson Orin 部署 RT-DETR 时遇到个头疼问题:模型在 1080p 视频流上跑到了 35 FPS,看起来不错,但一接上 4 路摄像头,显存直接爆了。硬件算力明明够,为什么多路并发就撑不住?用nvtop盯着看才发现,特征图在 backbone 里越传越大,每个张量都在吃显存。这时候才意识到,我们太执着于全局精度,却忘了在资源受限的场景下,让模型学会“看重点”比“全盘扫描”更实际。
这就是注意力机制该上场的时候了。但 Transformer 那套 self-attention 计算量太大,移动端根本扛不住。我们需要的是轻量化注意力——在几乎不增加计算负担的前提下,让网络学会聚焦关键特征。今天我们就来聊聊怎么把 ECA、CA 这些轻量注意力模块,优雅地塞进 RT-DETR 的骨干网络里。
二、注意力不是Transformer的专利
很多人一提到注意力就想到 Transformer,其实卷积网络早就玩过注意力了。SE 模块(Squeeze-and-Excitation)算是开山鼻祖,但它那个全连接层有点“重”,对移动端不友好。后来出来的 ECA(Efficient Channel Attention)和 CA(Coordinate Attention),才是真正为嵌入式场景设计的。
ECA 的核心思想:用一维卷积代替全连接来做通道注意力。这样既保留了跨通道的信息交互,又避免了维度缩减带来的副作用。我更喜欢