Table of Contents

Image recognition difficulty rating

Image를 cloud recognition(CRS) image library에 정식으로 추가하기 전에 best practice는 사전에 quality evaluation을 수행하는 것입니다.

Target image의 recognizable area가 너무 적거나(예: white wall, solid color block), texture가 너무 단순하면 recognition success rate가 크게 낮아집니다. 이 장에서는 CRS rating mechanism을 자세히 설명하여 고품질 AR recognition material을 선별할 수 있도록 돕습니다.

Rating mechanism 및 score 의미

Score Evaluation Suggestion
0 - 1 Excellent Texture가 매우 풍부하고 recognition speed가 빠르며 tracking이 매우 안정적입니다.
2 Good 충분한 feature point를 갖추고 있어 정상적인 AR business를 수행할 수 있습니다.
3 Average Recognition rate가 lighting 또는 angle의 영향을 받을 수 있으므로 texture 최적화를 권장합니다.
4 Poor 인식이 매우 어렵습니다. Production environment의 recognition image로 권장하지 않습니다.
-1 Error Image format을 지원하지 않거나 file이 손상되었습니다.
중요

Actual testing principle: image library 내 target 총수가 적으면 rating score가 다소 높더라도 특정 environment에서는 여전히 사용할 수 있습니다. 실제 device test 효과를 기준으로 삼는 것이 좋습니다.

Core comprehensive metrics

주로 다음 두 comprehensive metrics에 주목합니다. 이 두 metric은 각각 별도의 API endpoint를 가지며 comprehensive rating을 제공합니다.

  • Comprehensive recognition difficulty level (detectableRate):

    • 가장 핵심적인 metric입니다. Cloud-side "image search by image"의 success rate를 결정합니다.
    • /grade/detection API endpoint가 제공하는 comprehensive rating
  • Comprehensive tracking difficulty level (trackableRate):

    • Unity/App 측에서 EasyAR Sense SDK를 사용해 local tracking을 수행하는 경우, 이 metric은 AR content overlay의 stability를 결정합니다.
    • /grade/tracking API endpoint가 제공하는 comprehensive rating

기타 detailed metrics

  • detectableDistinctiveness
  • detectableFeatureCount
  • trackableDistinctiveness
  • trackableFeatureCount
  • trackableFeatureDistribution
  • trackablePatchContrast
  • trackablePatchAmbiguity

이 metrics는 image algorithm 차원에서 rating하며, 각 metric은 난이도에 따라 여전히 0부터 4까지 제공됩니다.

Rating results를 보는 방법

Database의 각 target image 상세 정보에는 target image의 detailed rating이 있습니다. API를 통해 target image properties를 가져와 확인할 수 있으며, EasyAR cloud recognition management를 통해서도 확인할 수 있습니다.

EasyAR Web을 통해 보기

  • EasyAR Web에 login하여 Developer Center에 들어갑니다
  • Cloud recognition management
  • 개통된 image library를 선택합니다
  • Manage를 클릭하여 image library management에 들어갑니다
  • target image를 선택합니다
  • Manage를 클릭하여 target image의 detail을 확인합니다.

그림과 같이 detail page에는 두 개의 core comprehensive metrics가 있으며, pentagon은 다섯 개의 detailed metrics를 표시합니다.

  • Recognizability: original recognition difficulty comprehensive score(detectableRate)를 recognizability five-star level로 대응합니다. Original difficulty score가 작을수록 별이 많고 더 쉽게 인식됩니다
  • Trackability: original tracking difficulty comprehensive score(trackableRate)를 trackability five-star level로 대응합니다. Original difficulty score가 작을수록 별이 많고 더 쉽게 인식됩니다

detail

API로 rating results 얻기 - target image list endpoint

Target image list endpoint 또는 detail 조회를 통해 각 target image의 detectableRate를 포함한 모든 detailed algorithm metrics(예: texture distribution, feature point count 등)를 얻을 수 있습니다.

Best practice: API pre-rating

Automated upload backend를 구축할 때 정식 upload 전에 rating endpoint를 호출하는 것이 좋습니다.

Reference document: Image recognition difficulty rating API endpoint

Rating endpoint categories

  1. Recognition rating (/grade/detection): recognition difficulty만 반환합니다. (가장 자주 사용)
  2. Tracking rating (/grade/tracking): tracking difficulty만 반환합니다.
  3. Detailed rating (/grade/detail): 전문 algorithm 담당자가 참고할 수 있도록 multi-dimensional metrics를 반환합니다.

Call preparation

  • Preparation checklist는 다음과 같습니다. 준비 방법은 Call preparation checklist를 참조하십시오

    • CRS AppId
    • Authentication credential: API Key / API Secret 또는 Token
    • Server-end URL: target image management URL address, HTTPS는 443 port 사용
    • Test image: JPEG/PNG format, size는 2 MB를 초과할 수 없음
  • 먼저 로컬 target 이미지를 Base64(macOS / Linux)로 변환하고 결과를 image_base64.txt에 저장합니다
base64 -i ./target.jpg | tr -d '\n' > image_base64.txt
  • 플레이스홀더를 실제 매개변수로 바꾸고 curl 스크립트를 실행하십시오
    • Your-Server-side-URL → 실제 API Host
    • Your-Token → 실제 API Key Authorization Token
    • Your-CRS-AppId → 사용자의 appId
curl -X POST "https://<Your-Server-side-URL>/grade/detail" \
  -H "Content-Type: application/json" \
  -H "Authorization: <YOUR-TOKEN>" \
  -d '{
    "appId": "<Your-CRS-AppId>",
    "image": "'"$(cat image_base64.txt)"'"
  }'

관련 항목:

다음 항목: