Если коротко:
Rolling shutter считывает строки матрицы в разные моменты, поэтому движущаяся камера видит части одного кадра из немного разных поз. Прямые линии могут наклоняться, а признаки сцены смещаться относительно модели единого кадра. Global shutter экспонирует пиксели одновременно и устраняет межстрочный сдвиг, но размытие от длинной выдержки, шум, калибровка и ошибки слияния с IMU всё равно влияют на VR-трекинг.
Rolling shutter VR tracking получает строки изображения в разные моменты. Пока камера гарнитуры движется, верх кадра уже снят, а низ ещё считывается. Модель единого снимка получает несовместимые координаты признаков.
Rolling shutter и global shutter
При rolling shutter матрица экспонирует и считывает строки последовательно. Во время движения вертикальная линия может выглядеть наклонной, а быстрый поворот превращает прямоугольник в скошенную фигуру. Для трекинга важен не внешний вид сам по себе, а смещение углов и контуров, по которым оценивается поза камеры.
Global shutter начинает экспозицию всех пикселей одновременно. Sony описывает этот принцип как одновременную фиксацию света с последующим переносом данных в память сенсора. Межстрочной разницы позы нет, поэтому геометрия движущейся сцены сохраняется лучше. Однако сам кадр не становится безошибочным.
Время считывания и время экспозиции
Эти параметры решают разные задачи. Время считывания определяет интервал между первой и последней строкой rolling-кадра. Чем дальше за этот интервал переместилась камера, тем сильнее геометрическое искажение.
Экспозиция показывает, как долго каждый пиксель собирает свет. Длинная выдержка даёт больше сигнала, но движение за это время размазывает детали и ухудшает точность ключевых точек. Global shutter убирает межстрочный сдвиг, но при длинной экспозиции тоже получает motion blur. Короткая выдержка уменьшает размытие, однако в слабом свете усиливает требования к чувствительности и обработке шума.
Как ошибка попадает в оценку позы
Визуальный алгоритм сопоставляет признаки между кадрами и строит движение камеры. Rolling shutter нарушает модель единой позы для всего изображения: каждая строка фактически имеет своё время. Ошибка может попасть в оценку вращения, положения или масштаба, особенно при резком движении и близких объектах.
Коррекция возможна. Алгоритм может учитывать время строк, оценивать позу для частей кадра и связывать её с измерениями IMU. Работа Bapat, Price и Frahm на CVPR показывает даже обратный подход: известную построчную геометрию используют как информацию для высокочастотного многокамерного трекинга. Значит, rolling shutter не является автоматическим приговором системе, если модель камеры его учитывает.
Почему drift нельзя списать на shutter
Уход позиции накапливается по нескольким причинам. Его создают бедная деталями сцена, слабый или мерцающий свет, закрытые камеры, ошибка калибровки, временное рассогласование камеры и IMU, неточная карта помещения и сбой сопоставления признаков. Rolling shutter способен увеличить ошибку движения, но по одному симптому нельзя определить источник.
Для диагностики полезно разделить ситуации. Ошибка, растущая именно при быстрых поворотах, согласуется с motion blur, временем считывания или задержкой синхронизации. Постоянный сдвиг в спокойной сцене заставляет проверить освещение, загрязнение камер, сохранённую границу и калибровку. Устройство IMU разобрано в статье «IMU в VR», а общая цепочка контроллера описана в «Как работает трекинг VR-контроллера».
Что смотреть в спецификации
Global shutter не описывает всю камеру. Важны частота, экспозиция, шум, задержка данных и синхронизация с IMU. Не указанный производителем тип нельзя определять по виду устройства. Rolling sensor может работать точно благодаря короткому считыванию и построчной модели.