ARC eye VL API
    • PDF

    ARC eye VL API

    • PDF

    Article Summary

    개요

    ARC eye Visual Localization (VL) API 는 카메라를 포함한 비전 디바이스로부터 수집된 정보를 통해, 실외 및 GPS가 통하지 않는 실내에서도 현재 위치를 정확하게 알려주는 위치 측위 서비스를 제공합니다. 이미지만으로 실내 위치 데이터를 확인할 수 있습니다.

    공간데이터 구축

    콘솔에서 공간데이터를 구축하여 VL API 를 사용할 수 있습니다. SLAM 데이터 변환부터 SLAM 데이터 병합, 로컬라이즈, VL 데이터 변환까지 모든 작업을 순서대로 진행해야합니다. 자세한 내용은 ARC eye 사용가이드 를 참조하세요.

    API 준비

    VL 데이터 병합이 성공하면, ARC eye > API 메뉴에 '대기' 상태의 API 가 생성됩니다. 해당 API 를 선택하여 배포하면 VL API 를 사용할 수 있습니다.
    또다른 API 를 생성하여 배포할 버전을 변경할 경우에는 기존 API 는 중지됩니다. *중지중에는 다른 API 를 배포할 수 없습니다.

    요청

    메서드요청 URI
    POSTARC eye > API > API 연동 키 확인 의 InvokeURL 로 호출

    요청 헤더

    이름설명
    X-ARCEYE-SECRETARC eye > API > API 연동 키 확인 의 Secret Key 사용
    Content-Typemultipart/form-data

    요청 바디

    필드이름필수여부데이터유형설명제약사항
    imageYfile이미지 파일
    cameraParametersNstring카메라 파마미터 정보를 입력. 입력하지 않으면 디폴트 값으로 동작
    fx,fy,cx,cy,k1,k2,p1,p2,k3
    - (fx,fy): focal length
    - (cx,cy): principal point
    - (k1,k2): radial distortion
    - (p1,p2): tangential distortion
    - (k3): radial distortion
    lastPoseNstring- 쿼리 이미지를 생성하는 시점에 추정된 이미지의 comma로 구분된 6-dof pose 정보
    - 최근에 응답받은 pose 값에 odometry 값을 더함.
    odometry 와 함께 사용되어야함
    odometryNstring- comma로 구분된 6-dof pose 정보
    - 마지막 쿼리 이미지를 보낸 시점에서 현재 쿼리 이미지를 보낸 시점사이의 pose 변화량
    lastPose 와 함께 사용되어야함
    withGlobalNboolean- true 일 경우 lastPose 값을 "위도, 경도, tz, qw, qx, qy, qz" 으로 해석.
    - 만약 값이 설정되어 있지 않거나 false 일 경우 lastPose 값을 "tx, ty, tz, qw, qx, qy, qz" 으로 해석.

    CURL example:

    curl -X POST '{invokeUrl}' \
    -H 'X-ARCEYE-SECRET: {secretKey}' \
    -H 'Content-Type: multipart/form-data' \
    -F 'image=@location.jpg;type=image/jpeg'
    
    curl -X POST '{invokeUrl}' \
    -H 'X-ARCEYE-SECRET: {secretKey}' \
    -H 'Content-Type: multipart/form-data' \
    -F 'image=@location.jpg;type=image/jpeg' \
    -F 'odometry=0,0,0,1,0,0,0' \
    -F 'lastPose=0,0,0,1,0,0,0' \
    -F 'cameraParameters=1186.7,1406.5,540,960,0.0,0.0,0.0,0.0,0.0'
    

    응답

    응답바디

    필드이름데이터유형설명
    resultstring응답결과 : "SUCCESS", "FAILURE"
    messagestring결과메시지
    tipsstring추가정보
    posestring이미지이름,tx,ty,tz,qw,qx,qy,qz 값을 의미
    totalint쿼리이미지에서 추출된 특징점의 전체 개수
    inlierint쿼리이미지에서 추출된 유효한 특징점의 전체 개수
    residualfloat유효한 특징점의 projection error (pixel 단위)
    statusstring서버 상태
    floorstring쿼리 이미지의 층정보
    lonLatstringLongitude(경도), Latitude (위도)
    globalPosestring이미지이름,위도,경도,altitude,qw,qx,qy,qz 값을 의미
    nnPosesstring[]인접한 레퍼런스 이미지들의 이미지이름,tx,ty,tz,qw,qx,qy,qz 값을 의미
    datasetInfostring스캔시에 구분한 각 계층의 이름들을 하나로 이어붙인 값

    응답 예시

    {
      "result": "SUCCESS",
      "status": "success",
      "pose": "VL0_0000050014880892_000000006.jpg,2.746507,9.889554,-20.729435,0.657244,-0.096816,-0.068169,0.744318",
      "total": 7738,
      "inlier": 1762,
      "residual": 5.998124,
      "floor": "ground",
      "lonlat": "126.61787915108854,37.47318807235039",
      "globalPose": "VL0_0000050014880892_000000006.jpg,37.47318807235039,126.61787915108854,21.688565,0.657244,-0.096816,-0.068169,0.744318",
      "nnPoses": [
        "VL0_1663124545528216.jpg,3.219894,17.559616,-19.898514,0.720037,-0.121523,-0.006865,0.683177",
        "VL1_1663124536528144.jpg,3.498234,18.586061,-20.282135,0.721541,-0.07256,-0.117165,0.678518",
        "VL2_1663124537528455.jpg,2.849693,18.648811,-20.386539,0.631969,-0.018601,-0.109304,0.767022",
        "VL0_1663124544528213.jpg,3.159655,16.287134,-19.874195,0.701073,-0.139553,0.015575,0.699127",
        "VL1_1663124521528042.jpg,4.446866,15.010426,-19.975168,0.755891,-0.150474,-0.035666,0.636171",
        "VL1_1663124543528186.jpg,3.704958,15.066489,-20.11025,0.761836,-0.152187,-0.059388,0.626832",
        "VL4_1663124540528089.jpg,4.224849,16.700996,-20.057743,0.601045,-0.055503,-0.034118,0.796555",
        "VL0_1663124547528227.jpg,2.683109,20.13681,-20.074528,0.543752,-0.150696,-0.013089,0.825502",
        "VL4_1663124516527975.jpg,3.005801,17.602791,-20.282951,0.761109,-0.017261,-0.000655,0.648394",
        "VL2_1663124520528189.jpg,5.639919,15.146515,-19.748491,0.675394,-0.108291,-0.088871,0.724029",
        "VL1_1663124513527983.jpg,4.592686,18.804764,-20.067684,0.770351,-0.120287,-0.11107,0.616242"
      ],
      "datasetInfo": "123_LOCAL_GND_1F_084"
    }
    
    {
      "result": "FAILURE",
      "status": "success",
      "message": "internal server error",
      "pose": "failed",
      "floor": "",
      "lonlat": "",
      "globalPose": "",
      "datasetInfo": ""
    }
    

    에러코드

    에러응답:

    {
      "code": "9999",
      "message": "Unknown server error.",
      "path": "/api/v1",
      "product": "ARC eye",
      "traceId": "9c1f55ac7d8341d792a922b2590c045f",
      "timestamp": 1570776853475,
      "status": "500"
    }
    
    에러코드HTTP 상태설명
    0001404Not Found
    0020401Unauthorized
    0030403Forbidden
    010040xInvalid Parameter
    0101409Duplicate
    100050xInternal API Error
    1001500Processing Error
    9999500Unknown Error

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.