회전 벡터 CV 크로스체크

테스트 패턴 썸네일

그림 1. 테스트 패턴 썸네일. 위에 링크가 걸린 전체 해상도 이미지를 다운로드하세요.

이 페이지에서는 회전 벡터 센서 구현의 호환성을 올바로 테스트하기 위한 단계를 안내합니다. 테스트는 기기에서 TYPE_ROTATION_VECTOR 복합 센서 기능을 선언할 때 실행해야 합니다.

테스트

  1. 테스트 대상 Android 기기에 OpenCV Manager를 설치합니다.
  2. SourceForge.net에서 OpenCV-3.0.0-android-sdk.zip 패키지를 다운로드합니다.
  3. 다운로드한 파일 내 apk 폴더에서 APK를 찾습니다. adb install 명령어와 --bypass-low-target-sdk-block 옵션을 사용해 컴퓨터에서 기기로 APK를 로드합니다. Android 13 이하를 실행하는 기기에서는 이 --bypass-low-target-sdk-block 옵션이 필요하지 않습니다. 앱 설치하기에서 자세한 내용을 확인하세요.
  4. Google Play에 로그인한 활성 계정이 있다면 Google Play에서 OpenCV Manager를 찾은 다음 컨텍스트 메뉴('...' 버튼을 눌러 표시되는 팝업 메뉴)에서 자동 업데이트를 중지합니다.

    OpenCV Manager 자동 업데이트 중지

    그림 2. Google Play에서 자동 업데이트 중지.

  5. 링크로 연결된 테스트 패턴을 인쇄합니다. 인쇄할 때 배율 옵션은 사용하지 않습니다. 패턴은 가로로 된 미국 레터 용지에 맞거나 그보다 더 큰 용지에 맞아야 합니다.

    참고: 위의 인라인 사진은 해상도가 낮으며 참고용입니다. 이 사진을 패턴으로 직접 인쇄해서는 안 됩니다.

  6. 패턴을 평평한 수평면에 놓습니다.
  7. CTS 인증 도구 앱에서 Rotation Vector CV Crosscheck를 시작합니다. 아래와 같이 변경되지 않았다면 가이드에 따라 비행기 모드를 사용 설정하고 자동 회전을 사용 중지하고 밝기 자동 조절과 위치를 조정합니다.
    테스트 시작

    그림 3. 테스트 시작.

  8. 동영상 미리보기가 표시되면 패턴 1미터 위에서 기본 카메라로 패턴을 비춰 화면의 노란색 마커와 패턴의 노란색 마커가 같은 모서리에 정렬되도록 합니다.
    테스트 패턴 배치

    그림 4. 테스트 패턴 배치.

  9. 패턴이 카메라 뷰에 완전히 들어온 상태에서 Android DUT(테스트 대상 기기)를 패턴 주위로 회전시킵니다. 이때 회전 범위 표시기에 표시되는 메시지에 따라 세 가지 방향으로 하나씩 진행합니다(아래 그림과 같이 1번, 2번 후 3번 실행). 안정적으로 부드럽게 움직여야 최상의 결과를 얻을 수 있습니다.
    기기 움직이기

    그림 5. 테스트 대상 기기 조작.

  10. 캡처가 끝나면 카메라 미리보기가 사라지고 분석 프로세스가 시작됩니다. 분석이 끝날 때까지 인내심을 갖고 기다립니다. 일반적으로 스마트폰 성능에 따라 1~5분 정도 소요됩니다. 분석이 완료되면 스마트폰에서 소리가 나고 진동이 울립니다. 분석에 성공하면 수치로 된 결과가 화면에 표시됩니다.
    테스트 완료

    그림 6. 테스트 완료.

  11. Next를 클릭하여 성공/실패 화면으로 이동하고 결과를 검토합니다.
    테스트 성공

    그림 7. 테스트 성공.

  12. 최상의 결과를 얻으려면 다음 도움말을 따릅니다.
    1. 이 테스트는 복잡한 수동 테스트이므로 최상의 결과를 얻으려면 몇 번 반복하는 것이 좋습니다.
    2. 좋은 결과를 얻기 위해 테스트 전에 가속도계, 자이로스코프, 자기계를 보정해야 합니다.

