ko
ko
가우딘전체보기

Mobile AR in Unity Part 1: AR

Mobile AR in Unity Part 1: AR

소개

최근 유니티로 AR 앱 개발을 마음 먹은 개발자라면 여러가지 개념들이 혼비한 상황 속에서 어떻게 시작해야 할 지 막막할 것 같아요. 왜냐하면 제가 그랬거든요. 특히 ARFoundation, ARCore, ARKit, AR Session, SceneKit, Point Cloud, Plane Detection 등 생소한 개념들을 모르는 상태라면, 더 당황스러울 거에요. 새로 나온 개념들은 자료가 부족하고, 이미 있는 기능들은 단위별로는 잘 설명해 두었지만, 큰 그림에서 서로 어떻게 엮여 있는지는 설명한 자료가 없어서 혼란스러울 거에요.

이러한

  1. 복잡한 개념들을 정리하고, 
  2. 머리 속에 넣어 두어야 하는 개념모형을 간단히 설명해 주면서, 
  3. 더 나아가 유니티에서 어떻게 AR을 구현할 수 있는지 설명


할 생각이에요.
다들 제가 겪었던 삽질을 반복하지 마세요.

AR

AR은
Digital Virtual World와 Real World를 연결한 World 라고 이해하시면 됩니다.

좀더 기억하기 쉽게 정리하면,
AR World = Digital Virtual World + Real World

AR기술의 범위는 꽤나 넓어서 다양한 응용분야가 있어요. 예로 들어, 어떤 스토어에 들어가는 순간 모바일 디바이스에서 GPS를 통해 위치를 검색해서 그 스토어에 들어간 것임을 확인하고 관련된 정보를 띄어주는 것 또한 현실과 디지털세계를 연결한 AR응용사례라고 볼 수 있겠죠.

Mobile AR: SLAM

그런데, 이 포스팅에서 집중하는 AR 응용 분야는 Mobile AR
아래와 같이 크게 두 가지 핵심기술을 기반으로 하고 있어요.

  • 현실세계에서의 디바이스 현재 위치를 추적하는 것

      —> Visual Inertial Odometry

  • 현실사물을 인식하는 것

      —> Image Feature Analysis (Plane Detection, Object Detection 등등)

이렇게 VIO를 통해서 위치추정을 수행함과 동시에 사물 스캔을 통해서 가상의 맵을 그려내는 기술을 SLAM(Simultaneous localization and mapping)이라고 한다네요.

그러면 이제 이 2가지 핵심기술에 대한 개념을 정리해 볼게요.

Visual Inertial Odometry

Visual Inertial Odometry는 직역하면 시각적 관성 거리계로,
Visual Odometry와 관성측정장치인 Inertial Measurement Unit(이하 IMU)의 합성어에요.

     Visual Inertial Odometry = IMU + Visual Odometry 

각각의 기술 개념을 정리하면 아래와 같아요.

  • IMU

IMU는 accelerometer와 gyro의 조합을 통해서 대상이 받고 있는 힘과 가속 등을 체크하는 전자기기에요. IMU를 통해 현재 디바이스의 Motion 정보를 얻어낼 수 있죠.

그런데 IMU만 이용할 경우에는 갑작스런 움직임을 정확히 반영하지 못하는 기술적 한계점이 있었고, 그 한계를 보완하기 위해 소프트웨어적으로 이미지를 분석하고 이에 기반해 디바이스의 위치를 좀 더 정확하게 보정해 주는 Computer Vision 기술이 들어가는 것이에요. 그리고 그것이 바로 Visual Odometry입니다.

  • Visual Odometry

“Visual Odometry는 카메라 이미지를 분석해서 디바이스의 Pose(=Position & Rotation)을 정의하는 프로세스를 말하는데, 로보틱스와 컴퓨터 비젼에서 다루고 있는 분야” (출처: wikipedia)

즉, VIO의 개념을 정리하면,
디바이스의 모션 센서 그리고 카메라 이미지를 분석을 통해 디바이스의 현재 위치와 회전값을 측정하는 기술이에요. 이 기술을 통해 카메라가 현실 세계의 origin(0, 0, 0)을 기준으로 어디에 위치해 있는지 그리고 어떤 곳을 바라바고 있는지를 디지털 3D 세계에 표현할 수 있게 되는 거에요. 아래 도표를 보시면 더 이해가 되실 거에요. 

