Я использую 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.](https://i.stack.imgur.com/TwvWH.png)
![Sample depths for the same image scaled to 512sqr](https://i.stack.imgur.com/gEYRn.png)
Это означает, что единицы этих значений Z пропорциональны размеру пикселя изображения ... НО ширина и высота изображения соответствуют полю зрения и аспекту камеры (они не интерпретируются как расстояние) имне непонятно, как значение глубины могло бы быть относительно этих параметров.
Что я узнал о РЕФЕРЕНТНОЙ ТОЧКЕ:
При осмотре кажется, что ориентирЗначения Z почти всегда находятся в диапазоне -ve и + ve, подразумевая, что все, что они относительно него, находится где-то посередине.Но я не могу найти четкого паттерна (например, он основан на центре глаз или другой конкретной точке).