CLOVA eKYC Document API
- 인쇄
- PDF
CLOVA eKYC Document API
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
버전
날짜 | 변경사항 |
---|---|
2021-12-21 | 최초 작성 |
2022-02-17 | - maskingPolys 예시 추가 - 얼굴 사진 검출(face) 추가 |
2022-05-26 | - rois, alienRegNumEtc 필드 추가 - 여권 maskingText 추가 |
2024-04-25 | 응답결과에 isGrayScale 추가 (신분증 영역의 흑백여부 검출) |
개요
업로드한 이미지를 인식하여 인식 결과를 텍스트로 응답합니다. 인식 결과는 Verify API 호출의 입력으로 사용할 수 있습니다.
요청
메서드 | 요청 URI |
---|---|
POST | - API 연동 설정의 InvokeURL 과 API 경로의 조합으로 호출 - 각 도메인마다 고유의 호출 URL 생성 |
API URL 예시
- {invokeURL}/document
- https://{apigwId}.apigw-pub.fin-ntruss.com/ekyc/v1/{domainId}/{signature}/id-card/document
- https://{apigwId}.apigw-pub.fin-ntruss.com/ekyc/v1/{domainId}/{signature}/biz-license/document
검증 타입
분류 | 설명 | Path |
---|---|---|
신분증 | 신분증(주민등록증, 운전면허증, 여권, 외국인등록증) | /id-card |
사업자등록증 | 사업자등록증, 사업자등록증명 | /biz-license |
요청 헤더
이름 | 설명 |
---|---|
X-EKYC-SECRET | API 연동 설정에서 생성한 X-EKYC-SECRET:{Client Secret} |
Content-Type | application/json : 이미지는 image.data 필드에 base64 인코딩을 하여 전송 multipart/form-data: 이미지를 파일로 전송 |
요청 바디
Content-Type : application/json
- 이미지 인식 요청
분류 | JSON 모델 |
---|---|
이미지 인식 요청 | { "requestId": "string", "timestamp": 0, "images": [{ "format": "string", "data": "string", "name": "string"}] } |
이미지 인식 요청 필드 상세 설명
필드이름 | 필수여부 | 데이터유형 | 설명 | 제약사항 |
---|---|---|---|---|
requestId | Yes | string | API 호출 ID | 동일한 requestId 는 10분간 재사용 불가 |
timestamp | Yes | integer | API 호출 Timestamp 값 | |
images | Yes | string | - Json array로 입력 - 현재는 1개의 이미지 입력만 허용 (한국어) | |
images.format | Yes | string | 이미지 포맷 설정 | 'jpg', 'jpeg', 'png' 이미지, 'pdf', 'tiff' 단일 페이지 형식 지원 |
image.data | Yes | string | image.data는 base64 인코딩 이미지 바이트 | |
image.name | Yes | string | - 이미지명 입력 - 이미지를 식별 및 응답 결과 확인에 사용됨 |
CURL example:
curl -X POST '{invokeUrl}/document' \
-H 'X-EKYC-SECRET: {secretKey}' \
-d '{"images":[{"format":"jpg","name":"demo","data":"{base64Bytes}"], "requestId":"string","timestamp":1584062336793}'
Content-Type : multipart/form-data
- 이미지 인식 요청
필드이름 | 필수여부 | 예시 |
---|---|---|
message | Y | {"requestId": "string","timestamp": 0,"images": [{ "format": "string", "name": "string" }]} |
file | Y | 이미지 파일 |
Form Data Message Value Description
필드이름 | 필수여부 | 데이터유형 | 설명 | 제약사항 |
---|---|---|---|---|
requestId | Yes | string | API 호출 ID | 동일한 requestId 는 10분간 재사용 불가 |
timestamp | Yes | integer | API 호출 Timestamp 값 | |
images | Yes | array | 이미지 상세 정보 | 현재 하나의 이미지만 지원 |
images.format | Yes | string | 이미지 포맷 설정 | “jpg”, “jpeg”, “png” 이미지 ,"pdf","tiff" 단일 페이지 형식을 지원 |
images.name | Yes | string | - 이미지 명 입력 - 이미지 식별 및 응답 결과 확인에 사용 |
CURL example:
curl -X POST '{invokeUrl}/document' \
-H 'X-EKYC-SECRET: {secretKey}' \
-F 'message={"images":[{"format":"png","name":"demo"}],"requestId":"string","timestamp":1584062336793}' \
-F 'file=@image.png'
응답
응답바디
분류 | JSON 모델 |
---|---|
공통 | { "requestId": "string", "timestamp": integer, "uid": "string", "images": "[{}]" } |
필드이름 | 데이터유형 | 설명 |
---|---|---|
requestId | string | API 호출 ID |
timestamp | integer | API 호출 Timestamp 값 |
uid | string | 내부 UUID |
images | Json array | 이미지 인식 결과 |
- 이미지 인식결과 상세
분류 | JSON 모델 |
---|---|
공통 | { "uid": "string", "name": "string", "inferResult": "string", "message": "string", "bizLicense": {}, "idCard": {}, "face": {}, "inferDetailType": "string", "inferDetailTypeResource: "string" } |
필드이름 | 데이터유형 | 설명 |
---|---|---|
uid | string | 인식 결과 ID |
name | string | 요청 이미지명 |
inferResult | string | 이미지 인식 결과 "SUCCESS": 인식 성공 “FAILURE”: 인식 실패 “ERROR”: 인식 오류 |
message | string | 이미지 인식이 성공할 경우에는 "SUCCESS", 나머지 경우에는 원인 노출 |
bizLicense | json object | 사업자등록증인 경우 |
idCard | json object | 신분증인 경우 |
face | json object | 신분증이고, 도메인의 '얼굴 사진 검출' 옵션을 활성화한 경우 |
inferDetailType | string | 진위 검증 API 사용 시 전달할 인식(검증) 상세 유형 값 |
inferDetailResource | string | 진위 검증 API 리소스(URI) 값 |
isGrayScale | boolean | 이미지 흑백 여부 - 신분증(ID_CARD) 인식 요청인 경우에만 값이 존재 - 처리 중 오류가 발생한 경우에도 값이 생략 - 흑백인 경우 true |
주의
*신분증 중 외국인등록증 진위 인증에 필요한 11자리 일련번호(0-000-000-0000)는 외국인등록증 후면에 위치하며, 직접 입력해야 합니다.
- bizLicense 상세
분류 | JSON 모델 |
---|---|
bizLicense | { "meta": {}, "result": {} } |
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
meta | json object | Meta 정보 |
meta.estimatedLanguage | string | OCR 엔진에서 인식한 언어 <예시> en: English, ja: Japanese, ko: Korean |
result | json object | 인식 결과 |
result.birth | BaseObject[] | 생년월일 |
result.bisAddress | BaseObject[] | 사업장 소재지 |
result.bisArea | BaseObject[] | 사업장 면적 |
result.bisItem | BaseObject[] | 종목 |
result.registerNumber | BaseObject[] | 사업자등록번호 |
result.bisType | BaseObject[] | 업태 |
result.companyName | BaseObject[] | 상호 |
result.coRepName | BaseObject[] | 공동사업자명 |
result.corpName | BaseObject[] | 법인명(단체명) |
result.corpRegisterNum | BaseObject[] | 법인등록번호 |
result.coRepSocialNum | BaseObject[] | 공동사업자 주민번호 |
result.documentType | StringObject[] | 사업자등록증 유형(문서이름) |
result.headAddress | BaseObject[] | 본점소재지 |
result.issuanceDate | BaseObject[] | 발급 일자 |
result.issuanceReason | BaseObject[] | 발급 사유 |
result.openDate | BaseObject[] | 개업년월일 |
result.repName | BaseObject[] | 대표자명 |
result.socialNumber | BaseObject[] | 주민등록번호 |
result.taxType | BaseObject[] | 과세유형 |
- idCard 상세
분류 | JSON 모델 |
---|---|
idCard | { "meta": {}, "result": {} } |
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
meta | json object | Meta 정보 |
meta.estimatedLanguage | string | OCR 엔진에서 인식한 언어 (br) <예시> en: English, ja: Japanese, ko: Korean |
result | json object | 인식 결과 |
result.isConfident | boolean | 신뢰성을 반영하는 지표. ID 종류별로 필요한 내용이 있으면 true, 그렇지 않으면 false로 출력 |
result.idtype | string | ID 유형. - "ID Card" - "Driver's License" - "Passport" - "Alien Registration Card" - "unknown" |
result.rois | BoundingPoly[] | 신분증 외곽인식 |
result.ic | json object | 신분증(주민등록증) |
result.ic.name | StringObject[] | 이름 |
result.ic.personalNum | StringObject[] | 주민등록번호, 뒤 7자리 마스킹 |
result.ic.address | StringObject[] | 주소 |
result.ic.issueDate | DateObject[] | 발급일자, 전체 마스킹 |
result.ic.authority | StringObject[] | 발급기관 |
result.dl | json object | 운전면허증 |
result.dl.type | BaseObject[] | 면허종류 |
result.dl.num | StringObject[] | 면허번호, 뒤 8자리 마스킹 |
result.dl.name | StringObject[] | 이름 |
result.dl.personalNum | StringObject[] | 주민등록번호, 뒤 7자리 마스킹 |
result.dl.address | StringObject[] | 주소 |
result.dl.renewStartDate | DateObject[] | 적성검사 (갱신) 기간 시작일 |
result.dl.renewEndDate | DateObject[] | 적성검사 (갱신) 기간 종료일 |
result.dl.condition | StringObject[] | 면허 조건 |
result.dl.code | StringObject[] | 암호일련번호: 위조방지를 위한 숫자, 6자리 번호(숫자와 영문 혼합) 또는 6자리 번호(숫자4자리 + 영문2자) |
result.dl.organDonation | BaseObject[] | 장기·조직기증 |
result.dl.issueDate | DateObject[] | 발급일자, 전체 마스킹 |
result.dl.authority | StringObject[] | 발급기관 |
result.pp | json object | 여권 |
result.pp.type | StringObject[] | 여권종류 |
result.pp.issueCountry | BaseObject[] | 발행국 |
result.pp.num | StringObject[] | 여권번호, 전체 마스킹 |
result.pp.surName | StringObject[] | 성 |
result.pp.givenName | StringObject[] | 이름 |
result.pp.nationality | StringObject[] | 국적 |
result.pp.birthDate | DateObject[] | 생년월일 |
result.pp.personalNum | StringObject[] | 주민등록번호, 전체 마스킹 |
result.pp.sex | StringObject[] | 성별 |
result.pp.issueDate | DateObject[] | 발급일자 |
result.pp.expireDate | DateObject[] | 만료일자 |
result.pp.authority | BaseObject[] | 발급기관 |
result.pp.fullNameKor | StringObject[] | 한글성명 |
result.pp.mrz1 | StringObject[] | MRZ(기계판독영역) 1, 전체 마스킹 |
result.pp.mrz2 | StringObject[] | MRZ(기계판독영역) 2, 전체 마스킹 |
result.ac | json object | 외국인등록증 |
result.ac.alienRegNum | StringObject[] | 외국인등록번호, 뒤 7자리 마스킹 |
result.ac.alienRegNumEtc | StringObject[] | 외국인등록번호 기타, 전체 마스킹 |
result.ac.sex | StringObject[] | 성별 |
result.ac.name | StringObject[] | 이름 |
result.ac.nationality | StringObject[] | 국적 |
result.ac.visaType | StringObject[] | 발급유형 |
result.ac.issueDate | DateObject[] | 발급일자, 전체 마스킹 |
result.ac.authority | StringObject[] | 발급기관 |
result.ac.authorityEng | StringObject[] | 발급기관 (영문) |
result.ac.serialNum | StringObject[] | 일련번호 |
- face 상세
분류 | JSON 모델 |
---|---|
face | { "result": "", "message": "", "faces": [] } |
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
result | string | 처리결과: "SUCCESS": 성공 “ERROR”: 오류 |
message | string | 처리 메시지 |
count | integer | 인식된 얼굴 개수 |
faces | array object | 얼굴 인식 결과 |
faces[].boundingPoly | BoundingPoly[] | 얼굴영역 |
faces[].confidence | float | 신뢰도 |
faces[].landmark | array object | 랜드마크 정보 |
faces[].landmark.type | string | 랜드마크 유형 |
faces[].landmark.position | float[] | 위치 |
faces[].alignedImage | string | 정렬된 이미지 |
faces[].attributes | object | 속성 정보 |
faces[].attributes.eulerAngle | object | 오일러 각 |
faces[].attributes.eulerAngle.pitch | float | Pitch(Tilt) |
faces[].attributes.eulerAngle.roll | float | Roll |
faces[].attributes.eulerAngle.yaw | float | Yaw(Pan) |
faces[].attributes.eulerAngle.pose | string | Pose |
faces[].attributes.eyeOpen | object | 눈을 뜨고 있는지에 대한 속성 |
faces[].attributes.eyeOpen.left | object | 왼쪽 눈 정보 |
faces[].attributes.eyeOpen.right | object | 오른쪽 눈 정보 |
faces[].attributes.eyeOpen.{left / right}.isOpen | boolean | 여부 |
faces[].attributes.eyeOpen.{left / right}.aspectRatio | float | 눈을 뜬 정도 |
faces[].attributes.maskOption | object | 마스크를 썼는지에 대한 속성 |
faces[].attributes.maskOption.isWearing | boolean | 여부 |
faces[].attributes.mouthOpen | object | 입을 벌리고 있는지에 대한 속성 |
faces[].attributes.mouthOpen.isOpen | boolean | 여부 |
faces[].attributes.mouthOpen.aspectRatio | float | 입을 벌린 정도 |
faces[].feature | float[] | 특징 정보 |
- baseObject 상세
분류 | JSON 모델 |
---|---|
baseObject | { "text": "", "boundingPolys": [] } |
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
text | string | 인식 문자 |
boundingPolys | BoundingPoly[] |
- StringObject 상세
분류 | JSON 모델 |
---|---|
baseObject | { "text": "", "formatted": {}, "boundingPolys": [], "maskingPolys": [], "maskingText": "" } |
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
text | string | 인식 문자 |
formatted | json object | 서식화된 인식 문자 |
formatted.value | string | |
boundingPolys | BoundingPoly[] | |
maskingPolys | BoundingPoly[] | |
maskingText | string |
- dateObject 상세
분류 | JSON 모델 |
---|---|
baseObject | { "text": "", "formatted": {}, "boundingPolys": [], "maskingPolys": [], "maskingText": "" } |
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
text | string | 인식 문자 |
formatted | json object | 서식화된 인식 문자 |
formatted.year | string | 4자리 연도 (ISO8601), 값이 없을 수 있음 |
formatted.month | string | 2자리 월 (ISO8601), 값이 없을 수 있음 |
formatted.day | string | 2자리 일 (ISO8601), 값이 없을 수 있음 |
boundingPolys | BoundingPoly[] | |
maskingPolys | BoundingPoly[] | |
maskingText | string |
- boundingPoly 상세
분류 | JSON 모델 |
---|---|
boundingPoly | { "vertices":[{}] } |
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
vertices | vertices object | 인식문자 영역의 좌표정보 |
- vertices 상세
분류 | JSON 모델 |
---|---|
vertices | { "x": 0.0, "y": 0.0 } |
필드 이름 | 데이터 유형 | 설명 |
---|---|---|
x | float | X 좌표 |
y | float | y 좌표 |
예시
DOCUMENT 요청 예시
{
"requestId": "string",
"timestamp": 0,
"images": [
{
"format": "jpg",
"name": "test 1",
"data": "data"
}
]
}
biz license 응답 예시
{
"requestId":"string",
"timestamp":1613984821070,
"uid":"cc987492e03146029046ff749fd76de9",
"images":[
{
"bizLicense":{
"meta":{
"estimatedLanguage":"ko"
},
"result":{
"birth":[
{
"text":"1900 년 1월 1일",
"boundingPolys":[
{
"vertices":[
{
"x":396.0,
"y":254.0
},
{
"x":421.0,
"y":254.0
},
{
"x":421.0,
"y":265.0
},
{
"x":396.0,
"y":265.0
}
]
}
]
}
],
"bisAddress":[
{
"text":"경기도 성남시 분당구 불정로 6",
"boundingPolys":[
{
"vertices":[
{
"x":193.0,
"y":288.0
},
{
"x":235.0,
"y":288.0
},
{
"x":235.0,
"y":300.0
},
{
"x":193.0,
"y":300.0
}
]
}
]
}
],
"bisArea":[
],
"bisItem":[
{
"text":"비주거용 건물 임대업(점포, 자기자)",
"boundingPolys":[
{
"vertices":[
{
"x":368.0,
"y":325.0
},
{
"x":399.0,
"y":325.0
},
{
"x":399.0,
"y":334.0
},
{
"x":368.0,
"y":334.0
}
]
}
]
}
],
"registerNumber":[
{
"text":"123-45-6789",
"boundingPolys":[
{
"vertices":[
{
"x":290.0,
"y":210.0
},
{
"x":386.0,
"y":211.0
},
{
"x":386.0,
"y":227.0
},
{
"x":290.0,
"y":225.0
}
]
}
]
}
],
"bisType":[
{
"text":"부동산업 및 임대업",
"boundingPolys":[
{
"vertices":[
{
"x":221.0,
"y":322.0
},
{
"x":262.0,
"y":322.0
},
{
"x":262.0,
"y":333.0
},
{
"x":221.0,
"y":333.0
}
]
}
]
}
],
"companyName":[
{
"text":"네이버",
"boundingPolys":[
{
"vertices":[
{
"x":194.0,
"y":232.0
},
{
"x":293.0,
"y":233.0
},
{
"x":293.0,
"y":247.0
},
{
"x":194.0,
"y":245.0
}
]
}
]
}
],
"coRepName":[
],
"corpName":[
],
"corpRegisterNum":[
],
"coRepSocialNum":[
],
"documentType":[
{
"text":"사업자등록증",
"formatted":{
"value":"사업자등록증"
},
"boundingPolys":[
{
"vertices":[
{
"x":199.0,
"y":157.0
},
{
"x":396.0,
"y":160.0
},
{
"x":396.0,
"y":189.0
},
{
"x":198.0,
"y":186.0
}
]
}
]
}
],
"headAddress":[
],
"issuanceDate":[
{
"text":"2017 년 06 월 29일",
"boundingPolys":[
{
"vertices":[
{
"x":225.0,
"y":623.0
},
{
"x":259.0,
"y":623.0
},
{
"x":259.0,
"y":637.0
},
{
"x":225.0,
"y":637.0
}
]
}
]
}
],
"issuanceReason":[
{
"text":"2017 년 06 월 29일",
"boundingPolys":[
{
"vertices":[
{
"x":225.0,
"y":623.0
},
{
"x":259.0,
"y":623.0
},
{
"x":259.0,
"y":637.0
},
{
"x":225.0,
"y":637.0
}
]
}
]
}
],
"openDate":[
{
"text":"2014 년 06 월 09 일",
"boundingPolys":[
{
"vertices":[
{
"x":193.0,
"y":271.0
},
{
"x":218.0,
"y":271.0
},
{
"x":218.0,
"y":280.0
},
{
"x":193.0,
"y":280.0
}
]
}
]
}
],
"repName":[
{
"text":"홍길동",
"boundingPolys":[
{
"vertices":[
{
"x":193.0,
"y":251.0
},
{
"x":228.0,
"y":251.0
},
{
"x":228.0,
"y":264.0
},
{
"x":193.0,
"y":264.0
}
]
}
]
}
],
"socialNumber":[
],
"taxType":[
{
"text":"일반과세자",
"boundingPolys":[
{
"vertices":[
{
"x":238.0,
"y":185.0
},
{
"x":357.0,
"y":187.0
},
{
"x":357.0,
"y":209.0
},
{
"x":238.0,
"y":207.0
}
]
}
]
}
]
}
},
"uid":"ecf05843a1f444b6943e9d202475c3eb",
"name":"testV2Demo",
"inferResult":"SUCCESS",
"message":"SUCCESS",
"inferDetailType":"BL_SOLE",
"inferDetailResource":"bl-sole"
}
]
}
id card 응답 예시
{
"requestId":"string",
"uid":"cc987492e03146029046ff749fd76de9",
"timestamp":1613984543939,
"images":[
{
"idCard":{
"meta":{
"estimatedLanguage":"ko"
},
"result":{
"isConfident":true,
"ic":{
"name":[
{
"text":"홍길동",
"formatted":{
"value":"홍길동"
},
"boundingPolys":[
{
"vertices":[
{
"x":93.0,
"y":135.0
},
{
"x":257.0,
"y":135.0
},
{
"x":257.0,
"y":161.0
},
{
"x":93.0,
"y":161.0
}
]
}
]
}
],
"personalNum":[
{
"text":"123456-1234567",
"formatted":{
"value":"123456-1234567"
},
"boundingPolys":[
{
"vertices":[
{
"x":83.0,
"y":166.0
},
{
"x":260.0,
"y":166.0
},
{
"x":260.0,
"y":186.0
},
{
"x":83.0,
"y":186.0
}
]
}
],
"maskingPolys":[
{
"vertices":[
{
"x":258.2492,
"y":610.1344
},
{
"x":430.12534,
"y":609.4809
},
{
"x":430.27927,
"y":649.9628
},
{
"x":258.40314,
"y":650.61633
}
]
}
]
}
],
"address":[
{
"text":"경기도 성남시 분당구 불정로 6",
"formatted":{
"value":"경기도 성남시 분당구 불정로 6"
},
"boundingPolys":[
{
"vertices":[
{
"x":43.0,
"y":232.0
},
{
"x":148.0,
"y":232.0
},
{
"x":148.0,
"y":255.0
},
{
"x":43.0,
"y":255.0
}
]
},
{
"vertices":[
{
"x":47.0,
"y":212.0
},
{
"x":150.0,
"y":212.0
},
{
"x":150.0,
"y":234.0
},
{
"x":47.0,
"y":234.0
}
]
},
{
"vertices":[
{
"x":154.0,
"y":232.0
},
{
"x":240.0,
"y":232.0
},
{
"x":240.0,
"y":255.0
},
{
"x":154.0,
"y":255.0
}
]
},
{
"vertices":[
{
"x":156.0,
"y":212.0
},
{
"x":219.0,
"y":212.0
},
{
"x":219.0,
"y":234.0
},
{
"x":156.0,
"y":234.0
}
]
},
{
"vertices":[
{
"x":224.0,
"y":212.0
},
{
"x":302.0,
"y":212.0
},
{
"x":302.0,
"y":235.0
},
{
"x":224.0,
"y":235.0
}
]
},
{
"vertices":[
{
"x":305.0,
"y":213.0
},
{
"x":333.0,
"y":213.0
},
{
"x":333.0,
"y":234.0
},
{
"x":305.0,
"y":234.0
}
]
}
]
}
],
"issueDate":[
{
"text":"2011.3. 6.",
"formatted":{
"year":"2011",
"month":"03",
"day":"06"
},
"boundingPolys":[
{
"vertices":[
{
"x":261.0,
"y":314.0
},
{
"x":351.0,
"y":314.0
},
{
"x":351.0,
"y":336.0
},
{
"x":261.0,
"y":336.0
}
]
},
{
"vertices":[
{
"x":354.0,
"y":314.0
},
{
"x":376.0,
"y":314.0
},
{
"x":376.0,
"y":334.0
},
{
"x":354.0,
"y":334.0
}
]
}
],
"maskingPolys":[
{
"vertices":[
{
"x":363.34433,
"y":806.5713
},
{
"x":566.1842,
"y":806.5713
},
{
"x":566.1842,
"y":846.6676
},
{
"x":363.34433,
"y":846.6676
}
]
}
]
}
],
"authority":[
{
"text":"경기도 성남시장",
"formatted":{
"value":"경기도 성남시장"
},
"boundingPolys":[
{
"vertices":[
{
"x":172.0,
"y":338.0
},
{
"x":346.0,
"y":338.0
},
{
"x":346.0,
"y":366.0
},
{
"x":172.0,
"y":366.0
}
]
},
{
"vertices":[
{
"x":347.0,
"y":338.0
},
{
"x":435.0,
"y":336.0
},
{
"x":435.0,
"y":363.0
},
{
"x":348.0,
"y":365.0
}
]
}
]
}
]
},
"idtype":"ID Card",
"rois":[
{
"vertices":[
{
"x":6.621968,
"y":402.74738
},
{
"x":821.2469,
"y":399.2432
},
{
"x":823.8017,
"y":930.30945
},
{
"x":-6.528688,
"y":932.80493
}
]
}
]
}
},
"face":{
// 얼굴 사진 검출이 활성화된 경우{
"result":"SUCCESS",
"message":"Success",
"faces":[
{
"boundingPoly":{
"vertices":[
{
"x":366.07977,
"y":60.829987
},
{
"x":446.45795,
"y":60.829987
},
{
"x":446.45795,
"y":163.32437
},
{
"x":366.07977,
"y":163.32437
}
]
},
"confidence":0.9997929,
"landmark":[
{
"type":"CHIN",
"position":[
363.64542,
99.73236
]
},
//...,
{
"type":"CHIN",
"position":[
446.89664,
98.93187
]
},
{
"type":"LEFT_EYEBROW",
"position":[
372.45084,
90.12645
]
},
//...,
{
"type":"LEFT_EYEBROW",
"position":[
376.4533,
89.32596
]
},
{
"type":"RIGHT_EYEBROW",
"position":[
415.67743,
90.12645
]
},
//...,
{
"type":"RIGHT_EYEBROW",
"position":[
415.67743,
94.128914
]
},
{
"type":"BRIDGE_OF_NOSE",
"position":[
406.07153,
102.93434
]
},
//...,
{
"type":"BRIDGE_OF_NOSE",
"position":[
405.27103,
125.34814
]
},
{
"type":"NOSE",
"position":[
396.4656,
130.95158
]
},
//...,
{
"type":"NOSE",
"position":[
414.87695,
130.95158
]
},
{
"type":"LEFT_EYE",
"position":[
377.25378,
101.33335
]
},
//...,
{
"type":"LEFT_EYE",
"position":[
382.05673,
103.73483
]
},
{
"type":"RIGHT_EYE",
"position":[
418.07892,
105.335815
]
},
//...,
{
"type":"RIGHT_EYE",
"position":[
422.08136,
106.136314
]
},
{
"type":"LIBS",
"position":[
390.06168,
142.15848
]
},
//...,
{
"type":"LIBS",
"position":[
394.06412,
146.96144
]
},
{
"type":"MOUTH",
"position":[
390.86215,
142.15848
]
},
//...,
{
"type":"MOUTH",
"position":[
398.0666,
144.55995
]
},
{
"type":"LEFT_PUPIL",
"position":[
386.0592,
101.33335
]
},
{
"type":"RIGHT_PUPIL",
"position":[
426.08383,
102.93434
]
}
],
"alignedImage":"",
"attributes":{
"eulerAngle":{
"pitch":-5.3966002,
"roll":1.0796471,
"yaw":-1.540036,
"pose":"front"
},
"eyeOpen":{
"left":{
"isOpen":true,
"aspectRatio":0.28551573
},
"right":{
"isOpen":true,
"aspectRatio":0.30153692
}
},
"mouthOpen":{
"isOpen":false,
"aspectRatio":0.0316009
}
},
"feature":[
0.030027457,
//...,
-0.045810863,
]
}
],
"count":1
}
},
"uid":"0012374f247f4e70966d35eaa3c41d2a",
"name":"testV2Demo",
"inferResult":"SUCCESS",
"message":"SUCCESS",
"inferDetailType":"IC",
"inferDetailResource":"ic",
"isGrayScale": true
}
]
}
이 문서가 도움이 되었습니까?