본문 바로가기



관련 기술/AR(증강현실)

ARCore에 대하여

 

 

 

 

ARCore란 구글에서 개발한 AR 개발 키트입니다.

2012년 구글 글래스를 시작으로 AR 개발에 발을 들인 구글은 2014년 6월 안드로이드 디바이스에서 동작하는 AR 시스템을 개발하기 위한 탱고프로젝트 시작하였고 탱고 프로젝트의 일환으로 레노버, 아수스 등에서 뎁스(Depth)카메라 등을 내장한  탱고 디바이스를 출시하기도 했습니다.

그러나 탱고 프로젝트는 탱고 디바이스라는 전용 디바이스를 필요로 했기 때문에 대중화에 어려움을 겪었죠.

그러던 , 2017년 6월에 애플에서 AR 플랫폼인 ARKit를 발표 직후인 2017년 8월 구글도 전용 디바이스를 요구하지 않는 ARCore를 발표하였고 2018년 3월 1일에 ARCore의 첫 버전을 배포하였습니다.

 

ARCore 기존의 AR 플랫폼인 탱고와 다른 점은 뎁스카메라의 유무입니다.

외의 다양한 센서, 장치 등은 이미 안드로이드 디바이스들이 공통적으로 보유하고 있기때문에 ARCore 사용하기 위한 전용 디바이스는 생각하지 않아도 됩니다.

 

ARCore 모션추적, 환경인식, 조명추정 3가지 주요 기능을 사용하여 스마트폰과 같은 안드로이드 디바이스의 카메라를 통해서 가상의 콘텐츠를 실제 세계와 통합함으로써 AR 구현합니다.

 

모션추적 기능은 카메라 이미지에서 특징점을 추출하고, 추출된 특징점을 이용해서 사물, 장소 등의 위치변화를 계산하는 기능입니다.

또한 디바이스가 보유한 IMU(Inertia Measurement Unit, 관성센서) 이용하여 측정된 값과 시간 정보를 이용하여 카메라의 포즈(위치, 방향)을 추정하는 기능 수행합니다.

 

환경인식 기능은 특징점과 평면을 감지하여 이 정보를 바탕으로 실제 환경에 대한 이해, 분석, 정보를 지속적으로 관리하는 기능입니다.

테이블, 벽면 등의 수평, 수직 표면으로 인식된 특징점이 포함되어 있는 클러스터를 찾아서 사용자가 평면으로서 사용할 있록 정보를 제공해 주며, 평면의 경계를 확인, 결정해 줍니다.

정보들을 이용해서 우리는 가구, 인형 등의 물체를 평면 위에 배치할 있죠.

평면 정보, 좌표와 특징점의 변화 등을 이용하여 디바이스의 움직임도 확인할 있습니다.

 

조명추정 기능은 카메라를 통해 입력되는 영상이미지에서 주변의 빛의 세기를 인식하고, 인식된 조명 정보를 이용하여 가상의 환경에서 실제와 유사한 환경을 표현 있게 줍니다.

영상에서 어떤 사람, 물체 등을 인식하더라도 움직임과 실제 환경에서의 광원의 방향, 세기 등이 서로 맞지 않다면 조화롭지 않은 어색한 영상만을 보게 되겠죠.

ARCore 조명 정보를 이용하여 주어진 카메라 이미지의 평균 강도, 색상 보정 등의 기능을 제공하며 기능들을 이용하여 계속 달라지는 대상을 정확하고 자연스럽게 표현할 있습니다.

 

에도 환경과 대상 객체 사이의 상호작용을 지원하며 카메라가 가리키는 지향점을 이용하여 다양한 가상 객체 배치, 주변 사물, 평면 등의 표면 각도 추정 등의 기능 제공합니다.

이런 기능들과 정의된 사물의 위치정보를 고정시켜주는 앵커 등을 이용하여 배치된 가상 객체의 위치를 추적하거나 상호작용에 따른 이동 등을 추적, 관리할 있습니다.

또한 렌더링 3D 객체와 이미지들을 인식, 활용함으로써 더욱 역동적인 장면도 만들 있죠.

 

ARCore 안드로이드 7.0 누가(Nougat) 버전 이상에서 실행되기때문에 안드로이드 7.0 이상이 설치된 디바이스에서 사용 가능합니다.

지원 가능한 디바이스의 목록은 ARCore 공식사이트( https://developers.google.com/ar/discover/supported-devices ) 참고하시면 됩니다.

 

다음 글에서는 ARCore 이용하여 개발을 시작하기 위한 초기화 과정과 기타 관련내용을 다루어 보겠습니다.

 

 

 

 

 

 

 

반응형