iker原创。转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/39050619

Realtime and Robust Hand Tracking from Depth中的Cost Function 学习

首先,我们应该知道,输入的数据是什么:3D 点云数据。

3D点云给我的感觉应该是这种

输出的是:拟合好的手模型(48球体模型)。

而这里的的3D 点云数据用p表示,每个球体用Sx 表示。

Ci 第i个球体的中心;D表示深度图( 区分还有一个D(.))。我们来看以下的Cost Function。

这个公式的理解。

简单说就是差异评估。终于是要对它最小化。

先看第一项:它的定义是这种:

这里的D代表的就是distance,也就是计算点云点p和球体的中心c的距离再减去半径。也就是点云点到球体表面的距离。当中p取了一个子集sub(p)=256个点云。

这个是为了减少计算的复杂度,同一时候也基本保证了精度。

这里的计算量是:256个点分别的和这48个球体的中心计算距离(事实上是计算和点云点p近期的一些球体Sx(p))。找到取得距离最小的值的那个手型的參数就是这个方程的解。可是单纯的这样是有问题的,比如: 到一个点云点距离都非常小的球体可能在以这个点为球心的周围的不论什么位置,因此我们要进行修正。引入第二项:

这一项的目的是为了使球体可以在点云的里面。当中,j(c)代表的是球体在深度图上面的投影点。

假设j(c)处的深度D(j(c))和该球体的中心的z坐标非常接近的话。那么球体的中心就在深度的前面。就增加它们的差值的绝对值这个惩处因子。假设在j(c)处的深度没有话表明球体中心在深度图轮廓的外面。增加j(c)到深度图轮廓的距离作为惩处项。(备注:这里我理解的不是非常深刻,j(c)到深度图轮廓的距离不知道怎样来算)

最后,还须要对球与球之间的关系做一个限制。也就是说。球与球之间理想的状况是相切,而太远太近都不是非常好,所以要增加惩处因子。

上图中左边两个球就是不怎么合适的,右边两个就是基本满足要求的。因此引入第三个修正项:

公式的意义很的明显了。

再来看总体上增加了一个量化因子 ,原因是为了第一项和第二项有等同的作用。一个简单的量化处理。

问题:

1. 3D的点云数据原来有多少,这里用它来拟合是不是说手的检測已经得到了?

http://blog.csdn.net/opensource07/article/details/7804246 这是一个点云的生成的资料

2. 48球手型的初始化是怎样进行的?(手指的跟踪实现吗?)

3. 第二修正项的理解?

本小节完。

手势跟踪论文学习:Realtime and Robust Hand Tracking from Depth(三)Cost Function的更多相关文章

  1. ‘Skimming-Perusal’ Tracking: A Framework for Real-Time and Robust Long-term Tracking

    ‘Skimming-Perusal’ Tracking: A Framework for Real-Time and Robust Long-term Tracking 2019-09-05 21:1 ...

  2. 学习OpenCV——hand tracking手势跟踪

    这几日,岛上风云突变,我这个倒霉孩子终究木有躲过感冒的魔掌,中枪鸟~~~ 这几天只写了个简单的手势跟踪的代码. 原理是:背景差分+肤色检测. 背景差分:取前30帧图像取平均值,计算前30帧之差的和,再 ...

  3. Faster RCNN论文学习

    Faster R-CNN在Fast R-CNN的基础上的改进就是不再使用选择性搜索方法来提取框,效率慢,而是使用RPN网络来取代选择性搜索方法,不仅提高了速度,精确度也更高了 Faster R-CNN ...

  4. 基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统)

    基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统) zouxy09@qq.com http://blog.csdn.net/zouxy09 一年多前开始接触计算机视觉这个领域的时候,年幼无 ...

  5. zz2019年主动学习有哪些进展?答案在这三篇论文里

    2019年主动学习有哪些进展?答案在这三篇论文里 目前推广应用的机器学习方法或模型主要解决分类问题,即给定一组数据(文本.图像.视频等),判断数据类别或将同类数据归类等,训练过程依赖于已标注类别的训练 ...

  6. Fast RCNN论文学习

    Fast RCNN建立在以前使用深度卷积网络有效分类目标proposals的工作的基础上.使用了几个创新点来改善训练和测试的速度,同时还能增加检测的精确度.Fast RCNN训练VGG16网络的速度是 ...

  7. 《Explaining and harnessing adversarial examples》 论文学习报告

    <Explaining and harnessing adversarial examples> 论文学习报告 组员:裴建新   赖妍菱    周子玉 2020-03-27 1 背景 Sz ...

  8. 论文学习笔记 - 高光谱 和 LiDAR 融合分类合集

    A³CLNN: Spatial, Spectral and Multiscale Attention ConvLSTM Neural Network for Multisource Remote Se ...

  9. Apache Calcite 论文学习笔记

    特别声明:本文来源于掘金,"预留"发表的[Apache Calcite 论文学习笔记](https://juejin.im/post/5d2ed6a96fb9a07eea32a6f ...

随机推荐

  1. POJ 1236--Network of Schools【scc缩点构图 &amp;&amp; 求scc入度为0的个数 &amp;&amp; 求最少加几条边使图变成强联通】

    Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13325   Accepted: 53 ...

  2. Android实现能够揉动的图片

    public class Demo01 extends Activity{ private Bitmap bitmap = null; @Override protected void onCreat ...

  3. c11---位运算相关

    // // main.c // 03-原码反码补码 #include <stdio.h> int main(int argc, const char * argv[]) { // int占 ...

  4. vue.js和node.js的认识

    首先vue.js 是库,不是框架,不是框架,不是框架. Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据. Vue.js 的核心是一个允许你 ...

  5. linux执行shell脚本时提示bad interpreter:No such file or directory的解决办法

    故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行 出现bad interpreter:No s ...

  6. Redis学习笔记(五) 基本命令:Hash操作

    原文链接:http://doc.redisfans.com/hash/index.html 学习前先明确一下概念,这里我们把Redis的key称作key(键),把数据结构hash中的key称为fiel ...

  7. 编写高质量的Makefile

    源地址 :http://blog.csdn.net/maopig/article/details/6801749 一.前言 回想自己的第一个Makefile,是这个样子的 CODE hello:hel ...

  8. Java 系列之Filter(一)

    一.过滤器 过滤器就是在源数据和目的数据之间起过滤作用的中间组件.它可以截取客户端和资源之间的请求和响应信息,并且对这些信息进行过滤. 二.应用场景 1.对用户请求进行统一认证 2.对用户的访问请求进 ...

  9. ZBrush通过绘制层得到子物体

    本文将为大家介绍在ZBrush® 软件中第三种创建子物体的方法,即使用绘制层得到子物体. 1.在Light Box(灯光盒子)默认的3D工具中选择SuperAverageMan_low人体模型,在视图 ...

  10. Java用freemarker导出Word 文档

    1.用Microsoft Office Word打开word原件: 2.把需要动态修改的内容替换成***,如果有图片,尽量选择较小的图片几十K左右,并调整好位置: 3.另存为,选择保存类型Word 2 ...