算法
算法与数据结构
菜猿外
高级搬运工程师,吹牛逼架构师。
展开
-
MeanShift 原理篇
1.Meanshift介绍Mean shift主要用在图像平滑和图像分割(那个跟踪我现在还不清楚),先介绍一下平滑的原理: 输入是一个5维的空间,2维的(x,y)地理坐标,3维的(L,u,v)的颜色空间坐标,当然你原理也可以改写成rgb色彩空间或者是纹理特征空间。 先介绍一下核函数,有uniform的,也有高斯的核函数,不管是哪个的,其基本思想如下:简单的平滑算法用一个模板转载 2017-02-18 11:25:25 · 967 阅读 · 1 评论 -
TLD 详细解析之整体框架
下面是自己在看论文和这些大牛的分析过程中,对代码进行了一些理解,但是由于自己接触图像处理和机器视觉没多久,另外由于自己编程能力比较弱,所以分析过程可能会有不少的错误,希望各位不吝指正。而且,因为编程很多地方不懂,所以注释得非常乱,还海涵。 从main()函数切入,分析整个TLD运行过程如下:(这里只是分析工作过程,全部注释的代码见博客的更新)1、分析程序运行的命令行转载 2017-05-18 15:39:15 · 2159 阅读 · 1 评论 -
TLD 详细解析之 跟踪器
目标跟踪的一般思想是跟踪目标中关键点。TLD也是跟踪点(但不是跟踪SIFT之类的关键点)。点跟踪采用的是光流法,具体来说是Pyramidal Lucas-Kanade tracker,这个以后机会再介绍,推荐阅读《Learning OpenCV》第10章的Lucas-Kanade Method部分,这里只介绍OpenCV的实现函数,跳过原理和实现细节。 首先看跟踪点的函数,calcO转载 2017-05-18 15:51:34 · 2846 阅读 · 2 评论 -
TLD 详细解析之 综合器
下面是自己在看论文和这些大牛的分析过程中,对代码进行了一些理解,但是由于自己接触图像处理和机器视觉没多久,另外由于自己编程能力比较弱,所以分析过程可能会有不少的错误,希望各位不吝指正。而且,因为编程很多地方不懂,所以注释得非常乱,还海涵。 TLD.h[cpp] view plaincopy#include #inclu转载 2017-05-18 15:53:39 · 1388 阅读 · 0 评论 -
TLD详细解析之 检测器
扫描方式前面已经说过,具体参数【5.3】:scales step =1.2, horizontal step =10 percent of width, vertical step =10 percent of height, minimal bounding box size = 20 pixels. This setting produces around 50k bounding box转载 2017-05-18 15:55:43 · 1934 阅读 · 0 评论 -
KNN算法 概述
在研究TLD算法时,里面用到了一个最近邻分类器,作为KNN的一个特例(k=1),首先还是理解一下KNN算法。其实思想非常朴素,可以用:“近朱者赤,近墨者黑” 来理解。废话少说,接着看。1 KNN概述K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻原创 2017-05-19 11:16:31 · 979 阅读 · 0 评论 -
随机森林 算法原理详解与实现步骤
最近在研究TLD算法,在做目标检测的时候,用到了随机森林的组合分类器。话说现在的检测问题可以归结为分类问题,丰富了解决问题的手段。废话少说,接着看。1.随机森林原理介绍随机森林,指的是利用多棵树对样本进行训练并预测的一种分类器。该分类器最早由Leo Breiman和Adele Cutler提出,并被注册成了商标。简单来说,随机森林就是由多棵CART(Classification A转载 2017-05-19 15:00:10 · 25730 阅读 · 1 评论 -
LK光流法 运动检测
转载自: http://blog.csdn.net/crzy_sparrow/article/details/7407604本文目录: 一.基于特征点的目标跟踪的一般方法 二.光流法 三.opencv中的光流法函数 四.用类封装基于光流法的目标跟踪方法 五.完整代码 六.参考文献转载 2017-05-21 15:48:28 · 2671 阅读 · 0 评论 -
Hough Transform 霍夫变换检测直线
Hough Transform 霍夫变换检测直线从理论到代码,再从代码到理论(1)理论之通俗理解:1.在图像中检测直线的问题,其实质是找到构成直线的所有的像素点。那么问题就是从找到直线,变成找到符合y=mx+c的所有(x,y)的点的问题。2.进行坐标系变化y=mx+c,变成c=-xm+b。直线上的点(x1,y1),在转换坐标系后为一条直线。这个原理应该是高中的。 3.直线原创 2017-06-06 11:01:00 · 933 阅读 · 0 评论 -
运动检测与跟踪_混合高斯背景建模
在运动检测中,经常使用背景差分的方法来检测视频序列中的运动物体。要做到准确稳定的检测,背景模型的建立与更新是至关重要的一步。之前查阅这方面文献时,看到的一片关于混合高斯背景模型的背景建模方法。一、理论混合高斯背景建模是基于像素样本统计信息的背景表示方法,利用像素在较长时间内大量样本值的概率密度等统计信息(如模式数量、每个模式的均值和标准差)表示背景,然后使用统计差分(如3σ原创 2017-04-06 21:37:31 · 1121 阅读 · 0 评论 -
TLD运动检测与目标跟踪详细介绍
Tracking-Learning-Detection(TLD)是Zdenek Kalal提出的一种对视频中单个物体长时间跟踪的算法。我主要会根据他在2010年发表的论文《Tracking-Learning-Detection》来分析TLD算法的原理。该项目的首页中有几段视频展示了TLD实时跟踪的效果和性能,其中的两个视频可以在这里下载:similar objects,human face。作转载 2017-04-17 20:43:27 · 4456 阅读 · 0 评论 -
SVM原理篇
什么是机器学习 (Machine Learning) 机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习的大致分类:1)分类(模式识别):要求系统依据已知的分类知识对输入的未知模式(该模式的描述)作分析,以确定转载 2017-04-11 09:03:01 · 1207 阅读 · 1 评论 -
Meanshift 聚类
Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束. 1. Meanshift推导给定d维空间Rd的n个样本点 ,i=1,…,n,在空间中任选一点x,那么Mean Shift向量的基本形式定义为: Sk是一个半径原创 2017-02-18 13:51:48 · 508 阅读 · 0 评论 -
Camshift 算法原理
1.基于MeanShift的Camshift算法原理详解(整理)meanshift算法思想其实很简单:利用概率密度的梯度爬升来寻找局部最优。它要做的就是输入一个在图像的范围,然后一直迭代(朝着重心迭代)直到满足你的要求为止。但是他是怎么用于做图像跟踪的呢?这是我自从学习meanshift以来,一直的困惑。而且网上也没有合理的解释。经过这几天的思考,和对反向投影的理解使得我对它的原理有了大致的认识。原创 2017-02-18 15:51:28 · 1115 阅读 · 0 评论 -
Otsu 大律法 图像二值化
转载自 http://blog.csdn.net/timidsmile/article/details/8493468 otsu法(最大类间方差法,有时也称之为大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找一个合适的灰度级别 来划分。 所以 可以在二值化的时候 采用otsu算法来自动转载 2017-02-28 10:40:59 · 2165 阅读 · 0 评论 -
运动检测与跟踪之动态背景的更新
转载自http://blog.csdn.net/dcrmg/article/details/52263532运动物体检测与跟踪中的帧差分法,除了相邻帧差分法和三帧差分法外,还有一种差分方法,可以通过建立不含前景的背景模型,用当前帧和背景模型做差,差值就可以体现运动物体大概的位置和大小信息。相比相邻帧差分法和三帧差分法,背景模型做差法可以较为完整的体现运动物体的整体轮廓,运动物体的双转载 2017-02-28 10:59:39 · 3258 阅读 · 2 评论 -
反向投影在模板匹配中的应用
1.需要知道的问题。什么是反向投影,它可以实现什么功能?如何使用OpenCV函数 calcBackProject 计算反向投影?如何使用OpenCV函数 mixChannels 组合图像的不同通道?2.原理 (1)什么是反向投影?反向投影是一种记录给定图像中的像素点如何适应直方图模型像素分布的方式。简单的讲, 所谓反向投影就是首先计算某一特征的直方图模型,然后使用模型原创 2017-02-19 10:22:41 · 848 阅读 · 0 评论 -
运动目标检测与跟踪常用算法
一.运动目标检测 (一)背景差 1.帧差2.GMM 等 背景减算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定摄像头的情形,目前大多数的跟踪算法中都采用背景减算法来进行目标检测。背景减算法的局限性在于它需要一个静态的固定摄像头。 (二)运动场 光流法 光流估计的方法都是基于转载 2017-02-20 11:29:56 · 2805 阅读 · 0 评论 -
光流法原理
光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类:(1)基于区域或者基于特征的匹配方转载 2017-02-14 11:05:35 · 2148 阅读 · 0 评论 -
Meanshift原理与应用
看了一个大神的Blog,感觉很有启发,就转载来了,原文请移步点击打开链接。先介绍一下基于MeanShift的目标跟踪算法,然后给出算法实现流程,最后实现了一个单目标跟踪的MeanShift算法,MATLAB和C两个版本。一、简介 首先扯扯无参密度估计理论,无参密度估计也叫做非参数估计,属于数理统计的一个分支,和参数密度估计共同构成了概率密度估计方法。参数密度估计方法要求特征转载 2017-02-23 10:11:26 · 844 阅读 · 0 评论 -
最简单有趣的卡尔曼滤波推导
这篇博客是关于卡尔曼滤波最通俗易懂的解释,理论结合应用。感谢原作和译者。原文链接:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/ 转载自:https://blog.csdn.net/u010720661/article/details/63253509什么是卡尔曼滤波? 你可以在任何含有不确定信息的动态系统中使用卡尔曼滤...转载 2018-05-19 17:34:35 · 1467 阅读 · 0 评论