我正在开发一个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或其他可用的解决方案是否可以实现此目的?
非常感谢任何帮助。
答案 0 :(得分:1)
我做了一个简单的命令行程序来检测面部,并使用OpenCV通过JRuby用emojis替换它们。这是一个绝对痛苦的设置,但一旦完成它是一个美丽的写入。我还做了一个小脚本来创建OpenCV JRuby项目,可以在shell脚本中使用所需的命令行参数执行,这可以缓解安装时的大部分(如果不是全部)疼痛。
稍后,当我在我的电脑上时,我会将项目和脚本上传到GitHub并在此处将它们链接到此处,但是现在我可以引导您{{3}作为一个例子。
以下是JRuby OpenCV项目和脚本的链接:
答案 1 :(得分:1)
遗憾的是,这个问题不是一个完全解决的问题。您可以使用一些对象检测算法,例如Faster RCNN和YOLO。如果它们包含在ImageNet数据集中,它们可以为对象提供边界框;但是,当然你可以用它们训练你自己的分类器。我推荐YOLO,它非常易于使用且记录良好。
此外,您可以部署DIGITS对象检测服务器,其中包括更快的RCNN。它为您提供了一个非常好的用户界面来使用这些模型。