赞
踩
2024年SoTA 行人重识别模型复现和提升最后再加前端展示
任务目的: 使用一张人的全身照,在视频or图像中找到这个人出现的时刻。
我们如果要落地一个行人重识别的应用项目.我们需要按照pipeline的任务模块将其拆解。简单来说,如图所示,对于图像来说,我们的一般流程是先行人检测,将目标行人的位置提取出来,进行裁剪后面送到reid模型中。对于视频来说,特别是背景稳定的视频如监控,不同的点在于,我们可以使用MOT(多目标跟踪)其是使用滤波位置等信息采用低计算量的方式跟踪一个人。我们在这里就可以设计一个缓存,对于跟踪的一个人只去调reid模型一次(这个可以设置超产),这里其实就是工业界常用的抓拍机策略。
pipeline拆分为四大模块:
- 找到该任务的公开数据集.MSMT17数据集更大ID更多,为我们参考的主metircs.
- 在paperswithcode.com上找到该数据集指标最高的几篇论文。
3.认真阅读这些论文,看看论文的idea与method(是否存在秀技但泛化性弱),拿上图为例,公平的对比是without re-ranking & without extra trainning data. 最后我们选择clip-ReID作为我们的baseline.
NOTE: cam_id和view这些先验信息对于通用模型是没有这些标签的,所有最好不加。
4.认真阅读论文和代码
一句话讲清做了什么:
挑战:几乎所有的ReID方法都需要在ImageNet上训练的初始模型,该数据集包含了手动给定的图像和预定义集合中的一组标签。完全忽略了描述丰富语义的视觉内容。
作者方案: 想把多模态大模型上视觉和文本描述两个对齐模态的能力迁移到纯视觉下游任务上.
作者分了两步.
几乎所有DNN模型就两个结构: backbone + task head。训练模型只有三步: 1.改写dataloader(数据增强等trick) 2.模型结构调试(比如:a.backbone换成更深的网络,用更强的预训练参数;) 3.make loss.
由于up主的时间有限: 尝试了1与3, 最终将mAP 0.734 ->0.737, R1 0.887 ->0.891
up主尝试将market-1501的所有数据再加上msmt17的training set 来训练, eval在msmt17的val set上。但很奇怪指标没提升:
这样我们就丝滑地做成了在算法上非常有竞争力的一个项目。
博主测试:win11/macbook正常运行。
对于创意项目,我会倾向于选择那些具有较大工作量、相对较难且有未来前景的项目进行实现。这也导致完成一个课题项目可能需要2到3个月甚至更长的时间,因此更新的频率会相对较慢。
同时,欢迎大家在评论区留言,分享任何新颖有趣的课题,我将考虑并予以实现。
项目代码和更新地址见我的面包多平台。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。