23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요! 저희는 이번 SKT AI Fellowship 5기에서 “Deep Learning 기반 Depth Estimation with Mono Camera” 연구 과제를 수행중인 IDE 팀입니다.
참고로 IDE는 Indoor Depth Estimation의 약자로 아이드라고 읽으셔도 되고 입에 착 붙어서 선정하게 되었습니다 :)
첫 포스트인데요, 저희가 진행하고자 하는 연구를 소개하고 향후 계획에 대해 말씀드리려고 합니다!
Mono depth estimation은 컴퓨터 비전 분야에서 뎁스가 포함된 Stereo camera를 사용하지않고 일반 단일 카메라의 이미지로부터 깊이 정보를 추정하는 작업입니다.
최근 Mono depth estimation은 VR, AR과 자율 주행, 실내 로봇의 공간 인식, 더 나아가 공간 맵을 만드는 SLAM 기술에 까지 활용 될 수 있어 다양한 응용 분야에서 중요한 역할을 하고 있습니다.
Triangulation 방식을 사용하여 모노카메라에서 이전 타임스탬프의 이미지와 현재 타임스탬프의 이미지 쌍을 활용하여 깊이를 추정할 수 있습니다.
이 방식에서는 동일한 실제 환경의 좌표인 3D 포인트 (x, y, z)가 두 개의 이미지에 투영되어 이미지상의 한 쌍의 2D 좌표 (u, v)를 구성합니다.
이 때, 이동한 카메라의 포즈 또는 두 카메라 사이의 포즈를 알 수 있다면 모노카메라에서 두 이미지간의 관계를 설명할 수 있는 Fundamental Matrix와
한 이미지 상의 특정 점에 대응하는 다른 이미지 상의 점간의 관계를 파악할 수 있는 epipolar geometry를 이용하여 3D 공간 좌표를 추정할 수 있습니다.
대부분의 Mono depth estimation은 일반적으로 딥러닝을 기반으로 한 모델을 사용하여 수행되고 대표적인 딥러닝 알고리즘으로는 Monodepth, DenseDepth, FastDepth 등이 있고
최근 Transformer, Self-supervised learning 등 복잡한 모델들과 결합되어 다양한 환경에서의 알고리즘 성능을 개선한 연구들이 수행되고 있습니다.
딥러닝 기반의 알고리즘으로 빠르게 성능이 개선 되어지고 있지만, 단안 영상으로부터 깊이를 추정하는 것에는 다양한 문제점이 존재합니다.
대표적인 예시로, 기존 단안 영상에서의 깊이 추정은 카메라와 객체 또는 장면 사이의 상대적인 위치와 거리를 정확하게 파악하기 어렵기 때문에
영상이 길어지고 카메라의 회전과 이동에 의한 상대적 위치 변화가 많아질수록 3D 포인트의 위치 추정에 직접적인 영향을 미쳐 부정확해질 수 있습니다.
위에서 언급한 카메라의 상대적 위치와 자세(posture) 정보가 반영되지 못하여 오차가 누적되는 문제를 해결하기 위하여 Extrinsic parameter 추정을 반영한 Mono depth estimation 모델을 구성하고자 합니다.
Extrinsic parameter는 카메라의 위치와 방향 등을 나타내는 매개변수로서 일반적으로 Rotation matrix와 Translation vector 로 표현될 수 있습니다.
이와 같은 정보를 활용할 경우 카메라의 상대적인 위치와 자세를 알 수 있으며 이는 3D 포인트의 위치를 추정하는 과정에서 중요하게 사용될 수 있습니다.
저희는 이를 위하여 학습 단계에서 IMU의 raw data (가속도계) 를 센서를 활용하는 것을 고려하고 있으며,
Vision 데이터와 Time series 데어터를 함께 사용하여 더 정확한 추정을 수행하고 해당 모델을 통해 단순 카메라 기기를 활용한 좁은 실내 공간에 대한 모델링을 진행할 수 있는 SKT의 서비스 구축에 기여하고자 합니다.
New York University에서 제공하는 RGB-D 데이터셋으로 Mono Depth Estimation의 baseline 모델들을 검증하기에 적합합니다.
이 데이터셋은 464개의 상당히 많은 실내 장면으로 구성되어 있어서 SOTA 깊이 추정 알고리즘을 선정 및 검증하는데 사용할 예정입니다.
-Technical University of Munich에서 제공하는 RGB-D 데이터셋으로 RGB 카메라와 Depth 카메라,
그리고 IMU 데이터를 포함하여 Pose에 따른 Mono Depth Estimation 알고리즘의 성능 비교를 확인할 수 있고 제안하고자 하는 방법을 검증하기 적합합니다.
또한 이 데이터셋은 다양한 실내 및 실외 환경에서 촬영된 영상과 깊이 정보를 제공하기 때문에 실내 공간 모델링을 목표로 하는 저희 팀이 검증하기 적합한 데이터셋으로 활용 예정입니다.
일반적으로 Depth Estimation은 Left image와 Right image의 시차인 disparity를 구하고 아래와 같은 식을 사용하여 Depth를 구하게 됩니다.
Depth = (focal length * base line) / disparity
하지만 이를 딥러닝으로 해결할 수 있는 알고리즘들이 등장했는데요,
아래의 네트워크 구조와 같은 MonoDepth 라는 딥러닝 네트워크가 단안 카메라 기반의 깊이 추정을 할 수 있는 알고리즘의 시초가 됩니다.
네트워크 구조
위의 그림과 같이 Left Image가 Input으로 들어가 CNN network를 통과 한 뒤 left disparity와 right disparity를 얻습니다.
그 후 나온 left disparity와 right disparity를 이용해 image reconsturction, left-right consistency등의 loss를 사용해서 학습을 진행합니다.
해당 논문에서 사용한 loss는 left-right disparity consistency loss와 Appearance Matching Loss, Disparity Smoothness Loss 가 있습니다.
먼저 Appearance Matching Loss 같은 경우 Image reconstruction loss라고 생각을 하면 될 것 같습니다.
Appearance Matching Loss
모델을 통해서 나온 left disparity와 right disparity를 이용해서 Image reconstruction을 하는 것입니다.
즉, Left image에 right disparity를 적용해 right image를 얻고, Right image에 left disparity를 적용해 left image를 얻은 후
각각 위 과정을 통해 얻은 이미지와 실제 left, right 이미지와의 SSIM 비교를 통해서 유사정도를 파악해 Loss를 측정한 것입니다.
그 다음으로는 Disparity Smoothness Loss 입니다.
Disparity Smoothness Loss
위의 Loss는 Disparity 경계 영역에서 끊어짐 등이 발생하지 않도록 gradient x, gradient y등을 측정하는 loss 입니다.
마지막으로는 Left-Right disparity consistency Loss입니다.
Left-Right disparity consistency Loss
해당 Loss는 모델을 통해 나온 left disparity에 right disparity를 이용해 새로운 right disparity를 얻고,
마찬가지로 right disparity에 left disparity를 이용해 새로운 left disparity를 얻어 원래의 right disparity, left disparity와 비교를 하는 loss 입니다.
이처럼 Stereo camera, Depth camera와 다르게 Mono camera의 경우 하나의 카메라로부터 깊이를 추정해야하기 때문에
단순 image to depth 의 reconstruction loss(복원 손실 함수)만을 사용한는 것이 아니라
시간차에 의한 이미지 변화를 파악할 수 있는 disparity 개념을 도입하여 다양한 Loss function 개념을 도입해서 해결한 것으로 이해할 수 있습니다.
제안 방법의 경우 일반적으로 Mono camera를 사용하는 알고리즘과 다르게, Pose 변화에 따른 깊이 추정 오차 값을 줄여주기 위하여 IMU 센서를 추가적으로 활용할 예정입니다.
따라서 제안 방법은 Vision 데이터를 통한 Depth estimation부분과 Time series 데이터를 통한 Pose estimation으로 구성되어 있으며
Sensor fusion을 통해 calibration이 적용된 Mono depth estimation을 수행할 계획입니다.
차후 각 데이터의 성격에 맞는 SOTA 알고리즘을 적용하여 기존의 문제를 해결한 실내 공간에서 잘 적응할 수 있는 알고리즘을 개발할 예정입니다.
마지막으로 저희 팀원을 소개하면서 마무리하도록 하겠습니다!
팀 명: IDE (Indoor Depth Estimation)
팀 원: 오혜준, 이아영, 고진원
멘 토: 성성현 멘토님
저희 팀은 서울대학교 기계공학부 박사과정 이아영, 서울대학교 기계공학부 석사과정 오혜준, 고려대학교 전기전자공학부 박사과정 고진원 으로 이루어진 팀입니다.
저희 팀원들은 모두 대학원에서 각각 비전, 시계열, 영상처리 관련 AI 연구를 진행하고 있는데요, 이번 SKT AI Fellowship 프로그램에서는 서로 연구하고 있는 분야를 바꾸어 담당하기로 했습니다!
이번 프로젝트를 통해 더 많은 것을 배우고, 각자의 전공분야가 다른 만큼, 서로의 관련 경험을 바탕으로 함께 지식을 공유하면서 진행할 계획입니다!
마지막으로 저희 성성현 멘토님께서는 SKT Spatial Intelligence팀에서 Deep Learning Part 담당을 맡고 계십니다!
멘토님께서 정말 친근하게 대해주시고 좋은 아이디어와 가이드를 제시해 주셔서 즐겁게 연구할 수 있을 것 같습니다!
앞으로 좋은 성과를 낼 수 있도록 더 노력하겠습니다!!
소통 방법: 저희는 아래와 같이, Notion을 통해 성성현 멘토님과 팀원들 간의 의사소통 및 정보 공유를 진행하고 있습니다.
현재까지는 연구동향 파악, 아이디어 공유, 회의록, 연구비 사용 규정 등을 작성하고 공유하였습니다. 내용이 채워지게 되면 좋은 결과로 다시 진행사항 공유해드리도록 하겠습니다:)
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.