Table of Contents

문제 진단 및 보고

이 장에서는 AR 애플리케이션을 구축할 때 발생할 수 있는 문제, 주요 분석 방법, 그리고 문제를 보고할 때 수집해야 하는 정보와 연락 경로를 설명합니다.

AR 시나리오에서 문제 분석의 어려움

AR 시나리오의 문제 분석에는 몇 가지 고유한 어려움이 있습니다.

입력의 불확실성

전통적인 애플리케이션에서 입력은 일반적으로 클릭이나 키보드 이벤트처럼 결정적입니다. 그러나 AR에서는 입력이 변화하는 물리 환경에서 오므로 분석이 훨씬 어려워집니다. AR 애플리케이션은 물리 환경과 함께 사용되어야 하지만, 개발 및 테스트 중에는 물리 환경에서 매번 동일한 입력을 얻을 수 없습니다. 같은 경로를 따라 이동하더라도 카메라 이미지와 가속도계, 자이로스코프 같은 센서 데이터가 달라질 수 있으며, 이러한 변화는 tracking 결과에 큰 영향을 줄 수 있습니다.

EasyAR는 EIF 파일 녹화 및 재생 기능을 제공하여 입력 불확실성을 어느 정도 완화할 수 있습니다. 하지만 알고리즘의 불확실성 때문에 최종 tracking 결과는 본질적으로 여전히 불확실합니다. 또한 EIF 녹화 데이터의 불완전한 커버리지, 조명 변화, 보행자나 차량으로 인한 동적 가림도 실제 사용 시 tracking 품질에 영향을 줄 수 있습니다.

알고리즘의 불확실성

AR의 핵심 알고리즘은 SLAM (simultaneous localization and mapping) 같은 시각 알고리즘입니다. 이러한 알고리즘은 본질적으로 확률적이며 결정론적이지 않습니다.

입력 카메라 이미지에 뚜렷한 특징이 부족하면 알고리즘은 과거 position과 pose, 그리고 가속도계와 자이로스코프 같은 센서 데이터를 사용해 예측할 수 있습니다. 예측된 position과 pose 결과는 시간이 지나며 누적되어 drift를 발생시킵니다. 각 예측 결과는 데이터 입력 시점, 장치 온도, CPU 주파수, 네트워크 전송 속도 같은 외부 요인과 관련됩니다. 이러한 요인은 동적으로 변하므로 동일한 입력이라도 여러 번 실행한 결과가 크게 다를 수 있습니다.

문제별 분석 방법

문제에 따라 서로 다른 분석 방법이 필요할 수 있습니다.

로그

검은 화면, localization 실패, 정상 tracking 실패처럼 프로그램이 정상적으로 실행되지 않는 경우 가장 기본적인 방법은 로그를 보고 오류 메시지가 있는지 확인하는 것입니다. EasyAR에서 생성되는 로그는 식별하기 쉽도록 특정 태그를 사용합니다.

크래시

때때로 프로그램이 크래시될 수 있습니다. 크래시 위치는 라이브러리 코드일 수도 있고 프로그램 자체 코드일 수도 있습니다. 원인은 프로그램 자체의 문제일 수도, 라이브러리의 문제일 수도 있습니다.

떨림, 점프 등 시각적 이상

센서 데이터 정확도 또는 알고리즘 적응 문제로 인해 localization 떨림이나 점프가 발생할 수 있습니다. 이 경우 여러 장치에서 문제를 재현해 보고, 스크린샷, 화면 녹화, EIF 파일을 수집하십시오.

플랫폼별 가이드

문제 진단과 보고는 플랫폼과 밀접하게 관련되어 있습니다. 대상 플랫폼에 따라 다음 가이드를 참고하여 개발하십시오.