출처: Apple WWDC 2018 Understanding ARkit Tracking

(보면, Rotation정보는 CV보다 프레임레이트가 높은 것을 알 수 있어요. CPU 연산량이 높은 CV는 매 프레임 처리하기에는 무겁기 때문에, 프레임 레이트를 낮춘 겁니다.)

그렇다면 카메라의 위치정보 말고 ‘평면감지‘, ‘오브젝트 감지’ 등의 정보는 어떻게 얻을까요?
이를 위해서 Image Feature Analysis기술이 들어갑니다.

Image Feature Analysis

AR에서 2D카메라 이미지를 분석해서 현실의 3D 사물을 인지하는 방법은 우리가 두 눈을 이용해서 공간감을 인지하는 방법과 다르지 않다고 합니다. 어떤 책상의 한 점을 북쪽에서 봤다고 하면, 약 10cm 정도 옆으로 가서 봐도 그 점이 보인다면, 그 점은 특징점이고 이미지 간 같은 두 특징점의 삼각법을 통해 거리를 분석해 냅니다.

출처: Apple WWDC 2018 Understanding ARkit Tracking

여기서 특징점이라는 말은 Interesting Point라고 생각해도 무방합니다. 도메인의 목적에 따라 특징을 정의하는 방식이 다른 굉장히 추상적인 개념이에요. Mobile AR 도메인에서 특징점(흥미를 갖고 있는 점)은 다른 각도에서도 발견되는 같은 점들입니다.
(참고로, 이 특징을 feature라고 하고, 이 점들이 모인 집합을 point cloud라고 합니다.)

Mobile AR 시스템 개념모형

이태까지 이해한 내용과 ARKit에 대해서 애플이 2018년 WWDC에서 발표한 자료를 종합해 보면 전체적으로 Mobile AR 시스템이 어떻게 동작하는지 개념모형을 머리 속에 그려볼 수 있어요.

개념모형

  1. ARSession을 요청한다.
  2. 카메라 하드웨어를 켠다.
  3. IMU 하드웨어를 켠다.
  4. Camera와 Motion Sensor는 ARFrame마다 값을 업데이트한다.
  5. AR Session이 열린다.
    (Session이 열린 순간의 카메라 위치를 원점으로 가상 월드 좌표계가 형성된다.)
  6. 그 좌표계에서 VIO를 통해, 현재 카메라의 위치와 회전값을 업데이트한다.
  7. 카메라 이미지를 분석해서, 물체를 감지한다.
  8. (등록된 사물이 아니면) 새로운 앵커를 만들어서 사물을 위치시킨다.
  9. (이미 등록된 사물이면) 업데이트 또는 병합한다.
  10. 7에서 9 과정을 반복한다.

참고자료

Understanding ARKit Tracking and Detection – WWDC 2018 – Videos – Apple Developer https://developer.apple.com/videos/play/wwdc2018/610/

Technology – ApproachableAR – Medium

Interest point detection – Wikipedia https://en.wikipedia.org/wiki/Interest_point_detection

Feature detection (computer vision) – Wikipedia https://en.wikipedia.org/wiki/Feature_detection_(computer_vision)

Introduction To Feature Detection And Matching – Software Incubator – Medium https://medium.com/software-incubator/introduction-to-feature-detection-and-matching-65e27179885d


Gaudio Lab 은…

가우디오랩(주)은 VR/AR, 스트리밍 미디어, 모바일, 홈 등 소리가 있는 어디에서나 사람들에게 훌륭한 소리 경험을 제공하는 일을 합니다. 가상세계를  더욱 현실처럼 만드는 소리, 현실을 넘어 초현실적인 소리를 만드는 혁신적인 기술들로 전세계를 누비며 활약하는 국가대표 오디오 공학집단입니다. “올해의 최고 VR 혁신 기업상 수상(VR Awards, 런던, 2017)“, “ISO/IEC MPEG-H 3D Audio 국제표준 채택 (2013,2018)“으로 혁신성을 인정받은 6인의 음향공학박사와 오디오 Geek들은 실리콘밸리와 서울에 있습니다. The Science of Sound.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Youtube
Consent to display content from Youtube
Vimeo
Consent to display content from Vimeo
Google Maps
Consent to display content from Google
Spotify
Consent to display content from Spotify
Sound Cloud
Consent to display content from Sound