brunch

You can make anything
by writing

C.S.Lewis

by 하이퍼클라우드 Jan 26. 2023

하이퍼클라우드 비전 엔지니어 개발자가 개최한 세미나

시작하며

하이퍼클라우드의 첫 번째 사내 기술 세미나가 열렸습니다. 첫 번째 세미나는 하이퍼클라우드 XR팀의 주최로 진행된 세미나로, 각 신입 멤버분들이 준비한 주제를 발표하는 방식으로 진행되었습니다.


신입 멤버분들이 세미나를 준비하고 발표하는 과정을 통해 본인의 전문 분야에 대한 R&D 역량을 개발할 수 있는 시간을 갖고 각 협업 부서와의 원활한 커뮤니케이션이 이루어지기를 바라는 마음에서 자리를 마련했다고 하는데요! 하이퍼클라우드 사내 세미나의 첫 스타트는 XR팀 신입 비전 엔지니어로 새롭게 합류한 Zoe(조이)가 끊어주셨습니다. 소중한 시간을 내어 발표를 준비해 주신 세미나 내용을 여러분들에게 소개해 드리고 나누고자 합니다.


발표 키워드는 “VPS (Visual Positioning System)”로 VPS란 무엇이고, 어떻게 작동하며, 어떤 장점을 가지고 있는지? 등 개발자가 아닌 구성원들의 입장에서 보다 쉽게 이해할 수 있도록 지식을 공유해 주셨습니다.


자, 그럼 조이(Zoe)가 어떤 이야기를 공유해 주셨는지 자세히 한번 들어가 보실까요?



Zoe 발표 자료




VPS (Visual Positioning System) 가 무엇인가요?

먼저 VPS(Visual Positioning System)란 무엇일까요?


✍️ VPS는 실내외 공간에 대해 3차원 공간 맵을 만들고 Vision 기반 인식을 통해 3D 공간 상에서 스마트폰의 3차원 위치를 알아내는 기술입니다.


VPS는 아래와 같은 장점을 가지고 있는데요.


✍️ VPS 장점


1. 실내외 제약 없이 사용자의 위치를 정확하게 인식합니다.


2. 촬영된 주변 건물을 거리뷰 이미지와 비교해 현재 위치(location)와 방향(orientation)을 정확하게 파악하여 정밀한 포지셔닝을 할 수 있습니다.


3. Vision 인식을 통해 기존 GPS 한계 극복


        a.GPS의 경우 m 단위로 에러가 발생하며 도심 환경(urban environments)에서는 고층 빌딩의 신호 간섭으로 위치를 잘못 추정, 방향 알 수 없음


         b. GPS가 충분하지 않은 경우 VPS로 사용자에게 맞춤형 증강현실 콘텐츠를 제공


4. AR 내비게이션, AR 광고, AR 게임 등과 같은 다양한 실감형 콘텐츠를 제공합니다.



VPS가 어떤 기술인지 조금 감이 오시나요? �‍♀️


하이퍼클라우드는 디바이스를 활용해 취합한 공간 스캔 정보와 정밀 지도의 기술을 접목한 시각측위기술(VPS)을 기반으로 다양한 실내 공간의 스캔 DB를 축적하고 비즈니스 목적에 맞게 활용하고자 합니다.


대표적으로 AR 도보 내비게이션에 적용되는 위치 확인 기술을 Visual Localization이라고 부르는데, 이미지로부터 현재 위치를 추정하는 기술입니다.


출처 https://m.blog.naver.com/naver_diary/222120809945


스마트폰의 카메라를 이용해 주변 환경을 분석하고 사용자의 위치를 식별할 수 있으며 사용자에게 경로를 오버레이로 표시하여 시각적으로 전달합니다.


실내외 공간에서 사용자가 원하는 목적지까지 끊김 없는 안내를 하는 것은 물론, XR 정보 콘텐츠로 사용자의 편의성과 재미 요소를 제공할 수 있습니다.



Visual localization 과정에는 크게 mapping과 localization 단계가 있습니다.


출처 Robust Image Retrieval-based Visual Localization using Kapture




Mapping 지도 작성


출처 http://www.cad.zju.edu.cn/home/gfzhang/training/SFM/SfM.html

mapping은 여러 시점 이미지로부터 3D map을 생성하는 것입니다. Mapping을 할 때 SfM이라는 것을 사용하게 됩니다. 여기서 SfM 이란 Structure from Motion으로 카메라의 움직임으로부터 point cloud로 구성된 3D 맵을 만들어 내는 것입니다.


