Краткое описание проблемы: Я ищу способ использовать свой собственный набор данных для вывода трехмерных рамок транспортных средств. Я использую реализацию из deepMANTA , которая обучена и оценена в наборе данных KITTI и отлично работает для 3D-Bounding box. Я хочу использовать обученную модель в наборе данных KITTI для обучения обучению самостоятельно.
Для своего набора данных я использую одну камеру, которую я откалибровал, и, следовательно, знаю ее природу c параметры. В качестве параметров extrinsi c я использую матрицу поворота единицы и вектор перевода, то есть мою собственную позицию камеры в качестве мировой позиции. Поэтому я использую матрицу проекции:
f_x 0 c_x 1 0 0 | 0
P = C * [R | t] = 0 f_y c_y * 0 1 0 | 0
0 0 1 0 0 1 | 0
То, что я пробовал: Я понимаю, что в установке KITTI используются 4 камеры и используются P_00
координаты камеры в качестве мировых координат. Данные одиночной камеры на их сайте KITTI взяты с камеры P_02
.
Для вывода deepMANTA просто использует матрицу P_rect02
в качестве матрицы проекции. Я знаю, что эта матрица рассчитывается по P0
и имеет вид
f_u 0 c_u (-f_u * b_x)
0 f_v c_v 0
0 0 0 1
Пример трехмерного ограничивающего прямоугольника из модели deepMANTA с P_rect02
можно увидеть здесь .
Пример трехмерной ограничительной рамки из deepMANTA на мой набор данных с P
можно увидеть здесь .
Кажется, что ограничивающие рамки с правильной ориентацией и с точными размерами, однако я не понимаю, могу ли я просто использовать матрицу вращения единицы и вектор преобразования единицы для моих проекций. У кого-нибудь есть намеки, что я делаю не так?