一、概述

  这个是最近的核心工作了,基本上都是靠着这篇paper的model过日子了啊..

  论文主要讲的是hand gesture recognition,实际上是用googlenet做的一个classification的工作,他的工作也就是在googlenet上做了fine-tuning,那么论文的关键是什么呢...当然就是标题啦..关键工作是CNN+EM,通过EM算法对隐变量参数进行预测,用CNN代替stepE的高斯模型的预测,这样迭代下来,最终训练了在这个值标记了3000张但是有1 Million的数据集上训练了一个CNN模型。

二、state-of-the-Art

  最牛逼的地方在于解决了对大量continuous且weakly labeled的数据的处理,这个在其他地方也会有很好的应用,所以得了CVPR 2016的oral啊..

  1. 首次在CNN上用weakly labelled data sets 来训练

  2.第一次使用posture and pose-independent hand shape classification,也就是当你的pose(手势)固定以后,把它作为一个符号,即使你旋转或者翻转,只要作为刚体的pose不变,那么就是一类的,这个在手语识别和一些其他地方还是有不错的用处的。

  3.其他都是在自吹自擂..

三、weakly supervised CNN training

  对他的算法进行了说明,对于一个视频序列而言,首先提取手部画面,然后他对每个image有一个标记,其中识别不出来的术语garbage class,然后通过CNN+Em来迭代计算,这里就是之前说的,用CNN来预测类别来代替传统EM中用Guassian mixtures做概率预测,每次迭代的时候,都会有个新的预测,有时候可能会改变之前的label。然后关键也是每个类别之间的boundaries的改变。

    

  然后这里有一句对整体算法最好的一个概括:we solve the problem in an iterative fashion withthe EM algorithm  in a HMM setting and use the CNN for modelling p(k|x).


四、一堆废话以及没搞懂的HMM在其中的应用。

     有时间要去彻底弄懂HMM。

五、整体流程

  1、数据准备

    在数据集上跑我之前的一篇dp跟踪手的程序,得到手部画面的数据集。

  2、建立字典

    个人理解是不同的数据集的表示不同。这里是把他们统一起来,可能有问题。

  3、初始化算法

    随机的对整个视频序列进行label,并且认为每个video的开始和结束时garbage class

  4.隐马尔科夫模型的设置

    这里它是基于一个RASR的开源软件,具体不是很清楚

  5、CNN训练

    CNN训练的一些tricks

六、拓展-手语识别

  这里话是前面工作的衍生了,首先把最后fc变回了1024层,整个CNN作为了一个feature提取的工具,然后通过PCA降维到200,具体的实现方法他也是参考的另一篇paper,以后要是用到这里可以去看一下。

七、总结

  总的来说两点是state of art 的:1、用CNN+EM的方法对大量连续弱标记数据的处理

                 2、在手势识别的时候是pose-independt的。

论文笔记《Deep Hand: How to Train a CNN on 1 Million Hand Images When Your Data Is Continuous and Weakly Labelled》的更多相关文章

  1. 《Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition》论文笔记

    论文题目:<Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition> 论文作者:Qibin ...

  2. [place recognition]NetVLAD: CNN architecture for weakly supervised place recognition 论文翻译及解析(转)

    https://blog.csdn.net/qq_32417287/article/details/80102466 abstract introduction method overview Dee ...

  3. 论文笔记系列-Auto-DeepLab:Hierarchical Neural Architecture Search for Semantic Image Segmentation

    Pytorch实现代码:https://github.com/MenghaoGuo/AutoDeeplab 创新点 cell-level and network-level search 以往的NAS ...

  4. 论文笔记——Rethinking the Inception Architecture for Computer Vision

    1. 论文思想 factorized convolutions and aggressive regularization. 本文给出了一些网络设计的技巧. 2. 结果 用5G的计算量和25M的参数. ...

  5. 论文笔记:Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells

    Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells 2019-04- ...

  6. 论文笔记:ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware

    ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware 2019-03-19 16:13:18 Pape ...

  7. 论文笔记:DARTS: Differentiable Architecture Search

    DARTS: Differentiable Architecture Search 2019-03-19 10:04:26accepted by ICLR 2019 Paper:https://arx ...

  8. 论文笔记:Progressive Neural Architecture Search

    Progressive Neural Architecture Search 2019-03-18 20:28:13 Paper:http://openaccess.thecvf.com/conten ...

  9. 论文笔记:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation

    Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation2019-03-18 14:4 ...

  10. 论文笔记系列-DARTS: Differentiable Architecture Search

    Summary 我的理解就是原本节点和节点之间操作是离散的,因为就是从若干个操作中选择某一个,而作者试图使用softmax和relaxation(松弛化)将操作连续化,所以模型结构搜索的任务就转变成了 ...

随机推荐

  1. elasticsearch-dsl聚合-1

    接续上篇,本篇介绍elasticsearch聚合查询,使用python库elasticsearch-dsl进行聚合查询操作. 7.3.聚合查询 高阶概念 Buckets(桶/集合):满足特定条件的文档 ...

  2. Java对象容器总结

    泛型容器类 容器类型: ArrayList 元素类型: 有排序 String:里面存放的是对象的管理者,而不是具体的对象,所以string类型有null值 集合容器 容器类型 Set 元素类型 唯一性 ...

  3. JS - 给String.prototype添加replaceAll方法

    String.prototype.replaceAll = function (targetStr, newStr) {  var sourceStr = this.valueOf();  while ...

  4. 【Mysql】给mysql配置远程登录

    grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option; flush privileges ...

  5. Java8 新API读取文件内容

    import java.io.IOException;import java.nio.charset.Charset;import java.nio.file.Files;import java.ni ...

  6. Python学习之函数参数

    上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时 ...

  7. C语言进阶——goto 和 void 的分析08

    遭人遗弃的goto: 高手潜规则:禁止使用goto 项目经验:程序质量与goto的出现次数成反比 最后的判决:将goto打入冷宫 程序示例1:(goto副作用分析) #include <stdi ...

  8. 栈--数据结构与算法Javascript描述(4)

    栈 Stack 概念 栈是一种高效的数据结构,数据只能在栈顶添加或者删除,所以这样的操作很快,而且容易实现.栈的使用遍布程序语言的方方面面,从表达式求值到处理函数调用. 栈是一种特殊的列表,栈内的元素 ...

  9. 正则表达式,regular expression, regex, RE

    正则表达式是用来简洁表达一组字符串的表达式 正则表达式可以用来判断某字符串的特征归属

  10. 15.3,redis持久化RDB与AOF

    redis持久化 Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失. RDB持久化 ...