基于haar特征的adaboost算法_目标检测算法介绍
什么是目标检测
目标检测是指从图像中找出目标,包括检测和识别两个过程,现实中由于环境的复杂性以及各类物体的形状、外观以及光照,遮挡等因素的干扰,所以目标检测一直也是计算机视觉最常见的挑战之一。
目标检测的应用
目标检测与识别应用于多个领域,在实际生活中应用也越来越广泛,例如目标跟踪,视频监控,信息安全,自动驾驶,图像检索,医学图像分析,网络数据挖掘,无人机导航,遥感图像分析,国防系统等。
传统目标检测方法
传统的目标检测与识别方法主要可以表示为:区域选择->特征提取->分类器。即首先在给定的图像上选择一些候选的区域,然后对这些区域提取特征,最后使用训练的分类器进行分类。下面我们对这三个阶段分别进行介绍,如下图所示:
区域选择
这一步是为了对目标的位置进行定位。由于目标可能出现在图像的任何位置,而且目标的大小、长宽比例也不确定,所以最初采用滑动窗口的策略对整幅图像进行遍历,而且需要设置不同的尺度,不同的长宽比。这种穷举的策略虽然包含了目标所有可能出现的位置,但是缺点也是显而易见的:时间复杂度太高,产生冗余窗口太多,这也严重影响后续特征提取和分类的速度和性能。(实际上由于受到时间复杂度的问题,滑动窗口的长宽比一般都是固定的设置几个,所以对于长宽比浮动较大的多类别目标检测,即便是滑动窗口遍历也不能得到很好的区域)
特征提取
由于目标的形态多样性,光照变化多样性,背景多样性等因素使得设计一个鲁棒的特征并不是那么容易。然而提取特征的好坏直接影响到分类的准确性。(这个阶段常用的特征有SIFT、HOG等)
分类器
主要有SVM,Adaboost等。
NMS(非极大值抑制)
非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜索。目的就是为了消除多余的框,找到最佳的目标检测位置。我们以人脸检测为示例来看看NMS的应用。
我们可以看到,由于滑动窗口,同一个人可能有好几个框(每一个框都带有一个分类器得分),但是我们肯定是想得到一个最优的框。
于是我们就要用到非极大值抑制,来抑制那些冗余的框: 抑制的过程是一个迭代-遍历-消除的过程。
将所有框的得分排序,选中最高分及其对应的框:
遍历其余的框,如果和当前最高分框的重叠面积(IOU)大于一定阈值,我们就将框删除。
从未处理的框中继续选一个得分最高的,重复上述过程。
下面是Python代码中NMS实现
import cv2picked_boxes, picked_score = nms(bounding_boxes, confidence_score, threshold)cv2.imshow(
viola-jones(人脸检测)
viola-jones算法分为以下几个部分
Haar特征抽取
训练人脸分类器利用Adaboost算法进行训练
滑动窗口
haar特征
Haar特征是一种反映图像的灰度变化的,像素分模块求差值的一种特征。它分为三类:边缘特征、线性特征、中心特征和对角线特征。用黑白两种矩形框组合成特征模板,在特征模板内用 黑色矩形像素和 减去 白色矩形像素和来表示这个模版的特征值。例如:脸部的一些特征能由矩形模块差值特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。但矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述在特定方向(水平、垂直、对角)上有明显像素模块梯度变化的图像结构。
HOG+SVM(行人检测)
HOG+SVM算法分为以下几个部分
提取HOG特征
训练SVM分类器
利用滑动窗口提取目标区域,进行分类判断
NMS
输出结果
HOG特征:
灰度化 + Gamma变换
计算梯度map
图像划分成小的cell,统计每个cell直方图
多个cell组成一个block,特征归一化
多个block串联,并归一化
SVM
支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
DMP(物体检测)
DPM是一个非常成功的目标检测算法,DPM可以看做是HOG(Histograms of Oriented Gradients)的扩展,大体思路与HOG一致。先计算梯度方向直方图,然后用SVM(Surpport Vector Machine )训练得到物体的梯度模型。
dmp算法分为以下几个部分:
计算DMP特征图
计算响应图
Latent SVM分类器训练
检测识别
深度学习目标检测方法
基于深度学习的目标检测与识别成为主流方法,主要可以表示为:图像的深度特征提取->基于深度神经网络的目标识别与定位,其中主要用到深度神经网络模型是卷积神经网络CNN。
Two-stage
先进行区域建议框(Region Proposal, RP)的生成,再通过卷积神经网络进行分类。
步骤:特征提取 → 生成RP → 分类/回归。
常见的two stage目标检测算法:R-CNN、Spp-Net、Fast R-CNN、Faster R-CNN和R-FCN等。
One-stage
直接提取特征来预测物体类别和位置。
步骤:特征提取 → 分类/回归。
常见的one stage目标检测算法有:OverFeat、YOLO系列、SSD和RetinaNet。
本片文章简单的介绍了一下目标检测中常用的算法,后面会针对常用算法进行详细的介绍。
基于haar特征的adaboost算法_目标检测算法介绍相关推荐
- keras优化算法_目标检测算法 - CenterNet - 代码分析
代码出处 吃水不忘打井人,分析github上的基于keras的实现: xuannianz/keras-CenterNetgithub.com 代码主体结构 模型训练的主函数流程如下所示,该流程也是使 ...
- 照片美妆---基于Haar特征的Adaboost级联人脸检测分类器
本文转载自张雨石http://blog.csdn.net/stdcoutzyx/article/details/34842233 基于Haar特征的Adaboost级联人脸检测分类器 基于Haar特征 ...
- OpenCV中基于Haar特征和级联分类器的人脸检测
使用机器学习的方法进行人脸检测的第一步需要训练人脸分类器,这是一个耗时耗力的过程,需要收集大量的正负样本,并且样本质量的好坏对结果影响巨大,如果样本没有处理好,再优秀的机器学习分类算法都是零. 今年3 ...
- OpenCV中基于Haar特征和级联分类器的人脸检测(三)
使用机器学习的方法进行人脸检测的第一步需要训练人脸分类器,这是一个耗时耗力的过程,需要收集大量的正负样本,并且样本质量的好坏对结果影响巨大,如果样本没有处理好,再优秀的机器学习分类算法都是零. 今年3 ...
- 目标检测论文解读复现之十五:基于YOLOv5的光学遥感图像舰船 目标检测算法
前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮 ...
- 基于Grad-CAM与KL损失的SSD目标检测算法
基于Grad-CAM与KL损失的SSD目标检测算法 人工智能技术与咨询 来源:<电子学报>,作者侯庆山等 摘 要: 鉴于Single Shot Multibox Detector (SSD ...
- 目标检测YOLO实战应用案例100讲-基于深度学习的无人机航拍图像目标检测算法研究与应用
目录 基于深度学习的无人机航拍图像目标检测算法研究与应用 基于深度学习的目标检测相关知识理论
- 路面裂痕检测YOLO算法、目标检测算法实现地面裂缝检测
道路裂纹检测YOLO算法,目标检测,目标识别,裂纹检测 路面裂痕检测YOLO算法.目标检测算法实现地面裂缝检测 车头定位 交通标志识别 车道线识别 自己标注数据,训练模型,效果很好4360063193 ...
- 找不到匹配的key exchange算法_目标检测--匹配策略
CVPR2020中的文章ATSS揭露到anchor-based和anchor-free的目标检测算法之间的效果差异原因是由于正负样本的选择造成的.而在目标检测算法中正负样本的选择是由gt与anchor ...
最新文章
- python词频作图_基于Python的词频分析与云图生成
- mysql主从复制错误:Last_SQL_Error: Error #39;Duplicate entry #39;327#39; for key #39;PRIMARY#39;#39; ...
- socket通信时如何判断当前连接是否断开--select函数,心跳线程,QsocketNotifier监控socket...
- 【四种解法】剑指 Offer 39. 数组中出现次数超过一半的数字
- iOS内存管理(ARC,MRC)
- pythonjam进不去怎么办_教程看了一遍又一遍,自学Python还是连门都进不去?
- 我喜欢这样的老大[10-24]
- div 文字 input 垂直居中
- Java BigDecimal类
- 太极助手发公开信解释越狱捆绑原因
- 三极管基极限流电阻计算
- 微信三个平台区分(开放,公众,商户平台)(转)
- 与老师连这得计算机如何上网,观潮的老师教案
- 第二工业大学计算机应用大专录取分,上海第二工业大学2017年分省分专业录取分数线...
- 《管理者财务知识一本通》读书笔记一
- python3 file_Python3-file
- 【怎样制作ppt】Focusky教程 | 调节音乐的音量(插入的音乐、背景音乐、录音的音量)
- HTML5期末大作业:中国传统节日网页设计——端午节(9个页面) HTML+CSS+JavaScript 节日网页HTML代码 学生网页课程设计期末作业下载...
- 微信小程序的开发制作_搭建_工具_模板_一键生成
- Node.js运行app.js时候报错933