Я видел несколько подобных вопросов и у меня есть некоторые идеи о том, что я мог бы попробовать, но я не помню, чтобы видел что-то о распространении.
Итак: я работаю над системой измерения, основанной на компьютерном зрении.
Я беру N снимков и обрабатываю их с помощью библиотеки, которая выводит оценки позы в виде матриц аффинного преобразования 4x4 перемещения и поворота.
В этих оценках позы есть некоторый шум. Стандартное отклонение углов Эйлера для каждой оси вращения составляет менее 2,5 градусов, поэтому все ориентации довольно близки друг к другу (для случая, когда все углы Эйлера близки к 0 или 180). Для меня важны стандартные ошибки менее 0,25 градуса. Но я уже столкнулся с проблемами, характерными для углов Эйлера.
Я хочу усреднить все эти довольно близкие оценки позы, чтобы получить единую окончательную оценку позы. И я также хочу найти некоторую меру разброса, чтобы я мог оценить точность.
Я знаю, что «средний» на самом деле не очень хорошо определен для вращений.
(Для справки, мой код написан на Numpy-тяжелом Python.)
Я также могу взвесить это среднее значение, поскольку известно, что некоторые захваты (и некоторые оси) более точны, чем другие.
У меня сложилось впечатление, что я могу просто взять среднее значение и стандартное отклонение вектора перевода, а для вращения я могу преобразовать в кватернионы, взять среднее значение и повторно нормализовать с точностью OK, поскольку эти кватернионы довольно близки друг к другу.
Я также слышал упоминания о методе наименьших квадратов во всех кватернионах, но большая часть моих исследований того, как это реализовать, потерпела крах.
Это работоспособно? Существует ли достаточно четко определенная мера распространения в этом контексте?