이미지에 크기 추가

플랫폼별 가이드

ARCore의 증강 이미지 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 사이클을 사용할 수 있고 열 성능과 배터리 수명이 개선됩니다.

자세한 내용은 성능 고려사항을 참고하세요.

권장사항

참조 이미지 선택 팁

  • 이미지 해상도는 300x300픽셀 이상이어야 합니다. 고해상도 이미지를 사용하는 경우 성능이 개선되지 않습니다.
  • 참조 이미지는 PNG 또는 JPEG 파일 형식으로 제공됩니다.
  • 색상 정보가 사용되지 않습니다. 색상과 동등한 그레이 스케일 이미지는 모두 참조 이미지로 사용하거나 런타임 시 사용할 수 있습니다.
  • 강한 압축은 이미지를 사용하지 않습니다. 이 기능은 특성 추출을 방해하므로
  • 기하학적 특징이 많거나 매우 적은 지형지물(예: 바코드, QR 코드, 로고 및 기타 라인 아트)이 포함된 이미지는 감지하지 않을 수 있으며 감지 성능이 저하됩니다.
  • 반복되는 이미지는 사용하지 마세요. 감지 및 추적에 문제가 발생할 수 있습니다.
  • ARCore SDK에 포함된 arcoreimg 도구를 사용하여 각 이미지의 0100 사이의 품질평가점수를 얻습니다. 품질평가점수는 최소 75점인 것이 좋습니다. 예를 들면 다음과 같습니다.

    예시 이미지 1 예시 이미지 2
    점수: 0 점수: 100
    반복되는 기하학적 지형지물을 포함합니다. 충분한 해상도, 고유한 기능 여러 개 포함

이미지 데이터베이스 만들기 도움말

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

추적 최적화를 위한 팁

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