首页 > 其他分享 >行人重识别的简单理解

行人重识别的简单理解

时间:2022-10-13 16:00:10浏览次数:78  
标签:github com paper person 理解 identification https 识别 行人


对于行人重识别而言,可以设计的任务是:
Multi-task learning
1.Identification + Verification Loss
Verification Loss :Are they the same person?
给网络2个输入,问网络说他们是不是同一个人?如果是同一个人的话,把特征之间的距离减小。否则,把特征之间的距离增大。
Identification Loss: Who is he?
就是预测说,她是谁?
可以理解成多类分类的任务,主要解决的是她是谁的问题。
2. Triplet Loss
3个3个输入,同一类的距离近些,把不是同一类的距离拉大一些,于是就有了Triplet loss。该loss更接近一个retrivel或者一个排序的过程,结果相对来说会好一些。
paper:In Defense of the Triplet Loss for Person Re-identification.
github: ​​​https://github.com/VisualComputingInstitute/triplet-reid​​​
3. Attribute Recognition
性别,戴帽子,背包,让网络预测辅助任务,让最后的特征更加具有语义信息,辅助最后的检索。
训练的时候需要attribute信息作为groudtruth,来bp,但测试的时候,就不需要attribute信息,起一个pull特征的作用。这些属性可以辅助网络学习更好的特征。


Part matching
行人是结构化的,part matching,就是说可以match它的一些part,做行人重识别的提特征的过程,那么Part matching有哪些方法呢?
1.Horizontal Split/Neighbor Comparison
切水平条做匹配
法一:把人切3块,过3个cnn,把fc的特征加到一起,作为最后的特征。(暴力)
法二:把人切的更精细些
切正方形的局部区域做匹配
paper: An improved deep learning architecture for person re-identification
Github:
​​​https://github.com/ptran516/idla-person-reid​​​
语言:C++
​​​https://github.com/Ning-Ding/Implementation-CVPR2015-CNN-for-ReID​​​
语言:python2 + tf
2.Part Detection/ Alignment
如果进来的图片不太好,没有alignment呢?这样匹配很难。
​​​https://github.com/erichuang0771/PoseBox-Reid​​​
语言:python caffe
如果有的图没有align好的话,水平线条匹配和正方形匹配都是很难匹配的。
3. Detection + reID
​​​https://github.com/ShuangLI59/person_search​​​
python2 + caffe
4. Attention Matching
paper: Gated siamese convolutional neural network architecture for human re-identification.
本paper效率比较慢。。。


Data augmentation
其实,在行人重识别中,每个人的照片是非常少的,每个人的平均照片
Market-1501:15
CUHK03:10
Duke:23
生成多个样本来辅助学到更好的网络。
1.Multi-dataset Fusion
paper: Learning deep feature representations with domain guided dropout for person re-identification.
Github:​​​https://github.com/Cysu/dgd_person_reid​​​
python + caffe
可以学到共享的特征和特定于某个dataset的特征。
2.GAN
paper: Unlabeled samples generated by gan improve the person re-identification baseline in vitro.
​​​https://github.com/layumi/Person-reID_GAN​​​
语言:matlab
用生成的方法生成数据,补充原来的数据集。
可以用原始数据训练一个GAN的网络,产生数据。产生的数据是没有label的。然后,将生成数据与原数据进行混合,进行semi-supervised learning,训练一个半监督的网络。
推荐一篇paper:
Generative model:
Deep captioning with multimodal recurrent neural networks.
基于视频的person-reid
1.Mars: A video benchmark for large-scale person re-identification
2.Learning features by watching objects move.
推荐:
​​​https://mp.weixin.qq.com/s?__biz=MzI5NTIxNTg0OA==&mid=2247488888&idx=3&sn=408fc75228d24503b4ebbd5535d53478&chksm=ec57a2ffdb202be99a2cac4cd4a1336a2516f963d3b4d61999a508dc0c42cc523ad048cd7916&mpshare=1&scene=1&srcid=1220YhdmvFYgMG4yFH58F2A4#rd​


标签:github,com,paper,person,理解,identification,https,识别,行人
From: https://blog.51cto.com/u_8771474/5753662

相关文章

  • 【ES】199-深入理解es6块级作用域的使用
    这篇文章主要介绍了深入理解es6块级作用域的使用,文中通过示例代码介绍的非常详细,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎......
  • ddddocr 通用验证码识别
    代码不多,非常简单。安装ddddocr(带带弟弟OCR)pipinstallddddocr模块安装好之后咱们先导入一下importddddocr然后实例化一下,用一个cor接收一下这个数据。ocr......
  • 【Nodejs】240-有助于理解前端工具的 node 知识
    缘起平时写惯了业务代码之后,如果想要了解下webpack或者vue-cli,好像是件很难上手的事情......
  • 深入理解JVM(三)-JVM中的常量池
    》》》》文章末尾免费领取JVM学习资料《《《《JVM的常量池主要有以下几种:运行时常量池字符串常量池基本类型包装类常量池class文件常量池他们之间的关系:图解说明:每个class......
  • 【YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码
     前言前面我们给大家介绍了基于LabVIEW+YOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5。本次主要是和大家分享使用LabVIEW快速实现yolov5的物体识......
  • RTTI运行时类型识别
        RTTI是RuntimeTypeIdentification的缩写,是“运行时类型识别”的意思。面向对象的编程语言,象C++,​​Java​​,Delphi都提供了对RTTI的支持。本文将简略介绍R......
  • 引用的全面理解
    什么是引用?引用是在C++2.0版本引入的。引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量一直绑定在一起共用同一块内......
  • 中文命名实体识别的实战代码
    基于BERT预训练的中文命名实体识别TensorFlow实现​​https://github.com/wusaisa/BERT-BiLSTM-CRF-NER​​用深度学习做命名实体识别​​​https://www.jianshu.com/p/495c......
  • 焦距,光圈,景深以及最短对焦距离的原理解释
    NaN_2019年05月22日 作为一只甚至还没有自己的相机的摄影小白,在 @yggd 的撺掇之下看完果核的这篇入门文章后,终于对一些摄影中基本的术语有了了解......
  • OPC UA 理解
    一些理解OPCUA官方内容OPCUA规范:https://reference.opcfoundation.org/内容太多,很繁琐,还分好多部分。感觉看看配的图片就行了。可以不使用OPCUA这种方式连接吗?是......