【问题标题】:How to Train model in which number of classes is equal to number of instances in particular image used for prediction如何训练模型,其中类数等于用于预测的特定图像中的实例数
【发布时间】:2020-08-26 19:57:38
【问题描述】:

假设一间教室有 40 名学生。

然后我为 40 个学生的所有图像训练模型,然后尝试在一张图片中检测所有 40 个学生。

但没有得到很好的准确性。

为什么会这样?除了衡量模型的准确性之外,还有其他衡量标准吗?

【问题讨论】:

  • 您的数据量是多少?另外,您使用的是什么架构?
  • 这将是一个多标签问题而不是多类问题。因此,如果您没有正确标记图像,则可能您的整个准确度指标都是错误的。如果您有能够识别测试图像中的“面孔”的预处理,那么您可以对每个“面孔”执行多类识别。
  • 如果你已经在一张人脸的图片上训练了你的模型,你不应该期望它可以在不同种类的图片上工作。您的模型只能在与您使用的训练数据类似的数据上运行良好(前提是它首先在那里运行良好)。神经网络不像人那样“识别面孔”,它识别特定数据示例中的模式,不同的数据需要不同的模式来学习。

标签: python tensorflow image-processing keras deep-learning


【解决方案1】:

我认为它的方法是,您使用哪种模型来完成这项任务? 我不确定CNN是这里最好的方法。 试试这个方法—— - 你拍摄每张照片并对他的脸进行编码,你可以使用级联过滤器识别人脸,然后在这个矩形上应用编码。 - 您保存的每个编码。 - 在给定的人脸识别矩形中,您对其进行编码并检查您在存储中的距离

试试这个方法,我想你可以得到不错的结果。 你可以使用人脸识别和opencv

我做过类似的事情,你可以看看。 link

【讨论】:

  • 但是你认为 Cascade 会比 CNN 更好吗?因为我必须检测多张面孔。
  • 一般不会,但是在你的作业中你只有很少的图像,你必须从一张图片中检测出特定的面孔,所以我想说在这种情况下 Cascade 可以很好地做到这一点。
【解决方案2】:

通过数据增强可以实现一点改进。对于每个图像(在您的情况下,每个学生),您可以说旋转 10% 的对象对于观察者来说仍然是同一个对象。镜像镜像也是如此。通过这种方式添加几个新数据点,您可能会得到更好的结果。

【讨论】:

  • 我会试试这个。我认为这会提高我的准确性。
猜你喜欢
  • 1970-01-01
  • 2021-10-29
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多