Перейти к основному содержимому
Версия: 1.1.0

Применение

Детекция лиц

Детекция лиц реализована в следующих сервисах Image API:

  • face-detector-face-fitter
  • face-detector-template-extractor
  • face-detector-liveness-estimator

Детекция силуэтов

Примечание: принимаются фотографии размером не больше 4,7 МБ.

Запрос передается в сервис body-detector, который используется для детекции силуэтов. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • confidence
  • bbox

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "body",
"confidence": 0.8266383409500122,
"bbox": [
0.648772656917572,
0.13773296773433685,
0.9848934412002563,
0.8240703344345093
]
},
{
"id": 1,
"class": "body",
"confidence": 0.7087612748146057,
"bbox": [
0.35164034366607666,
0.15803256630897522,
0.6833359003067017,
0.8854727745056152
]
}
]
}

Определение пола

Запрос передается в сервис gender-estimator, который позволяет определить пол человека по изображению лица. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • gender

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"gender": "MALE"
}
]
}

Определение возраста

Запрос передается в сервис age-estimator, который используется для определения возраста человека по изображению лица. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • age

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"age": "25"
}
]
}

Оценка эмоций

Запрос передается в сервис emotion-estimator, который используется для оценки эмоций человека по изображению лица. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • emotions
    • emotion
    • confidence

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"emotions": [
{
"confidence": 0.10151619818478974,
"emotion": "ANGRY"
},
{
"confidence": 0.07763473911731263,
"emotion": "DISGUSTED"
},
{
"confidence": 0.20321173801223097,
"emotion": "SCARED"
},
{
"confidence": 0.08768639197580883,
"emotion": "HAPPY"
},
{
"confidence": 0.19000983487515088,
"emotion": "NEUTRAL"
},
{
"confidence": 0.08262699313446588,
"emotion": "SAD"
},
{
"confidence": 0.257314104700241,
"emotion": "SURPRISED"
}
]
}
]
}

Проверка liveness

Запрос передается в сервис face-detector-liveness-estimator, который используется для детекции лиц и оценки принадлежности лица на изображении реальному человеку.

Для сервиса доступны несколько модулей:

  • liveness-anti-spoofing
  • quality-liveness-anti-spoofing
  • face-detector-liveness-estimator

Для того чтобы узнать какой модуль установлен у вас, обратитесь к администратору.

Модуль liveness-anti-spoofing

Примечание: принимаются фотографии размером не больше 4,7 МБ и разрешением не более 10 мегапикселей. Модуль вычисляет живность только для одного лица на фотографии.

В ответе модуля возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • liveness:
    • confidence
    • value

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"liveness": {
"confidence": 0.9989556074142456,
"value": "REAL"
}
}
]
}

Модуль quality-liveness-anti-spoofing

Примечание: принимаются фотографии размером не больше 4,7 МБ и разрешением не более 10 мегапикселей. Модуль вычисляет живность только для одного лица на фотографии.

Данный модуль возвращает следующий набор ошибок:

Изображение не прошло по порогу качества. В ошибке указано значение порога и вычисленное значение для переданного на вход изображения:

{
"detail": "Low image quality. Calculated score value (22) is less than the threshold (30)
}

На изображении обнаружено несколько лиц:

{
"detail": "More than one face detected"
}

В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • liveness:
    • confidence
    • value

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"liveness": {
"confidence": 0.9989556074142456,
"value": "REAL"
}
}
]
}

Модуль face-detector-liveness-estimator

Примечание: принимаются фотографии размером не больше 4,7 МБ. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • bbox
  • confidence
  • liveness:
    • confidence
    • value

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:


"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"confidence": 0.8233476281166077,
"bbox": [
0.375,
0.12333333333333334,
0.7645833333333333,
0.42
],
"liveness": {
"confidence": 0.9989556074142456,
"value": "REAL"
}
}
]
}

Проверка на наличие медицинской маски

Примечание: в текущей версии Image API для определения наличия маски на лице рекомендуется использовать сервис quality-assessment-estimator, который на данный момент показывает более точный результат работы по маскам по сравнению с сервисом mask-estimator.

Запрос передается в сервис mask-estimator, который позволяет определить наличие/отсутствие медицинской маски на лице человека с изображения. В ответе на запрос В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • mask:
  • value
  • confidence

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"mask": {
"confidence": 0.07230597734451294,
"value": false
}
}
]
}