맵을 만들기 위해 먼저, 이미지로부터 특징점들을 뽑고 서로 다른 이미지에서 유사한 특징점을 매칭 시켜줍니다.


이미지 1의 추출된 특징점들
이미지 2의 추출된 특징점들
이미지 1과 2의 특징점 매칭

두 이미지에서 매칭된 특징점들 사이에는 Fundamental matrix 혹은 Essential matrix를 매개로 하는 변환 관계가 있는데 이를 이용하면 두 카메라의 위치를 알 수 있게 됩니다. 카메라 위치를 알고 있는 두 이미지가 있을 때 매칭된 특징점들로부터 실세계의 3차원 좌표를 얻어낼 수 있게 되는데 이러한 기법을 삼각측량법(triangulation)이라고 합니다.


참고 https://slideplayer.com/slide/7744405/ Prof. Dr. Bastian Leibe - Computer Vision


특징점이 매칭된 또 다른 이미지를 하나씩 추가해 주고 PnP(Perspective-n-Point)라는 기법을 이용해 추가된 이미지의 카메라 위치를 알아낼 수 있습니다.


앞선 일련의 과정들을 반복하면 최종적으로 3D map을 만들 수 있게 됩니다. �


아직 끝이 아닙니다…! 여기까지가 mapping 단계이고 앞으로 가야 할 길이 조금 더 남았답니다… �


Sfm - 출처 논문 Exploring the use of 3D GIS as an analytical tool in archaeological excavation practice


SfM으로 만든 로마 콜로세움의 3D map 출처 https://www.cs.cornell.edu/projects/bigsfm/





Localization 위치 추정


이제 지도로부터 이미지가 어디에 있는지 알아내기 위한 “Localization” 과정이 필요합니다. 새로운 입력되는 이미지의 위치를 찾기 위해서는, 우선 기존 map의 이미지 데이터 베이스에서 가장 유사한 이미지를 찾습니다. 이 때 유사도 검색 기법 중 잘 알려진 알고리즘인 bag-of-words를 사용합니다. 이후 가장 유사한 이미지의 3D point와 새로운 이미지의 2D point 대응 관계를 사용해 PnP 기법으로 이미지의 카메라 위치를 알 수 있습니다.



� * bag-of-words 기법 주로 분류 문제나 유사도를 구하는 문제에 쓰입니다. 출연 빈도 수를 비교하여 유사도를 측정할 수 있습니다.


ex) 문서에서 다음과 같은 단어가 가장 많이 발생했다면 각각의 문서를 체육/수학 관련 문서로 분류할 수 있습니다. 

• 달리기 체력 근력 → 체육 관련 문서 

• 미분 방정식 부등식 → 수학 관련 문서



Zoe) 여기서 또 질문! 낮에 촬영된 이미지로 3D 맵을 만든 후 밤에 찍은 이미지를 통해 어디에 있는지 위치를 알고 싶다면 쉽게 찾을 수 있을까요?


답은 아닙니다. 밝기로 인해 차이가 발생하여 위치 추정이 어려울 수 있습니다.


이러한 변화에 따른 한계점을 가지고 있는데요. 조명, 날씨, 계절의 변화 혹은 동적 객체가 포함되어 있을 때 추정이 어렵습니다. 자세한 예시를 통해 말씀드리자면 1. 건물이 새로 지어지거나 없어졌을 때 2. 자동차가 순간 지나갈 때 등의 동적 객체가 있는 상황에서는 위치 추정 어렵습니다.






깜짝 퀴즈: SLAM vs SFM


Zoe(조이)가 BX 팀에게 SLAM과 SFM의 차이점이 뭔지 깜짝 퀴즈로 물어봤습니다.

이미지를 기반으로 3D Map을 구축하는 것은 동일한데, 과연 어떤 부분이 다른 점일까요?


두 개의 차이점은 바로 SFM는 지도를 다 만들고 나서 위치를 알 수 있지만 SLAM은 동시적 위치 추적 및 지도 작성이 가능하다는 점입니다. 그렇다면 각각의 장단점도 있겠죠. SFM의 경우 데이터, 이미지 셋을 모두 모아 놓고 측정을 하기 때문에 오차율이 더 적다는 장점이 있습니다. 데이터만 잘 구축이 되었다면 좀 더 정확한 지도를 만들 수 있습니다. 다만 160장 정도의 이미지로 맵을 만드는데 5~6시간 정도 소요된다고 하니 실시간으로 볼 수 없다는 점이 단점이라면 단점입니다. SLAM의 경우 실시간으로 나의 위치 추정을 하면서 지도를 만드는 과정이다 보니 오차가 더 많이 납니다. 하지만 맵을 바로 따면서 실시간으로 볼 수 있기 때문에 바로바로 확인하면서 작업할 수 있다는 장점이 있습니다.


