Skip to main content
QUICK REVIEW

[논문 리뷰] HoloLens 2 Sensor Streaming

Juan C. Dibene, Enrique Dunn|arXiv (Cornell University)|2022. 11. 04.
Augmented Reality Applications인용 수 8
한 줄 요약

이 논문은 HoloLens 2 센서 데이터를 위한 실시간 TCP 기반 스트리밍 시스템을 제안하며, 외부 시스템으로 RGB, 회색조, 깊이, IMU, 오디오, 눈, 머리, 손 추적 데이터를 저지연, 전체 프레임 레이트로 전송할 수 있도록 한다. HoloLens 2의 내장 영상 인코딩 기능과 크로스플랫폼 Python 클라이언트를 갖춘 C++ UWP 서버를 활용하여, 1080p 영상의 경우 약 270ms의 지연을 달성하며, Open3D 및 MMDetection와 같은 제3자 라이브러리와의 통합을 통해 실시간 3D 재구성 및 세분화를 지원한다.

ABSTRACT

We present a HoloLens 2 server application for streaming device data via TCP in real time. The server can stream data from the four grayscale cameras, depth sensor, IMU, front RGB camera, microphone, head tracking, eye tracking, and hand tracking. Each sent data frame has a timestamp and, optionally, the instantaneous pose of the device in 3D space. The server allows downloading device calibration data, such as camera intrinsics, and can be integrated into Unity projects as a plugin, with support for basic upstream capabilities. To achieve real time video streaming at full frame rate, we leverage the video encoding capabilities of the HoloLens 2. Finally, we present a Python library for receiving and decoding the data, which includes utilities that facilitate passing the data to other libraries. The source code, Python demos, and precompiled binaries are available at https://github.com/jdibenes/hl2ss.

연구 동기 및 목표

  • 더 큰 계산 능력과 라이브러리 지원을 갖춘 외부 시스템에서 HoloLens 2 센서 데이터를 실시간으로 온라인 실험할 수 있도록 한다.
  • Windows Device Portal 및 Research Mode API와 같은 기존 도구들이 실시간 스트리밍 또는 전체 센서 액세스를 지원하지 못하는 한계를 극복한다.
  • 모든 HoloLens 2 센서, 특히 이전에는 접근이 어려웠던 그레이스케일 카메라, 깊이, IMU 및 고급 추적 데이터(눈, 머리, 손)를 저지연, 전체 프레임 레이트로 스트리밍한다.
  • 세마포어 기반의 동기화를 통해 크로스플랫폼 클라이언트를 통해 데이터 수신 및 처리를 지원하며, 복구, 왜곡 보정, 정렬 및 저장 기능을 제공하는 유틸리티를 포함한다.
  • Open3D 및 MMDetection와 같은 제3자 라이브러리와의 통합을 통해 실시간 3D 재구성 및 패닉소픽 세분화를 가능하게 한다.

제안 방법

  • HoloLens 2에 C++ 유니버설 윈도우 플랫폼(UWP) 서버 애플리케이션을 구현하여 각 데이터 유형에 전용 포트를 할당해 TCP를 통해 센서 스트림을 노출한다.
  • HoloLens 2의 내장 영상 인코딩(H.264/HEVC) 및 Microsoft Media Foundation SDK를 활용해 영상 및 오디오 스트림을 압축함으로써 대역폭을 줄이고 실시간 성능를 유지한다.
  • 깊이 데이터를 손실 없는 PNG로 압축된 16비트 깊이 이미지와 활성 밝기 이미지의 교차 배치 형태로 스트리밍하며, 압축 효율을 높이기 위해 시그마 채널을 제외한다.
  • 모든 스트림 간 일관된 밀리초 단위 타임스탬프를 제공하는 신뢰성 있고 저지연의 TCP 전송을 위해 Windows Sockets를 사용한다.
  • Windows, Linux, macOS를 모두 지원하는 Python 클라이언트 라이브러리를 개발하여 스트림 디코딩, 세마포어 기반의 데이터 동기화를 관리하고, 왜곡 보정, 정렬 및 파일 입출력 유틸리티를 제공한다.
  • 이미지 왜곡 보정을 위해 OpenCV를, MP4 인코딩을 위해 PyAV를 활용하여 Open3D 및 MMDetection와 같은 도구를 포함한 실시간 처리 파이프라인을 가능하게 한다.

실험 결과

연구 질문

  • RQ1HoloLens 2의 내장 인코딩 및 TCP 전송을 사용하여, 이전에는 접근이 어려웠던 그레이스케일 카메라 및 깊이 스트림을 포함한 모든 HoloLens 2 센서 데이터를 외부 시스템으로 실시간으로 스트리밍할 수 있는 저지연 시스템을 구축할 수 있는가?
  • RQ2HoloLens 2의 내장 인코딩 및 TCP 전송을 사용할 때, 1080p 30 FPS 영상 스트리밍의 전체 경로 지연은 얼마인가?
  • RQ3다양한 이질적인 소스(영상, 깊이, IMU, 추적)에서 오는 센서 데이터를 크로스플랫폼 클라이언트를 통해 실시간으로 동기화하고 처리할 수 있는가?
  • RQ4시스템이 Open3D 및 MMDetection와 같은 제3자 라이브러리와의 실시간 통합을 얼마나 잘 지원할 수 있는가? 특히 3D 재구성 및 의미 세분화 측면에서.
  • RQ5모든 HoloLens 2 센서 데이터를 동시에 전체 프레임 레이트로 스트리밍하기 위한 네트워크 대역폭 요구 사항은 무엇인가?

주요 결과

  • 시스템은 전체 프레임 레이트로 저지연으로 모든 HoloLens 2 센서 데이터—4개의 그레이스케일 카메라, 깊이, IMU, RGB 영상, 마이크로폰, 추적 데이터—를 스트리밍할 수 있다.
  • 테스트 환경에서 1080p 30 FPS 영상 스트리밍의 전체 경로 지연은 약 270ms로 측정되어 실용적인 저지연 성능을 입증했다.
  • 모든 스트림의 총 네트워크 대역폭 평균은 19 Mbit/s이며, 개별 스트림은 자장계(12 Kbit/s)에서 깊이 스트림(6.5 Mbit/s)까지 다양하다.
  • Python 클라이언트 라이브러리는 여러 스트림에서 데이터를 성공적으로 디코딩하고 동기화하여, 정렬된 RGBD 데이터에서 Open3D를 사용한 실시간 3D 재구성 가능성을 입증했다.
  • 시스템은 RM VLC 이미지에 대해 MMDetection를 사용한 실시간 패닉소픽 세분화를 지원하며, 이를 통해 깊이 데이터를 세분화하는 데 활용함으로써 종단 간 파이프라인의 타당성을 입증했다.
  • NumPy 배열과 왜곡 보정, 정렬, 파일 입출력 유틸리티 기능을 통해 외부 도구와의 원활한 통합을 가능하게 하여 재현 가능하고 확장 가능한 연구 워크플로우를 지원한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.