宠物食品的图像分类模型

Posted

技术标签:

【中文标题】宠物食品的图像分类模型【英文标题】:Image classification model for pet food 【发布时间】:2020-11-14 14:40:04 【问题描述】:

我正在制作一个 CNN 来检测不同类型的粗磨食品(宠物食品)。我希望模型能够告诉你一张粗磨食物的图片是狗粗磨还是猫粗磨。我有大约 500 张属于每个班级的图像。我在 python 中使用了预训练模型(resnet.34)和 fastai 来制作我的模型。我想知道是否需要进行某种图像分割才能使模型准确。就像让模型将每个单独的粗磨食品识别为不同的对象一样。因为目前,该模型可能正在对实际粗磨食物以外的属性进行预测。我知道使用 tensorflow,您可以可视化图像中存在的不同对象。不确定fastai是如何做到的。我将附上一些我在训练集中使用的数据图像。 [

【问题讨论】:

【参考方案1】:

不,您不需要使用分段。很有可能,如果您的数据中有信号,CNN 会学习它,并且偏差不会成为太大问题。

如果您担心其他元素(例如碗的种类)可能会影响您的算法,我认为您可以在分割之前做很多事情(这是一项非常艰巨的任务)。例如,您可以裁剪图片的中间正方形。然后,就只能看到粗磨了。

话虽如此,仍然很少有信息会影响您的算法。如果你看一下流行的猫狗数据集,会有很多不必要的背景,但这是一项简单的分类任务。

【讨论】:

【参考方案2】:

我同意你可能不需要图像分割来解决这个问题,看起来分类应该能够处理它。我同意 Nicolas 的观点,即裁剪可能会有所帮助,但也许将裁剪/未裁剪的图像混合用于训练有助于模型专注于粗磨食物本身?

在对图像执行训练/预测之前,我还会研究 histogram equalization 和/或可应用于图像的其他调整。我在您的示例图像中注意到的一件事是颜色差异并不明显。直方图均衡将增加图像中的全局对比度,并使模型更容易发现差异。在转向更复杂的模型选项之前,我会研究这样的图像增强功能,因为它们的应用速度要快得多。

【讨论】:

以上是关于宠物食品的图像分类模型的主要内容,如果未能解决你的问题,请参考以下文章

如何使用对象检测模型改进 CoreML 图像分类器模型?

23个系列分类网络,10万分类预训练模型,这是飞桨PaddleClas百宝箱

我可以使用在线图像链接而不是下载的图像创建图像分类算法模型吗

为图像分类模型绘制混淆矩阵

计算机视觉框架OpenMMLab开源学习:图像分类

通过 tflite 模型传递单个图像进行图像分类