// 单个粒子数据结构
typedef struct
{
// 粒子状态
pf_vector_t pose; // 粒子权重
double weight; } pf_sample_t; // Information for a cluster of samples
// 粒子聚类
typedef struct
{
// 粒子数量
int count; // 该聚类中的粒子总权重
double weight; // 聚类统计量
pf_vector_t mean;
pf_matrix_t cov; // Workspace
double m[4], c[2][2]; } pf_cluster_t; // 一组样本粒子数据结构
typedef struct _pf_sample_set_t
{
// The samples
int sample_count;
pf_sample_t *samples; // A kdtree encoding the histogram
pf_kdtree_t *kdtree; // 聚类数据
int cluster_count, cluster_max_count;
pf_cluster_t *clusters; // Filter statistics
pf_vector_t mean;
pf_matrix_t cov;
int converged;
} pf_sample_set_t; // 整个滤波器数据结构
typedef struct _pf_t
{
// This min and max number of samples
int min_samples, max_samples; // Population size parameters
double pop_err, pop_z; // The sample sets. We keep two sets and use [current_set]
// to identify the active set.
int current_set;
pf_sample_set_t sets[2]; // Running averages, slow and fast, of likelihood
double w_slow, w_fast; // Decay rates for running averages
double alpha_slow, alpha_fast; // Function used to draw random pose samples 随机粒子的生成函数
pf_init_model_fn_t random_pose_fn;
void *random_pose_data; // 随机粒子位姿数据 double dist_threshold; //distance threshold in each axis over which the pf is considered to not be converged
int converged;
} pf_t;

PF部分代码解读的更多相关文章

  1. Android MVP模式 谷歌官方代码解读

    Google官方MVP Sample代码解读 关于Android程序的构架, 当前(2016.10)最流行的模式即为MVP模式, Google官方提供了Sample代码来展示这种模式的用法. Repo ...

  2. 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案

    简介 本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发 ...

  3. SoftmaxLayer and SoftmaxwithLossLayer 代码解读

    SoftmaxLayer and SoftmaxwithLossLayer 代码解读 Wang Xiao 先来看看 SoftmaxWithLoss 在prototext文件中的定义: layer { ...

  4. Hybrid----优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案-备

    本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发送.接 ...

  5. Jsoup代码解读之六-防御XSS攻击

    Jsoup代码解读之八-防御XSS攻击 防御XSS攻击的一般原理 cleaner是Jsoup的重要功能之一,我们常用它来进行富文本输入中的XSS防御. 我们知道,XSS攻击的一般方式是,通过在页面输入 ...

  6. Jsoup代码解读之五-实现一个CSS Selector

    Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张s ...

  7. Jsoup代码解读之四-parser

    Jsoup代码解读之四-parser 作为Java世界最好的HTML 解析库,Jsoup的parser实现非常具有代表性.这部分也是Jsoup最复杂的部分,需要一些数据结构.状态机乃至编译器的知识.好 ...

  8. Jsoup代码解读之三-Document的输出

    Jsoup代码解读之三-Document的输出   Jsoup官方说明里,一个重要的功能就是output tidy HTML.这里我们看看Jsoup是如何输出HTML的. HTML相关知识 分析代码前 ...

  9. Jsoup代码解读之一-概述

    Jsoup代码解读之一-概述 今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了…觉得自己各种不靠谱啊!算了,静下心来学 ...

随机推荐

  1. Java 中的悲观锁和乐观锁的实现

    一.定义 1.悲观锁:即很悲观,每次拿数据的时候都觉得数据会被人更改,所以拿数据的时候就把这条记录锁掉,这样别人就没法改这条数据了,一直到你的锁释放. 2.乐观锁:即很乐观,查询数据的时候总觉得不会有 ...

  2. 【C#】C#格式化文件大小

    /// <summary> /// 格式化文件大小的C#方法 /// </summary> /// <param name="filesize"> ...

  3. 网络编程基础【day09】:socket解决粘包问题之MD5(八)

    本节内容 1.概述 2.代码实现 一.概述 上一篇博客讲到的用MD5来校验还是用的之前解决粘包的方法,就是客户端发送一个请求,等待服务端的确认的这样的一个笨方法.下面我们用另外一种方法:就是客户端已经 ...

  4. windows环境安装weblogic服务【转】【补】

    我的环境: windows: win10 professional edition jdk: C:\Program Files\Java\jdk1.6.0_45 weblogic安装目录 (WEBLO ...

  5. PHPMYWIND4.6.6前台Refer头注入+后台另类getshell分析

    下载链接 https://share.weiyun.com/b060b59eaa564d729a9347a580b7e4f2 Refer头注入 全局过滤函数如下 function _RunMagicQ ...

  6. HTML第四耍 超链接标签

    1.HTML 超链接(链接) 一.HTML 超链接 HTML中使用超级链接与网络上的另一个文档相连.几乎可以在所有的网页中找到链接.点击链接可以从一张页面跳转到另一张页面. 超链接可以是一个字,一个词 ...

  7. windows10 下使用Pycharm2016 基于Anaconda3 Python3.6 安装Mysql驱动总结

    本文记录:在PyCharm2016.3.3 中基于Anaconda3 Python3.6版本安装Python for Mysql驱动.尝试了安装Mysql-Connector成功,但是连接数据库时驱动 ...

  8. WEUI控件JS用法

    /* dialog */ document.querySelector('#alertBtn').addEventListener('click', function () { _weui2.defa ...

  9. GIT好文搜藏

    git图解:代码区域总结 https://zhuanlan.zhihu.com/p/20175919 git跟传统的代码管理器(如:svn)不同, 主要区别在于git多了个本地仓库以及缓存区,所以即使 ...

  10. 【python小练】0017-将xls文件内容写入xml文件中

    第 0017 题: 将 第 0014 题中的 student.xls 文件中的内容写到 student.xml 文件中,如 下所示: <?xml version="1.0" ...