做个转载合集来记一下我的学习历程,如果能给看到的小伙伴一点帮助就好了。
文章目录
- 一、深度学习
- 二、Object detection
-
-
- 1. Object detection发展史
- 2. Object detection model
- 3. 常见的One-stage detector &Two-stage detector
- 4. 初次接触
一、深度学习
基本上就是看课、看笔记,看论文。针对要用得急的py,这里推荐几个我觉得不错的学习途径:
- 跟李沐学AI
亚马逊的大佬,强推这个,有教机器学习的视频,也有教深度学习的视频,更还有一些比较经典的/爆火的论文讲解。
- 吴恩达的deeplearning.ai课-B站链接
大佬的课,原视频在coursera上。
- deeplearning.ai中CNN方面的高度浓缩笔记
对吴恩达的课高度浓缩的笔记,不过主要针对neural networks基础和CNN部分,对于做目标识别的小伙伴比较友好。
- 一个逗比的知乎CNN科普
作者比较逗比,讲的比较通俗,上面两个实在看不懂的时候看这个补充一下。
- 超全deeplearning.ai笔记
吴恩达的所有课的笔记,如果你时间很充裕,又不爱看视频,可以看这个。
- 不同参数下,卷积和反卷积操作的动画
如果要深入学,还是看花书比较好。
看完这些,相信你已经知道什么是卷了。

二、Object detection
1. Object detection发展史
上一张不知道源头是哪里的图

2. Object detection model
一般来说,基于深度学习的detector = backbone + (neck) + head
。
- Backbones:主要用来做特征提取的那部分网络,也就是主干网络。
GPU平台的有VGG,ResNet,ResNeXt,DenseNet等,CPU平台的有:SqueezeNet,MobileNet,ShuffleNet……
- Head:分类和产生bounding boxes的部分。按照不同的head可以把detector分为两类:
One-stage object detector
和Two-stage object detector
。
- Neck:介于backbone和head之间,比方说FPN就是一种neck。常见的neck:
3. 常见的One-stage detector &Two-stage detector
- One-stage object detector:YOLO系列,SSD,RetinaNet
特点:快,但是准确率不如two-stage。不生成proposals,直接对整张图进行检测。
- Two-stage object detector:R-CNN,Fast R-CNN,Faster R-CNN,R-FCN,Libra R-CNN。
特点:准确率高,但是慢。需要专门的一步生成proposals。
4. 初次接触
看了一堆东西以后,至少术语是搞明白了,那该进一步学习了。学姐给我的建议是一边跑程序,一边看论文。我刚开始跑的是YOLOv3和YOLOv4,还顺带学了学脚本和配置文件。要是想从简单的开始,慢慢熟悉CNN,我有一些推荐的博客:
- LeNet-5详解
一个比较经典的简单CNN,建议用入门里学到的那些维度计算公式,去跟着自己算算每一层的维度。有一点不太一样的是:LeNet-5的池化步骤是有weight和bias的,但是后来基本没人这么干了。
- AlexNet详解
AlexNet,一个经典的CNN,奠基作之一。
- VGG简单介绍
- ResNet
必知道的一个网络结构。
- 最近大火的东西之一:transformer。视觉方面最火的两个:vision transformer,swim transformer。懒得看论文可以找李沐的视频看。
其实最好的找论文的办法就是找个时下比较经典爆火的,去找引文看。
目标检测的源代码挺好找的,多半都会开源,很多论文很多细节不会写出来,光看有可能有时候也不理解,强烈建议时间充足的小伙伴把代码找来对着论文看看(当然对不是要复现的代码,也选择性的看看就好)。
对于交差目的的小伙伴,可以推荐直接看一些tutorial,直接上手。
注意:在倒数据集的时候要注意不同的数据集可能会遵照不同的格式,记得检查。
先到这里,后面慢慢更,有错的又回来改。