체커보드를 이용한 서라운드 뷰(Surround View) 자동 캘리브레이션 및 위치 보정 알고리즘 개발
- 각 과정별 상세 알고리즘(코드)에 대한 설명은 생략함.
- 결과 영상 바로가기
1. 영상 획득
2. 체커보드 이용 BEV 변환
- 모든 체커보드는 전면 영상의 체커보드 크기와 동일하도록 캘리브레이션
Front
Left
Right
3. 배치
- 각 영상에서의 체커보드의 실제 세계 좌표를 이용해 영상 위치를 조정 (전면 영상의 체커보드 크기 기반)
4. 겹치는 부분의 특징점 추출 및 매칭
- 테스트 영상에서 겹치는 부분의 특징점이 뚜렷하지 않아 오매칭이 발생, 매칭 성능을 보장하기 위해 겹치는 부분에 체커보드 또는 ArUco 보드 등을 이용할 수 있음.
Front-Left
Front-Right
5. 매칭정보 기반 영상 보정
- 특징점 매칭 기반 영상 보정에서 perspective transform을 수행하면 기존 BEV를 통해 맞춘 지면 평면의 조건이 변형될 수 있으므로, scale과 shear을 제외한 affine transform을 통해 각 영상이 지면에 수평하다는 조건을 보존하도록 해야함.
6. 각 영상의 영역을 지정하여 자르고 합치기
- 각 영상이 합성될 영역 마스크를 미리 정의하고 마스크를 이용해 영상 합성
7. 자연스럽게 합치기(알파 블렌딩)
- 겹치는 영역의 일정 크기의 그레디언트 알파 마스크를 생성하고 알파 마스크를 이용해 영상들을 블렌딩
그레디언트 마스크 생성
- 합치는 영역의 대각선을 기준으로 margin 만큼의 영역을 대상으로 그레디언트맵 생성
- 자연스러운 합성을 위해 적절한 margin 값 조정
결과
8. 밝기 및 색상 정규화
- 전면 영상을 기준으로 좌, 우 이미지에서 겹치는 부분을 비교해 밝기 정규화를 통한 밝기 조정.
- 좌: 밝기 조정 전, 우: 밝기 조정 후
9. 결과
3-Way 결과
4-Way 결과
- (추가) ArUco 마커를 이용한 자동 위치 보정