对象检测

对象检测类似于标记,但是 API 返回图像中找到的每个对象的边框坐标(以像素为单位)。 例如,如果图像包含狗、猫和人,对象检测操作将列出这些对象及其在图像中的坐标。 可以使用此功能处理图像中对象之间的关系。 还可以确定图像中是否有多个相同对象的实例。

物体检测函数根据图像中识别到的对象或生物来应用标记。 标记分类与对象检测分类之间没有正式关系。 从概念上讲,物体检测函数仅查找对象和生物,而标记函数还可以包含诸如“室内”等上下文术语,这些术语不能使用边界框进行本地化。

对象检测示例

以下 JSON 响应表明分析图像 API 在示例图像中检测对象时所返回的内容。

一位正在厨房中使用 Microsoft Surface 设备的女士

{
   "objects":[
      {
         "rectangle":{
            "x":730,
            "y":66,
            "w":135,
            "h":85
         },
         "object":"kitchen appliance",
         "confidence":0.501
      },
      {
         "rectangle":{
            "x":523,
            "y":377,
            "w":185,
            "h":46
         },
         "object":"computer keyboard",
         "confidence":0.51
      },
      {
         "rectangle":{
            "x":471,
            "y":218,
            "w":289,
            "h":226
         },
         "object":"Laptop",
         "confidence":0.85,
         "parent":{
            "object":"computer",
            "confidence":0.851
         }
      },
      {
         "rectangle":{
            "x":654,
            "y":0,
            "w":584,
            "h":473
         },
         "object":"person",
         "confidence":0.855
      }
   ],
   "requestId":"25018882-a494-4e64-8196-f627a35c1135",
   "metadata":{
      "height":473,
      "width":1260,
      "format":"Jpeg"
   },
   "modelVersion":"2021-05-01"
}

限制

请务必注意对象检测的限制,以便可以避免或缓解误报(缺少对象)和有限详细信息的影响。

  • 如果物体较小(小于图像的 5%),则通常不会检测到这些物体。
  • 如果物体紧密地排列在一起(例如一摞盘子),则通常不会检测到这些物体。
  • 对象不区分品牌或产品名称(例如,商店货架上不同类型的苏打饮料)。 但是可以使用品牌检测功能从图像中获取品牌信息。

使用 API

对象检测功能属于分析图像 API。 可以通过本机 SDK 或 REST 调用来调用此 API。 将 Objects 包括在 visualFeatures 查询参数中。 然后,在获取完整 JSON 响应时,请分析 "objects" 部分内容的字符串。