본 연구에서는 모바일 환경에서 사용자가 원하는 마커 위에 2D 이미지, 3D 모델, 동영상과 같은 가상객체를 증강시키고 인터랙션 이벤트를 연결시켜 주는 모바일 증강현실콘텐츠 빌더(MARB ; Moblie AR contents Builder, 이하 MARB)를 개발하였다. MARB은 사용자가 원하는 마커 위에 다양한 가상객체를 증강시켜주며, 마커에 따른 여러 인터랙션 이벤트를 선택적으로 제공한다. 또한 모바일 환경에서 간편하게 구동하기 위해 모바일 콘텐츠 형태로 개발되었으며, 모바일기기에 설치하면 간단한 GUI(Graphical User Interface)를 이용한 저작이 가능하다. MARB은 기존 개발자뿐만 아니라 일반 사용자가 모바일 콘텐츠를 자유롭게 저작할 수 있도록 하여 다양한 모바일 증강현실 콘텐츠를 원하는 사용자들에 의해 다방면적으로 활용될 것으로 기대되며, 모바일 증강현실 시장 확장에 걸림돌이 되고 있는 모바일 증강현실 콘텐츠 개발의 어려움을 극복하는데 기여할 것으로 예상된다.
본 연구에서는 모바일 환경에서 사용자가 원하는 마커 위에 2D 이미지, 3D 모델, 동영상과 같은 가상객체를 증강시키고 인터랙션 이벤트를 연결시켜 주는 모바일 증강현실 콘텐츠 빌더(MARB ; Moblie AR contents Builder, 이하 MARB)를 개발하였다. MARB은 사용자가 원하는 마커 위에 다양한 가상객체를 증강시켜주며, 마커에 따른 여러 인터랙션 이벤트를 선택적으로 제공한다. 또한 모바일 환경에서 간편하게 구동하기 위해 모바일 콘텐츠 형태로 개발되었으며, 모바일기기에 설치하면 간단한 GUI(Graphical User Interface)를 이용한 저작이 가능하다. MARB은 기존 개발자뿐만 아니라 일반 사용자가 모바일 콘텐츠를 자유롭게 저작할 수 있도록 하여 다양한 모바일 증강현실 콘텐츠를 원하는 사용자들에 의해 다방면적으로 활용될 것으로 기대되며, 모바일 증강현실 시장 확장에 걸림돌이 되고 있는 모바일 증강현실 콘텐츠 개발의 어려움을 극복하는데 기여할 것으로 예상된다.
This study has developed a mobile AR contents Builder (MARB) featuring the augmentation of virtual objects, e. g. 2D images, 3D models and videos on user-preferred markers in mobile environment and with connected interaction events. The developed MARB is capable of augmenting multiple virtual object...
This study has developed a mobile AR contents Builder (MARB) featuring the augmentation of virtual objects, e. g. 2D images, 3D models and videos on user-preferred markers in mobile environment and with connected interaction events. The developed MARB is capable of augmenting multiple virtual objects on markers preferred by users, and selectively supporting many marker-specific interaction events. The MARB is also developed as a mobile App for convenience of use in the mobile environment. This makes users to implement AR contents by a GUI-based authoring procedure on the mobile device. The developed MARB allows App developers and general users to author mobile contents easily and can be applied to various field by those who wish to use diverse mobile AR contents. Moreover, the MARB will provide solutions for the expansion of mobile AR market, by overcoming the difficulties of mobile AR content development.
This study has developed a mobile AR contents Builder (MARB) featuring the augmentation of virtual objects, e. g. 2D images, 3D models and videos on user-preferred markers in mobile environment and with connected interaction events. The developed MARB is capable of augmenting multiple virtual objects on markers preferred by users, and selectively supporting many marker-specific interaction events. The MARB is also developed as a mobile App for convenience of use in the mobile environment. This makes users to implement AR contents by a GUI-based authoring procedure on the mobile device. The developed MARB allows App developers and general users to author mobile contents easily and can be applied to various field by those who wish to use diverse mobile AR contents. Moreover, the MARB will provide solutions for the expansion of mobile AR market, by overcoming the difficulties of mobile AR content development.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
모바일 증강현실 콘텐츠는 크게 증강된 목적별로 마커 기반과 위치정보 기반으로 나뉜다. 마커 기반은 QR코드나 단순화된 흑백의 사각마커, 자연객체 등을 타겟으로 그 위에 가상객체나 영상 등을 증강시키는데 목적을 두며, 위치정보 기반은 gps, compass등과 같은 위치센서 정보를 사용하여 특정 목적지의 방향을 표시하는데 그 목적을 둔다.
본 논문에서는 사용자 환경과 개발환경의 개선에도 불구하고 증강현실 기술 구현이 일반 사용자뿐만 아니라 기존 개발자들에게도 어렵다는 문제점을 발견하고 이를 해결하기 위해 누구나 쉽고 간편하고 사용할 수 있는 모바일 증강현실 콘텐츠 저작도구인 MARB의 설계 및 구현 내용을 소개하였다.
제안 방법
Google Play와 APP Store에서 증강현실이란 키워드를 사용하여 모바일 증강현실 콘텐츠를 수집하고 분석하였다.
Tap, Double Tap, Two Finger Tap, Shake, Input Sound 인터랙션은 소리 재생, 가상객체 변환, 객체 사라짐, 객체 확대, 객체 축소 총 5개의 이벤트 중 하나를 선택할 수 있다. Pinch, Spread, Pan 인터랙션의 경우 Pinch는 축소, Spread는 확대, Pan은 이동 및 회전에 사용하는 것이 관례이기 때문에 사용자가 인터랙션 이벤트를 설정하고 사용함에 있어 관습적 혼동이 오지 않도록 Pinch는 축소 이벤트, Spread는 확대 이벤트, Pan은 이동, 회전 이벤트만 선택할 수 있도록 기능설계 하였다.
미리 저장한 데이터베이스 정보들은 증강현실 콘텐츠 가시화에서 렌더링 과정을 통해 마커와 가상객체를 연결할 때 사용되며, 사용자 정의 인터랙션 이벤트를 구현할 때 또한 사용된다. 가상객체 구현을 위하여 증강현실 정보 테이블의 2D 이미지 가상객체와 동영상의 썸네일 이미지는 Texture 클래스의 loadTextureBitMap() 함수를 이용하여 Texture로 변환된 후 mTextures라는 벡터 텍스쳐 배열에 저장한다. 비디오의 경우, VideoPlayerHelper라는 비디오 불러오기와 재생에 결정적인 역할을 하는 클래스를 이용하여 해당 동영상 정보를 설정하고 생성한다.
가상객체들의 고유키(object id), 가상객체의 타입(object type; 1 - 비디오, 2 – 2D 이미지, 3– 3D 모델), 가상객체의 이름(object file name) 총 3개의 컬럼으로 구성된다.
가상객체 등록관리는 2D 이미지를 등록하고 삭제하는 클래스, 3D 모델을 등록, 삭제하는 클래스, 동영상을 등록, 삭제하는 클래스로 나뉜다. 각각의 클래스들은 메뉴 깊이를 고려하여 등록, 삭제가 한 페이지 내에서 이루어지도록 설계하였다. 등록된 가상객체 정보는 가상객체 고유키와 2D 이미지, 3D 모델, 동영상을 구분 할 수 있는 가상객체 타입과 가상객체의 이름, 파일 경로 등의 정보를 가상객체 테이블에 저장한다.
개발자뿐만 아니라 증강현실 콘텐츠 사용자들도 쉽게 콘텐츠를 유지보수 할 수 있는 모바일 증강현실 저작도구를 개발하되 일반 사용자들이 필요로 하는 가상객체들을 등록할 수 있도록 가상객체 선택의 폭을 넓히고, 각각의 마커마다 서로 다른 인터랙션 이벤트를 설정할 수 있게 하여 개별적이고 다양한 인터랙션 제공하며, 센서 인터랙션과 같은 센서의 새로운 사용 방향성 제시하고, 단순화된 마커가 아닌 복잡한 이미지와 사진들을 마커로 사용하며, 외부 데이터베이스를 구성하여 해당 정보를 저장하고 언제든 불러올 수 있도록하는 MARB의 세부 기능을 설계하였다. 또한 외부 데이터베이스뿐만 아니라 마커 적합성 평가와 마커 공유를 위한 클라우드 데이터베이스를 사용할 수 있도록 하였다.
마커 등록은 기존 단순한 색이나 형태를 가진 물체를 마커로 채택하는 것이 아니라 사진촬영이나 모바일 갤러리에 존재하는 복잡한 색과 형태를 가진 자연객체를 마커로 선택할 수 있게 하며, 클라우드 데이터베이스에 해당 마커를 등록하고 마커에 대한 마커 사용 적합성을 별점으로 명시하도록 하였다. 또한 MARB을 사용하여 등록된 다양한 마커 정보가 클라우드 데이터베이스를 통해 여러 모바일 기기에 공유되어 사용할 수 있도록 시스템을 설계하였다. 마커 삭제는 사용자가 삭제하고자하는 마커 정보를 마커 테이블과 클라우드 데이터베이스 내에서 삭제하도록 설계 되었다.
이렇게 관리되는 사용자 지정 정보들은 증강현실 보기에서 본격적인 증강현실 콘텐츠 가시화를 위한 데이터로 사용되며, 구현된 MARB에서 설정한 정보에 따라 해당 마커 위에 사용자가 지정한 가상객체와 인터랙션 이벤트들이 작동된다. 또한 구현 과정에서 증강현실 콘텐츠 가시화를 담당하는 클래스들을 모아 ShowAR 패키지로 구성하고 해당 패키지를 일반 사용자에게 제공함으로써 별다른 구현학습 없이도 증강현실 뷰어가 포함된 모바일 증강현실 콘텐츠를 쉽게 제작할 수 있도록 하였다.
개발자뿐만 아니라 증강현실 콘텐츠 사용자들도 쉽게 콘텐츠를 유지보수 할 수 있는 모바일 증강현실 저작도구를 개발하되 일반 사용자들이 필요로 하는 가상객체들을 등록할 수 있도록 가상객체 선택의 폭을 넓히고, 각각의 마커마다 서로 다른 인터랙션 이벤트를 설정할 수 있게 하여 개별적이고 다양한 인터랙션 제공하며, 센서 인터랙션과 같은 센서의 새로운 사용 방향성 제시하고, 단순화된 마커가 아닌 복잡한 이미지와 사진들을 마커로 사용하며, 외부 데이터베이스를 구성하여 해당 정보를 저장하고 언제든 불러올 수 있도록하는 MARB의 세부 기능을 설계하였다. 또한 외부 데이터베이스뿐만 아니라 마커 적합성 평가와 마커 공유를 위한 클라우드 데이터베이스를 사용할 수 있도록 하였다.
이러한 모바일 저작도구는 Objective-C나 JAVA와 같은 전문적인 모바일 프로그래밍 언어를 배울 필요 없이 저작도구를 통한 손쉬운 모바일 콘텐츠 개발이 가능했다. 또한 직접 데이터베이스를 구축하여 모바일 콘텐츠를 유지보수 할 필요 없이 특정 사이트에 계정을 만들면 모바일 콘텐츠와 클라우드가 자동적으로 연결되고 데이터베이스 유지보수 역시 사이트 내에서 자발적으로 진행하였다. 그러나 사용자들이 간단하게 사용할 수 있는 저작도구들은 대부분 단순한 모바일 화면 구성이나 일상생활 혹은 비지니스에 필요한 메뉴를 템플릿처럼 제공하여 해당 모바일 콘텐츠를 제작하는 경우였다.
또한 MARB을 사용하여 등록된 다양한 마커 정보가 클라우드 데이터베이스를 통해 여러 모바일 기기에 공유되어 사용할 수 있도록 시스템을 설계하였다. 마커 삭제는 사용자가 삭제하고자하는 마커 정보를 마커 테이블과 클라우드 데이터베이스 내에서 삭제하도록 설계 되었다. 마커 테이블은 사용자가 선택한 마커의 정보를 저장하는 데이터베이스 테이블로, 각 마커에 대한 고유키와 마커 이름, 클라우드 데이터베이스에 마커를 등록하고 삭제하기 위해 필요한 다양한 정보들이 저장된다.
GL_TEXTURE_EXTERNAL_OES를 사용한다. 마커 위에 증강된 가상객체들은 증강현실 정보 레코드에 저장된 인터랙션 이벤트 정보에 따라 onTouchEvent()함수와 onSensorChanged()함수에 구현된 절차에 따라 해당 인터랙션 이벤트와 센서 이벤트를 구현하였다. 그림 15는 증강현실 콘텐츠 가시화의 한 사례를 보여주고 있다.
가상객체 정보 등록에서는 사전에 등록한 마커와 가상객체를 선택할 수 있으며 가상객체에 대한 인터랙션 이벤트를 지정할 수 있다. 인터랙션 이벤트는 모든 마커가 동일한 이벤트를 제공하는 것이 아니라 각각의 마커마다 서로 다른 이벤트를 지정할 수 있도록 설계하였으며, 하나의 마커에서도 서로 다른 인터랙션을 통해 여러 가지 이벤트를 설정할 수 있도록 기능 설계 하였다.
저작을 목적으로 하진 않았지만 저작기능이 포함된 모바일 증강현실 콘텐츠에 대한 분석 또한 진행하였다. 표 1은 저작기능이 포함된 모바일 증강현실 콘텐츠의 아이콘과 이름, 해당 콘텐츠에 대한 간략한 내용 요약을 나타내고 있다.
MARB id은 증강현실 정보 들의 고유키이며, marker id와 object id는 각각 마커와 가상객체 테이블의 고유키 컬럼과 동일한 컬럼 이름 및 타입을 갖는다. 증강현실 정보 테이블은 marker id, object id를 이용 하여 마커 테이블과 가상객체 테이블 정보를 참조한다. 나머지 컬럼들은 인터랙션 이벤트에 대한 정보 컬럼이다.
렌더링 클래스에서는 서로 다른 타입의 가상객체들을 그려주기 위하여 타입에 따른 각기 다른 렌더링 방법이 구현되어야 한다. 증강현실 콘텐츠 가시화는 패키지 형식으로 사용자에게 제공되도록 설계하였다. 모바일 증강현실 콘텐츠 제작을 원하는 사용자가 해당 패키지를 자신의 모바일 콘텐츠에 이식하면 사용자는 별다른 구현 없이 손쉽게 증강현실 뷰어를 포함한 모바일 증강현실 콘텐츠를 개발 할 수 있다.
그림 14는 앞에서 저장한 증강현실 정보 및 데이터베이스 정보들이 증강현실 콘텐츠 가시화 페이지에서 보여지기 위하여 어떤 절차로 데이터를 읽어 들이고 있는지 보여 주고 있다. 첫 번째 단계에서 증강현실 정보 테이블에서 등록완료된 증강현실 정보를 읽어들이고, 로컬에 등록된 마커 중 Vuforia 클라우드 데이터베이스에 등록완료된 마커를 찾아 현재 입력되고 있는 카메라 영상에서 해당 마커가 존재하고 있는지 검색한다. 등록 마커가 인식되면 증강 현실 정보 테이블에 저장된 가상 객체를 해당 마커 위에 렌더링 해주고, 저장된 등록 이벤트가 동작할 수 있도록 이벤트 플래그들을 조정한다.
ARViewer 클래스는 initApplicationAR()함수로 화면을 초기화 한 뒤 doStartTrackers() 함수로 마커를 추적한다. 추적된 정보들은 TrackerManager를 통해 ImageTracker로 생성되며, 생성된 ImageTracker의 TargetFinder 정보를 가지고 startRecognition() 함수를 통해 현재 클라우드 데이터베이스에 등록된 정보들과 추적한 마커를 비교한다. 분석된 마커가 증강현실 정보 레코드에 존재하는 마커라면 ARRenderer 클래스에서는 해당 마커에 맞는 가상객체를 마커 위에 증강시킨다.
표 2는 설계된 인터랙션 종류의 인터랙션 방법을 나타낸 표로, Tap, Double Tap, Two Finger Tap, Pinch, Spread, Pan과 같은 스크린 터치 인터랙션 방법 이외에도 가속도센서를 사용한 Shake 인터랙션과 사운드 인지를 이용한 Input Sound 인터랙션을 설계하여 위치정보 표시에 한정적으로 사용됐던 기존의 모바일 증강현실 콘텐츠 센서의 활용에서 벗어나 센서의 새로운 사용 방향성을 제시하였다.
대상 데이터
데이터베이스는 마커 테이블, 가상객체 테이블, 증강현실 정보 테이블 총 세 개의 메인 테이블을 갖는다.
이론/모형
증강현실 보기는 그림 13에서와 같이 ARViewer와 ARRenderer 클래스에 의하여 구현되었다. 증강현실 가시화에서는 Qualcomm사의 Vuforia 클라우드 데이터베이스에 등록된 마커를 인식하는 비마커 인식기반의 클래스 및 함수들을 이용한다.
성능/효과
가상객체 등록관리는 3D 모델뿐만 아니라 모바일 증강현실 콘텐츠에 증강된 가상객체의 목적별 분류에서 마커 기반을 이용한 증강현실 콘텐츠가 제공하고 있는 2D 이미지, 3D 모델, 동영상을 모두 사용할 수 있도록 하여 가상객체 선택의 폭을 넓혔다.
인터랙션 이벤트는 마커마다 개별적인 인터랙션 이벤트를 제공하는 것이 아니라 모든 마커에 동일한 인터랙션 이벤트를 제공했으며, 저장기능을 제공하고 있지 않아 해당 콘텐츠를 종료 시키면 사용자가 저장한 증강현실 정보가 삭제된다는 문제점을 갖고 있었다. 마지막으로 수집한 증강현실 콘텐츠에서 이용하고 있는 센서들은 대부분 위치정보 표시를 목적으로 한 GPS, Compass로 그 사용이 편중되어 있었다.
그림 1은 수집한 모바일 증강현실 콘텐츠를 증강된 목적별로 분류해 퍼센트로 나타낸 도표로, 수집된 모바일 증강현실 콘텐츠의 약 72%가 위치정보 기반의 목적을 가진 모바일 증강현실 콘텐츠, 나머지 28%는 마커 기반의 모바일 증강현실 콘텐츠로 조사되었다. 마커 기반의 모바일 증강현실 콘텐츠 중 3D 모델 증강이 가장 많았으며 2D 이미지가 5%, 동영상이 3%로 그 뒤를 이었다.
Accelerometer는 매우 소수였지만 물체를 선택할 때 사용되었다. 모바일 증강현실 콘텐츠 속 센서는 다양한 방법으로 사용되지 못하고 대부분 GPS와 Compass를 이용한 위치정보 표시에 한정적으로 사용되고 있다는 것을 확인할 수 있었다.
Google Play와 APP Store에서 상업적인 목적으로 카테고리를 분류한 판매기준별 카테고리를 살펴보면 소셜콘텐츠, 금육, 교육, 도서 및 참고자료, 여행 및 지역정보, 라이프스타일, 교통, 도구, 엔터테인먼트, 내비게이션, 기타(스포츠, 생산성)등으로 나타났다. 증강현실 기능은 위치정보 표시에 치우쳐있었지만 그럼에도 불구하고 다양한 종류의 카테고리에서 증강현실 기술이 사용되는 것을 확인할 수있었다.
질의응답
핵심어
질문
논문에서 추출한 답변
모바일 증강현실 콘텐츠에서 사용하고 있는 센서 중 가장 높은 비율로 사용되고 있는 센서는 무엇인가?
그림 2는 모바일 증강현실 콘텐츠에서 가장 많이 사용하고 있는 네 가지 센서들이 어떤 비율로 사용되고 있는가를 나타내고 있는 도표이다. 네 가지 센서 중 가장 높은 비율로 사용되고 있는 센서는 Compass와 GPS로, 이 센서들은 위치정보를 증강하는 모바일 콘텐츠에서 필수로 사용되었다. Compass는 방향 정보를 이용하여 물체를 증강하는데 사용되었으며, GPS는 현재 위치 정보를 사용하여 주변 정보와 결합하는데 사용되고 있었고, Gyro는 중력 방향에 따라 카메라 화면을 전환할 때 사용되거나 증강된 이미지를 중력 방향으로 조정하는데 사용되었다.
증강현실이란?
증강현실(AR; Augmented Reality)이란 현실세계와 가상 세계의 통합으로, 가상의 물체나 환경정보와 같은 보이지 않는 정보를 현실세계와 결합시켜 사용자가 보다 쉽게 인지할 수 있도록 도와주는 기술이다[1]. 증강현실은 사용자로 하여금 어떠한 대상을 즉각적으로 받아들이고 판단할 수 있게 하여 집중과 관심을 이끌어내고 직관적 인식률을 높인다.
모바일 증강현실 콘텐츠는 증강된 목적별로 어떻게 나뉠 수 있는가?
모바일 증강현실 콘텐츠는 크게 증강된 목적별로 마커 기반과 위치정보 기반으로 나뉜다. 마커 기반은 QR코드나 단순화된 흑백의 사각마커, 자연객체 등을 타겟으로 그 위에 가상객체나 영상 등을 증강시키는데 목적을 두며, 위치정보 기반은 gps, compass등과 같은 위치센서 정보를 사용하여 특정 목적지의 방향을 표시하는데 그 목적을 둔다.
참고문헌 (13)
H. D. Yang, C. Y. Lee and S. W. Hwang, "A Study on the Strategy to Activate the Mobile Augmented Reality Market through a Business Model Analysis", Internet and Information Security. Vol. 1, No. 1. 2010, pp. 5-27. https://www.kisa.or.kr/jsp/common/libraryDown.jsp?folder9011233
Culture Technology Depth Reports, Mobile AR Technology and Industry Trends, Vol. 4, No. 1, 2010. https://www.kocca.kr/knowledge/publication/ct/__icsFiles/afieldfile/2010/10/13/lTX6IZfuEeJN.pdf
H. S. Jeon, "Mobile Augmented Reality", Week Technology Trends, Vol. 1447, No. 1, pp.25-37, 2010. www.tta.or.kr/data/reportDown.jsp?news_num3178
D. C. Kim, J. W. Lee, W. T. Woo, "Augmented Reality 2.0 technology and Content Application Technology Status & Prospect", The Korea Institute of Communications and Information Sciences, Vol. 28, No. 6, 2011, pp54-60. http://www.dbpia.co.kr/Article/1473482
H. M. Lee, D. C. Kim and W. T. Woo, "The Next Generation of Augmented Reality Interface Technology and Prospects for Virtual Object Manipulation", Korea Information Processing Society, Vol. 17, No. 5, 2010, pp.60-66. http://scholar.ndsl.kr/schArticleDetail.do?cnJAKO201006755716119
Vuforia Developer, https://developer.vuforia.com
AR ToolKit, http://www.hitl.washington.edu/artoolkit/
And AR, https://code.google.com/p/andar/
Y. Wang, T. Langlotz, M. Billinghurst and T. Bell, "An Authoring Tool for Mobile Phone AR Environments", New Zealand Computer Science Research Student Conference, Vol.9, No. 1, 2009, pp.1-4. http://www.hitlabnz.org/index.php/people?viewpublication&taskshow&id1264
J. W. Shim, M. J. Kong, H. Y. Kim, S. H. Chae, K. H. Jeong, J. H. Seo and T. D. Han, "Augmented Reality Authoring Tool with Marker & Gesture Interactive Features", Journal of Korea Multimedia Society, Vol. 16, No 6, 2013, pp.720-734. http://www.dbpia.co.kr/Article/3229423
J. G. Lee and J. W. Lee, "Interface for in-situ Authoring of Augmented Reality Contents on a Mobile Device Environment", The Journal of the Korea Contents Association, Vol 10, No. 7, 2010, pp. 1-9. http://www.dbpia.co.kr/Article/1323690
APP COOKER, http://www.appcooker.com/
P. Wayner, Network World, http://www.itworld.co.kr/slideshow/83134
※ AI-Helper는 부적절한 답변을 할 수 있습니다.