Работая по теме обработки снимков с дронов, я столкнулся с оптимизационной задачей, исследование которой дало интересный вывод.
Целевая задача: грубое ориентирование airborne снимков в плане. В отличие от спутниковых снимков у дронов телеметрия несколько попроще. Известны широта, долгота и высота центральной точки съемки, параметры матрицы (ширина - высота в метрах и пикселах) и фокусное расстояние. Но ориентирование не известно. Телеметрия дается в WGS-84, и снимки делаются с большим перекрытием, порядка 60-80%. Задача: вычислить ориентирование снимков в плане (поворот вокруг вертикальной оси) имея несколько десятков корреляционных точек на перекрытие.
Задача, в целом, простейшая: достаточно набрать корреляционные точки и принять меры чтобы оно сошлось. Но, в силу больших искажений от высот, совмещать надо не точки, а их относительное расположение. Из условия компланарности лучей визирования одной и той же точки с линией соединяющей центральные точки съемки, следует что коррелирующие точки на снимках должны быть на прямых, параллельных центральным точкам снимков. Конечно, это все в случае идеального ориентирования съемочных плоскостей и одинаковых высот центральных точек снимков.
Составим критерий параллельности прямых, заданных двумя точками: вектора из одной точки в другую наиболее параллельны, если минимальна сумма квадратов углов между ними. Искать угол можно как арксинус нормированного векторного произведения или как арккосинус нормированного скалярного. Далее для составления системы уравнений предстоит набрать их квадраты, взять частные производные и найти решение при котором сумма квадратов углов минимальна. Аналитически как МНК или численно градиентным методом - это уже не важно.
И тут я решил не иметь дело с производной арксинуса, в аргументе которого квадратный корень из суммы квадратов. Вместо самого угла я решил минимизировать векторное произведение, деленное на скалярное: $$ \frac{[v,w]}{(v,w)}=tg\alpha $$ здесь $\alpha$ - угол между векторами $v$ и $w$. Я счел это вполне правомерным, поскольку у $\alpha$ и $tg\alpha$ одинаковая монотонность. И, минимизируя $tg^2\alpha$, автоматически минимизируется и $\alpha^2$.
Все остальное получилось здорово, брать производную от отношения векторного и скалярного произведений стало проще. Но вывод получился интересный: если интересует возрастание или убывание величины, то ее можно заменить на другую с эквивалентной монотонностью. И для собственно задачи экстремума не столь важно точное значение величины, сколько возрастает она или убывает.
Например, эквивалентную монотонность имеют функции: $$ f(x)=x $$ $$ f(x)=tg(x) $$ $$ f(x)=sh(x) $$ $$ f(x)=x^{2n+1} $$ Замена же одной функции на другую с эквивалентной монотонностью может заметно упростить решение задачи. В этом списке функций важно то, что они не только возрастают монотонно с функцией $f(x)=x$, но и то что имеют пересечение с нулем в нуле. При взятии квадрата это качество будет решающим для выбора возможной замены. Разумеется, что полностью совпадать по монотонности должны квадратичные формы, чтобы получить приведение к задаче экстремума.
Целевая задача: грубое ориентирование airborne снимков в плане. В отличие от спутниковых снимков у дронов телеметрия несколько попроще. Известны широта, долгота и высота центральной точки съемки, параметры матрицы (ширина - высота в метрах и пикселах) и фокусное расстояние. Но ориентирование не известно. Телеметрия дается в WGS-84, и снимки делаются с большим перекрытием, порядка 60-80%. Задача: вычислить ориентирование снимков в плане (поворот вокруг вертикальной оси) имея несколько десятков корреляционных точек на перекрытие.
Задача, в целом, простейшая: достаточно набрать корреляционные точки и принять меры чтобы оно сошлось. Но, в силу больших искажений от высот, совмещать надо не точки, а их относительное расположение. Из условия компланарности лучей визирования одной и той же точки с линией соединяющей центральные точки съемки, следует что коррелирующие точки на снимках должны быть на прямых, параллельных центральным точкам снимков. Конечно, это все в случае идеального ориентирования съемочных плоскостей и одинаковых высот центральных точек снимков.
Составим критерий параллельности прямых, заданных двумя точками: вектора из одной точки в другую наиболее параллельны, если минимальна сумма квадратов углов между ними. Искать угол можно как арксинус нормированного векторного произведения или как арккосинус нормированного скалярного. Далее для составления системы уравнений предстоит набрать их квадраты, взять частные производные и найти решение при котором сумма квадратов углов минимальна. Аналитически как МНК или численно градиентным методом - это уже не важно.
И тут я решил не иметь дело с производной арксинуса, в аргументе которого квадратный корень из суммы квадратов. Вместо самого угла я решил минимизировать векторное произведение, деленное на скалярное: $$ \frac{[v,w]}{(v,w)}=tg\alpha $$ здесь $\alpha$ - угол между векторами $v$ и $w$. Я счел это вполне правомерным, поскольку у $\alpha$ и $tg\alpha$ одинаковая монотонность. И, минимизируя $tg^2\alpha$, автоматически минимизируется и $\alpha^2$.
Все остальное получилось здорово, брать производную от отношения векторного и скалярного произведений стало проще. Но вывод получился интересный: если интересует возрастание или убывание величины, то ее можно заменить на другую с эквивалентной монотонностью. И для собственно задачи экстремума не столь важно точное значение величины, сколько возрастает она или убывает.
Например, эквивалентную монотонность имеют функции: $$ f(x)=x $$ $$ f(x)=tg(x) $$ $$ f(x)=sh(x) $$ $$ f(x)=x^{2n+1} $$ Замена же одной функции на другую с эквивалентной монотонностью может заметно упростить решение задачи. В этом списке функций важно то, что они не только возрастают монотонно с функцией $f(x)=x$, но и то что имеют пересечение с нулем в нуле. При взятии квадрата это качество будет решающим для выбора возможной замены. Разумеется, что полностью совпадать по монотонности должны квадратичные формы, чтобы получить приведение к задаче экстремума.
Комментариев нет:
Отправить комментарий