17.4. Вращательное движение
Предположим теперь, что движение камеры чисто вращательное. Чтобы определить движение по оптическому потоку, мы снова используем метод наименьших квадратов с нормой описанной в предыдущем разделе. Напомним, что в этом случае оптический поток имеет вид Теперь способом, аналогичным уже изложенному, покажем, что два различных вращения, не могут породить один и тот же оптический поток. Если мы предположим обратное, то следующие уравнения должны выполняться для всех величин х и у:
из которых мы можем немедленно вывести, что
В общем случае направление оптического потока в двух точках и его величина в одной точке однозначно определяют чисто вращательное движение. Вместо этого минимизируем следующее выражение:
Поскольку движение чисто вращательное, оптический поток не зависит от расстояния до поверхности, и поэтому мы можем пропустить первый шаг нашего метода, используемого для поступательного движения. Таким образом, мы сразу дифференцируем интеграл по А, В и С и приравниваем результирующее выражение к нулю:
Мы можем переписать эти уравнения в виде
и, раскрывая их, получим
Обозначив матрицу коэффициентов через М, а вектор правых частей — через получим . Таким образом, когда матрица М невырожденная, мы можем вычислить вращение как . В упражнении 17.9 мы покажем, что матрица М невырожденна в частном случае прямоугольного поля зрения. Однако, если размеры поля зрения уменьшаются, матрица М становится плохо определенной. Это значит, что становятся большими ошибки в интегралах вычисленных но наблюдаемому потоку. Смысл этого в том, что мы не можем надеяться точно определить компоненту вращения относительно оптической оси, когда наблюдение ограничено малым конусом направлений вокруг оптической оси.
Как и выше, для перехода к численному алгоритму необходимо заменить интегралы суммами.