Ориентиры лица Cloud Vision: как интерпретировать координату Z? - PullRequest
0 голосов
/ 10 апреля 2019

Я использую Google Cloud Vision для идентификации лиц.Пока все хорошо, но я заметил, что ориентиры лица возвращаются как 3-осевые позиции.X и Y - это пиксельные координаты в изображении, что нормально.

Возвращенные значения Z - это другой вопрос, и ссылка на API не указывает их значения.Они определенно ненулевые, поэтому они что-то значат.Но они находятся в диапазоне + ve и -ve, поэтому они относятся не к позиции обзора, а к какой-то другой точке (на лице?), И я не знаю, в каких единицах они могут быть.

МожетКто-нибудь (особенно из Google) пролил свет на это?

Справочник по API для ориентиров лица Google Cloud Vision: https://cloud.google.com/vision/docs/reference/rest/v1/images/annotate#Landmark


Что я узнал о ЕДИНИЦАХ:

Я тестировал одно и то же изображение в разных разрешениях.Возвращенные значения Z, кажется, масштабируются (приблизительно) относительно масштаба изображения.То есть значения Z для изображения 1024x1024 будут примерно в 2 раза больше, чем у того же изображения, масштабированного до 512x512.

Sample depths for an image at 1024sqr.Sample depths for the same image scaled to 512sqr

Это означает, что единицы этих значений Z пропорциональны размеру пикселя изображения ... НО ширина и высота изображения соответствуют полю зрения и аспекту камеры (они не интерпретируются как расстояние) имне непонятно, как значение глубины могло бы быть относительно этих параметров.


Что я узнал о РЕФЕРЕНТНОЙ ТОЧКЕ:

При осмотре кажется, что ориентирЗначения Z почти всегда находятся в диапазоне -ve и + ve, подразумевая, что все, что они относительно него, находится где-то посередине.Но я не могу найти четкого паттерна (например, он основан на центре глаз или другой конкретной точке).

...