检测图像中的物理对象数(图像处理)

时间:2016-10-14 07:52:58

标签: ruby-on-rails ruby image-processing google-vision

我正在开发一个Ruby on Rails应用程序,我想在其中检测图像中的物理对象(瓶子和食物包)的数量。

我刚刚探索了Google Vision API(https://cloud.google.com/vision/)来检查这是否可行。我上传了一张带有一些冷饮瓶的照片,得到了以下回复。

{
  "responses" : [
    {
      "labelAnnotations" : [
        {
          "mid" : "\/m\/01jwgf",
          "score" : 0.77698487,
          "description" : "product"
        },
        {
          "mid" : "\/m\/0271t",
          "score" : 0.72027034,
          "description" : "drink"
        },
        {
          "mid" : "\/m\/02jnhm",
          "score" : 0.51373237,
          "description" : "tin can"
        }
      ]
    }
  ]
}

我关注的是,它没有提供图像中可用的冷饮瓶数量,而是返回照片中可用的物品类型。

Google Vision API或其他可用的解决方案是否可以实现此目的?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

我做了一个简单的命令行程序来检测面部,并使用OpenCV通过JRuby用emojis替换它们。这是一个绝对痛苦的设置,但一旦完成它是一个美丽的写入。我还做了一个小脚本来创建OpenCV JRuby项目,可以在shell脚本中使用所需的命令行参数执行,这可以缓解安装时的大部分(如果不是全部)疼痛。

稍后,当我在我的电脑上时,我会将项目和脚本上传到GitHub并在此处将它们链接到此处,但是现在我可以引导您{{3}作为一个例子。

修改

以下是JRuby OpenCV项目和脚本的链接:

this project

JRuby OpenCV Project

答案 1 :(得分:1)

遗憾的是,这个问题不是一个完全解决的问题。您可以使用一些对象检测算法,例如Faster RCNNYOLO。如果它们包含在ImageNet数据集中,它们可以为对象提供边界框;但是,当然你可以用它们训练你自己的分类器。我推荐YOLO,它非常易于使用且记录良好。

此外,您可以部署DIGITS对象检测服务器,其中包括更快的RCNN。它为您提供了一个非常好的用户界面来使用这些模型。