Я хотел бы знать, есть ли ограничение по расстоянию при использовании стереовидения с камерой. Скажем, я хочу сделать матрицу глубины фиксированного объекта, который я вижу своими камерами.
Для примера я установлю некоторые значения:
Тогда на каком максимальном расстоянии я смогу видеть?
И в более общем контексте, будет ли максимальное расстояние, на котором стереоскопическое зрение не будет работать, учитывая некоторые переменные, такие как базовая линия, размер пикселя и/или другие переменные?
Есть ограничение по расстоянию. Это зависит от базовой линии, фокусного расстояния и шага пикселя.
Информация о глубине рассчитывается путем сравнения двух характерных точек на двух изображениях. Разница в положении точек называется диспаратностью. В выпрямленных параллельных стереокамерах вы получаете карту несоответствия . Он содержит всю информацию для расчета глубины, вам нужны только базовая линия и фокусное расстояние ваших двух камер.
Чем дальше ваша точка в пространстве, тем меньше становится несоответствие. Точка в бесконечности будет иметь нулевое несоответствие.
Проверьте это с помощью камеры. Вы могли бы сделать это с солнцем, но для безопасности я бы порекомендовал очень далекую гору. Возьми камеру. Наведите его на гору, сделайте снимок. Переместите его точно параллельно направлению, в котором он указывает. Сделайте еще один снимок. Объект не должен двигаться. Тест, вероятно, провалится, потому что вы не можете перемещать камеру параллельно.
Однако существует практический предел этому несоответствию. Мы можем вычислить несоответствие только для дискретных значений (игнорируя субпиксельную точность). Поэтому наименьшие значения, которые мы можем различить, находятся между 0 и 1. Таким образом, несоответствие может быть в 0 пикселей или в 1 пиксель. При 0px это будет бесконечность, а при 1px это будет самое дальнее расстояние, на котором мы еще можем что-то сказать о расстоянии.
Учитывая размер вашего пикселя в мм x, фокусное расстояние f и базовую линию b, мы получаем самое дальнее расстояние как:
d = f * b / x
Вот как добраться до моего расчета.
Эскиз 1: предположим, что камеры параллельны по базовой линии, объект находится на расстоянии d и используется стандартная модель камеры с точечным отверстием.
Эскиз 2: Преобразуйте эскиз 1 так, чтобы камеры оказались друг над другом, а объект разделился на две точки. Первая точка видна прямо вперед, а вторая видна сбоку на расстояние b.
Расчеты: теперь x можно рассчитать, используя соотношения треугольников. Чтобы различать глубину, длина x должна быть равна 1 пикселю или эквивалентной длине в миллиметрах.
Есть телескопы, которые могут делать стереоскопические снимки небесных тел, удаленных на несколько световых лет, так что предела расстояния действительно нет :-). Конечно, они делают это с противоположных концов земной орбиты (как отмечено в комментариях), поэтому они довольно далеко друг от друга.
При этом существует практический предел, и он в основном основан на разнице углов атаки обеих камер, а именно на фотографируемом объекте, а также на качестве используемых изображений.
Я не думаю, что существует точная формула того, что вы пытаетесь сделать, но я думаю, что было бы неплохо выяснить, как человеческий глаз использует параллакс для создания стереоскопических изображений в уме. В этой статье говорится, что 97% людей могут видеть стереоизображение при расстоянии не менее 2,3 угловых минуты (или примерно 0,03 градуса разделения по углу атаки). Если вы немного посчитаете, я уверен, что вы сможете вычислить максимальное расстояние, на котором вы можете находиться, исходя из того факта, что камеры находятся на расстоянии примерно 2,5 метра друг от друга. Я предполагаю, что это будет очень большое расстояние... но я не так хорош в математике, если честно.
Что касается качества изображения, то оно будет зависеть от того, насколько далеко находится объект. Если он находится всего в 3 футах и заполняет большую часть кадра, я бы сказал, что 2 мегапикселя будет хорошо. Но если это значительное расстояние, скажем, 100 м, я, вероятно, хотел бы быть ближе к 10 мегапикселям, иначе я бы беспокоился о потере слишком большого количества деталей.
Кроме того, имейте в виду, что резкость ваших изображений также зависит от выбора объектива. Если у вас есть деньги, вы можете подумать о приобретении пары зеркальных фотокамер и, возможно, пары дешевых объективов с фиксированным фокусным расстоянием 50 или 85 мм. Таким образом, у вас будет отличная плотность пикселей (12 мегапикселей +) и действительно хорошая резкость.
Извините, не точный ответ, но, надеюсь, это поможет...
Унапиедра
Халтар
Унапиедра
Халтар
Унапиедра
6mm * 2.5m / 7.4µm = 2000m
, следующее дискретное расстояние равно6mm * 2.5m / (2 * 7.4µm) = 1000m
, и так далее.