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. 使用fatjar来实现将包括第三方jar包的项目到处成一个jar包供其它程序使用

    一.在线安装fat jar 在线安装步骤: eclipse菜单条 help >software updates >Search for new features to install> ...

  2. jQuery插件 -- Cookie插件

    Cookie是站点设计者放置在client的小文本文件.Cookie能为用户提供非常多的使得,比如购物站点存储用户以前浏览过的产品列表.或者门户站点记住用户喜欢选择浏览哪类新闻. 在用户同意的情况下. ...

  3. 受 SQLite 多年青睐,C 语言到底好在哪儿?

    SQLite 近日发表了一篇博文,解释了为什么多年来 SQLite 一直坚持用 C 语言来实现,以下是正文内容: C 语言是最佳选择 从2000年5月29日发布至今,SQLite 一直都是用 C 语言 ...

  4. Caused by: java.lang.NoClassDefFoundError: org/apache/neethi/AssertionBuilderFactory

    转自:https://blog.csdn.net/iteye_8264/article/details/82641058 1.错误描述 严重: StandardWrapper.Throwable or ...

  5. Python学习历程之模块浅识

    # =============================操作系统模块=======================# import os# 待续# ======================= ...

  6. [实例]ROS使用OpenCV读取图像并发布图像消息在rviz中显示

    思路: (1)使用opencv读取本地图像 (2)调用cv_bridge::CvImage().toImageMsg()将本地图像发送给rviz显示 一.使用opencv读取本地图像并发布图像消息 ( ...

  7. BZOJ 2141 分块 线段树

    思路: a[i] //By SiriusRen #include <cmath> #include <cstdio> #include <cstring> #inc ...

  8. 十款APP开发框架

    对于大部分Web开发人员,HTML.CSS和 Java是他们最熟练的开发技能.然而,开发一个原生的移动App,对他们来说却是完全陌生的领域.因为开发Android,iOS 或 Windows Phon ...

  9. thinkphp5-----模板中函数的使用

    1.在模板中使用php函数 在thinkphp的html中,我们经常会遇到一些变量难以直接从php控制端直接处理,这些变量只有在模板中循环输出的时候处理比较合适,这个时候,我们就要在模板中使用函数 1 ...

  10. UVA340-Master-Mind Hints(紫书例题3.4)

    MasterMind is a game for two players. One of them, Designer, selects a secret code. The other, Break ...