前言 写完 CV领域经典backbone模型小抄(1) 之后,我们知道,backbone加上分类头就可以做分类任务了,那么如果backbone加上一些目标检测和实例分割头,其实也可以做实例分割任务。
该文用来记录一些常见的目标检测方法。
CV领域经典backbone模型小抄(1)
CV目标检测模型小抄(1)
CV实例分割模型小抄(1)
本文不断更新ing…
CNN
Faster RCNN合集 Two stage的算法,需要先生成anchor/proposal, 然后预测出目标。
RCNN
Ross Girshick的作品
论文: Rich feature hierarchies for accurate object detection and semantic segmentation
有篇知乎文章也讲得不错 RCNN- 将CNN引入目标检测的开山之作
截图来自: Faster RCNN理论合集_RCNN_霹雳吧啦Wz 2:40时刻
文章图片
RCNN 利用 Selective Search 算法得到两千个候选区域, 然后将它们缩放到227227,然后讲候选区域输入到AlexNet中获得4096维特征。(2000各区域就有20004096个特征),然后交给svm分类器,有多少个类别就有多少个分类器。
由于候选区域很多,因此需要采用 非极大值抑制 的方法,具体就是,寻找得分最大的目标,计算与其他区域的(A∩B / A∪B)IOU值,若大于阈值则删除。 最后一步是使用回归器去修正候选框的位置,有多少个类别就有多少个回归器,回归器利用的也是上述提到的4096维度的输出特征。
截图来自: Faster RCNN理论合集_RCNN_霹雳吧啦Wz 13:37时刻
文章图片
不过该网络输出很慢,一张图片需要1分钟左右,训练过程繁琐,需要较大内存。
Fast RCNN
同样是Ross Girshick的作品
论文: Fast R-CNN, ICCV 2015
有篇知乎帖子也不错 目标检测之Fast RCNN
文章图片
使用VGG16作为backbone
通过Selective Search的2000个区域,然后再采样正样本和负样本。
Faster RCNN
依然是Ross Girshick的作品
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, 有一个讲Faster RCNN的帖子 【论文解读】精读Faster RCNN
代码: torchvision/models/detection/faster_rcnn.py,
也有一个知乎帖子讲Faster RCNN的代码 捋一捋pytorch官方FasterRCNN代码
另外还有一个大佬的代码 deep-learning-for-image-processing/pytorch_object_detection/faster_rcnn/, 他还录制了6个小时的讲解视频…Faster RCNN源码解析(pytorch)
从标题我们也可以看出,作者用 Region Proposal Networks 替代了 Selective Search算法(因为它处理一张图需要2s左右)
文章图片
原始论文也是使用VGG16作为backbone
截图: Faster RCNN理论合集_FasterRCNN_霹雳吧啦Wz 15:32时刻
文章图片
anchor是靠人工先验定义的,通过RPN输出候选区域,然后再去采样。
原文是RPN+Fast RCNN分步骤训练的,不过现在大多是联合训练(例如pytorch官方)。
另外,如果Faster RCNN后半段换成FPN, 在pascal和coco的AP可以提两三个点。关于 FPN可查看: FPN结构详解_霹雳吧啦Wz, 十几分钟的讲解视频, 原论文Feature Pyramid Networks for Object Detection, CVPR 2017
文章图片
预测头预测个数:
- 类别:k × ( c + 1 ) k \times (c+1) k×(c+1)
- 位置:k × 4 × ( c + 1 ) k \times 4 \times (c+1) k×4×(c+1)
SSD
文章图片
ECCV 2016, one stage.
论文: SSD: Single Shot MultiBox Detector
讲解视频: SSD算法理论_霹雳吧啦Wz
代码: deep-learning-for-image-processing/pytorch_object_detection/ssd/, 配对的代码讲解视频 SSD源码解析(Pytorch)_霹雳吧啦Wz
预测头预测个数:
- 类别:k × ( c + 1 ) k \times (c+1) k×(c+1)
- 位置:k × 4 k \times 4 k×4
RetinaNet
文章图片
one-stage首次超过two-stage, 大神何恺明的作品(Tsung-Yi Lin,Priya Goyal Ross,Girshick,Kaiming He ,Piotr Dollar)
- 论文: Focal Loss for Dense Object Detection
- 代码: facebookresearch/Detectron, 包括Mask RCNN在内的很多模型的优秀仓库, 另一个大佬的代码 deep-learning-for-image-processing/pytorch_object_detection/retinaNet/
- 模型讲解: RetinaNet网络结构详解
截图来自: RetinaNet网络结构详解 2:15时刻
文章图片
预测头预测个数:
- 类别:c × A c \times A c×A
- 位置:4 × A 4 \times A 4×A
与FastRCNN和SSD不同的是,RetinaNet使用所有的正负样本而不进行正负样本采样。
Yolo YoloV1
2016 CVPR
- 论文: You Only Look Once: Unified, Real-Time Object Detection
文章图片
Yolov2
【人工智能|CV目标检测模型小抄(1)】
Transformer
推荐阅读
- 努力学习人工智能|基于图像识别的跌倒检测
- 神经网络|YOLO7 姿势识别实例
- 可视化|我,27岁,数据分析师,今年无情被辞(想给数据人提个醒!!)
- 人工智能机器学习之用Python使用ID3算法实例及使用sklearn的决策树算法对葡萄酒数据集进行分类
- 人工智能|python 和 scikit-learn 实现垃圾邮件过滤
- 产品动态|领先企业推进智慧财务的同款效率工具,赶快了解一下()
- fpga开发|基于FPGA的实时图像边缘检测系统设计(上)
- fpga开发|基于FPGA的实时图像边缘检测系统设计
- 毕设题目|机器学习_深度学习毕设题目汇总——人脸A