LUNA PLATFORM v.5.22.0#
Изменения
-
SDK обновлен до версии 5.6.0.
-
В политику "detect_policy" ресурсов "/handlers" и "/verifiers" сервисов API и Handlers добавлена группа проверок "face_quality", позволяющая настраивать проверку входящих изображений и лиц на этих изображениях в соответствии с предварительно заданными условиями. С помощью "face_quality" возможно проверять изображения лиц на соответствие требованиям стандарта ISO/IEC 19794-5:2011 или схожих.
Доступные проверки
Доступны следующие проверки лиц и изображений:
- Положение головы: "head_yaw", "head_pitch", "head_roll"
- Направление взгляда: "gaze_yaw", "gaze_pitch"
- Наличие улыбки: "mouth_smiling"
- Наличие перекрытого рта: "mouth_occluded"
- Наличие открытого рта: "mouth_open"
- Тип улыбки, который определяется при наличии улыбки (нет улыбки, улыбка с закрытым ртом, улыбка с открытым ртом): "smile_properties"
- Статус глаз для каждого глаза (открыты, закрыты, перекрыты): "left_eye", "right_eye"
- Наличие эффекта красных глаз: "red_eyes"
- Расстояние между центрами глаз: "eye_distance"
- Статус бровей (нейтральный, подняты, опущены, нахмурены): "eyebrows_state"
- Естественность освещения: "natural_light"
- Наличие бочкообразной дисторсии (эффект Fisheye): "radial_distortion"
- Отсутствие бликов: "specularity_quality"
- Размытость: "blurriness_quality"
- Контраст и насыщенность (недостаточная или слишком большая экспозиция): "dark_quality", "light_quality"
- Тип цвета по лицу (цветное, черно-белое, инфракрасное (ближний инфракрасный диапазон)): "face_color_type"
- Положение центральной точки лица на фотоизображении по горизонтали и вертикали: "head_horizontal_center", "head_vertical_center"
- Вертикальный и горизонтальный размер головы относительно размера фотоизображения: "head_width", "head_height"
- Ширина и высота лица: "face_width", "face_height"
- Отступы лица от краёв фото: "indent_upper", "intent_lower", "intent_left", "intent_right"
- Размер изображения в байтах: "image_size"
- Ширина и высота изображения: "image_width", "image_height"
- Соотношение сторон изображения: "aspect_ratio"
- Формат изображения (JPG, JPG2000, PNG): "image_format"
- Наличие и тип головного убора (нет, кепка, шапка, фуражка, шарф, ушанка, шлем/каска, капюшон, шляпа, другое): "headwear_type"
Описание каждой из проверок приведено в главе "Параметры лиц и изображений" в руководстве администратора.
Включение проверок face_quality
Проверки выполняются для каждой детекции лица, найденного на фото. Результаты перечисленных выше проверок не агрегируются. Можно включать и отключать обработку изображений с несколькими лицами с помощью опции "multiface_policy".
Для включения проверок необходимо указать значение "1" в поле "estimate" для "face_quality". По умолчанию проверка изображений отключена.
Для включения фильтрации по результатам проверок необходимо указать значение "1" в поле "filter". При провале одной или более проверок для детекции лица дальнейшие политики для данной детекции выполнены не будут. При этом результаты, полученные в соответствии с политикой "detect_policy" для данной детекции, будут возвращены в ответе.
Параметры группы проверок "face_quality":
"face_quality": { "estimate": 0, "filter": 0, "checks": {} }
Выполняемые проверки и их параметры перечислены в группе "checks".
Каждую из проверок можно включать или отключать. Это позволяет задать набор проверок, необходимых для конкретного сценария.
Для отключения проверки требуется выставить "estimate": 0 для конкретной проверки. По умолчанию все проверки включены и будут выполнены при включении "face_quality".
В зависимости от типа проверки пользователь может указать минимальное и максимальное значения порога или допустимые значения для этой проверки. Для этого используется поле "threshold".
Пример задания параметров проверок:
"checks": { "image_format": { "estimate": 1, "threshold": [ "JPEG", "JPEG2000", "PNG" ] }, "illumination_quality": { "estimate": 1, "threshold": { "min": 0.3, "max": 0.9 }}, }
Возвращаемый ответ
Название проверки ("name"), определённое значение ("object_value"), заданные значения порогов/допустимые значения ("threshold_value") и итоговый вердикт ("result") выводятся в ответе на запрос \«/handlers/{handler_id}/events\» в "events" > "detection" > "samples" > "face" > "detection" > "face_quality".
По результатам всех проверок выводится общий вердикт (поле "status"), который равен "1" при успешном прохождении всех проверок и равен "0" при провале хотя бы одной проверки.
Результаты проверок не сохраняются в БД, они возвращаются только в ответе.
Пример ответа системы для двух проверок:
"face_quality": { "status": 1, "checks": [ { "name": "image_format", "object_value": "PNG", "threshold_value": [ "JPEG", "JPEG2000", "PNG" ], "result": 1 }, { "name": "illumination_quality", "object_value": 0.5182177424430847, "threshold_value": { "min": 0.3, "max": 1.0 }, "result": 1 }]
Лицензирование
Данный функционал лицензируется отдельно, в ключе должна быть прописана опция ISO estimation. Для группы параметров "face_quality" и ресурса "/iso" используется одна и та же лицензия.
Если в лицензии отсутствует опция ISO estimation, то при "face_quality" > "estimate": 1 вернётся ошибка "License problem: 'ISO license feature is disabled.'".
Отличие проверок для "face_quality" и ресурса "/iso"
Набор проверок для "face_quality" и ресурса "/iso" отличается. См. раздел "Проверка изображений" в руководстве администратора. В главе приведена таблица сравнения доступных проверок.
-
В ресурс "/iso" добавлены следующие новые проверки:
- Статус бровей ("eyebrows_state")
- Наличие головного убора ("headwear_type")
- Тип улыбки, который определяется при наличии улыбки ("smile_properties")
- Проверка естественного освещения ("natural_light")
- Наличие бочкообразной дисторсии (эффект Fisheye) ("radial_distortion")
- Наличие эффекта красных глаз ("red_eyes")
- Тип цвета по лицу ("face_color_type")
Данные проверки проводятся в соответствии со значениями порогов по умолчанию, заданными в системе. Если требуется изменить порог или отключить проверку, необходимо воспользоваться группой проверок "face_quality" в ресурсах "/handlers" и "/verifiers".
Описание каждой из проверок приведено в главе "Параметры лиц и изображений" в руководстве администратора.
-
Обновился внутренний механизм эстимаций для сервиса Handlers, что значительно сократило потребление ресурсов (CPU, GPU, RAM) для выполнения вычислений. Теперь можно запускать больше экземпляров сервиса Handlers или увеличить количество "рабочих процессов" для одного экземпляра на тех же мощностях, что приводит к ускорению выполнения запросов.
В некоторых случаях данное изменение может приводить к снижению производительности при старой конфигурации Handlers. В таком случае требуется увеличить количество экземпляров или "рабочих процессов" Handlers для повышения производительности.
-
Было ускорено сравнение по большому списку (более 100 000 лиц) при большом количестве одновременно выполняемых запросов. Скорость выполнения таких запросов в некоторых случаях увеличена до двух раз.
-
В примерах спецификации OpenAPI, поле "exif" расширено информацией об ориентации для всех ресурсов, поддерживающих извлечение exif.