이미지에 입체감 추가

플랫폼별 가이드

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 도구를 사용하여 각 이미지의 품질 점수 0에서 100 사이로 가져옵니다. 품질 점수는 75 이상으로 하는 것이 좋습니다. 다음은 두 가지 예입니다.

    예시 이미지 1 예시 이미지 2
    점수: 0 점수: 100
    반복적인 기하학적 특징 포함 해상도 충분, 고유한 특징 다수 포함

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

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

추적 최적화 관련 도움말