一. CNN特征提取

通过上一篇文章的学习,我们已经知道,我们训练的目的在于寻找一种特征映射方法,使得映射后的特征 “类内距离最小,类间距离最大”,这种特征映射 可以看作是 空间投影,选择一组基,得到基于这组基的特征变换,与 PCA 有点像。

这一篇我们讲的就是基于 CNN的特征提取,特征提取过程也就是训练过程,训练结果就是 CNN 的参数。

以 Triplet Function 为例,对于 一个输入图像三元组 Trip<I, +,I->,通过一个共享参数的网络进行训练,通过下图可以看到,三个图像 <I, +,I-> 分别得到了一个特征空间,这个特征空间只要满足 前面提到的距离度量函数(后面的Distance Cost),那么训练就算完成了。

这里面有几个关键点:

  • 提取全局特征与局部特征结合,可以学到更能描述行人的特征;
  • CNN采用共享权值方式进行特征提取;
  • Distance Cost 作为Loss函数驱动 CNN特征参数调整;

二. 训练过程

还是通过 Loss 函数来看训练过程(每N个Trip样本训练一次):

前面已经讲过,Loss函数表示两部分的误差和,即:

1) t1表示 I与正样本的距离 与 I到负样本的距离的Margin;

2) t2表示 I与正样本的距离 小于一个常数;

下面步入正题,这两个参数 是否有必要?ok,我们第一步就是去除拍脑袋参数,重新设计 Loss函数为:

目标是求Loss函数尽可能的小,当然我们知道这个公式的问题在于 Loss 只会尽可能的小,不可能为0,同时含有除法,可能按照我们的理解,这并不是一个好的Loss函数,之前我们做 CNN Loss函数的时候都是与 Ground Truth 进行对比,与 Ground Truth 一致的时候,Loss应该为0。

那么这个函数如何改进呢? (想几个idea,哈哈)

三. New Idea

提出新的思路,如何通过训练的方法更进一步 对 Loss Func 进行加工,比如:

1)借鉴 Pair-wise 的方法,得到的结果为 负样本-正样本的差;

2)或者通过某种换算,将正样本距离映射为0,这样就只需要考虑一种距离的Loss;

3)将两种距离的比值近似为线性函数展开;

另外,针对卷积部分,有两个思路可以参考:

1)可以基于上面 Part-Model 进行分块,分块的 卷积结果 通过加权来设计,从而提高其中一部分的影响力;

2)通过马氏距离替换原来的欧式距离,马氏距离反应了方差,对类比型的距离度量更合适;

先 Mark 这几种思路,有想改进算法的朋友可以多交流!

基于深度学习的Person Re-ID(特征提取)相关推荐

  1. 书法特征提取matlab,基于深度学习的软笔书法临摹评价方法与流程

    本发明属于计算机视觉技术领域,涉及手写汉字行书字体的评价,尤其是一种基于深度学习的软笔书法临摹评价方法. 背景技术: 书法是我国具有几千年历史的传统艺术,是我们中华民族的特色文化代表之一,它不仅记录着 ...

  2. 基于深度学习的x射线图像骨龄自动特征提取

    基于深度学习的x射线图像骨龄自动特征提取 Automatic Feature Extraction in X-ray Image Based on Deep Learning Approach for ...

  3. 基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【三】VGG网络进行特征提取

    前言 基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库).Caffe(深度学习库).Dlib(机器学习库).libfacedetection(人脸检测库).cudnn(gp ...

  4. 基于深度学习和传统算法的人体姿态估计,技术细节都讲清楚了

    作者 | 站长 pursueYfuture 来源 | AI专栏(ID: pursue-Y-future) 计算机视觉的一大研究热点是人体姿态估计,还有很多问题急需解决,比如遮挡,交互等等.在最近的CV ...

  5. 无人驾驶汽车系统入门:基于深度学习的实时激光雷达点云目标检测及ROS实现...

    参加 2018 AI开发者大会,请点击 ↑↑↑ 作者:申泽邦(Adam Shan),兰州大学在读硕士研究生,主要研究方向无人驾驶,深度学习:兰大未来计算研究院无人车团队负责人,自动驾驶全栈工程师. 近 ...

  6. 基于深度学习的目标检测的研究进展2

    普通的深度学习监督算法主要是用来做分类,如图1(1)所示,分类的目标是要识别出图中所示是一只猫.而在ILSVRC(ImageNet Large Scale Visual Recognition Cha ...

  7. 基于深度学习的安卓恶意应用检测----------android manfest.xml + run time opcode, use 深度置信网络(DBN)...

    基于深度学习的安卓恶意应用检测 from:http://www.xml-data.org/JSJYY/2017-6-1650.htm 苏志达, 祝跃飞, 刘龙     摘要: 针对传统安卓恶意程序检测 ...

  8. 【NLP】一文了解基于深度学习的自然语言处理研究

    目前,人工智能领域中最热的研究方向当属深度学习.深度学习的迅速发展受到了学术界和工业界的广泛关注,由于其拥有优秀的特征选择和提取能力,对包括机器翻译.目标识别.图像分割等在内的诸多任务中产生了越来越重 ...

  9. 基于深度学习的多目标跟踪算法——ReID与MOT的联系

    ©PaperWeekly 原创 · 作者|黄飘 学校|华中科技大学硕士 研究方向|多目标跟踪 最近基于深度学习的多目标跟踪算法越来越多,有用于特征提取的,有改进单目标跟踪器的,也有提升数据关联的.如果 ...

最新文章

  1. SQL 语句快速参考
  2. 信息系统项目管理师考试时间安排
  3. liunx 下巧妙使用代理服务器(squid)
  4. HTML5——section,article,aside
  5. 【Java】探究Java实现多接口时同名方法冲突问题
  6. IT人 不要一辈子靠技术生存(转)
  7. 华为9月3日或推出麒麟9000;TiDB 3.0.18 发布| 极客头条
  8. Android开发中的SQLite事务处理,即beginTransaction()方法
  9. 卡分区 shell脚本_分享一个实用脚本--一键获取linux内存、cpu、磁盘IO等信息
  10. modelsim安装_XLINUXFPGA开发工具篇modelsim的安装
  11. 智能额温枪软件设计红外测温仪方案开发
  12. 我们距离构建一个逼真的虚拟世界还有多远
  13. 冬天洗衣不动手,这几款智慧洗衣机可以帮到你
  14. 解决python同时执行多个程序的方案
  15. 制作路由器openwrt安装及配置
  16. 无序列表将点替换成图片
  17. django-DIL模板自定义过滤器,自定义标签,自定义包含标签
  18. 引领企业电销革新,外呼系统是不可缺的电销工具
  19. c语言三角形判定条件,c语言判定三角形的各种类型——请大家指点
  20. 常用手机uc浏览器兼容问题记录(陆续补充)

热门文章

  1. c++ 查找文件夹下最新创建的文件_Linux文件查找进阶知识,find命令的用法及解读...
  2. ios11修改微信步数_一个人有多孤独,看他的微信步数就知道了
  3. 编写程序,统计一个长度为2的字符串在另一个字符串中出现的次数
  4. java mvc 绑定_关于Java:Spring MVC:将请求属性绑定到控制器方法参数
  5. 自定义非等高 Cell
  6. 原生YII2 增删改查的一些操作(非ActiveRecord)
  7. windows 80端口被占用的解决方法
  8. 我开发共享软件的三次经历(中):我赚到了十万块
  9. incremental backup恢复错误一例
  10. sql server查询的时候加一个字段用来表示来自哪一张表