Cloud 타겟 인식에 관련한 질문입니다.
1. SDK Version: 4.1.4
2. Development Environment: Unity-Android
3. Tracker/Scanner: Tracker
4. License Type : Pro-Subscription
저희가 클라우드에 대략 만개정도의 데이터를 올려둔 뒤 클라우드로 타겟 이미지를 인식하도록 개발을 진행중인데,
데이터를 몇개의 기준으로 분류한 뒤(Cloud Target Manager 내에서는 하나의 그룹에 모두 등록할 예정입니다.)
그거에 맞는 3D 오브젝트를 띄우는 형식으로 진행할 예정입니다.
local이 각각 내가 원하는 타깃에 원하는 오브젝트를 불러올 수 있는 것처럼,
cloud 타깃도 제가 원하는 제품에 대해 다른 오브젝트를 호출하려고 합니다.
타겟을 인식할 때 custom 데이터의 항목에 따라 다른 오브젝트를 호출하는 것이 가능한가요?
만약 가능하다면 어떻게 작업을 진행해야하는지 궁금합니다.
그리고 이 방식이 불가능하다면 데이터에 따라 오브젝트를 호출하는 다른 방식이 있다면 함께 알려주시길 부탁드립니다.
감사합니다.
안녕하세요.
유니티에서 클라우드 트래커를 사용하여 원하는 타겟에 원하는 오브젝트를 설정하는 방법은 다음과 같습니다.
CloudTrackable에 보시면 스크립트에 Object of Recognition 항목이 있습니다.
해당 항목이 Cloud로 되어있으면 클라우드에 등록된 모든 타겟을 추적하여 컨텐츠를 증강하겠다는 것이며,
증강되는 컨텐츠는 Trackable의 자식 객체로 등록해두시면 됩니다.
해당 항목이 User_Defined로 되어 있으면 Cloud에 등록한 타겟의 이미지네임을 입력해주시고
해당 타겟에 대해 트래킹을 하겠다는 것입니다.
위에서 Cloud를 선택한다는 것은 모든 타겟이미지에 대해서 하나의 오브젝트를 증강시키겠다. (N:1)
그리고 User_Defined를 선택한다는 것은 하나의 타겟이미지에 대해 하나의 오브젝트를 증강시키겠다. (1:1)
라는 것이 되는데요.
작성자님이 질문주신것은 이미지타겟을 그룹으로 묶어 하나의 그룹, 예를들어 10장의 이미지타겟에 대해서는
하나의 오브젝트를 증강시키시려는 것 같습니다.
단순하게 하려면 User_Defined에 10개의 이미지명을 입력하고 결과로 나올 하나의 오브젝트를 등록하여
10개의 Trackable을 만들 수도 있는데요. 하지만, 원 글에 10,000장의 데이터라고 하시니 이 방법은 힘들 것 같습니다.
그럼 조금 더 간편하게 하려면 Trackable에 컴포넌트로 등록된 CloudTrackerSample 스크립트를 열어줍니다.
그리고 Update함수에 보시면 if(cloudTrackablesMap.ContainsKey(trackable.GetCloudName()))라는 문장이 있습니다.
여기서 클라우드에 등록된 이미지타겟명이 포함된 객체에 대하여 OnTrackSuccess 함수에서
해당 객체를 show/hide 하는 것과 Transform을 바꿔줌으로써 최종적으로 컨텐츠가 증강되게 됩니다.
동일한 타겟그룹에 대해 한번에 추적이 가능하도록 네이밍을 하여 위의 GetCloudName() 부분을 해당 타겟그룹의
공통된 string에 대해 추적할 수 있도록 약간의 수정을 해주시면 여러장의 이미지에 대해
하나의 컨텐츠를 증강시키는 것이 가능합니다. 위와 같이 그룹핑하여 시도해 보시기 바랍니다.
감사합니다.
Leo
Maxst Support Team
안녕하세요 레오님, 추가 문의가 있어서 연락드립니다.
이 역시 클라우드 데이터 인식 관련한 부분인데요, 제가 위에 올린 2가지 이미지 중
현재 데이터는 빨간색 너구리만 등록이 되어있는데 노란색 너구리에도 지정한 오브젝트가 나타나는 현상을 겪고 있습니다.
제 예상에는 너구리라는 굵은색 글씨가 특징점으로 추출 된 것 같은데
혹시 이것과 관련하여 이미지 학습을 좀 더 추가적으로 시켜
특징점을 보다 꼼꼼히 추출하여 이 둘을 동일한 이미지 아닌 것으로 인식할 수 있도록 만드는 방법이 있을까요?
저희가 이러한 부분에 대해서는 빨리 답변이 필요한 상황이라서 혹시 유선 연락 혹은 메일을 주고받아도 괜찮을까요?
만일 괜찮으시다면 아래의 메일로 연락처 부탁드리겠습니다.
whatzin.kr@gmail.com
감사합니다.
현재로서는 매우 유사한 두 이미지의 특징점을 꼼꼼히 학습하여 구분하는 것은 불가능합니다.
MAXST SDK는 내부적으로 그레이스케일로 처리를 하고 있습니다.
사람의 눈으로 보았을 때는 확연히 달라보이는 이미지도 그레이 스케일로 변환하였을때 구분할 수 있는
많은 특징점이 있어야 두 개의 이미지를 구분할 수 있습니다.
그러나 올려주신 두 개의 이미지는 로고부터 전반적인 이미지가 매우 유사합니다.
이전에도 이와 비슷한 문제가 있었는데, 두 이미지 사이에 차이가 있는 몇 안되는 특징점으로
두 이미지를 구분하기는 불가능하다는 결론이 났고, 하나의 이미지에 대해 두 개의 결과가 번갈아서 매칭된다면
두 개의 결과 컨텐츠를 띄워주고, 사용자로 하여금 하나의 결과 컨텐츠를 선택할 수 있도록 UX로 풀어주셔야 합니다.
감사합니다.
Leo
Maxst Support Team
SDK 사용에 관한 질문은 포럼에서의 질의응답을 원칙으로 하고 있습니다.
최대한 빠른 답변을 드리도록 하겠습니다.
양해부탁드립니다. 감사합니다.
Leo
Maxst Support Team