machine-learning - 我们能否在使用 CNN 时明确指定从图像中提取哪些特征

标签 machine-learning tensorflow computer-vision deep-learning conv-neural-network

最后一天我了解了卷积神经网络,并使用 Tensorflow 进行了 CNN 的一些实现,所有实现仅指定大小、过滤器数量和过滤器的步长。但是当我了解过滤器时,它说每层上的过滤器都会提取不同的特征,例如边缘、角等。

我的问题是我们是否可以明确指定过滤器我们应该提取哪些所有特征,或者图像的哪个部分更重要等等

所有的解释都说我们通过卷积将输入图像的一小部分滑过它。如果是这样,我们是否获取图像的所有部分并在图像上进行卷积?

最佳答案

can we explicitly specify filter which all feature we should extract, Or which portion for the image is more important etc

当然,这是可以做到的。但 CNN 的优势在于它们自己学习最好的特征(或者至少是非常好的特征;在大多数情况下比我们能想出的更好的特征)。

一个著名的例子是 ImageNet 数据集:

enter image description here

2012 年,第一个端到端学习 CNN 被使用。端到端意味着网络一端获取原始数据作为输入,另一端获取优化目标。

在 CNN 之前,计算机视觉社区多年来一直使用手动设计的特征。在 2012 年 AlexNet 之后,没有人这样做(对于“典型”计算机视觉 - 有一些特殊应用仍然值得一试)。

All the explanation says that we take a small part of an input image a slide across it with convolving. If so do we take all the parts of image and convolve across the image?

它始终是与小滤波器进行卷积的完整图像。卷积运算是局部的,这意味着您可以并行计算其中的大部分,因为左上角的卷积结果不是 取决于左下角的卷积。

关于machine-learning - 我们能否在使用 CNN 时明确指定从图像中提取哪些特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45157589/

相关文章:

python - 在 Open AI Gym 中实现策略迭代方法

tensorflow - 如何在占位符中为非确定性数组大小设置形状

algorithm - 检测表格数据结构的最佳方法是什么?

python - OpenCV:如何使用cv2.CascadeClassifier获得功能?

python - sklearn 上的 PCA - 如何解释 pca.components_

machine-learning - 除了 tf-idf 之外,还有其他用于聚类的文档功能吗?

python - 使用 Tkinter 显示 numpy 数组中的图像

python - 难以格式化 tf.example 以向 Tensorflow 服务发出请求

opencv - 计算机视觉-计算图像中的小圆圈

python - 如何在 scikit-learn 中使用 LDA(线性判别式)进行预测?