Computer Vision

Computer Vision/SLAM

[DSO/LDSO] Residual Term 코드 리뷰

한 줄 요약 겁나 복잡하고 어렵다 Introduction 지난 포스트에서는 DSO의 Photometric Energy Term, 즉 Residual을 구하는 이론적 접근을 다뤘습니다. 이번 포스트에서는 이론을 실전으로 옮겨보도록 하겠습니다. 과연 어떻게 코드에서는 구현되어 있을까요? 일단 어디에 구현되어 있는지부터 봅시다. 일단 해당 내용은 CoarseInitializer.cc의 calcResAndGS() 함수에 구현되어 있습니다. 이는 DSO 초기화를 담당하는 구현부인데요. 초기화 영역 말고 실행 중에도 Residual은 계속 호출이 될 것입니다. 이는 CoarseTracker.cc의 calcRes() 함수에 구현되어 있으나, 이번 포스팅에서는 초기화 부분만 우선 살펴보도록 하겠습니다. 변수 초기화 우..

Computer Vision/SLAM

[DSO/LDSO] Photometric Energy Term

세줄 요약 DSO/LDSO는 Photometric Energy Term을 Residual function으로 사용한다. 이는 두 프레임 $\textbf{I}_i, \textbf{I}_j$에서의 포인트 $\textbf{p}$에 대한 밝기 차이를 의미한다. 여기에 Huber norm과 Gradient에 대한 가중치를 주어 Robust 한 모델을 만들었다. Introduction Direct Approach를 사용하는 DSO/LDSO는 그에 걸맞게 Photometric Energy Term을 Residual Function으로 사용합니다. Model 생성 과정을 자세히 살펴보기 위해서는 LDSO보다는 DSO 논문을 추천합니다. 사실 LDSO Residual Function은 DSO와 같으며, 해당 내용에 대한..

Computer Vision/SLAM

[DSO/LDSO] M1 MacBook MacOS에서 LDSO 실행하기

이 포스트는 MacOS에서 LDSO를 실행하는 방법을 다루고 있습니다. 그러나 DSO 역시 실행 과정이 크게 다르지 않으니 같은 순서로 따라 하셔도 성공적으로 빌드할 수 있을 겁니다. Introduction SLAM, 특히 VSLAM을 공부하면서 다양한 Open source를 빌드하고 실행해 봤습니다. 그러다 1년 전에 DSO를 접하고, 근래에 LDSO를 접하게 되어 Deep dive를 하고 있습니다. Desktop에서는 Ubuntu 20.04 기반 환경에서 작업을 진행 중인데요. Ubuntu 기반의 환경에서는 작업을 하는데 어떠한 에러도 겪지 않았습니다. 그러나 M1 기반의 MacBook에서 LDSO를 빌드하려니 첩첩산중으로 문제가 발생했습니다. 이번 포스트에서는 제가 겪은 에러들에 대한 trouble..

Computer Vision/SLAM

[VSLAM/03] Pose(State) Estimation 문제 분류

세 줄 요약: SLAM에서 Pose Estimation 문제는 시스템이 선형적인지, 노이즈가 가우시안 분포를 따르는지 여부에 따라 다른 방법으로 풀이한다. Linear System과 Gaussian Noise의 조합인 LG System은 Kalman Filter로 풀 수 있다. Non-linear System과 Non-Gaussian Noise의 조합인 NLNG System은 Extended Kalman Filter나 Nonlinear Optimization (Graph Optimization)으로 풀 수 있다. Introduction 지난 포스트에서 우리는 VSLAM을 비롯한 SLAM의 주요 과제가 Pose(state) Estimation 문제임을 알 수 있었습니다. 그리고 이를 위해 두 개의 방정식을..

Computer Vision/Optical Flow

Introduction to Optical Flow: From Theory to Practice, Part 1

1. Preface Optical flow is a fundamental problem in computer vision that has been studied for decades. It refers to the motion of objects in an image or video sequence, which can be estimated by analyzing the spatiotemporal changes of pixel intensities. Optical flow has a wide range of applications in robotics, autonomous driving, augmented reality, and video compression, to name a few. Despite ..

Computer Vision/SLAM

[VSLAM/02] Mathematical Formulation of SLAM

Introduction The first chapter of Introduction to Visual SLAM: From Throey to Practice delves into the mathematical formulation of SLAM problems. In SLAM, the robot estimates its trajectory and creates a map of the environment it is in. The robot also needs to estimate the location of its sensors in order to calculate the measurements it receives. How to formulate mathematical model? In the fiel..

Computer Vision/SLAM

[VSLAM/01] Visual SLAM Framework

Introduction In chapter 1 of Introduction to Visual SLAM: From Theory to Practice, the book introduces a classical Visual SLAM framework and mathematical formulation of SLAM problems. In this post, an overview of the classical Visual SLAM framework will be introduced. You can find more details about each step in upcoming posts. Structure The classical Visual SLAM framework consists of three stag..

Computer Vision/SLAM

[SLAM/Review] Introduction to Visual SLAM: From Theory to Practice

Introduction Introduction to Visual SLAM: From Theory to Practice is a comprehensive book that serves as an excellent resource for anyone interested in the field of Visual SLAM. Written by Xiang Gao, Tao Zhang, and other experts in the field, this book covers both the theoretical background and practical aspects of Visual SLAM. The authors of the book have also made the contents of the book avai..

YoungJ
'Computer Vision' 카테고리의 글 목록 (3 Page)