오늘은 딥 러닝 기술이 복잡한 환경에서 비전 기반 SLAM(동시 위치 파악 및 매핑)의 성능을 어떻게 향상시킬 수 있는지 논의합니다. 심층 특징 추출과 깊이 일치 방법을 결합하여 저조도 조건, 동적 조명, 질감이 약한 영역 및 심한 지터와 같은 까다로운 시나리오에서 적응을 향상하도록 설계된 다목적 하이브리드 시각적 SLAM 시스템을 소개합니다. 우리 시스템은 확장 단안, 스테레오, 단안 관성 및 스테레오 관성 구성을 포함한 여러 모드를 지원합니다. 또한 시각적 SLAM을 딥러닝 방법과 결합하여 다른 연구에 영감을 주는 방법도 분석합니다. 공개 데이터 세트와 자체 샘플링 데이터에 대한 광범위한 실험을 통해 SL-SLAM이 위치 정확도 및 추적 견고성 측면에서 최첨단 SLAM 알고리즘보다 우수하다는 것을 보여줍니다.
프로젝트 링크: https://github.com/zzzzxxxx111/SLslam.
(엄지손가락을 위로 스와이프하고 맨 위 카드를 클릭하여 저를 팔로우하세요. 전체 작업은 1.328초만 소요되며, 그 다음에는 멀리 미래, 모두, 무료 건조 정보 혹시 도움이 되는 내용이 있으시면~)
SLAM(동시 측위 및 지도 생성)은 로봇 공학의 기술 중 하나입니다. 자율주행 및 3차원 재구성 센서의 위치 파악(측위)과 주변 환경 지도를 동시에 구축하는 것이 핵심 기술이다. 비전 및 관성 센서는 가장 일반적으로 사용되는 감지 장치이며 관련 솔루션에 대해 심도있게 논의하고 탐구했습니다. 수십 년의 개발 끝에 시각적(관성) SLAM의 처리 프레임워크는 추적, 지도 구성 및 루프 감지를 포함한 기본 프레임워크를 형성했습니다. SLAM 알고리즘에서 추적 모듈은 로봇의 궤적을 추정하는 역할을 담당하고 지도 작성 모듈은 환경 지도를 생성 및 업데이트하는 데 사용되며 루프 감지는 방문한 위치를 식별하는 데 사용됩니다. 이러한 모듈은 서로 협력하여 로봇의 상태와 환경을 인식합니다. Visual SLAM에서 일반적으로 사용되는 알고리즘에는 특징점 방식, 직접 방식, 반직접 방식이 있습니다. 특징점 방식에서는 특징점을 추출하고 매칭하여 카메라 포즈와 3차원 포인트 클라우드를 추정하고, 최근에는 영상 계조 차이를 최소화하여 카메라 포즈와 3차원 포인트 클라우드를 직접 추정하는 방식이 관련되어 있습니다. 연구는 극한 조건에서 견고성과 적응성을 향상시키는 데 중점을 두었습니다. SLAM 기술 개발의 오랜 역사로 인해 ORB-SLAM, VINS-Mono, DVO, MSCKF 등 전통적인 기하학적 방법을 기반으로 한 대표적인 SLAM 작품이 많이 있습니다. 그러나 해결되지 않은 몇 가지 질문이 남아 있습니다. 저조도나 동적 조명, 심한 지터, 약한 질감 영역 등 까다로운 환경에서 기존의 특징 추출 알고리즘은 이미지의 구조적, 의미적 정보를 고려하지 않고 이미지의 국소 정보만 고려하기 때문에 위와 같은 상황에 직면하면 기존의 특징 추출 알고리즘은 SLAM 시스템 추적은 불안정하고 비효율적일 수 있습니다. 따라서 이러한 조건에서는 SLAM 시스템의 추적이 불안정하고 비효율적이 될 수 있습니다.
딥러닝의 급속한 발전은 컴퓨터 비전 분야에 혁명적인 변화를 가져왔습니다. 딥러닝 모델은 학습을 위해 대량의 데이터를 활용함으로써 복잡한 장면 구조와 의미 정보를 시뮬레이션할 수 있어 SLAM 시스템의 장면 이해 및 표현 능력이 향상됩니다. 이 방법은 크게 두 가지 접근방식으로 나누어진다. 첫 번째는 Droid-slam, NICE-SLAM, DVI-SLAM 등 딥러닝 기반의 End-to-End 알고리즘입니다. 그러나 이러한 방법은 학습을 위한 많은 양의 데이터, 높은 컴퓨팅 리소스 및 저장 공간이 필요하므로 실시간 추적이 어렵습니다. 두 번째 접근 방식은 딥 러닝을 활용하여 SLAM의 특정 모듈을 향상시키는 하이브리드 SLAM입니다. 하이브리드 SLAM은 전통적인 기하학적 방법과 딥러닝 방법을 최대한 활용하며 거의 모든 제약 조건과 의미론적 이해 간의 균형을 찾을 수 있습니다. 이 분야에 대한 연구가 일부 진행되어 왔지만, 어떻게 딥러닝 기술을 효과적으로 통합할 것인가는 여전히 더 연구할 가치가 있는 방향입니다.
현재 기존 하이브리드 SLAM에는 몇 가지 제한 사항이 있습니다. DXNet은 단순히 ORB 특징점을 심층 특징점으로 대체하지만 이러한 특징을 추적하기 위해 계속해서 전통적인 방법을 사용합니다. 따라서 이는 심층 특징 정보의 불일치로 이어질 수 있습니다. SP-Loop는 폐쇄 루프 모듈에 딥 러닝 특징점만 도입하는 동시에 다른 곳에서는 기존 특징점 추출 방법을 유지합니다. 따라서 이러한 하이브리드 SLAM 방법은 딥러닝 기술을 효과적이고 포괄적으로 결합하지 못하여 일부 복잡한 장면에서 추적 및 매핑 효과가 저하됩니다.
이러한 문제를 해결하기 위해 딥러닝 기반의 다기능 SLAM 시스템이 여기서 제안됩니다. Superpoint 특징점 추출 모듈을 시스템에 통합하여 전체에서 유일한 표현 형식으로 사용합니다. 또한 복잡한 환경에서는 기존의 특징 일치 방법이 종종 불안정하여 추적 및 매핑 품질이 저하되는 경우가 있습니다. 그러나 최근 딥러닝 기반 특징 매칭 방법의 발전으로 복잡한 환경에서도 향상된 매칭 성능을 달성할 수 있는 가능성이 나타났습니다. 이러한 방법은 일치의 효율성을 높이기 위해 장면의 사전 정보와 구조적 세부 사항을 활용합니다. Lightglue는 최신 SOTA(최첨단) 매칭 방식으로 효율적이고 가벼운 특성으로 높은 실시간 성능이 요구되는 SLAM 시스템에 장점이 있습니다. 따라서 전체 SLAM 시스템의 기능 매칭 방법을 Lightglue로 대체하여 기존 방법에 비해 견고성과 정확성을 향상시켰습니다.
슈퍼포인트 특징점 설명자를 처리할 때 해당 시각적 단어 가방의 훈련과 일치하도록 사전 처리합니다. Lightglue와 결합하면 이 접근 방식을 통해 정확한 장면 인식이 가능해집니다. 동시에 정확성과 효율성 사이의 균형을 유지하기 위해 특징점 선택 전략이 설계됩니다. 확장성, 이식성 및 실시간 성능을 고려하여 ONNX+Runtime 라이브러리를 활용하여 이러한 딥 러닝 모델을 배포합니다. 마지막으로, 그림 8과 같이 이 방법이 다양한 까다로운 시나리오에서 SLAM 알고리즘의 궤적 예측 정확도와 추적 견고성을 향상한다는 것을 증명하기 위해 일련의 실험이 설계되었습니다.
SL-SLAM의 시스템 구조는 그림 2에 나와 있습니다. 시스템에는 주로 단안, 단안 관성, 쌍안 및 쌍안 관성의 4가지 센서 구성이 있습니다. 이 시스템은 ORB-SLAM3을 기준으로 하며 추적, 로컬 매핑 및 루프 감지의 세 가지 주요 모듈을 포함합니다. 딥 러닝 모델을 시스템에 통합하기 위해 SuperPoint와 LightGlue 모델을 결합한 ONNX Runtime 딥 러닝 배포 프레임워크가 사용됩니다.
각 입력 이미지에 대해 시스템은 먼저 이를 SuperPoint 네트워크에 입력하여 특징점의 확률 텐서 및 설명자 텐서를 얻습니다. 그런 다음 시스템은 두 개의 프레임으로 초기화되고 각 후속 프레임에 대해 대략적인 추적을 수행합니다. 지역 지도를 추적하여 포즈 추정을 더욱 구체화합니다. 추적이 실패할 경우 시스템은 추적을 위해 참조 프레임을 사용하거나 위치 재지정을 수행하여 포즈를 다시 획득합니다. LightGlue는 대략적인 추적, 초기화, 참조 프레임 추적 및 재배치 중 기능 일치에 사용됩니다. 이를 통해 정확하고 강력한 일치 관계가 보장되어 추적 효율성이 향상됩니다.
기본 알고리즘에서 로컬 매핑 스레드의 주요 역할은 지도 지점과 키 프레임을 포함하여 실시간으로 로컬 지도를 동적으로 구성하는 것입니다. 로컬 맵을 활용하여 번들 조정 최적화를 수행함으로써 추적 오류를 줄이고 일관성을 향상시킵니다. 로컬 매핑 스레드는 추적 스레드의 키프레임 출력, LightGlue 기반 삼각측량 및 적응형 로컬 번들 조정(BA) 최적화를 사용하여 정확한 맵 포인트를 재구성합니다. 그러면 중복된 지도 지점과 키프레임이 구별되어 제거됩니다.
폐쇄 루프 수정 스레드는 SuperPoint 설명자에서 훈련된 키프레임 데이터베이스와 단어 모음 모델을 활용하여 유사한 키프레임을 검색합니다. SuperPoint 설명자를 이진화하여 검색 효율성을 향상시킵니다. 선택한 키프레임은 일반적인 뷰 형상 확인을 위해 LightGlue를 사용하여 기능 일치되므로 불일치 가능성이 줄어듭니다. 마지막으로 전체 자세를 최적화하기 위해 Closed-Loop Fusion 및 Global BA(Bundle adjustment)가 수행됩니다.
SuperPoint 네트워크 구조: SuperPoint 네트워크 아키텍처는 주로 공유 인코더, 특징 감지 디코더, 디스크립터 디코더의 세 부분으로 구성됩니다. 인코더는 이미지 크기를 줄이고 특징을 추출할 수 있는 VGG 스타일 네트워크입니다. 특징 검출 디코더의 임무는 이미지의 각 픽셀이 특징점이 될 가능성을 결정하기 위해 확률을 계산하는 것입니다. 디스크립터 디코딩 네트워크는 서브픽셀 컨볼루션을 활용하여 디코딩 프로세스의 계산 복잡성을 줄입니다. 그런 다음 네트워크는 반밀도 설명자를 출력하고 쌍삼차 보간 알고리즘을 적용하여 전체 설명자를 얻습니다. 네트워크에서 특징점 텐서 및 설명자 텐서 출력을 얻은 후 특징 추출의 견고성을 향상시키기 위해 적응형 임계값 선택 전략을 채택하여 특징점을 필터링하고 후처리 작업을 수행하여 특징점 및 해당 설명자를 얻습니다. . 특징 추출 모듈의 구체적인 구조는 그림 3에 나와 있습니다.
적응형 기능 선택: 먼저 I(W × H)로 표시된 각 이미지는 SuperPoint 네트워크 학위 이미지의 입력 이미지 크기(W' × H')와 일치하도록 크기가 조정되기 전에 회색으로 변환됩니다. 이미지가 너무 작으면 특징 추출이 방해되어 추적 성능이 저하될 수 있고, 이미지가 너무 크면 과도한 계산 요구 사항과 메모리 사용량이 발생할 수 있습니다. 따라서 특징 추출의 정확성과 효율성의 균형을 맞추기 위해 이 기사에서는 W' = 400과 H' = 300을 선택합니다. 이어서, W' × H' 크기의 텐서가 네트워크에 공급되어 두 개의 출력 텐서, 즉 점수 텐서 S와 설명자 텐서 D를 생성합니다. 특징점 점수 텐서와 특징 설명자를 얻은 후 다음 단계는 특징점을 필터링하기 위한 임계값을 설정하는 것입니다.
어려운 시나리오에서는 각 특징점의 신뢰도가 감소하므로 고정된 신뢰도 임계값이 채택되면 추출된 특징의 수가 줄어들 수 있습니다. 이 문제를 해결하기 위해 적응형 SuperPoint 임계값 설정 전략을 소개합니다. 이 적응형 방법은 장면에 따라 특징 추출 임계값을 동적으로 조정하여 까다로운 장면에서 더욱 강력한 특징 추출을 달성합니다. 적응형 임계값 메커니즘은 기능 내 관계와 프레임 간 기능 관계라는 두 가지 요소를 고려합니다.
어려운 시나리오에서는 각 특징점의 신뢰도가 감소하며, 이로 인해 고정된 신뢰도 임계값이 채택되면 추출된 특징의 수가 줄어들 수 있습니다. 이 문제를 해결하기 위해 적응형 SuperPoint 임계값 설정 전략이 도입되었습니다. 이 적응형 방법은 장면을 기반으로 특징 추출 임계값을 동적으로 조정하여 까다로운 장면에서 더욱 강력한 특징 추출을 달성합니다. 적응형 임계값 메커니즘은 기능 내 관계와 프레임 간 기능 관계라는 두 가지 요소를 고려합니다.
LightGlue 네트워크 구조: LightGlue 모델은 두 가지 기능 세트를 공동 처리하는 여러 개의 동일한 레이어로 구성됩니다. 각 레이어에는 포인트 표현을 업데이트하기 위한 self-attention 및 cross-attention 단위가 포함되어 있습니다. 각 계층의 분류자는 추론을 중지할 위치를 결정하여 불필요한 계산을 방지합니다. 마지막으로 경량 헤더는 부분 일치 점수를 계산합니다. 네트워크의 깊이는 입력 이미지의 복잡성에 따라 동적으로 조정됩니다. 이미지 쌍이 쉽게 일치하면 태그의 신뢰도가 높아 조기 종료가 가능합니다. 결과적으로 LightGlue는 런타임이 더 짧고 메모리 소비도 낮아 실시간 성능이 필요한 작업에 통합하는 데 적합합니다.
인접한 프레임 사이의 시간 간격은 일반적으로 수십 밀리초에 불과합니다. ORB-SLAM3은 이 짧은 시간 동안 카메라가 일정한 속도로 움직인다고 가정합니다. 이전 프레임의 포즈와 속도를 사용하여 현재 프레임의 포즈를 추정하고 이 추정된 포즈를 프로젝션 매칭에 사용합니다. 그런 다음 특정 범위 내에서 일치하는 지점을 검색하고 그에 따라 포즈를 다듬습니다. 그러나 실제로는 카메라의 움직임이 항상 일정하지 않을 수도 있습니다. 급격한 가속, 감속 또는 회전은 이 방법의 효율성에 부정적인 영향을 미칠 수 있습니다. Lightglue는 현재 프레임과 이전 프레임 간의 기능을 직접 일치시켜 이 문제를 효과적으로 해결할 수 있습니다. 그런 다음 이러한 일치된 특징을 사용하여 초기 포즈 추정을 개선함으로써 갑작스러운 가속이나 회전의 부정적인 영향을 줄입니다.
갑자기 카메라 움직임이나 기타 요인으로 인해 이전 프레임에서 이미지 추적이 실패하는 상황에서는 추적 또는 위치 조정에 참조 키프레임을 사용해야 합니다. 기본 알고리즘은 BoW(Bag-of-Words) 방법을 사용하여 현재 프레임과 참조 프레임 간의 특징 일치를 가속화합니다. 그러나 BoW 방식은 공간정보를 시각적 어휘를 기반으로 한 통계정보로 변환하므로 특징점 간의 정확한 공간적 관계가 손실될 수 있다. 또한, BoW 모델에 사용된 시각적 어휘가 부족하거나 대표성이 충분하지 않은 경우 장면의 풍부한 특징을 포착하지 못해 매칭 과정이 부정확해질 수 있습니다.
Lightglue 추적과 결합: 인접 프레임 사이의 시간 간격이 매우 짧기 때문에 일반적으로 수십 밀리초에 불과하므로 ORB-SLAM3은 이 기간 동안 카메라가 균일한 속도로 움직이는 것으로 가정합니다. 이전 프레임의 포즈와 속도를 사용하여 현재 프레임의 포즈를 추정하고 이 추정된 포즈를 프로젝션 매칭에 사용합니다. 그런 다음 특정 범위 내에서 일치하는 지점을 검색하고 그에 따라 포즈를 다듬습니다. 그러나 실제로는 카메라의 움직임이 항상 일정하지 않을 수도 있습니다. 급격한 가속, 감속 또는 회전은 이 방법의 효율성에 부정적인 영향을 미칠 수 있습니다. Lightglue는 현재 프레임과 이전 프레임 간의 기능을 직접 일치시켜 이 문제를 효과적으로 해결할 수 있습니다. 그런 다음 이러한 일치된 특징을 사용하여 초기 포즈 추정을 개선함으로써 갑작스러운 가속이나 회전의 부정적인 영향을 줄입니다.
갑자기 카메라 움직임이나 기타 요인으로 인해 이전 프레임에서 이미지 추적이 실패하는 상황에서는 추적 또는 위치 조정에 참조 키프레임을 사용해야 합니다. 기본 알고리즘은 BoW(Bag-of-Words) 방법을 사용하여 현재 프레임과 참조 프레임 간의 특징 일치를 가속화합니다. 그러나 BoW 방식은 공간정보를 시각적 어휘를 기반으로 한 통계정보로 변환하므로 특징점 간의 정확한 공간적 관계가 손실될 수 있다. 또한, BoW 모델에 사용된 시각적 어휘가 부족하거나 대표성이 충분하지 않은 경우 장면의 풍부한 특징을 포착하지 못해 매칭 과정이 부정확해질 수 있습니다.
이러한 문제를 해결하기 위해 시스템 전반에 걸쳐 BoW 방식을 Lightglue 방식으로 대체했습니다. 이러한 변화는 대규모 변환 시 성공적인 추적 및 재지역화 가능성을 크게 향상시켜 추적 프로세스의 정확성과 견고성을 향상시킵니다. 그림 4는 다양한 매칭 방법의 효율성을 보여줍니다. ORB-SLAM3에서 사용되는 투영이나 Bag-of-Words 기반의 매칭 방법보다 Lightglue 기반의 매칭 방법이 더 좋은 매칭 성능을 보이는 것을 볼 수 있다. 따라서 SLAM 작업 중에 그림 6과 같이 지도 지점의 추적을 더욱 균일하고 안정적으로 만듭니다.
Lightglue의 로컬 매핑과 결합: 로컬 매핑 스레드에서는 현재 키프레임과 인접한 키프레임을 통해 새 맵 포인트의 삼각 측량이 완료됩니다. 보다 정확한 지도 지점을 얻으려면 기준선이 더 큰 키프레임과 일치해야 합니다. 그러나 ORB-SLAM3은 이를 달성하기 위해 BoW(Bag-of-Words) 매칭을 사용하지만 기준선이 클수록 BoW 기능 매칭 성능이 저하됩니다. 이와 대조적으로 Lightglue 알고리즘은 큰 기준선과의 일치에 매우 적합하며 시스템에 원활하게 통합됩니다. 특징 일치 및 삼각 측량 일치 지점에 Lightglue를 사용하면 보다 포괄적이고 고품질의 지도 지점을 복구할 수 있습니다.
이는 키프레임 사이에 더 많은 연결을 생성하고 공동으로 표시되는 키프레임과 맵 포인트의 포즈를 공동으로 최적화하여 추적을 안정화함으로써 로컬 매핑 기능을 향상시킵니다. 지도 지점의 삼각측량 효과는 그림 6에 나와 있습니다. ORB-SLAM3과 비교하여 우리 방법으로 구성된 맵 포인트는 장면의 구조적 정보를 더 잘 반영할 수 있음을 관찰할 수 있습니다. 게다가 공간에 더욱 고르게, 넓게 분포되어 있습니다.
Bag of Words 깊이 설명자: 루프 폐쇄 감지에 사용되는 Bag of Words 방식은 시각적 어휘 기반의 방식으로, 자연어 처리에서 Bag of Words 개념을 활용한 것입니다. 먼저 사전의 오프라인 학습을 수행합니다. 처음에 K-평균 알고리즘은 학습 이미지 세트에서 감지된 특징 설명자를 k 세트로 클러스터링하여 사전 트리의 첫 번째 수준을 형성하는 데 사용됩니다. 이후 각 집합 내에서 재귀 연산을 수행하여 최종적으로 깊이가 L이고 가지 수가 많은 최종 사전 트리를 획득하고 시각적 어휘를 구축합니다. 각 리프 노드는 어휘로 간주됩니다.
사전 훈련이 완료되면 알고리즘 실행 중에 현재 이미지의 모든 특징점에서 단어백 벡터와 특징 벡터가 온라인으로 생성됩니다. 주류 SLAM 프레임워크는 작은 메모리 공간과 간단한 비교 방법으로 인해 수동으로 설정된 바이너리 설명자를 사용하는 경향이 있습니다. SP-Loop는 방법의 효율성을 더욱 향상시키기 위해 기대값이 0이고 표준편차가 0.07인 가우스 분포를 사용하여 슈퍼포인트 설명자의 값을 나타냅니다. 따라서 슈퍼포인트의 256차원 부동소수점 기술자를 이진 인코딩하여 시각적 위치 인식의 질의 속도를 향상시킬 수 있다. 이진 인코딩은 방정식 4에 표시됩니다.
기본 프로세스: SLAM의 루프 폐쇄 감지에는 일반적으로 초기 루프 폐쇄 후보 키프레임 찾기, 루프 폐쇄 후보 키프레임 확인, 루프 폐쇄 수정 및 전역 번들 조정 수행(번들 조정, BA)의 세 가지 주요 단계가 포함됩니다.
시작 프로세스의 첫 번째 단계는 초기 루프 폐쇄 후보 키프레임을 식별하는 것입니다. 이는 이전에 학습된 DBoW3 단어 모음 모델을 활용하여 달성됩니다. 현재 프레임 Ka와 어휘를 공유하는 키프레임은 식별되지만 Ka와 공동으로 표시되는 키프레임은 제외됩니다. 이러한 후보 키프레임과 관련된 공동 표시 키프레임의 총 점수를 계산합니다. 폐쇄 루프 후보 키프레임 중 가장 높은 점수를 받은 상위 N개 그룹 중에서 가장 높은 점수를 가진 키프레임을 선택합니다. 선택된 키프레임은 Km으로 표시됩니다.
다음으로 Km에서 현재 키 프레임 Ka로의 상대 자세 변환 Tam을 결정해야 합니다. ORB-SLAM3에서는 단어 모음 기반 특징 매칭 방법을 사용하여 현재 키 프레임을 후보 키 프레임 Km 및 공동 표시 키 프레임 Kco와 일치시킵니다. Lightglue 알고리즘은 일치 효율성을 크게 향상시키기 때문에 현재 프레임을 후보 프레임 Km과 일치시키면 고품질의 맵 포인트 대응이 생성된다는 점에 주목할 가치가 있습니다. 그런 다음 RANSAC 알고리즘을 적용하여 이상값을 제거하고 Sim(3) 변환을 풀어 초기 상대 태도 Tam을 결정합니다. 잘못된 위치 식별을 방지하기 위해 후보 키프레임을 기하학적으로 검증하며 후속 단계는 ORB-SLAM3과 유사합니다.
위 내용은 ORB-SLAM3를 넘어! SL-SLAM: 저조도, 심한 흔들림, 약한 텍스처 장면을 모두 처리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!