ホーム API API 画像認識

画像認識

    画像認識APIは、画像内の物体や背景情報をもとに名称等を返却するAPIです。現在3つの機能を提供しており、(1)料理やランドマーク等を認識するカテゴリ認識機能、(2)画像内の複数の物体の位置と種類を特定する物体検出機能、(3)画像と似た画像を検索できる類似画像検索機能をご利用いただけます。

    画像認識API利用イメージ
    API
    基本情報

    ■画像認識(カテゴリ認識、物体検出、類似画像検索)

    提供 : REST

    利用条件 : あり※1

    ※1「ガイドライン(必読)」に記載の利用条件に予め同意していただく必要がございます。

    ご利用いただくためには「アカウント登録(無料)」が必要です。

    リファレンスを参照するAPI機能名を選択してください

    物体検出

    画像内に存在する物体の位置と、指定されたカテゴリを判定します。返却値は物体領域(矩形)の左上と右下の座標とカテゴリの名称と判定の確からしさを表すスコアです。

    テクニカルガイドライン

    本機能の使用には、カテゴリの集合体である モデル名 を指定する必要があります。検出に要する時間は、0.3~2.0秒です(※通信環境や指定したモデルに依存します)。

      リクエスト数制限に関して

    • 認識を行った際に403エラーを受信する場合がございます。このエラーが発生した場合は、 ガイドライン 記載のリクエスト数制限を超えた可能性がございます。本制限を超えて、ご利用を希望される場合は、 docomo Innovator support よりご相談ください。
    • 質問画像(入力画像)の注意事項

    • JPEG,PNG,BMPまたはTIFF形式の画像データ(透過PNGは対象外)
    • 推奨画像サイズはVGA(640×480)よりも大きいサイズ。縦長・横長のどちらも可
    • 物体同士の重なりがないことが望ましい
    • アップロードする画像サイズの上限は10MB(アップロード画像が大きいほど、処理時間が増加します)
    •  物体検出の精度が落ちる質問画像(入力画像)

    • VGA相当よりも画像サイズが小さい場合
    • 画質が悪い場合
    • 被写体の一部が隠れている場合

    リクエストURL

    https://api.apigw.smt.docomo.ne.jp/imageRecognition/v1/objectDetection/detect/

    メソッド : POST
    文字コード : UTF-8

    リクエストヘッダ

    キー 必須 説明
    Content-Type リクエストボディのコンテンツタイプを指定。
    multipart/form-data

    リクエストクエリパラメータ

    キー 必須 説明
    APIKEY APIにアクセスするアプリの認証に利用する。

    リクエストボディ(multipart/form-data形式)

    キー 必須 説明
    modelName 検出対象物に合わせて、モデルを切り替えるために用いる必須パラメータ。
    モデル名一覧 から指定する。
    image 画像ファイル(バイナリ)を指定する必須パラメータ。
    overlap 矩形同士のオーバーラップの閾値を設定するために用いる任意パラメータ。
    オーバーラップ値の定義:2つの矩形の積集合の面積/2つの矩形の和集合の面積
    この閾値を上回った場合に、スコアが大きい方の矩形の情報のみを返却する。
    0より大きく、1以下の値を設定する。
    デフォルト値は0.3。
    threshold 矩形のカテゴリのスコアの閾値を設定するために用いる任意パラメータ。
    0以上1以下で設定する。
    この閾値を上回った矩形のみを返却する。
    デフォルト値は0.3

    レスポンスヘッダ(処理成功)

    キー 必須 説明
    Content-Type 受信データのMIMEタイプは、下記を返却。
    application/json;charset=UTF-8

    レスポンスボディ(処理成功)

    キー 必須 説明
    jobId

    物体検出ジョブの識別ID。

    サンプル値) 142505_4NJ31TGOWd

    candidates

    検出結果一覧

    オブジェクトのリストになっており、矩形のスコアの降順にカテゴリ名、スコア、矩形の左上と右下の座標が返却される。

    tag

    カテゴリ名

    入力画像に対して適切と推定される、カテゴリ名。

    score 矩形のカテゴリの確からしさを表すスコア。
    xMin o 矩形の左上のx座標
    yMin o 矩形の左上のy座標
    xMax o 矩形の右下のx座標
    yMax o 矩形の右下のy座標

    レスポンスヘッダ(処理失敗)

    キー 必須 説明
    Content-Type 受信データのMIMEタイプは、下記を返却。
    application/json;charset=UTF-8

    レスポンスボディ(処理失敗)(JSON形式)

    キー 必須 説明
    error エラーオブジェクト。
    code エラーコードを参照
    message エラーメッセージ(機能コード : エラー内容)を参照

    リクエストサンプル

    POST https://api.apigw.smt.docomo.ne.jp/imageRecognition/v1/objectDetection/detect/?APIKEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Content-Type:multipart/form-data;boundary=------WebKitFormBoundaryhwZz6hhFHARN6wAB
    ------WebKitFormBoundaryhwZz6hhFHARN6wAB
    Content-Disposition: form-data; name="modelName"
    
    
    sample
    ------WebKitFormBoundaryhwZz6hhFHARN6wAB
    Content-Disposition: form-data; name=" overlap"
    
    
    0.3
    ------WebKitFormBoundaryhwZz6hhFHARN6wAB
    Content-Disposition: form-data; name="threshold"
    
    
    0.3
    ------WebKitFormBoundaryhwZz6hhFHARN6wAB
    Content-Disposition: form-data; name="image"; filename="sample.png"
    Content-Type: image/png
    
    画像データ(binary)
    ------WebKitFormBoundaryhwZz6hhFHARN6wAB--

    cURLコマンドサンプル

    curl -F "image=@質問画像ファイル名" -F "modelName=currency" -k https://api.apigw.smt.docomo.ne.jp/imageRecognition/v1/objectDetection/detect/?APIKEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    レスポンスサンプル(処理成功)

    Content-Type: application/json;charset=UTF-8
    {
      "jobId": "131249_VlHYfXxlrD",
      "candidates": [
      {
       "tag": "1-yen"
       "score": 0.6548669934272766,
       "xMin": 25.839279174804688,
       "yMin": 33.33399200439453,
       "xMax": 155.0,
       "yMax": 121.85455322265625,
      },
      {
        "tag": "10-yen"
       "score": 0.03307015359401703,
       "xMin": 494.51466369628906,
       "yMin": 316.269195556640625,
       "xMax": 625.1693572998047,
        "yMax": 442.94064331054688,
      }
      ]
    }

    レスポンスサンプル(処理失敗)

    Content-Type: application/json;charset=UTF-8
    {
        "error": {
          "code": "105",
          "message": "Request body is invalid format."
        }
    }

    モデル名一覧

    指定できるモデルの一覧です。リクエストボディのmodelNameに下表のmodelName値を指定します。

    ※各モデルの検出結果として返却されるカテゴリの名称や種類については、一覧表をご用意しております。 下記よりダウンロードが可能です。

    検出対象物一覧表をダウンロード

    モデル名 概要 modelName値
    通貨 日本国の通貨を検出する。(※2,000円札は除く。また、各通貨は2017年時点で発行されているものに限る。) currency
    体の部位 顔・全身・上半身・下半身を検出する。 bodyPart

    よくあるご質問
    APIなどの各サービスに関するよくある質問を掲載します。
    お問い合わせ
    「docomo Developer support」及び「作ろうスマートフォン/iモードコンテンツ」に関するお問い合わせです。よくあるご質問や技術ブログで解決しない場合は、お問い合わせください。