검수요청.png검수요청.png

"마커리스"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
 
(사용자 2명의 중간 판 12개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''마커리스'''(Markerless)는 증강현실(AR)의 기술 중 하나로 마커를 사용하지 않는 방식이다. 센서로 보이는 영상을 직접 판별하고, 판별한 영상에 실시간으로 컴퓨터 그래픽스(CG)합성하는 것이다. 증강현실의 다른 방식보다 애플리케이션 구현의 자유도를 높일 수 있다.
+
'''마커리스'''(markerless)는 [[증강현실]](AR)의 기술 중 하나로 [[마커]](marker)를 사용하지 않는 방식이다. [[센서]]로 보이는 영상을 직접 판별하고, 판별한 영상에 실시간으로 [[컴퓨터 그래픽]](CG)합성하는 것이다. 증강현실의 다른 방식보다 [[애플리케이션]] 구현의 자유도를 높일 수 있다.
  
슬램(SLAM)은 공간에 대한 사전 지식이 없을 때, 넓은 공간에서도 정확하게 위치를 추정하고 지도작성이 가능한 기술이다.
+
==마커리스 트래킹 기술==
 +
마커리스 트래킹 기술(markerless tracking technology)은 마커리스 기술 중 하나로, '특징점 기반의 트래킹'(Feature based Tracking)이라고도 불린다. 영상 내에서 특징점들을 추출하고 이 점들을 기반으로 좌표계를 추출한다. [[큐알 코드]](QR Code)같이 규칙적인 패턴을 가진 마커를 기반으로 증강현실을 구현하는 마커(marker)와 다르게 대상 자체의 데이터를 이용하여 증강현실을 구현하는게 마커리스 트래킹 기술의 특징이다. 대상을 이미지나 오브젝트 등의 형태를 인식할 수 있어 문화유산 인식에 적절한 기술로, 문화유산 자체를 인식하기 위해 사용한다.<ref>이영천, 〈[https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART002185613 마커리스 트래킹 기반 증강현실을 이용한 문화콘텐츠 개발]〉, 《(사)한국스마트미디어학회》, 2016-12-30</ref>
  
==에이알툴킷(ARToolkit)==
+
==슬램==
애플 : 에이알키트(ARKit)
+
[[슬램]](SLAM)은 공간에 대한 사전 지식이 없을 때, 넓은 공간에서도 정확하게 위치를 추정하고 지도 작성이 가능한 기술이다. 슬램의 지역화(Localization)는 사용자가 어디 있는지 파악하는 것으로, 이미지 프레임에 들어온 시각적 정보를 바탕으로 위치를 추정하는 것이다. 매핑(Mapping)은 보이는 세상을 로봇이 센서로 수집한 정보를 분석하여 답을 그리는 과정으로, 특징점 추출과 매칭을 통해 여러 시점에서 바라본 특징점 위치를 모아 삼각 측량 기법을 통해 특징점의 3차원 위치를 추론하는 것이다.<ref>〈[https://kr.mathworks.com/discovery/slam.html SLAM이란? 꼭 알아야 할 3가지 사항]〉, 《매쓰웍스》</ref>
구글 : 에이알코어(ARCore)
 
  
==활용==
+
===기술===
스노우
+
슬램을 구현할 때 사용되는 기술 요소로는 [[프런트엔드]] 처리를 포함하는 센서 신호 처리 유형과 [[백엔드]] 처리를 포함하는 자세 그래프 최적화 유형이 있다.
스냅챗
 
세포라
 
  
 +
===구성요소===
 +
[[프런트엔드]] 처리를 구성하는 요소로는 시각적 슬램과 라이다 슬램이 있다.
 +
* '''시각적 슬램''' : 카메라 및 기타 영상 센서로 획득한 영상을 사용한다. 저렴한 카메라로 구현할 수 있고, 카메라에서 제공되는 방대한 정보를 이용하여 과거에 측정된 위치를 감지할 수 있고 그래프 기반 최적화와 결합할 수 있다.
 +
* '''라이다 슬램''' : 레이저 센서나 거리 센서를 사용한다. 카메라와 비행시간 측정(ToF) 등의 센서보다 정밀하다. 레이저 센서에서 가져온 포인트 클라우드를 사용하면 고정밀 거리 측정이 가능하고 지도 작성에도 매우 효과적이다. 하지만, 밀도에 있어서 정교하지 않아 높은 수준의 처리 능력과 속도 개선을 위한 처리 최적화가 필요하다.
 +
 +
===문제===
 +
* [[슬램]](SLAM)은 오차 범위가 포함된 이동 정보를 추정하는데, 오차가 누적되면 실제값과 상당한 편차가 발생한다. 편차가 발생하게 되면 지도 데이터가 붕괴되거나 왜곡되고 검색이 어려워진다. 이러한 문제를 해결하기 위해선 가봤던 장소의 특징을 표지물로써 기억하여 위치추정 오류를 최소화시켜야 한다. 오류 정정에 도움이 되도록 구성된 자세 그래프를 활용하여 오류 최소화를 최적화 문제로 풀면 더 정확한 지도 데이터를 생성할 수 있고, 이러한 최적화를 시각적 슬램의 번들 조정이라 한다.
 +
* 영상 및 포인트 클라우드를 매핑할 때 로봇의 이동 특성은 고려되지 않아서, 경우에 따라서 불연속적인 위치추정값이 생성될 수 있다. 이러한 문제를 해결하기 위해선 가봤던 장소의 표지물을 키 프레임으로 기억하거나 복원 알고리즘을 사용하거나 이동 모델과 다수의 센서를 융합하여 센서 데이터에 기반한 계산을 수행함으로써 방지할 수 있다.
 +
* 영상과 포인트 클라우드를 처리하고 최적화하는데 계산 비용이 문제가 된다. 정확한 위치를 추정하기 위해서는 높은 빈도로 포인트 클라우드 매칭과 영상 처리를 실행해야 하는데, 이러한 최적화 계산은 계산량이 높은 과정이다. 계산은 제한된 처리 능력을 가진 소형 저전력 임베디드 마이크로프로세서에서 수행되는데, 계산적인 비용이 상당한 과정을 임베디드 마이크로컴퓨터에서 실행하는 것이 문제다. 이러한 문제를 해결하기 위해선 서로 다른 프로세서를 병렬로 실행하거나 긴 주기에 걸쳐 수행될 수 있는 자세 그래프 최적화의 우선순위를 낮추고 일정한 간격으로 이 처리를 수행하게 되면 성능을 개선할 수 있다.
 +
 +
==구현 방법==
 +
마커리스를 구현하는 방법으로는 영상 내의 선택된 객체 혹은 데이터베이스에 저장되어 있는 객체 영상의 특징점을 추출하여 정합하는 방법과 영상의 3차원 특징점을 추출하여 정합하는 방법 등이 있다. 전처리 과정에서는 빛의 삼원색(RGB) 컬러 영상을 회색(Gray) 영상으로 변환하고 영상 크기에 변하지 않는 특징을 추출하기 위해 가우시안 피라미드를 적용한다. 그리고 속도가 빠른 코너 추출 알고리즘을 사용하여 영상으로부터 코너에 강건한 특징점의 좌표를 저장하고 특징점의 주변 영역에 대한 I1I2I3 컬러 공간 정보와 특징점과 특징점 주변 영역의 에지(Edge) 크기 및 방향 정보를 이용하여 기술자를 만든다. I1I2I3는 조명, 시점, 기하학적 변화뿐만 아니라 강한 빛에 의한 영향에도 변하지 않는다는 특징을 나타내기 때문에 기술자를 위한 특징 정보로 적합하고, 회전에도 변함없이 특징을 추출할 수 있다. 그다음엔 카메라 특징점 기술자와 추적할 객체의 특징점 기술자의 유사도를 측정한다. 유사도를 측정하는 가장 유명한 방법으로는 유클리디안 거리(Euclidean distance) 측정 방식이 있다. 이 방식으로 측정된 유사도 값을 비교하여 가장 비슷한 유사도를 갖는 두 점을 대응점으로 정한다. 이렇게 생성된 대응점들 간의 2차원 평면 호모그래피 행렬을 저장하고 행렬식을 사용하여 카메라 좌표 정보를 추출한다. 카메라 좌표 정보와 영상의 2차원 평면 정보를 사용하여 가상의 3차원 객체를 결합한다.<ref> 김부겸, 〈[http://www.riss.kr/search/detail/DetailView.do?p_mat_type=be54d9b8bc7cdb09&control_no=a6b3e84071a581e9ffe0bdc3ef48d419&outLink=K 증강현실 구현을 위한 실시간 자연 특징점 추적에 관한 연구]〉, 《한국교육학술정보원》, 2010-02</ref>
 +
 +
==알고리즘==
 +
영상의 특징을 추출하여 비교하거나 인식하는 알고리즘은 성능적으로 매우 중요한 역할을 수행한다. 점 특징을 기반으로 영상 특징을 추출할 경우에는 비슷한 영상을 다르게 판정하지 않는다. 동일한 객체의 서로 다른 영상들 간의 관련성을 찾아서 정합하는 기술은 컴퓨터 비전의 다양한 응용 분야에서 활용되는 핵심 기술이다. 대표적인 알고리즘으로는 시프트(SIFT) 알고리즘과 설프(SURF) 알고리즘이 있다.<ref> 이용환, 박제호, 김영섭, 〈[https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART001808767 SIFT와 SURF 알고리즘의 성능적 비교 분석]〉, 《한국반도체디스플레이기술학회》, 2013</ref>
 +
 +
===시프트 알고리즘===
 +
시프트(SIFT) 알고리즘은 영상 회전, 크기 변화, 유사성을 가진 변형, 관점의 변화, 잡음, 조명 변화에 매우 강한 특징 추출 알고리즘이다. 시프트 알고리즘은 스케일 공간 극값 검출 단계, 주요 점 지역화 단계, 방향성 배치 단계, 기술 내용 생성 단계로 진행된다. 서로 다른 표준편차 값을 갖는 가우시안 차이 함수에서 크기 스케일 공간 극값을 사용하여 주요점들의 위치와 크기를 분별하여 확인한다.
 +
 +
===설프 알고리즘===
 +
설프(SURF) 알고리즘은 다중 스케일 공간 정리를 토대로 하며, 특징 기술자는 성능과 정확성에서 우수한 해시안 행렬을 기반으로 검출된다. 행렬을 구하기 전에, 계산량을 줄이기 위해 적분 영상을 추출한다.
 +
 +
===비교===
 +
영상의 시각적 방향, 거리 및 회전에 따라 원본 영상과 비교 영상에서의 차이가 존재할 때, 시프트(SIFT) 알고리즘과 설프(SURF) 알고리즘을 이용하면 추출된 특징점 개수와 매칭된 점 개수, 추출에서 매칭까지 수행된 처리 시간을 알 수 있다. 비교해봤을 때, 설프 알고리즘은 시프트 알고리즘보다 관심 점 추출 및 매칭 처리 시간에서 더 적게 걸려 성능적으로 더 효율이 좋다.
 +
 +
==응용 사례==
 +
* 문화유산 : 대상을 이미지나 오브젝트 등의 형태를 인식할 수 있어 문화유산을 인식하기에 적절하다. 문화유산과 가까워지면 [[증강현실]] 화면으로 전환이 되면서 실제 문화유산을 카메라로 인식하면 증강현실 콘텐츠를 진행하는 방식으로 활용된다. 범 지구 위치 결정 시스템(GPS)를 이용하여 사용자와 문화유산의 위치를 실시간으로 파악한다.
 +
* 동작인식 : 특수 장비를 착용하거나 몸에 부착하지 않아도 인체의 움직임을 실시간으로 트래킹하는 시스템을 개발했다. 사람의 동작을 빠르게 분석할 수 있고, 특수 장비를 사용하지 않아서 움직임에 방해가 되지 않는다. 운동선수의 동작을 교정할 때, 뇌성마비나 신경, 근육, 신체 절단으로 불편한 환자가 재활 치료 및 의료적으로 분석을 할 때, 3차원 애니메이션을 제작할 때 사용한다.<ref> 안세종 외 5명, 〈[https://scienceon.kisti.re.kr/srch/selectPORSrchArticle.do?cn=NPAP10078230&dbt=NPAP 인체동작 인식을 위한 마커리스 트래킹 시스템]〉, 《한국산학기술학회》, 2011</ref>
 +
* 에이알카메라(AR Camera) : 사용자의 얼굴을 아름답거나 재미있게 만들어주는 카메라 앱이다. 얼굴의 랜드마크를 고려하여 다양한 스티커를 얼굴에 입혀준다. 모자, 안경, 머리띠, 마스크, 렌즈 등 다양한 스티커를 사용할 수 있다. 또한, 사용자의 배경도 바꿔준다. 대표적인 앱으로는 [[스노우]](SNOW)와 스냅챗(SnapChat)이 있다.
 +
* 세포라 버추얼 아티스트(Sephora Virtual artist) 앱 : 세포라에서 개발한 앱으로, 세포라의 화장품을 사용자의 얼굴에 가상으로 테스트해 볼 수 있다. 인공지능(AI)을 사용하여 얼굴을 식별하고 증강현실(AR)을 사용하여 사용자가 선택한 제품을 얼굴에 적용해보는 방식이다.<ref> IBM KOREA, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ibm_korea&logNo=221392724460 왜 그렇게 예뻐졌어? 비결은 인공지능 AI 메이크업 아티스트]〉, 《네이버 블로그》, 2018-11-06</ref>
 +
* 이케아 플레이스(IKEA Place) 앱 : 에이알키트(ARKit)를 적용하여 만든 앱으로 가구를 가상으로 배치해볼 수 있다. 직물의 질감이나 명암 대비 등을 정밀하게 표현해주고, 이케아 제품을 3차원으로 구현하여 크기, 디자인, 기능까지 실제 제품 비율과 같다. 실내 공간 크기에 따라 자동으로 제품의 비율을 조정해주고 가구를 배치한 실내 모습을 사진이나 영상으로 저장할 수 있다.<ref>〈[https://www.ikea.com/kr/ko/this-is-ikea/newsroom/-pub35125520 이케아 코리아, 증강현실 가구 배치 앱 '이케아 플레이스' 출시]〉, 《이케아》, 2017-09-29</ref>
 +
* [[에이알툴킷]](ARToolkit) : 에이알툴킷은 가상 영상을 실제 세계와 겹쳐 보이게 만들어주는 [[증강현실]] 애플리케이션을 개발하기 위한 오픈 소스 컴퓨터 추적 라이브러리다. 증강현실을 만들기 위해 자연 기능 표시기나 직각 물리 표시기에 상대적인 실제 카메라 위치와 방향을 실시간으로 계산하는 영상 추적 기능을 사용한다. [[리눅스]], [[윈도우]], [[맥OS]](macOS), [[아이오에스]](iOS), [[안드로이드]]에서 사용할 수 있다.<ref>〈[https://ko.wikipedia.org/wiki/ARToolKit ARToolKit]〉, 《위키백과》</ref>
 +
* [[에이알키트]](ARKit) : 에이알키트는 애플(Apple)에서 개발한 아이오에스(iOS) 및 아이패드오에스(iPadOS) 전용 첨단 프레임워크다. 에이알키트는 현재 5까지 나왔으며 사용자가 특정 위치에 증강현실 경험을 만들 수 있다. 카메라가 얼굴을 추적하는 기능, 유명 랜드마크의 특정 위치에 증강현실 창작물을 제작하고 고정하는 기능, [[애플리케이션 프로그래밍 인터페이스]](API)를 이용하여 씬 지오메트리(Scene Geometry)에서 생성된 3차원 데이터와 결합하여 사용자 환경에 효과를 적용하는 기능, 씬 지오메트리로 가구를 식별하는 레이블을 사용하여 공간의 토폴로지 맵을 만드는 기능, 사람의 움직임을 실시간으로 캡처하는 기능 등이 있다.<ref>〈[https://developer.apple.com/kr/discover/ ARKit]〉, 《애플 개발자》</ref>
 +
* [[에이알코어]](ARCore) : 에이알코어는 [[구글]](Google)에서 개발한 안드로이드 전용 소프트웨어 개발 키트이다. [[자바]](Java), [[오픈지엘]](OpenGL), [[유니티]](Unity), [[언리얼]](Unreal)과 연동된다. 휴대폰 카메라로 실내의 특징점을 관찰하여 가상 물체를 정확하게 배치할 수 있고, 특징점을 활용하여 수평면을 감지할 수 있고, 주변 조명을 관찰하여 주변 환경에 맞는 가상 물체의 모습을 사실적으로 구현할 수 있다.<ref> 정승욱, 〈[https://developers-kr.googleblog.com/2017/09/arcore-augmented-reality-at-android.html 안드로이드에서 AR을 경험하게 해줄 ARCore를 소개합니다!]〉, 《구글 개발자들》, 2017-09-26</ref>
  
 
{{각주}}
 
{{각주}}
  
 
==참고자료==
 
==참고자료==
 +
* 이영천, 〈[https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART002185613 마커리스 트래킹 기반 증강현실을 이용한 문화콘텐츠 개발]〉, 《(사)한국스마트미디어학회》, 2016-12-30
 +
* 안세종 외 5명, 〈[https://scienceon.kisti.re.kr/srch/selectPORSrchArticle.do?cn=NPAP10078230&dbt=NPAP 인체동작 인식을 위한 마커리스 트래킹 시스템]〉, 《한국산학기술학회》, 2011
 +
* 〈[https://kr.mathworks.com/discovery/slam.html SLAM이란? 꼭 알아야 할 3가지 사항]〉, 《매쓰웍스》
 +
* 김부겸, 〈[http://www.riss.kr/search/detail/DetailView.do?p_mat_type=be54d9b8bc7cdb09&control_no=a6b3e84071a581e9ffe0bdc3ef48d419&outLink=K 증강현실 구현을 위한 실시간 자연 특징점 추적에 관한 연구]〉, 《한국교육학술정보원》, 2010-02
 +
* 〈[https://ko.wikipedia.org/wiki/ARToolKit ARToolKit]〉, 《위키백과》
 +
* 〈[https://developer.apple.com/kr/discover/ ARKit]〉, 《애플 개발자》
 +
* 이용환, 박제호, 김영섭, 〈[https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART001808767 SIFT와 SURF 알고리즘의 성능적 비교 분석]〉, 《한국반도체디스플레이기술학회》, 2013
 +
* 정승욱, 〈[https://developers-kr.googleblog.com/2017/09/arcore-augmented-reality-at-android.html 안드로이드에서 AR을 경험하게 해줄 ARCore를 소개합니다!]〉, 《구글 개발자들》, 2017-09-26
 +
* IBM KOREA, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ibm_korea&logNo=221392724460 왜 그렇게 예뻐졌어? 비결은 인공지능 AI 메이크업 아티스트]〉, 《네이버 블로그》, 2018-11-06
 +
* 〈[https://www.ikea.com/kr/ko/this-is-ikea/newsroom/-pub35125520 이케아 코리아, 증강현실 가구 배치 앱 '이케아 플레이스' 출시]〉, 《이케아》, 2017-09-29
  
 
==같이 보기==
 
==같이 보기==
 +
* [[마커]]
 +
* [[특징점]]
 +
* [[슬램]]
 +
* [[트래킹]]
 +
* [[에이알키트]]
 +
* [[에이알코어]]
  
{{메타버스|토막글}}
+
{{메타버스|검토 필요}}

2021년 10월 24일 (일) 00:21 기준 최신판

마커리스(markerless)는 증강현실(AR)의 기술 중 하나로 마커(marker)를 사용하지 않는 방식이다. 센서로 보이는 영상을 직접 판별하고, 판별한 영상에 실시간으로 컴퓨터 그래픽(CG)을 합성하는 것이다. 증강현실의 다른 방식보다 애플리케이션 구현의 자유도를 높일 수 있다.

마커리스 트래킹 기술[편집]

마커리스 트래킹 기술(markerless tracking technology)은 마커리스 기술 중 하나로, '특징점 기반의 트래킹'(Feature based Tracking)이라고도 불린다. 영상 내에서 특징점들을 추출하고 이 점들을 기반으로 좌표계를 추출한다. 큐알 코드(QR Code)같이 규칙적인 패턴을 가진 마커를 기반으로 증강현실을 구현하는 마커(marker)와 다르게 대상 자체의 데이터를 이용하여 증강현실을 구현하는게 마커리스 트래킹 기술의 특징이다. 대상을 이미지나 오브젝트 등의 형태를 인식할 수 있어 문화유산 인식에 적절한 기술로, 문화유산 자체를 인식하기 위해 사용한다.[1]

슬램[편집]

슬램(SLAM)은 공간에 대한 사전 지식이 없을 때, 넓은 공간에서도 정확하게 위치를 추정하고 지도 작성이 가능한 기술이다. 슬램의 지역화(Localization)는 사용자가 어디 있는지 파악하는 것으로, 이미지 프레임에 들어온 시각적 정보를 바탕으로 위치를 추정하는 것이다. 매핑(Mapping)은 보이는 세상을 로봇이 센서로 수집한 정보를 분석하여 답을 그리는 과정으로, 특징점 추출과 매칭을 통해 여러 시점에서 바라본 특징점 위치를 모아 삼각 측량 기법을 통해 특징점의 3차원 위치를 추론하는 것이다.[2]

기술[편집]

슬램을 구현할 때 사용되는 기술 요소로는 프런트엔드 처리를 포함하는 센서 신호 처리 유형과 백엔드 처리를 포함하는 자세 그래프 최적화 유형이 있다.

구성요소[편집]

프런트엔드 처리를 구성하는 요소로는 시각적 슬램과 라이다 슬램이 있다.

  • 시각적 슬램 : 카메라 및 기타 영상 센서로 획득한 영상을 사용한다. 저렴한 카메라로 구현할 수 있고, 카메라에서 제공되는 방대한 정보를 이용하여 과거에 측정된 위치를 감지할 수 있고 그래프 기반 최적화와 결합할 수 있다.
  • 라이다 슬램 : 레이저 센서나 거리 센서를 사용한다. 카메라와 비행시간 측정(ToF) 등의 센서보다 정밀하다. 레이저 센서에서 가져온 포인트 클라우드를 사용하면 고정밀 거리 측정이 가능하고 지도 작성에도 매우 효과적이다. 하지만, 밀도에 있어서 정교하지 않아 높은 수준의 처리 능력과 속도 개선을 위한 처리 최적화가 필요하다.

문제[편집]

  • 슬램(SLAM)은 오차 범위가 포함된 이동 정보를 추정하는데, 오차가 누적되면 실제값과 상당한 편차가 발생한다. 편차가 발생하게 되면 지도 데이터가 붕괴되거나 왜곡되고 검색이 어려워진다. 이러한 문제를 해결하기 위해선 가봤던 장소의 특징을 표지물로써 기억하여 위치추정 오류를 최소화시켜야 한다. 오류 정정에 도움이 되도록 구성된 자세 그래프를 활용하여 오류 최소화를 최적화 문제로 풀면 더 정확한 지도 데이터를 생성할 수 있고, 이러한 최적화를 시각적 슬램의 번들 조정이라 한다.
  • 영상 및 포인트 클라우드를 매핑할 때 로봇의 이동 특성은 고려되지 않아서, 경우에 따라서 불연속적인 위치추정값이 생성될 수 있다. 이러한 문제를 해결하기 위해선 가봤던 장소의 표지물을 키 프레임으로 기억하거나 복원 알고리즘을 사용하거나 이동 모델과 다수의 센서를 융합하여 센서 데이터에 기반한 계산을 수행함으로써 방지할 수 있다.
  • 영상과 포인트 클라우드를 처리하고 최적화하는데 계산 비용이 문제가 된다. 정확한 위치를 추정하기 위해서는 높은 빈도로 포인트 클라우드 매칭과 영상 처리를 실행해야 하는데, 이러한 최적화 계산은 계산량이 높은 과정이다. 계산은 제한된 처리 능력을 가진 소형 저전력 임베디드 마이크로프로세서에서 수행되는데, 계산적인 비용이 상당한 과정을 임베디드 마이크로컴퓨터에서 실행하는 것이 문제다. 이러한 문제를 해결하기 위해선 서로 다른 프로세서를 병렬로 실행하거나 긴 주기에 걸쳐 수행될 수 있는 자세 그래프 최적화의 우선순위를 낮추고 일정한 간격으로 이 처리를 수행하게 되면 성능을 개선할 수 있다.

구현 방법[편집]

마커리스를 구현하는 방법으로는 영상 내의 선택된 객체 혹은 데이터베이스에 저장되어 있는 객체 영상의 특징점을 추출하여 정합하는 방법과 영상의 3차원 특징점을 추출하여 정합하는 방법 등이 있다. 전처리 과정에서는 빛의 삼원색(RGB) 컬러 영상을 회색(Gray) 영상으로 변환하고 영상 크기에 변하지 않는 특징을 추출하기 위해 가우시안 피라미드를 적용한다. 그리고 속도가 빠른 코너 추출 알고리즘을 사용하여 영상으로부터 코너에 강건한 특징점의 좌표를 저장하고 특징점의 주변 영역에 대한 I1I2I3 컬러 공간 정보와 특징점과 특징점 주변 영역의 에지(Edge) 크기 및 방향 정보를 이용하여 기술자를 만든다. I1I2I3는 조명, 시점, 기하학적 변화뿐만 아니라 강한 빛에 의한 영향에도 변하지 않는다는 특징을 나타내기 때문에 기술자를 위한 특징 정보로 적합하고, 회전에도 변함없이 특징을 추출할 수 있다. 그다음엔 카메라 특징점 기술자와 추적할 객체의 특징점 기술자의 유사도를 측정한다. 유사도를 측정하는 가장 유명한 방법으로는 유클리디안 거리(Euclidean distance) 측정 방식이 있다. 이 방식으로 측정된 유사도 값을 비교하여 가장 비슷한 유사도를 갖는 두 점을 대응점으로 정한다. 이렇게 생성된 대응점들 간의 2차원 평면 호모그래피 행렬을 저장하고 행렬식을 사용하여 카메라 좌표 정보를 추출한다. 카메라 좌표 정보와 영상의 2차원 평면 정보를 사용하여 가상의 3차원 객체를 결합한다.[3]

알고리즘[편집]

영상의 특징을 추출하여 비교하거나 인식하는 알고리즘은 성능적으로 매우 중요한 역할을 수행한다. 점 특징을 기반으로 영상 특징을 추출할 경우에는 비슷한 영상을 다르게 판정하지 않는다. 동일한 객체의 서로 다른 영상들 간의 관련성을 찾아서 정합하는 기술은 컴퓨터 비전의 다양한 응용 분야에서 활용되는 핵심 기술이다. 대표적인 알고리즘으로는 시프트(SIFT) 알고리즘과 설프(SURF) 알고리즘이 있다.[4]

시프트 알고리즘[편집]

시프트(SIFT) 알고리즘은 영상 회전, 크기 변화, 유사성을 가진 변형, 관점의 변화, 잡음, 조명 변화에 매우 강한 특징 추출 알고리즘이다. 시프트 알고리즘은 스케일 공간 극값 검출 단계, 주요 점 지역화 단계, 방향성 배치 단계, 기술 내용 생성 단계로 진행된다. 서로 다른 표준편차 값을 갖는 가우시안 차이 함수에서 크기 스케일 공간 극값을 사용하여 주요점들의 위치와 크기를 분별하여 확인한다.

설프 알고리즘[편집]

설프(SURF) 알고리즘은 다중 스케일 공간 정리를 토대로 하며, 특징 기술자는 성능과 정확성에서 우수한 해시안 행렬을 기반으로 검출된다. 행렬을 구하기 전에, 계산량을 줄이기 위해 적분 영상을 추출한다.

비교[편집]

영상의 시각적 방향, 거리 및 회전에 따라 원본 영상과 비교 영상에서의 차이가 존재할 때, 시프트(SIFT) 알고리즘과 설프(SURF) 알고리즘을 이용하면 추출된 특징점 개수와 매칭된 점 개수, 추출에서 매칭까지 수행된 처리 시간을 알 수 있다. 비교해봤을 때, 설프 알고리즘은 시프트 알고리즘보다 관심 점 추출 및 매칭 처리 시간에서 더 적게 걸려 성능적으로 더 효율이 좋다.

응용 사례[편집]

  • 문화유산 : 대상을 이미지나 오브젝트 등의 형태를 인식할 수 있어 문화유산을 인식하기에 적절하다. 문화유산과 가까워지면 증강현실 화면으로 전환이 되면서 실제 문화유산을 카메라로 인식하면 증강현실 콘텐츠를 진행하는 방식으로 활용된다. 범 지구 위치 결정 시스템(GPS)를 이용하여 사용자와 문화유산의 위치를 실시간으로 파악한다.
  • 동작인식 : 특수 장비를 착용하거나 몸에 부착하지 않아도 인체의 움직임을 실시간으로 트래킹하는 시스템을 개발했다. 사람의 동작을 빠르게 분석할 수 있고, 특수 장비를 사용하지 않아서 움직임에 방해가 되지 않는다. 운동선수의 동작을 교정할 때, 뇌성마비나 신경, 근육, 신체 절단으로 불편한 환자가 재활 치료 및 의료적으로 분석을 할 때, 3차원 애니메이션을 제작할 때 사용한다.[5]
  • 에이알카메라(AR Camera) : 사용자의 얼굴을 아름답거나 재미있게 만들어주는 카메라 앱이다. 얼굴의 랜드마크를 고려하여 다양한 스티커를 얼굴에 입혀준다. 모자, 안경, 머리띠, 마스크, 렌즈 등 다양한 스티커를 사용할 수 있다. 또한, 사용자의 배경도 바꿔준다. 대표적인 앱으로는 스노우(SNOW)와 스냅챗(SnapChat)이 있다.
  • 세포라 버추얼 아티스트(Sephora Virtual artist) 앱 : 세포라에서 개발한 앱으로, 세포라의 화장품을 사용자의 얼굴에 가상으로 테스트해 볼 수 있다. 인공지능(AI)을 사용하여 얼굴을 식별하고 증강현실(AR)을 사용하여 사용자가 선택한 제품을 얼굴에 적용해보는 방식이다.[6]
  • 이케아 플레이스(IKEA Place) 앱 : 에이알키트(ARKit)를 적용하여 만든 앱으로 가구를 가상으로 배치해볼 수 있다. 직물의 질감이나 명암 대비 등을 정밀하게 표현해주고, 이케아 제품을 3차원으로 구현하여 크기, 디자인, 기능까지 실제 제품 비율과 같다. 실내 공간 크기에 따라 자동으로 제품의 비율을 조정해주고 가구를 배치한 실내 모습을 사진이나 영상으로 저장할 수 있다.[7]
  • 에이알툴킷(ARToolkit) : 에이알툴킷은 가상 영상을 실제 세계와 겹쳐 보이게 만들어주는 증강현실 애플리케이션을 개발하기 위한 오픈 소스 컴퓨터 추적 라이브러리다. 증강현실을 만들기 위해 자연 기능 표시기나 직각 물리 표시기에 상대적인 실제 카메라 위치와 방향을 실시간으로 계산하는 영상 추적 기능을 사용한다. 리눅스, 윈도우, 맥OS(macOS), 아이오에스(iOS), 안드로이드에서 사용할 수 있다.[8]
  • 에이알키트(ARKit) : 에이알키트는 애플(Apple)에서 개발한 아이오에스(iOS) 및 아이패드오에스(iPadOS) 전용 첨단 프레임워크다. 에이알키트는 현재 5까지 나왔으며 사용자가 특정 위치에 증강현실 경험을 만들 수 있다. 카메라가 얼굴을 추적하는 기능, 유명 랜드마크의 특정 위치에 증강현실 창작물을 제작하고 고정하는 기능, 애플리케이션 프로그래밍 인터페이스(API)를 이용하여 씬 지오메트리(Scene Geometry)에서 생성된 3차원 데이터와 결합하여 사용자 환경에 효과를 적용하는 기능, 씬 지오메트리로 가구를 식별하는 레이블을 사용하여 공간의 토폴로지 맵을 만드는 기능, 사람의 움직임을 실시간으로 캡처하는 기능 등이 있다.[9]
  • 에이알코어(ARCore) : 에이알코어는 구글(Google)에서 개발한 안드로이드 전용 소프트웨어 개발 키트이다. 자바(Java), 오픈지엘(OpenGL), 유니티(Unity), 언리얼(Unreal)과 연동된다. 휴대폰 카메라로 실내의 특징점을 관찰하여 가상 물체를 정확하게 배치할 수 있고, 특징점을 활용하여 수평면을 감지할 수 있고, 주변 조명을 관찰하여 주변 환경에 맞는 가상 물체의 모습을 사실적으로 구현할 수 있다.[10]

각주[편집]

  1. 이영천, 〈마커리스 트래킹 기반 증강현실을 이용한 문화콘텐츠 개발〉, 《(사)한국스마트미디어학회》, 2016-12-30
  2. SLAM이란? 꼭 알아야 할 3가지 사항〉, 《매쓰웍스》
  3. 김부겸, 〈증강현실 구현을 위한 실시간 자연 특징점 추적에 관한 연구〉, 《한국교육학술정보원》, 2010-02
  4. 이용환, 박제호, 김영섭, 〈SIFT와 SURF 알고리즘의 성능적 비교 분석〉, 《한국반도체디스플레이기술학회》, 2013
  5. 안세종 외 5명, 〈인체동작 인식을 위한 마커리스 트래킹 시스템〉, 《한국산학기술학회》, 2011
  6. IBM KOREA, 〈왜 그렇게 예뻐졌어? 비결은 인공지능 AI 메이크업 아티스트〉, 《네이버 블로그》, 2018-11-06
  7. 이케아 코리아, 증강현실 가구 배치 앱 '이케아 플레이스' 출시〉, 《이케아》, 2017-09-29
  8. ARToolKit〉, 《위키백과》
  9. ARKit〉, 《애플 개발자》
  10. 정승욱, 〈안드로이드에서 AR을 경험하게 해줄 ARCore를 소개합니다!〉, 《구글 개발자들》, 2017-09-26

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 마커리스 문서는 메타버스에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.