MOT:多目标追踪
检测器这么重要,是不是目标识别/圈选更应该单独去优化呢
MOT主要是为了匹配么?
多目标跟踪的目标: https://zhuanlan.zhihu.com/p/97449724
概念:
多目标跟踪(MOT)是一种常见的计算机视觉任务,任务要求检测到连续视频帧中的目标,并为每一个目标分配一个track id,这个id在视频序列中具有唯一性。
多目标跟踪任务在带有时序性质的任务中扮演着重要的角色,因为它为检测的结果建立了时序上的关联,比如动作识别任务,比如车辆的movement判断等等,都需要以多目标跟踪为基础。
卡尔曼滤波
预测的假设为什么是高斯分布,SORT算法的目标是啥 https://zhuanlan.zhihu.com/p/39912633
卡尔曼滤波器作用:对于动态系统的分布进行拟合,估计下一步动态系统的状态
马氏距离为什么比欧式距离更好
马氏距离考虑了各个变量之间的相关性,可以理解成比欧式距离计算的更准确,没有独立同部分的假设;还有个好处是没有量纲(scale)的影响;假设:马氏距离(Mahalanobis Distance) - 知乎
匈牙利算法的概念
典型应用:两个集合,集合内的点之间有连线,目标是找到最多不共享端点的线
https://zhuanlan.zhihu.com/p/96229700
目标检测
参考:目标检测入门
2 stage 算法
R-CNN算法
主要目标:区分前背景,从背景中分离出有效目标,并且针对目标进行分类和位置确定(坐标)
- 划分region propersal,作为需要分类的对象
- 过CNN 提取出重要特征
- 分类
Fast R-CNN
相比于R-CNN算法区别主要在于利用CNN结构,并共享特征
如何共享呢:
- feature extraction:共享卷积计算得到卷积之后的特征
- region Proposal(这里涉及到search 算法)
- ROI pooling 映射到相同维度的特征
- 过fc 然后有分类和回归任务可以同时学习
faster R-CNN
主要是对于region proposal的算法做了优化,运用RPN去建模,可以复用RCNN的卷积,实现端到端的深度模型建模
- faster 共享卷积怎么理解?应该是共享卷积层
- RPN 网络的作用:运用神经网络,对于region proposal进行建模,label是ground truth 与滑动窗口中候选anchor box的 UOI 以及anchor box的四个坐标
– 运用multi loss的思路,能够提升准确度 - 目标检测任务的难点
– anchor box的选取
– 算法复杂度比较高,大数据量训练比较困难?小数据量泛化较差?
– ground truth 需要标记
ONE stage
没有中间区域的检出过程,从输入图片到得到结果只需要一步
YOLO
方案:一次图片处理,得到分类和位置
主要工作流程:
-
数据预处理:图片缩放(?)并做等分划分网格(?),每个网格跟ground truth 做IOU,分配label
-
算法流程(如何同时完成分类和位置确认):
- 对于每个网格(S*S个)进行预测,预测不同物品类别的概率值,并且对于B个box进行预测,并对于每个box输出4个位置的预测值,然后1个是否存在目标的预测概率值以及pred 和 ground truth的IOU值(位置的准确程度)
- 对于每个网格(S*S个)进行预测,预测不同物品类别的概率值,并且对于B个box进行预测,并对于每个box输出4个位置的预测值,然后1个是否存在目标的预测概率值以及pred 和 ground truth的IOU值(位置的准确程度)
-
预测部分:使用NMS(非最大抑制)得出最终的预测解
- 根据上面的公式,怎么用这个算法得到最优解
- 按照置信度排序(vs ground truth iou)
- 找出置信度最大的一个边框,并加入最终输出列表
- 去除此边框
- 将置信度最大的边框和其他边框做iou
- 将大于阈值的边框去掉
- 重复以上流程,直到所有边框输出
- 根据上面的公式,怎么用这个算法得到最优解
- loss 怎么算:
一些思考
- CNN可用于基于区域的定位和分割物体是为什么
- 基于ground truth 对于Proposal region 做标记(IOU 算法),是否在流程上不太合理
– serving(这个词可能不太合理)的时候怎么做呢 - ROI region of interset
- bounding box 回归算法
- fast R-CNN pooling 是怎么设计的?为甚么可以使得不同大小的region proposal pooling后的feature 维度相同
- 端到端的意思:从输入到深度模型预测输出,中间结果不需要关注,都由深度模型自动完成
- 如何等分划分网格?原文中是这样划分的么,可以通过缩放的方式让一个物体尽量在一个网格中?
- 为什么要这样划分和预测?
- 最终大的边界框是怎么生成的?