在低分辨率上训练卷积神经网络,在高分辨率图片上使用是否有意义?

数据挖掘 机器学习 美国有线电视新闻网 图像分类 卷积神经网络
2022-02-01 22:05:59

这是我的第一个机器学习项目,实际上也是我在这里的第一个问题。我是机器学习的新手,具有理论物理学背景。

我想使用 CNN 来检测高分辨率图像中制造缺陷的划痕。图片必须是高分辨率的;下采样会破坏我们想要检测的特征。此外,由于我们专门寻找产品某些部分的划痕,我们不能简单地将图片分成许多块并处理每一堆 - 网络也必须“理解”小规模结构(单个划痕)作为图片的大尺度结构(整个产品)。

我担心模型容量有限(参数数量)以及训练时间。另外,由于训练图片的数量很少,仅使用我的产品图片从头开始训练整个网络似乎没有意义。

所以,我的问题是,你认为以下方法可行吗: * 使用预训练的(在一般低分辨率图片上)现成的 CNN(可能是 VGG19 的 CNN 层?),然后是一个非常激进的最大池化(用于在不引入任何其他参数的情况下缩小图片大小),然后添加 1 或 2 个具有进一步连续较低分辨率的全连接层,并仅使用我的图片训练最后一层?

PS。顺便说一句,我打算使用 Keras 作为平台。

1个回答

当涉及到这样的问题时,你应该反过来思考这个问题。我的意思是,你想在某个时候实际使用这个算法,不是吗?所以,真正的问题是:你的图像在预测时是什么样子的?

一旦确定了这一点,那么您将对这些图像进行哪些预处理?我的猜测是你不会改变像分辨率这样的东西。当然,您可能会进行一些裁剪或调整大小之类的操作。但最重要的是,您应该根据您的预测项目的外观来训练您的算法。