У меня есть набор из 6 видеоклипов, снятых 6 камерами на транспортном средстве. Я пытаюсь использовать CERES для связки корректирующих кадров O (1.4K) с этих 6 камер. Предположительно, внутренние параметры каждой из 6 видеокамер находятся в постоянном или очень хорошем приближении. Поэтому я пытаюсь найти разумный способ включить это физическое ограничение в структуру CERES.
Как новичок в CERES, я пробовал искать примеры и вопросы по настройке предыдущих комплектов. Но, что удивительно, я не нашел примеров кода CERES-решателя, где внутренние функции камеры ограничены из-за их соответствия небольшому количеству физических камер.
Начиная с примера кода simple_bundle_adjuster.cc, я сначала попытался разделить внешние, внутренние и трехмерные точечные переменные в элементе double * parameters_ из класса BALProblem. Я надеялся, что можно создать отдельные ResidualBlocks для видеокадров, которые имели бы разные внешние и трехмерные точечные параметры, но разделяли внутренние параметры в зависимости от физического идентификатора видеокамеры.
Вот моя слегка измененная версия метода Create () из примера simple_bundle_adjuster.cc:
static ceres::CostFunction* Create(
int i, const double observed_u, const double observed_v)
{
if (use_common_intrinsics_flag)
{
return (new ceres::AutoDiffCostFunction<
PinholeReprojectionError, 2,
n_extrinsic_params,
n_physical_cameras * n_intrinsic_params, 3>(
new PinholeReprojectionError(i, observed_u, observed_v)));
}...
К сожалению, я не смог найти способ поделиться общими внутренними параметрами от 6 физических видеокамер, что соответствует CERES.
Q1: Требуется ли для CERES объединение всех внешних и внутренних параметров + трехмерных точек в один большой остаточный блок для каждой физической видеокамеры? Возможно ли это, учитывая, что количество кадров, собранных видеокамерой, обычно не известно во время компиляции?
В2: Может ли постоянство внутренних параметров для каждой физической видеокамеры быть приблизительно соблюдено с помощью верхних / нижних границ параметров? Возможно, какой-то итеративный подход, когда ограничения параметров ужесточаются, может сработать.