| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- Subscriber
- XML
- TinySLAM
- 패키지만들기
- 튜토리얼
- sudo
- Python
- udacity
- 데브코스
- 판단
- 공부
- Localization
- Publisher
- Slam
- launch
- 기초
- Ros
- 어렵네
- CNN
- 노트
- turtlebot3
- 가재보
- Gazebo
- Robotics program 교육
- 자율주행
- navgation
- catkin빌드
- turtlesim
- 입문
- C++
- Today
- Total
Tnote
[SLAM 논문리뷰] PTAM 본문

Parallel Tracking and Mapping
* Parallel : 평행한, 병렬
병렬 Tracking 과 Mapping, PTAM은 Key frame을 이용한 Visual SLAM 기술로 기존 Visual SLAM은 특징점 매칭과 맵 갱신이 모든 프레임에 이루어져 처리속도가 느리고 정밀한 알고리즘을 쓰기 어려운 문제점이 있었으나, PTAM에서는 카메라 위치를 추정하는 Tracking과 특징맵을 생성하는 Mapping을 별도의 쓰레드(병렬)로 돌려 문제를 해결
(tracking은 모든 프레임, mapping은 주요 키프레임에만 적용)
Small AR Workspaces
소규모 AR 작업환경, 우리가 알고 있는 그 3D 공간이 실시간으로 구축되면서 매끄러운 증강현실이 가능할 정도의 정밀한 카메라 위치추적이 가능해 진다. 하지만, 큰 규모에 적용하기 힘들고 작더라도 카메라 시점 변화의 폭이 커지면 적용에 문제가 있다. 즉, PTAM은 사무실과 같이 소규모 공간 or 고정된 공간에 적합한 방법이다.
=> 소규모 AR 작업환경을 위한 Parallel Tracking And Mapping
0. 초록
- 미지의 장면에서 카메라 pose 추정하는 방법 제시(Tracking)
- 우리는 Tracking 과 Mapping을 두 개의 개별 작업으로 분할(병렬 쓰레드로 처리)
- 배치 최적화 기술을 사용할 수 있다.
- 정확도와 견고성을 가지고 수천 개의 랜드마크가 포함된 상세한 지도를 생성 하는 시스템 생성.
1. 소개
- 증강 현실(AR)에서의 카메라 Tracking
대부분의 증강 현실(AR) 시스템은 환경에 대한 사전지식인 일종의 지도로 작동한다. 이후 프로그램은 사용자가 사전 정보를 기반으로 환경과 상호 작용할 수 있도록 한다. 여기서 제동된 지도나 모델이 포괄적일 때 해당 지도에 직접 등록을 수행할 수 있다라는 것
- 제약조건
사용자에게 시뮬레이션과 상호 작용할 수 있는 자유를 제공하려면 더 빠르고 정확하며 강력한 카메라 Tracking이 필요하고 동시에 지도를 수정하고 새로운 지역을 탐색할 경우 지도를 확장해야 한다. 우리는 작업을 단순하게 하기위해 정적이어야 하고 작아야 한다는 제약 조건을 부과했다.
=> 도시를 돌아다니는 것과 같은 탐색 작업은 지원x.
- 시스템의 일반적인 작동

