基于深度学习的目标检测入门:Faster R-CNN,YOLO,SSD

在学习深度学习的过程中,经常弹出不同的算法名称,同样是做目标检测的,每篇论文给出了不同的方式,这些算法之间到底有什么区别?目标检测算法有哪些?

image.png

图片分类

给一张图片,预测这张图片中的对象是什么,就是图片分类。当我们创建了一个狗的分类器,拿一张狗的照片,然后预测照片的分类:

image.png

如果当狗和猫都出现在照片中呢?

image.png

我们的模型会预测出什么结果?

我们可以训练一个多标签的分类器,可以同时预测猫和狗的分类。但是我们仍然不知道猫和狗的位置在哪里。

image.png

预测对象的位置,同时预测对象的种类就叫做目标检测。需要几个关键信息:

  • 对象种类
  • 包含对象边界的左上角x坐标
  • 包含对象边界的左上角y坐标
  • 对象的宽度
  • 对象的高度

目标检测被定义为一种分类问题,我们可以从任意位置,在输入图片中选取固定大小的窗口,然后把这些图片区域交给分类器进行处理。

img

每一个窗口中都可以预测到对象的种类,但是我们如何决定对象的大小是多少呢?包含对象的窗口大小为多少才是合适的?

image.png

我们可以看到对象的大小在图片中是有区别的,如何解决图片大小不一致的问题呢?通过缩放图片形成一种图片金字塔的方式。

通过多种不同的倍数,缩放图片,然后统计完全包含对象大小的窗口。

Idea is that we resize the image at multiple scales and we count on the fact that our chosen window size will completely contain the object in one of these resized images

image.png

目标检测

  • HOG (Histogram of oriented gradient) 方向梯度直方图是在计算机视觉和图像处理中被广泛使用的一种算法,在2005年被提出。

Region-based Convolutional Neural Networks(R-CNN) ==> Spatial Pyramid Pooling(SPP-net) ==> Fast R-CNN ==> Faster R-CNN

image.png
  • YOLO(You only Look Once):参考https://zhuanlan.zhihu.com/p/32525231
  • Single Shot Detector(SSD):参考https://blog.csdn.net/zj15939317693/article/details/80596870

最后

当前对深度学习相关理论理解的还不够透彻,后面针对使用到的算法再深入学习每种算法的细节内容

参考

  • 目标检测的图像特征提取之(一)HOG特征

  • 目标检测|YOLO原理与实现

  • [Zero to Hero: Guide to Object Detection using Deep Learning: Faster R-CNN,YOLO,SSD)(https://cv-tricks.com/object-detection/faster-r-cnn-yolo-ssd/)

你可能感兴趣的:(基于深度学习的目标检测入门:Faster R-CNN,YOLO,SSD)