대가는 결과를 만든다

Vuforia AR Engine 리서치 본문

개발/AR

Vuforia AR Engine 리서치

yunzema 2018. 7. 12. 12:09
반응형

Vuforia Engine Feature

공홈 Feature Docs : https://library.vuforia.com/content/vuforia-library/en/features/overview.html



- 퀄컴사의 AR 소프트웨어 플랫폼, AR 개발 SDK를 제공함.



- 지원환경 Xcode(ios), Android Studio(C++), Unity, Visual Studio(.NET)



- Target의 종류


1) Image Targets : 특정 단면 이미지 인식


2) Multi Target : 여러 Image Target을 인식 가능 (예: 규칙적인 지형의 모양, 평평한 표면에 임의의 배열)

3) Cylinder Targets : 이미지로 감싸져 있는 원통 모양의 물체 인식 (예: 캔, 병)


4) Object Targets : 물체의 스캔으로 만들어진 타겟, 디테일한 표면과 뚜렷한 모양일 경우 유리


5) Model Targets : 이미 존재하는 3D 모델을 인식


6) VuMarks : 데이터가 인코딩된 커스터마이징한 마커를 인식


7) Extrernal Camera : 디바이스 외부 카메라의 비디오 데이터에 접근하여 AR 구현


8) Ground Plane : 수평인 평면을 인식하여 컨텐츠 구현, ARKit 및 ARCore와 같은 기본 OS 인에이블러(enabler)를 이용하여 Android, iOS 및 UWP                   기기를 지원


-Target Database

1) Device : 기기안에 (이미지, 모델링) 데이터 담아두고 데이터 읽음.

-인식 횟수 무제한.

-용량 증가, 새로운 Target 오브젝트 추가할 때마다 새로 빌드 해야함.

 

    2) Cloud : 개발자 페이지에서 Set 데이터를 Vuforia서버와 연결하여 데이터 읽음.

- 용량 가벼움.

-신규 Target 서버에 추가할 있으니 데이터 유동적.

-인식 횟수 제한( 트래픽 추가 비용 지불 ).



- Cloud Recognition Service : 인식하는 이미지 셋을 디바이스 로컬이 아닌 클라우드에 구성하여 사용 가능

   Vuforia WebServices API : CMS와 인식할 이미지 DB 매니징을 할 수 있도록 API 제공


   참고 Docs : https://library.vuforia.com/content/vuforia-library/en/articles/Training/Cloud-Recognition-Guide.html

       https://library.vuforia.com/content/vuforia-library/en/articles/Training/Using-the-VWS-API.html



-Target종류 중에 VuMarks

   


1) 바코드/QR코드같은 고유 이미지 코드 마커인데, 커스터마이징/브랜드를 고려한 디자인이 가능

      2) 참고 : https://library.vuforia.com/articles/Training/VuMark

3) Adobe Illustrator에서 VuMark Designer Tool 이용하여 제작 가능 VuMark Design Guide

4) 다섯가지 디자인 요소가 있음, Using the VuMark Generation API API사용하여 생성도 가능



Attribute

Role

Contour

The Contour is what the Vuforia computer vision algorithm first detects. After finding the contour, the algorithm looks for the code and “reads” it to identify the value or “ID” that is encoded within the VuMark.

 

The Contour is not explicitly drawn or visible in a VuMark design. Rather, the Contour is the line that appears where two other parts of the VuMark meet – the Border and the Clear Space. Essentially the Contour is defined by the contrast between the two different colors of the Border and Clear Space.

Border

The Border is typically the most identifiable and defining shape within the VuMark. In FIGURE 2, the Border is the outermost shape made of six straight lines forming a hexagon.

Clear Space

The Clear Space is the mandatory blank area that appears adjacent to the border along its entire length. The Clear Space can be either inside or outside of the border and is required in order to guarantee there is enough contrast for the algorithm to detect the Contour.

Code Elements

Every individual VuMark contains a unique Code, which is a visual representation of the ID encoded in the VuMark.

 

The Code consists of Elements and the type of data and length of the value/ID that is encoded determine the number of Elements. The larger the value length, the larger number of elements that are required.

 

Every Element has 2 states: a “Dark” and “Bright” state. A unique code is generated by setting some of the elements in the Dark vs. Bright state (roughly 50% of Elements in each state).

Background

The Background or Design Area is a layer where you can put any parts of the VuMark that are not used for detection. There is a lot of freedom in designing and placing the Background. We recommend to add graphically rich background if you plan to use VuMark for tracking as well.



-라이센스


1) 무료 Development Key ( 개발 전용 )

Reco Usage: 1,000 per month

Cloud Targets: 1,000

VuMark Templates: 1 active

VuMarks: 100


2) 유료 라이센스






==============================================================================================================



**Unity에서 이미지 타겟을 이용한 간단한 구현 예제

참고 : http://dark0946.tistory.com/294?category=541645


**Build Setting에서 Unity XR settings에서 Vuforia support 별도 설정 해야하고, Companyname과 Productname 설정 해주어야함.


**Ctrl+Shtf+V 로 Vuforia Configuration 으로 설정창 이동 가능

-> App License Key에 Key 복붙 (License키는 Vuforia 홈페이지에서 발급 받음)


**Vuforia 이미지 타겟 샘플 구조

ARCamera

-> Vuforia TargetManager 페이지에서 Databaes에 Image Target 추가 및 Activate

-> ImageTarget Database를 Package로 다운받아 Unity에 Import

-> Vuforia Configuration을 보면, Database에 추가된 것을 확인할 수 있음


ImageTarget

-> Database에 등록된 이미지 타겟을 선택가능 

-> 하위에 캐릭터 Prefab 혹은 Video 오브젝트를 추가하여 인식한 경우 띄울 컨텐츠를 정함.


**Android Build 시 Build Setting에서 AndroidTV는 해제해주어야 빌드 오류가 나지않음.



==============================================================================================================




Vuforia Fusion

공홈 Docs : https://library.vuforia.com/content/vuforia-library/en/articles/Training/vuforia-fusion-article.html


-Vuforia 7에서 소개된 기능으로 넓은 범위의 디바이스에서 높은 AR경험을 제공하도록 위해 설계됨.

-카메라, 센서, 칩셋 및 소프트웨어 프레임워크 (ARKit, ARCore)을 비롯한 AR지원 기술의 단편화 문제 해결하고자 함.


==> 기본 장치의 기능을 감지하여 Vuforia Engine과 통합하여 Vuforia Engine API에만 의존하여 개발할 수 있도록 함.



-Vuforia Engie 기능 중 다음 기능에서 사용됨.

1) Device Tracker - 6DoF Device Pose

2) Ground Plane - 타겟 종류 중 수평 평면을 인식하는 기능

3) Extended Tracking - 모든 Vuforia Target의 확장된 추적기능 가능하게 함.



- 동작 방식

Vuforia Engine의 종속 기능에 대해 장치에서 가능한 기능부터 하향식으로 작동 시도함.

ARKit, ARCor : iOS, Android의 AR 지원

VIO (Visual-InertialOdometry) : Ground Plane때 Vuforia Engine은 VIO시스템이 카메라와 지면 사이 거리 추정



- 참고 : Fusion API가 있어 퓨전 공급자의 우선순위 변경하는 등의 조작이 가능하다고 함.




Comments