본문 바로가기
Paper/paper review

[논문 리뷰] Accurate Calibration of LiDAR-Camera Systems using Ordinary Boxes

by Gnaseel 2020. 12. 22.
728x90
반응형

이 논문은 RGB camera와 3D LiDAR을 사용한 비전시스템의 calibration에 대해 다루는 논문이다.

카메라와 라이다의 extrinsic parameter를 찾는 것이 목적이다.

라이다와 카메라 사이의 extrinsic parameter를 찾는 논문은 2000년도 후반 라이다의 가격이 점차적으로 하락하며 등장하기 시작했고, 현재는 3D LiDAR를 사용하거나, 어안카메라, 다수의 카메라&라이다 사용, 타겟리스한 방법론 등 폭발적으로 연구되고있지는 않지만 꾸준하게 진행되고 있다.

 

Introdunction

 

 라이다는 주변 환경을 인식하며 거리 정보를 매우 정확하게 반환하며 빛에 영향을 받지 않지만, 낮은 해상도를 가지는 것이 단점이다. 그에 비해 카메라는 높은 해상도와 색 데이터를 가지고 있지만 주변 빛 환경에 매우 큰 영향을 받는다. 이 두가지 센서를 상호보완적으로 사용하면 자율주행 자동차환경 등에서 좋은 데이터를 얻을 수 있다. 이 논문에서는 크기가 알려진 상자를 통해서 참신하고 정확한 캘리브레이션 방법을 사용한다.

 

 

Related Work

 

라이다와 카메라 사이의 rigid transformation을 찾는 알고리즘은 많이 존재한다.

 

평평한 보드를 사용하는 방법 - 라이다의 낮은 해상도 때문에 에지를 찾는 것이 힘들다.[24]

특히 이것은 전통적인 체스보드를 사용할 때 문제가 되는데, 이 패턴은 자신의 black, white 색때문에 LiDAR의 포인트클라우드를 오염시킨다.

대부분의 경우 카메라는 pre-calibrated되어야한다. (즉, intrinsic parameter를 미리 알고있어야한다.)

 

체스보드의 이러한 노이즈를 피하기 위해서 여러개의 평면 원 보드의 중심과 노말백터를 구해서 정합시키는 방법 등이 있다[27]

 

~~~(관련 논문 읽는중)

 

Method

 

 상자를 사용해서 calibration하는 것은 추가적인 작업이나 과정이 필요하지 않고, 에지나 포인트를 찾아 변환하는 다른 방법들과는 다르게 직각을 이루는 3개의 평면을 찾아 계산하기 때문에 낮은 해상도의 LiDAR를 사용해도 문제가 되지 않는다. 그리고 LiDAR의 intensity같은 추가적인 정보도 활용하지 않아 어떤 타입의 LiDAR로도 사용할 수 있다.

이 논문에서 제안하는 방법을 위해서는 4개의 데이터가 필요하다.

 

1. LiDAR에서 얻어진 point cloud

2. Camera에서 얻어진 이미지

3. 카메라의 intrinsic parameters

4. 상자의 실제 길이

 

구체적인 흐름은 위와 같다.

process 1 - Plane Detection

 

 우리 알고리즘의 핵심 아이디어는 직육면체 상자에서 직각을 이루는 3개의 평면을 검출하고,  해당 평면에서 7개의 코너를 검출해 사용하는 것이다.  이 7개의 코너를 projection시켜서 Camera에서 얻은 이미지와 비교하게 된다.

이미지를 비교할 때는 Perspective-n-Point 알고리즘을 사용한다. [12,16,30,36]

 

 각설하고, 우리의 첫번 째 목표는 이 7개의 point cloud를 정확하게 검출해내는 것이다.

우선 해당 상자가 위치한 장소를 러프하게 잘라내야한다. 정확할 필요 없이 대략적으로만 잘라내면 된다.

(이 논문의 단점으로 생각되는 부분이다. 타겟의 위치를 직접 인지하고, 그 장소를 직접 크롭해야 한다.)

크롭된 pointcloud에 RANSAC을 사용해서 각각의 평면으로 군집화한다. (평면방정식을 모델로 노말벡터 사용)

 

