21년도 서울대 융합과학기술원 DYROS에서 진행한 동계융합프로그램 인턴 관련업무 AVM_IMG제작 Project에 대한 소스코드입니다.
OS | 사용 언어 | 사용 IDE |
---|---|---|
UBUNTU16.04 | C++ | VSCODE |
- 전후 좌우 이미지를 input으로 넣어준다.
- Ocam calibration tool (https://sites.google.com/site/scarabotix/ocamcalib-toolbox) 을 이용해서 구해놓은 intrinsic parameter와 affine parameter를 가지고 ocamcalib_undistort 패키지를 이용하여 각 이미지의 픽셀들의 camera좌표계 기준 unit vector를 구한다.
- camera 좌표계 기준 unit vector를 extrinsic parameter를 이용하여 차량 좌표계 기준으로 unit vector를 구한다.
- 차량 좌표계 기준으로 각각의 카마라의 위치를 알고 있으므로 카메라 위치를 지나고 3에서 구한 unit vector를 가지는 직선의 방정식을 구한다.
- 직선의 방정식의 Z값이 0이되는 X, Y좌표의 값을 구한다.
- AVM로 제작된 이미지에서 보고싶은 영역을(-10M ~ 10M) 정하고 원하는 크기의 이미지(width : 400, height :400)에 투영시킨다.
Fisheye distortion이 있는 이미지를 Top Down View 로 변형한 결과
bagfile로 받은 전후좌우 카메라로 찍은 실내 주차장 이미지를 AVM 이미지로 제작한 결과 ,아래는 segmentation 결과를 시각화한 것
bagfile로 받은 전후좌우 카메라로 찍은 실외 주차장 이미지를 AVM 이미지로 제작한 결과 ,아래는 segmentation 결과를 시각화한 것