대규모 실외 AR솔루션 : GNSS-VPS 기술 결합과 AR글래스 활용
증강 현실(AR) 기술은 빠르게 발전하며 우리의 일상에 깊이 자리 잡고 있습니다. 특히, 스마트폰과 다양한 기기를 통해 AR 콘텐츠를 접할 수 있게 되면서 산업 전반에서 AR 기술의 활용 가능성이 커지고 있습니다. 그러나 실외 환경에서 정확한 위치에 AR 콘텐츠를 증강시키는 데에는 기존의 기술적 한계가 존재했습니다.
이러한 상황에서 저희는 대규모 실외구역을 대상으로 하는 AR 프로젝트를 시작할 때 AR 콘텐츠를 어떤 방식으로 구현해야 할지 고민이 필요했습니다. 일반적으로 대규모 구역에 AR 콘텐츠를 증강하기 위해서는 GNSS(Global Navigation Satellite System)를 사용해 AR 콘텐츠의 위치를 결정했으나, GNSS는 약 20m 정도의 오차를 가지고 있어 현실과 상호작용하는 AR 콘텐츠의 정밀도와 일관성에 문제가 있었습니다.
또한 모든 구역에 동일한 밀도로 AR 콘텐츠가 필요한 것이 아니었기 때문에 주로 사용하는 VPS(Visual Positioning System)를 전체 영역에 적용하기에는 불필요한 스캔 구역이 많다는 단점이 있었습니다.
이러한 문제점들을 해결하기 위해 저희는 VPS를 사용하여 정밀한 AR 콘텐츠 증강이 필요한 특정 구역에 적용하고, GNSS를 사용하여 전체적인 위치 파악을 하는 하이브리드 시스템을 개발했습니다. 이를 통해 정확성과 효율성을 모두 갖춘 대규모 실외 AR 솔루션을 구현할 수 있었습니다.
GNSS(Global Navigation Satellite System)
GNSS란?
GNSS는 3개 이상의 위성에서 사용자 디바이스로 전송되는 데이터 간의 시간 차이를 이용해 지구 상에서 사용자의 위치를 파악하는 시스템입니다. 가장 널리 알려진 GPS는 미국이 운영하는 GNSS 시스템의 하나입니다.
이 외에도 러시아의 글로나스(GLONASS), 유럽의 갈릴레오(Galileo), 중국의 베이더우(Beidou) 같은 시스템들이 있으며, 이러한 시스템들을 모두 아우르는 용어가 GNSS입니다. GNSS는 전 세계적으로 활용되며, 항공, 해양, 내비게이션 등 다양한 분야에서 중요한 위치 추적 기술로 자리 잡고 있습니다.
GNSS의 한계점
GNSS는 대부분의 상황에서 위치 파악에 매우 유용한 기술이지만, 최대 20m의 오차 범위를 가질 수 있습니다. 이 오차 범위는 실생활에서 자동차 내비게이션 등에서 충분히 활용할 수 있는 수준이지만, 정확한 위치와 일관성을 요구하는 AR 콘텐츠에는 적합하지 않습니다. AR 콘텐츠는 현실의 특정 위치에 맞게 정확하게 증강되어야 하므로, 이와 같은 오차는 사용자의 몰입도를 저해할 수 있습니다.
예를 들어, 포켓몬 고(Pokémon GO)와 같은 게임에서도 GNSS를 이용하여 대략적인 위치를 파악해 콘텐츠를 지도 상에 배치하지만, 실시간 상호작용이 요구되는 환경에서는 이러한 오차로 인해 사용자 경험에 불편을 줄 수 있습니다. 특히 도심지나 건물 내와 같은 위성 신호 수신이 어려운 환경에서는 GNSS의 정확도가 더욱 떨어질 수 있습니다.
또한, GNSS를 사용하는 대표적인 시스템으로는 차량 내비게이션이 있습니다. 차량 내비게이션은 상당히 정확한 위치 정보를 제공하는 것처럼 보이지만, 이는 실제로 차량이 도로 위에서만 움직인다는 특수한 조건 덕분입니다. 내비게이션 시스템은 차량의 방향과 속도를 이용해 GPS 신호가 약해질 때도 근처 도로로 위치를 자동 보정합니다. 덕분에 사용자는 내비게이션이 매우 정확하다고 느낄 수 있습니다.
그러나 일반적으로 보행자나 AR 콘텐츠와 같은 더 정밀한 위치 추적이 필요한 경우, GNSS만으로는 충분한 정확도를 제공하기 어렵습니다. 특히 GNSS는 몇 미터 단위의 오차를 가지고 있어, 현실과 상호작용하는 콘텐츠에선 이를 보정할 추가적인 시스템이 필요합니다.
이러한 한계를 극복하기 위해,GNSS에 VPS 기술을 결합하면 더 높은 정확도를 달성할 수 있습니다. VPS는 카메라 이미지를 기반으로 주변 환경을 인식해 정확한 위치를 추적하는 방식이므로, GNSS의 약점을 보완하고 더 정밀한 AR 콘텐츠 구현이 가능합니다.
효율적인 VPS 활용을 위한 RGB 제거 방식
VPS는 실내 환경에서 특히 뛰어난 성능을 발휘합니다. 환경 변화가 적고 사전 스캔 데이터의 신뢰성이 높아 AR 콘텐츠를 정확하게 배치할 수 있으며, 제한된 공간으로 인해 스캔 작업도 효율적으로 수행할 수 있습니다.
시스템 운영 과정에서 고려해야 할 몇 가지 기술적 특성이 있습니다. 실시간 이미지와 사전 스캔 데이터의 지속적인 비교 과정에서 카메라 리소스와 데이터 통신량이 요구되며, 실외 환경에서는 시간대별 빛의 방향과 강도 변화에 따라 정확도 개선의 여지가 있습니다.
이러한 기술적 특성을 고려하여 다양한 최적화 방안을 검토했습니다. 지속적인 스캔 구역 업데이트나 depth 데이터 활용 등 여러 방안을 검토한 결과, 저희는 가장 효율적인 방법으로 이미지의 RGB 값을 제거하는 방식을 채택했습니다.
이 방법은 특히 실외 환경에서 큰 효과를 발휘했습니다. VPS 수행 시 이미지의 색상 정보를 제거함으로써, 빛의 변화에 따른 영향을 상당히 줄일 수 있었습니다.이를 통해 시간대나 날씨 변화에 관계없이 더 안정적인 VPS 성능을 확보할 수 있게 되었습니다.
GNSS와 VPS의 결합 시스템 설계
완벽한 AR 콘텐츠 구현을 위해서는 두 기술의 효과적인 결합이 필요합니다. GNSS는 대부분의 스마트 기기에 기본 탑재되어 있어 별도의 추가 장비가 필요 없으며, 사용 중에도 기기 성능에 큰 부담을 주지 않는다는 강점이 있습니다. 반면 VPS는 정밀한 위치 정보를 제공하여 AR 콘텐츠를 정확하게 증강할 수 있는 능력을 가지고 있습니다.
이 두 기술의 장점을 결합한 방식은 다음과 같습니다.
GNSS를 사용하여 대략적인 구역을 탐지한 후, 그 구역 내에서만 VPS를 수행하도록 제한하는 방식으로 시스템을 구현하는 것입니다. 이를 통해 전체 환경을 모두 스캔할 필요 없이 AR 콘텐츠가 위치할 구역만을 스캔하여 리소스를 절약할 수 있습니다. GNSS는 넓은 구역에서 위치 탐지를 빠르게 처리하고, VPS는 특정 구역에서 정밀도를 높이는 보조 역할을 하여 효율성과 정확도를 동시에 만족하는 시스템을 설계할 수 있습니다.
AR글래스와 GNSS 그리고 VPS 결합 프로세스
AR글래스 선택
저희가 설계한 시스템의 요구 사항을 충족하기 위해서는 적절한 AR 글래스를 선택하는 것이 중요했습니다. 시중의 AR글래스 중 일부 제품은 개인정보 보호를 위해 RGB 카메라를 제외하거나 접근을 제한하고 있어, VPS에 필요한 이미지 데이터 수집이 불가능할 수 있다는 점을 고려해야 했습니다.
이러한 요구사항을 고려하여 Xreal Light를 AR글래스로 선정했습니다. Xreal Light는 VPS 구현에 필수적인 RGB 카메라를 탑재하고 있으며, 스마트 기기와의 연동을 통해 GNSS 기능도 활용할 수 있어 최적의 선택이었습니다. 이를 통해 GNSS와 VPS를 결합한 정밀한 AR 콘텐츠 구현이 가능해졌습니다.
기술 구현과정
Xreal Light는 안드로이드 기기와 연동하여 작동하는 장비입니다. 안드로이드 기기에 기본 탑재된 GNSS를 활용할 수 있어 위치 기반 기능 구현이 용이했습니다.
VPS 구현을 위해서는 Xreal Light에 탑재된 RGB 카메라를 활용했습니다. 카메라로 촬영한 이미지 데이터는 서버로 전송되어 분석되고, 분석 결과를 다시 수신하는 통신 프로세스를 통해 정확한 위치 추적이 가능해졌습니다.
아래 코드는 VPS를 수행할때 전송된 이미지와 카메라의 좌표를 기반으로 자신의 위치를 추정하는 슈도코드(pseudocode)입니다. 이를 통해 미리 스캔된 구역과 사용자가 전송한 사진 이미지를 가지고 사용자의 위치를 추정할 수 있습니다.
Function RunVPS()
// Capture and convert image
Convert the camera texture to the R8 format using the shader
Set the converted image as the current display texture
Encode the image to PNG format for processing
// Initialize settings
Perform initialization using the current spatial ID
// VPS pose retrieval
Try:
Retrieve VPS pose from the server using spatial ID
If VPS pose retrieval is successful:
Activate the relevant map assets
Reset the DSC count
Set the DSC state to inactive
Map the retrieved pose to the current environment
Log "Localization successful"
Catch:
Log the error message and the current attempt count
Exit the function
End of Function
전체적인 시스템 구성은 다음과 같습니다.
먼저 디바이스 내 GNSS를 사용하여 대략적인 위치를 파악한 후, AR 콘텐츠가 위치한 특정 장소에 도달하면 VPS가 작동하여 정밀한 위치 확인과 콘텐츠 증강이 이루어집니다. 이렇게 GNSS와 VPS를 조합한 방식 덕분에, 모든 장소를 스캔하거나 지속적으로 VPS 통신을 시도할 필요가 없어 기기 성능 저하 없이 효율적으로 AR 콘텐츠를 증강할 수 있게 되었습니다.
완성된 프로젝트
영상으로도 확인해 보세요.
위 사진과 영상은 AR글래스와 iPad에서 각각 실행된 VPS 결과를 보여줍니다. 비록 AR 글래스의 카메라 성능과 조명 조건으로 인해 오브젝트가 약간 어둡게 보일 수 있지만, 두 디바이스 모두 오브젝트의 위치는 정확하게 일치하는 것을 확인할 수 있습니다.
AR글래스로 증강되는 콘텐츠는 GNSS와 VPS를 사용중이지만 콘텐츠를 증강하는데 사용되는 방식은 VPS를 사용하기때문에 GNSS의 오차율 20m의 영향을 받지 않습니다. 이로써 현재 공간에서 새로운 위치로 이동하여도 GNSS를 사용하여 위치데이터를 변화 시키고 VPS를 사용하여 AR콘텐츠를 증강시키는것이 가능하였습니다.
특히, AR글래스를 사용한 VPS는 사용자가 양손을 자유롭게 사용할 수 있어 증강된 AR 콘텐츠와 더 쉽게 상호작용할 수 있다는 장점이 있습니다.
마치며
그동안 VPS 기술은 카메라를 편하게 사용하기 위하여 스마트폰과 같은 휴대용 디바이스를 중심으로 발전해왔습니다. 이는 사용자들이 익숙하고 직관적으로 활용할 수 있다는 장점이 있었으나, 더욱 자유로운 사용자 경험을 위한 새로운 가능성을 모색하게 되었습니다.
이러한 발전 방향의 일환으로, 저희는 AR 글래스에 최적화된 VPS 구현 방안을 연구했습니다. 그 결과, GNSS와 VPS의 장점을 결합한 효율적이고 안정적인 시스템을 구축할 수 있었습니다. 이를 통해 사용자들은 양손의 자유로움을 유지하면서 더욱 몰입감 있는 XR 콘텐츠를 경험할 수 있게 되었습니다.
DEEP.FINE은 앞으로도 사용자들이 보다 쉽고 직관적으로 XR 콘텐츠를 즐길 수 있도록 지속적으로 기술을 발전시켜 나가겠습니다. 감사합니다.