1. 센서 데이터 전처리
- RGBD 데이터 정제:
- RGBD 카메라로부터 수집된 데이터에서 노이즈를 제거하고, 깊이 정보를 정확하게 보정
- 이는 보통 필터링 알고리즘(예: 메디안 필터, 가우시안 필터)을 사용하여 수행
2. 글로벌 맵과 센서 데이터의 초기 매칭
- 특징점 추출 및 매칭:
- RGB 이미지에서 SIFT, ORB 또는 다른 특징점 검출 알고리즘을 사용하여 특징점을 추출
- 이 특징점들을 글로벌 2D 맵에 이미 표시된 특징들과 매칭하여 초기 위치 추정치를 얻음
3. 위치 보정
4. 정확한 ROI 맵 정보 추출
5. 반복적인 위치 보정 및 맵 업데이트
- 로봇이 움직임을 계속하면서 새로운 센서 데이터를 수집하고, 이를 기반으로 위치 보정과 ROI 맵 정보 업데이트를 반복적으로 수행합니다. 이 과정은 로봇이 탐색
하는 동안 지속적으로 환경에 대한 이해를 갱신하고 최적화합니다.
- 이 알고리즘적 접근은 로봇이 글로벌 2D 맵과 자신의 센서 데이터를 통합하여 정확한 위치 추정과 환경 인식을 달성하는 데 중점을 둡니다. 위치 보정과 ROI 맵 정보의 정확한 추출은 로봇의 내비게이션과 임무 수행 능력을 크게 향상시킬 수 있습니다.
답변 2
- 로컬 3D 포인트 클라우드 데이터와 글로벌 2D 맵 사이의 최적 매칭을 찾기 위한 과정 설명
- 이 과정은 대체로 두 주요 단계로 나눌 수 있습니다:
- (1) 데이터 변환 및 표현의 조정,
- (2) 매칭 및 최적화 기법의 적용
- 다음은 이러한 과정을 수행하기 위한 알고리즘적 접근법입니다.
1. 데이터 변환 및 표현 조정
a. 포인트 클라우드의 2D 투영
- 투영 방법:
- 3D 포인트 클라우드에서 관련성이 높은 특징을 보존하면서 2D 평면으로의 투영을 수행합니다. 이는 보통 z축(높이)에 대한 정보를 제거하고, x와 y축 정보만을 사용하여 수행됩니다.
b. 특징 추출
- 특징 추출: 투영된 2D 데이터와 글로벌 2D 맵에서 동일한 유형의 특징(예: SIFT, SURF, ORB)을 추출하여, 매칭 과정에서 비교할 기준점을 설정
2. 매칭 및 최적화 기법
a. ICP (Iterative Closest Point)
- 원리:
- 3D 포인트 클라우드 데이터와 2D 맵 간의 변환을 찾기 위해, 반복적으로 가장 가까운 점들 사이의 매칭을 최적화
- 이 과정은 3D-2D 매칭에 직접적으로 사용되기 보다는, 3D 데이터를 기반으로 한 후속 처리나 다른 매칭 알고리즘과 결합될 때 유용합니다.
b. 특징 기반 매칭
- 특징 매칭: 추출된 특징들 사이에서 매칭을 수행하기 위해, feature descriptor 간의 거리(예: 유클리드 거리)를 계산하고, 가장 유사한 특징들을 매칭
c. RANSAC (Random Sample Consensus)
- 원리:
- 이상치(outlier)에 강건한 매칭을 위해, RANSAC 알고리즘을 사용하여 특징 매칭 과정에서 발생할 수 있는 오류를 최소화
- 무작위로 선택된 데이터 샘플을 기반으로 모델을 추정하고, 이 모델에 가장 잘 맞는 데이터 포인트들을 찾아내 최적의 매칭을 결정합니다.
d. 최적화 알고리즘
- 최적화: 매칭된 특징점들을 기반으로 초기 변환 추정치를 얻은 후,
- Levenberg-Marquardt 최적화와 같은 고급 최적화 기법을 사용하여 최종적인 매칭과 변환 파라미터를 정밀하게 조정
3. 위치 보정
- 매칭 및 최적화 과정을 통해 얻은 변환 정보를 사용하여, 로봇의 현재 위치를 보정
- 이를 통해, 로컬 3D 포인트 클라우드 데이터와 글로벌 2D 맵 사이의 최적 매칭을 기반으로 로봇의 정확한 위치를 결정할 수 있습니다.
2d grid map에서 특징점 찾기
1. Harris 코너 검출기 (Harris Corner Detector)
- Harris 코너 검출기는 이미지에서 코너를 식별하는 데 널리 사용되는 방법으로, 그리드 맵에서의 고유한 지점(특징점)을 찾는 데에도 적용할 수 있습니다.
- 동작 원리: 그리드 맵을 이미지로 간주하고, 각 픽셀에서 그레이디언트의 방향 변화량을 계산하여 코너를 식별합니다. Harris 검출기는 픽셀 주변의 작은 윈도우가 모든 방향으로 이동할 때 발생하는 강도 변화의 변화량을 측정합니다.
- 장점: 강력하고 빠른 검출 능력을 가지고 있으며, 코너와 같은 구조적 특징을 잘 포착합니다.
- 단점: 노이즈에 민감할 수 있으며, 스케일 변화에 대응하는 능력이 제한적일 수 있습니다.
2. FAST (Features from Accelerated Segment Test)
-
FAST는 주로 이미지에서 특징점을 빠르게 검출하기 위해 사용되며, 그리드 맵에서의 중요 지점을 찾는 데에도 적합합니다.
-
동작 원리: 픽셀 주변의 원형 이웃들을 검사하여, 중심 픽셀과의 밝기 차이가 임계값 이상인 이웃 픽셀의 수에 따라 특징점을 결정합니다.
-
장점: 매우 빠른 계산 속도를 자랑하며, 실시간 시스템에서 유용합니다.
-
단점: 회전 불변성이나 스케일 불변성이 없으며, 노이즈에 상대적으로 민감할 수 있습니다.
3. GFTT (Good Features to Track)
-
GFTT는 Harris 코너 검출기를 개선한 방법으로, 추적하기 좋은 특징점을 식별합니다.
-
동작 원리: Harris 검출기의 응답 함수를 사용하지만, 특징점의 품질을 기반으로 최상의 특징점을 선택하는 기준을 추가합니다.
-
장점: 트래킹에 적합한 고품질의 특징점을 제공합니다.
-
단점: 계산 비용이 Harris 코너 검출기보다 높을 수 있습니다.
4. Canny 엣지 검출기
-
Canny 엣지 검출기는 이미지의 엣지를 찾는 데 사용되지만, 그리드 맵에서 경계를 따라 나타나는 특징점을 식별하는 데에도 활용될 수 있습니다.
-
동작 원리: 그레이디언트의 크기와 방향을 계산하여 강한 엣지를 검출하고, 이를 통해 연결된 엣지를 추적합니다.
-
장점: 노이즈에 강하고, 엣지의 연속성을 잘 유지합니다.
-
단점: 엣지 검출에 중점을 둔 방법이므로, 코너나 다른 종류의 특징점을 찾는 데는 제한적일 수 있습니다.
2d grid map의 특징점끼리, 특징점 matching 하는 방법
1. RANSAC (Random Sample Consensus)
-
RANSAC은 이상치에 강건한 특징점 매칭 알고리즘으로, 특징점 간의 매칭을 추정하고 최적의 매칭 모델을 찾는 데 널리 사용
-
동작 원리:
- 무작위로 특징점 쌍을 선택하고, 이들 사이의 변환(예: 회전과 이동)을 추정합니다.
- 다음으로, 이 변환을 나머지 특징점에 적용하여 얼마나 많은 특징점이 잘 매칭되는지를 평가
- 이 과정을 반복하여 최대의 일치 특징점 집합을 가진 변환을 최종 모델로 선택
-
장점: 이상치에 강건하며 다양한 환경에서 좋은 성능
-
단점: 무작위 샘플링 방식 때문에 계산 비용이 높을 수 있으며, 최적의 결과를 보장하지는 않음
2. ICP (Iterative Closest Point)
- ICP 알고리즘은 주로 3D 포인트 클라우드 매칭에 사용되지만, 2D 그리드 맵의 특징점 매칭에도 적용할 수 있습니다.
- 동작 원리:
- 한 맵의 각 특징점에 대해, 다른 맵에서 가장 가까운 특징점을 찾음
- 이렇게 해서 구해진 특징점 쌍을 기반으로 두 맵 사이의 최적 변환(회전 및 이동)을 계산합니다.
- 이 변환을 반복적으로 조정하여 두 맵 간의 오차를 최소화합니다.
- 장점: 정확한 매칭을 제공하며, 초기 추정치가 가까울 경우 빠르게 수렴할 수 있습니다.
- 단점: 초기 추정치에 의존적이며, 지역 최소값에 빠질 수 있습니다.
3. 특징 기반 매칭
- 특징 기반 매칭은 두 맵에서 검출된 특징점의 디스크립터를 비교하여, 유사한 특징점을 찾는 방식
- 이는 SIFT, SURF, ORB와 같은 알고리즘을 통해 추출된 특징점과 디스크립터에 기반
- 동작 원리:
- 두 맵의 특징점 디스크립터 간의 거리(예: 유클리드 거리)를 계산하고, 이를 기반으로 가장 유사한 특징점 쌍을 매칭
- 매칭의 질을 개선하기 위해, 거리 비율 테스트 등의 추가적인 검증 단계를 적용할 수 있음
- 장점: 다양한 형태의 특징점과 변환에 대응할 수 있으며, 구현이 상대적으로 간단
- 단점: 매칭 성공률은 사용된 특징점과 디스크립터의 질에 크게 의존적
4. 그래프 기반 매칭
-
그래프 기반 매칭은 맵을 그래프로 모델링
하고, 노드(특징점)와 엣지(특징점 간의 관계) 간의 구조적 유사성을 기반으로 매칭을 수행
-
동작 원리: 각 맵에서 그래프를 생성하고, 그래프 매칭 알고리즘(예: 그래프 이즈모피즘 검사)을 사용하여 두 그래프 간의 최적 대응을 찾습니다.
-
장점: 구조적 정보를 활용하여 정확한 매칭이 가능합니다.
-
단점: 그래프 매칭은 NP-완전 문제일 수 있으며, 큰 맵에서는 계산 비용이 매우 높을 수 있습니다.
AMCL (Adaptive Monte Carlo Localization)
- 지도는 정확하다는 가정
- AMCL등을 쓰면, 비교적 오차가 적은 상태로 global map에 업데이트 할 수 있음
- global map에 업데이트를 바로 하는게 아니라, time 축으로 저장함.
- 업데이트 하는 기준을 마련해야함.
- 센싱 정보가 dynamic인지, static인지, 구분해야함.
센싱 정보가 dynamic인지, static인지, 구분하기
- 로봇이 실시간으로 수집한 로컬 인지 정보를 서버의 글로벌 2D 스태틱 맵에 반영하는 과정은 복잡한 문제
- 이 과정은 동적 장애물과 새로운 정적 장애물을 식별하고, 이 정보를 기존의 글로벌 맵에 정확하고 효과적으로 통합하는 것을 포함
- 다음은 이 문제를 해결하기 위한 로직과 알고리즘의 개요입니다:
1. 동적 장애물과 정적 장애물 구분
- 시간 필터링(Time Filtering):
- 같은 위치에 일정 시간 동안 지속적으로 관찰되는 객체만을 정적 장애물로 간주
- 단기적으로 나타났다 사라지는 객체는 동적 장애물로 분류
- 옵티컬 플로우(Optical Flow):
- 연속된 이미지 프레임에서 객체의 움직임을 분석하여, 움직이는 객체를 동적 장애물로 식별
2. 정적 장애물의 변화 감지
- 변경 감지(Change Detection):
- 새로 수집된 데이터와 글로벌 맵을 비교하여 변화된 지역을 식별
- 이는 빼기 연산, XOR 연산 등을 통해 수행할 수 있음
- 클러스터링(Clustering):
- 변화가 감지된 지역 내에서 클러스터링 알고리즘(예: k-평균, DBSCAN)을 사용하여 새로운 정적 장애물을 식별
3. 정보 통합과 맵 업데이트
- 데이터 융합(Data Fusion):
- 여러 센서 소스와 시간에 걸쳐 수집된 데이터를 통합하여, 글로벌 맵의 정확도를 개선
- 이 과정에서는
베이지안 필터링, 칼만 필터
등이 사용될 수 있음
- 맵 업데이트(Map Update):
- 식별된 새로운 정적 장애물과 제거된 동적 장애물 정보를 글로벌 맵에 반영
- 이는 맵의 정적 부분을 수정하거나 새로운 레이어를 추가하는 형태로 진행될 수 있음
4. 정확도와 신뢰도 평가
- 정확도 평가(Accuracy Assessment):
- 맵 업데이트 후, 새로운 맵의 정확도와 신뢰도를 평가
- 이는 시뮬레이션, ground truth 데이터 비교, 또는 수동 검사를 통해 수행될 수 있음
5. 반복적인 검증과 업데이트
- 반복적인 검증(Iterative Verification):