CNN 如何使用模型并找到所需的对象?

数据挖掘 神经网络 计算机视觉 卷积神经网络 初学者
2021-10-06 04:30:45

背景:我正在学习 CNN 的机器学习本科 CS 课程之外。我有几个与 CNN 相关的问题。

1) 在训练 CNN 时,我们希望获得所需类别的紧密边界/裁剪图像,对吗?即,如果我们试图识别狗,我们将使用数千张剪得很短的狗的图像。我们也会提供非狗的图像,对吗?这些图像被缩放到特定大小,即 255x255。

2)假设训练完成。我们模型的准确性似乎足够,没有问题。从这里开始,让我们有一张未遮挡的狗在有各种障碍物的田野中奔跑的大型高清图像。使用典型的 NN 和一些数据,我们只需获取模型,将其与一些输入交叉,然后 bam 它将输出一些类。CNN 将如何查看这个大图像,然后“找到”狗?我们是否对图像运行某种类型的预处理来对其进行分区,并为分区提供数据?

1个回答

虽然这个问题可以有一个非常详细的解释,但我会尽量让你理解最少的单词。

1)将图像裁剪为特定大小不是必要条件,缩放也不是。但这样说来,狗是用黑白图像还是 RGB 图像表示并不重要,因为卷积网络会学习图像中与颜色无关的特征。缩放和调整大小有助于将像素值限制在 0 和 1 之间。

2)一旦你训练了你的 CNN 模型,它就学会了所有的特征,比如边缘等。识别图像中的狗。因为模型已经学习了这些特征,所以它获得了某些属性,例如平移不变性,这意味着无论您将狗放在图像中的哪个位置,它仍然是一只狗并且具有相同的特征。模型如何识别它?它检查训练期间学习到的狗的特征,无论新图像的大小是多少,狗在图像中的位置或狗在做什么。

为了深入了解,您可以参考以下资源:

http://neuralnetworksanddeeplearning.com/chap6.html

http://cs231n.github.io/convolutional-networks/