2016 - 2025

感恩一路有你

ps神经网络滤镜不能用怎么办 如何理解卷积神经网络里卷积过滤器的深度问题?

浏览量:1984 时间:2023-05-24 17:36:41 作者:采采

如何理解卷积神经网络里卷积过滤器的深度问题?

谢邀!

什么是卷积神经网络?

它们基本只不过是不使用卷积层的神经网络,即设计和实现卷积数算的Conv层。Conv图层由一组滤镜组成,你可以不将其比例内项是数字的二维矩阵。这里有一个例子3x3过滤器:

我们可以不使用一个输入图像和一个过滤器实际将过滤器与输入图像接受卷积层来生成沉淀一个输出来图像。这除开

将过滤器完全覆盖在图像的某个位置上。在过滤器中的值还不如在图像中的对应值之间想执行元素级乘法。总结所有元素产品。这个和是输出图像中目标像素的输出值。对所有位置再重复一遍。旁注:我们(和许多CNN利用)实际上在技术上不使用的是互相关而不是什么卷积核,但它们做的全都是差不多的。我不可能在这篇文章中详细点再讨论它们之间的有什么不同,只不过这根本不重要的是。

这四步描述稍微有点抽象,我们来做个例子。看下这个微小的4x4灰度图像和这个3x3滤镜:

图像中的数字它表示像素强度,其中0为黑色,255为白色。我们将卷积键入图像和过滤器产生一个2x2输出低图像:

是需要,让我们将滤镜效果叠加在图片的左上角:

接下来的事情,我们在拼合图像值和过滤器值之间先执行逐元素乘法。以下是结果,从左上角又开始向右,然后再往上:

接下来,我们学习总结所有的结果。这是很容易:

到最后,我们将结果盛有输出图像的目标像素中。由于我们的过滤器完全覆盖在输入图像的左上角,我们的目标像素是输出图像的左上角像素:

我们做同样的的事情来生成输出图像的其余部分:

3.1这有什么用?

让我们缩小成帮一下忙,在更高的层次上看这个。将图像与过滤器通过卷积核会什么?我们是可以从我们一直都在用的例子3x3过滤器就开始,它大多数被一般称互相垂直Sobel过滤器:

下面是一个直角Sobel过滤器的例子:

虽然,有一个水平Sobel过滤器:

看发生了什么?Sobel过滤器是一种边缘检测器。互相垂直Sobel过滤器检测平行边缘,水平Sobel过滤器检测水平边缘。输出图像现在会容易讲解:输出图像中的亮像素(高值像素)可以表示在远古时期图像中有两个强边缘。

你能看出为啥边缘检测图像可能会比各种图像更有用吗?仔细回想帮一下忙我们的MNIST手写版数字分类问题。在MNIST上训练的CNN这个可以寻找数字1,比如,按照在用边缘检测过滤器并检查图像中心附近的两个主体形象的平行边缘。大多数,卷积核能增强我们里查某个特定的本地化图像特征(如边缘),我们也可以在以后的网络中使用。

3.2图案填充

记不记得以前将4x4然后输入图像与3x3滤波器卷积核得到2x2输出图像吗?大多,我们只希望控制输出图像与输入图像的大小完全相同。而,我们在图像周围先添加零,那样我们就这个可以在一些的地方覆盖过滤器。一个3x3的过滤器是需要1像素的填充

这一般称同一再填充,而且输入和输出具高同一的尺寸。不建议使用任何图案填充,这是我们一直在在做的,并将继续为这篇文章做,偶尔会被称为快速有效填充。

3.3Conv层(Conv Layers)

现在我们清楚了图像卷积是怎么工作的话的和它为什么不有用,让我们去看看它在CNN中的实际应用。如前文所述,CNN和conv层,它不使用一组过滤器将输入输入图像转换成为输出来图像。conv层的主要参数是它具备的过滤器的数量。

是对MNISTCNN,我们将使用一个内带8个过滤器的小conv层作为网络的初始层。这意味着它将把28x28的输入图像转换的成26x26x8的容量:

叮嘱:输出是26x26x8,而又不是28x28x8,只不过我们不使用了比较有效的再填充,这将输入输入的宽度和垂直距离会降低了2。

conv层中的4个过滤器每个都产生一个26x26的作为输出,并且它们不叠加在一起所构成一个26x26x8。所有这些都是毕竟3×3(过滤器大小)×8(过滤器数量)72个权重!

3.4可以实行卷积

是时候把我们学到的东西写进代码里了!我们将基于conv层的前馈部分,它专门负责将过滤器与输入图像进行卷积和以生成输出低卷。目的是简单起见,我们假设不成立过滤器我总是3x3(这并不是真的,5x5和7x7过滤器也很最常见的一种)。

让我们又开始基于一个conv层类:

Conv3x3类只接受一个参数:过滤器的数量。在构造函数中,我们存储过滤器的数量,并使用NumPy的randn()方法初始化设置一个必掉过滤器数组。

注意一点:要是初始值过大或过小,训练网络将无效。

接下来的,不好算的卷积:

iterate_regions()是一个辅助发生器的方法,收益率为我们所有有效3x3的图像区域。这对此以后利用该类的向侧面部分太用处。

上面线条清晰没显示了不好算负责执行卷积的代码行。让我们来分解看看:

我们有im_region,一个中有查找图像区域的3x3数组。我们有,一个3d数组。我们做im_region*,它建议使用numpy的广播机制以元素除以两个数组。结果是一个3d数组,其尺寸与同一。我们()上一步的结果可以使用axis(1,2),它出现一个长度为num_filters的1d数组,其中每个元素中有你所选过滤器的卷积结果。我们将结果先分配给输出来[i,j],其中乾坤二卦输出来中像素(i,j)的卷积结果。对输出中的每个像素不能执行上面的序列,直到此时得到到最后的输出卷为止!让我们测试出来下我们的代码:

目前看起来还好。

注意:在Conv3x3实现程序中,是为很简单起见,我们题中键入是一个2dnumpy数组,毕竟MNIST图像就是这样储存的。这对我们有用,是因为我们在用它充当我们网络的第一层,但大多数cnn有更多的Conv层。如果不是我们要构建体系一个大得多的网络,需要三次使用Conv3x3,那就我们要将再输入设置为3dnumpy数组。

更多无关人工智能的资讯、深度报道、采访采访欢迎关注AI,无论你是小白我还是大神,你想的这里都是!

windows11兼容ps2022吗?

不兼容。

最新的Photoshop2022也不会遗忘大众十分喜欢的神经滤镜。2012版版本反而对以往的滤镜做了经济责任指标优化,同时还新增审批了其他的滤镜效果。以往在AI和PS之间的沟通和交流我总是有些许经验不够,不能够很不错的协同工作。如今我们可以不快速将本身图层/向量形状和路径和向量图遮色片的Ai档案导出到Photoshop尽快再编辑和使用。

图像 过滤器 卷积 网络

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。