660개 성공적인 관찰이 점으로 표시되고 여기서 가상 캐릭터가 상호 작용 할 수 있는 그리드 평면도 표시됨.
2. 개요(SLAM 맥락에서의)
- Tracking 및 Mapping이 분리되어 두 개의 병렬 쓰레드에서 실행
- Mapping은 bundle 조정을 사용해 처리되는 키프레임을 기반
- Map은 stereo pair에서 조밀하게 초기화 // 두 개의 이미지를 매치하는 건가?
- 새 point는 epipolar search로 초기화 된다.
- 많은 수의 지점이 mapping 된다.
3. 관련 연구
...
4. Map
- Map은 world 좌표 프레임 W에 위치한 M 포인트 피쳐의 모음으로 구성
- 각 M 포인트 피처는 월드의 로컬 평면 텍스처 패치를 나타냄 // 로컬 텍스처 패치? 좌표계인가
- 맵(pj)의 j번째 점은 좌표 프레임 W에서 좌표 p_jw = (x_jw y_jw z_jw 1)^T
- 맵에 N 키프레임도 포함되어 있고 Ki로 표시
- 예시에서 나오는 맵에는 M=2000~6000개의 포인트와 N=40~120개의 키프레임이 포함될 수 있다.
// 포인트는 랜드마크고, 키프레임은 포인트 위치가 그려진 프레임?
5. Tracking
- 이미 3D point 맵이 만들어 졌다고 가정
- 카메라에서 이미지를 수신한 영상의 특징점과 구축된 맵의 특징점 매칭
- 매칭 후 찾아진 매칭쌍에 대한 카메라 pose 추정
- 이 추정치로 비디오 프레임위에 증강 그래픽을 그릴 수 있다.
이미지 획득
카메라 pose와 영사
Patch Search
pose 업데이트
두번 수행되는 패치 검색과 포즈 업데이트
Tracking 품질과 문제 복구
6. Mapping
- tracking에서 제공한 키프레임 이미지를 Map에 추가
- 초기 Mapping
사용자에 의해 Mapping 됨.
카메라를 고정 시켜 실행 후 카메라를 평행하게 이동시켜 종료
시작 지점과 종료 지점에 5-point 알고리즘 적용해 특징점의 3D 좌표 계산 // 5-point 알고리즘?
회전x 없이 transpose 해서 초기 Mapping 해야 함.
+ 5-point 알고리즘
카메라의 pose를 추정하기 위해 두 장의 영상으로 부터 대응점을 찾아 essential 행렬을 예측하고
이로부터 회전 행렬과 이동 벡터를 찾는 것. // 두 장의 영상이 어떤 관계인가를 예측해서 추정하는 것?

* 이 초기 이동은 카메라가 스테레오 쌍 사이에서 10cm 이동했다고 가정
RANSAC : 필수 행렬 추정해 지도가 회전되고 변환되어 지배적인 감지 평면이 세계에서 z=0에 놓이도록 한다.
// 좌표 변환?, 임의의 5개의 점을 선택하여 essential 행렬 후보를 추정한다?
합의 집합의 공간 평균과 분산을 평가하여 승리 가설을 수정하고 공분산 행렬의 가장 작은 고유 벡터가 감지된 평면 법선을 형성한다.
초기 Mapping은 약 3초 정도 소요된다.
- 이후 Mapping
초기 Mapping에는 2프레임에 의해서 만들어지지만 이후에는 이동하면서 카메라가 새로운 키프레임을 추가하면서 맵이 확장되고 갱신된다.

- Keyframe 삽입
키프레임은 3가지 조건을 추가해야 새로운 키프레임으로 추가가 된다.
1) Tracking 품질이 좋아야 한다.
2) 마지막 키프레임이 추가된 이후 시간이 20프레임이 지나야 한다.
3) 카메라와 기존 Map에 있는 특정 값 이하의 거리에 있어야 한다. (카메라와 맵이 너무 멀리 떨어지면 맵 손상되므로)
// 얘만 그런게 아니라 다른 SLAM들도 이런 규칙이 있는가?
- epipolar search [에피폴라 서치]
7. 결과
...
8. 제한 사항 및 향후 연구
....
9. 결론
소규모 작업 공간 AR 응용 프로그램에 적합한 Tracking 품질을 제공할 수 있었다.
사용자에게는 최소한의 초기화만 부담(초기 Mapping, 3s)
but, 처음 사용하는 사용자가 간단히 사용하기에는 성능이 충분치 않다.
-> 그러므로 향후 해결하고 더 확장된 Mapping 할 것.
- Epipolar
두 카메라의 원점을 잇는 선과 이미지 평면이 만나는 점 : epipole
epipole을 이은 직선 : epipolar line
- Essential Matrix
A 영상과 B영상의 찍힌 점들의 관계를 만족하는 행렬
A에서 찍은 p점과 B에서 찍은 p점의 기하학적 관계를 설명하는 행렬
- Fundamental Matrix
Essential Matrix는 정규화된 이미지 평면에서의 점의 기하학적 관계를 설명하는 행렬이면 Fundamental Matrix는 카메라 파라미터 까지 포함한 실제 픽셀 좌표 사이의 기하학적 관계
'SLAM 스터디' 카테고리의 다른 글
| [SLAM 스터디 1] Tiny-SLAM 논문 리뷰 (0) | 2022.07.26 |
|---|---|
| [SLAM 스터디] LIO-SAM 논문 리뷰 (0) | 2022.07.17 |
| [SLAM 논문리뷰] ORB-SLAM (0) | 2022.04.23 |
| [SLAM 스터디 2] Real-Time Loop Closure in 2D LIDAR SLAM (0) | 2022.03.20 |