KR20210156019A - 전방위 이미지 처리 방법 및 이를 수행하는 서버 - Google Patents

전방위 이미지 처리 방법 및 이를 수행하는 서버 Download PDF

Info

Publication number
KR20210156019A
KR20210156019A KR1020200073666A KR20200073666A KR20210156019A KR 20210156019 A KR20210156019 A KR 20210156019A KR 1020200073666 A KR1020200073666 A KR 1020200073666A KR 20200073666 A KR20200073666 A KR 20200073666A KR 20210156019 A KR20210156019 A KR 20210156019A
Authority
KR
South Korea
Prior art keywords
image
omnidirectional
images
computing device
mobile computing
Prior art date
Application number
KR1020200073666A
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 주식회사 쓰리아이
Priority to KR1020200073666A priority Critical patent/KR20210156019A/ko
Publication of KR20210156019A publication Critical patent/KR20210156019A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

서로 다른 위치에서 촬영된 복수의 전방위 이미지간에 효과적인 위치관계의 매핑 또는 연결(또는 정합)할 수 있는 방법 및 그 시스템이 개시된다. 본 발명의 일 측면에 따르면, 소정의 실내 공간 내의 서로 다른 각각의 위치에 상응하는 복수의 전방위 이미지(omni-directional image)를 획득하는 획득단계-여기서, 상기 복수의 전방위 이미지 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함; 및
상기 복수의 전방위 이미지 서로 간의 연결 관계를 판단하는 처리단계를 포함하는 서버에서 수행되는 전방위 이미지 처리 방법이 제공된다.

Description

