이미지 Cloud Recognition 소개
이 가이드는 EasyAR CRS(Cloud Recognition Service)의 Cloud Recognition 기능의 핵심 원리, 기대 결과, 그리고 평면 이미지 추적과의 차이점을 소개하여 개발자가 클라우드 인식의 적합한 사용 시나리오와 제한을 이해하도록 돕습니다.
기본 원리
Cloud Recognition은 인식 과정을 클라우드로 옮기는 방식으로, 대상 라이브러리가 크거나 동적 업데이트가 필요한 시나리오에 적합합니다. 핵심 흐름은 다음과 같습니다.
라이브러리 관리
- 라이브러리 생성: CRS 콘솔에 대상 이미지를 업로드합니다. 시스템은 대상 이미지의 시각적 특징을 자동으로 계산하여 백엔드 데이터베이스에 Target으로 추가합니다.
- CRUD: CRS 콘솔에서 대상 라이브러리를 생성, 삭제, 수정, 조회할 수 있습니다. 작업 후에는 앱을 다시 배포하지 않아도 클라이언트에서 계속 사용할 수 있습니다.
중요
Cloud Recognition에 사용하는 대상 이미지의 품질 요구 사항은 평면 이미지 추적에서의 요구 사항과 정확히 같습니다. 대상 이미지 모범 사례를 참고하세요.
인식 흐름
- 이미지 업로드: 클라이언트가 카메라로 현재 화면을 캡처하여 이미지 데이터를 EasyAR CRS 서비스로 전송합니다.
- 클라우드 매칭: 서버는 클라우드 대상 라이브러리에서 빠르게 검색하여 미리 저장된 Target 데이터(즉, 개발자가 업로드한 대상 이미지)와 매칭합니다.
- 결과 반환: 매칭에 성공하면 클라우드는 인식 결과(대상 ID, 대상 이미지 등)를 클라이언트에 반환하고, 클라이언트는 이를 바탕으로 가상 콘텐츠를 표시하거나 이미지를 이용해 후속 추적을 계속합니다.
평면 이미지 추적과의 차이
| 특성 | 평면 이미지 추적(로컬) | Cloud Recognition |
|---|---|---|
| 인식 계산 | 장치 로컬에서 수행 | 클라우드 서버에서 수행 |
| 대상 라이브러리 크기 | 메모리와 로딩 시간의 제약이 있으며, 일반적으로 100장을 넘지 않는 것이 권장됨 | 라이브러리당 최대 10만 장의 대상 이미지, 수억 규모까지 확장 가능 |
| 대상 업데이트 | 앱을 다시 패키징하여 배포해야 함 | 실시간 업로드 후 즉시 반영 |
| 네트워크 의존성 | 네트워크 불필요(오프라인 사용 가능) | 네트워크 필요(인식 요청에 네트워크 필요) |
| 기능 중심 | 인식 후 지속 추적(6DoF pose 출력) | 단일 인식(대상 매칭) |
핵심 설명:
- 인식: “이 대상이 무엇인가”를 맞추는 것만 수행하며 지속적인 추적은 제공하지 않습니다. 추적이 필요하면 로컬 평면 이미지 추적 기능과 함께 사용해야 합니다.
- 적용 시나리오: 대상 수가 많은 경우(예: 상품 카탈로그, 어린이 책), 자주 업데이트해야 하는 경우(예: 행사 포스터), 또는 단순한 기능 요구(예: 인식만 필요하고 추적은 불필요).
서비스 사용 및 관리
EasyAR CRS는 개인 개발부터 기업용 애플리케이션까지 지원하는 유연하고 안전한 클라우드 대상 관리 방식을 제공합니다.
라이브러리 분리와 보안
- 다중 라이브러리 지원: 여러 개의 독립된 CRS 라이브러리를 만들 수 있으며, 서로 완전히 분리되어 대상이 충돌하지 않습니다. 예:
- 라이브러리 A: 마케팅 캠페인용, 제품 포스터 저장
- 라이브러리 B: 교육 훈련용, 교재 삽화 저장
- 보안 메커니즘: 각 라이브러리는 고유한 API Key와 Secret으로 접근하여 데이터 보안을 보장합니다.
동시 처리 모드 선택
애플리케이션 규모와 스캔량 요구에 따라 CRS는 두 가지 동시 처리 모드를 제공합니다.
| 모드 | 시나리오 | 특징 | 활성화 방법 |
|---|---|---|---|
| 기본 동시 처리량 | AR 앱 QPS < 50, 일반적인 스캔량 | 셀프 서비스 활성화, 안정적이고 신뢰할 수 있음 | CRS 콘솔에서 온라인 신청 |
| 고동시 처리량 | AR 앱 QPS ≥ 50, 대량 스캔 | 전용 자원 보장, 낮은 지연 | EasyAR 기술 지원에 연락해 평가 후 활성화 |
팁
초기 프로젝트나 테스트 단계에서는 기본 모드를 선택할 수 있습니다. 출시 후에는 실제 트래픽(예: QPS 인식 요청량)을 기준으로 업그레이드를 결정하세요.
라이브러리 관리 및 API
- 라이브러리 관리: 생성, 삭제, 대상 업로드 등 일상 작업은 라이브러리 관리 섹션을 참고하세요. 자세한 단계와 스크린샷이 포함되어 있습니다.
- CRS API: 풍부한 REST API를 제공하며 다음 시나리오를 지원합니다.
- 상태 확인: API로 서비스 상태를 조회
- 자동화: 대상의 대량 업로드, 삭제, 수정, 조회
- 유틸리티: 대상 인식도 점수와 유사성 충돌 검사
참고
CRS는 SDK, WeChat 미니 프로그램, Web 등으로 통합할 수 있습니다. SDK 통합은 EasyAR Sense v2.0.0 이상만 지원합니다.
기대 결과
Cloud Recognition의 실제 동작을 이해하면 개발자가 프로젝트 목표를 적절히 설정할 수 있습니다. 일반적인 시나리오에서의 효과는 다음과 같습니다.
이상적인 결과
- 빠른 인식: 촬영부터 결과 반환까지 1초 미만의 지연(네트워크가 좋을 때)
- 높은 정확도: 대상 이미지가 선명하고 네트워크가 안정적인 경우 정확도는 98% 이상
- 대규모 대상 라이브러리 지원: 하나의 라이브러리로 최대 10만 장의 대상 이미지를 관리 가능
- 실시간 업데이트: 새 대상을 업로드하면 클라이언트가 업데이트 없이 인식 가능(네트워크만 필요)
좋지 않은 상황과 대응
| 현상 | 원인 | 사용자 체감 | 해결책 |
|---|---|---|---|
| 인식 지연이 높음 | 네트워크 상태 불량, 이미지 업로드 느림 | 결과가 나오기까지 몇 초 기다려야 함 | 앱에서 적절한 안내 표시 |
| 인식 실패 | 이미지가 흐림, 대상이 클라우드에 업로드되지 않음 | 가상 콘텐츠가 보이지 않음 | CRS 대상 라이브러리 상태를 확인하고 사용자가 장치를 안정적으로 유지하도록 안내 |
| 대상 충돌 | 라이브러리 내 유사 이미지가 너무 많음 | 잘못된 대상이 인식됨 | 대상 이미지의 차별성을 높이도록 최적화하거나 유사 이미지를 별도 라이브러리로 관리 |
기대 결과 검증 방법
- 개발 단계: EasyAR CRS 콘솔에 테스트 대상을 업로드하고, 먼저 HelloARCRS 예제로 인식 흐름을 검증하며 앱 로직에 익숙해진 뒤 자신의 앱에 통합합니다.
- 테스트 단계: 약한 네트워크, 대상 이미지의 동적 업데이트, 클라우드 라이브러리 크기 증가 등 다양한 조건에서 인식 성공률을 테스트합니다.
모범 사례
Cloud Recognition은 클라우드 계산으로 대상 라이브러리 용량과 동적 업데이트 능력을 확장하지만, 오프라인 능력과 실시간 추적을 포기합니다. 개발자는 대상 수, 업데이트 빈도, 네트워크 환경 등 프로젝트 요구에 따라 로컬 추적과 Cloud Recognition 중 하나를 선택해야 합니다. 소규모 정적 시나리오에는 로컬 추적, 대규모 동적 시나리오에는 Cloud Recognition이 적합합니다.
CRS 사용 시 다음과 같이 개발하는 것이 좋습니다.
- 테스트 단계: 기본 동시 처리 모드를 사용하고 소수의 대상을 업로드해 흐름을 검증
- 출시 전: 예상 동시 처리량을 평가하고 미리 기술 지원에 연락해 고동시 처리 모드로 업그레이드(1~2영업일 필요)
- 운영 단계: API로 라이브러리 상태를 주기적으로 모니터링하여 서비스의 안정성을 확보
중요
계절성 트래픽 급증 경고: 휴일, 대형 행사, 마케팅 기간에 앱이 일시적으로 동시 처리량 급증을 겪을 수 있다면, 인식 서비스 사용 제한을 피하기 위해 최소 3영업일 전까지 EasyAR 기술 지원에 연락해 서비스 업그레이드를 요청하세요.
또한 앱이 대규모 라이브러리와 함께 대상 이미지 추적도 필요하다면 Cloud Recognition과 평면 이미지 추적을 함께 사용할 수 있습니다. 자세한 내용은 평면 이미지 추적과 결합 섹션을 참고하세요.