注:本博客作为学习内容汇总,如有问题,请联系作者修改!
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。
计算机视觉中关于图像识别有四大类任务:
分类-Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。
定位-Location:解决“在哪里?”的问题,即定位出这个目标的的位置。
检测-Detection:解决“是什么?在哪里?”的问题,即定位出这个目标的的位置并且知道目标物是什么。
分割-Segmentation:分为实例的分割(Instance-level)和场景分割(Scene-level),解决“每一个像素属于哪个目标物或场景”的问题。
除了图像分类之外,目标检测要解决的核心问题是:
1.目标可能出现在图像的任何位置。
2.目标有各种不同的大小。
3.目标可能有各种不同的形状。
基于深度学习的目标检测算法主要分为两类:
1.Two stage目标检测算法(分类+回归)
先进行区域生成(region proposal,RP)(一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。
任务:特征提取—>生成RP—>分类/定位回归。
常见的two stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。
2.One stage目标检测算法(回归)
不用RP,直接在网络中提取特征来预测物体分类和位置。
任务:特征提取—>分类/定位回归。
常见的one stage目标检测算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD、RetinaNet、YOLOv4、YOLOv5和YOLOX等。
两步法,简单地说:
第一步通过先获取候选区域(region proposals)
第二步:对候选区域进行结果分类和调整候选框位置。
优点:主要是检测的精度较一步法高。
缺点:实时性较一步法差。
详细讲解:
学习链接https://blog.csdn.net/frighting_ing/article/details/121218787?spm=1001.2014.3001.5501
将检测问题当成完全的回归处理,直接从网络中提取特征来预测物体的分类和位置。
优点:可以满足实时性要求,实用性较高
缺点:精度相比两步法较差,但效果也相对不错
重点学习:Yolo系列,SSD系列
Yolov系列学习链接:
学习链接1
学习链接2
SSD系列
学习链接1
学习链接2
我学习的过程中会不断更新该系列,将一些优质的博客整理到此,帮助大家更好的学习,也督促自己学习!