【问题标题】:Google vision api vs build your own [closed]Google vision api vs 构建自己的[关闭]
【发布时间】:2018-05-26 15:06:11
【问题描述】:

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

使用 google vision api 尝试图像,结果主要是“垃圾”、“回收”、“塑料”等,可能是因为 api 没有接受过这样的混合和破碎材料的训练?

对于这样的事情,我是否必须使用张量流之类的东西并从我自己的图像构建神经网络?我想我不需要为此使用谷歌,因为张量流是开源的?

谢谢。

【问题讨论】:

    标签: machine-learning tensorflow neural-network deep-learning image-recognition


    【解决方案1】:

    因此,一般而言,当您将机器学习应用到新的现实世界用例时,最好掌握一个具有代表性的数据集,在您的情况下,它将是这些垃圾材料的图像。

    然后您可以选择一个合适的检测模型(VGG、Inception、ResNet),修改最终分类层以输出您需要的尽可能多的类别标签(在您的情况下可能是“正常”或“异常”,所以 2 个类) .

    然后你加载这个网络的预训练权重,因为学习到的特征会泛化(google 'Transfer Learning'),随机初始化你修改后的分类层,然后训练最后一层,也许训练最后两层,或者最后三层(取决于什么效果最好,你有多少数据,泛化)等等。

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

    【讨论】:

    • 谢谢。就代表性数据集而言,我是否会将瓶子、卡片、玻璃的图像作为单独的图像或垃圾图像一起使用,并以某种方式对其中的异常进行编码?
    • 代表,如果它被部署在现实世界中,它会看到图像。因此,如果您要从安装在垃圾传送带上方的垃圾相机拍摄图像,请从该相机获取数百张图像,对其进行注释,这就是您的数据集。这当然是理想的情况,你会得到最好的准确性。但是,您可以尝试在单个图像上训练 Faster RCNN 之类的东西,但我不希望本地化(找到对象的“位置”)效果很好。
    • 太棒了。非常感谢
    猜你喜欢
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    相关资源
    最近更新 更多