전방위 이미지 처리 방법 및 이를 수행하는 서버{Method for processing omnidirectional image and server performing the same}
본 발명은 전방위 이미지 처리 방법 및 이를 수행하는 서버에 관한 것으로서, 보다 상세하게는 서로 다른 위치에서 촬영된 복수의 전방위 이미지간에 효과적인 위치관계의 매핑 또는 연결(또는 정합)할 수 있는 방법 및 이를 수행하는 서버 에 관한 것이다.
최근 특정 공간에 대한 가상 투어와 관련된 기술이 등장하고 있다. 예를 들어, 아파트 등의 건물의 실내 공간을 실제와 가깝게 체험할 수 있도록 실내 공간 내부의 특정 위치로 이동할 수 있으며 이동된 위치에서 촬영된 이미지를 보여주는 가상 투어와 같은 것을 들 수 있다. 이러한 가상 투어를 생성하기 위해서는 공간의 구조적인 특성을 반영하여 공간 내부 이미지 간의 위치 관계를 올바로 설정해야 할 필요가 다. 즉, 실제 현실에 부합하는 가상 투어를 형성하기 위해서는 각 이미지가 촬영된 정확한 위치를 파악하여 이를 해당 이미지에 대응시킬 필요가 있는데, 종전에는 이를 촬영 인력이 수동으로 해야 하는 번거로움이 있었다.
한편, 서로 다른 이미지들 간의 위상 매핑을 위한 기술이 널리 알려져 있다. 위상 매핑은 서로 다른 이미지들간의 상대적 위치관계를 파악하거나 또는 이미지들을 연결(또는 정합)하기 위한 기술일 수 있다.
일반적으로 서로 다른 이미지를 연결하기 위해서는 서로 공통된 공간을 포함하고 있는 두 이미지들 각각으로부터 피쳐 포인트를 검출하고, 검출된 피쳐 포인트들이 가장 에러가 적을 수 있도록 겹쳐지게 하는 변환함수(변환행렬, transformation matrix)를 통해 이미지를 변환하여 연결하는 방식이 이용된다.
또한 서로 다른 이미지들을 연결(정합)하지 않더라도 두 이미지간의 위치관계를 파악하기 위해 두 이미지에 각각 존재하는 서로 매칭되는 포인트들(예컨대, 공간에서 동일한 포인트에 해당하는 서로 다른 두 이미지에서의 포인트들)을 이용하는 기술적 사상들(예컨대, 에피폴라 지오메트리(epipolar geometry) 등)이 공지된 바 있다.
하지만 복수의 이미지들이 존재하고 이러한 이미지들 중에서 어떤 이미지들이 서로 연결되어야 할지 또는 어떤 이미지들이 서로 매핑될 수 있는 이미지들인지(예컨대, 동일한 공간을 포함하고 있는 이미지들)를 알 수 없는 경우가 존재할 수 있다. 즉 이미지들 각각의 위치 및/또는 방향을 알지 못하는 경우가 그러한 경우일 수 있다.
예컨대, 실내 공간의 서로 다른 복수의 위치들에서 각각 이미지((예컨대, 360도 이미지)을 촬영한 경우, 각각의 이미지들의 위치관계를 특정함으로써 실내 공간의 내비게이션 등과 같은 다양한 서비스가 원활히 이루어질 수 있다. 하지만 각각의 이미지가 촬영된 위치가 알려져 있지 않는 상태에서는 어떠한 이미지가 서로 매핑될 수 있는 이미지들인지 알 수 없다.
이러한 경우 이미지들 각각의 조합별로 서로 매핑될 수 있는지 여부를 판단하여야 한다. 하지만 이러한 태스크는 매우 많은 자원과 시간이 소요될 수 있다. 예컨대, 5개의 서로 다른 이미지가 존재하는 경우 서로 매핑될 수 있는 이미지 페어를 찾기 위해서는 제1이미지를 제2이미지 내지 제5이미지와 각각 페어로 설정하여 서로 매핑될 수 있는 이미지인지를 판단할 수 있다. 예컨대, 제1이미지와 공통된 피쳐 포인트들이 가장 많이 발견되는 이미지가 제1이미지와 매핑되는 이미지가 될 수 있다. 왜냐하면 서로 매핑되는 이미지는 공통된 공간을 촬영한 영역이 존재하는 경우이고, 이렇게 공통된 공간이 촬영된 영역에서는 서로 동일한 피쳐 포인트가 발견될 수 있기 때문이다.
이러한 태스크를 모든 이미지 페어별로 수행하여야만이 이미지들 간의 위상관계가 결정될 수 있고, 그 후 서로 인접한 이미지들간에 매핑이 수행될 수 있다. 본 명세서에서 매핑이 수행된다고 함은 두 이미지들이 연결(정합)될 수 있는 경우에는 두 이미지들을 정합하는 경우일 수도 있지만, 서로 다른 두 위치에서 촬영된 이미지들과 같이 연결(정합)될 필요가 없는 경우에는 두 이미지들간의 상대적인 위치관계를 파악하는 것을 포함하는 의미로 정의할 수 있다.
이처럼 이미지들의 개수가 많아질수록 매핑될 수 있는 이미지들의 파악 및 파악된 이미지들 간의 위치관계를 특정하는데 소요되는 비용은 기하급수적으로 증가하는 문제점이 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 건물 내부에서 촬영된 복수의 이미지들간의 매핑을 빠르고 효과적으로 수행할 수 있는 방법 및 시스템을 제공하는 것이다.
또한 특정한 공간 내부의 각 위치에서 촬영된 이미지를 해당 이미지가 촬영된 정확한 위치와 대응시킬 수 있도록 하는 기술적 사상을 제공하는 것이다.
본 발명의 일 측면에 따르면, 서버에서 수행되는 전방위 이미지 처리 방법으로서, 소정의 실내 공간 내의 서로 다른 각각의 위치에 상응하는 복수의 전방위 이미지(omni-directional image)를 획득하는 획득단계-여기서, 상기 복수의 전방위 이미지 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함; 및 상기 복수의 전방위 이미지 서로 간의 연결 관계를 판단하는 처리단계를 포함하되, 상기 획득단계는, 모바일 컴퓨팅 장치로부터 복수의 부분 촬영 이미지 및 상기 복수의 부분 촬영 이미지가 촬영될 시점의 상기 모바일 컴퓨팅 장치의 위치 정보를 포함하는 정보 세트를 수신하는 단계; 상기 정보 세트에 포함된 복수의 부분 촬영 이미지를 스티칭하여 상기 정보 세트에 상응하는 전방위 이미지를 생성하는 단계; 및 상기 정보 세트에 상응하는 전방위 이미지를 상기 정보 세트에 포함된 위치 정보와 대응시켜 저장하는 단계를 포함하고, 상기 모바일 컴퓨팅 장치는, 이동식 거치대에 설치되며, 상기 이동식 거치대에 설치되는 전방위 이미지 촬영 장치와 통신하고, 상기 모바일 컴퓨팅 장치의 위치를 추적하고, 상기 전방위 이미지 촬영장치가 이미지를 촬영하면 촬영 시의 상기 모바일 컴퓨팅 장치의 위치 정보를 획득하고, 상기 전방위 이미지 촬영장치에서 촬영된 복수의 부분 촬영 이미지 및 상기 복수의 부분 촬영 이미지가 촬영된 시점의 상기 모바일 컴퓨팅 장치의 위치 정보를 포함하는 정보 세트를 상기 전방위 이미지 맵 생성 서버로 전송하는 전방위 이미지 처리 방법이 제공된다.
일 실시예에서, 상기 모바일 컴퓨팅 장치는, 상기 모바일 컴퓨팅 장치의 자세를 더 추적하며, 상기 전방위 이미지 촬영장치에서 이미지가 촬영되면 촬영 시의 상기 모바일 컴퓨팅 장치의 자세 정보를 더 획득하고, 상기 모바일 컴퓨팅 장치가 전송하는 상기 정보 세트는 상기 복수의 부분 촬영 이미지가 촬영된 시점의 상기 모바일 컴퓨팅 장치의 자세 정보를 더 포함하는 전방위 이미지 처리 방법이 제공된다.
일 실시예에서, 상기 모바일 컴퓨팅 장치는 카메라 모듈을 포함하고, 상기 전방위 이미지 촬영 장치 및 상기 모바일 컴퓨팅 장치는, 상기 전방위 이미지 촬영 장치에 포함된 전방 카메라 모듈의 촬영 방향 및 상기 모바일 컴퓨팅 장치에 포함된 카메라 모듈의 촬영 방향이 소정의 오차 범위 내에서 일치되도록 상기 이동식 거치대에 설치되며, 상기 모바일 컴퓨팅 장치는, 상기 카메라 모듈에 의해 촬영되는 영상에 대한 VSLAM(Visual Simultaneous Localization and Mapping)을 수행하여 상기 모바일 컴퓨팅 장치의 위치 및 자세를 추적할 수 있다.
일 실시예에서, 상기 실내 공간에 상응하는 평면도를 획득하는 단계; 상기 복수의 정보 세트 중 어느 하나인 제1정보 세트에 포함된 제1위치 정보에 대응되는 상기 평면도 상의 제1지점, 및 상기 복수의 정보 세트 중 다른 하나인 제2정보 세트에 포함된 제2위치 정보에 대응되는 상기 평면도 상의 제2지점을 수신하는 단계; 및 상기 제1위치 정보에 의해 표현되는 제1위치와 상기 제2위치 정보에 의해 표현되는 제2위치 간의 위치 관계, 및 상기 제1지점과 상기 제2지점 간의 위치 관계에 기초하여, 상기 복수의 전방위 이미지를 상기 평면도 상에 배치하는 단계를 더 포함 할 수 있다.
일 실시예에서, 상기 처리단계는, 뉴럴 네트워크를 이용한 피쳐 추출기를 통해 상기 복수의 전방위 이미지 각각으로부터 피쳐들을 추출하는 단계; 및 상기 복수의 전방위 이미지 각각으로부터 추출된 피쳐들에 기초하여 상기 복수의 전방위 이미지 각각의 매핑 이미지를 판단하는 단계를 포함 할 수 있다..
일 실시예에서, 상기 복수의 전방위 이미지 각각의 매핑 이미지를 판단하는 단계는, 상기 복수의 전방위 이미지 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하는 단계; 상기 복수의 전방위 이미지 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에서 벡터 서치하는 단계; 및 상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함 할 수 있다..
일 실시예에서, 상기 처리 단계는, 상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계는, 상기 제1이미지로부터 추출된 제1피쳐들에 각각에 대응되는 상기 제1이미지상의 제1피쳐대응위치들 및 상기 제2이미지로부터 추출된 제2피쳐들에 각각에 대응되는 상기 제2이미지상의 제2피쳐대응위치들을 판단하는 단계; 및 판단된 제1피쳐대응위치들 및 상기 제2피쳐대응위치들에 기초하여 상기 제1이미지 및 상기 제2이미지의 상대적 위치관계를 판단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 뉴럴 네트워크는, 소정의 이미지를 겹치는 영역이 존재하도록 분할한 후, 분할한 이미지들 각각의 겹치는 공통영역에서 각각 추출되는 서로 대응되는 포인트들이 최적으로 매칭될 수 있는 변환관계를 출력하도록 학습된 뉴럴 네트워크일 수 있다.
일 실시예에서, 상기 처리단계는, 상기 복수의 전방위 이미지 각각으로부터 피쳐들을 추출하는 단계; 상기 복수의 전방위 이미지 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에서 벡터 서치하는 단계; 및 상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 상술한 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체가 제공된다.
본 발명의 다른 일 측면에 따르면, 데이터 처리장치에 설치되며 상술한 방법을 수행하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터프로그램이 제공된다.
본 발명의 다른 일 측면에 따르면, 서버로서, 프로세서; 및 프로그램이 저장된 메모리를 포함하되, 상기 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 서버가 전방위 이미지 처리 방법을 수행하도록 하되, 상기 전방위 이미지 처리 방법은, 소정의 실내 공간 내의 서로 다른 각각의 위치에 상응하는 복수의 전방위 이미지(omni-directional image)를 획득하는 획득단계-여기서, 상기 복수의 전방위 이미지 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함; 및 상기 복수의 전방위 이미지 서로 간의 연결 관계를 판단하는 처리단계를 포함하되, 상기 획득단계는, 모바일 컴퓨팅 장치로부터 복수의 부분 촬영 이미지 및 상기 복수의 부분 촬영 이미지가 촬영될 시점의 상기 모바일 컴퓨팅 장치의 위치 정보를 포함하는 정보 세트를 수신하는 단계; 상기 정보 세트에 포함된 복수의 부분 촬영 이미지를 스티칭하여 상기 정보 세트에 상응하는 전방위 이미지를 생성하는 단계; 및 상기 정보 세트에 상응하는 전방위 이미지를 상기 정보 세트에 포함된 위치 정보와 대응시켜 저장하는 단계를 포함하고, 상기 모바일 컴퓨팅 장치는, 이동식 거치대에 설치되며, 상기 이동식 거치대에 설치되는 전방위 이미지 촬영 장치와 통신하고, 상기 모바일 컴퓨팅 장치의 위치를 추적하고, 상기 전방위 이미지 촬영장치에서 이미지가 촬영되면 촬영 시의 상기 모바일 컴퓨팅 장치의 위치 정보를 획득하고, 상기 전방위 이미지 촬영장치에서 촬영된 촬영 이미지 및 상기 촬영 이미지의 촬영 시점의 상기 모바일 컴퓨팅 장치의 위치 정보를 포함하는 정보 세트를 상기 전방위 이미지 맵 생성 서버로 전송하는 서버가 제공된다.
일 실시예에서, 상기 전방위 이미지 처리 방법은, 상기 실내 공간에 상응하는 평면도를 획득하는 단계; 상기 복수의 정보 세트 중 어느 하나인 제1정보 세트에 포함된 제1위치 정보에 대응되는 상기 평면도 상의 제1지점, 및 상기 복수의 정보 세트 중 다른 하나인 제2정보 세트에 포함된 제2위치 정보에 대응되는 상기 평면도 상의 제2지점을 수신하는 단계; 및 상기 제1위치 정보에 의해 표현되는 제1위치와 상기 제2위치 정보에 의해 표현되는 제2위치 간의 위치 관계, 및 상기 제1지점과 상기 제2지점 간의 위치 관계에 기초하여, 상기 복수의 전방위 이미지를 상기 평면도 상에 배치하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 처리단계는, 뉴럴 네트워크를 이용한 피쳐 추출기를 통해 상기 복수의 전방위 이미지 각각으로부터 피쳐들을 추출하는 단계; 및 상기 복수의 전방위 이미지 각각으로부터 추출된 피쳐들에 기초하여 상기 복수의 전방위 이미지 각각의 매핑 이미지를 판단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복수의 전방위 이미지 각각의 매핑 이미지를 판단하는 단계는, 상기 복수의 전방위 이미지 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하는 단계; 상기 복수의 전방위 이미지 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에서 벡터 서치하는 단계; 및 상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함 할 수 있다.
일 실시예에서, 상기 처리 단계는, 상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계를 더 포함 할 수 있다.
일 실시예에서, 상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계는, 상기 제1이미지로부터 추출된 제1피쳐들에 각각에 대응되는 상기 제1이미지상의 제1피쳐대응위치들 및 상기 제2이미지로부터 추출된 제2피쳐들에 각각에 대응되는 상기 제2이미지상의 제2피쳐대응위치들을 판단하는 단계; 및 판단된 제1피쳐대응위치들 및 상기 제2피쳐대응위치들에 기초하여 상기 제1이미지 및 상기 제2이미지의 상대적 위치관계를 판단하는 단계를 포함 할 수 있다.
일 실시예에서, 상기 뉴럴 네트워크는, 소정의 이미지를 겹치는 영역이 존재하도록 분할한 후, 분할한 이미지들 각각의 겹치는 공통영역에서 각각 추출되는 서로 대응되는 포인트들이 최적으로 매칭될 수 있는 변환관계를 출력하도록 학습된 뉴럴 네트워크일 수 있다.
일 실시예에서, 상기 처리단계는, 상기 복수의 전방위 이미지 각각으로부터 피쳐들을 추출하는 단계; 상기 복수의 전방위 이미지 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에서 벡터 서치하는 단계; 및 상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 건물 내부에서 촬영된 복수의 이미지들간의 매핑을 빠르고 효과적으로 수행할 수 있는 시스템 및 방법을 제공할 수 있다.
또한 특정한 공간 내부의 각 위치에서 촬영된 이미지를 해당 이미지가 촬영된 정확한 위치와 대응시킬 수 있도록 할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 전방향 이미지 촬영 어셈블리의 일 예를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 전방향 이미지 촬영 어셈블리와 서버간에 동작을 개략적으로 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 전방위 이미지 촬영 장치의 구성을 개략적으로 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 모바일 컴퓨팅 장치의 구성을 개략적으로 도시한 블록도이다.
도 5는 소정의 실내 공간의 평면도 및 상기 실내 공간 상의 서로 다른 촬영 위치의 일 예를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 전방위 이미지 처리 방법을 설명하기 위한 흐름도를 도시한 것이다.
도 7은 하나의 촬영 위치에 상응하는 전방위 이미지를 획득하는 과정의 일 예를 도시한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법을 설명하기 위한 도면이다.
도 9는 본 발명의 실시 예에 따른 자동 위상 매핑 처리시스템의 개략적인 구성을 나타내는 도면이다.
도 10은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법을 위해 뉴럴 네트워크의 피쳐를 이용하는 개념을 설명하기 위한 도면이다.
도 11은 본 발명의 실시 예에 따른 자동 위상 매핑 처리시스템의 논리적 구성을 개략적으로 설명하기 위한 도면이다.
도 12는 본 발명의 실시 예에 따른 뉴럴 네트워크 피쳐를 이용할 경우의 장점을 설명하기 위한 도면이다.
도 13은 본 발명의 실시 예에 따른 뉴럴 네트워크 피쳐에 대응되는 피쳐 위치를 설명하기 위한 도면이다.
도 14는 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법에서 이미지들 간의 매핑 이미지를 탐색하는 방법을 설명하기 위한 플로우 차트이다.
도 15는 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법에서 이미지들을 매핑하기 위한 방법을 설명하기 위한 플로우 차트이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 전방향 이미지 촬영 어셈블리의 일 예를 도시한 도면이며, 도 2는 본 발명의 일 실시예에 따른 전방향 이미지 촬영 어셈블리와 서버간에 동작을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 상기 전방향 이미지 촬영 어셈블리(200)는 전방향 이미지 촬영 장치(300), 모바일 컴퓨팅 장치(400) 및 이동식 거치대(500)를 포함할 수 있다.
전방향 이미지 촬영 장치(omnidirectional camera; 300)는 360도 카메라라고도 불리며, 구형의 화각으로 촬영하거나 구형의 화각을 가지는 이미지를 생성하기 위한 복수의 부분 이미지를 촬영할 수 있는 장치일 수 있다.
예를 들어 상기 전방향 이미지 촬영 장치(300)는, 상기 전면/후면/좌측면/우측면에 각각 설치되는 4개의 카메라 모듈(예를 들어, 320, 340)을 포함할 수 있으며, 이들 카메라 모듈을 통해 촬영되는 이미지가 스티칭되어 전방향 이미지가 생성될 수 있다. 이외에도 전면/후면에 각각 반구형의 화각을 가지는 카메라 모듈이 설치되는 형태 등 다양한 형태의 전방향 이미지 촬영 장치가 있을 수 있음은 물론이다.
상기 전방향 이미지 촬영 장치(300)에 구비되는 카메라 모듈(예를 들어, 320, 340)은 어안렌즈를 포함할 수 있다.
모바일 컴퓨팅 장치(400)는 스마트폰, 태블릿, PDA 등의 모바일 프로세싱 장치를 포함할 수 있다.
상기 전방향 이미지 촬영 장치(300) 및 상기 모바일 컴퓨팅 장치(400)는 상기 이동식 거치대(500)에 수 있다. 이동식 거치대(500)는 전후좌우로 이동하기 위한 바퀴(520)를 구비할 수 있으며, 상기 전방향 이미지 촬영 장치(300) 및 상기 모바일 컴퓨팅 장치(400)를 거치하기 위한 거치 수단을 구비할 수 있다.
한편, 일 실시예에서, 상기 이동식 거치대(500)는 상기 이동식 거치대의 거치봉(510)을 회전축으로 하여 회전하는 회전체(600)를 더 포함할 수 있으며, 상기 모바일 컴퓨팅 장치(400)는 상기 회전체(600)에 설치될 수 있다. 다른 일 실시예에서, 상기 전방향 이미지 촬영 어셈블리(200)는 모바일 컴퓨팅 장치(400) 대신 전방향 이미지 촬영 장치(300)가 회전체(600)에 설치되는 형태로도 구현될 수 있다.
도 2를 참조하면, 상기 모바일 컴퓨팅 장치(400)와 상기 전방향 이미지 촬영 장치(300)는 유선통신 혹은 무선통신을 통해 서로 연결되어 본 발명의 기술적 사상을 구현하는데 필요한 각종 정보, 신호 및/또는 데이터를 송수신할 수 있다. 예를 들어, 무선통신은 3G, LTE, LTE-A, 5G, Wi-Fi, WiGig, Ultra Wide Band(UWB), LAN 카드 등의 원거리 이동통신 혹은 MST, Bluetooth, NFC, RFID, ZigBee, Z-Wave, IR 등의 근거리 무선통신을 포함할 수 있다.
상기 모바일 컴퓨팅 장치(400)는 전방향 이미지 촬영장치(300)에 소정의 신호를 전송하여 상기 전방향 이미지 촬영장치(300)가 촬영하도록 제어할 수 있다. 상기 전방향 이미지 촬영장치(300)는 촬영한 이미지 혹은 이미지들을 상기 모바일 컴퓨팅 장치(400)로 전송할 수 있다.
한편, 상기 모바일 컴퓨팅 장치(400)는 원격 서버(100)와 유무선 통신(예를 들어, 인터넷)을 통하여 연결될 수 있다. 상기 모바일 컴퓨팅 장치(400)는 상기 전방향 이미지 촬영장치(300)에 의해 촬영된 이미지 혹은 이미지들을 상기 서버(100)로 전송할 수 있다. 상기 서버(100)는 상기 모바일 컴퓨팅 장치(400)로부터 전송된 이미지 혹은 이미지들을 대상으로 후술할 전방위 이미지 처리 방법을 수행할 수 있다.
한편 상기 모바일 컴퓨팅 장치(400)는 자신의 위치 및/또는 자세를 추적할 수 있으며, 상기 전방향 이미지 촬영장치(300)가 이미지 혹은 이미지들을 촬영할 당시의 위치/자세 정보를 촬영된 이미지 혹은 이미지들과 함께 상기 서버(100)로 더 전송할 수 있다.
도 3은 본 발명의 일 실시예에 따른 전방위 이미지 촬영 장치(300)의 구성을 개략적으로 도시한 블록도이다.
도 3을 참조하면, 상기 전방위 이미지 촬영 장치(300)는 전면 카메라(310), 후면 카메라(320), 좌측면 카메라(330), 우측면 카메라(340), 통신장치(350) 및 제어장치(360)를 포함할 수 있다. 본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 전방위 이미지 촬영 장치(300)는 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다.
상기 전면 카메라(310), 후면 카메라(320), 좌측면 카메라(330), 우측면 카메라(340)는 각각 상기 전방위 이미지 촬영 장치(300)의 전면, 후면, 좌측면 및 우측면에 설치될 수 있으며, 어안렌즈를 포함할 수 있다.
상기 전면 카메라(310), 후면 카메라(320), 좌측면 카메라(330), 우측면 카메라(340)에서 각각 촬영된 4개의 부분 이미지는 스티칭을 통해 하나의 전방위 이미지로 합성될 수 있다. 이미지 스티칭은 상기 서버(100) 또는 상기 모바일 컴퓨팅 장치(400)에서 수행될 수 있다.
실시예에 따라 상기 전방위 이미지 촬영 장치(300)는 전면 카메라(310), 후면 카메라(320), 좌측면 카메라(330), 우측면 카메라(340) 중 적어도 일부만을 포함할 수 있다. 예를 들어, 상기 전방위 이미지 촬영 장치(300)는 전면 카메라(310), 후면 카메라(320)만을 포함할 수도 있다.
상기 통신장치(350)은 상기 모바일 컴퓨팅 장치(400)와 유무선 통신을 수행할 수 있다.
상기 제어장치(360)는 상기 전방위 이미지 촬영 장치(300)의 다른 구성(예를 들어, 전면 카메라(310), 후면 카메라(320), 좌측면 카메라(330), 우측면 카메라(340), 통신 장치(350) 등)의 기능 및/또는 리소스를 제어할 수 있다. 상기 제어장치(360)는 CPU, APU, 모바일 프로세싱 장치 등을 포함할 수 있다.
예를 들어, 상기 제어장치(360)는 소정의 신호가 발생하는 경우(예를 들어, 상기 모바일 컴퓨팅 장치(400)로부터 소정의 촬영 신호를 수신하는 경우), 상기 전면 카메라(310), 후면 카메라(320), 좌측면 카메라(330), 우측면 카메라(340)가 이미지를 촬영하도록 제어할 수 있으며, 상기 통신 장치(350)가 촬영한 이미지를 상기 모바일 컴퓨팅 장치(400)로 전송하도록 제어할 수 있다.
도 4는 본 발명의 일 실시예에 따른 모바일 컴퓨팅 장치(400)의 구성을 개략적으로 도시한 블록도이다.
도 4를 참조하면, 상기 모바일 컴퓨팅 장치(400)는 통신모듈(410), 추적모듈(420), 제어모듈(430), 저장모듈(440), 전송모듈(450)을 포함할 수 있다. 실시예에 따라 상기 모바일 컴퓨팅 장치(400)는 회전체 제어모듈(460)을 더 포함할 수 있다. 본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 모바일 컴퓨팅 장치(400)는 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예를 들어, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 통상의 기술자에게는 용이하게 추론될 수 있다.
상기 제어모듈(430)은 상기 모바일 컴퓨팅 장치(400)에 포함된 다른 구성(예를 들면, 통신모듈(410), 추적모듈(420), 저장모듈(440), 전송모듈(450) 등)의 기능 및/또는 리소스(resource)를 제어할 수 있다.
상기 통신모듈(410)은 외부 장치와 통신을 수행하며, 각종 신호, 정보, 데이터를 송수신할 수 있다. 예를 들어, 상기 통신모듈(410)은 상기 전방위 이미지 촬영장치(300)와 유선통신 또는 무선통신을 수행할 수 있다. 상기 통신모듈(410)은 3G 모듈, LTE 모듈, LTE-A 모듈, Wi-Fi 모듈, WiGig 모듈, Ultra Wide Band(UWB) 모듈, LAN 카드 등의 원거리 통신 모듈 혹은 MST 모듈, Bluetooth 모듈, NFC 모듈, RFID 모듈, ZigBee 모듈, Z-Wave 모듈, IR 모듈 등의 근거리 통신 모듈을 포함할 수 있다.
상기 추적모듈(420)은 상기 모바일 컴퓨팅 장치(400)의 위치 및/또는 자세를 추적할 수 있다.
일 실시예에서, 상기 추적모듈(420)은 VSLAM(Visual Simultaneous Localization and Mapping)을 통하여 상기 모바일 컴퓨팅 장치(400)의 위치 및/또는 자세를 추적할 수 있다. 이를 위하여 상기 모바일 컴퓨팅 장치(400)는 카메라 모듈을 더 포함할 수 있으며, 상기 카메라 모듈에 의해 촬영되는 영상에 대한 VSLAM을 수행하여 상기 모바일 컴퓨팅 장치(400)의 위치 및 자세를 추적할 수 있다. 이때, 상기 전방위 이미지 촬영 장치(300) 및 상기 모바일 컴퓨팅 장치(400)는, 상기 전방위 이미지 촬영 장치(300)에 포함된 전방 카메라(310)의 촬영 방향 및 상기 모바일 컴퓨팅 장치(400)에 포함된 카메라 모듈의 촬영 방향이 소정의 오차 범위 내에서 일치되도록 상기 이동식 거치대(200)에 설치될 수 있다.
이 외에도 실시예에 따라 상기 추적모듈(420)은 다양한 방식으로 상기 모바일 컴퓨팅 장치(400)의 위치를 추적할 수 있다. 예를 들어, 상기 추적모듈(420)은 각종 Wi-Fi 또는 Bluetooth 기반의 실내 위치 측위 기술 등을 통하여 상기 모바일 컴퓨팅 장치(400)의 위치를 추적할 수 있으며, 상기 모바일 컴퓨팅 장치(400)에 내장된 IMU 및/또는 속도 센서를 통하여 상기 모바일 컴퓨팅 장치(400)의 위치 및/또는 자세를 추적할 수 있다.
상기 제어모듈(430)은 상기 전방위 이미지 촬영장치(300)가 이미지를 촬영하도록 하기 위한 소정의 촬영신호가 전송되도록 제어할 수 있으며, 이에 응답하여 상기 전방위 이미지 촬영장치(300)가 이미지를 촬영하면 촬영 시의 상기 모바일 컴퓨팅 장치(400)의 위치 정보 및/또는 자세 정보를 획득할 수 있다.
예를 들어, 상기 제어모듈(430)은 상기 촬영신호가 전송된 시점 혹은 상기 상기 전방위 이미지 촬영장치(300)로부터 이미지를 촬영된 이미지를 수신하는 시점을 기준으로 상기 모바일 컴퓨팅 장치(400)의 위치 정보 및/또는 자세 정보를 획득할 수 있다.
한편, 상기 저장모듈(440)은 상기 전방위 이미지 촬영장치(300)에서 촬영된 촬영 이미지 및 상기 촬영 이미지가 촬영된 시점의 상기 모바일 컴퓨팅 장치의 위치 정보 및/또는 자세정보를 저장할 수 있다.
상기 전송모듈(450)은 유무선 통신망(예를 들어, 인터넷)을 통하여 상기 서버(100)로 소정의 정보를 전송할 수 있다. 예를 들어, 상기 전송모듈(450)은 상기 전방위 이미지 촬영장치(300)에서 촬영된 복수의 부분 촬영 이미지 및 상기 복수의 부분 촬영 이미지가 촬영된 시점의 상기 모바일 컴퓨팅 장치(400)의 위치 정보 및/또는 자세 정보를 포함하는 정보 세트를 상기 서버(100)로 전송할 수 있다.
일 실시예에서, 상기 정보 세트는 자바스크립트 오브젝트 노테이션(JavaScript Object Notation) 형식일 수 있다.
상기 이미지 촬영 어셈블리(200)는 상기 서버(100)가 소정의 실내 공간의 서로 다른 여러 장소에서 전방위 이미지(혹은 전방위 이미지를 생성하기 위한 복수의 부분 촬영 이미지)가 촬영될 수 있도록 하고, 촬영된 이미지를 상기 서버로 전송하여, 상기 서버가 복수의 전방위 이미지를 대상으로 하는 전방위 이미지 처리 방법(이에 대해서는 후술함)을 수행할 수 있도록 할 수 있는데, 이에 대하여 도 5를 참조하여 설명하기로 한다.
도 5는 소정의 실내 공간의 평면도 및 상기 실내 공간 상의 서로 다른 촬영 위치의 일 예를 도시한 도면이다. 도 5를 참조하면, 전방향 이미지 촬영 어셈블리(200)는 실내 공간(10) 상의 서로 다른 여러 위치(11 내지 18)로 차례로 이동할 수 있다. 각 위치(11 내지 18)에서 상기 전방향 이미지 촬영 어셈블리(200)에 설치된 전방위 이미지 촬영장치(300)는 해당 위치에 상응하는 복수의 부분 촬영 이미지를 촬영할 수 있으며, 모바일 컴퓨팅 장치(300)는 각 위치(11 내지 18)에서 촬영된 부분 촬영 이미지를 해당 이미지가 촬영된 위치 및/또는 모바일 컴퓨팅 장치(200)의 자세에 관한 정보와 함께 서버(100)로 전송할 수 있다. 결국, 상기 서버(100)는 위치(11) 내지 위치 (18)에 상응하는 각각에 상응하는 정보 세트를 수신할 수 있으며, 예를 들어 위치 (11)에 상응하는 정보 세트에는 위치(11)에서 촬영된 복수의 부분 촬영이미지, 위치(11)의 정보, 위치(11)에서 촬영할 당시의 모바일 컴퓨팅 장치(300)의 자세 정보를 포함할 수 있다.
다시 도 4를 참조하면, 상기 회전체 제어모듈(460)은 상기 전방위 이미지 촬영 장치(200)에 포함된 전면 카메라(210)의 촬영 방향 및 상기 모바일 컴퓨팅 장치(300)에 포함된 카메라 모듈의 촬영 방향이 소정의 오차 범위 내에서 일치되도록 상기 회전체(600)의 회전을 제어할 수 있다.
일 실시예에서, 상기 회전체 제어모듈(460)은 상기 전방위 이미지 촬영 장치(200)에 포함된 전면 카메라(210)가 촬영하는 영상 및 상기 모바일 컴퓨팅 장치(300)에 포함된 카메라 모듈에서 촬영하는 영상에 기초하여 상기 회전체(600)의 회전을 제어할 수 있다.
상술한 바와 같이, 상기 서버(100)는 전방위 이미지 처리 방법을 수행할 수 있다. 상기 전방위 이미지 처리 방법은 소정의 실내 공간 내의 서로 다른 각각의 위치에 상응하는 복수의 전방위 이미지(omni-directional image)간의 연결 관계를 판단하는 방법일 수 있다. 이때, 여기서, 상기 복수의 전방위 이미지 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재할 수 있다. 이는 상기 복수의 전방위 이미지 각각은 나머지 전방위 이미지 중 적어도 하나와 촬영 공간을 공유함을 의미할 수 있으며, 이때, 두 이미지가 촬영 공간을 공유한다고 함은 두 이미지에 촬영된 공간 중 적어도 일부가 겹침을 의미할 수 있다.
이하에서는 상기 서버(100)가 수행하는 전방위 이미지 처리 방법에 관하여 보다 상세하게 설명하기로 한다.
도 6은 상기 서버(100)가 수행하는 본 발명의 일 실시예에 따른 전방위 이미지 처리 방법을 설명하기 위한 흐름도를 도시한 것이다.
도 6을 참조하면, 상기 서버(100)는 소정의 실내 공간 내의 서로 다른 각각의 위치에 상응하는 복수의 전방위 이미지(omni-directional image)를 획득할 수 있다(S10).
일 실시예에서, 상기 서버(100)는 상기 모바일 컴퓨팅 장치(400)로부터 수신하는 복수의 부분 촬영 이미지에 기초하여 상기 복수의 부분 촬영 이미지에 상응하는 전방위 이미지를 획득할 수 있다(S10). 이에 관한 보다 상세한 과정이 도 7에 도시되어 있다. 도 7은 하나의 촬영 위치에 상응하는 전방위 이미지를 획득하는 과정의 일 예를 도시한 흐름도이다.
도 7을 참조하면, 상기 서버(100)는 전방위 이미지를 획득하기 위하여, 모바일 컴퓨팅 장치(400)로부터 복수의 부분 촬영 이미지 및, 상기 복수의 부분 촬영 이미지가 촬영될 시점의 상기 모바일 컴퓨팅 장치의 위치 정보 및/또는 자세 정보를 포함하는 정보 세트를 수신할 수 있으며(S11), 상기 정보 세트에 포함된 복수의 부분 촬영 이미지를 스티칭하여 상기 정보 세트에 상응하는 전방위 이미지를 생성할 수 있다(S12).
예를 들어, 상기 서버(100)는 상기 모바일 컴퓨팅 장치(400)로부터 상기 전방위 이미지 촬영 장치(200)에 의해 촬영된 전방 촬영 이미지, 후방 촬영이미지, 좌측 촬영이미지 및 우측 촬영 이미지(이는 상기 정보 세트에 포함되어 있음)에 대한 이미지 스티칭을 수행함으로써 전방위 이미지를 생성할 수 있다.
이후, 상기 서버(100)는 상기 정보 세트에 상응하는 전방위 이미지를 상기 정보 세트에 포함된 위치 정보 및/또는 자세 정보와 대응시켜 저장할 수 있다(S13).
한편, 다른 일 실시예에서는 이미지 스티칭이 상기 모바일 컴퓨팅 장치(400)에서 수행될 수도 있다. 이 경우, 상기 서버(100)는 스티칭된 전방위 이미지를 상기 모바일 컴퓨팅 장치(400)로부터 수신할 수 있다.
다시 도 6을 참조하면, 상기 서버(100)는 후술할 자동 위상 매핑처리 방법을 수행하여, 복수의 전방위 이미지 서로 간의 연결 관계를 판단할 수 있다. 이하에서는 본 발명의 기술적 사상에 따른 자동 위상 매핑처리 방법 및 이를 수행하는 상기 서버(100)에 관하여 보다 상세하게 설명하기로 한다.
도 8은 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법을 구현하기 위한 개략적인 구성을 설명하기 위한 도면이다. 또한, 도 9는 본 발명의 실시 예에 따른 자동 위상 매핑 처리 방법을 수행하기 위한 서버(100)의 개략적인 구성을 나타내는 도면이다.
상기 서버(100)는 본 발명의 기술적 사상을 구현하기 위한 프로그램이 저장되는 메모리(2), 및 상기 메모리(2)에 저장된 프로그램을 실행하기 위한 프로세서(1)가 구비될 수 있다.
상기 프로세서(1)는 상기 서버(100)의 구현 예에 따라, CPU, 모바일 프로세서 등 다양한 명칭으로 명명될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
상기 메모리(2)는 상기 프로그램이 저장되며, 상기 프로그램을 구동시키기 위해 상기 프로세서가 접근할 수 있는 어떠한 형태의 저장장치로 구현되어도 무방하다. 또한 하드웨어적 구현 예에 따라 상기 메모리(2)는 어느 하나의 저장장치가 아니라 복수의 저장장치로 구현될 수도 있다. 또한 상기 메모리(2)는 주기억장치뿐만 아니라, 임시기억장치를 포함할 수도 있다. 또한 휘발성 메모리 또는 비휘발성 메모리로 구현될 수도 있으며, 상기 프로그램이 저장되고 상기 프로세서에 의해 구동될 수 있도록 구현되는 모든 형태의 정보저장 수단을 포함하는 의미로 정의될 수 있다.
상기 서버(100)는 실시 예에 따라 웹 서버, 컴퓨터, 모바일 폰, 태블릿, TV, 셋탑박스 등 다양한 방식으로 구현될 수 있으며, 본 명세서에서 정의되는 기능을 수행할 수 있는 어떠한 형태의 데이터 프로세싱 장치도 포함하는 의미로 정의될 수 있다.
또한 상기 서버(100)의 실시 예에 따라 다양한 주변장치들(3)이 더 구비될 수 있다. 예를 들어, 키보드, 모니터, 그래픽 카드, 통신장치 등이 주변장치로써 상기 자동 위상 매핑 처리시스템(100)에 더 포함될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
이하에서는 이해의 편의를 위하여, 자동 위상 매핑 처리 방법을 수행하는 상기 서버(100)를 자동 위상 매핑 처리시스템(100)으로 칭하기로 한다.
본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 복수의 이미지들 중 서로 매핑될 수 있는 이미지들 즉 매핑 이미지들을 파악할 수 있다. 또한 실시 예에 따라서는 상기 자동 위상 매핑 처리시스템(100)은 파악한 매핑 이미지들간의 매핑을 수행할 수도 있다.
매핑 이미지들은 서로 가장 근접한 위상관계를 가지는 이미지들을 의미할 수 있다. 가장 근접한 위상관계는 거리가 가까운 것뿐 아니라 공간적으로도 직접 서로 이동이 가능하여야 하는 경우일 수 있고, 이러한 예는 공통된 공간이 가장 많이 포함되어 있는 이미지들일 수 있다. 또한 매핑을 수행한다고 함은, 전술한 바와 같이 두 이미지들간에 정합을 의미할 수도 있지만, 본 발명에서는 두 이미지들의 위상 즉, 상대적인 위치관계를 파악하는 경우를 위주로 설명하도록 한다.
예를 들어, 도 8a에 도시된 바와 같이 상기 자동 위상 매핑 처리시스템(100)은 복수 개(예를 들어, 5개)의 이미지들을 입력받을 수 있다. 그러면 상기 자동 위상 매핑 처리시스템(100)은 복수 개의 이미지들 중 서로 매핑될 수 있는 이미지 즉 매핑 이미지들이 어떤 것인지를 파악하고, 파악한 매핑 이미지들의 매핑을 수행할 수 있다.
예를 들어 본 발명의 실시 예에서 이미지들은 서로 다른 위치에서 촬영된 전방위 이미지(즉, 360도 이미지)일 수 있다. 그리고 매핑 이미지들은 서로 공통된 공간을 가장 많이 공유하고 있는 이미지들 페어일 수 있다.
예를 들어, 도 8b에 도시된 바와 같이 위치 a, b, c, d, e 에서 촬영된 이미지들 각각이 이미지 1, 이미지 2, 이미지 3, 이미지 4, 및 이미지 5일 수 있다.
이러한 경우 이미지 1과 이미지 2 및 이미지 3은 공통된 촬영된 영상 내에 공통된 공간이 상당히 많이 포함되어 있지만, 상대적으로 이미지 1과 이미지 2에 더 많은 공통된 공간이 포함되어 있을 수 있다. 따라서 이미지 1의 매핑 이미지는 이미지 2일 수 있다.
그러면 이미지 2에 대해서 매핑 이미지를 탐색해야 하고 이때 이미 매핑 이미지가 확정된 이미지 1은 제외될 수 있다. 그러면 이미지 2의 매핑 이미지는 이미지 3이 될 수 있다.
이와 같은 방식을 이미지 3의 매핑 이미지는 이미지 4가 될 수 있고, 이미지 4의 매핑 이미지는 이미지 5가 될 수 있다.
그러면 자동 위상 매핑 처리시스템(100)은 이미지 1을 기준으로 매핑 이미지인 이미지 2에 대한 매핑을 수행할 수 있다. 즉, 이미지 2의 이미지 1에 대한 위상 이미지 2의 이미지 1에 대한 상대적 위치를 파악할 수 있다. 그리고 이미지 3의 이미지 2에 대한 위상, 이미지 4의 이미지 3에 대한 위상, 및 이미지 5의 이미지 4에 대한 위상을 순차적으로 파악함으로써 전체 이미지들간의 위상관계가 특정될 수 있다.
결국 종래는 전방위 이미지들이 복수 존재하고 각각의 전방위 이미지들의 정확한 위치를 알 수 없는 경우에는, 복수의 이미지들의 위치관계를 파악하기 위해서는 상당한 시간과 자원이 필요할 수 있다.
예를 들어, 종래의 방식에 의하면 모든 이미지들 별로 소정의 피쳐 포인트를 추출하고, 추출된 피쳐 포인트들을 이용하여 모든 이미지 쌍(페어)별로 공통된 피쳐 포인트가 얼마나 존재하는지를 파악하여야 한다. 그리고 공통된 피쳐 포인트가 가장 많은 이미지 쌍이 서로 매핑 이미지로 파악될 수 있고, 공통된 피쳐 포인트들의 위치에 따라 매핑 즉, 상대적 위치관계가 결정될 수 있다. 만약 정합이 필요한 경우에는 공통된 피쳐 포인트들을 최소한의 에러로 겹쳐지게 하기 위한 변환행렬이 결정되고 이러한 변환행렬을 통한 어느 하나의 이미지의 변환을 통해 두 이미지는 연결(정합)될 수 있다.
하지만 이러한 종래의 방식에서 사용되는 피쳐 포인트는 피쳐 포인트의 추출에도 상당한 시간과 연산량이 소요된다. 또한 매핑 이미지를 파악하기 위해 위해 모든 이미지 페어 별로 피쳐 포인트를 비교하는 연산을 수행하여야 하는데 이미지들의 피쳐 포인트의 개수가 많을수록 이러한 연산은 상당한 시간이 걸리는 문제점이 있다.
하지만 전술한 바와 같이 본 발명의 기술적 사상에 의하면 빠르고 정확하게 자동으로 이러한 복수의 이미지들 중에서 매핑 이미지를 탐색하고 탐색된 매핑 이미지들에 대한 매핑을 수행할 수 있다.
이러한 문제점을 해결하기 위해 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 뉴럴 네트워크 피쳐를 이용할 수 있다.
본 명세서에서 정의되는 뉴럴 네트워크 피쳐는 소정의 목적을 달성하기 위해 학습된 뉴럴 네트워크의 소정의 레이어의 피쳐 맵(feature map)에서 선택된 전부 또는 일부의 피쳐들을 의미할 수 있다.
이러한 피쳐들은 특정 목적을 달성하기 위해 학습된 뉴럴 네트워크(예를 들어, 컨벌루셔널 뉴럴 네트워크)에서 이용되며 상기 특정 목적을 달성하도록 뉴럴 네트워크가 학습되면 학습된 뉴럴 네트워크에 의해 도출되는 정보일 수 있다.
예를 들어, 도 10a에 도시된 바와 같은 뉴럴 네트워크(20)가 존재할 수 있고, 상기 뉴럴 네트워크는 컨벌루션 뉴럴 네트워크(CNN)일 수 있다.
이러한 경우 복수의 레이어들(21, 22, 23, 24)이 상기 뉴럴 네트워크(20)에 포함될 수 있고, 입력 레이어(21)와 출력 레이어(24) 및 복수의 히든 레이어들(22, 23)이 존재할 수 있다. 상기 출력 레이어(24)는 이전 레이어와 완전 연결(fully connected)된 레이어일 수 있고, 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 상기 출력 레이어(24) 또는 풀리 커넥티드 레이어 이전의 임의의 피쳐 맵이 포함되는 레이어(예를 들어, 23)에서 상기 뉴럴 네트워크 피쳐(f1, f2, f3)를 선택할 수 있다.
상기 자동 위상 매핑 처리시스템(100)이 이용하는 뉴럴 네트워크 피쳐(f1, f2, f3)는 해당 레이어의 피쳐 맵에 포함된 모든 피쳐일 수도 있고, 이중에서 일부 선택된 피쳐일 수도 있다.
상기 자동 위상 매핑 처리시스템(100)은 이러한 피쳐를 종래의 핸드 크래프트 피쳐 포인트 예를 들어, SIFT(Scale-Invariant Feature Transform)], SURF (Speeded Up Robust Features), 또는 ORB(Oriented FAST and Rotated BRIEF) 대신 이용하여 매핑 이미지를 파악하거나 매핑 이미지들간의 매핑을 수행하는데 이용할 수 있다. 즉, 종래의 핸드 크래프트 피쳐들 대신에 컨벌루셔널 뉴럴 네트워크에서 이용되는 피쳐들이 이용될 수 있다.
이는 이미지의 피쳐는 스케일(scale) 또는 오리엔테이션(orientation)에 무관하게 동일한 특성을 가져야 하는 것이 바람직한데, 컨벌루셔널 뉴럴 네트워크에서 출력 레이더(23) 이전의 레이어는 복수의 비선형적 컨벌루션 함수 및/또는 풀링 함수 등을 통해 이러한 특징을 가지게 된다. 더욱이 종래의 핸드 크래프트 피쳐들은 이미지에서의 모서리 등과 같이 사람이 정의한 특징적인 위치에서만 추출되며 대개는 에지가 존재하는 곳(예를 들어, 에지가 꺾이는 위치 등)에서만 추출되는 특징이 있다.
하지만 뉴럴 네트워크 피쳐는 이러한 위치가 아니라 이미지의 플랫(flat)한 영역에서도 발견될 수 있도록 뉴럴 네트워크(20)가 학습될 수 있는 장점이 있다. 또한, 핸드 크래프트 피쳐는 이미지의 왜곡이나 이미지 품질에 따라 피쳐 포인트가 검출되어야 함에도 불구하고 검출되지 않는 경우가 종종 발생하는데 비해 뉴럴 네트워크 피쳐는 이러한 이미지 왜곡에 훨씬 강인한 특성이 있어서 피쳐 추출에 있어서도 정확도의 향상이 존재할 수 있다.
상기 뉴럴 네트워크(20)는 그 자체가 피쳐 추출기(feature extracter)일 수도 있다. 예를 들어, 출력 레이어(24) 또는 풀리 커넥티드 직전 레이어(23)에서 피쳐가 선택되는 경우, 상기 출력 레이어(24)는 직전 레이어(23)의 선택된 피쳐(f1, f2, f3) 자체를 출력하도록 설계될 수도 있고, 이러한 경우는 상기 뉴럴 네트워크(20) 자체가 피쳐 추출기로 작동할 수 있다.
또는 상기 뉴럴 네트워크(20)는 별개의 고유 목적(예를 들어, 클래시피케이션, 오브젝트 디텍팅 등)을 달성하기 위해 학습된 것일 수도 있다. 이러한 경우에도 소정의 레이어에서 항상 일관된 피쳐를 선택하여 뉴럴 네트워크 피쳐로 이용할 수 있다. 예를 들어, 도 10a의 경우에는 출력 레이어(24)를 제외한 나머지 레이어들의 결합이 피쳐 추출기로 동작할 수 있다.
본 발명의 일 실시 예에 의하면, 상기 뉴럴 네트워크(20)는 어느 하나의 이미지를 겹치는 영역이 존재하도록 분할한 후, 분할한 이미지들 각각의 겹치는 공통영역에서 각각 추출되는 서로 대응되는 포인트들이 매칭될 수 있도록 최적의 변환관계(예를 들어 에러가 최소가 되는)를 도출할 수 있도록 학습된 뉴럴 네트워크일 수 있다.
예를 들어, 도 10b에 도시된 바와 같이 소정의 이미지(6)의 전부 또는 일부는 겹치는 공통영역(6-3)이 존재하도록 분할될 수 있다. 그리고 분할된 이미지들(6-1 및 6-2) 각각으로부터 서로 대응되는 포인트들(예를 들어, P11 내지 P14, P21 내지 P24)이 소정의 개수 추출될 수 있다.
그러면 제1분할 이미지(6-1)에서 추출된 포인트들(P11 내지 P14)이 제2분할 이미지(6-2)에서 추출된 포인트들(P21 내지 P24)을 최소에러로 변환될 수 있도록(예를 들어, 변환행렬의 파라미터를 결정) 학습되는 뉴럴 네트워크를 상기 뉴럴 네트워크(20)로 구현할 수 있다.
이때 상기 포인트들(예를 들어, P11 내지 P14, P21 내지 P24)은 임의로 선택되는 포인트일 수도 있고, 각각의 이미지들의 공통영역에서 소정의 방식으로 추출된 피쳐 포인트일 수도 있다.
어떠한 경우든 소정의 목적을 달성하기 위해 잘 학습된 뉴럴 네트워크(20)의 전부 또는 일부가 이미지에서 피쳐를 선택하고 추출하는 피쳐 추출기로 이용될 수 있다.
그리고 이러한 피쳐 추출기를 이용해 상기 자동 위상 매핑 처리시스템(100)이 입력받은 서로 다른 이미지들 각각에 포함된 공통영역에서는 동일한 피쳐가 추출될 수 있다. 따라서 어떤 하나의 이미지에서 동일한 피쳐(서로 대응되는 피쳐)가 가장 많이 존재하는 이미지가 매핑 이미지로 판단될 수 있다.
한편 본 발명의 기술적 사상에 따르면, 뉴럴 네트워크 피쳐들은 벡터로 표현되므로 특정 이미지의 매핑 이미지를 탐색하기 위해 종래와 같이 이미지 페어들 마다 피쳐들을 비교하는 것이 아니라, 고속 연산이 가능한 벡터 서치 엔진을 이용함으로써 보다 빠른 위치관계의 판단이 가능할 수 있다.
대용량의 벡터들을 고속으로 서치하는 기술들이 최근에 널리 공개된 바 있다.
벡터 서치 엔진은 입력되는 벡터(또는 벡터 세트)와 가장 근사한(근거리의) 벡터들을 고속으로 찾기 위해 구축되는 엔진일 수 있다. 모든 벡터들은 DB 상에서 인덱스화되어 저장되며, 상기 벡터 서치 엔진은 입력되는 벡터(또는 벡터 세트)와 가장 근사한 벡터(또는 벡터 세트)를 출력할 수 있도록 설계될 수 있다.
이러한 벡터 서치 엔진은 예를 들어, faiss 등과 같은 알려진 벡터 서치 기법들을 이용해 구축될 수 있다. 이러한 벡터 서치 엔진은 GPU 기반으로 수행되는 경우 대용량의 고속연산이 가능한 효과가 있다.
본 발명의 기술적 사상에 따른 벡터 서치 엔진은 대상 이미지(예를 들어, 이미지 1)에서 추출된 피쳐들의 세트를 입력받고 그에 대한 응답으로 가장 유사한(근거리)의 벡터 또는 벡터들의 집합을 출력할 수 있다. 그리고 이러한 벡터 또는 벡터들의 집합의 출처가 어떤 이미지인지를 판단함으로써 고속으로 대상 이미지의 매핑 이미지가 결정될 수 있다.
예를 들어, 제1이미지에서 추출된 피쳐들 전부가 벡터 서치 엔진에 입력될 수 있다. 벡터 서치 엔진은 벡터 DB에서 입력된 피쳐들 각각과 가장 거리가 짧은 벡터 또는 가장 거리가 짧은 벡터와의 거리를 출력할 수 있다. 이러한 태스크는 이미지들별로 수행될 수 있다.
예를 들어, 다섯 개의 이미지가 존재하고 각각의 이미지들별로 10개의 피쳐가 추출된 경우를 가정하면, 벡터 DB에는 50개의 벡터가 인덱스화되어 저장될 수 있다. 그리고 각각의 출처 이미지에 대한 정보가 같이 저장될 수 있다.
그러면 상기 벡터 서치 엔진은 제1이미지로부터 추출된 10개의 벡터를 입력받을 수 있다. 그리고 벡터 서치 엔진은 10개의 벡터들 각각과 제2이미지에서 추출된 벡터들 중 거리가 가장 짧은 벡터들 10개 또는 이들의 거리의 합을 출력할 수 있다. 이러한 방식으로 제3이미지에서 추출된 벡터들, 제4이미지에서 추출된 벡터들, 제5이미지에서 추출된 벡터들에 대해 수행하면 입력된 벡터 세트와 가장 근사한 피쳐 세트들을 포함하는 이미지가 고속으로 탐색될 수 있다. 그리고 탐색된 이미지가 제1이미지의 매핑 이미지로 결정될 수 있다.
실시 예에 따라서는 상기 벡터 서치 엔진은 제1이미지로부터 출력된 10개의 벡터들 각각에 대해서 상기 제1이미지로부터 추출된 10개의 벡터를 제외한 나머지 벡터들(40개)에 전체에 대해 거리가 가장 짧은 벡터 순서대로 출력할 수 있다. 예를 들어, 10개의 벡터 리스트가 출력되면 상기 자동 위상 매핑 처리시스템(100)은 이러한 벡터 리스트를 분석하여 매핑 이미지를 출력할 수 있다.
벡터 서치 엔진이 출력하는 결과 또는 방식은 다양할 수 있다. 하지만 어떠한 경우든 본 발명의 기술적 사상에 의하면 입력된 이미지들 각각으로부터 피쳐들을 추출하고, 이러한 피쳐들을 벡터 서치가 가능하도록 구축된 DB에 입력할 수 있으며, 벡터 서치 엔진은 입력되는 벡터 또는 벡터 세트를 입력받으면 가장 유사한(거리가 짧은) 벡터 또는 벡터 세트를 출력하는 기능을 수행할 수 있다. 이러한 기능을 통해 매핑 이미지를 고속으로 탐색할 수 있다.
실시 예에 따라서는 대상 이미지 즉, 매핑 이미지를 찾고자 하는 이미지(예를 들어, 제1이미지)의 모든 피쳐들이 입력되지 않고, 일부의 피쳐들이 벡터 서치 엔진에 입력될 수도 있다. 예를 들어, 이미지 중 미리 정의된 영역에 대응되는 피쳐들만이 위치 관계를 파악하기 위해 벡터 서치 엔진에 입력될 수도 있다. 미리 정의된 영역은 통상 이미지의 중앙부분이 아니라 좌우상하의 모서리에 인접한 영역이 될 수 있으므로 이미지의 외곽쪽 영역을 임의로 설정하고, 설정된 영역에 대응되는 위치의 피쳐가 선택적으로 벡터 서치를 위한 입력으로 이용될 수도 있다. 물론 벡터 DB 역시 이러한 외곽 영역에 대응되는 피쳐만이 입력될 수도 있고, 전체 피쳐들이 입력될 수도 있다.
또한 본 발명의 기술적 사상에 따른 뉴럴 네트워크 피쳐는 그 자체로는 추출된 이미지에서의 위치가 특정되지 않는다. 따라서 뉴럴 네트워크 피쳐에 대응되는 원본 이미지에서의 위치(포인트)가 특정되어야 매핑이 수행될 수 있다. 따러서 뉴럴 네트워크 피쳐에 대응되는 원본 이미지 상의 위치를 특정하는 기술적 사상이 요구되는데, 이에 대해서는 도 13을 참조하여 후술하도록 한다.
상술한 바와 같은 기술적 사상을 구현하기 위한 자동 위상 매핑 처리시스템(100)은 도 11에 도시된 바와 같은 기능적 또는 논리적 구성으로 정의될 수 있다.
도 11은 본 발명의 실시 예에 따른 자동 위상 매핑 처리시스템의 논리적 구성을 개략적으로 설명하기 위한 도면이다.
도 11을 참조하면, 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 제어모듈(110), 인터페이스 모듈(120), 피쳐 추출기(130)를 포함한다. 상기 자동 위상 매핑 처리시스템(100)은 매핑모듈(140) 및/또는 벡터 서치 엔진(150)을 더 포함할 수도 있다.
상기 자동 위상 매핑 처리시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비한 논리적인 구성을 의미할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 자동 위상 매핑 처리시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 자동 위상 매핑 처리시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예를 들어, 상기 제어모듈(110), 인터페이스 모듈(120), 피쳐 추출기(130), 매핑모듈(140), 및/또는 벡터 서치 엔진(150) 각각은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 제어모듈(110), 인터페이스 모듈(120), 피쳐 추출기(130), 매핑모듈(140), 및/또는 벡터 서치 엔진(150) 각각을 구성하는 소프트웨어 및/또는 하드웨어의 결합 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 상기 모듈들을 구현할 수도 있다.
상기 제어모듈(110)은 본 발명의 기술적 사상을 구현하기 위해 자동 위상 매핑 처리시스템(100)에 포함된 다른 구성(예를 들어, 인터페이스 모듈(120), 피쳐 추출기(130), 매핑모듈(140), 및/또는 벡터 서치 엔진(150) 등)을 제어할 수 있다.
상기 인터페이스 모듈(120)은 외부로부터 복수의 이미지들을 입력받을 수 있다. 상기 복수의 이미들은 서로 다른 위치에서 촬영된 영상일 수 있다. 일 예에 의하면 상기 복수의 이미지들은 실내에서 촬영된 전방위 이미지일 수 있지만 이에 국한되지는 않는다.
상기 복수의 이미지들 중에는 공통된 공간을 다른 위치에서 촬영한 것들이 존재할 수 있으며, 공통된 공간 즉 공통영역을 포함하는 두 이미지들은 매핑 가능한 관계에 있다고 정의될 수 있다. 그 중에서 가장 많은 공통영역을 포함하는 이미지를 매핑 이미지로 정의할 수 있으며, 이는 대응되는 피쳐가 가장 많은 이미지들로 정의될 수도 있다.
상기 인터페이스 모듈(120)을 통해 입력받은 복수의 이미지들 각각으로부터 상기 피쳐 추출기(130)는 본 발명의 기술적 사상에 따라 정의되는 피쳐 즉, 뉴럴 네트워크 피쳐를 추출할 수 있다.
뉴럴 네트워크 피쳐는 소정의 뉴럴 네트워크(예를 들어, CNN)에서 출력 레이어 이전에 특정되는 이미지의 피쳐들일 수 있음은 전술한 바와 같다. 상기 피쳐 추출기(130)는 도 10a에 도시된 바와 같은 뉴럴 네트워크(20) 그 자체일 수도 있고, 입력 레이어(21)부터 뉴렬 네트워크에서 출력 레이어(24) 이전의 소정의 레이어(예를 들어, 23)까지의 구성을 의미할 수도 있다. 상기 레이어(23)에 의해 정의되는 피쳐 맵에 포함된 피쳐 전부 또는 일부가 뉴럴 네트워크 피쳐일 수 있다.
상기 뉴럴 네트워크(20)는 뉴럴 네트워크 피쳐를 추출하기 위한 목적 이외의 별개의 목적(예를 들어, 분류, 디텍팅 등)을 위해 학습된 것일 수도 있지만, 전술한 바와 같이 두 이미지를 최소의 에러로 정합하기 위해 설계된 뉴럴 네트워크이거나 뉴럴 네트워크 피쳐를 추출하는 목적으로 학습되는 것일 수도 있다.
예를 들어, 후자의 경우는 사용자가 임의로 설정한 위치 및/또는 이미지의 특징을 잘 표현할 수 있는 핸드 크래프트 피쳐 포인트를 출력할 수 있도록 학습될 수 있고, 이러한 경우는 상기 뉴럴 네트워크(20) 자체가 피쳐 추출기(130)가 될 수 있다.
사용자가 임의로 설정한 위치는 소정의 오브젝트(예를 들어, 벽, 문 등)에서 사용자가 설정한 위치(예를 들어, 해당 오브젝트의 중앙위치)로 설정할 수 있다. 또한 이러한 사용자 설정 위치는 종래의 핸드 크래프트 피쳐 포인트와 달리 플랫한 영역 즉, 에지 또는 모서리가 존재하지 않는 플랫(flat)한 이미지 영역에 설정할 수 있다. 이러한 경우 종래의 핸드 크래프트 피쳐 포인트에서는 피쳐 포인트로 추출되지 않는 플랫한 이미지 영역 내에서도 피쳐가 정의될 수 있고 이를 활용하는 경우 보다 정확도 있는 매핑 이미지의 판단 및 매핑이 수행될 수도 있다.
도 12는 본 발명의 실시 예에 따른 뉴럴 네트워크 피쳐를 이용할 경우의 장점을 설명하기 위한 도면이다.
도 12에 도시된 바와 같이, 상기 피쳐 추출기(130)는 미리 정해진 오브젝트(예를 들어, 벽, 문, 테이블) 내의 임의의 위치가 피쳐 포인트(fp1, fp2, fp3)로 특정될 수 있도록 학습될 수 있다.
또한 도 12에 도시된 바와 같이 상기 임의의 위치는 오브젝트별로 미리 정해진 위치(예를 들어, 벽의 중심, 테이블의 중심, 문의 중심 등)과 같이 통상적으로 플랫한 이미지 영역 내로 설정될 수 있다.
물론 상기 피쳐 추출기(130)는 종래의 에지 또는 모서리가 꺽인 부분 등과 같이 핸드 크래프트 피쳐 포인트에 대응되는 피쳐를 추출할 수 있도록 학습될 수도 있다.
예를 들어, 사용자는 다수의 이미지에 오브젝트별로 핸드 크래프트 피쳐 포인트, 사용자가 설정한 플랫한 영역의 설정위치 들을 어노테이션하고, 이를 학습 데이터로 이용하여 뉴럴 네트워크(20)를 학습시킬 수도 있다. 이러한 경우 각각의 피쳐 포인트(fp1, p2, fp3)에 대응되는 피쳐들이 추출될 수 있으며, 피쳐 포인트 자체가 출력될 수도 있다.
어떠한 경우든 뉴럴 네트워크 피쳐를 이용하는 경우에는 도 5에 도시된 바와 같이 종래의 핸드 크래프트 피쳐로는 추출되지 않는 위치가 피쳐로 활용될 수 있으므로, 보다 이미지 특성을 정의하거나 이미지를 매핑하는데 유리한 효과가 있을 수 있다.
한편 뉴럴 네트워크 피쳐는 뉴럴 네트워크(20)가 원하는 목적을 출력하기 위해 복수의 컨벌루션 및/또는 풀링을 통해 결정되는 이미지의 특징적인 정보이긴 하지만, 이러한 뉴럴 네트워크 피쳐 자체가 해당하는 원본 이미지에서의 특정 위치를 나타내는 것은 아닐 수 있다.
따라서 뉴럴 네트워크 피쳐가 추출된 경우라도, 뉴럴 네트워크 피쳐에 대응되는 원본 이미지상의 위치 즉, 피쳐 위치가 특정될 필요가 있다. 이러한 피쳐 위치가 특정되어야 이미지의 매핑이 수행될 수 있기 때문이다.
이처럼 뉴럴 네트워크 피쳐의 피쳐 위치를 특정하기 위한 기술적 사상은 도 13을 참조하여 설명하도록 한다.
도 13은 본 발명의 실시 예에 따른 뉴럴 네트워크 피쳐에 대응되는 피쳐위치를 설명하기 위한 도면이다.
도 13에 도시된 바와 같이 소정의 레이어에서 뉴럴 네트워크 피쳐(f)가 추출될 수 있다. 이러한 경우 상기 뉴럴 네트워크 피쳐(f)는 이전 소정의 레이어(l)에서는 소정의 대응영역(Sl)과 대응되며, 이러한 대응영역(Sl)에 포함된 픽셀 정보들이 미리 정의된 컨벌루션 및 풀링 함수에 의해 상기 뉴럴 네트워크 피쳐(f)로 매핑될 수 있다.
이때 상기 l 레이어에서의 상기 뉴럴 네트워크 피쳐(f)의 대응영역(Sl) 내의 소정의 위치(예를 들어, 중앙 또는 특정 꼭지점 등)가 상기 뉴럴 네트워크 피쳐(f)의 l 레이어에서의 대응위치(PSl)로 정의될 수 있다.
그러면 마찬가지 방식으로 상기 l 레이어에서의 대응위치(PSl)에 대응되는 원본 이미지 상에서의 대응영역(So)가 원본 이미지와 l 레이어사이의 컨벌루션 및 풀링 관계에 의해 특정될 수 있고, 상기 대응영역(So) 내의 소정의 위치(예를 들어, 중앙)가 상기 뉴럴 네트워크 피쳐(f)의 원본 이미지상에서의 대응위치 즉, 피쳐 위치로 특정될 수 있다.
이러한 방식으로 뉴럴 네트워크 피쳐들 별로 피쳐 위치가 결정되면, 각각의 피쳐 위치가 이미지 매핑을 위한 피쳐 포인트가 될 수 있다.
그러면 매핑모듈(140)은 매핑 이미지들 간의 서로 대응되는 피쳐위치들을 이용하여 이미지 매핑을 수행할 수 있다.
두 이미지들간의 이미지 매핑은, 두 이미지들간의 상대적인 위치관계를 특정하는 매핑의 경우에는 두 이미지 각각에서 서로 대응되는 포인트들을 이용하여 수행될 수 있다. 이때 서로 대응되는 포인트들은 두 이미지 각각에서 추출된 뉴럴 네트워크 피쳐의 피쳐 포인트일 수 있으며, 서로 대응되는 피쳐 포인트들은 벡터 서치 엔진을 통해 용이하게 탐색될 수 있다.
서로 대응되는 포인트(공간상에서 동일한 위치를 나타내는)들이 각각 서로 다른 이미지에 존재하는 경우 이들 두 이미지의 상대적인 위치관계를 특정하기 위한 기술적 사상은 공지된 바 있다.
예를 들어, 에피폴라 지오메트리(Epipolar Geometry)를 이용하여 상대적인 위치관계를 판단할 수 있음은 본 발명의 기술분야의 평균적 전문가에게 용이하게 추론될 수 있다. 이외에도 다양한 방식이 가능할 수도 있다.
다른 실시 예에 의하면, 두 이미지들 즉, 매핑 이미지들 간의 매핑이 두 이미지를 정합하는 경우에는, 두 이미지를 정합하기 위한 변환행렬을 특정하는 것이 매핑을 수행하는 것일 수도 있다.
이러한 변환행렬을 특정하기 위해서는 서로 대응되는 피쳐 3개 쌍을 추출하고 추출된 3개 쌍이 변환될 수 있도록 변환 행렬이 정의될 수 있음은 널리 알려진 바와 같다. 그리로 이러한 피쳐 3개 쌍은 모든 피쳐들이 가장 작은 에러로 변환될 수 있도록 탐색될 수 있으며, 랜색(RANSAC) 등의 알고리즘이 이용될 수 있음은 물론이다.
상기 벡터 서치 엔진(150)은 전술한 바와 같이 피쳐 추출기(130)에 의해 추출된 각각의 이미지들의 피쳐들에 상응하는 벡터를 DB에 입력하고, 대상 이미지(예를 들어, 제1이미지)로부터 추출된 피쳐 세트에 대응되는 벡터 세트를 입력받을 수 있다. 그러면 전술한 바와 같이 벡서 서치 결과를 출력할 수 있다.
그러면 제어모듈(110)은 상기 벡터 서치 결과에 기초하여 대상 이미지와 인접한 위치관계에 존재하는 이미지를 결정할 수 있다.
도 14는 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법에서 이미지들 간의 매핑 이미지를 탐색하는 방법을 설명하기 위한 플로우 차트이다.
도 14를 참조하면, 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 복수의 이미지들 각각으로부터 뉴럴 네트워크 피쳐를 추출할 수 있다(S100). 그러면 피쳐들을 벡터 DB로 구축하고 대상 이미지로부터 추출된 벡터 세트(피쳐 세트)에 대한 벡터 서치를 수행할 수 있다(S110, S120).
그러면 벡터 서치 결과에 기초하여 대상 이미지의 매핑 이미지를 판단할 수 있으며(S130), 모든 이미지에 대해 동일한 태스크를 수행함으로써 각각의 이미지들의 매핑 이미지를 판단할 수 있다(S140).
도 15는 본 발명의 실시 예에 따른 자동 위상 매핑 처리방법에서 이미지들을 매핑하는 방법을 설명하기 위한 플로우 차트이다.
도 15를 참조하면, 본 발명의 기술적 사상에 따른 자동 위상 매핑 처리시스템(100)은 서로 매핑 이미지로 판단된 제1이미지와 제2이미지를 매핑하기 위해 제1이미지로부터 추출된 피쳐들에 대응되는 피쳐위치들을 특정할 수 있다(S200). 이를 위해 도 13에 도시된 바와 같은 방식을 이용할 수 있다.
또한 제2이미지로부터 추출된 피쳐들에 대응되는 피쳐위치들을 특정할 수 있다(S210).
그러면 상기 자동 위상 매핑 처리시스템(100)은 각각의 이미지들의 피쳐위치들에 기초하여 Epipolar Geometry 알고리즘을 통한 상대적인 위치관계를 판단하거나 또는 이미지 연결을 위한 변환행렬을 소정의 방식(예를 들어, RANSAC 알고리즘)을 통해 결정할 수 있다(S220).
다시 도 6을 참조하면, 상기 서버(100)는 실내 공간에 상응하는 평면도 상에 상기 실내 공간의 서로 다른 각각의 위치에 상응하는 상기 복수의 전방위 이미지를 배치할 수 있다(S30).
보다 구체적으로는, 상기 서버(100)는 상기 실내 공간에 상응하는 평면도를 획득할 수 있다. 예를 들어, 상기 서버(100)는 도6 에 도시된 바와 같은 평면도(10)를 파일의 형태로 입력받을 수 있다.
이후 상기 서버(100)는 상기 복수의 정보 세트 중 어느 하나인 제1정보 세트에 포함된 제1위치 정보에 대응되는 상기 평면도 상의 제1지점, 및 상기 복수의 정보 세트 중 다른 하나인 제2정보 세트에 포함된 제2위치 정보에 대응되는 상기 평면도 상의 제2지점을 수신할 수 있다. 예를 들어, 상기 서버(100)는 위치(11)에 대응되는 평면도(10) 상의 좌표를 입력받을 수 있으며, 위치(12)에 대응되는 평면도(10) 상의 좌표를 입력받을 수 있다.
그러면, 상기 서버(100)는 상기 제1위치 정보에 의해 표현되는 제1위치와 상기 제2위치 정보에 의해 표현되는 제2위치 간의 위치 관계, 및 상기 제1지점과 상기 제2지점 간의 위치 관계에 기초하여, 상기 복수의 전방위 이미지를 상기 평면도 상에 배치할 수 있다.
앞서 설명한 바와 같이, 상기 서버(100)는 상술한 자동 위상 매핑 처리 방법에 의하여 각 위치에 상응하는 전방위 이미지 간의 상대적 위치 관계를 알 수 있다. 따라서, 상기 서버는 제1지점과 제2지점간의 위치 관계(예를 들면, 두 점간의 거리 및 방향)와 제1위치 및 제2위치 간의 위치 관계가 일치되도록 하는 소정의 파라미터를 산출한 후 이를 상술한 자동 위상 매핑 처리 방법에 의하여 산출된 각 위치간의 상대적인 위치에 적용함으로써, 상기 복수의 전방위 이미지가 배치될 평면도 상의 위치를 판단할 수 있다.
한편, 본 발명의 실시예에 따른 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.
그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 서버에서 수행되는 전방위 이미지 처리 방법으로서,
    소정의 실내 공간 내의 서로 다른 각각의 위치에 상응하는 복수의 전방위 이미지(omni-directional image)를 획득하는 획득단계-여기서, 상기 복수의 전방위 이미지 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함; 및
    상기 복수의 전방위 이미지 서로 간의 연결 관계를 판단하는 처리단계를 포함하되,
    상기 획득단계는,
    모바일 컴퓨팅 장치로부터 복수의 부분 촬영 이미지 및 상기 복수의 부분 촬영 이미지가 촬영될 시점의 상기 모바일 컴퓨팅 장치의 위치 정보를 포함하는 정보 세트를 수신하는 단계;
    상기 정보 세트에 포함된 복수의 부분 촬영 이미지를 스티칭하여 상기 정보 세트에 상응하는 전방위 이미지를 생성하는 단계; 및
    상기 정보 세트에 상응하는 전방위 이미지를 상기 정보 세트에 포함된 위치 정보와 대응시켜 저장하는 단계를 포함하고,
    상기 모바일 컴퓨팅 장치는,
    이동식 거치대에 설치되며,
    상기 이동식 거치대에 설치되는 전방위 이미지 촬영 장치와 통신하고,
    상기 모바일 컴퓨팅 장치의 위치를 추적하고,
    상기 전방위 이미지 촬영장치가 이미지를 촬영하면 촬영 시의 상기 모바일 컴퓨팅 장치의 위치 정보를 획득하고,
    상기 전방위 이미지 촬영장치에서 촬영된 복수의 부분 촬영 이미지 및 상기 복수의 부분 촬영 이미지가 촬영된 시점의 상기 모바일 컴퓨팅 장치의 위치 정보를 포함하는 정보 세트를 상기 전방위 이미지 맵 생성 서버로 전송하는 전방위 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 모바일 컴퓨팅 장치는,
    상기 모바일 컴퓨팅 장치의 자세를 더 추적하며,
    상기 전방위 이미지 촬영장치에서 이미지가 촬영되면 촬영 시의 상기 모바일 컴퓨팅 장치의 자세 정보를 더 획득하고,
    상기 모바일 컴퓨팅 장치가 전송하는 상기 정보 세트는 상기 복수의 부분 촬영 이미지가 촬영된 시점의 상기 모바일 컴퓨팅 장치의 자세 정보를 더 포함하는 전방위 이미지 처리 방법.
  3. 제2항에 있어서,
    상기 모바일 컴퓨팅 장치는 카메라 모듈을 포함하고,
    상기 전방위 이미지 촬영 장치 및 상기 모바일 컴퓨팅 장치는,
    상기 전방위 이미지 촬영 장치에 포함된 전방 카메라 모듈의 촬영 방향 및 상기 모바일 컴퓨팅 장치에 포함된 카메라 모듈의 촬영 방향이 소정의 오차 범위 내에서 일치되도록 상기 이동식 거치대에 설치되며,
    상기 모바일 컴퓨팅 장치는,
    상기 카메라 모듈에 의해 촬영되는 영상에 대한 VSLAM(Visual Simultaneous Localization and Mapping)을 수행하여 상기 모바일 컴퓨팅 장치의 위치 및 자세를 추적하는 전방위 이미지 처리 방법.
  4. 제1항에 있어서,
    상기 실내 공간에 상응하는 평면도를 획득하는 단계;
    상기 복수의 정보 세트 중 어느 하나인 제1정보 세트에 포함된 제1위치 정보에 대응되는 상기 평면도 상의 제1지점, 및 상기 복수의 정보 세트 중 다른 하나인 제2정보 세트에 포함된 제2위치 정보에 대응되는 상기 평면도 상의 제2지점을 수신하는 단계; 및
    상기 제1위치 정보에 의해 표현되는 제1위치와 상기 제2위치 정보에 의해 표현되는 제2위치 간의 위치 관계, 및 상기 제1지점과 상기 제2지점 간의 위치 관계에 기초하여, 상기 복수의 전방위 이미지를 상기 평면도 상에 배치하는 단계를 더 포함하는 전방위 이미지 처리 방법.
  5. 제1항에 있어서, 상기 처리단계는,
    뉴럴 네트워크를 이용한 피쳐 추출기를 통해 상기 복수의 전방위 이미지 각각으로부터 피쳐들을 추출하는 단계; 및
    상기 복수의 전방위 이미지 각각으로부터 추출된 피쳐들에 기초하여 상기 복수의 전방위 이미지 각각의 매핑 이미지를 판단하는 단계를 포함하는 전방위 이미지 처리 방법.
  6. 제5항에 있어서,
    상기 복수의 전방위 이미지 각각의 매핑 이미지를 판단하는 단계는,
    상기 복수의 전방위 이미지 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하는 단계;
    상기 복수의 전방위 이미지 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에서 벡터 서치하는 단계; 및
    상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함하는 전방위 이미지 처리 방법.
  7. 제5항에 있어서, 상기 처리 단계는,
    상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계를 더 포함하는 전방위 이미지 처리 방법.
  8. 제7항에 있어서,
    상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계는,
    상기 제1이미지로부터 추출된 제1피쳐들에 각각에 대응되는 상기 제1이미지상의 제1피쳐대응위치들 및 상기 제2이미지로부터 추출된 제2피쳐들에 각각에 대응되는 상기 제2이미지상의 제2피쳐대응위치들을 판단하는 단계; 및
    판단된 제1피쳐대응위치들 및 상기 제2피쳐대응위치들에 기초하여 상기 제1이미지 및 상기 제2이미지의 상대적 위치관계를 판단하는 단계를 포함하는 전방위 이미지 처리 방법.
  9. 제5항에 있어서, 상기 뉴럴 네트워크는,
    소정의 이미지를 겹치는 영역이 존재하도록 분할한 후, 분할한 이미지들 각각의 겹치는 공통영역에서 각각 추출되는 서로 대응되는 포인트들이 최적으로 매칭될 수 있는 변환관계를 출력하도록 학습된 뉴럴 네트워크인 전방위 이미지 처리 방법.
  10. 제1항에 있어서, 상기 처리단계는,
    상기 복수의 전방위 이미지 각각으로부터 피쳐들을 추출하는 단계;
    상기 복수의 전방위 이미지 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에서 벡터 서치하는 단계; 및
    상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함하는 전방위 이미지 처리 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  12. 데이터 처리장치에 설치되며 청구항 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터프로그램.
  13. 서버로서,
    프로세서; 및 프로그램이 저장된 메모리를 포함하되,
    상기 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 서버가 전방위 이미지 처리 방법을 수행하도록 하되,
    상기 전방위 이미지 처리 방법은,
    소정의 실내 공간 내의 서로 다른 각각의 위치에 상응하는 복수의 전방위 이미지(omni-directional image)를 획득하는 획득단계-여기서, 상기 복수의 전방위 이미지 중 적어도 두 개는 공통된 공간이 촬영된 공통영역이 존재함; 및
    상기 복수의 전방위 이미지 서로 간의 연결 관계를 판단하는 처리단계를 포함하되,
    상기 획득단계는,
    모바일 컴퓨팅 장치로부터 복수의 부분 촬영 이미지 및 상기 복수의 부분 촬영 이미지가 촬영될 시점의 상기 모바일 컴퓨팅 장치의 위치 정보를 포함하는 정보 세트를 수신하는 단계;
    상기 정보 세트에 포함된 복수의 부분 촬영 이미지를 스티칭하여 상기 정보 세트에 상응하는 전방위 이미지를 생성하는 단계; 및
    상기 정보 세트에 상응하는 전방위 이미지를 상기 정보 세트에 포함된 위치 정보와 대응시켜 저장하는 단계를 포함하고,
    상기 모바일 컴퓨팅 장치는,
    이동식 거치대에 설치되며,
    상기 이동식 거치대에 설치되는 전방위 이미지 촬영 장치와 통신하고,
    상기 모바일 컴퓨팅 장치의 위치를 추적하고,
    상기 전방위 이미지 촬영장치에서 이미지가 촬영되면 촬영 시의 상기 모바일 컴퓨팅 장치의 위치 정보를 획득하고,
    상기 전방위 이미지 촬영장치에서 촬영된 촬영 이미지 및 상기 촬영 이미지의 촬영 시점의 상기 모바일 컴퓨팅 장치의 위치 정보를 포함하는 정보 세트를 상기 전방위 이미지 맵 생성 서버로 전송하는 서버.
  14. 제13항에 있어서, 상기 전방위 이미지 처리 방법은,
    상기 실내 공간에 상응하는 평면도를 획득하는 단계;
    상기 복수의 정보 세트 중 어느 하나인 제1정보 세트에 포함된 제1위치 정보에 대응되는 상기 평면도 상의 제1지점, 및 상기 복수의 정보 세트 중 다른 하나인 제2정보 세트에 포함된 제2위치 정보에 대응되는 상기 평면도 상의 제2지점을 수신하는 단계; 및
    상기 제1위치 정보에 의해 표현되는 제1위치와 상기 제2위치 정보에 의해 표현되는 제2위치 간의 위치 관계, 및 상기 제1지점과 상기 제2지점 간의 위치 관계에 기초하여, 상기 복수의 전방위 이미지를 상기 평면도 상에 배치하는 단계를 더 포함하는 서버.
  15. 제13항에 있어서, 상기 처리단계는,
    뉴럴 네트워크를 이용한 피쳐 추출기를 통해 상기 복수의 전방위 이미지 각각으로부터 피쳐들을 추출하는 단계; 및
    상기 복수의 전방위 이미지 각각으로부터 추출된 피쳐들에 기초하여 상기 복수의 전방위 이미지 각각의 매핑 이미지를 판단하는 단계를 포함하는 서버.
  16. 제15항에 있어서,
    상기 복수의 전방위 이미지 각각의 매핑 이미지를 판단하는 단계는,
    상기 복수의 전방위 이미지 각각으로부터 추출된 피쳐들에 상응하는 벡터들을 DB로 구축하는 단계;
    상기 복수의 전방위 이미지 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에서 벡터 서치하는 단계; 및
    상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함하는 서버.
  17. 제15항에 있어서, 상기 처리 단계는,
    상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계를 더 포함하는 서버.
  18. 제17항에 있어서,
    상기 제1이미지와 상기 제1이미지의 매핑 이미지로 판단된 상기 제2이미지의 매핑을 수행하는 단계는,
    상기 제1이미지로부터 추출된 제1피쳐들에 각각에 대응되는 상기 제1이미지상의 제1피쳐대응위치들 및 상기 제2이미지로부터 추출된 제2피쳐들에 각각에 대응되는 상기 제2이미지상의 제2피쳐대응위치들을 판단하는 단계; 및
    판단된 제1피쳐대응위치들 및 상기 제2피쳐대응위치들에 기초하여 상기 제1이미지 및 상기 제2이미지의 상대적 위치관계를 판단하는 단계를 포함하는 서버.
  19. 제15항에 있어서, 상기 뉴럴 네트워크는,
    소정의 이미지를 겹치는 영역이 존재하도록 분할한 후, 분할한 이미지들 각각의 겹치는 공통영역에서 각각 추출되는 서로 대응되는 포인트들이 최적으로 매칭될 수 있는 변환관계를 출력하도록 학습된 뉴럴 네트워크인 서버.
  20. 제15항에 있어서, 상기 처리단계는,
    상기 복수의 전방위 이미지 각각으로부터 피쳐들을 추출하는 단계;
    상기 복수의 전방위 이미지 중 소정의 제1이미지로부터 추출된 제1피쳐들에 상응하는 제1벡터들 중 적어도 일부인 벡터 세트를 상기 구축된 DB에서 벡터 서치하는 단계; 및
    상기 벡터 서치 결과에 기초하여 추출된 제2이미지를 상기 제1이미지의 매핑 이미지로 판단하는 단계를 포함하는 서버.
