1 |
1
SLAM(Simultaneous Localization and Mapping)을 가속화하는 장치에 있어서,팩터 그래프 메모리(factor graph memory); 및백 엔드 프로세서(back-end processor)를 포함하고, 상기 백 엔드 프로세서는,상기 팩터 그래프 메모리로부터 맵 포인트 및 카메라 포즈에 대한 제1 측정값(measurement)을 획득하고,모든 측정값들에 기초하여 상기 맵 포인트 및 상기 카메라 포즈에 대한 헤시안 행렬(Hessian matrix) 전체를 생성하는 대신, 상기 헤시안 행렬의 요소들 중 상기 제1 측정값과 연관되어 최적화 행렬에 영향을 주는 요소들을 계산하며,상기 맵 포인트 및 상기 카메라 포즈의 상태들에 대한 최적화 연산을 수행하는데 이용되는 상기 최적화 행렬에 상기 계산된 요소들을 누적하는, 장치
|
2 |
2
제 1항에 있어서,상기 백 엔드 프로세서는,제1 사이클에 상기 제1 측정값이 로드된 이후, 연속적인 사이클들에 걸쳐 상기 제1 측정값과 연관된 연산들을 순차적으로 수행하는 파이프라인 구조를 포함하고,상기 파이프라인 구조는,상기 제1 사이클 다음의 제2 사이클에 제2 측정값이 로드되면, 상기 제1 측정값에 연관된 연산들에 후속하여, 상기 제2 측정값과 연관된 연산들을 수행하는, 장치
|
3 |
3
제 1항에 있어서,상기 백 엔드 프로세서는,상기 제1 측정값을 이용하여 상기 카메라 포즈에 대한 행렬 블록의 요소들, 상기 맵 포인트에 대한 행렬 블록의 요소들, 및 상기 맵 포인트에 대응하는 적어도 하나 이상의 카메라 포즈에 대한 행렬 블록의 요소들을 계산하는, 장치
|
4 |
4
제 1항에 있어서,제1 측정값은 제1 맵 포인트 및 상기 제1 맵 포인트에 대응되는 적어도 하나의 카메라 포즈를 포함하는, 장치
|
5 |
5
제 1항에 있어서,상기 백 엔드 프로세서는,상기 모든 측정값들에 대해 순차적으로 계산된 요소들이 상기 최적화 행렬에 누적되면, 상기 최적화 행렬을 이용하여 상기 맵 포인트 및 상기 카메라 포즈의 상태들에 대한 최적화 연산을 수행하는, 장치
|
6 |
6
제 1항에 있어서,상기 제1 측정값은 카메라, IMU(Inertial Measurement unit), 깊이(depth) 센서, GPS(Global Positioning System), 및 주행거리계(odometer) 중 적어도 하나를 포함하는 센서로부터 획득되는 데이터에 대해 프론트 엔드(front-end)를 수행한 결과에 대응되는, 장치
|
7 |
7
제 6항에 있어서,상기 제1 측정값이 상기 카메라 및 상기 IMU로부터 획득되는 데이터에 대해 프론트 엔드를 수행한 결과에 대응되는 경우,상기 백 엔드 프로세서는,상기 제1 측정값을 상기 카메라 및 상기 IMU 모두에 의해 영향을 받는 제1 부분과, 상기 IMU에 의해서만 영향을 받는 제2 부분으로 구분하는, 장치
|
8 |
8
제 7항에 있어서,상기 백 엔드 프로세서는,상기 제1 부분을 이용하여 상기 카메라 포즈에 대한 행렬 블록의 요소들, 상기 맵 포인트에 대한 행렬 블록의 요소들, 및 상기 맵 포인트에 대응하는 적어도 하나 이상의 카메라 포즈에 대한 행렬 블록의 요소들을 계산한 뒤, 상기 제1 부분을 이용하여 계산된 요소들을 상기 최적화 행렬에 1차적으로 누적하고,상기 제2 부분을 이용하여 상기 카메라 포즈에 대한 행렬 블록의 요소들을 계산한 뒤, 상기 제2 부분에 대해 계산된 요소들을 상기 최적화 행렬에 2차적으로 누적하는, 장치
|
9 |
9
제 1항에 있어서,상기 백 엔드 프로세서는,상기 맵 포인트 및 상기 카메라 포즈에 대한 행렬의 요소들을 획득하는 연산을 복수 개의 서브 트랙(sub-track)으로 분할하는, 장치
|
10 |
10
제 9항에 있어서,상기 복수 개의 서브 트랙의 길이(track length)는 상기 백 엔드 프로세서가 동시에 연산을 수행할 수 있는 카메라 포즈의 개수에 기초하여 설정되는, 장치
|
11 |
11
SLAM을 가속화하는 방법에 있어서,팩터 그래프 메모리로부터 맵 포인트 및 카메라 포즈에 대한 제1 측정값을 획득하는 단계;모든 측정값들에 기초하여 상기 맵 포인트 및 상기 카메라 포즈에 대한 헤시안 행렬 전체를 생성하는 대신, 상기 헤시안 행렬의 요소들 중 상기 제1 측정값과 연관되어 최적화 행렬에 영향을 주는 요소들을 계산하는 단계; 및상기 맵 포인트 및 상기 카메라 포즈의 상태들에 대한 최적화 연산을 수행하는데 이용되는 상기 최적화 행렬에 상기 계산된 요소들을 누적하는 단계를 포함하는, 방법
|
12 |
12
제 11항에 있어서,상기 방법은,제1 사이클에 상기 제1 측정값이 로드된 이후, 연속적인 사이클들에 걸쳐 상기 제1 측정값과 연관된 연산들을 순차적으로 수행하는 단계; 및상기 제1 사이클 다음의 제2 사이클에 제2 측정값이 로드되면, 상기 제1 측정값에 연관된 연산들에 후속하여, 상기 제2 측정값과 연관된 연산들을 수행하는 단계를 더 포함하는, 방법
|
13 |
13
제 11항에 있어서,상기 제1 측정값과 연관되어 최적화 행렬에 영향을 주는 요소들을 계산하는 단계는,상기 제1 측정값을 이용하여 상기 카메라 포즈에 대한 행렬 블록의 요소들, 상기 맵 포인트에 대한 행렬 블록의 요소들, 및 상기 맵 포인트에 대응하는 적어도 하나 이상의 카메라 포즈에 대한 행렬 블록의 요소들을 계산하는, 방법
|
14 |
14
제 11항에 있어서,제1 측정값은 제1 맵 포인트 및 상기 제1 맵 포인트에 대응되는 적어도 하나의 카메라 포즈를 포함하는, 방법
|
15 |
15
제 11항에 있어서,상기 방법은,상기 모든 측정값들에 대해 순차적으로 계산된 요소들이 상기 최적화 행렬에 누적되면, 상기 최적화 행렬을 이용하여 상기 맵 포인트 및 상기 카메라 포즈의 상태들에 대한 최적화 연산을 수행하는 단계를 더 포함하는, 방법
|
16 |
16
제 11항에 있어서,상기 제1 측정값은 카메라, IMU(Inertial Measurement unit), 깊이(depth) 센서, GPS(Global Positioning System), 및 주행거리계(odometer) 중 적어도 하나를 포함하는 센서로부터 획득되는 데이터에 대해 프론트 엔드(front-end)를 수행한 결과에 대응되는, 방법
|
17 |
17
제 16항에 있어서,상기 방법은,상기 제1 측정값이 상기 카메라 및 상기 IMU로부터 획득되는 데이터에 대해 프론트 엔드를 수행한 결과에 대응되는 경우, 상기 제1 측정값을 상기 카메라 및 상기 IMU 모두에 의해 영향을 받는 제1 부분과, 상기 IMU에 의해서만 영향을 받는 제2 부분으로 구분하는 단계를 더 포함하는, 방법
|
18 |
18
제 17항에 있어서,상기 방법은,상기 제1 부분을 이용하여 상기 카메라 포즈에 대한 행렬 블록의 요소들, 상기 맵 포인트에 대한 행렬 블록의 요소들, 및 상기 맵 포인트에 대응하는 적어도 하나 이상의 카메라 포즈에 대한 행렬 블록의 요소들을 계산한 뒤, 상기 제1 부분을 이용하여 계산된 요소들을 상기 최적화 행렬에 1차적으로 누적하는 단계; 및상기 제2 부분을 이용하여 상기 카메라 포즈에 대한 행렬 블록의 요소들을 계산한 뒤, 상기 제2 부분에 대해 계산된 요소들을 상기 최적화 행렬에 2차적으로 누적하는 단계를 더 포함하는, 방법
|
19 |
19
제 17항에 있어서,상기 방법은,상기 맵 포인트 및 상기 카메라 포즈에 대한 행렬의 요소들을 획득하는 연산을 복수 개의 서브 트랙(sub-track)으로 분할하는 단계를 더 포함하는, 방법
|
20 |
20
제 11항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
|