一种用于改善视频中目标检测尺寸问题的新技术,能同时保证精度和速度
paper: AdaScale: Towards Real-time Video Object Detection Using Adaptive Scaling
link: AdaScale paper
code: to be added
摘要
- 自动智能系统中视频目标检测面临问题: 如何权衡速度与精度;
- 提出新的方法AdaScale: 自适应选择输入图像的分辨率既能提速也能得到更好的准确率;
- 算法效果: 在ImageNet VID和mini YouTube-BoundingBoxes数据集上在分别加速1.6倍和1.8倍的情况下实现了1.3和2.7个百分点的mAP的提升
引言
- 视频目标检测目前存在的问题: 物体移动导致运动模糊、相机对焦失败、自动智能体的实时速度限制;
- 之前在视频目标识别研究中的一些工作:
- 提升精度: 时间一致性,利用连续帧内容相似的特征;
- 提升速度: 依靠时间一直性来降低独立目标检测器的时间开销;
- 图像的尺寸直接影响基于CNN的现代目标检测器的速度和精度,图像缩放有关的技术研究主要有两方向:
- 多尺度测试: image pyramid、feature pyramid,多尺度会增加额外的计算开销;
- 高速的下采样: 通过调整输入图像尺寸的pareto最优搜索,根据输入图像进行动态图像尺寸调整,速度的提升会导致精度的降低;
- 上图是用R-FCN在ImageNet VID数据集上用短边600训练的检测器,对图像进行下采样后检测结果更好的例子,下采样可以带来的提升:避免检测器太关注细节以致于引入更多的FP,将图像目标缩放到检测器检测适合的尺寸能提升TP的数量;
- 本文AdaScale由此启发技术方向为将图像调整至它们最佳的尺寸,同时兼顾速度和精度,由当前帧来预测下一帧的最佳尺寸;
相关工作
- 目标检测的图像缩放:
- single-shot: 这一种输入尺寸检测各种比例尺寸的目标,在没有完美的尺寸不变性的情况下不同的检测尺寸会有不同的检测精度;
- multi-shot: 将图像缩放至各种尺寸进行检测然后用NMS融合检测结果,虽然能缓解尺寸不变的问题但是时间开销太大了;
- 视频目标检测:
- 有提到一些概念(部分不是很清晰): optical flow、contextual&&temporal information、deep feature flow、integrate detection with tracking;
- 本文贡献:
- 研究重点是解决现有目标检测器在检测器不是尺寸不变的情况下输入图像使用单一尺寸的问题;
Adaptive Scaling
- AdaScale的方法流程: fine-tuning目标检测器 -> 使用检测器生成最优尺寸的标签 -> 使用生成的标签训练尺寸回归器 -> 在视频目标检测中部署AdaScale;
Optimal Scale
- 如何确定确定最佳的尺寸:
- 首先定义一组最短边的尺寸集合S={600,480,360,240}
- S={600,480,360,240},由于每张图像的GT数量有限用mAP来对单个图像进行检测结构的评估不合适,因此采用检测器训练时候的损失函数Loss值作为不同尺寸检测结果的评估结果;
- 检测损失函数一般由bbox regression loss和classification loss组成L(p,u,t,tˆ)=Lcls(p,u)+λ[u≥1]Lreg(t,tˆ)
- L(p,u,t,t^)=Lcls(p,u)+λ[u≥1]Lreg(t,t^),其中pp代表检测对象每个类的预测概率,uu代表真实类别标签(0代表背景),tˆt^代表预测框的bbox位置信息,tt代表GT bbox的位置信息,[u≥1][u≥1]代表只有目标不为背景时才计算回归损失,当[IOU≥0.5]
- [IOU≥0.5]时候预测bbox被分配为foreground;
- 提出新的度量方式如上图所示,得到图像4种不同尺寸m∈S
- m∈S的检测结果,每种尺寸的检测结果为nm,inm,i,然后计算nmin,i=minm(nm,i)nmin,i=minm(nm,i)代表不同尺寸检测结果中最小的foreground数量,然后提出度量方式为Lmiˆ=∑a∈Am,iLmi,aLim^=∑a∈Am,iLi,am其中∣Am,i∣=nmin,i∣Am,i∣=nmin,i,然后定义最佳尺寸mopt,i=argminmLmiˆ
- mopt,i=argminmLim^
Scale Regressor
- 目前已经了解对于给定图像哪个尺寸更好,能够对图像的最佳比例进行预测:
- 目标对象很大纹理简单,可对图像进行下采样从而让检测器不必去分散精力关注细节;如果目标很小或者图像有很多目标则需要让图像保持较大尺寸;
- 在R-FCN的深度特征建立一个独立的分支作为尺寸回归器来预测最佳的尺寸,将深度特征定义为X∈RC×H×W
- g:RC×H×W→R;
- 不直接回归最佳尺寸mopt
- mopt,图像的自身size重要性不及图像的内容本身,因此回归相对尺寸是的回归模块能够学会在面对当前图像内容时候能够做出反应(up-sample,down-sample,stay the same)
- 图像i
- i尺寸的回归目标被定义为t(mi,mopt,i)=2×mopt,i/mi−mmin/mmaxmmax/mmin−mmin/mmax−1t(mi,mopt,i)=2×mmax/mmin−mmin/mmaxmopt,i/mi−mmin/mmax−1,其中mimi代表图像的尺寸,mminmmin是定义的最小尺寸mmaxmmax为最大尺寸,mopt,i∀i∈Dtrainmopt,i∀i∈Dtrain其中Dtrain
- Dtrain为训练数据
- 使用均方差作为训练回归量的损失函数Lscalereg=1∣Dtrain∣∑i∈Dtrain(g(Xi)−t(mi,mopt,i))2
- Lscalereg=∣Dtrain∣1∑i∈Dtrain(g(Xi)−t(mi,mopt,i))2
- 为了将AdaScale加入到视频设置中,假设两个连续帧的最佳尺寸相似,文中的实验结果也这证实了这一假设,下图算法流程为利用AdaScale进行视频对象检测的示例:
- step1: 初始化targetScale
- step2: 检测 -> bboxes,scores,targetScale
- step3: scale回归的逆运算,计算出mopt,i
- mopt,i
- step4: 检测下一帧
##实验结果分析
- 见论文
总结
- 视频目标检测在实际应用中很重要通过AdaScale方法同时提高视频目标检测的速度和精度:
- 本文首次词用up-sample来提高检测的速度和精度;
- 将AdaScale和ImageNet VID数据集上SOTA的视频目标检测加速技术相结合,在提速25%的情况下精度也有提升;