KR1020200073666A 2020-06-17 2020-06-17 전방위 이미지 처리 방법 및 이를 수행하는 서버 KR20210156019A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200073666A KR20210156019A (ko) 2020-06-17 2020-06-17 전방위 이미지 처리 방법 및 이를 수행하는 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200073666A KR20210156019A (ko) 2020-06-17 2020-06-17 전방위 이미지 처리 방법 및 이를 수행하는 서버

Publications (1)

Publication Number Publication Date
KR20210156019A true KR20210156019A (ko) 2021-12-24

Family

ID=79176445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200073666A KR20210156019A (ko) 2020-06-17 2020-06-17 전방위 이미지 처리 방법 및 이를 수행하는 서버

Country Status (1)

Country Link
KR (1) KR20210156019A (ko)

Similar Documents

Publication Publication Date Title
US20220262039A1 (en) Positioning method, electronic device, and storage medium
KR102300570B1 (ko) 전방위 이미지 촬영 어셈블리 및 이에 의해 수행되는 방법
EP2583449B1 (en) Mobile and server-side computational photography
JP2019536170A (ja) 仮想的に拡張された視覚的同時位置特定及びマッピングのシステム及び方法
US20140323148A1 (en) Wide area localization from slam maps
JP7182710B2 (ja) 測量方法、装置及びデバイス
KR102387797B1 (ko) 3차원 가상 공간 모델을 이용한 사용자 포즈 추정 방법 및 장치
CN106289263A (zh) 室内导航方法和装置
Castillo-Carrión et al. SIFT optimization and automation for matching images from multiple temporal sources
KR102383567B1 (ko) 시각 정보 처리 기반의 위치 인식 방법 및 시스템
KR20230049969A (ko) 글로벌 측위 장치 및 방법
JP2016194784A (ja) 画像管理システム、通信端末、通信システム、画像管理方法、及びプログラム
JP2016194783A (ja) 画像管理システム、通信端末、通信システム、画像管理方法、及びプログラム
KR102483388B1 (ko) 전방위 이미지 처리 방법 및 이를 수행하는 서버
KR20210156019A (ko) 전방위 이미지 처리 방법 및 이를 수행하는 서버
CN108335329B (zh) 应用于飞行器中的位置检测方法和装置、飞行器
KR101963449B1 (ko) 360°비디오 생성 시스템 및 방법
KR20190061165A (ko) 광고를 포함하는 360°비디오 생성 시스템 및 방법
EP3770809A1 (en) Method and apparatus for estimating user's pose by using three-dimensional virtual space model
CN114071003B (zh) 一种基于光通信装置的拍摄方法和系统
KR102384177B1 (ko) 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
KR102617222B1 (ko) 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
TWI741588B (zh) 光通信裝置的識別方法和電子設備、以及電腦可讀取記錄媒體
US11688086B2 (en) Three-dimensional modeling using hemispherical or spherical visible light-depth images
KR102640148B1 (ko) 딥러닝을 이용한 실내 위치 측위 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal