关于卷积网络检测原理

本质上是模式识别,把现实的东西抽象成计算机能够理解的数字。

如果一个图片是256色的,那么图像的每一个像素点,都是0到255中间的一个值(图像二值化),这样你可以把一个图像转换成一个矩阵。

如何去识别这个矩阵中的模式?用一个相对来讲很小的矩阵在这个大的矩阵中从左到右,从上到下扫一遍,每一个小矩阵区块内,你可以统计0到255每种颜色出现的次数,以此来表达这一个区块的特征。这样通过这一次“扫描”,你得到了另一个由很多小矩阵区块特征组成的矩阵。

这一个矩阵比原始的矩阵要小吧?那就对了!

然后对这个小一点的矩阵,再进行一次上面的步骤,进行一次特征“浓缩”,用另一个意思来讲,就是把它抽象化。

最后经过很多次的抽象化,你会将原始的矩阵变成一个 1 维乘 1 维的矩阵,这就是一个数字。

而不同的图片,比如一个猫,或者一个狗,一个熊,它们最后得到的这个数字会不同。于是你把一个猫,一个狗,一个熊都抽象成了一个数字,比如 0.34, 0.75, 0.23,这就达到让计算机来直接辨别的目的了。

人脸,表情,年龄,这些原理都是类似的,只是初始的样本数量会很大,最终都是通过矩阵将具体的图像抽象成了数字,因为计算机只认识数字。

即通过监督学习(比如标签标定了的检测框,告诉神经网络这是什么),然后让神经网络取学习这些特征,之后网络就可以根据学习到的特征进行概率统计,进而选择概率最大的,

卷积过程:

过滤器(卷积核),被照过的区域被称为感受野(receptive field)。过滤器同样也是一个数组(其中的数字被称作权重或参数)。重点在于过滤器的深度必须与输入内容的深度相同(这样才能确保可以进行数学运算),

比如输入为 32 x 32 x 3 的数组,则卷积核 5 x 5 x 3,卷积核滑过所有位置后将得到一个 28 x 28 x 1 的数组,我们称之为激活映射(activation map)或特征映射(feature map),当我们使用两个而不是一个 5 x 5 x 3 的过滤器时,输出总量将会变成 28 x 28 x 2。采用的过滤器越多,空间维度( spatial dimensions)保留得也就越好。数学上而言,这就是卷积层上发生的事情。

你可能感兴趣的:(关于卷积网络检测原理)