2021-04-07学习笔记

深度多目标跟踪算法综述

把检测图像看作查询图像(query),行人轨迹中的图像看作图像库(gallery),多目标跟踪中的匹配过程可以看作为行人重识别。
2021-04-07学习笔记_第1张图片
传统的行人重识别不同的是,行人多目标跟踪中的检测与行人轨迹的匹配关联问题更加复杂,具体表现在下面三个方面:
首先,多目标跟踪中的目标轨迹是频繁发生变化的,图像样本库的数量和种类并不固定。
其次,检测结果中可能出现新的目标,也可能不包括已有的目标轨迹。
另外,检测图像并不像传统行人重识别中的查询图像都是比较准确的检测结果,通常,行人多目标跟踪场景下的检测结果混杂了一些错误的检测(false-alarms),而由于背景以及目标之间的交互,跟踪中的行人检测可能出现图像不对齐、多个检测对应同一目标、以及一个检测覆盖了多个目标这些情况。

基于深度学习的多目标跟踪算法分类

多目标跟踪算法按照轨迹生成的顺序可以分为离线的多目标跟踪和在线的多目标跟踪算法。
离线方式的多目标跟踪算法通常构造为目标检测关系的图模型,其中设计和计算检测之间的相似度或者距离度量是决定图模型构造正确性的关键。
在线方式的多目标跟踪算法根据当前检测观测,计算与已有轨迹的匹配关系,计算合适的匹配度量决定了匹配的正确性。
因此,无论是离线方式的多目标跟踪还是在线方式的多目标跟踪算法,学习检测结果的特征并计算匹配相似度或者距离度量都是多目标跟踪算法的关键步骤。
基于深度学习的多目标跟踪算法的主要任务是优化检测之间相似性或距离度量的设计。根据学习特征的不同,基于深度学习的多目标跟踪可以分为表观特征的深度学习,基于相似性度量的深度学习,以及基于高阶匹配特征的深度学习。
2021-04-07学习笔记_第2张图片

计算机视觉–光流法(optical flow)简介

1.什么是光流