크롭된 구역에서는 적은 수의 군집화된 pointcloud만이 존재하므로 아래 식을 통해서 내적이 0인(직각인) 평면들을 검출해야한다.

모든 평면들 중 3개의 평면을 선택하고, 에러를 계산하는 과정을 반복한다.

nk는 k번째 평면의 노말벡터이다.

 

왼쪽은 RANSAC을 통해 구해진 크롭된 구역 내부의 평면 데이터이고, 오른쪽은 식 (1)을 통해 구해진 내적이 0인 평면들이다.

 

process 2 - Box Fitting and Outlier Removal

 

 검출된 평면들을 바탕으로 outlier를 제거하는 작업을 거쳐야한다.

이것은 매우 중요한 작업인데, LiDAR 데이터는 텍스쳐로 인해 발생하는 range-reflectivity bias(?)같은 노이즈의 영향을 크게 받기 때문이다.

 이번에도 RANSAC을 사용하는데 전 단계에서 임의의 평면방정식을 모델로 사용했었던 것과는 다르게 ,  직각을 이루는 3개의 평면을 모델로 사용한다. 

 더 구체적으로 설명해보겠다.

1.  1번 평면에서 3개의 point를 샘플링한 후 평면(P1)을 정의한다.

2.  2번 평면에서 2개의 point를 샘플링한 후 직선을 정의하고, 이 직선을 포함하며 P1과 직각인 평면(P2)을 정의한다.

3.  3번 평면에서 1개의 point를 샘플링한 후 이 point를 포함하며 P1, P2와 직각인 평면(P3)을 정의한다.

 

이 3개의 과정을 통해 얻어진 P1,P2,P3과 일정 거리 이내에 존재하는 point를 inlier로 정의하며 RANSAC을 진행한다.

 

process 3 - Iterative Box Refinement

 

outlier가 제거된 이후 2단계의 refine과정을 거쳐 point set을 획득하게 된다.

 

3.1 Rotation step

 

i는 평면의 인덱스, j는 해당 평면에 존재하는 점의 인덱스, n은 법선 벡터이다.

 

 

 

일반적으로 world frame의  principal direction은 상자와 같기때문에 3번째 축의 회전을 (3) 과 같이 정의할 수있다.

 

3.2 Translation step

 

~~~ 사실 3번프로세스 Iterative Box Refinement부분은 내용이 어려워 제대로 이해하지 못했다.입

 

process 4 - Convergence

 rotation과 translation step을 값이 수렴할 때 까지 반복한다. 경험적으로는 30회정도 반복하면 일정하게 수렴된다고 한다.

 

process 5 - Calculation of Extrinsic Parameters

상자의 크기를 알고있기 때문에, Iterative refinement작업이 끝나면 상자의 corner를 정확하게 구할 수 있다.

 

위와 같은 점 데이터를 얻은 후, LiDAR와 LiDAR를 비교할 때는 SVD를 사용하고, LiDAR와 Camera를 비교할 때는 projection 시킨 후 PNP 알고리즘을 통해 두 센서의 상대적인 위치를 알 수 있다.

 

참고문헌

[12] J. A. Hesch and S. I. Roumeliotis. A direct least-squares (dls)method for pnp. InInternational Conference on ComputerVision, pages 383–390. IEEE, 2011.

[16] V. Lepetit, F.Moreno-Noguer, and P.Fua. Epnp: An accu-rate o(n) solution to the pnp problem.International JournalComputer Vision, 81(2), 2009.

[24] Y. Park, S. Yun, C. S. Won, K. Cho, K. Um, and S. Sim.Calibration between color camera and 3d lidar instrumentswith a polygonal planar board.Sensors, 14(3):5333–5353,2014.

[27] S. Rodriguez F, V. Fremont, and P. Bonnifait. Extrinsic cali-bration between a multi-layer lidar and a camera.

[30] G. Schweighofer and A. Pinz. Globally optimal o(n) solutionto the pnp problem for general camera models. InBMVC,2008.

[36] Y. Zheng, Y. Kuang, S. Sugimoto, K. ̊Astr ̈om, and M. Oku-tomi. Revisiting the pnp problem: A fast, general and opti-mal solution. InICCV, pages 2344–2351, 2013.

반응형