深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)

传统目标检测算法

  • Viola-Jones(VJ算法)
  • HOG-SVM
  • DPM

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第1张图片

 

 

Viola-Jones算法

主要用于人脸检测

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第2张图片

 

Harr特征

value=白-黑

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第3张图片

 

Adaboost算法

是集成学习的一种方法

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第4张图片

在深度学习算法火热之前,Adaboost算法属于工业界/学术届 经常会使用到的一种方法

 

HOG+SVM算法

主要用于行人检测

Opencv实现

 

HOG+SVM同样采用传统的目标检测算法这样一个基本流程来进行目标检测,区别就在于采用了HOG特征和SVM分类器这两种方法代替VJ算法中的Harr特征和Adaboost分类器

对于候选框的提取同样采用滑动窗口来进行

而最终候选框的过滤同样采用NMS算法来进行候选框的过滤

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第5张图片

 

HOG特征

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第6张图片

 

SVM

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第7张图片

 

DPM算法

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第8张图片

DPM算法是HOG的拓展,利用SVM训练得到物体的梯度。DPM计算速度比HOG+SVM快

DPM算法是传统目标检测算法的巅峰之作

 

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第9张图片

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第10张图片

 

NMS算法

NMS算法,非极大值抑制算法

 

目的:为了消除多余的框,找到最佳的物体检测的位置

思想:选取那些邻域里分数最高的窗口,同时抑制那些分数低的窗口

 

候选框是通过滑动窗口来生成的

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第11张图片

 

soft-NMS算法

NMS算法的改进

深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法)_第12张图片

 

 

你可能感兴趣的:(深度学习之目标检测(二)—— 常见的传统目标检测算法(Viola-Jones算法 & HOG-SVM算法 & DPM算法 & NMS算法))