본문 바로가기

연구/내 연구공간

[좌표계 개념] 연구에서 사용하는 좌표계개념 정리

반응형

Computer vision task를 다루면서 Data loader를 만들다보면 월드좌표계, 카메라좌표계, 이미지좌표계 개념을 잘 알아야 함을 뼈저리게 느낀다. 따라서 나중에 혼동을 방지하기 위해 이 글을 정리한다.

 

GT를 카메라좌표계상에서 정의된 KP라고 하면 모델은 추가정보 없이 이미지만 입력받고서 카메라좌표계상의 KP를 알아낼 수 있을까?

대답은 No. 

모델이 받는 input 이미지는 다음과 같이 생성된다.

 

world 좌표계상의 좌표 -> (카메라 외부 파라미터) -> 카메라 좌표계상의 좌표 -> (카메라 내부 파라미터) -> image 좌표계상의 좌표 -> (bbox crop) -> cropped image 좌표계상의 좌표 -> (resize) -> cropped, resized image 좌표계상의 좌표.

 

여기서 model 이 받는 이미지는 cropped, resized image 이다. 이미지 상에서 joint 가 어디있는지는 추정가능하다. 하지만 어떤 bbox를 거쳤는지, 모델 내부 파라미터는 어떤지, 그리고 카메라와 target의 z축(카메라좌표계) 거리(depth 정보)를 알아야 카메라 좌표계상의 좌표를 알 수 있기 때문이다.

 

위에 "world 좌표계상의 좌표 --> cropped, resize image 좌표계상의 좌표" 과정에는 카메라와 target의 실제거리 같은 과정이 없는데 왜 이 정보가 필요할까? 그 이유는 카메라 좌표계상의 좌표를 이미지 좌표계상의 좌표로 변환하는 과정에서 depth 정보가 소실되기 때문이다.

cam2pixel 변환이 카메라 내부 파라미터만 필요하고, 아무런 정보소실이 없다면 pixel2cam 으로 복원할때도 카메라 내부파라미터만 필요할 것이다. 하지만 중간에 날아가버린 정보가 있기 때문에, 그 정보가 없다면 camera 좌표계로 복원하는 것은 불가능하다.

 

따라서 모델이 필요한 추가정보는 bbox정보, 카메라 내부 파라미터, 그리고 카메라와 KP간의 z축 거리(depth)이다.

반응형