🤵 Author :Horizon John
✨ 编程技巧篇:各种操作小结
🏆 神经网络篇:经典网络模型
经典网络模型 —— 盘点🔥21篇必读论文与网络模型 + 🔥5种常见数据集
✨ ~ 持续更新中 ~ ✨
⭕ 已更新 ⭕
❌ 未更新 ❌
⛳ 01 数据集篇
🚀 MNIST
数据集地址:THE MNIST DATABASE of handwritten digits
博客介绍 📖 :[ 数据集 ] MNIST数据集介绍
🚀 CIFAR-10
数据集 🔗 :The CIFAR-10 dataset
博客介绍 📖 :[ 数据集 ] CIFAR-10数据集介绍
🚀 VOC 2012
数据集 🔗 :Visual Object Classes Challenge 2012 (VOC2012)
博客介绍 📖 :[ 数据集 ] VOC 2012 数据集介绍
🚀 COCO
数据集 🔗 :COCO Dataset
博客介绍 📖 :[ 数据集 ] COCO 数据集介绍
🚀 ImageNet
数据集 🔗 :ImageNet Large Scale Visual Recognition Challenge (ILSVRC)
博客介绍 📖 :[ 数据集 ] ImageNet 数据集介绍
⛳ 02 图像分类篇
🚀 AlexNet
论文 🔗 :ImageNet Classification with Deep Convolutional Neural Networks
博客介绍 📖 :[ 图像分类 ] 经典网络模型1——AlexNet 详解与复现
🚀 GoogLeNet
论文 🔗 :Going deeper with convolutions
博客介绍 📖 :[ 图像分类 ] 经典网络模型2——GoogLeNet 详解与复现
🚀 VGG
论文 🔗 :Very Deep Convolutional Networks for Large Scale Image Recognition
博客介绍 📖 :[ 图像分类 ] 经典网络模型3——VGG 详解与复现
🚀 ResNet
论文 🔗 :Deep Residual Learning for Image Recognition
博客介绍 📖 :[ 图像分类 ] 经典网络模型4——ResNet 详解与复现
🚀 DenseNet
论文 🔗 :Densely Connected Convolutional Networks
博客介绍 📖 :[ 图像分类 ] 经典网络模型5——DenseNet 详解与复现
⛳ 03 目标检测篇
整体概述:
1、Faster R-CNN:
- 原理:Faster R-CNN 是一个两阶段目标检测算法,主要由两个部分组成:Region Proposal Network (RPN) 和 Fast R-CNN。RPN 用于生成候选框,Fast R-CNN 用于对候选框进行分类和回归。
- 优点:检测精度高,准确率和召回率都比较高;采用了 end-to-end 的训练方式,可以直接优化整个系统的性能;可以使用预训练模型加速模型训练。
- 缺点:速度较慢,由于需要两个阶段进行检测,因此比较耗时。
2、YOLO:
- 原理:YOLO 是一个单阶段目标检测算法,将输入图像划分为多个网格,并在每个网格中预测目标类别和边界框。同时,YOLO 还采用了 anchor boxes 的机制,对不同大小的目标进行检测。
- 优点:检测速度快,可以实时处理视频流;端到端的训练方式,训练过程简单;可以预测出每个目标的类别和位置,定位精度高。
- 缺点:检测精度不如 Faster R-CNN 和 SSD。
3、SSD:
- 原理:SSD 是一个单阶段目标检测算法,将输入图像划分为多个特征层,并在每个特征层中预测目标类别和边界框。同时,SSD 还采用了多尺度特征图的机制,对不同大小的目标进行检测。
- 优点:检测速度快,可以实时处理视频流;可以对多个尺度的特征图进行检测,检测精度较高。
- 缺点:相比于 Faster R-CNN,检测精度还是稍微低一些;训练过程较为复杂。
综上所述,Faster R-CNN 精度高但速度慢,YOLO 速度快但精度略低,SSD 速度快且精度高,但训练过程较为复杂。
🚀 R-CNN
论文 🔗 :Rich feature hierarchies for accurate object detection and semantic segmentation
博客介绍 📖 :[ 目标检测 ] 经典网络模型1——R-CNN 详解与复现
该算法首先提取出图像中的一系列候选区域(region proposal),然后使用卷积神经网络(CNN)对每个候选区域进行特征提取和分类。这种方法虽然取得了较好的效果,但存在两个主要问题:
- 候选区域的提取速度较慢,需要使用一些耗时的外部工具,如Selective Search;
- R-CNN需要逐个处理每个候选区域,导致算法效率较低;
🚀 Fast R-CNN
论文 🔗 :Fast R-CNN
博客介绍 📖 :[ 目标检测 ] 经典网络模型2——Fast R-CNN 详解与复现
Fast R-CNN 在 R-CNN 的基础上进一步优化得到的算法,其主要改进是引入了 RoI Pooling 操作,可以在特征图上直接提取感兴趣区域的特征,然后使用全连接层进行分类和回归。
相较于 R-CNN,Fast R-CNN 的优点在于可以共享卷积层的计算,减少重复计算,提高了检测速度。但是由于需要对整个图像进行卷积计算,速度仍然较慢。
🚀 Faster R-CNN
论文 🔗 :Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
博客介绍 📖 :[ 目标检测 ] 经典网络模型3——Faster R-CNN 详解与复现
它解决了Fast R-CNN中的区域提取问题。Faster R-CNN 是在 Fast R-CNN 的基础上引入了 RPN (Region Proposal Network) 算法,将目标检测任务划分为两个子任务:候选区域生成和目标分类与定位。
其中,RPN 可以在特征图上直接生成候选区域,避免了选择性搜索算法,提高了检测速度。相较于 Fast R-CNN,Faster R-CNN 的优点在于速度更快,准确率更高,但由于需要训练两个网络,训练时间较长。
🚀 SSD
论文 🔗 :SSD: Single Shot MultiBox Detector
博客介绍 📖 :[ 目标检测 ] 经典网络模型4——SSD 详解与复现
SSD 在原图上进行滑窗操作,同时在每个滑窗位置对多个不同大小和宽高比的先验框(prior box)进行预测,利用回归和分类网络预测先验框的类别和位置,然后根据预测得分和阈值,对边界框进行筛选,最终输出检测结果。SSD 的创新点在于引入了多尺度的特征图,通过多层的卷积操作,提取不同尺度下的特征,使得算法在处理不同大小目标时更加有效。
算法优点与缺点:
- 快速准确:SSD 是一个单阶段的检测器,只需要一个神经网络就可以同时完成检测和分类任务,速度较快。
- 鲁棒性强:SSD 采用多尺度特征图提取,使得算法对目标大小和位置的变化有较好的适应性,具有较强的鲁棒性。
- 简单高效:SSD 不需要使用复杂的区域建议算法,训练和测试都很简单高效。
- 对小目标检测不够准确:SSD 在处理小目标时存在一定的困难,因为小目标的特征比较难以区分,容易受到周围背景的影响。
- 检测范围受限:SSD 的检测范围受到特征图大小的限制,对于较大的目标可能会出现漏检问题。
🚀 YOLO-v1
作者 🔗 :Survival Strategies for the Robot Rebellion
论文 🔗 :You Only Look Once: Unified, Real-Time Object Detection
博客介绍 📖 :[ 目标检测 ] 经典网络模型5——YOLO-v1 详解与复现
YOLOv1将整个图像划分成网格,每个网格预测固定数量的边界框和它们对应的类别概率。
相较于R-CNN系列算法,YOLOv1的优点是速度快、单阶段检测、在大规模数据集上表现好,但它的缺点是定位精度相对较差,尤其是对于小目标的检测表现不佳。
🚀 YOLO-v2
论文 🔗 :YOLO9000: Better, Faster, Stronger
博客介绍 📖 :[ 目标检测 ] 经典网络模型6——YOLO-v2 详解与复现
它通过使用更深的卷积神经网络模型(Darknet-19)和采用多尺度特征融合的方式来提高检测精度。此外,YOLO-v2在预测边界框时使用了anchor机制,并引入了Batch Normalization和LeakyReLU激活函数等优化方法,使得在速度和精度之间达到了更好的平衡。
🚀 YOLO-v3
论文 🔗 :YOLOv3: An Incremental Improvement
博客介绍 📖 :[ 目标检测 ] 经典网络模型7——YOLO-v3 详解与复现
它使用了更深的神经网络模型(Darknet-53),以及YOLO-v2中的改进。此外,YOLO-v3还引入了一些新的技术,例如FPN(Feature Pyramid Network)、多尺度预测和边界框大小预测等,使得检测精度得到了大幅提升。
🚀 YOLO-v4
论文 🔗 :YOLOv4: Optimal Speed and Accuracy of Object Detection
博客介绍 📖 :[ 目标检测 ] 经典网络模型8——YOLO-v4 详解与复现
它主要的改进点是在模型架构、损失函数、数据增强和训练策略等方面进行了优化。YOLO-v4引入了CSPNet(Cross-Stage Partial Network)模块来加速网络计算,使用了SAM(Spatial Attention Module)机制来加强特征图的语义信息,以及对于数据增强和训练策略进行了深入研究。YOLO-v4在速度和精度方面都有很大提升。
🚀 YOLO-v5
论文 🔗 :YOLO-Z: Improving small object detection in YOLOv5 for autonomous vehicles
博客介绍 📖 :[ 目标检测 ] 经典网络模型9——YOLO-v5 详解与复现
YOLO-v5采用了新的网络结构,并且在数据增强和模型优化方面进行了大量改进。YOLO-v5速度更快,检测精度更高,并且可以在不同的设备和环境下进行高效的目标检测。
⛳ 04 轻量级网络篇
🚀 SqueezeNet
论文 🔗 :SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size
博客介绍 📖 :[ 轻量级网络 ] 经典网络模型1——SqueezeNet 详解与复现
🚀 MobileNet
论文 🔗 :MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
博客介绍 📖 :[ 轻量级网络 ] 经典网络模型2——MobileNet 详解与复现
🚀 ShuffleNet
论文 🔗 :ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
博客介绍 📖 :[ 轻量级网络 ] 经典网络模型3——ShuffleNet 详解与复现
🚀 Xception
论文 🔗 :Xception: Deep Learning with Depthwise Separable Convolutions
博客介绍 📖 :[ 轻量级网络 ] 经典网络模型4——Xception 详解与复现
⛳ 05 注意力机制篇
🚀 SENet
论文 🔗 :Squeeze-and-Excitation Networks
博客介绍 📖 :[ 注意力机制 ] 经典网络模型1——SENet 详解与复现
🚀 CBAM
论文 🔗 :CBAM: Convolutional Block Attention Module
博客介绍 📖 :[ 注意力机制 ] 经典网络模型2——CBAM 详解与复现
🚀 ECANet
论文 🔗 :ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks
博客介绍 📖 :[ 注意力机制 ] 经典网络模型3——ECANet 详解与复现
⛳ 06 实战篇
🚀 CIFAR-10 图像分类
博客介绍 📖 :[ 图像分类 ] 经典网络模型实例—— CIFAR10 + ResNet50 详解与复现