Какие параметры камеры следует использовать для моего собственного пользовательского набора данных при использовании набора данных KITTI для обучения переносу? - PullRequest
0 голосов
/ 09 апреля 2020

Краткое описание проблемы: Я ищу способ использовать свой собственный набор данных для вывода трехмерных рамок транспортных средств. Я использую реализацию из 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 можно увидеть здесь .

Кажется, что ограничивающие рамки с правильной ориентацией и с точными размерами, однако я не понимаю, могу ли я просто использовать матрицу вращения единицы и вектор преобразования единицы для моих проекций. У кого-нибудь есть намеки, что я делаю не так?

...