자주 까먹어서 정리하는 3D to 2D projection 과정
Step1. Homogeneous 좌표 생성
- 변환행렬곱을 가능하게 하기 위해서 lidar 데이터를 (x, y, z, 1)의 homogeneous 형태로 바꿔준다.
Step2. LiDAR to Camera 변환 행렬을 준비한다.
Step3. 계산해야되니까 가로 -> 세로 바꿔주기
points_cam = (T_lid2cam @ lidar_homogeneous.T).T

이를 통해 라이다 좌표계가 카메라 좌표계로 변화한다.
Step4. Camera 좌표계를 이미지 좌표계로 변환
K = 카메라 intrinsic(3x3)
3D 카메라 좌표를 2D homogeneous 좌표인 (u', v', w')로 변환한다. 아직 정규화되지 않음.

Step5. Pixel 좌표로 정규화
이미지의 실제 픽셀 위치를 얻는다.

이 때, valid mask를 지정해준다. 카메라 앞 쪽에 있으며 이미지 바운더리 안에 있는 점들의 집합