画像内の一般的なオブジェクトを検出するDetect common objects in images

オブジェクトの検出はタグ付けに似ていますが、API で返されるのは、検出された各オブジェクトの境界ボックスの座標 (ピクセル単位) です。Object detection is similar to tagging, but the API returns the bounding box coordinates (in pixels) for each object found. たとえば犬や猫、人物が画像に含まれている場合、検出操作によって、それらのオブジェクトが、画像における対応する座標と共に一覧表示されます。For example, if an image contains a dog, cat and person, the Detect operation will list those objects together with their coordinates in the image. この機能を使用すれば、画像に含まれるオブジェクト間の関係を処理することができます。You can use this functionality to process the relationships between the objects in an image. 画像内に同じタグのインスタンスが複数存在するかどうかも判別できます。It also lets you determine whether there are multiple instances of the same tag in an image.

Detect API は、画像内で特定されたオブジェクトや生物に応じてタグを適用します。The Detect API applies tags based on the objects or living things identified in the image. この時点では、タグ付けの分類とオブジェクト検出の分類との間に、正式な関係は存在しません。There is currently no formal relationship between the tagging taxonomy and the object detection taxonomy. 概念レベルで言えば、Detect API はオブジェクトや生物を検出するだけであるのに対し、Tag API では、コンテキスト上の用語 ("indoor" など) も対象となり、それらの位置を境界ボックスで特定することはできません。At a conceptual level, the Detect API only finds objects and living things, while the Tag API can also include contextual terms like "indoor", which can't be localized with bounding boxes.

オブジェクト検出の例Object detection example

次の JSON 応答は、Computer Vision がサンプル画像からオブジェクトを検出するときに返す内容を示しています。The following JSON response illustrates what Computer Vision returns when detecting objects in the example image.

キッチンで 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":"a7fde8fd-cc18-4f5f-99d3-897dcd07b308",
   "metadata":{
      "width":1260,
      "height":473,
      "format":"Jpeg"
   }
}

制限事項Limitations

検知漏れ (見落とされたオブジェクト) や詳細の利用制限の影響を回避または軽減できるように、オブジェクト検出の制限事項に注意することが重要です。It's important to note the limitations of object detection so you can avoid or mitigate the effects of false negatives (missed objects) and limited detail.

  • オブジェクトが小さい (画像の 5 % 未満) 場合、通常、それらのオブジェクトは検出されません。Objects are generally not detected if they're small (less than 5% of the image).
  • オブジェクトが近くに配置されている場合 (積み重ねられた皿など)、通常、それらのオブジェクトは検出されません。Objects are generally not detected if they're arranged closely together (a stack of plates, for example).
  • オブジェクトは、ブランド名や製品名 (店の棚にある各種のソーダなど) によって区別されません。Objects are not differentiated by brand or product names (different types of sodas on a store shelf, for example). ただし、ブランド検出機能を使用すると画像からブランド情報を取得できます。However, you can get brand information from an image by using the Brand detection feature.

API の使用Use the API

オブジェクト検出機能は Analyze Image API に含まれています。The object detection feature is part of the Analyze Image API. ネイティブ SDK または REST を呼び出すことでこの API を呼び出すことができます。You can call this API through a native SDK or through REST calls. ObjectsvisualFeatures クエリ パラメーターに追加します。Include Objects in the visualFeatures query parameter. その後、完全な JSON 応答が得られたら、"objects" セクションのコンテンツを対象に文字列を解析します。Then, when you get the full JSON response, simply parse the string for the contents of the "objects" section.