Google Vision API与自建系统的比较

我有一个关于图像识别的相当具有挑战性的用例。我想检测混合回收材料的组成,例如压碎的罐头、纸张、瓶子,并检测任何异常情况,如玻璃、袋子、鞋子等。

使用Google Vision API尝试这些图像时,结果主要是“垃圾”、“回收”、“塑料”等,可能是因为API没有针对这种混合和破损的材料进行训练?

对于这种情况,我是否需要使用像TensorFlow这样的工具,并从我自己的图像构建一个神经网络?我猜我不需要使用Google,因为TensorFlow是开源的?

谢谢。


回答:

因此,通常情况下,当你将机器学习应用于一个新的、现实世界的用例时,最好获取一个代表性的数据集,在你的案例中,就是这些垃圾材料的图像。

然后你可以选择一个合适的检测模型(如VGG、Inception、ResNet),修改最终的分类层以输出你需要的类别标签数量(在你的案例中可能是“正常”或“异常”,所以是2个类别)。

然后你加载这个网络的预训练权重,因为所学的特征具有泛化性(谷歌“迁移学习”),随机初始化你修改的分类层,然后训练最后一层,可能训练最后两层,或最后三层(取决于什么效果最好,你有多少数据,泛化性)等。

简而言之:1. 选择一个预训练模型。2. 针对你的问题进行修改。3. 在你自己的数据集上微调权重。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注