KR20230055387A - 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말 및 컴퓨터 프로그램 - Google Patents

딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20230055387A
KR20230055387A KR1020220134205A KR20220134205A KR20230055387A KR 20230055387 A KR20230055387 A KR 20230055387A KR 1020220134205 A KR1020220134205 A KR 1020220134205A KR 20220134205 A KR20220134205 A KR 20220134205A KR 20230055387 A KR20230055387 A KR 20230055387A
Authority
KR
South Korea
Prior art keywords
indoor
feature points
image
user terminal
indoor map
Prior art date
Application number
KR1020220134205A
Other languages
English (en)
Inventor
조장관
Original Assignee
주식회사 쿠노소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 쿠노소프트 filed Critical 주식회사 쿠노소프트
Publication of KR20230055387A publication Critical patent/KR20230055387A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Navigation (AREA)

Abstract

딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말이 제공된다. 사용자 단말은 실내를 촬영하여 제1 영상 및 제2 영상을 생성하는 카메라, 실내 약도 생성 요청이 입력되면, 상기 제1 영상에서 복수의 제1 특징점을 추출하고, 추출된 복수의 제1 특징점에 연관된 실내 위치를 산출하고, 상기 복수의 제1 특징점 및 이에 연관된 실내 위치를 이용하여 실내 약도를 생성하며, 이동 경로 생성 요청이 입력되면, 상기 제2 영상에서 복수의 제2 특징점을 추출하고, 추출된 복수의 제2 특징점을 상기 복수의 제1 특징점과 비교하여 상기 실내 위치 중에서 초기 위치를 추정하며, 추정된 초기 위치부터 이동하면서 촬영된 제2 영상에서 상기 복수의 제2 특징점의 적어도 일부를 추적하여 상기 초기 위치를 확정하는 프로세서 및 상기 제2 영상 및 이에 중첩된 경로 안내 표지를 표시하는 디스플레이를 포함할 수 있다. 본 발명은 서울특별시 서울산업진흥원(2021년도 제4회 서울혁신챌린지 결선) (IC210009) "딥러닝 기반 실내외 약도 생성 및 증강현실 실내 내비게이션 서비스 앱 개발"을 통해 개발된 기술이다.

Description

딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말 및 컴퓨터 프로그램{AR navigation terminal, system and computer-readable program for generating indoor map based on deep learning}
본 발명은 딥러닝 기반 실내 약도 생성 기술에 관한 것이다.
기존 도시공간이 복합공간으로 재개발되면서 실내공간 지도 제작 및 제공 필요성 증가하고 있다. 기존 메이저 지도 서비스 업체 네이버, 카카오의 지도/약도 서비스 대신 기업체 및 기관 등은 자체 약도 제공 Needs 강하나, 일반 건물이나 실내의 내부까지는 안내하는 서비스는 현재 없다. 따라서, 손쉽게 자체 약도 제작을 편리하게 생성할 수 있는 서비스 필요하다. 한편, 기존의 실내 맵 또는 약도 제작에 고가 장비 및 기술력이 사용되고 아직 개발 구축중이다. 실내 측위 기술은 실외 측위 기술 연평균 38.5%) 보다 가파른 연평균 47.3% 증가세로 2021 년 163 억 달러 약 20 조원) 규모에 달할 것으로 예측된다.
현재 국가공간정보정책에 따라 지자체 3 차원 공간정보 구축 중 서울, 대구, 성남 등 3 차원 공간정보는 스마트시티, 자율주행, 데이터경제 등 새로운 성장산업들의 엔진 역할을 하고 있으며, 위치 기반 서비스산업의 핵심 기반이다. 국민생활 안전을 위한 지하공간 3D 통합지도 수도권 25개 시) 확장 중에 있다.
기존 실내 측위 방법 적용이 곤란한 장소에 적용 가능하다. 병원의 경우 고정밀 의료장비 심전도 측정기 등 는 전자파의 간섭으로 인한 오류, 오작동 우려에 따라, WIFI, Beacon 등을 사용한 기존 실내 측위 방법은 사용할 수 없다.
네이버랩스는 3차원 실내 지도 제작 로봇 M1의 업그레이드 버전인 M1X를 활용한 대규모 실내 3차원 지도와 이를 활용한 비주얼 로컬라이제이션을 개발중으로, 구축된 HD맵과 GPS, 휠인코더, 라이다(LiDAR), 카메라 등의 센서를 결합해 10cm 이내의 정밀도로 끊김 없이 위치를 측정할 수 있는 측위 기술의 고도화 중이다. 자동차 자율주행을 위한 측위 정밀도 10㎝는 차량을 차선 밖으로 나가지 않는 기준으로 이를 목표로 하고 있으며, GPS로만 측정하면 위치가 '튀는' 현상이 발생하는 것으로 알려져 있다.
카카오 내비는 ETRI와 공동연구로 LTE 신호 기반 실내 측위 기술 'FIN(핀, 융합 실내 측위, Fused Indoor localizatioN)'적용. LTE 신호에 대한 지도를 구축한 뒤, 사용자 스마트폰의 LTE 신호 패턴을 비교 분석해 위치를 측정하는 방식이다. FIN 기술이 적용된 카카오내비 시범서비스를 강남순환로 터널 3곳(관악터널, 봉천터널, 서초터널)에서 시작. 지하주차장에서도 차량 위치 확인과 출차 직후 길안내가 가능한 수준까지 기술 정밀도를 높이고 있다.
구글의 경우, 에디스톤에서 중점을 둔 부분은 비콘 구축을 관리하는 기능과 앱 없이도 더 효과적으로 클라이언트에 알림을 푸시하는 방법이다. 이를 위해 에디스톤은 에디스톤-UID, 에디스톤-URL, 에디스톤-TLM 등 여러 가지 새로운 데이터 패킷 형식을 지원하도록 설계됨. 에디스톤-UID는 비콘을 식별하고 기기의 앱이 원하는 동작을 트리거하도록 허용한다는 점에서 아이비콘과 비슷하다 아이비콘과의 차이점은 16바이트 길이를 사용하고(아이비콘은 20바이트) 두 부분으로 분할된다.
애플의 경우, 모바일 기기에서 아이비콘을 감지하는 방법은 신호 강도와 신호 거리 특성을 사용해 위치를 계산한다는 측면에서 와이파이 액세스 포인트를 감지하는 방법과 비슷하다. 다만 두 기술은 패키징과 구현에 있어 큰 차이점이 있으며, BLE 비콘은 이동이 가능하고 완전한 무선이며 가격이 저렴함. 결과적으로 위치 인식용으로 제작되는 BLE 비콘 솔루션은 동일한 수준의 와이파이 기반 솔루션에 비해 훨씬 더 저렴하고 설치도 비교적 간편하다. 또한 와이파이 인프라는 단말기가 다양한 절전 상태에서 깨어날 때까지 기다리는 반면 비콘의 경우 앱이 지속적으로 신호를 송신하는 비콘을 모니터링하여 위치를 계산하므로 실시간 정확도 측면에서 훨씬 더 유리하다
Infsoft 의 경우, 360 안테나의 도착 각도 기술은 수신기 안테나는 범위 내에 있는 모든 모바일 2.4GHz 송신기(예: 비콘)에서 방출되는 무선 신호를 감지할 수 있다. 결정된 각도와 거리에 따라 1 ~ 3 미터의 정확도로 이러한 송신기가 장착 된 물체의 위치를 계산한다. 따라서 센티미터 정확도가 요구되지 않는 한 서버 기반 BLE 솔루션은 비용 집약적 인 UWB (Ultra-wideband) 애플리케이션에 대한 유리한 대안이 될 수 있다. UWB를 사용하는 것에 비해 AoA 기술을 활용하는 비콘 기반 추적 시스템은 훨씬 더 적은 비용으로 설정할 수 있으며 배터리 수명이 더 길다는 장점도 있다. 이 기술의 실제 응용에는 물류 추적 시스템이 포함될 수 있다.
본 발명은 서울특별시 서울산업진흥원(2021년도 제4회 서울혁신챌린지 결선) (IC210009) "딥러닝 기반 실내외 약도 생성 및 증강현실 실내 내비게이션 서비스 앱 개발"을 통해 개발된 기술이다.
기존 실내 측위 방법 적용이 곤란한 장소에 이미지 만으로 실내 약도 구축이 가능한 기술을 제공하고자 한다.
LiDAR 등 고가의 장비를 사용하지 않고 저비용으로 모바일 기기의 카메라로 획득한 이미지/영상 데이터를 인공지능(딥러닝) 기술로 3차원 가상 공간으로 구축하여 약도를 생성하고, 스마트폰 소지자의 실제 위치를 파악하여 실제의 실내와 실외 공간에 대응되는 증강현실(AR) 기술이 적용된 길안내를 서비스할 수 있는 딥러닝 기반의 실내 약도 생성 및 증강현실 실내 내비게이션 서비스 앱을 개발하고자 한다.
본 발명의 일측면에 따르면, 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말이 제공된다. 사용자 단말은 실내를 촬영하여 제1 영상 및 제2 영상을 생성하는 카메라, 실내 약도 생성 요청이 입력되면, 상기 제1 영상에서 복수의 제1 특징점을 추출하고, 추출된 복수의 제1 특징점에 연관된 실내 위치를 산출하고, 상기 복수의 제1 특징점 및 이에 연관된 실내 위치를 이용하여 실내 약도를 생성하며, 이동 경로 생성 요청이 입력되면, 상기 제2 영상에서 복수의 제2 특징점을 추출하고, 추출된 복수의 제2 특징점을 상기 복수의 제1 특징점과 비교하여 상기 실내 위치 중에서 초기 위치를 추정하며, 추정된 초기 위치부터 이동하면서 촬영된 제2 영상에서 상기 복수의 제2 특징점의 적어도 일부를 추적하여 상기 초기 위치를 확정하는 프로세서 및 상기 제2 영상 및 이에 중첩된 경로 안내 표지를 표시하는 디스플레이를 포함할 수 있다.
일 실시예로, 사용자 단말은 실내 약도 앱 서버와 통신하여 생성된 실내 약도를 등록 및 상기 실내 약도 앱 서버로부터 등록된 실내 약도를 다운로드하는 무선 트랜시버를 더 포함할 수 있다.
일 실시예로, 상기 제1 특징점 및 상기 제2 특징점은 상기 제1 영상 내지 제3 영상의 키프레임에서 추출되며, 3차원 좌표값으로 특정될 수 있다.
일 실시예로, 상기 프로세서는 상기 추정된 초기 위치부터 목표 위치까지의 이동 경로를 상기 실내 약도상에 설정할 수 있다.
일 실시예로, 상기 프로세서는 SLAM(Simultaneous Localization And Mapping)을 구동하여 상기 복수의 제1 특징점 및 상기 실내 위치로 상기 실내 약도를 생성할 수 있다.
일 실시예로, 상기 프로세서는 BRISK(Binary robust invariance scalable keypoints) 알고리즘을 구동하여 상기 제1 특징점 및 상기 제2 특징점을 추출할 수 있다.
본 발명의 다른 측면에 따르면, 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 방법을 수행하도록 하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램이 제공될 수 있다. 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은, 사용자 단말이 실내를 촬영하여 생성한 제1 영상에서 복수의 제1 특징점을 추출하며, 추출된 복수의 제1 특징점에 연관된 실내 위치를 산출하는 단계, 상기 복수의 제1 특징점 및 상기 실내 위치를 이용하여 실내 약도를 생성하는 단계, 이동 경로 생성 요청이 입력되면, 상기 사용자 단말이 상기 실내를 촬영하여 생성한 제2 영상에서 복수의 제2 특징점을 추출하는 단계, 추출된 복수의 제2 특징점을 상기 복수의 제1 특징점과 비교하여 상기 실내 위치 중에서 초기 위치를 추정하는 단계 및 추정된 초기 위치부터 이동하면서 촬영된 제2 영상에서 상기 복수의 제2 특징점의 적어도 일부를 추적하여 상기 초기 위치를 확정하는 단계를 포함할 수 있다.
일 실시예로, 상기 제1 특징점 및 상기 제2 특징점은 상기 제1 영상 및 제2 영상의 키프레임에서 추출되며, 3차원 좌표값으로 특정될 수 있다.
일 실시예로, 컴퓨터 프로그램은 상기 추정된 초기 위치부터 목표 위치까지의 이동 경로를 상기 실내 약도상에 설정하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 기존 실내 측위 방법 적용이 곤란한 장소에 이미지 만으로 실내 약도의 구축 및 이동 경로 안내가 가능하다.
이하에서, 본 발명은 첨부된 도면에 도시된 실시예를 참조하여 설명된다. 이해를 돕기 위해, 첨부된 전체 도면에 걸쳐, 동일한 구성 요소에는 동일한 도면 부호가 할당되었다. 첨부된 도면에 도시된 구성은 본 발명을 설명하기 위해 예시적으로 구현된 실시예에 불과하며, 본 발명의 범위를 이에 한정하기 위한 것은 아니다.
도 1은 본 발명의 실시예에 따른 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 구현하기 위한 실내 약도 앱 서버(100)의 물리적인 구성부를 개략적으로 도시하고 있다.
도 2는 본 발명의 실시예에 따른 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 구현하기 위한 사용자 단말의 물리적인 구성부를 개략적으로 도시하고 있다.
도 3은 본 발명의 실시예에 따른 딥러닝 기반 실내 약도 생성 과정을 예시적으로 도시한 흐름도이다.
도 4는 본 발명의 실시예에 따른 딥러닝 기반 실내 약도를 생성하기 위해 촬영한 영상에서 특징점 추출을 예시적으로 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 딥러닝 기반 증강현실 실내 내비게이션 과정을 예시적으로 도시한 흐름도이다.
도 6은 도 5는 본 발명의 실시예에 따른 딥러닝 기반 증강현실 실내 내비게이션 구동시 사용자 단말에 표시된 이동 경로를 예시적으로 설명하기 위한 도면이다.
도 7 내지 18은 본 발명의 실시예에 따른 딥러닝 기반 실내외 약도 생성에 적용된 Validation Sequence Monocular SLAM을 예시적으로 도시한 도면이다.
도 19 내지 22는 본 발명의 실시예에 따른 딥러닝 기반 실내외 약도 생성 및 증강현실 실내 내비게이션의 실험 결과를 예시적으로 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 특히, 이하에서 첨부된 도면을 참조하여 설명될 기능, 특징, 실시예들은 단독으로 또는 다른 실시예와 결합하여 구현될 수 있다. 따라서 본 발명의 범위가 첨부된 도면에 도시된 형태에만 한정되는 것이 아님을 유의하여야 한다.
첨부된 도면 전체에 걸쳐서, 동일하거나 유사한 요소는 동일한 도면 부호를 사용하여 인용된다.
도 1은 본 발명의 실시예에 따른 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 구현하기 위한 실내 약도 앱 서버(100)의 물리적인 구성부를 개략적으로 도시하고 있다.
실내 약도 앱 서버(100)는 하나의 서버 또는 복수의 서버로 구성되며, 서버는 각각의 목적에 부합하는 프로그램을 실행하기 위한 하나 이상의 프로세서(110)와 메모리(120)를 구비한다. 추가적으로, 실내 약도 앱 서버(100)는 내장 또는 외장 저장장치를 포함할 수 있으며, 저장장치는 전기적, 자기적, 또는 광학적으로 정보를 기록 및 재생할 수 있다. 한편, 실내 약도 앱 서버(100)는 같은 시스템에 속한 다른 실내 약도 앱 서버(100) 또는 통신망을 통해 다른 시스템에 속한 서버와 통신할 수 있다. 본 명세서에서는 설명의 편의를 위해, 각 단계 또는 작업을 처리하는 주체를 시스템으로 표현하였지만, 실제로 모든 처리는 실내 약도 앱 서버(100)에 설치된 프로그램에 의한 명령을 수행하는 프로세서(110)와 메모리(120)에 의해 이루어질 수 있다.
도 1에 도시된 기본적인 구성을 가진 실내 약도 앱 서버(100)는 프로세서(110), 메모리(120), 데이터 저장 장치(130), 입출력 장치(140), 및 네트워크 장치(150)를 포함한다.
프로세서(110)는 데이터 연산 기능을 구비하며 사용자 단말의 작동을 전체적으로 제어한다. 상세하게, 프로세서(110)는 실내 약도 앱 서버(100)의 기본 기능을 수행하도록 구성부를 제어하며, 프로그램을 수행하도록 구성부를 제어한다. 이를 위해서, 프로세서(110)는 탑재된 오퍼레이팅 시스템과 협력하여 프로그램을 실행한다.
서버의 종류에 따라 달라질 수 있으나, 메모리(120)는 휘발성 메모리와 비휘발성 메모리를 포함할 수 있다. 메모리(120)는 메모리 컨트롤러(미도시)에 의해 작동이 제어된다. 휘발성 메모리는 예를 들어, RAM(Random Access Memory) 등이며, 비휘발성 메모리는 예를 들어, ROM(Read Only Memory), Flash memory 등이다. 메모리(120)는 사용자 단말의 기본적인 기능 수행에 필요한 오퍼레이팅 시스템, 미들웨어, API 등과 프로세서(110)에 의해 수행되는 프로그램 등을 구성하는 하나 이상의 파일 등을 저장하며, 프로그램의 실행 중 필요한 데이터를 저장한다.
실내 약도 앱 서버(100)는 추가적으로 데이터 저장 장치(130)를 포함할 수 있다. 데이터 저장 장치(130)는 착탈식 또는 고정식일 수 있으며, 예를 들어, 마그네틱 디스크, 옵티컬 디스크 등일 수 있으나, 이에 한정되는 것은 아니다. 데이터 저장 장치(130)는 판매정보를 내장한 멀티미디어 파일을 이용한 전자상거래 서비스를 구현하기 위한 프로그램, 프로그램을 실행하기 위한 데이터, 데이터베이스 등을 저장할 수 있다.
실내 약도 앱 서버(100)는 추가적으로 입출력 장치(140)를 포함할 수 있다. 입력 장치는 예를 들어 키보드, 마우스, 터치패드 등일 수 있으나, 이에 한정되지 않는다. 출력 장치는 디스플레이, 스피커, 프린터 등이나, 역시 이에 한정되지 않는다.
실내 약도 앱 서버(100)는 추가적으로 네트워크 장치(150)를 포함할 수 있다. 네트워크 장치(150)는 실내 약도 앱 서버(100)가 통신망을 통해서 외부 장치와 데이터를 송수신할 수 있게 한다. 실내 약도 앱 서버(100)가 송수신하는 데이터는 예를 들어 컴퓨터 관련 명령, 데이터 구조, 프로그램 모듈 등일 수 있으나, 이에 한정되지 않는다. 네트워크 장치(150)는 실내 약도 앱 서버(100)로부터 출력된 데이터를 미리 결정된 통신규약에 따라 전기/광 신호 또는 무선 신호로 변환하여 전송하고, 수신된 신호를 프로세서(110)에 전달한다.
도 2는 본 발명의 실시예에 따른 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 구현하기 위한 사용자 단말의 물리적인 구성부를 개략적으로 도시하고 있다.
도 2를 참조하면, 사용자 단말(200)은, 예를 들어, 프로세서(210), 무선 트랜시버(220), 디스플레이(230), 디스플레이 컨트롤러(235), 메모리(270), 메모리 컨트롤러(275), 입출력 장치(260), 보조 통신 모듈(225), 카메라 모듈(240) 및 전원(250)을 포함할 수 있다. 참고로, 도 2에 도시된 사용자 단말(200)의 구성부들은 하나의 예시일 뿐이며, 하나 이상의 구성부의 추가 또는 생략이 가능하다. 따라서, 본 발명에 따른 실시예들이 반드시 도 2에 도시된 구성부를 갖는 사용자 단말(200)에서만 구현 가능한 것이 아님을 이해하여야 한다.
사용자 단말(200)은 무선 트랜시버(220), 보조 통신 모듈(225) 및/또는 커넥터를 통해서 외부 장치와 통신한다. 외부 통신 장치는 통신망을 통해 통신 가능한 다른 사용자 단말(200), 컴퓨터 또는 서버를 포함한다. 통신망은 인터넷이나 무선 LAN과 같은 유무선 네트워크뿐만이 아니라 둘 이상의 장치를 연결하는 USB와 같은 케이블이나 블루투스와 같은 근거리 통신망도 포함하는 것으로 해석되어야 한다.
프로세서(210)는 데이터 연산 기능을 구비한 프로세서(210)로서 사용자 단말(200)의 작동을 전체적으로 제어한다. 상세하게, 프로세서(210)는 사용자의 입력 유무와 상관없이 사용자 단말(200)이 기본 기능을 수행하도록 구성부를 제어하며, 사용자의 입력에 따른 명령을 수행하도록 구성부를 제어한다. 이를 위해서, 프로세서(210)는 탑재된 오퍼레이팅 시스템과 협력하여 어플리케이션 프로그램(이하 앱이라 칭함)을 실행한다. 여기서, 앱은 사용자에 의해 또는 외부 장치에 의해 선택적으로 실행되는 프로그램뿐 아니라 단말의 기본 기능을 수행하기 위해 사용자의 선택과 상관없이 실행되는 프로그램도 포함한다. 상세하게, 프로세서(210)는 무선 트랜시버(220) 및/또는 보조 통신 모듈(225) 등을 통해 전기 신호의 형태로 입력된 음성/음향/데이터를 처리한다. 처리된 음성/음향/데이터는 디스플레이(230) 또는 입출력 장치(260)를 통해 출력된다. 사용자 단말(200)은 사용자가 선택할 수 있는 하나 이상의 앱을 표시하고 선택된 앱을 실행하여 사용자가 이용할 수 있도록 하는 유저 인터페이스를 디스플레이(230)에 표시한다. 유저 인터페이스를 통해서 사용자는 앱을 선택하여 실행시키고 필요한 작업을 할 수 있다.
무선 트랜시버(220)는 프로세서(210)의 제어에 의해 안테나(미도시)를 통해 하나 이상의 통신 방식에 따라 무선 신호를 송신하거나 수신한다. 여기서, 무선 트랜시버(220)는 예를 들어 W-CDMA, LTE 등과 같은 이동통신표준에 따른 기지국 등과 통신할 수 있다. 무선 트랜시버(220)는 프로세서(210)로부터 출력된 전기 신호를 무선 신호로 변환하여 통신망을 통해 외부 장치로 전송하며, 통신망을 통해 수신한 무선 신호를 전기 신호로 변환하여 프로세서(210)에 입력한다. 무선 트랜시버(220)가 송수신하는 무선 신호는 예를 들어, 음성 통화, 데이터, 텍스트/멀티미디어 메시지 등일 수 있다.
보조 통신 모듈(225)은 프로세서(210)의 제어에 의해 하나 이상의 통신 방식에 따라 유선 또는 무선 신호를 송신하거나 수신한다. 보조 통신 모듈(225)은 다양한 유무선 통신 방식을 지원할 수 있는데, 예를 들어, 근거리 무선 통신 방식인 무선 랜 등과 단거리 무선 통신 방식인 블루투스, 지그비, Wifi-Direct, NFC 등을 지원할 수 있을 뿐 아니라 유선 통신 방식인 LAN, USB 등도 지원할 수 있다.
사용자 단말(200)은 디스플레이(230)와 디스플레이 컨트롤러(235)를 포함한다. 디스플레이(230)는 예를 들어, LCD, OLED 등으로 구현될 수 있다. 한편, 디스플레이(230)는 하나 이상일 수 있으며, 예를 들어 디스플레이(230)가 둘인 경우, 각 디스플레이(230)는 사용자 단말(200)의 전면과 후면 등에 배치될 수 있다. 디스플레이 컨트롤러(235)는, 프로세서(210)의 제어에 의해, 프로세서(210)로부터 출력된 화면에 상응하는 전기 신호를 처리하여 디스플레이(230)에 출력되도록 디스플레이(230)를 제어한다. 한편, 디스플레이(230)는 사용자로부터 터치를 입력 받을 수 있는 터치 스크린일 수 있다. 이 경우, 터치 스크린은 입력 장치로 동작할 수 있다. 디스플레이(230)가 터치 스크린인 경우, 디스플레이 컨트롤러(235)는 디스플레이(230)상에 감지된 사용자의 터치에 상응하는 좌표를 생성할 수 있다. 생성된 좌표는 프로세서(210)에 입력된다. 여기서, 동시에 하나 이상의 지점에 대한 터치인 경우 좌표는 하나 이상일 수 있으며, 사용자가 드래그한 경우에는 좌표는 둘 이상일 수 있다.
카메라 모듈(240)은 프로세서(210)의 제어에 의해 정지 영상과 동영상 중 적어도 어느 하나를 촬영하는 하나 이상의 카메라를 포함한다. 카메라 모듈(240)이 촬영한 정지 영상 및/또는 동영상은 메모리(270)에 저장된다. 카메라가 둘 이상일 경우, 복수의 카메라 중 하나는 사용자 단말(200)의 전면에 배치되며, 나머지는 사용자 단말(200)의 후면에 배치될 수 있다.
전원(250)은 내장된 하나 또는 이상의 배터리를 포함하거나 사용자 단말(200)의 외부에 위치한 상용 전원(250)일 수 있으며, 프로세서(210)의 제어에 의해 사용자 단말(200)의 구성부에 전력을 공급한다. 한편, 상용 전원(250)을 통해 전력을 공급하는 경우, 사용자 단말(200)은 커넥터를 통해서 외부에 위치한 상용 전원(250)에 연결될 수 있다.
입출력 장치(260)는 예를 들어 버튼, 마이크, 스피커, 진동 모터, 커넥터 등을 포함할 수 있다. 한편, 도 2에 도시된 입출력 장치(260)는 다양한 종류의 사용자 단말(200)에 실질적으로 공통으로 구비되는 장치들을 예시적으로 도시한 것이며, 이외에도 다양한 입출력 장치(260)가 선택적으로 구비되거나 생략될 수 있음에 유의하여야 한다.
버튼은 사용자 단말(200)의 외부 표면에 위치되며, 사용자가 사용자 단말(200)의 기능을 선택 및/또는 실행하기 위한 명령을 입력하는데 이용된다. 버튼은, 예를 들어, 온/오프 버튼, 홈 버튼, 볼륨 버튼 등을 포함할 수 있다. 사용자가 임의의 버튼을 누르면, 버튼은 전기 신호를 프로세서(210)로 출력한다.
마이크는 음성이나 음향을 수신하여 이에 상응하는 전기 신호를 출력한다.
스피커는 입력된 전기 신호를 음성이나 음향으로 변환하여 출력한다. 스피커는 음성이나 음향은 외부 장치로부터 수신하거나 프로세서(210)로부터 수신한 전기 신호를 음성이나 음향으로 변환한다. 여기서, 프로세서(210)는 사용자가 사용자 단말(200)의 특정 기능을 선택하거나 실행할 때 상응하는 음향을 스피커를 통해 출력할 수 있다. 예를 들어, 동영상을 재생하는 경우, 동영상에 포함된 음성 파일이 스피커를 통해 출력될 수 있다.
햅틱 장치는 입력된 전기 신호를 햅틱 모션으로 변환하여 출력한다. 대표적인 햅틱 장치로 진동 모터가 있다. 진동 모터는 입력된 전기 신호에 상응하는 진동을 출력한다. 햅틱 장치는 외부 장치로부터 수신하거나 프로세서(210)로부터 수신한 전기 신호를 햅틱 모션으로 변환한다. 여기서, 프로세서(210)는 사용자가 사용자 단말(200)의 특정 기능을 선택하거나 실행할 때 상응하는 햅틱 모션을 햅틱 장치를 통해 출력할 수 있다. 예를 들어, 사용자가 버튼을 누르는 경우, 버튼이 눌려질 때마다 진동을 출력할 수 있다.
커넥터는 사용자 단말(200)과 외부 장치를 연결하는 인터페이스이다. 가장 단순한 예로, 커넥터는 사용자 단말(200)을 외부 전원(250)에 연결하기 위한 전력 커넥터 또는 스피커에 연결하기 위한 스피커/이어폰 잭일 수 있다. 한편, 예를 들어 USB와 같은 직렬 고속 인터페이스의 경우, 커넥터에 연결된 케이블을 통해서 데이터와 전력이 동시에 사용자 단말(200)에 공급될 수 있으며, 사용자 단말(200)은 데이터를 외부 장치에 전송할 수 있다. 또한, 예를 들어 유선 LAN 커넥터의 경우, 커넥터에 연결된 케이블을 통해서, 사용자 단말(200)은 인터넷에 연결된 외부 장치와 데이터를 송수신할 수 있다.
사용자 단말(200)은 메모리 컨트롤러(275)와 메모리(270)를 포함한다. 메모리(270)는 휘발성 메모리(270)와 비휘발성 메모리(270)를 포함한다. 휘발성 메모리(270)는 예를 들어, RAM(Random Access Memory) 등이며, 비휘발성 메모리(270)는 예를 들어, ROM(Read Only Memory), Flash memory 등이다. 메모리(270)는 사용자 단말(200)의 기본적인 기능 수행에 필요한 오퍼레이팅 시스템, 미들웨어, API 등과 프로세서(210)에 의해 수행되는 앱 등을 구성하는 하나 이상의 파일 등을 저장하며, 앱의 실행 중 필요한 데이터를 저장한다. 또한, 메모리(270)는 유저 인터페이스를 구성하는데 필요한 정보, 예를 들어, 앱의 이미지, 앱의 속성, 처리 루틴 등도 저장한다. 메모리 컨트롤러(275)는 메모리(270)의 작동을 제어한다. 예를 들어, 메모리 컨트롤러(275)는 프로세서(210)가 출력한 데이터에 상응하는 전기 신호를 메모리(270)가 저장하도록 제어하며, 프로세서(210)가 요구한 데이터를 메모리(270)가 출력하도록 제어한다.
도시되진 않았으나, 사용자 단말(200)은 지자기 센서를 더 포함할 수 있다. 지자기 센서는 특정 위치에서 지자기를 측정할 수 있다.
상술한 예시적인 구성을 갖는 사용자 단말(200)은 이하에서 본 발명의 실시예에 따른 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 설명할 때 함께 참조하여 설명된다. 도 2에 도시된 물리적인 구성부를 명시적으로 인용하지 않더라도, 본 발명의 실시예에 따른 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션이 물리적인 구성 없이 단순한 데이터 처리에 의해서만 구현되고 실행되는 것으로 해석되어서는 안 된다.
도 1 및 도 2를 참조하여 설명한 실내 약도 앱 서버(100)와 사용자 단말(200)가 딥러닝에 기반하여 실내 약도를 생성하고, 실내 내비게이션 서비스를 제공하는 방법을 개략적으로 설명한다.
실내 약도 앱 서버(100) 및/또는 사용자 단말(200)은, 이하에서 설명할 과정을 통해, 특정 건물의 실내를 촬영하여 전체 실내 약도 또는 부분 실내 약도를 생성할 수 있다. 여기서, 건물의 복수의 층으로 구성될 수 있으며, 제1 사용자 단말(200)은 건물의 지하층을 촬영하여 실내 약도를 생성하며, 제2 사용자 단말(200)은 건물의 1층을 촬영하여 실내 약도를 생성할 수 있다. 여기서, 전체 실내 약도는 건물의 모든 층에 대한 실내 약도뿐 아니라, 특정 층 전체에 대한 실내 약도를 의미하며, 부분 실내 약도는 특정 층의 일부 공간에 대한 실내 약도를 의미한다. 일 실시예로, 실내 약도 앱 서버(100)는 사용자 단말(200)이 촬영한 영상을 수신하여 전체 실내 약도 및/또는 부분 실내 약도를 생성할 수 있다. 다른 실시예로, 사용자 단말(200)이 실내 영상 촬영 및 실내 약도 생성을 수행할 수도 있다. 따라서 이하에서 설명할 과정들은 실내 약도 앱 서버(100) 및 사용자 단말(200) 중 어느 하나 또는 모두에서 프로세서(110, 210)에 의해 수행될 수 있다.
실내 약도 앱 서버(100)는 사용자 단말(200)로부터 수신한 전체 실내 약도 또는 부분 실내 약도를 관리하며, 사용자 단말(200)로부터의 요청에 의해 전체 실내를 사용자 단말(200)에 제공할 수 있다. 일 실시예로, 복수의 사용자 단말(200)로부터 특정 층에 대한 복수의 부분 실내 약도가 수신되면, 실내 약도 앱 서버(100)는 복수의 부분 실내 약도를 결합하여 전체 실내 약도를 생성할 수도 있다. 다른 실시예로, 동일 층의 상이한 영역에 대한 부분 실내 약도를 가진 둘 이상의 사용자 단말(2000은 서로의 부분 실내 약도를 교환할 수 있으며, 따라서 복수의 부분 실내 약도를 결합하는 과정은 사용자 단말(200)에 의해서도 수행될 수 있다.
도 3은 본 발명의 실시예에 따른 딥러닝 기반 실내 약도 생성 과정을 예시적으로 도시한 흐름도이며, 도 4는 본 발명의 실시예에 따른 딥러닝 기반 실내 약도를 생성하기 위해 촬영한 영상에서 특징점 추출을 예시적으로 설명하기 위한 도면이다.
도 3을 참조하면, 단계 300에서, 제1 사용자 단말(200)이 이동하면서 실내 공간을 촬영하여 제1 영상을 생성한다. 이동하는 제1 사용자 단말(200)에 의해 촬영 지점은 공간적으로 그리고 시간적으로 변경되며, 특정 공간 또는 특정 시점에서의 촬영 위치를 실내 위치라고 지칭한다. 제1 영상은 실내 약도 생성에 이용되는 동영상 또는 정지 영상이다. 제1 사용자 단말(200)은 복도의 실질적으로 중앙에서 전방을 향해 이동하면서 제1 영상을 생성할 수 있다. 이동 경로 생성을 요청한 제2 사용자 단말(200)의 다양한 자세 및 위치를 고려할 때, 제1 사용자 단말(200)은 고정된 위치에서 지향 방향을 변경하거나 상하 및/또는 좌우로 이동하면서 실내 공간을 촬영하여 제1 영상을 생성할 수 있다.
추가적으로 또는 선택적으로, 실내 위치는 지자기 센서의 측정값에 의해 특정될 수 있다. 측정값은 이동 경로 생성시 사용자 단말(200)의 초기 위치를 추정하는데 이용될 수 있다.
단계 310에서, 사용자 단말(200)은 제1 실내 위치에서 제1 영상에서 복수의 특징점을 추출한다. 도 4를 참조하면, 복수의 특징점은 다양한 특징점 추출 알고리즘, 예를 들어, Cauchy robust cost function 등을 이용하여 추출될 수 있다. 특징점은 예를 들어, 모서리, 두 영역간 경계 등일 수 있다. 일 실시예로, 복수의 특징점은 동영상의 키프레임에서 추출될 수 있다. 동영상은 일정 프레임 간격으로 키프레임을 포함하며, 복수의 특징점은 키프레임마다 추출될 수 있다. 영상 압축 방식에 따라 지칭하는 명칭이 상이하나, 키프레임은 연속한 두 키프레임 사이에 배치된 하나 이상의 중간 프레임보다 상대적으로 많은 영상 정보를 가진 프레임을 의미한다. 제1 실내 위치에서의 특징점 추출이 완료되면, 제2 실내 위치에서의 특징점 추출이 진행되어, 제1 영상 전체에 걸쳐 복수의 실내 위치 각각에 대해 서로 상이한 복수의 특징점이 연관된다.
복수의 특징점은 제1 실내 위치에서 3차원 좌표값으로 특정될 수 있다. 기본적으로, 제1 영상은 2차원 영상으로 x축 좌표 및 y 축 좌표에 의해 영상 내에서의 위치가 결정될 수 있다. 이에 더해, 제1 사용자 단말(200)의 위치, 즉, 촬영 위치로부터 전방으로 특징점까지의 거리를 나타내는 z축 좌표, 즉, 영상 깊이(depth)가 결정될 수 있다. z축 좌표는 TOF(Time of flight) 카메라, 또는 둘 이상의 카메라로 촬영한 영상을 처리하여 획득할 수 있다.
단계 320에서, 추출된 특징점 및 특징점이 추출된 실내 위치로 실내 약도를 생성한다. 특징점 및 실내 위치는 딥러닝 기반 학습 모델, 예를 들어, SLAM(Simultaneous Localization And Mapping), CNN-SLAM(Convolutional neural network-SLAM), DCNN(Deep Convolutional Neural Network) 등을 이용하여 실내 약도로 변환될 수 있다. 각 실내 위치마다 추출된 복수의 특징점은 생성된 실내 약도에 연관된다. 생성된 실내 약도는 실내 약도 앱 서버(100) 및/또는 제1 사용자 단말(200)에 의해 관리될 수 있다.
도 5는 본 발명의 실시예에 따른 딥러닝 기반 증강현실 실내 내비게이션 과정을 예시적으로 도시한 흐름도이며, 도 6은 도 5는 본 발명의 실시예에 따른 딥러닝 기반 증강현실 실내 내비게이션 구동시 사용자 단말에 표시된 이동 경로를 예시적으로 설명하기 위한 도면이다.
단계 400에서, 이동 경로 생성을 요청한 사용자 단말(200)이 제2 영상을 촬영하면, 최초 프레임에서 복수의 특징점이 추출되며, 추출된 특징점의 3차원 좌표가 산출될 수 있다. 제2 영상은 사용자 단말(200)의 디스플레이(230)에 표시된다. 실내 약도 생성시와 동일하게, 복수의 특징점은 다양한 특징점 추출 알고리즘을 이용하여 제2 영상의 첫 번째 키프레임에서 추출될 수 있다. 실내 약도 생성시 사용자 단말(200)의 자세 및 위치가 일정하게 유지된 것과 달리, 이동 경로를 생성하기 위해 생성된 제2 영상은 자세 및 위치가 가변적일 수 있다. 특징점 추적은 사용자 단말(200)의 초기 위치뿐 아니라 이동 방향을 추정하는데 이용된다.
단계 410에서, 사용자 단말(200)의 초기 위치가 실내 약도 상에서 추정된다. 도 3을 참조하여 설명한 바와 같이, 실내 약도상의 복수의 실내 위치 각각은 해당 위치에서 촬영한 제1 영상에서 추출한 복수의 특징점 및 이들의 좌표값과 연관되어 있다. 사용자 단말(200)의 최초 프레임에서 추출된 복수의 특징점 및 좌표값을 실내 약도에 연관된 복수의 특징점 및 이들의 좌표값과 비교하여 최소 오차를 갖는 실내 위치를 초기 위치로 추정할 수 있다. 실외와 달리, 실내 공간은 벽, 문, 복도, 조명 등과 같이 촬영 위치로부터 가까우면서, 반복되거나 대칭으로 배열된 구조로 구성되어 있기 때문에, 상이한 위치임에도 불구하고 특징점간의 오차가 작아 초기 위치로 추정할 수 있는 실내 위치가 복수로 존재할 수 있다.
일 실시예로, 사용자 단말(200)은 지자기 센서의 측정값을 이용하여 초기 위치를 추정할 수 있다. 추가적으로 또는 선택적으로, 지자기 센서의 측정값은 추정된 초기 위치를 확정하는데 이용될 수 있다.
단계 420에서, 제2 영상에서 복수의 특징점을 추적하여 오차를 산출한다. 추정된 초기 위치에 연관된 복수의 특징점은 연속하는 다음 키프레임에서도 실질적으로 동일하게 검출될 수 있다. 일 실시예로, 오차를 산출하기 전에, 사용자 단말(200)의 자세 및/또는 위치에 따른 영상 보정이 수행될 수 있다. 다른 실시예로, 사용자 단말(200)의 자세 및/또는 위치를 고려하여 특징점간의 오차가 산출될 수 있다.
단계 430에서, 추적중인 특징점과 실내 약도에 연관된 특징점간 오차가 증가하면, 초기 위치 추정에 오류가 있었음을 나타내는 반면, 오차가 감소하면, 초기 위치 추정이 정확하게 이루어졌음을 나타낸다. 일 실시예로, 하나의 초기 위치가 추정된 경우, 오차가 증가하면, 단계 410으로 되돌아가서, 제2 영상에서 특징점을 추출하고 좌표값을 산출하여 새로운 초기 위치를 추정한다. 다른 실시예로, 복수의 초기 위치가 추정된 경우, 오차가 증가하면, 오차가 산출되지 않은 다른 초기 위치가 선택될 수 있다. 오차가 감소하면 단계 440으로 진행한다.
단계 440에서, 추정된 초기 위치가 확정되면, 사용자 단말(200)의 이동 방향을 고려하여 이동 경로를 산출한다. 이동 경로는 초기 위치에서 목표 위치까지의 최단 경로로, 공지의 다양한 경로 산출 알고리즘을 이용할 수 있다. 이동 경로가 산출되면, 사용자 단말(200)의 초기 위치 및 이동 방향을 고려한 경로 안내 표지(500)가 제2 영상에 중첩되어 사용자 단말(200)의 디스플레이(230)에 표시된다.
도 7 내지 15는 본 발명의 실시예에 따른 딥러닝 기반 실내외 약도 생성에 적용된 Validation Sequence Monocular SLAM을 예시적으로 도시한 도면이다.
도 7을 참조하면, 사용자 단말에서 구동하는 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션 앱은 동시적 위치추정 및 지도작성 기술 즉, SLAM(Simultaneous Localization And Mapping)에 기반하여 제작되며, SLAM은 보통 라이더 센서와 카메라를 결합, 현실과 동일한 정밀 지도를 생성해 자율주행차의 위치를 추정하는 데 이용된다.
CodeSLAM 아이디어 기반으로 하는 새로운 SLAM 시스템은, 최적화된 GPU 사용 및 확률론적 통합을 가능하다. 이전 버전에서는 불가능했던 센서 형식 밀도가 높은 SLAM으로, 직접적으로 비교할 수 있는 다른 작업의 예는 CNN-SLAM이다. BA-Net(Dense Bundle Adjustment Network)은 일관성을 구축하고 최적화하는 실시간 SLAM 시스템 다중 키프레임 맵이다. DeepTAM(Tracking and Mapping)은 TV(Total-Variation)-L1 최적화와 카메라 추적을 모두 DCNN(Deep Convolutional Neural Network)으로 대체할 수 있다.
도 8을 참조하면, 최적의 소형 고밀도 코드 표현을 사용한 고밀도 다중 프레임 운동 문제가 예시되어 있다.
각 카메라 프레임 i는 6DoF(Depth of Field)월드 포즈 pi와 관련 코드 ci로 구성된다. 장면 기하학 G = D0(c0), Dn(cn) 및 카메라 포즈 p0 내지 pN에 대한 최선의 추정치를 찾기 위해 다양한 쌍들의 일관성 손실을 최소화한다.
도 9를 참조하면, Jacobian은 비선형 변환을 선형 변환으로 근사 시킨 과정이 예시되어 있다.
Figure pat00001
여기서,
Figure pat00002
는 전체 0 코드를 해독하여 얻은 깊이 맵이며,
Figure pat00003
는 이미지 조건의 Jacobian이다.
도 10을 참조하면, 코드 Jacobian ∂∂의 시각적 표현이 예시되어 있다. 서로 다른 섭동 코드 요소는 깊이 이미지의 다양한 영역에 영향을 미친다. 광도측정 오류는 Dense SLAM에서 일반적으로 사용되는 일관성 손실된다. 소스 이미지 강도
Figure pat00004
와 대상 이미지
Figure pat00005
가 프레임 i로 비틀어진 차이점을 직접 측정한다.
Figure pat00006
도 11을 참조하면, ω는 프레임 i의 픽셀 좌표 x를 프레임 j로 왜곡하는 경우가 예시되어 있다.
Figure pat00007
π과
Figure pat00008
은 각각 투영 및 재투영 함수,
Figure pat00009
는 코드
Figure pat00010
에서 디코딩된 깊이 맵(Depth map)이다.
Figure pat00011
∈SE(3)는 프레임 i에서 j로 변환하는 상대적 6DoF(6-degrees of freedom)변환한다.
Figure pat00012
Figure pat00013
는 프레임 i와 j 사이에 일치하는 두드러진 이미지 기능들의 집합이다. 일치하지 않는 형상을 처리하기 위해 features(특징점)에 대해 일정한 반응을 보이는 Cauchy robust cost function를 사용한다. 영상의 주요 특징점을 감지하고 설명하기 위해 BRISK(Binary robust invariance scalable keypoints)알고리즘을 사용한다. 광도 측정 오류 및 각도에 따른 이미지 변화에 따른 차이를 소스 이미지 광도와 대상 이미지 프레임 사이에 차이를 직접 측정하여 프레임의 왜곡을 각 투영 및 재투영 함수를 통해 상대값으로 변환 적용(BRISK 알고리즘 고려)한다.
도 12를 참조하면, 네트워크 아키텍처가 예시되어 있다. 하단 경로는 최적의 컴팩트 코드 c를 학습하는 스킵 연결이 없는 U-Net 깊이 자동 인코더이다. 인코더와 디코더는 Feature Network에서 연결된 이미지 형상에 조건화한다. 네트워크의 상단부는 입력 RGB 이미지에서 단심도 예측으로 디코딩되는 최적의 코드를 예측하는 방법을 학습한다. 깊이 디코더는 두 네트워크 사이에서 공유(연청색)한다.
Figure pat00014
또 다른 형태의 일관성은 장면 기하학의 차이와 함께 표현한다. 단순화된 형태에서 깊이 지도 Dj와 깊이 지도 Di가 뒤틀린 것을 프레임 j로 비교한다.
Figure pat00015
Figure pat00016
는 벡터 x의 z 성분을 취함을 의미한다. Huber norm을 오류에 대해 강력한 비용 함수로 사용한다. 계산을 저장하기 위해 균일하게 샘플링된 픽셀의 희박한 집합에 대해서만 손실을 평가한다. 각 반복마다 다른 픽셀 세트를 샘플링하여 전체 이미지에서 손실을 확률적으로 최적화한다. 중간 부분은 입력 RGB 이미지에서 U-Net(Convolutional Networks for Biomedical Image Segmentation) 추출 기능을 나타낸다. 도 12의 의 하단에는 최적의 콤팩트한 Depth 표현을 학습하는 Variational Auto-Encoder(VAE)가 묘사된다.
도 13을 참조하면, U-net이 예시되어 있다.
U-net은 네트워크 형태가 알파벳 U 와 형태가 비슷하게 생겼다고 해서 지어진 이름(이미지 분할을 위해 개발된 CNN)이다. 네트워크는 또한 재구성된 깊이
Figure pat00017
에 대한 Laplacian likelihood loss의 multi-resolution negative log에 사용되는 Feature Network와 함께 불확실성 매개변수 b를 예측한다.
Figure pat00018
Ω은 입력 깊이 D의 모든 픽셀 좌표의 집합예측 Depth 지도는 L1 손실과 함께 감독한다.
Figure pat00019
도 14를 참조하면, 카메라 트래킹이 예시되어 있다.
각 카메라 프레임은 표준 직접 전체 이미지 SE3 Lucas-Kanade 알고리즘의 GPGPU 구현을 사용하여 가장 가까운 키프레임에 대해 추적한다. 추적이 손실된 경우, 작은 해상도 이미지를 모든 키프레임에 맞춰 정렬하도록 다시 계산한다.
도 15를 참조하면, Incremental Keyframe Mapping이 예시되어 있다.
대규모 시나리오에서 최적화를 실현하기 위해 우리는 증분 매핑 알고리즘인 iSAM2에 의존한다. 3개의 키프레임과 최신 키프레임에 부착된 2개의 단방향 프레임을 포함하는 인자 그래프의 예이다.
도 16을 참조하면, Initialization이 예시되어 있다.
입력 강도 이미지가 부여된 두 가지 새로운 깊이 맵 초기화 방법이다. 맵 초기화시 제로 코드 및 명시적 코드 예측한다. 이미지에서 직접 초기 코드를 예측하는 추가 네트워크를 포함함으로써 더 개선된 초기 깊이 추정 가능하다.
도 17을 참조하면, Loop Closure가 예시되어 있다.
로컬 및 글로벌 루프를 감지하고 폐쇄한다. 마지막 10개의 키프레임의 활성 영역 안에서 상대적인 추정 포즈가 정확하다고 가정하며, 따라서 포즈 기반 기준을 사용하여 루프를 감지하고 키프레임 사이에 추가적인 쌍별 구속조건을 추가한다.
이것은 그래프를 타이트하게 하고 보다 일관된 로컬 재구성을 허용한다. 각각의 새로운 입력 프레임에서 우리는 또한 글로벌 루프 폐쇄 이벤트를 테스트한다. 활성 창 밖에서는 너무 많은 드리프트(drift)가 누적되었다고 가정하므로 추정치를 사용하여 루프를 닫을 수 없다.
초기 루프 후보는 단어 한 봉지 접근법을 사용하여 탐지되며, 이후 각 단어들에 대해 현재 프레임을 추적하고 결과 인라이어 수와 추정된 포즈 거리를 확인하여 추가로 제거된다. 일반적으로 수렴 분지가 더 작은 포토 메트릭 오류로 인해 두 키프레임 사이에서 감지 된 글로벌 루프를 닫을 때 재투영 계수(reprojection factors)만 추가한다.
도 18 내지 22는 본 발명의 실시예에 따른 딥러닝 기반 실내외 약도 생성 및 증강현실 실내 내비게이션의 실험 결과를 예시적으로 도시한 도면이다.
도 18을 참조하면, 학습이 예시되어 있다.
데이터 셋의 일부에 대해 네트워크를 학습한다. 영상 학습 데이터는 3.45GB의 영상/이미지를 사용한다. 네트워크는 13epochs를 대상으로 학습율 0.0001, 이미지 크기 256 ×192, 코드 크기 32로 학습한다.
도 19를 참조하면, 추정 궤적 및 재구성 오류에 대한 인자 유형의 영향 비교가 예시되어 있다.
ATE-RMSE(Absolute Trajectory Error Root-Mean Squared Error), absolute relative depth difference와 추정 깊이가 참 값의 10% 이내인 픽셀의 평균 백분율이다.
도 20을 참조하면, ICL-NUIM 및 TUM datasets에서 추정 Depth가 참 값의 10% 이내인 픽셀의 평균 백분율 평가가 예시되어 있다.
각 시스템에 의해 생산된 모든 키프레임에 대해 Depth가 참 값의 10% 이내인 픽셀의 비율을 계산하여 ground-truth에 대한 그들의 추정 깊이를 계산한다.
도 21을 참조하면, UM RGB-D 벤치마크의 검증 순서에 대한 시스템 평가 ATE RMSE[m]를 CNN-SLAM 및 DeepTAM의 결과와 비교가 예시되어 있다.
도 22를 참조하면, 이론 모델의 성능이 예시되어 있다.
이론 SLAM 시스템은 C++로 구현되었으며, CUDA를 사용하여 GPU로 고밀도 이미지 변형, 최적화 및 카메라 트랙킹 처리를 하며, 재투영(reprojection) 및 희소 기하학적 오차 요인은 CPU에서 계산처리한다. 네트워크, CUDA 커널, 시각화를 단일 NVIDIA GTX 1080 GPU에서 실행하고 256 ×192의 이미지 해상도를 사용한다.
이론 모델은 학습 된 콤팩트 심도 맵 표현의 개념을 사용하여 구축 된 실시간 확률적 고밀도 SLAM 시스템이다. 이론 모델은 기존 SLAM의 다양한 패러다임을 표준 인자 그래프 확률 프레임 워크의 데이터에서 학습한 사전과 결합하여 시스템이 더 견고함과 정밀도를 달성한다.
표준 프레임 워크를 사용하면 이전에는 순수 밀도가 높은 SLAM의 맥락에서 불가능했던 다양한 센서 방식으로 쉽게 확장 가능하다. 효율적인 C++ 구현과 면밀한 SLAM 설계로 실시간 성능을 확보한다. 강도 이미지만을 기반으로 비지도 방식으로 코드 표현을 학습하거나, 상대 포즈 예측 네트워크를 포함하면 카메라 추적을 강화하는 데 적용 가능하다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 특히, 도면을 참조하여 설명된 본 발명의 특징은 특정 도면에 도시된 구조에 한정되는 것이 아니며, 독립적으로 또는 다른 특징에 결합되어 구현될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (9)

  1. 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말에 있어서,
    실내를 촬영하여 제1 영상 및 제2 영상을 생성하는 카메라;
    실내 약도 생성 요청이 입력되면, 상기 제1 영상에서 복수의 제1 특징점을 추출하고, 추출된 복수의 제1 특징점에 연관된 실내 위치를 산출하고, 상기 복수의 제1 특징점 및 이에 연관된 실내 위치를 이용하여 실내 약도를 생성하며,
    이동 경로 생성 요청이 입력되면, 상기 제2 영상에서 복수의 제2 특징점을 추출하고, 추출된 복수의 제2 특징점을 상기 복수의 제1 특징점과 비교하여 상기 실내 위치 중에서 초기 위치를 추정하며, 추정된 초기 위치부터 이동하면서 촬영된 제2 영상에서 상기 복수의 제2 특징점의 적어도 일부를 추적하여 상기 초기 위치를 확정하는 프로세서; 및
    상기 제2 영상 및 이에 중첩된 경로 안내 표지를 표시하는 디스플레이를 포함하는 사용자 단말.
  2. 청구항 1에 있어서, 실내 약도 앱 서버와 통신하여 생성된 실내 약도를 등록 및 상기 실내 약도 앱 서버로부터 등록된 실내 약도를 다운로드하는 무선 트랜시버를 더 포함하는 사용자 단말.
  3. 청구항 1에 있어서, 상기 제1 특징점 및 상기 제2 특징점은 상기 제1 영상 내지 제3 영상의 키프레임에서 추출되며, 3차원 좌표값으로 특정되는 사용자 단말.
  4. 청구항 1에 있어서, 상기 프로세서는 상기 추정된 초기 위치부터 목표 위치까지의 이동 경로를 상기 실내 약도상에 설정하는 사용자 단말.
  5. 청구항 1에 있어서, 상기 프로세서는 SLAM(Simultaneous Localization And Mapping)을 구동하여 상기 복수의 제1 특징점 및 상기 실내 위치로 상기 실내 약도를 생성하는 상기 사용자 단말.
  6. 청구항 1에 있어서, 상기 프로세서는 BRISK(Binary robust invariance scalable keypoints) 알고리즘을 구동하여 상기 제1 특징점 및 상기 제2 특징점을 추출하는 사용자 단말.
  7. 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 방법을 수행하도록 하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은,
    사용자 단말이 실내를 촬영하여 생성한 제1 영상에서 복수의 제1 특징점을 추출하며, 추출된 복수의 제1 특징점에 연관된 실내 위치를 산출하는 단계;
    상기 복수의 제1 특징점 및 상기 실내 위치를 이용하여 실내 약도를 생성하는 단계;
    이동 경로 생성 요청이 입력되면, 상기 사용자 단말이 상기 실내를 촬영하여 생성한 제2 영상에서 복수의 제2 특징점을 추출하는 단계;
    추출된 복수의 제2 특징점을 상기 복수의 제1 특징점과 비교하여 상기 실내 위치 중에서 초기 위치를 추정하는 단계; 및
    추정된 초기 위치부터 이동하면서 촬영된 제2 영상에서 상기 복수의 제2 특징점의 적어도 일부를 추적하여 상기 초기 위치를 확정하는 단계를 포함하는, 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
  8. 청구항 7에 있어서, 상기 제1 특징점 및 상기 제2 특징점은 상기 제1 영상 및 제2 영상의 키프레임에서 추출되며, 3차원 좌표값으로 특정되는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
  9. 청구항 7에 있어서, 상기 추정된 초기 위치부터 목표 위치까지의 이동 경로를 상기 실내 약도상에 설정하는 단계를 더 포함하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
KR1020220134205A 2021-10-18 2022-10-18 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말 및 컴퓨터 프로그램 KR20230055387A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210138234 2021-10-18
KR1020210138234 2021-10-18

Publications (1)

Publication Number Publication Date
KR20230055387A true KR20230055387A (ko) 2023-04-25

Family

ID=86101638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220134205A KR20230055387A (ko) 2021-10-18 2022-10-18 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20230055387A (ko)

Similar Documents

Publication Publication Date Title
Chen et al. Crowd map: Accurate reconstruction of indoor floor plans from crowdsourced sensor-rich videos
JP5436559B2 (ja) ポータブル・デバイス上での画像アノテーション
US10062178B2 (en) Locating a portable device based on coded light
US10977525B2 (en) Indoor localization using real-time context fusion of visual information from static and dynamic cameras
US20140300775A1 (en) Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system
KR102198851B1 (ko) 물체의 3차원 모델 데이터 생성 방법
CN112161618B (zh) 仓储机器人定位与地图构建方法、机器人及存储介质
CN105074691A (zh) 上下文感知定位、映射和跟踪
US11113896B2 (en) Geophysical sensor positioning system
Feng et al. Visual Map Construction Using RGB‐D Sensors for Image‐Based Localization in Indoor Environments
Teng et al. CloudNavi: Toward ubiquitous indoor navigation service with 3D point clouds
Jang et al. Survey of landmark-based indoor positioning technologies
WO2021088497A1 (zh) 虚拟物体显示方法、全局地图更新方法以及设备
US20200164508A1 (en) System and Method for Probabilistic Multi-Robot Positioning
Xu et al. Smartphone-based crowdsourcing for panoramic virtual tour construction
Gaber et al. Localization and mapping for indoor navigation: survey
KR20230055387A (ko) 딥러닝 기반 실내 약도 생성 및 증강현실 실내 내비게이션을 지원하는 사용자 단말 및 컴퓨터 프로그램
US11700504B2 (en) Method and system for calibration of an indoor space
Chi et al. Locate, Tell, and Guide: Enabling public cameras to navigate the public
Jonas et al. IMAGO: Image-guided navigation for visually impaired people
Reichelt Design and implementation of an indoor modeling method through crowdsensing
Pipelidis et al. Models and tools for indoor maps
US20230354258A1 (en) Data processing method and apparatus
US20240196161A1 (en) Systems and methods of using wireless signatures
Louafi et al. A Review of Indoor Positioning Systems (IPS) and Their Different Use-Cases