光流(optical flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度。

光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。

通常将二维图像平面特定坐标点上的灰度瞬时变化率定义为光流矢量。

一言以概之:所谓光流就是瞬时速率,在时间间隔很小(比如视频的连续前后两帧之间)时,也等同于目标点的位移

2.光流的物理意义

一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。

当人的眼睛观察运动物体时,物体的景象在人眼的视网膜上形成一系列连续变化的图像,这一系列连续变化的信息不断“流过”视网膜(即图像平面),好像一种光的“流”,故称之为光流。光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。

3.稠密光流与稀疏光流

2021-04-07学习笔记_第3张图片

稀疏光流

2021-04-07学习笔记_第4张图片

————————————————
版权声明:本文为CSDN博主「T-Jhon」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41368247/article/details/82562165

深度视觉多目标跟踪算法介绍

https://zhuanlan.zhihu.com/p/60102119
目前的基于深度学习的多目标跟踪框架在以下两个方向取得了较好的进展:(1)结合多目标跟踪场景的网络设计,比如在文献[4]中考虑多目标交互的情况设计网络架构,这种考虑跟踪场景的网络设计对于跟踪结果有明显提升。(2)采用循环神经网络的深度学习应用,比如文献[5]和[10],讨论历史信息对跟踪中轨迹特征的描述,是研究跟踪问题的一个重要方向。
原文链接
https://bbs.cvmart.net/articles/72/shen

在线学习和离线学习

离线学习

离线学习也通常称为批学习,是指对独立数据进行训练,将训练所得的模型用于预测任务中。将全部数据放入模型中进行计算,一旦出现需要变更的部分,只能通过再训练(retraining)的方式,这将花费更长的时间,并且将数据全部存在服务器或者终端上非常占地方,对内存要求高。
2021-04-07学习笔记_第5张图片
离线需要分别在训练集和验证集上训练和选择,但在线学习不将训练与选择分离,不分割训练数据
在批量学习设置中,通常假设数据是根据独立同分布设置的,但是在在线学习设置中,对训练数据的假设是宽松或几乎没有的。
离线学习的缺点:
1、 模型训练过程低效
2、 训练过程不易拓展于大数据场景。
3、 模型无法适应动态变化的环境

在线学习

在线学习也称为增量学习或适应性学习,是指对一定顺序下接收数据,每接收一个数据,模型会对它进行预测并对当前模型进行更新,然后处理下一个数据。这对模型的选择是一个完全不同,更复杂的问题。需要混合假设更新和对每轮新到达示例的假设评估。换句话说,你只能访问之前的数据,来回答当前的问题。
2021-04-07学习笔记_第6张图片
2021-04-07学习笔记_第7张图片
在网络异常检测中,网络异常通常包括各种网络故障、流量的异常表现和拥塞等,各种网络攻击层出不穷,数据是原数据中从未出现过的,因此要求新的在线学习方法能够自动地侦测当前要鉴别的流数据是原来数据中存在的还是新生成的 。在线学习算法具有实现简单、可拓展性强和算法性能优越等特点,适合用于海量数据处理。
————————————————
版权声明:本文为CSDN博主「TingCole」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42267615/article/details/102973252

机器学习算法可以分成两类。离线学习和在线学习。
在离线学习算法中,我们会有一个训练集,这个训练集包含多个训练实例。每个训练实例都认为是以某个概率分布从实例空间中独立同分布地抽取。我们的目标是根据这个训练样本构造一个分类器,使得其真正训练错误最小。‘

在在线学习算法中,我们不假设训练数据来自于某个概率分布或者随机过程。当有个训练实例x过来时,我们利用分类器对其进行分类。假设分类器输出的类别标签为l。那么当l不是实例x真正的类别标签,也即分类出错时,会产生一个罚值。分类器根据实例x的真正的类别标签以及罚值对分类器参数进行相应地调整,以更好地预测新的实例。我们的目标是,在整个预测过程中,实例的罚值和尽可能小。

**在线算法对数据的要求更加宽松,因此它是更实用的算法。同时,它也是更实用的训练算法。**例如,当我们区分一个邮件是否是紧急邮件时,在线算法显得更加合适。因为我们不能假设邮件是以某一分布独立同分布地生成的。可能一个人向我们发了一封邮件紧急邮件,我们已经做出了回复。那么当这个人再发来一封邮件时,它就显得不那么紧急了。也就是说,邮件之间存在很大的相关性。这时候,用在线算法会更加合适。

在线算法比离线算法难度更大。事实上,一个好的在线算法可以很容易转换成一个同样好的离线算法。反之则不然。最后还需要指出的是,在线算法有时候在设计和分析上,比离线算法更加简洁明了。
————————————————
版权声明:本文为CSDN博主「汪星人来地球」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hedan2013/article/details/78011600

https://blog.csdn.net/a133521741/article/details/79221015

在线学习对算法实时性要求高,需要低复杂度+高收敛速

在线学习优化算法

在线学习+深度学习

(1)利用降噪自编码器作为DL的模块
(2)损失函数采用交叉熵损失

降噪自编码器模型:编码阶段+解码阶段

过程:
通过统计交叉熵损失较大的训练数据个数的方式判断是否发生严重感念漂移,需要调整网络结构
若判断需要调整特征数量:
(1)首先将一定数量的特征融合
(2)其次添加一定数量的特征节点
(3)随后,固定其他未变点相关参数
(4)利用交叉熵损失较大的训练数据集,基于反向传播算法,对发生改变的节点对应参数进行训练,从而在调整网络结构后,高效训练出收敛的更针对近期数据的降噪自编码网
通过以上步骤,实现数据分布发生漂移的情况下微调网络结构、网络参数、深度特征,得到满足时间序列要求的在线并动态调整的网络

意义:
(1)为深度学习在线化问题提出了解决思路
(2)一定程度上实现了DL模型中超参数的调整
————————————————
版权声明:本文为CSDN博主「iyangdi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iyangdi/article/details/71544038
2021-04-07学习笔记_第8张图片

训练数据(Test Data):用于模型构建
验证数据(Validation Data):可选,用于辅助模型构建,可以重复使用。
测试数据(Test Data):用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。

在传统分类任务中,为了保证训练得到的分类模型具有准确性和高可靠性,由两个基本假设:
1.学习的训练样本和新的测试样本满足独立同分布
2.必须有足够可用的训练样本

2021-04-07学习笔记_第9张图片

迁移学习与 finetune 微调

finetune 则是迁移学习的一种常见的方法,其中微调根据实际情况不同可以分成以下几种:

1)当待训练的数据集较小,已训练的模型和当前任务相似。这时只需要重新训练已有模型最后的几层,固定前面的层来提取低层次特征。
2)当待训练的数据集较小,已训练的模型与当前任务场景差距较大,可以重新训练已有模型靠近输入的前几层,来调整网络对新的任务场景进行学习。
3)当待训练的数据集较大,已训练的模型和当前训练数据类似。可以基于已有的预训练模型,将其全部层都在新数据上进行微调(也是传统分类任务中微调最常用的方式)
4)当待训练的数据集较大,已训练的模型和当前训练数据差异度很高。这是需要网络在新数据集上从头开始训练,微调已经不起作用了。

增量学习与迁移学习

综上所述,在概念上,增量学习与迁移学习最大的区别就是对待旧知识的处理,增量学习在学习新知识的同时需要尽可能保持旧知识,不管它们类别相关还是不相关的,而迁移学习则只是借助旧知识来学习新知识,学习完成后只关注在新知识上的性能,不再考虑在旧知识上的性能。
原文转载:
https://zhuanlan.zhihu.com/p/51527930

你可能感兴趣的:(2021-04-07学习笔记)