【目标检测】方法概述
0. 重要论文:
1. 什么是目标检测
1.1 目标检测的定义:
识别图片或者视频中有哪些物体以及物体的位置(坐标位置)
什么是物体(物体的定义):
图像(或者视频)中存在的对象,但是能检测哪些物体会受到人为设定限制。
目标检测中能检测出来的物体取决于当前任务(数据集)需要检测的物体有哪些。假设我们的目标检测模型定位是检测动物(例如,牛、羊、猪、狗、猫五种),那么模型对任何一张图片输出结果不会输出鸭子、鹅、人等其他类型结果。
什么是位置(位置的定义):
目标检测的位置信息一般有2种格式(以图片左上角为原点(0,0)):
极坐标表示:(xmin,ymin,xmax,ymax)
xmin,ymin:x,y坐标的最小值
xmax,ymax:x,y坐标的最大值中心点坐标:(x_center,y_center,w,h)
x_center,y_center:目标检测框的中心点坐标
w,h:目标检测框的宽,高
例:
假设一张图片是100*800,所有这些坐标都是构建在像素层面上:
中心点坐标结果为:
2. 目标检测技术的发展历史
目标检测算法分类:
角度一:
a. 传统目标检测方法(候选区域+手工特征提取+分类器)
HOG+SVM、DPM
b. region proposal+CNN提取分类的目标检测框架
R-CNN,SPP-NET,Fast R-CNN,Faster R-CNN
c. 端到端(End-to-End)的目标检测框架
YOLO系列,SSD
传统目标检测(缺点、弊端)
1)基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余
2)手工设计的特征对于多样性的变化没有很好的鲁棒性
角度二:
(1)两步走(two stage)的目标检测:先进行区域推荐,而后进行目标分类
主要算法:R-CNN,SPP-NET,Fast R-CNN,Faster R-CNN
(2)端到端(one stage)的目标检测:采用一个网络一步到位
主要算法:YOLO系列(YOLO v1,YOLO v2等),SSD
目标检测的任务
分类原理:
先来回顾下分类原理,这是一个常见的CNN组成图,输入一张图片,经过其中的卷积、激活、池化相关层,最后加入全连接层达到分类概率的效果。
分类的损失与优化:
在训练的时候需要计算每个样本的损失,那么CNN做分类的时候使用softmax函数计算结果,损失为交叉熵损失
常见的CNN模型:
对于目标检测来说不仅仅是分类这样简单的一个图片输出一个结果,而且还需要输出图片中目标(物体)的位置信息,所以从分类到检测,过程如下:
分类:
分类+定位(只有一个目标的时候)
目标检测的任务
分类:
1)N个类别
2)输入:图片
3)输出:类别标签
4)评估指标:Accuracy
定位:
1)N个类别
2)输入:图片
3)输出:物体的位置坐标
4)主要评估指标:IOU
其中我们得出来的(x,y,w,h)有一个专业的名词,叫做bounding box(bbox)
两种Bounding box名称:
在目标检测当中,对bbox主要由两种类别名称
(1)Ground-truth bounding box:图片中真实标记框
(2)Predicted bounding box:预测的标记框
一般在目标检测任务当中,我们预测的框有可能很多个,真实的框GT也有很多个
检测任务的评价指标:
任务 | 描述 | 输入 | 输出 | 评价指标 |
---|---|---|---|---|
Detection and Localization(检测和定位) | 在输入图片中找出存在的物体类别和位置(可能存在多种物体) | 图片(image) | 类别标签(categories) 位置(bbox(x,y,w,h)) | IoU(Intersection over Union)mAP(mean Average Precision) |
IoU(交并比):
两个区域的重叠程度overlap:候选区域和标定区域的IoU值
目标定位的简单实现:
在分类的时候我们直接输出各个类别的概率,如果再加上定位的话,我们可以考虑在网络的最后输出加上位置信息。
回归位置:
增加一个全连接层,即为FC1、FC2
1)FC1:作为类别的输出
2)FC2:作为整个物体位置数值的输出
假设有10个类别,输出[p1,p2,p3,…,p10],然后输出这一个对象的四个位置信息[x,y,w,h]。同理知道要网络输出什么,如何衡量整个网络的损失
对于分类的概率,还是使用交叉熵损失
位置信息具体的数值,可使用MSE均方误差损失(L2损失)
如下图所示
位置数值的处理:
对于输出的位置信息是四个比较大的像素大小值,在回归的时候不适合。目前统一的做法是,每个位置除以图片本身像素大小。
假设以中心坐标方式,那么x = x/x_image,y/y_image, w/x_image,h/y_image,也就是这几个点最后都变成了0~1之间的值(归一化)。
参考:
https://www.cnblogs.com/kongweisi/p/10894415.html
【目标检测】方法概述相关推荐
- 教程 | 单级式目标检测方法概述:YOLO与SSD
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目标检测是计算机视觉领域的基本研究问题之一,当前最常用的技术是卷积 ...
- 值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(下)
作者 | 黄浴 来源 | 转载自知乎专栏自动驾驶的挑战和发展 [导读]在近日发布的<值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)>一文中,作者介绍了一部分各大公司和机构基于 ...
- 值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)
作者 | 黄浴 转载自知乎专栏自动驾驶的挑战和发展 [导读]上周,我们在激光雷达,马斯克看不上,却又无可替代?>一文中对自动驾驶中广泛使用的激光雷达进行了简单的科普,今天,这篇文章将各大公司和机 ...
- 【目标检测_概述】recent advances in deep learning for object detection_2019
文章目录 Abstract 1.Introduction 2. Problem Setting 3.Detection Components 3.1 Detection Settings 3.2 De ...
- 基于深度学习的显著性目标检测方法综述
源自:电子学报 作者:罗会兰 袁璞 童康 摘 要 显著性目标检测旨在对图像中最显著的对象进行检测和分割,是计算机视觉任务中重要的预处理步骤之一,且在信息检索.公共安全等领域均有广泛的应 ...
- 基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测,目标追踪,卷积神经网络
一.研究意义 卷积神经网络(CNN)由于其强大的特征提取能力,近年来被广泛用于计算机视觉领域.1998年Yann LeCun等提出的LeNet-5网络结构,该结构使得卷积神经网络可以端到端的训练,并应 ...
- 一个雷达和摄像头融合的3D目标检测方法CenterFusion
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉工坊 以前提到过此文(在想法中),WACV'2 ...
- 目标立体检测 红外图像_一种有效的红外小目标检测方法
[3]CHEN Bing-wen, WANG Wen-wei, QIN Qian-qing. Infrared dim target detection based on fuzzy-ART neur ...
- 一文览尽LiDAR点云目标检测方法
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 转载于 :计算机视觉之路,作者:山涧一壶酒 / 导读 / 自动驾驶中的激光雷达点云如何做特征表达,将基 ...
- 一文览尽基于激光雷达点云(lidar)的目标检测方法
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文来源:计算机视觉之路,作者:山涧一壶酒,编辑:智车科技 / 导读 / 上周文章:自动驾驶中的激光雷 ...
最新文章
- Python 中最强大的错误重试库
- 这个对标苹果的微软实体店,开了十一年之后,现在要永久关闭了
- golang go build 报错 import cycle not allowed
- Docker学习(三):镜像
- java获取2017年第39周_对输入计算机的数据进行审核,可采用()进行审核。A.抽查B.屏幕审核C.凭证清单和屏幕审核D.凭证清单...
- 织梦dede企业律师事务所网模板源码
- 微型计算机二进制,微型计算机原理二进制十进制十六进制.docx
- 易语言html代码解释器,易语言执行javascript
- 短信验证-SMSSDk(Mob开发平台 )
- sql服务器的响应时间,如何解决:[Sql Server]超时时间已到。在操作完成之前超时时间已过或服务器未响应。...
- Nvivo的使用学习
- 保险污名化?区块链赋予保险的「四个机会」
- WPS如何隔列填充背景颜色
- 计算机软件的四种人才
- 企业网站优化用户体验以内容为主
- (七) 立创EDA之PCB设计示例
- 局部(x,y)坐标 转 WGS84经纬度坐标
- 一周速递|全球车联网产业动态(2022年10月16日)
- 相随与欢-彩色泡泡机的设计与实现
- BZOJ1798 【AHOI2009】 seq维护序列 线段树