차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
ko:face_api [2021/04/22 15:35] kkshin [BS2Face] |
ko:face_api [2025/02/18 10:52] (현재) ghshin [BS2FaceEx] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Face API ====== | ====== Face API ====== | ||
- | 사용자 얼굴을 인식하여 템플릿 데이터 추출하고 매치하는 함수를 제공하는 API입니다. \\ | + | 사용자의 얼굴을 인식하여 템플릿 데이터를 추출하고 매치하는 함수를 제공하는 API입니다. \\ |
- | * [[BS2_ScanFace]]: ''FaceStation2'' ''FaceLite'' 장치에서 얼굴을 스캔하고 템플릿 데이터와 이미지 데이터를 추출합니다. | + | * [[BS2_ScanFace]]: ''IR Face 기반'' 장치에서 얼굴을 스캔하고 템플릿 데이터와 이미지 데이터를 추출합니다. |
* [[BS2_GetAuthGroup]]: 주어진 인증 그룹을 가져옵니다. | * [[BS2_GetAuthGroup]]: 주어진 인증 그룹을 가져옵니다. | ||
- | * [[BS2_GetAllAuthGroup]]: 모든 인증 그룹을 가져옵니다. * | + | * [[BS2_GetAllAuthGroup]]: 모든 인증 그룹을 가져옵니다. |
* [[BS2_SetAuthGroup]]: 인증 그룹을 설정합니다. | * [[BS2_SetAuthGroup]]: 인증 그룹을 설정합니다. | ||
* [[BS2_RemoveAuthGroup]]: 주어진 인증 그룹을 제거합니다. | * [[BS2_RemoveAuthGroup]]: 주어진 인증 그룹을 제거합니다. | ||
줄 10: | 줄 10: | ||
====== FaceEx API ====== | ====== FaceEx API ====== | ||
- | * [[BS2_ScanFaceEx]]: ''FaceStation F2'' 장치에서 얼굴을 스캔하고 이미지 및 템플릿을 추출합니다. [+ 2.7.1] | + | * [[BS2_ScanFaceEx]]: ''Visual Face 기반'' 장치에서 얼굴을 스캔하고 이미지 및 템플릿을 추출합니다. [+ 2.7.1] |
- | * [[BS2_ExtraceTemplateFaceEx]]: ''FaceStation F2'' 얼굴이 포함된 이미지를 가지고 template을 추출합니다. [+ 2.7.1] | + | * [[BS2_ExtraceTemplateFaceEx]]: ''Visual Face 기반'' 얼굴이 포함된 이미지를 가지고 template을 추출합니다. [+ 2.7.1] |
+ | * [[BS2_GetNormalizedImageFaceEx]]: ''Visual Face 기반'' WARP 되어지지 않은(가공되어지지 않은) 얼굴 이미지로, WARP 이미지를 만듭니다. [+ 2.8] | ||
===== 구조체 ===== | ===== 구조체 ===== | ||
줄 30: | 줄 31: | ||
</code> | </code> | ||
1. //faceIndex// \\ | 1. //faceIndex// \\ | ||
- | 얼굴 인덱스입니다 \\ \\ | + | 얼굴 인덱스입니다. \\ \\ |
2. //numOfTemplate// \\ | 2. //numOfTemplate// \\ | ||
얼굴 템플릿 개수입니다. \\ \\ | 얼굴 템플릿 개수입니다. \\ \\ | ||
줄 59: | 줄 60: | ||
인증 그룹 식별자입니다. \\ \\ | 인증 그룹 식별자입니다. \\ \\ | ||
2. //name// \\ | 2. //name// \\ | ||
- | BioStar 애플리케이션에서 보여줄 인증 그룹 이름입니다 \\ \\ | + | BioStar 애플리케이션에서 보여줄 인증 그룹 이름입니다. \\ \\ |
3. //reserved// \\ | 3. //reserved// \\ | ||
예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
줄 72: | 줄 73: | ||
} BS2TemplateEx; | } BS2TemplateEx; | ||
</code> | </code> | ||
- | ''FaceStation F2'' \\ \\ | + | ''Visual Face 기반'' \\ \\ |
1. //data// \\ | 1. //data// \\ | ||
IR 또는 visual 이미지 탬플릿 데이터 입니다. \\ \\ | IR 또는 visual 이미지 탬플릿 데이터 입니다. \\ \\ | ||
줄 100: | 줄 101: | ||
uint8_t *rawImageData; | uint8_t *rawImageData; | ||
+ | |||
+ | BS2TemplateEx *onlyTemplateEx; | ||
}; | }; | ||
} BS2FaceEx; | } BS2FaceEx; | ||
</code> | </code> | ||
- | ''FaceStation F2'' \\ \\ | + | ''Visual Face 기반'' \\ \\ |
1. //faceIndex// \\ | 1. //faceIndex// \\ | ||
- | 얼굴 인덱스입니다 \\ \\ | + | 얼굴 인덱스입니다. \\ \\ |
2. //numOfTemplate// \\ | 2. //numOfTemplate// \\ | ||
Visual, IR을 포함한 얼굴 템플릿 개수입니다. \\ \\ | Visual, IR을 포함한 얼굴 템플릿 개수입니다. \\ \\ | ||
3. //flag// \\ | 3. //flag// \\ | ||
이미지가 WARP된 이미지인지 여부를 나타냅니다. \\ | 이미지가 WARP된 이미지인지 여부를 나타냅니다. \\ | ||
- | 여기서 WARP란, 이미지에는 다양한 신체부분이 담겨 있을 수 있는데, 이중 얼굴부분을 뽑아내는, 일종의 일반화라고 보시면 됩니다. \\ | + | 여기서 WARP란, 이미지에는 다양한 신체 부분이 담겨 있을 수 있는데, 이 중 얼굴 부분을 뽑아내는, 일종의 일반화라고 보시면 됩니다. \\ |
flag가 1로 설정되면, 장치는 union 내의 struct로 정의되어 있는 5개의 정보를 참조합니다. \\ | flag가 1로 설정되면, 장치는 union 내의 struct로 정의되어 있는 5개의 정보를 참조합니다. \\ | ||
flag가 0으로 설정되면, 장치는 union 내의 rawImageData를 참조합니다. \\ | flag가 0으로 설정되면, 장치는 union 내의 rawImageData를 참조합니다. \\ | ||
만약에 사용자가 WARP되지 않은 임의의 이미지를 가지고 얼굴을 등록하고자 하는 경우, \\ | 만약에 사용자가 WARP되지 않은 임의의 이미지를 가지고 얼굴을 등록하고자 하는 경우, \\ | ||
- | flag는 BS2_FACE_EX_FLAG_NONE(0)으로, rawImageData의 주소공간에 이미지 데이터로 설정하고, 이미지 데이터의 크기를 imageLen으로 지정해주시면 됩니다. \\ | + | flag는 BS2_FACE_EX_FLAG_NONE(0)으로, rawImageData의 주소공간에 이미지 데이터로 설정하고, 이미지 데이터의 크기를 imageLen으로 지정해 주시면 됩니다. \\ |
이렇게 되면 장치는 rawImageData를 가지고 자동으로 WARP 과정을 거쳐서 struct 내의 정보들을 채워주게 될 것입니다. \\ | 이렇게 되면 장치는 rawImageData를 가지고 자동으로 WARP 과정을 거쳐서 struct 내의 정보들을 채워주게 될 것입니다. \\ | ||
rawImageData와 struct가 union으로 묶여있음을 주목해 주세요. \\ | rawImageData와 struct가 union으로 묶여있음을 주목해 주세요. \\ | ||
+ | [+ 2.9.6] 얼굴정보 전송 시 얼굴 이미지를 제외한 템플릿만 전송할 수 있도록 BS2_FACE_EX_FLAG_TEMPLATE_ONLY(0x20) 옵션이 추가되었습니다. \\ | ||
+ | 개인정보 보호가 좀 더 중요시되는 현장에서 유용합니다. \\ | ||
+ | 이 옵션을 사용할 때는 numOfTemplate의 갯수만큼 onlyTemplateEx에 템플릿 데이터가 할당되어있어야 합니다. \\ | ||
+ | 또한, [[configuration_api#BS2FaceConfig]]의 unableToSaveImageOfVisualFace에 1(true)이 설정되어야 합니다. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
|BS2_FACE_EX_FLAG_NONE |0x00 | | |BS2_FACE_EX_FLAG_NONE |0x00 | | ||
|BS2_FACE_EX_FLAG_WARPED |0x01 | | |BS2_FACE_EX_FLAG_WARPED |0x01 | | ||
+ | |BS2_FACE_EX_FLAG_TEMPLATE_ONLY |0x20 | | ||
|BS2_FACE_EX_FLAG_ALL |0xFF | | |BS2_FACE_EX_FLAG_ALL |0xFF | | ||
</WRAP> | </WRAP> | ||
줄 132: | 줄 140: | ||
사용하지 않는 공간입니다. (packing용) \\ \\ | 사용하지 않는 공간입니다. (packing용) \\ \\ | ||
8. //imageData// \\ | 8. //imageData// \\ | ||
- | WARP 되어진 얼굴 이미지 데이터입니다. rawImageData로부터 자동으로 만들어집니다. \\ \\ | + | WARP 되어진 얼굴 이미지 데이터입니다. rawImageData로부터 자동으로 만들어집니다. \\ |
+ | <WRAP group 70%> | ||
+ | ^장치타입 ^장치버전 ^FW버전 ^이미지크기 ^이미지타입 ^''rawImageData'' ^ | ||
+ | |FaceStation F2 |V1 |2.0.0 미만 |250 * 250 |JPG |JPG | | ||
+ | |FaceStation F2 |V2 |2.0.0 이상 |112 * 112 |PNG |JPG, PNG | | ||
+ | |BioStation 3 |V1 |모든 버전 |112 * 112 |PNG |JPG, PNG | | ||
+ | </WRAP> | ||
9. //irImageData// \\ | 9. //irImageData// \\ | ||
IR 이미지 데이터입니다. WARP 단계에서는 IR 이미지는 존재하지 않을 수 있습니다. \\ | IR 이미지 데이터입니다. WARP 단계에서는 IR 이미지는 존재하지 않을 수 있습니다. \\ | ||
- | 인증을 시도하게되면 자동으로 생성됩니다. \\ | + | 인증을 시도하게되면 자동으로 생성됩니다. \\ \\ |
10. //templateEx// \\ | 10. //templateEx// \\ | ||
Visual 또는 IR 이미지에 대한 탬플릿 데이터입니다. \\ \\ | Visual 또는 IR 이미지에 대한 탬플릿 데이터입니다. \\ \\ | ||
11. //rawImageData// \\ | 11. //rawImageData// \\ | ||
- | WARP되지 않은 이미지 정보입니다. ''(JPG 이미지만 지원, 최소크기 250 * 250)'' \\ \\ | + | WARP되지 않은 이미지 정보입니다. ''imageData'' 참조 \\ |
+ | WARP되지 않은 이미지의 최대 해상도는 가로와 세로 모두 4000 픽셀 이며 1920 픽셀 이하를 권장합니다. \\ | ||
+ | 선명한 얼굴 영상을 권장합니다.원본 이미지가 깨져있는 경우, Warped Image 생성에 실패할 수 있습니다. \\ | ||
+ | 전체 사진의 가로 길이가 얼굴 가로길이 보다 190% 이상 큰 이미지 사용을 권장합니다. \\ \\ | ||
+ | 12. //onlyTemplateEx// \\ | ||
+ | [+ 2.9.6] 템플릿 정보인 BS2TemplateEx 데이터의 연속된 메모리 정보이며, numOfTemplate의 갯수만큼 할당되어있어야 합니다. \\ | ||
+ | flag가 BS2_FACE_EX_FLAG_TEMPLATE_ONLY인 경우에만 사용됩니다. \\ \\ |