Gidday cobbers / уважаемые коллеги,
С многообъектным отслеживанием, которое реализует прогнозирование / коррекцию Калмана, общий подход, который я вижу в других потоках SO, заключается в том, чтобы просто иметь вектор / массив фильтров Калмана для каждого объекта.
то есть «фильтры Калмана с несколькими объектами»
Но, зная, что если вы правильно определите свои матрицы пространства состояний, независимые друг от друга состояния останутся таковыми, как только будет произнесена любая (связная) математика — почему бы нам просто не расширить различные состояния и связанные с ними матрицы / векторы фильтр с все объект «данные» и использование один Фильтр Калмана? (да, в большинстве матриц будет много нулей).
Есть ли преимущество алгоритмической сложности в любом случае? Моя интуиция заключается в том, что использование одного фильтра против многих может снизить накладные расходы?
Может быть, проще управлять с точки зрения читабельности человека при работе с несколькими фильтрами?
Любые другие причины?
Спасибо
постскриптум возможный код будет в openCV / C ++
Если под увеличением вы подразумеваете объединение состояний всех объектов (как средних, так и ковариаций) в одно суперсостояние, а затем использование одного фильтра для прогнозирования / оценки этого суперсостояния, то я боюсь, что ваша интуиция о том, что он более эффективен скорее всего неправильно.
Необходимо учитывать, что уравнения KF включают в себя такие операции, как инверсия матрицы, с вычислительной сложностью O (n ^ 3) (или очень близко к этой фигуре), где n — размерность матрицы. Если вы объединяете несколько объектов в одно состояние, вычислительная сложность резко возрастет, даже если, как вы сказали, в основном это нули.
Работа с несколькими фильтрами, по одному на отслеживаемый объект, на мой взгляд, является более чистой с точки зрения проектирования и более эффективным подходом. Если вы действительно ограничены производительностью KF (сначала профиль), рассмотрите возможность размещения данных фильтра Калмана в непрерывном массиве, чтобы минимизировать потери в кеше.