Depth camera to BEV voxel map.

FSA·2023년 10월 5일
0

camera

목록 보기
2/11

뭘 하고싶어?

  • depth map → camera xyz coord → world xyz coord로 바꾸기
  • world xyz coord 를 voxel mapping을 통해 visualize 하고, class 마다 점의 색깔을 달리해서 표시해보기

왜 하는데?

  • 카메라가 실제로 커버할 수 있는 범위가 어디까지인지 궁금한데, 시각적으로 보면 좀 더 잘 보일 것 같음.
  • 시뮬레이터(정답)와 함꼐 그리면 좀 더 커버리지에 대한 감을 잡기 쉬울 듯!

방법론

depth map → camera xyz coord

  • depth → camera xy coord
    • (n, 2, 3) * (n, 3) = (n, 2)
    • (n, 2) → (n, 4)
      • x, y, z, 1
        import numpy as np
        
        # 예시로 n=4로 가정합니다.
        n = 4
        
        # 두 행렬을 정의합니다.
        matrix1 = np.random.rand(n, 2, 3)  # (n, 2, 3) 크기의 첫 번째 행렬
        matrix2 = np.random.rand(n, 3)    # (n, 3) 크기의 두 번째 행렬
        
        # 두 번째 행렬의 shape을 (n, 3, 1)로 변형합니다.
        matrix2 = np.expand_dims(matrix2, axis=-1)  # 또는 matrix2[:, :, np.newaxis]
        
        # 행렬곱을 수행합니다.
        result = np.matmul(matrix1, matrix2)  # 결과 행렬의 shape은 (n, 2, 1)
        
        # 결과 행렬에서 마지막 차원을 제거합니다.
        result = np.squeeze(result, axis=-1)  # 또는 result[:, :, 0]
        
        print(result)  # 결과 행렬의 shape은 (n, 2)

  • camera xy → depth
    • camera extrinsic matrix를 inverse 취하자.
      • (n, 3, 4) * (n, 4) = (n, 3)
profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글