文章目录
经典的卷积网络结构-LeNet、AlexNet、VGG、ResNet、Inception
1. 计算机视觉
计算机视觉的应用:图片分类、目标检测、人脸识别等。
问题:如果需要处理一张1000×1000的RGB图片,输入到神经网络中,导致参数规模极大,难以训练。
因此就需要卷积计算的帮助。
2.边缘检测示例
卷积运算是卷积神经网络中最基本的组成部分,下面看下如何进行卷积运算。
左边图片如果想让电脑弄清楚里面有什么物体,可能首先需要对垂直边和水平边进行检测。那么如何检测这些边呢,这就需要我们的过滤器了。
要注意一下卷积符号“*”是个重载符号,说完符号和过滤器的结构,下面就来看一下具体怎么运算吧。
这个卷积运算过后会生成一个4×4的矩阵。每一个元素就是过滤器元素与原矩阵对应区域元素的点积。tensorflow中调用conv_forward函数,keras中你会使用conv2D来实现卷积运算。
具体说一下这个过滤器怎么实现的垂直边缘检测?
原始矩阵中0表示灰色,10表示比较亮的部分,经过一次卷积计算之后,计算出来的矩阵左上角的0是由原始矩阵绿色框中的元素计算出来的,30是由红色框计算出来的。右边矩阵中间有一段亮的区域,对应为检测到的垂直边。
3.更多边缘检测内容
卷积运算除了检测垂直,水平边缘,还可以区分正负边,正表示从亮到暗,负表示从暗到亮。
由亮变暗例子:
由暗变亮例子:
水平垂直检测过滤器对比:
亮暗变化结合举例:
其他过滤器种类
Sobel过滤器
[ 1 0 − 1 2 0 − 2 1 0 − 1 ] \left[\begin{array}{ccc}{1} & {0} & {-1} \\ {2} & {0} & {-2} \\ {1} & {0} & {-1}\end{array}\right] ⎣⎡121000−1−2−1⎦