A. 什么是基追踪算法
基追踪(basis pursuit)算法是一种用来求解未知参量L1范数最小化的等式约束问题的算法。
基追踪是通常在信号处理中使用的一种对已知系数稀疏化的手段。将优化问题中的L0范数转化为L1范数的求解就是基追踪的基本思想。
比如我原先有一个优化问题:
min ||x||_0(就是L0范数的最小值)subject to y=Ax。
这个||x||_0,就是表示x中有多少个非零元素;那么我们要求min ||x||_0,就是想知道含有最多0元素的那个解x是什么。
但是呢,L0范数有非凸性,不怎么好求解,这时我们就转而求解L1范数的优化问题。
那么,基追踪算法就是转而求解
min||x||_1(就是L1范数的最小值)subject to||y-Ax||_2=0(2范数)
这个||x||_1,就是x的绝对值;那么我们要求min||x||_1,就是求绝对值最小的那个解x是什么。
更通俗一点来讲,比如我要求一个线性方程组
Ax=b
x就是我们要求的未知量。这个A矩阵不是个方阵,是个欠定矩阵,那么就导致这个线性方程组会有若干组解。那么我们到底要哪组解好呢?
如果在一般情况下,可以直接用最小二乘法来获得一组最小二乘解,就是x=(A'A)^(-1)A'b。但是我们现在利用基追踪,就是想要来获得一组含0元素最多的解。
那么我们为什么希望我们获得的解里面0元素越多越好呢?这就要谈到“稀疏化”了。所谓稀疏化,就是希望我获得的这个解放眼望去全是0,非0元素稀稀疏疏的。这样在大样本或者高维数的情况下,计算速度不会太慢,也不会太占计算机的内存。当然,所谓稀疏解是有一定精度误差的,想要提高计算速度,必然会损失一点精度,这是不可避免的。
可以参考:Stephen Byod 的<Distributed Optimization and Statistical Learning via the ADMM>41页
B. 视觉跟踪算法的程序(是用摄像头的)
http://www.opencv.org.cn/index.php/%E4%BA%BA%E8%84%B8%E6%A3%80%E6%B5%8B
用opencv实现人脸检测与跟踪。安装opencv就能用了
C. 光线跟踪算法的算法的详细描述
Arthur Appel 于 1968 年首次提出用于渲染的光线投射算法。光线投射的基础就是从眼睛投射光线到物体上的每个点,查找阻挡光线的最近物体,也就是将图像当作一个屏风,每个点就是屏风上的一个正方形。通常这就是眼睛看到的那个点的物体。根据材料的特性以及场景中的光线效果,这个算法可以确定物体的浓淡效果。其中一个简单假设就是如果表面面向光线,那么这个表面就会被照亮而不会处于阴影中。表面的浓淡效果根据传统的三维计算机图形学的浓淡模型进行计算。光线投射超出扫描线渲染的一个重要优点是它能够很容易地处理非平面的表面以及实体,如圆锥和球体等。如果一个数学表面与光线相交,那么就可以用光线投射进行渲染。复杂的物体可以用实体造型技术构建,并且可以很容易地进行渲染。
位于纽约Elmsford, New YorkMathematical Applications Group, Inc.(MAGI)的科学家首次将光线投射技术用于生成计算机图形。1966 年,为了替美国国防部计算放射性污染创立了这个公司。MAGI 不仅计算了伽马射线如何从表面进行反射(辐射的光线投射自从二十世纪四十年代就已经开始计算了),也计算了它们如何穿透以及折射。这些研究工作帮助政府确定一些特定的军事应用;建造能够保护军队避免辐射的军用车辆,设计可以重入的太空探索交通工具。在 Philip Mittelman 博士的指导下,科学家们开发了一种使用同样基本软件生成图像的方法。1972 年,MAGI 转变成了一个商业动画工作室,这个工作室使用光线投射技术为商业电视、教育电影以及最后为故事片制作三维计算机动画,他们全部使用光线投射制作了 Tron 电影中的绝大部分动画。MAGI 于 1985 年破产。 对图像中的每一个像素 {
创建从视点通过该像素的光线 初始化 最近T 为 无限大,最近物体 为 空值 对场景中的每一个物体 {
如果光线与物体相交 {
如果交点处的 t 比 最近T 小 {
设置 最近T 为焦点的 t 值 设置 最近物体 为该物体
}
}
}
如果 最近物体 为 空值
{
用背景色填充该像素
}
否则
{
对每个光源射出一条光线来检测是否处在阴影中 如果表面是反射面,生成反射光;递归 如果表面透明,生成折射光;递归 使用 最近物体 和 最近T 来计算着色函数 以着色函数的结果填充该像素
}
}
D. 视频跟踪算法
跟着视频走
E. 目标跟踪算法好处
目标跟踪算法好处是:
1、可以提高后续检测的准确性。
2、能够掌握目标的运动状态。
F. 实时人脸跟踪的算法有哪些,有没有成熟的SDK实现
颜鉴ColorReco基于深度学习的人脸识别算法,可以集成到ARM平台Android/IOS系统,对硬件要求较低,运行稳定,动态实时识别,识别率高。并拥有Android人脸识别算法的全套技术,包括TOP级人脸检测,动态人脸关键点跟踪(五官定位),离线动态人脸识别。
G. 光线跟踪算法的例子
为了说明光线跟踪所用的基本原理,我们来看计算一个光线与球体交点的例子。用 I 表示球面上的点,C 表示球心,r 表示半径,那么球面的公式为 . 如果定义一条线的起点即光线起点是 S,方向是 d,那么线上的每个点都可以表示为
其中 t 是定义线上与起点距离的常数,为了简化起见,通常 d 定义为单位矢量。那么,在这种情况下已知 S、d、C 以及 r,于是代入 I 得到:
简化 ,那么
那么二次方程的解是
这只是直线光线与球体交点的所用的数学公式,当然对于通用的光线跟踪来说是远远不够的,但是它至少表示了这个算法如何使用的一个实例。
H. 计算机视觉中,目前有哪些经典的目标跟踪算法
第一章介绍运动的分类、计算机视觉领域中运动分析模型、计算机视觉领域运动检测和目标跟踪技术研究现状、计算机视觉领域中运动分析技术的难点等内容;
第二章介绍传统的运动检测和目标跟踪算法,包括背景差分法、帧间差分法、光流场评估算法等;
第三章介绍具有周期性运动特征的低速目标运动检测和跟踪算法,并以CCD测量系统为例介绍该算法的应用;
第四章介绍高速运动目标识别和跟踪算法,并以激光通信十信标光捕获和跟踪系统为例介绍该算法的应用;
第五章介绍具有复杂背景的目标运动检测过程中采用的光流场算法,包括正规化相关的特性及其改进光流场评估算法,并介绍改进光流场算法的具体应用;
第六章介绍互补投票法实现可信赖运动向量估计。
I. 基于机器学习的目标跟踪算法和传统的目标跟踪算法相比,有什么优点
benchmark 2015版:Visual Tracker Benchmark 不过这些算法都比较新 要看老的话主要是06年这篇paper 和09年有一篇暂时忘记paper名字了
古老的方法比如optical flow,kalman filter(后面的particle filter)……了解不多不瞎扯了
目前tracking主要是两种,discriminative 和 generative,当然也有combine两个的比如SCM。你提到的都是前者,就是算法里面基本有一个classifier可以分辨要追踪的物体。这类除了你说的最近比较火的还有速度极占优势的CSK(后来进化成KCF/DCF了)
另一种generative的方法,大致就是用模版(或者sparse code)抽一堆feature,按距离函数来匹配。L1,ASLA,LOT,MTT都是。
最近才开始了解tracking,所以说得可能并不是很对,仅供参考