ReID与度量学习——跨摄像头找人这件事有多难 📅 2026/7/24 9:45:45 视觉识别里有一类任务特别拧巴——ReID行人重识别 / 车辆重识别。这活儿的目标是给一张目标人物/车辆的图像在跨摄像头的海量图库里找到这个人/这辆车。听起来不就是图像检索吗对但难就难在跨摄像头这三个字上。你先想想同一个摄像头下背景一致、光照一致、角度一致你认个人还不算太难。但不同的摄像头安装高度、俯仰角、焦距全都不一样同一个人的外观在镜头 A 里是正面全身照、在镜头 B 里是背面半身照、在镜头 C 里被树遮挡了半边。更别提室外光线从早到晚的变化、阴天晴天的差异、雨雾天气的干扰。同一个人的类内差异有时候比不同人之间的类间差异还要大——这问题在 ReID 领域叫类内方差大于类间方差是核心难点。ReID 最早用的技术路线跟人脸识别很像——度量学习。关键思想是学一个特征映射函数把图像映射到一个嵌入空间embedding space在这个空间里同一个人的特征向量距离越近越好不同人的特征向量距离越远越好。度量学习的 Loss 设计是 ReID 的灵魂。最早大家用Contrastive Loss——成对地喂图如果是正对同一个人就拉近距离如果是负对不同人就推开距离。但正负对采样效率极低训起来慢得要死。后来Triplet Loss成了标配——每次取三张图Anchor锚点、Positive同一个人、Negative不同人要求 Anchor 到 Positive 的距离比 Anchor 到 Negative 的距离至少小一个 margin边界值。这比 Contrastive Loss 高效多了但 margin 超参数贼难调调小了拉不开类间距离调大了训练震荡。再后来大家发现光靠 Triplet Loss 还不够还得加一个分类 Loss——把 ReID 当作一个人脸识别的分类问题每个人当作一个类别用 Cross-Entropy 来做。这就是所谓的双头训练——一个分类头学类间可分性一个度量头学类内紧凑性两个 Loss 加权求和一起训。这招被证明极其有效现在的 SOTA ReID 模型基本都这么干。再说说 backbone。ReID 对 backbone 的要求跟检测、分割不太一样——它极其看重特征的分辨率。因为 ReID 要做的是全局特征匹配如果 backbone 下采样倍数太大比如 32 倍最后特征图只有 7x7所有细节全丢了你怎么区分两个穿着同样衣服的人所以 ReID 里大家喜欢用下采样倍数较小的 backbone或者在多尺度特征图上提取特征。HRNet 在 ReID 里用得特别多因为它全程保持高分辨率对细小纹路、配饰这些判别性信息保留得很好。还有一个很特别的技术方向是注意力机制在 ReID 里的应用。因为 ReID 的特征判别性往往集中在某些局部区域——一个人背包上的肩带颜色、裤子的品牌 logo、鞋子的样式这些细枝末节比整体的体型轮廓更有区分度。所以 ResT 这类工作用注意力模块让模型自动聚焦到这些判别性区域上。更有甚者直接用Part-based 分割把人的头部、躯干、四肢先切出来分别提取特征再拼接但这种方法依赖人体姿态估计的精度误差会累积搞不好反而更差。到了 2024-2026 年Transformer 大规模预训练也开始渗透到 ReID 领域。CLIP 那种图文预训练模型因为天然具备了对颜色、纹理、形状的描述能力在 ReID 上表现出乎意料地好。直接把行人图像和穿着红色上衣、蓝色裤子的男性这种文本描述做对齐然后用文本特征作为 query 去检索图像库。这事儿听着挺酷但我得说句实话——在真实安防场景里你不可能每搜一个人都打一段文本描述效率太低了。所以 CLIP-ReID 这类工作更适合文字搜图的交互场景而不是大规模跨摄像头检索。到了工程落地层面ReID 的难点就完全变了——系统级问题远大于模型级问题。第一个是Gallery 库的规模。你实验室里测试的时候图库可能就几千张。但实际部署一个城市几百个摄像头一天拍下来的行人图动辄几百万张。你需要在几百万张特征向量里做近邻搜索这已经不是模型能解决的了得靠FAISS这类高效的近似最近邻检索库来撑。而且特征向量存哪儿内存还是磁盘更新频率是多长时间这些全是系统工程问题。第二个是追踪和 ReID 的融合。你单独用 ReID 从全天抓拍的海量图像里捞人计算量巨大而且重复率高——同一个人在同一个摄像头下被抓拍了 100 次你总不能每次都去图库里搜一遍吧。所以工业界的做法是先做多目标跟踪MOT用轨迹片段来去重每个轨迹只提取一张最具代表性的图片去做 ReID 检索。这样就把检索量从几百万降到了几千系统才能跑起来。第三个是最扎心的——数据隐私。ReID 的数据全是真实行人的人脸和全身照这在 GDPR 和各国隐私法规越来越严的今天简直就是行走的法律风险包。很多项目因为拿不到合规的采集许可直接卡死在数据环节。而且 ReID 模型一旦部署理论上你可以用它在人群里追踪任何一个人——这种能力在伦理上是极其敏感的。现在顶会上发 ReID 论文你必须提交伦理审查说明和数据脱敏方案否则审稿人直接拒。最后说说行业趋势。Unsupervised ReID 和 Domain Generalization ReID是当下的热点。因为标注跨摄像头的行人配对数据贵得离谱——你得雇人盯着几十路监控视频做关联标注标一组数据比标一万张分类图还贵。所以无监督和域泛化成了穷人的出路但坦率地说离工程可用还有距离目前在有标数据上训出来的模型精度能到 80-90%无监督的顶多 60-70%这个差距在安防场景里就是能用和没法用的天壤之别。我的判断是ReID 这个方向短期内算法层面的突破已经很难了真正的进步会在检索系统的工程效率和多模态融合RGB 步态 轮廓上。单靠 RGB 一张图解决问题已经走到了瓶颈你得把视频序列、步态特征、着装色彩变化趋势全都用上才有可能在跨摄像头、跨时间、跨光照的极端条件下保持可靠性。行了ReID 就唠到这儿。下篇讲跟踪——那玩意儿看起来简单实则是个巨大的系统坑。