이미지에 차원 추가

플랫폼별 가이드

ARCore의 Augmented Images API를 사용하면 포스터나 제품 포장과 같은 사용자 환경에서 2D 이미지를 감지하고 증강할 수 있는 AR 앱을 구축할 수 있습니다.

참조 이미지 세트를 제공합니다. ARCore는 컴퓨터 비전 알고리즘을 사용하여 각 이미지의 회색조 정보에서 특징을 추출하고 이러한 특징의 표현을 하나 이상의 증강 이미지 데이터베이스에 저장합니다.

런타임 시 ARCore는 사용자 환경의 평평한 표면에서 이러한 기능을 검색합니다. 이를 통해 ARCore는 세계에서 이러한 이미지를 감지하고 이미지가 제공되지 않는 경우 위치, 방향 및 크기를 추정할 수 있습니다.

기능

ARCore는 최대 20개의 이미지를 동시에 추적할 수 있습니다. ARCore는 동일한 이미지의 여러 인스턴스를 동시에 감지하거나 추적하지 않습니다.

각 증강 이미지 데이터베이스는 최대 1,000개의 참조 이미지 정보를 저장할 수 있습니다. 데이터베이스 수에는 제한이 없지만 주어진 시간에 하나의 데이터베이스만 활성화될 수 있습니다.

데이터베이스당 최대 1,000개의 이미지 제한까지 런타임에 이미지를 증강 이미지 데이터베이스에 추가할 수 있습니다. 네트워크 연결을 사용하여 이전에 생성된 데이터베이스를 다운로드할 수 있습니다.

이미지를 추가할 때 감지할 이미지의 물리적 크기를 제공할 수 있습니다. 그렇게 하면 이미지 감지 성능이 향상됩니다.

  • 물리적 크기가 제공되지 않으면 ARCore는 크기를 추정하고 시간이 지남에 따라 이 추정치를 조정합니다.

  • 실제 크기가 제공되면 ARCore는 제공된 크기를 사용하고 겉보기 또는 실제 크기와 제공된 실제 크기 사이의 불일치를 무시하고 이미지의 위치 및 방향을 추정합니다.

ARCore는 다음과 같은 이미지에 응답하고 추적할 수 있습니다.

  • 벽에 걸린 인쇄물이나 탁자 위의 잡지와 같이 제자리에 고정된 이미지

  • 지나가는 버스의 광고 또는 사용자가 손을 움직일 때 들고 있는 평평한 물체의 이미지와 같은 움직이는 이미지.

ARCore가 이미지 추적을 시작하면 각 프레임의 이미지 위치 및 방향에 대한 추정치를 제공합니다. ARCore는 더 많은 데이터를 수집함에 따라 이러한 추정치를 지속적으로 개선합니다.

이미지가 감지되면 ARCore는 사용자가 장치를 이동했기 때문에 이미지가 일시적으로 카메라 보기 밖으로 이동하더라도 이미지의 위치와 방향을 계속 "추적"합니다. 그렇게 함으로써 ARCore는 이미지의 위치와 방향이 정적이고 이미지 자체가 환경을 통해 이동하지 않는다고 가정합니다.

모든 추적은 장치에서 발생합니다. 이미지를 감지하고 추적하는 데 인터넷 연결이 필요하지 않습니다.

요구 사항

이미지는 다음을 충족해야 합니다 .

  • 처음 감지할 카메라 프레임의 25% 이상을 채웁니다.

  • 평평해야 합니다(예: 병에 구겨지거나 감싸지지 않음).

  • 카메라가 잘 보이는 곳에 있어야 합니다. 부분적으로 가려지거나 매우 비스듬한 각도에서 보거나 모션 블러로 인해 카메라가 너무 빠르게 움직이는 경우에는 보여서는 안 됩니다.

CPU 사용률 및 성능 고려 사항

