Google 愿景 api 与建立自己的愿景
Google vision api vs build your own
我有一个非常具有挑战性的图像识别用例。我想检测混合回收的成分,例如压碎罐头、纸张、瓶子并检测任何异常情况,例如玻璃、袋子、鞋子等。
尝试使用 google 视觉 api 的图像结果主要是 "trash"、"recycling" "plastic" 等,可能是因为 api 没有像这样接受过混合和破碎的训练material?
对于这样的事情,我是否必须使用张量流之类的东西并从我自己的图像构建神经网络?我想我不需要为此使用 google 因为张量流是开源的?
谢谢。
所以一般来说,当你将机器学习应用于一个新的、真实世界的用例时,最好掌握一个有代表性的数据集,在你的例子中,这将是这些垃圾材料的图像。
然后您可以选择合适的检测模型(VGG、Inception、ResNet),修改最终分类层以输出您需要的类别标签(可能 'normal' 或 'anomaly'大小写,所以 2 类).
然后你为这个网络加载预训练的权重,因为学习到的特征泛化(google 'Transfer Learning'),随机初始化你修改的分类层,然后训练最后一层,也许训练最后两层或最后三层(取决于什么最有效,你有多少数据,泛化)等
所以,简而言之:
1. 选择一个预训练模型。
2.针对您的问题修改它。
3.微调您自己的数据集的权重。
我有一个非常具有挑战性的图像识别用例。我想检测混合回收的成分,例如压碎罐头、纸张、瓶子并检测任何异常情况,例如玻璃、袋子、鞋子等。
尝试使用 google 视觉 api 的图像结果主要是 "trash"、"recycling" "plastic" 等,可能是因为 api 没有像这样接受过混合和破碎的训练material?
对于这样的事情,我是否必须使用张量流之类的东西并从我自己的图像构建神经网络?我想我不需要为此使用 google 因为张量流是开源的?
谢谢。
所以一般来说,当你将机器学习应用于一个新的、真实世界的用例时,最好掌握一个有代表性的数据集,在你的例子中,这将是这些垃圾材料的图像。
然后您可以选择合适的检测模型(VGG、Inception、ResNet),修改最终分类层以输出您需要的类别标签(可能 'normal' 或 'anomaly'大小写,所以 2 类).
然后你为这个网络加载预训练的权重,因为学习到的特征泛化(google 'Transfer Learning'),随机初始化你修改的分类层,然后训练最后一层,也许训练最后两层或最后三层(取决于什么最有效,你有多少数据,泛化)等
所以,简而言之: 1. 选择一个预训练模型。 2.针对您的问题修改它。 3.微调您自己的数据集的权重。