首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程
1. 基本概念
1)CNN:Convolutional Neural Networks
2)FC:Fully Connected
3)IoU:Intersection over Union (IoU的值定义:Region Proposal与Ground Truth的窗口的交集比并集的比值,如果IoU低于0.5,那么相当于目标还是没有检测到)
4)ICCV:International Conference on Computer Vision
5)R-CNN:Region-based Convolutional Neural Networks
6)AR:Average Recall
7)mAP:mean Average Precision
8)RPN:Region Proposal Networks
9)FAIR:Facebook AI Research
10)w.r.t.:with respect to
11)Image Classification(what?):图像分类
12)Object Detection(what+where?)、Localization、Segmentation:对角检测、定位、分割
2. CNN基本知识
2.1 CNN的卷积流程
卷积计算过程如下图所示:
我们刚才描述的即是卷积。可以把卷积想象为信号处理中的一种奇特乘法。也可将两个矩阵生成点积想象为两个函数。图像就是底层函数,而过滤器就是在其上“卷过”的函数。
图像的主要问题在于其高维度,原因是对高维度的处理时间和运算能力成本很高。卷积网络就是为了通过各种方式降低图像的维度而设计的。过滤器步幅即是减少维度的一种方法,另一种方法是降采样。
2.2 Activations maps的个数与Filter的个数一致
2.3 输入层与Filter、Padding、Stride、参数和输出层的关系
1) 参数个数由Filter定义及Filter个数决定,其公式为:
The number of parameters = (FxFxD + 1) * K
2)一个Activation Map共享一个Filter及其权重和偏差
3)Activation Map个数与Filter个数相同
2.4 Pooling(池化/降采样)过程
1) Pooling在每个Activation Map上单独做,在Pooling之后,Activation Map数量不变
Pooling层一般用于降维,将一个kxk的区域内取平均或取最大值,作为这一个小区域内的特征,传递到下一层。传统的Pooling层是不重叠的,使Pooling层重叠可以降低错误率,而且对防止过拟合有一定的效果。
2)Pooling过程描述(Pooling过程不需要参数)
2.5 深度革命2015
1)深度革命中遇到的问题:
随着CNN网络的发展,尤其的VGG网络的提出,大家发现网络的层数是一个关键因素,貌似越深的网络效果越好。但是随着网络层数的增加,问题也随之而来。
(1)第一个问题: vanishing/exploding gradients(即梯度消失或爆炸):这就导致训练难以收敛。但是随着 normalized initialization and BN(Batch Normalization)的提出,解决了梯度消失或爆炸问题。
(2)第二个问题:网络越深,训练误差和测试误差越大。在收敛问题解决后,又一个问题暴露出来:随着网络深度的增加,系统精度得到饱和之后,迅速的下滑。让人意外的是这个性能下降不是过拟合导致的。对一个合适深度的模型加入额外的层数导致训练误差变大。如下图所示,可通过Deep Residual Learning 框架来解决这种因为深度增加而导致准确性下降问题。
3. 空间定位与检测
3.1 计算机视觉任务
3.2 传统目标检测方法
传统目标检测流程:
1)区域选择(穷举策略:采用滑动窗口,且设置不同的大小,不同的长宽比对图像进行遍历,时间复杂度高)
2)特征提取(SIFT、HOG等;形态多样性、光照变化多样性、背景多样性使得特征鲁棒性差)
3)分类器(主要有SVM、Adaboost等)
传统目标检测的主要问题:
1)基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余
2)手工设计的特征对于多样性的变化没有很好的鲁棒性
3.3 基于侯选区域(Region Proposal)的深度学习目标检测法
3.3.1 R-CNN (CVPR2014, TPAMI2015)
1)Region Proposal:可以解决滑动窗口的问题
候选区域(Region Proposal):是预先找出图中目标可能出现的位置。它利用了图像中的纹理、边缘、颜色等信息,可以保证在选取较少窗口(几千甚至几百)的情况下保持较高的召回率(Recall)。
常用的Region Proposal有(详见"What makes for effective detection proposals?"):
- Selective Search
- Edge Boxes
2)R-CNN:可以解决特征鲁棒性的问题
(1) 输入测试图像
(2) 利用selective search算法在图像中从下到上提取2000个左右的Region Proposal
(3) 将每个Region Proposal缩放(warp)成2