论文笔记《Tracking Using Dynamic Programming for Appearance-Based Sign Language Recognition》
一、概述
这是我在做手势识别的时候,在解决手势画面提取的时候看的一篇paper,这里关键是使用了动态规划来作为跟踪算法,效果是可以比拟cameshift和kf的,但在occlusion,gaps或者离线tracking的时候做的很好。
二、算法步骤
step1:对于时间的t的frame如X_t的每个pixel(x,y),首先计算出一个score q(t,x,y),称为local score,这个后面会说,score function是由你自己来选择的,然后需要算出一个Q(t,x,y),也就是global score,Q(t,x,y)是截止到时间t的(x,y)处的best tracking的分数总和(个人理解就是最大的score的路径的选择),所以这里用了dp 的思想,也就是对于Q(t,x,y),它的最优值,基本上肯定是由Q(t-1,x',y')过来的,x',y'是x,y的neighborhood。
这里对照论文的两个公式基本可以看明白,然后论文里面在计算的时候加了L2的正则优化,毕竟优化方法加正则不说说说而已.........原因也很简单,(x,y)和(x',y')的距离不可能太大,因为物体是连续运动的。
step2:这里就是利用上面的得到的Q(t,x,y)和B(t,x,y)来做 traceback,最后reconstruct出来最好的路径.
用动态规划的跟踪方法有个问题,就是他一般是限定了他的tracking size,不然的话,计算量会很大,所以这里还提出了两个trick
1、一个点(x,y)只有在满足 Q(t,x,y) > max(Q(t,x,y))−T0 的时候才被考虑作为t+1时候的
predecessor,这里T0是一个自己设定的参数
2、利用上面的方法和jump penalty function来做局部调整,这样可以做到一个adaptive的窗口
三、Score function
简而言之就是为你区分image之间的不同的时候选出一个合适function,这里论文中现提出了一个简单的Motion information Scor function,这是计算一个size里面的pixel的value的和。接下来说了Eigenfaces and skin Color Score Function,其实也都只是你在实际场景的时候一个自己的权衡,后一个的关键点就是你可以选择两个score function,最后用一个w权重作为超参数来做就行了
四、总结
后面还讲了利用HMM做recognition和tracking的融合,说实话,没看懂...有机会再看看吧。
论文笔记《Tracking Using Dynamic Programming for Appearance-Based Sign Language Recognition》的更多相关文章
- 《Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition》论文笔记
论文题目:<Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition> 论文作者:Qibin ...
- [place recognition]NetVLAD: CNN architecture for weakly supervised place recognition 论文翻译及解析(转)
https://blog.csdn.net/qq_32417287/article/details/80102466 abstract introduction method overview Dee ...
- 论文笔记系列-Auto-DeepLab:Hierarchical Neural Architecture Search for Semantic Image Segmentation
Pytorch实现代码:https://github.com/MenghaoGuo/AutoDeeplab 创新点 cell-level and network-level search 以往的NAS ...
- 论文笔记——Rethinking the Inception Architecture for Computer Vision
1. 论文思想 factorized convolutions and aggressive regularization. 本文给出了一些网络设计的技巧. 2. 结果 用5G的计算量和25M的参数. ...
- 论文笔记: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- ...
- 论文笔记: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 ...
- 论文笔记:DARTS: Differentiable Architecture Search
DARTS: Differentiable Architecture Search 2019-03-19 10:04:26accepted by ICLR 2019 Paper:https://arx ...
- 论文笔记:Progressive Neural Architecture Search
Progressive Neural Architecture Search 2019-03-18 20:28:13 Paper:http://openaccess.thecvf.com/conten ...
- 论文笔记:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation
Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation2019-03-18 14:4 ...
- 论文笔记系列-DARTS: Differentiable Architecture Search
Summary 我的理解就是原本节点和节点之间操作是离散的,因为就是从若干个操作中选择某一个,而作者试图使用softmax和relaxation(松弛化)将操作连续化,所以模型结构搜索的任务就转变成了 ...
随机推荐
- Centos7 使用LVM进行新加磁盘管理
centos7使用LVM管理一块新的磁盘 注意!文中凡是带#的都是命令标志. 一些重要概念: LV(Logical Volume)- 逻辑卷, VG(Volumne Group)- 卷组, P ...
- 理解volatile与synchronized
用 volatile 修饰的变量可以保证线程的"可见性",也就是,任何线程修改了这个 volatile 修饰的值都会通知其他线程来主缓存中重新读取值. 下面通过例子加以说明: pu ...
- linux 安装nginx yum
本分类下有一个环境一键安装.那这背后发生了什么呢?咱们手动使用源码进行安装.1.首先保证有一个能联网的centos.2.百度 ningx 官网 点download http://nginx.or ...
- P1219 N皇后
P1219 N皇后 题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序 ...
- python使用网易邮箱发邮件
# -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText import email.mime.multip ...
- Echarts 背景渐变柱状图
var dom = document.getElementById("container"); var myChart1 = echarts.init(dom); var app ...
- spark的排序方法
今天我们来介绍spark中排序的操作,spark的排序很简单,我们可以直接使用sortBy来进行,这个里面我们使用case clas,使用case class的好处是1.不用newjiukeyi 搞出 ...
- Android 本应用数据清除管理器DataCleanManager
1.整体分析 1.1.源代码先给出了,可以直接Copy. /** * 本应用数据清除管理器 */ public class DataCleanManager { /** * * 清除本应用内部缓存(/ ...
- 原码、反码、补码、BCD码、格雷码
二进制的最高位表示这个二进制的正负符号(0为正,1为负),其余各位数表示其数值本身称为原码. 正数的反码等于原码,负数的反码是在原码的基础上,符号位不变,其余各位取反. 正数的补码等于原码,负数的补码 ...
- getElementByName????????,????????,
getElementByName可以获取多个元素,获得的是一个数组, getElementById只能获取一个,是dom从上往下的第一个元素.