概要
REST APIエンドポイントに指定のFormデータをPOSTすると分類結果のJSONを応答します。入力画像一枚につき1回APIをリクエストする必要があります。
処理に成功するとHTTPstatus200のステータスコードと共にJSONが応答されます。
リクエスト
-
・エンドポイント
POST https://irp.dcm-dc.biz/recognize?auth_key={APIKEY}
key 値 必須 説明 APIKEY 文字列 ○ 払い出したAPIキーを設定します -
・ボディ
リクエストボディは
Content-Type: multipart/form-data
形式でリクエストを送信します。multipartキー 値 必須 overlap 実数 threshold 実数 image 画像ファイルのバイナリ ○ nHorizontal 実数 ※1 nVertical 数値 ※1 marginRatio 浮動小数点数 ※1 sizeHorizontal 数値 ※2 sizeVertical 数値 ※2 marginSize 数値 ※2 ※1 分割数により分割する場合はnHorizontal、nVertical、marginRatioを指定してください。
※2 サイズにより分割する場合は、sizeHorizontal、sizeVertical、marginSizeを指定してください。-
・overlap
overlap = 2つの矩形の積集合の面積 / 2つの矩形の和集合の面積
です。このオーバーラップ値の閾値を上回った場合に、スコアが大きい方の矩形の情報のみを返却します。値の範囲は0.0〜1.0です。 -
・threshold
スコアがthresholdを上回った矩形だけを返却します。値の範囲は0.0〜1.0です。 -
・image
検出する画像ファイルです。対応しているフォーマットはJPEG、png、bmp、gif、tiffです。 -
・nHorizontal
入力画像を横方向に分割して認識を行います。
(1 <= nHorizontal <= 10)
未指定時はモデルファイルの設定値を用います。 -
・nVertical
入力画像を縦方向に分割して認識を行います。
(1 <= nVertical <= 10)
未指定時はモデルファイルの設定値を用います。 -
・marginRatio
画像分割時、分割後の画像サイズに対して指定した割合の余白を取ります。
(0 <= marginRatio <= 0.5)
未指定時はモデルファイルの設定値を用います。 -
・sizeHorizontal
入力画像を横方向にサイズで分割して認識を行います。
(200 <= sizeHorizontal <= 20000)
未指定時はモデルファイルの設定値を用います。 -
・sizeVertical
入力画像を縦方向にサイズ分割して認識を行います。
(200 <= sizeVertical <= 20000)
未指定時はモデルファイルの設定値を用います。 -
・marginSize
画像分割時、分割後の画像サイズに対して指定した幅の画素数の余白を取ります。
(0 <= marginSize <= X/2)
※ X:sizeHorizontalとsizeVerticalのうち小さい方の値を用います。未指定時はモデルファイルの設定値を用います。
※分割処理に関わる設定値パラメータの優先度について
下記パラメータについては、分割処理の優先度が存在します。
対象パラメータ:nHorizontal, nVertical, sizeHorizontal, sizeVertical
-
・サンプル(共通部)
------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 -
・サンプル(分割数で分割する場合)
------WebKitFormBoundaryhwZz6hhFHARN6wAB
Content-Disposition: form-data; name="nHorizontal"
2
------WebKitFormBoundaryhwZz6hhFHARN6wAB
Content-Disposition: form-data; name="nVertical"
2
------WebKitFormBoundaryhwZz6hhFHARN6wAB
Content-Disposition: form-data; name="marginRatio"
0.1
------WebKitFormBoundaryhwZz6hhFHARN6wAB -
・サンプル(サイズで分割する場合)
------WebKitFormBoundaryhwZz6hhFHARN6wAB
Content-Disposition: form-data; name="sizeHorizontal"
400
------WebKitFormBoundaryhwZz6hhFHARN6wAB
Content-Disposition: form-data; name="sizeVertical"
400
------WebKitFormBoundaryhwZz6hhFHARN6wAB
Content-Disposition: form-data; name="marginSize"
50
------WebKitFormBoundaryhwZz6hhFHARN6wAB
-
・overlap
レスポンス
-
・ボディ
JSONキー 値 必須 jobId 文字列 ○ status 文字列 ○ candidates object配列 ○ -
・jobId
一意の処理IDです。フォーマットはyyyymmddhhmmssfff_APIID
です。 -
・status
処理状態です。 -
・candidates
検出結果のcandidates objectを配列で設定します。 -
・candidates object
JSONキー 値 必須 tag 文字列 ○ score 実数 ○ xMin 実数 ○ yMin 実数 ○ xMax 実数 ○ yMax 実数 ○ -
・tag
検出した物体のタグ名です。 -
・score
検出した物体の精度を表します。値の範囲は0.0〜1.0です。 -
・xMin
検出した矩形の左上x座標です。 -
・yMin
検出した矩形の左上y座標です。 -
・xMax
検出した矩形の右下x座標です。 -
・yMax
検出した矩形の右下y座標です。
-
・tag
-
・サンプル
{
"jobId": "20200713101016366_10080",
"status": "success",
"candidates": [
{
"tag": "cat",
"score": 0.9996671676635742,
"xMin": 334.62042236328125,
"yMin": 66.42976379394531,
"xMax": 420.01275634765625,
"yMax": 160.2348175048828
}
]
}