SLAM으로 내부 스캔 작업 중인 조이 �





첫 번째 세미나를 마치며



Zoe) 입사 후 첫 세미나를 사내 대상으로 하게 되어 잘할 수 있을까란 부담감이 조금 있었는데 팀원분들께 여러 도움을 받아 잘 마칠 수 있었습니다. 특히, Joshua, Whale, Olivia께 깊이 감사드립니다. 세미나를 준비하면서 공부했던 것들을 다시 정리하고 다듬을 수 있는 기회가 되어 저에게도 많은 도움이 되었습니다. 어려운 전공 지식을 뽐내기 보다 쉽고 직관적으로 이해할 수 있게 하고자 노력했는데 전달이 잘 되었을지 모르겠네요. (생각보다 수식과 vision의 기초 지식 없이 이해하기 쉽게 설명하는게 굉장히 어려운 일이었습니다 �...) 이번 세미나를 통해 느낀 점과 피드백을 통해 나중에 더 나은 발표를 할 수 있도록 하겠습니다. 들어주신 하이퍼클라우드 여러분 모두 감사합니다.






Luca) 쉽게 설명해 주신 내용들 뒤엔 복잡한 이론과 어려운 기술이 있음을 짐작합니다. 청중을 위해 많이 준비해 주셔서 모르는 분야임에도 머리에 그림이 그려지는 세미나였습니다. 좋은 기회 주신 Zoe에게 감사합니다! XR 팀에서 첫 세미나를 진행하였는데, 다른 팀의 세미나도 기대됩니다.






Noah) 저도 Zoe와 같이 비전 파트를 맡고 있지만 VPS 관련 지식은 많이 부족했는데 이번 세미나를 통해서 VPS가 무엇인지 좀 더 이해하게 된 것 같습니다. 앞으로 비전 기술을 함께 연구하는데 도움이 될 것으로 생각합니다.








Bona) VPS의 개념에 대해 알지 못했었는데 XR팀 Zoe(조이)께서 일반인 시각에서 쉽게 이해할 수 있도록 설명을 잘해주셔서 조금이나마 개념에 대해 이해할 수 있었던 것 같습니다! 앞으로도 사내 기술에 대해 공유하는 시간을 지속적으로 가지면 좋을 것 같습니다��






Eugene) 우선, 하이퍼클라우드 자체 세미나의 첫 발표를 너무나도 잘 준비해 주신 XR팀 Zoe(조이)에게 박수를 보내 드리며 좋은 기회를 제공해 주셔서 감사하다는 말씀드리고 싶습니다. 앞으로도 지속적으로 구성원들과의 기술적 공유와 교류의 시간을 가질 수 있으면 좋겠습니다 �‍♀️




조이의 발표가 끝나고 함께 이야기를 나누는 팀원들 �


이외에 하이퍼클라우드의 VPS 기술에 대해 더 궁금한 점은 contact@hyper-cloud.kr로 메일 주시면 자세히 답변드리도록 하겠습니다.




하이퍼클라우드 블로그에서 더 다양한 콘텐츠를 만나보세요. (하이퍼클라우드 블로그)



다른 흥미로운 콘텐츠 보러가기>> 

"메타버스 전문 기획자될 분, 하이퍼클라우드로 오세요" - 기획자 알렉스 인터뷰

'기업 홍보영상' 제작기, 영상 콘텐츠 제작 가이드 활용 Tip까지

하이퍼클라우드 조직문화 - 메타버스 스타트업 첫 출근한 에디터의 아침

BX 디자이너에게 듣는 기업 브로슈어 제작기 - 별색, 옵셋 인쇄 감리 꿀팁까지

하이퍼클라우드 YEAR-END Party! 한 해를 마무리하는 하클러 방식 ✌️

하이퍼클라우드 웰컴 키트, 진심을 담은 인터널 브랜딩

IT 스타트업 콘텐츠 마케팅 인턴 한 달 차 후기 (제가 어떻게 일하고 있냐면요...)




작가의 이전글 2023 ver 온보딩 프로세스 
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari