0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

目标跟踪相关知识总结

jf_96884364 来源:代码的路 作者:代码的路 2023-01-11 17:21 次阅读

原文链接

feather map

在cnn的每个卷积层,数据都是以三维形式存在的。可以看成许多个二维图片叠在一起,其中每一个称为一个feature map。

1.在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,一般就是3个feature map(红绿蓝)。

2.在其它层,层与层之间会有若干个卷积核(kernel),上一层每个feature map跟每个卷积核做卷积,都会产生下一层的一个feature map,有N个卷积核,下层就会产生N个feather map。

卷积核(filter)

每个卷积核具有长宽深三个维度;卷积核的深度与当前图像的深度(feather map的张数)相同。卷积核的个数与下一层需要多少个feather map相同。在CNN的一个卷积层中:卷积核的长、宽都是人为指定的,长X宽也被称为卷积核的尺寸,常用的尺寸为3X3,5X5等;例如,在原始图像层 (输入层),如果图像是灰度图像,其feather map数量为1,则卷积核的深度也就是1;如果图像是grb图像,其feather map数量为3,则卷积核的深度也就是3。

训练数据

  • batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;
  • iteration:1个iteration等于使用batchsize个样本训练一次;
  • epoch:1个epoch等于使用训练集中的全部样本训练一次,通俗的讲epoch的值就是整个数据集被轮几次。

例如300个样本训练一次,epoch=1,batchsize = 10 ,iteration=30。

BN(Batch Normalization)层

BN层即batch-norm层,一般是深度学习中用于加速训练速度和一种方法,一般放置在卷积层(conv层)或者全连接层之后,将数据归一化并加速了训练拟合速度。

常用位置:conv→bn→relu

如果网络使用sigmod激活函数,误差在向前传递的时候,经过sigmod单元,需要乘sigmod的梯度,而sigmod的梯度最大是0.25,因此越向前传递,误差就越小了,这就是梯度消散,但是梯度爆炸是什么?注意误差在经过全连接或者卷积层时,也要乘以权重w,如果w都比较大,大过sigmod造成的减小,这样越往前误差就越来越大,产生梯度爆炸。

BN层的计算图如下面所示,x是输入数据,到xhat均值方差归一化,后面xhat到y其实就是普通的一个线性变换,类似全连接但是没有交叉。如果没有BN层,x直接输入后面的网络,训练过程中x分布的变换必然导致后面的网络去调整学习以来适应x的均值和方差,映入了BN层,xhat是一个归一化的数据,代价就是网络中多了一个线性层y,但是前者带来的性能更加大,因此加速了。

AUC(Area Under Curve)

一个正例,一个负例,预测为正的概率值比预测为负的概率值还要大的可能性。所以根据定义:我们最直观的有两种计算AUC的方法:

1:绘制ROC曲线,ROC曲线下面的面积就是AUC的值

2:假设总共有(m+n)个样本,其中正样本m个,负样本n个,总共有mn个样本对,计数,正样本预测为正样本的概率值大于负样本预测为正样本的概率值记为1,累加计数,然后除以(mn)就是AUC的值。

AUC作为数值可以直观的评价分类器的好坏,值越大越好。

均值平均精度MAP(Mean Average Precision)

我们使用loU和阈值判断是否为目标。计算模型得到的每个检测框的loU值,用计算出的loU值与设定的loU阈值比较,就可以计算出每个图像中每个类的正确检测次数(A)。对于每个图像,我们都有ground truth的数据,因此也知道了该图像中给定类别的实际目标(B)的数量。我们也计算了正确预测的数量(A)(True possitive)。因此我们可以使用这个公式来计算该类模型的精度(A/B)

Precesion_{C}=\\frac{N(TruePositives){C}}{N(TotalObjects){C}}

即给定一张图像的类别C的Precision=图像正确预测的数量除以在图像张这一类的总的目标数量。 假如现在有一个给定的类,验证集中有100个图像,并且我们知道每个图像都有其中的所有类(基于ground truth)。所以我们可以得到100个精度值,计算这100个精度值的平均值,得到的就是该类的平均精度。

AveragePrecesion_{C}=\\frac{\\sum Precesion_{C}}{N(TotalImages)_{C}}

即一个C类的平均精度=在验证集上所有的图像对于类C的精度值的和/有类C这个目标的所有图像的数量。 现在加入我们整个集合中有20个类,对于每个类别,我们都先计算loU,接下来计算精度,然后计算平均精度。所有我们现在有20个不同的平均精度值。使用这些平均精度值,我们可以轻松的判断任何给定类别的模型的性能。

但是问题是使用20个不同的平均精度使我们难以度量整个模型,所以我们可以选用一个单一的数字来表示一个模型的表现(一个度量来统一它们),我们可以取所有类的平均精度值的平均值,即MAP(均值平均精度)。

MeanAveragePrecesion=\\frac{\\sum AveragePrecesion_{C}}{N(Classes)}

MAP=所有类别的平均精度求和除以所有类别。即数据集中所有类的平均精度的平均值。

EAO 期望平均覆盖率

EAO提出的目的也是希望一个好的跟踪器同时拥有好的精度A和鲁棒性R,如果直接用A和R的两个数加权和则有失公允,所以需要重新定义。

假设有N_s帧长的一个视频,那么一个跟 踪器在这段视频上的覆盖率精度(Overlay accuracy)op为每一帧op的均值,op就是bonding box与ground truth的交并比用Φ表示,即:

Φ_{N_{s}}=\\frac{1}{N_{s}}\\sum {\\atop i=1:N_{s}}Φ_{i}

那么一个理想的EAO就是把N_s从1到一个期望的极大值对应的N_s求个平均,就是期望平均覆盖率,恰如其名,等价于下图的曲线下面积:

shortcut connection

ResNet结构使用了一种连接方式,即“绕近路”的意思。

Bottleneck(瓶颈层)

其意思就是输入输出维度差距较大,就像一个瓶颈一样,上窄下宽亦或上宽下窄。1x1 filters 可以起到一个改变输出维数(channels)的作用。可以看到,右图中 1x1 filters把维度(channels)升高了,输入输出维度差距较大。

感受野:

在卷积神经网络CNN中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野receptive field。用数学的语言就是感受野是CNN中的某一层输出结果的一个元素对应输入层的一个映射。

学习更多编程知识,请关注我的公众号:

代码的路

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像处理
    +关注

    关注

    27

    文章

    1290

    浏览量

    56741
  • 算法
    +关注

    关注

    23

    文章

    4612

    浏览量

    92875
  • 目标跟踪
    +关注

    关注

    2

    文章

    88

    浏览量

    14883
  • 代码
    +关注

    关注

    30

    文章

    4787

    浏览量

    68589
  • cnn
    cnn
    +关注

    关注

    3

    文章

    352

    浏览量

    22213
  • 卷积神经网络

    关注

    4

    文章

    367

    浏览量

    11863
收藏 人收藏

    评论

    相关推荐

    视频跟踪目标取差器)-基于DM8168实现的自动视频跟踪

    、外形比例、速度、运动方向等自动获取目标。视频跟踪:内置质心、边缘、多目标相关、相位相关、场景锁定等多种
    发表于 09-05 11:14

    视频跟踪目标跟踪算法简介(上海凯视力成信息科技有限...

    本帖最后由 shkslc 于 2013-10-10 10:25 编辑 跟踪算法简介AVT21提供了多种跟踪算法:质心跟踪算法(Centroid)、多目标
    发表于 09-29 08:59

    基于OPENCV的运动目标跟踪实现

    CAMSHIFT算法是一种基于颜色直方图的目标跟踪算法。在视频跟踪过程中,CAMSHIFT算法利用选定目标的颜色直方图模型得到每帧图像的颜色投影图,并根据上一帧
    发表于 12-23 14:21

    基于QT+OpenCv的目标跟踪算法实现

    视频目标跟踪,本文将首先向大家介绍常用的粒子滤波视频目标跟踪算法,对其原理进行简单的分析,为后续进一步选择和应用算法实现目标
    发表于 09-21 10:42

    基于kalman预测和自适应模板的目标相关跟踪研究

    文中提出了一种基于kalman预测和自适应模板的目标相关跟踪算法。通过kalman预测下一帧图像中目标的状态,缩小整个图像上目标检测的搜索范
    发表于 12-28 10:53 21次下载
    基于kalman预测和自适应模板的<b class='flag-5'>目标</b><b class='flag-5'>相关</b><b class='flag-5'>跟踪</b>研究

    基于核相关滤波器的目标旋转跟踪算法_李龙

    基于核相关滤波器的目标旋转跟踪算法_李龙
    发表于 03-19 19:25 0次下载

    基于KCFSE结合尺度预测的目标跟踪方法

    目标跟踪是计算机视觉领域的一个基本问题,其主要应用于视频监控,人机交与机器人视觉感知等场景。目标跟踪可分为短时间目标
    发表于 10-28 11:05 1次下载
    基于KCFSE结合尺度预测的<b class='flag-5'>目标</b><b class='flag-5'>跟踪</b>方法

    基于融合的快速目标跟踪算法

    提出了一种基于融合的快速目标跟踪算法。该方法将目标预测模型、目标模板匹配以及目标空间信息融合到统一框架内。该方法通过预测模型,预测下一帧中
    发表于 12-05 09:11 0次下载
    基于融合的快速<b class='flag-5'>目标</b><b class='flag-5'>跟踪</b>算法

    基于无线传感器网络移动目标探测跟踪

    探测为主和以定位为主的两类方法,着重介绍以探测为主的移动式目标跟踪方法的研究现状.通过对比现有方法在跟踪质量和网络能耗等方面的优缺点,揭示了现有研究存在的问题,总结了移动式
    发表于 12-22 16:11 0次下载
    基于无线传感器网络移动<b class='flag-5'>目标</b>探测<b class='flag-5'>跟踪</b>

    视觉目标跟踪相关算法、优缺点及发展趋势

    视觉目标跟踪指在一个视频序列中,给定第一帧目标区域,在后续帧中自动匹配到该目标区堿的任务。通常来说,由于场景遮挡、光照变化、物体本身形变等复杂因素,
    发表于 04-08 09:44 14次下载
    视觉<b class='flag-5'>目标</b><b class='flag-5'>跟踪</b><b class='flag-5'>相关</b>算法、优缺点及发展趋势

    分享目标跟踪入门篇之相关滤波

    前 言 目标跟踪是计算机视觉领域的一个重要问题,目前广泛应用在体育赛事转播、安防监控和无人机、无人车、机器人等领域。简单来说,目标跟踪就是在连续的视频序列中,建立所要
    的头像 发表于 06-09 17:40 2941次阅读
    分享<b class='flag-5'>目标</b><b class='flag-5'>跟踪</b>入门篇之<b class='flag-5'>相关</b>滤波

    视频目标跟踪分析

    视频目标跟踪要求在已知第一帧感兴趣物体的位置和尺度信息的情况下,对该目标在后续视频帧中进行持续的定位和尺度估计W。广义的目标跟踪通常包含单
    的头像 发表于 07-05 11:24 1529次阅读

    最常见的目标跟踪算法

    对象跟踪问题一直是计算机视觉的热点任务之一,简单的可以分为单目标跟踪与多目标跟踪,最常见的目标
    的头像 发表于 09-14 16:20 2748次阅读

    QAM调制的相关知识

    本文旨在总结最近复习的QAM调制的相关知识
    的头像 发表于 05-23 11:47 3097次阅读
    QAM调制的<b class='flag-5'>相关</b><b class='flag-5'>知识</b>

    目标跟踪算法总结归纳

    目标跟踪是计算机视觉领域中的一个重要任务,它旨在从视频或图像序列中准确地检测和跟踪多个移动目标。不过在落地部署时,有一些关键点需要解决。
    的头像 发表于 04-28 09:42 1873次阅读
    多<b class='flag-5'>目标</b><b class='flag-5'>跟踪</b>算法<b class='flag-5'>总结</b>归纳