Определение антропометрических точек лица

Примечание: принимаются фотографии размером не больше 4,7 МБ.

Запрос передается в сервис face-detector-face-fitter, который используется для детекции лиц и определения антропометрических точек лица и углов наклона и поворота головы. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • bbox
  • confidence
  • fitter:
    • fitter_type
    • keypoints
    • left_eye
    • right_eye
  • angles:
    • roll
    • pitch
    • yaw

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"confidence": 0.895225465297699,
"bbox": [
0.10445103857566766,
0.05966162065894924,
0.7008902077151336,
0.9243098842386465
],
"fitter": {
"fitter_type": "fda",
"keypoints": [
344.24078369140625,
379.23858642578125,
0,
443.0493469238281,
364.8091125488281,
0,
547.5462646484375,
384.35833740234375,
0,
724.5175170898438,
385.01220703125,
0,
816.4994506835938,
366.4952697753906,
0,
899.7161865234375,
380.7967224121094,
0,
391.20654296875,
461.12066650390625,
0,
461.524169921875,
459.44287109375,
0,
531.2512817382812,
467.7398681640625,
0,
721.8792724609375,
468.227294921875,
0,
784.9144897460938,
461.4508056640625,
0,
854.609130859375,
465.002685546875,
0,
250.21035766601562,
657.1244506835938,
0,
559.1598510742188,
666.7738647460938,
0,
641.8836059570312,
678.353515625,
0,
710.0083618164062,
670.3438110351562,
0,
939.4479370117188,
656.3207397460938,
0,
509.8494873046875,
816.0798950195312,
0,
634.861083984375,
823.5408325195312,
0,
748.5276489257812,
813.4531860351562,
0,
633.5501098632812,
1033.822509765625,
0
],
"left_eye": [
461.524169921875,
459.44287109375
],
"right_eye": [
784.9144897460938,
461.4508056640625
]
},
"angles": {
"yaw": 6.648662090301514,
"roll": 0.3107689917087555,
"pitch": -23.410654067993164
}
}
]
}

Оценка качества изображения

Запрос передается в сервис quality-assessment-estimator, который предназначен для оценки качества изображения лица. В теле запроса необходимо передать значения атрибутов лица, полученных после обработки изображения сервисом face-detector-face-fitter. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • confidence
  • bbox
  • quality:
    • qaa:
      • totalScore
      • isSharp
      • sharpnessScore
      • isEvenlyIlluminated
      • illuminationScore
      • noFlare
      • isLeftEyeOpened
      • leftEyeOpennessScore
      • isRightEyeOpened
      • rightEyeOpennessScore
      • isBackgroundUniform
      • backgroundUniformityScore
      • isDynamicRangeAcceptable
      • dynamicRangeScore
      • isEyesDistanceAcceptable
      • eyesDistance
      • isNotNoisy
      • noiseScore
      • isMarginsAcceptable
      • marginInnerDeviation
      • marginOuterDeviation
      • isNeutralEmotion
      • neutralEmotionScore
      • notMasked
      • notMaskedScore
      • hasWatermark
      • watermarkScore
      • isRotationAcceptable
      • maxRotationDeviation

Пример запроса:

{
"$image": "string",
"objects": [
{
"id": 0,
"class": "face",
"confidence": 0.895225465297699,
"bbox": [
0.10445103857566766,
0.05966162065894924,
0.7008902077151336,
0.9243098842386465
],
"fitter": {
"fitter_type": "fda",
"keypoints": [
344.24078369140625,
379.23858642578125,
0,
443.0493469238281,
364.8091125488281,
0,
547.5462646484375,
384.35833740234375,
0,
724.5175170898438,
385.01220703125,
0,
816.4994506835938,
366.4952697753906,
0,
899.7161865234375,
380.7967224121094,
0,
391.20654296875,
461.12066650390625,
0,
461.524169921875,
459.44287109375,
0,
531.2512817382812,
467.7398681640625,
0,
721.8792724609375,
468.227294921875,
0,
784.9144897460938,
461.4508056640625,
0,
854.609130859375,
465.002685546875,
0,
250.21035766601562,
657.1244506835938,
0,
559.1598510742188,
666.7738647460938,
0,
641.8836059570312,
678.353515625,
0,
710.0083618164062,
670.3438110351562,
0,
939.4479370117188,
656.3207397460938,
0,
509.8494873046875,
816.0798950195312,
0,
634.861083984375,
823.5408325195312,
0,
748.5276489257812,
813.4531860351562,
0,
633.5501098632812,
1033.822509765625,
0
],
"left_eye": [
461.524169921875,
459.44287109375
],
"right_eye": [
784.9144897460938,
461.4508056640625
]
},
"angles": {
"yaw": 6.648662090301514,
"roll": 0.3107689917087555,
"pitch": -23.410654067993164
}
}
]
}

Пример ответа:

{
"$image": "string",
"objects": [
{
"id": 0,
"class": "face",
"confidence": 0.69044026635,
"bbox": [
0.42242398858070374,
0.05838850140571594,
0.5360375642776489,
0.17216356098651886
],
"quality": {
"qaa": {
"totalScore": 0,
"isSharp": true,
"sharpnessScore": 0,
"isEvenlyIlluminated": true,
"illuminationScore": 0,
"noFlare": true,
"isLeftEyeOpened": true,
"leftEyeOpennessScore": 0,
"isRightEyeOpened": true,
"rightEyeOpennessScore": 0,
"isRotationAcceptable": true,
"maxRotationDeviation": 0,
"notMasked": true,
"notMaskedScore": 0,
"isNeutralEmotion": true,
"neutralEmotionScore": 0,
"isEyesDistanceAcceptable": true,
"eyesDistance": 0,
"isMarginsAcceptable": true,
"marginOuterDeviation": 0,
"marginInnerDeviation": 0,
"isNotNoisy": true,
"noiseScore": 0,
"watermarkScore": 0,
"hasWatermark": true,
"dynamicRangeScore": 0,
"isDynamicRangeAcceptable": true,
"backgroundUniformityScore": 0,
"isBackgroundUniform": true
}
}
}
]
}

Извлечение биометрического шаблона

Примечание: принимаются фотографии размером не больше 4,7 МБ.

Запрос передается в сервис face-detector-template-extractor, который детектирует лица на изображении и формирует на их основе биометрические шаблоны версии 11v1000. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

objects:

  • id
  • class
  • confidence
  • bbox
  • $template
  • template_size

Пример запроса:

{
"$image": "изображение в формате base64",
"objects": [
{}
]
}

Пример ответа:

{
"$image":"изображение в формате base64",
"objects": [
{
"id": 0,
"class": "face",
"confidence": 0.895225465297699,
"bbox": [
0.10445103857566766,
0.05966162065894924,
0.7008902077151336,
0.9243098842386465
],
"$template": "шаблон в формате base64",
"template_size": 74
}
]
}

Верификация лиц

Запрос передается в сервис verify-matcher, который верифицирует лица на основе сравнения их биометрических шаблонов. В теле запроса необходимо передать значения атрибутов лица, полученных после обработки изображений сервисом face-detector-template-extractor. В ответе возвращается следующий набор атрибутов с вычисленными значениями:

verification:

  • distance
  • fa_r
  • fr_r
  • score

Пример запроса:

{
"objects": [
{"id": 0,

"class": "face",

"confidence": 0.9171707630157471,

"bbox": [

0.14427860696517414,

0.21912350597609562,

0.8656716417910447,

0.796812749003984

],

"$template": "шаблон в формате base64",

"template_size": 74},

{"id": 0,

"class": "face",

"confidence": 0.8453116416931152,

"bbox": [

0.16477272727272727,

0.22272727272727272,

0.875,

0.7954545454545454

],

"$template": "шаблон в формате base64",

"template_size": 74}
]
}

Пример ответа:

{
"objects": [
{
"bbox": [
0.14427860696517414,
0.21912350597609562,
0.8656716417910447,
0.796812749003984
],
"$template": "шаблон в формате base64",
"id": 0,
"class": "face",
"confidence": 0.9171707630157471,
"template_size": 74
},
{
"bbox": [
0.16477272727272727,
0.22272727272727272,
0.875,
0.7954545454545454
],
"$template": "шаблон в формате base64",
"id": 0,
"class": "face",
"confidence": 0.8453116416931152,
"template_size": 74
}
],
"verification": {
"distance": 4796,
"fa_r": 0,
"fr_r": 0.522820770740509,
"score": 0.9515298008918762
}
}