一、软件平台
Python 3.8
Pytorch 1.11.0
二、概念简述
最近在做一个目标识别与定位的项目,目标检测自然是用时下比较成熟的YOLO,而定位部分的话是用了激光雷达跟图像的一个融合,首先获取像素深度,再通过相机模型获取目标重心3D坐标,这一部分改天有时间也会写一篇博客,讲一讲我的具体做法。由于相机可能重复检测到同一个目标,所以这里面就需要对重复的目标进行筛选和过滤,不然本地数据库就被塞爆了。对于目标的重识别,我一开始是打算使用传统计算机视觉来做的,因为我心想这不就是个相似图匹配的过程吗,直接SURF+暴力匹配求相似度,简单的实现了一下立马实测,效果拉跨到银河系,根本匹配不出来。于是乎,百般不情愿下,我只能去调研基于深度学习方法的目标重识别,不看不知道,一看吓一跳,这东西最近几年还挺火的,不过很苦恼的是,都是用python实现的...(难为我C++胖虎了)。接下来就简单介绍下我的调研结果吧。
三、算法盘点
1)一号选手是来自悉尼科技大学的郑哲东,他的这个行人重识别项目非常适合新手入门学习,代码结构比较清晰,算是比较容易复现的。本人在Ubuntu20.04+RTX3070上跑成功了,也训练出了相应的模型,需要的可以留言。(我的项目最后采用的也是这个算法,对行人进行重识别,并且移植到C++工程中)
源码链接:
中文文档:
英文文档:
相关视频:
效果图:
可以看出,Rank5的准确率还是挺高的。
2)二号选手来自大名鼎鼎的京东AI,叫做FastReID开源框架。作者宣称这是迄今为止最完整的、最高性能的ReID工具箱,支持单卡和多GPU训练,使用简单方便。支持四大重识别任务,分别是行人重识别、部分区域的行人重识别、跨域的行人重识别、车辆重识别。但是我还没去试,因为对这python实在不熟,再一个这种大型工具库用在我的小项目里,就是杀鸡焉用牛刀。不过后面有时间了,我肯定得在我电脑上部署一下,试一试真假。
论文链接:
https://arxiv.org/pdf/2006.02631.pdfhttps://arxiv.org/pdf/2006.02631.pdf
源码链接:
中文文档:
英文文档:
架构图:
我也看不太懂,你们自己琢磨。
3)三号选手是来自声名大噪的百度飞桨-PaddleClas,这是我一天晚上刷公众号时看到的,当时一看他的介绍,直呼NewBee plus,心想这不是天助我也。第二天赶紧上网深度了解,这个项目支持图像分类、目标检测、语义分割等。最厉害的是,他还支持纯CPU设备的部署,而且检测速度还达到了恐怖的5ms级,这是什么牛马?!!而且这个项目的官方文档和说明特别丰富,简直都可以出书了。改天有时间了,一定要试一试。
源码链接:
https://github.com/PaddlePaddle/PaddleClas
论文链接:
https://arxiv.org/pdf/2109.15099.pdfhttps://arxiv.org/pdf/2109.15099.pdf
中文介绍:
官方文档:
效果图:
他这个标签语义,感觉大有可为呀,用来做行人重识别肯定很爽。