我只有大约 1000 张车辆图像。我需要训练一个模型来识别图像是车辆还是非车辆。我没有非车辆的数据集,因为它可以是车辆以外的任何东西。
我想最好的方法是应用迁移学习。我正在尝试在预训练的 VGG19 模型上训练数据。但是,我仍然不知道如何训练一个只有车辆图像而没有任何非车辆图像的模型。我无法对其进行分类。
我是 ML 新手 总的来说,任何基于实际实现的解决方案都将受到高度赞赏。
我只有大约 1000 张车辆图像。我需要训练一个模型来识别图像是车辆还是非车辆。我没有非车辆的数据集,因为它可以是车辆以外的任何东西。
我想最好的方法是应用迁移学习。我正在尝试在预训练的 VGG19 模型上训练数据。但是,我仍然不知道如何训练一个只有车辆图像而没有任何非车辆图像的模型。我无法对其进行分类。
我是 ML 新手 总的来说,任何基于实际实现的解决方案都将受到高度赞赏。
如果为您的图像创建分类器是您的最终目标,那么您可以简单地获取一些非车辆的图像。
要么下载 Imagenet、CIFAR 等图像数据集,要么下载像狗、花等非车辆的样本图像。只要确保包含足够多的类别和大约 1000 张图像。
或者您可以直接从互联网获取数据,例如。使用网络爬虫
我建议从现有数据集中采样。
您可以尝试使用预训练模型并获取输出。您可能需要应用降维,例如 PCA,以获得更易于管理的尺寸输入。之后,您可以训练新奇检测模型来识别输出是否与您的训练集不同。
另一种方法是使用自动编码器。所以这个想法是,如果测试图像与训练集“相似”,那么网络在重建输入时将没有问题,因此重建损失会更低。但我认为问题可能是缺乏训练数据,因为我相信 1000 对您的网络来说很小,无法概括车辆的概念,但谁知道您是否不尝试。
猜想 ImageNet 中已经有vehicle标签,所以最简单的方法是根本不训练任何东西。您还可以轻松地从网络上删除两者vehicle和non-vehicle图像。检查这篇文章。1k 图像对于训练 DNN 来说有点太少了。特征空间是超维的,所以你需要更深层次的东西,这意味着你的净容量会增长。使用少量数据进行训练会导致过拟合。还尝试大量增加您的数据集。您可以轻松地将其放大两个数量级。