ARC eye VOT API
- 印刷する
- PDF
ARC eye VOT API
- 印刷する
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
概要
ARC eye Visual Object Tracking(VOT) APIは、推定対象の物体が撮影された画像を渡し、画像から物体を検出した結果と姿勢を推定した結果を返します。
APIの準備
VOTアプリとコンソールを介して物体を変換し、APIをデプロイします。詳細は、ご利用ガイドをご参照ください。
リクエスト
メソッド | リクエスト URI |
---|---|
POST | ARC eye > API > API連携キーの確認の InvokeURLで呼び出す |
リクエストヘッダ
名前 | 説明 |
---|---|
X-ARCEYE-SECRET | ARC eye > API > API連携キーの確認の Secret Keyを使用 |
Content-Type | multipart/form-data |
リクエストボディ
フィールド名 | 必須の有無 | データタイプ | 説明 | 制限事項 |
---|---|---|---|---|
image | Y | file | 物体検出を行う RGB画像 | jpg, png |
uuid | Y | string | 画像を撮影したデバイスの uuid | |
timestamp | Y | number | 画像撮影時点の timestamp | milliseconds |
intrinsic | Y | string | 物体姿勢推定に使用されたカメラ intrinsicパラメータ | |
distort | Y | string | 物体姿勢推定に使用されたカメラ distortionパラメータ | |
gravity | N | string | 物体姿勢推定に使用された重力方向(リクエスト時に提供されない場合、extrinsicから計算された値) | |
extrinsic | Y | string | 物体姿勢推定に使用されたカメラ姿勢 |
CURL example:
curl -X POST '{invokeUrl}' \
-H 'X-ARCEYE-SECRET: {secretKey}' \
-H 'Content-Type: multipart/form-data' \
-F 'image=@object.jpg \
-F 'uuid=a4315b63-2d64-11ef-becb-005056a70a22' \
-F 'timestamp=1718709558076' \
-F 'intrinsic=1524.3942260742188,0.0,539.0464782714844,0.0,1524.3942260742188,950.2188720703125,0.0,0.0,1.0' \
-F 'distort=0.0,0.0,0.0,0.0,0.0' \
-F 'extrinsic=-0.5501050024473961,-0.03056710354932507,-0.834535882070361,-0.2494854635652485-0.42819610313094764,0.8682865385146257,0.25045275861479593,-0.16543658916848714,0.7169606569023306,,0.495120328016226,-0.4907374830184501,0.189104661569504620.0,0.0,0.0,1.0'
レスポンス
レスポンスボディ
フィールド名 | データタイプ | 説明 |
---|---|---|
result | string | レスポンス結果: "SUCCESS"、"FAILURE" |
version | string | バージョン |
uuid | string | リクエスト時に使用されたデバイス uuid |
timestamp | number | リクエスト時に使用された画像の作成時間 |
message | string | 検出状態メッセージ |
status | boolean | 検出状態 |
recvtime | number | Poserで Detectorのリクエストを受信した時点 |
running_time | object | 姿勢推定にかかった実行時間 |
candidate_obj_id | number | 最も確率が高く、最もカメラに近い物体 id(index) |
objects | array | 姿勢推定に使用された物体情報 |
object[].projectid | string | 姿勢推定を行った projectid |
object[].poserid | string | 姿勢推定を行った videoid(objectid) |
object[].bbox2d | array(4,2) | 姿勢推定のために提供された detectorの検出 roi |
object[].corners3d | array(9,3) | 3D空間で(0,0)を中心とした 3D object bounding boxの座標 |
object[].corners2d | array(9,2) | 3D object bounding boxに対応する image座標 |
object[].intrinsic | array(3,3) | 姿勢推定に使用されたカメラ intrinsicパラメータ |
object[].distort | array(5) | 姿勢推定に使用されたカメラ distortionパラメータ |
object[].extrinsic | array(4,4) | 姿勢推定に使用されたカメラ姿勢 |
object[].gravity | array | 姿勢推定に使用された重力方向(リクエスト時に提供されない場合、extrinsicから計算された値) |
object[].rvec | array(3) | カメラ基準で物体の rodriguesの回転[θx,θy,θz] |
object[].tvec | array(3) | カメラ基準で物体の position [tx,ty,tz] |
object[].size | array(3) | 物体のサイズ情報[width, height, depth] |
object[].status | boolean | 物体の姿勢推定状態 |
object[].message | string | 物体の姿勢推定状態情報 |
レスポンス例
検出成功
{
"result": "SUCCESS",
"version": "3.0.0-1",
"projectid": "b385865f-67f3-4341-aca5-166d20df952b",
"recvtime": 1712213062.4720848,
"timestamp": 1712213062.2513185,
"uuid": "933ec42646f8",
"status": True,
"message": "VOT_DETECTOR_SUCCESS",
"running_time": {
"poser": {"response": 248, "total": 252},
"processing": 457,
"recognizer": {"matching": 48, "searching": 18, "total": 68}
},
"candidate_obj_id": 0,
"objects": [
{
"bbox2d": [[677.0, 1472.0], [1466.0, 1472.0], [1466.0, 2861.0], [677.0, 2861.0]],
"conf_thresh": 0.3,
"corners2d": [[1048, 2119], [746, 2513], [726, 1473], [715, 2864], [686, 1564], [1297, 2500], [1335, 1477], [1408, 2842], [1472, 1568]],
"corners3d": [[0.0, 0.0, 0.0],
[-0.29031120781734804, -0.5381274223327637, -0.3174518426978675],
[-0.29031120781734804, 0.5381274223327637, -0.3174518426978675],
[-0.29031120781734804, -0.5381274223327637, 0.3174518426978675],
[-0.29031120781734804, 0.5381274223327637, 0.3174518426978675],
[0.29031120781734804, -0.5381274223327637, -0.3174518426978675],
[0.29031120781734804, 0.5381274223327637, -0.3174518426978675],
[0.29031120781734804, -0.5381274223327637, 0.3174518426978675],
[0.29031120781734804, 0.5381274223327637, 0.3174518426978675]],
"distort": [0.0, 0.0, 0.0, 0.0, 0.0],
"extrinsic": [[-0.2429226121477801, -0.2506293885132776, 0.9371091260471003, 0.0],
[-0.009911837278829036, 0.9666372782061301, 0.2559572774195017, 0.0],
[-0.9699950309094669, 0.05288933725909484, -0.23730225033748942, 0.0],
[0.012476532015234023, 0.021933435026800476, 0.024992155870001847, 1.0]],
"global_pose": [[1.0, 0.0, 0.0, 0.0],
[0.0, 1.0, 0.0, 0.0],
[0.0, 0.0, 1.0, 0.0],
[0.0, 0.0, 0.0, 1.0]],
"global_prob": 1.0,
"gravity": [-0.009911837278828987, 0.966637278206129, 0.2559572774195015],
"intrinsic": [[2834.314, 0.0, 1093.1019], [0.0, 2834.314, 1933.7009], [0.0, 0.0, 1.0]],
"message": "VOT_OBJECT_POSE_SUCCESS",
"obj_prob": 1.0,
"objid": "rookie",
"pose": [[0.9968414902687073, 0.014719659462571144, 0.0780409649014473, -0.03976171463727951],
[-0.006204552017152309, -0.9652349948883057, 0.26131001114845276, 0.16608235239982605],
[0.07917426526546478, -0.2609688639640808, -0.9620949625968933, 2.5332860946655273],
[0.0, 0.0, 0.0, 1.0]],
"poserid": "14dfc56c-a640-4281-9e95-aa49b61d51bd",
"projectid": "b385865f-67f3-4341-aca5-166d20df952b",
"rvec": [-2.8748595829506685, -0.006238192822651484, -0.1151763449620682],
"sim_prob": 0.9999999255277782,
"size": [0.5806224156346961, 1.0762548446655273, 0.634903685395735],
"status": True,
"tvec": [-0.03976171527617555, 0.1660823578702362, 2.5332861897611787],
"type": "normal"
}
]
}
検出失敗
{
"result": "FAILURE",
"running_time": {
"processing": 2
},
"timestamp": 1718709558076,
"version": "3.0.0-1",
"candidate_obj_id": 0
}
エラーコード
エラーレスポンス:
{
"code": "9999",
"message": "Unknown server error.",
"path": "path",
"product": "ARC eye",
"traceId": "9c1f55ac7d8341d792a922b2590c045f",
"timestamp": 1570776853475,
"status": "500"
}
エラーコード | HTTPの状態 | 説明 |
---|---|---|
0001 | 404 | Not Found |
0020 | 401 | Unauthorized |
0030 | 403 | Forbidden |
0100 | 40x | Invalid Parameter |
0101 | 409 | Duplicate |
1000 | 50x | Internal API Error |
1001 | 500 | Processing Error |
9999 | 500 | Unknown Error |
この記事は役に立ちましたか?