문제 해결

  1. 증상: 테스트 사례를 시작할 때 또는 동영상 녹화가 끝난 직후에 테스트가 비정상적으로 종료되었습니다.
    원인: OpenCV Manager와의 호환성 문제일 수 있습니다. 확인하려면 logcat을 살펴보세요. 확인되면 설치된 OpenCV Manager의 버전과 아키텍처를 확인합니다.
  2. 증상: 'Too many invalid frame' 오류로 인해 테스트가 자주 실패합니다.
    원인: 동영상 품질 문제일 수 있습니다. 다음 조건을 확인합니다.
    1. 테스트할 때의 주변 조명이 충분히 밝은지 확인합니다. 일반적으로 자연광이 가장 좋은 결과를 냅니다. 하지만, 자연광을 이용할 수 없는 경우 그림자가 뚜렷이 생기지 않는 빛을 여러 각도에서 풍부하게 사용해도 됩니다. 빛 반사를 줄이기 위해 낮은 각도의 조명을 피합니다.
    2. 동영상을 찍을 때 모션이 부드러워야 합니다. 움직임이 일정하지 않으면 블러가 생기고 컴퓨터 비전 소프트웨어에 혼란을 주게 됩니다.
    3. 패턴은 항상 가운데를 중심으로 동영상 미리보기 프레임 안에 완전히 포함되도록 놓아야 합니다. 패턴은 동영상 미리보기 창의 1/4~1/2 크기여야 합니다. 패턴이 너무 작으면 정확도가 떨어집니다. 패턴이 너무 크면 렌즈 왜곡이 더 두드러지고 패턴을 동영상 녹화 프레임 안에 항상 유지하기가 더 어렵습니다.
    4. 카메라 초점을 잘 맞출 수 있어야 합니다. 일부 기기의 경우 동영상 녹화 중에 초점을 맞추는 데 문제가 발생합니다. 이는 대개 단색의 매끄러운 바닥 표면과 같이 장면에 변화가 너무 없기 때문입니다. 표면에 질감이 드러나는 곳으로 테스트 패턴을 옮기거나 테스트 패턴 주위에 물체를 가져다 놓으면 대개 도움이 됩니다.
    5. 이미지 떨림 보정이 꺼져 있는지 확인합니다.
  3. 증상: 피치(pitch) 및 롤(roll) 테스트는 정상적으로 이루어지지만 요(yaw) 테스트는 자주 실패합니다.
    원인: 먼저 자기장 센서가 잘 보정되었는지 확인합니다. 자기장 센서가 보정되지 않으면 회전 벡터가 제대로 작동하지 않습니다.
    동영상 촬영으로 인해 요(yaw) 축에 문제가 발생할 수도 있습니다. 기기를 단단히 잡고 테스트의 요(yaw) 섹션에 맞게 테스트 패턴 주위를 걷거나 움직입니다. 손에 기기를 들고 돌리면서 동영상 품질을 계속 유지하기는 쉽지 않습니다.

의견 보내기

위 단계를 진행해도 문제가 해결되지 않는 경우 아래의 단계에 따라 문제를 신고합니다.

버그를 신고할 경우 다음 정보를 수집합니다.

  1. Android 버그 신고
  2. 화면에 오류 메시지가 있는 경우 스크린샷
  3. /sdcard/RVCVRecData/의 콘텐츠. 이 폴더에는 동영상 파일이 있으므로 이미 테스트를 여러 번 진행한 경우 폴더 크기가 상당히 클 수 있습니다. 폴더를 지우고 테스트를 다시 진행하면 크기가 줄어듭니다. 내부 동영상 파일을 조사하여 녹화 시 명확한 문제가 있었는지 찾습니다.
  4. OpenCV Manager 앱의 스크린샷