假设我想按型号分类摩托车。
您能否指点一下实际示例,演示如何训练数据模型,然后用它来分类图像?它需要是一个深度学习模型,而不是简单的逻辑回归。
我不确定,但似乎我不能使用经过预先训练的神经网络,因为它已被训练过各种各样的物体,如猫,人,汽车等。他们可能是不太擅长区分我感兴趣的摩托车细微差别。
我发现了几个这样的例子(tensorflow有一个),但遗憾的是,他们都使用了预先训练过的模型。没有一个例子如何在你自己的数据集上训练它。
答案 0 :(得分:1)
在像您这样的情况下,您可以使用转移学习或微调。如果你有超过一千辆摩托车的图像我会使用微调,如果你有较少的转移学习。
微调使用预先训练的模型并使用不同的分类器部件。然后新的分类器部分可能是训练模型的最后1-2层被训练到您的数据集。
转移学习意味着使用预先训练的模型并让它输出输入图像的特征。现在,您可以使用基于这些功能的新分类器。也许是SVM或逻辑回归。
这里可以看到一个例子:https://github.com/cpra/dlvc2016/blob/master/lectures/lecture10.pdf。幻灯片33。
答案 1 :(得分:1)
Quick, Draw! Doodle Recognition的这篇论文kaggle challenge可能与您所做的足够相似。该代码位于github上。如果每个类别只有几百张图像,则可能需要一些data augmentation。
答案 2 :(得分:0)
您想要的是漂亮的EZ。遵循Darknet YOLO实施
说明:https://pjreddie.com/darknet/yolo/
代码https://github.com/pjreddie/darknet
在COCO上培训YOLO 如果您想使用不同的训练方式,超参数或数据集,则可以从头开始训练YOLO。这是在COCO数据集上运行它的方法。
获取COCO数据 要训练YOLO,您需要所有的COCO数据和标签。脚本scripts / get_coco_dataset.sh将为您完成此操作。找出要放置COCO数据并下载的位置,例如:
cp scripts/get_coco_dataset.sh data
cd data
bash get_coco_dataset.sh
在内部添加数据,并确保它与测试样本相同。 现在,您应该拥有为Darknet生成的所有数据和标签。
然后使用预先训练的体重调用训练脚本。
请记住,仅在摩托车上进行训练可能无法得出正确的估计。会有偏差的结果出来,我在b4的某个地方加红色。
其余全部在链接内。祝你好运