传统的机器学习目标检测和深度学习的目标检测

概述:

目标分类:给一张图片,分类

目标检测:给一张图片,找到目标,并用矩形框画出

分类是对一幅图整体,检测是更进一步,找出一幅图中一部分。一般检测以分类为基础,

如用滑动窗口搜索,然后用分类器分类是目标还是背景,或多分类(这是回归和分类的区别)。

开发流程:

项目预研  算法选型 数据集下载和打包 环境搭建 模型训练 模型测试 模型优化

传统的机器学习目标检测和深度学习的目标检测区别:传统的机器学习目标检测更注重特征的提取,特征一般可解释性较强,深度学习是多层卷积网络,自学习特征(卷积特征)不需要自己设计特征,特征只有计算机理解。

一。传统目标检测(不是最传统的,是机器学习的):

流程:

候选框:一般用滑动窗口的方法提取

特征提取(模式识别):

低层次的,手工设计的特征,纹理、颜色、形状等(sift surf haar LBP HOG)

中层次的,机器学习出的特征,如pca特征,lda

分类器:提前训练好的分类器(基于上述特征的),这里是二分类,即目标和背景,也有多分类问题

NMS算法:非极大值抑制,把多余的框去掉。改进soft-NMS

传统目标检测方法:

Viola-Jones(VJ)

    haar特征   Adaboost算法(分类器)

HOG + SVM(一般用于行人检测)

HOG特征  SVM(分类器)

DPM

计算DPM特征图,计算响应图,latent SVM分类器训练,检测识别

二 深度学习目标检测

深度学习目标检测总体上分为两种,two-stage和one-stage

Two-stage(faster RCNN)

使用CNN卷积特征,RPN算法推荐候选框

核心组件:CNN网络(主干网络),RPN网络(区域推荐,anchor机制)

策略上看,Two-stage和传统的机器学习目标检测一样,是需要候选框,然后再来判断的。只是现在使用多层的卷积神经网络来自学习特征,传统的是自己设计特征

One-stage (Yolo, SSD ,Retina-Net)

使用CNN卷积特征,不使用RPN,直接回归物体的类别概率和坐标值

核心组件:CNN网络(主干网络),回归网络

比较:

One-stage准确度低,但速度块,小物体检测效果不好,漏检高

Two-stage精度高,利用anchor机制,但速度慢,训练时间长,误报高

发布了59 篇原创文章 · 获赞 46 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/sinat_41852207/article/details/88199697