Microsoft Computer Vision API或Google的Cloud Vision API是否可以获取对象的位置?

时间:2016-12-23 20:56:22

标签: api computer-vision microsoft-cognitive google-cloud-vision

我正在尝试开发一个需要知道图像中标记对象位置的应用程序。知道图像中有“钢琴”是不够的,我需要知道钢琴在图像中的位置。

Microsoft的Computer Vision API和Google的Cloud Vision API都提供了某种形式的裁剪建议/智能缩略图生成服务,这使我认为某些对象的位置正在被检测到 - 但是有一种方法可以获取该信息(如从Microsoft的Computer Vision API或Google的Cloud Vision API开始,每个检测到的对象周围都有一个边界框?

编辑:据我所知,这两个API都可以返回图片中检测到的面部位置,但我正在查找图片中每个对象的位置和大小:汽车,钢琴,树木,人物...任何东西。

4 个答案:

答案 0 :(得分:0)

Microsoft Vision API不会为检测到的对象提供像素坐标(请参阅返回要素:https://dev.projectoxford.ai/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa)。

但是,如果要检测人员,Microsoft API可以返回面部矩形的坐标。

答案 1 :(得分:0)

我目前还不知道任何为您提供对象坐标的API。我建议使用的是YOLO,它为您提供了对象的坐标。您可以使用预先训练的模型或训练自己的模型。

但是,它不是API,您必须编写一些后端代码才能远程运行。

答案 2 :(得分:0)

希望这可以帮助您 https://azure.microsoft.com/en-in/services/cognitive-services/computer-vision/

enter image description here

API:

url:- (In POST) https://{yourvisionapp}.cognitiveservices.azure.com/vision/v2.0/detect
headers:- Content-Type: application/json
Ocp-Apim-Subscription-Key : {yourSubscriptionKey}
body:- {"url":"yoururl"}

样本响应:-

{
    "objects": [
        {
            "rectangle": {
                "x": 460,
                "y": 79,
                "w": 141,
                "h": 258
            },
            "object": "window",
            "confidence": 0.508
        },
        {
            "rectangle": {
                "x": 180,
                "y": 240,
                "w": 299,
                "h": 182
            },
            "object": "Billiard table",
            "confidence": 0.635,
            "parent": {
                "object": "table",
                "confidence": 0.676
            }
        },
        {
            "rectangle": {
                "x": 8,
                "y": 11,
                "w": 497,
                "h": 416
            },
            "object": "room",
            "confidence": 0.547
        }
    ],
    "requestId": "f8aafd95-d17d-4088-a34b-ad616f9cde4a",
    "metadata": {
        "width": 640,
        "height": 427,
        "format": "Jpeg"
    }
}

答案 3 :(得分:0)

2020更新:

这个问题已有几年历史了,但是Microsoft Azure Computer Vision API现在能够在图像中检测到的对象周围绘制边框。 Here is a sample in Python。其他语言也可用。

计算机视觉文档:https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/

Computer Vision SDK:https://docs.microsoft.com/en-us/python/api/azure-cognitiveservices-vision-computervision/?view=azure-python

计算机视觉API:https://westus.dev.cognitive.microsoft.com/docs/services/5cd27ec07268f6c679a3e641/operations/56f91f2e778daf14a499f21b