이미 활성화된 ARCore 기능에 따라 증강 이미지를 활성화하면 ARCore의 CPU 사용률이 증가할 수 있습니다. AR 경험에 필요하지 않은 시간에는 사용하지 않는 기능을 비활성화하는 것이 좋습니다. 이렇게 하면 앱에서 추가 CPU 주기를 사용할 수 있고 열 성능과 배터리 수명이 향상됩니다.

추가 정보는 성능 고려사항 을 참조하십시오.

모범 사례

참조 이미지 선택 팁

  • 이미지의 해상도는 300 x 300픽셀 이상 이어야 합니다. 고해상도 이미지를 사용하면 성능이 향상되지 않습니다 .
  • 참조 이미지는 PNG 또는 JPEG 파일 형식 으로 제공될 수 있습니다.
  • 색상 정보는 사용되지 않습니다 . 컬러 이미지와 이에 상응하는 회색조 이미지는 모두 참조 이미지로 사용하거나 런타임 시 사용자가 사용할 수 있습니다.
  • 압축률이 높은 이미지는 특징 추출을 방해하므로 피하세요 .
  • 많은 수의 기하학적 특징을 포함하거나 매우 적은 특징(예: 바코드, QR 코드, 로고 및 기타 라인 아트)이 포함된 이미지는 감지 및 추적 성능이 저하될 수 있으므로 피 하십시오.
  • 패턴이 반복되는 이미지는 감지 및 추적에 문제를 일으킬 수 있으므로 피 하세요.
  • ARCore SDK에 포함된 arcoreimg 도구를 사용하여 각 이미지에 대해 0 에서 100 사이의 품질 점수를 얻으십시오. 품질 점수는 75점 이상을 권장합니다 . 다음은 두 가지 예입니다.

    예시 이미지 1 예시 이미지 2
    점수: 0 점수: 100
    반복적인 기하학적 특징을 포함 충분한 해상도; 많은 독특한 기능을 포함

이미지 데이터베이스 생성을 위한 팁

  • Android용 arcoreimg 도구를 사용하여 이미지 데이터베이스 파일을 생성합니다. 이 도구는 Android 및 Android NDK 개발에만 사용할 수 있습니다. Unity SDK 및 ARCore Unreal 플러그인에 내장되어 있습니다.
  • 데이터베이스는 참조 이미지의 그레이스케일 데이터에서 추출된 특징의 압축된 표현을 저장합니다. 각 이미지 항목은 약 6KB를 차지합니다.
  • 런타임에 데이터베이스에 이미지를 추가하는 데 약 30ms가 걸립니다.
    • UI 스레드를 차단하지 않도록 작업자 스레드에 이미지를 추가합니다.
    • 또는 가능한 경우 ARCore SDK에 포함된 arcoreimg 도구를 사용하여 컴파일 시 이미지를 추가합니다.
  • 이미지의 예상 물리적 크기를 알고 있는 경우 지정합니다. 이 정보는 특히 큰 물리적 이미지(75cm 이상)의 감지 및 추적 성능을 향상시킵니다.
  • CPU 사용률 증가로 인해 시스템 성능에 약간의 영향이 있으므로 사용하지 않는 이미지를 데이터베이스에 많이 보관하지 마십시오.

추적 최적화를 위한 팁

  • 이미지가 초기 위치에서 움직이지 않는 경우(예: 벽에 부착된 포스터) 추적 안정성을 높이기 위해 이미지에 전역 앵커를 부착할 수 있습니다.
  • 물리적 이미지는 초기 감지를 위해 카메라 이미지의 최소 25%를 차지해야 합니다. 사용자에게 실제 이미지를 카메라 프레임에 맞추도록 요청할 수 있습니다.
  • 이미지의 추적 상태가 전체 추적이 될 때까지 이미지의 포즈 및 크기 추정치를 사용하지 마십시오. 이미지가 ARCore에 의해 처음 감지되고 예상되는 물리적 크기가 지정되지 않은 경우 추적 상태가 일시 중지됩니다. 이는 ARCore가 이미지를 인식했지만 3D 공간에서 위치를 추정하기에 충분한 데이터를 수집하지 못했음을 의미합니다.