KR20230053262A - 2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20230053262A
KR20230053262A KR1020210136608A KR20210136608A KR20230053262A KR 20230053262 A KR20230053262 A KR 20230053262A KR 1020210136608 A KR1020210136608 A KR 1020210136608A KR 20210136608 A KR20210136608 A KR 20210136608A KR 20230053262 A KR20230053262 A KR 20230053262A
Authority
KR
South Korea
Prior art keywords
image
information
unit
camera
object recognition
Prior art date
Application number
KR1020210136608A
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 KR1020210136608A priority Critical patent/KR20230053262A/ko
Publication of KR20230053262A publication Critical patent/KR20230053262A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법을 제안한다. 상기 방법은 학습된 객체 인식 모델을 이용하여, 영상에 등장하는 3D 객체의 종류를 파악하는 단계; 학습된 객체 인식 모델을 이용하여, 상기 3D 객체를 관찰하는 카메라의 자세를 파악하는 단계; 상기 카메라로 파악된 자세를 기초로, 상기 3D 객체의 좌표를 추정하는 단계; 학습 영상을 영상에 등장하는 상기 3D 객체의 종류에 대한 정보 및 상기 3D 객체를 관찰하는 상기 카메라의 자세에 대한 정보와 함께 DB에 저장하는 단계; 및 상기 DB를 이용하여 객체 인식 모델을 학습시키는 단계;를 포함할 수 있다.

Description

2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{A 3D object recognition method based on a 2D real space image and a computer program recorded on a recording medium to execute the same}
본 발명은 2차원 이미지를 3차원 이미지로 재구성하기 위한 것으로, 보다 상세하게는, 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
최근, 증강 현실(augmented reality), 가상 현실(virtual reality)에 관한 관심이 높아지면서 3차원 입체 영상과 관련된 기술에 관한 연구가 활발하고 진행되고 있다. 또한, 이러한 연구의 일환으로, 2차원 이미지로부터 3차원의 이미지 또는 모델을 복원하는 기술에 관한 연구도 진행되고 있다.
지금까지 몇몇 3차원 복원 기술이 제안된 바 있다. 가령, 명암차를 기준으로 주어진 2차원 이미지에서 윤곽 포인트를 검출하고, 검출된 윤곽 포인트의 깊이 추정값을 토대로 3차원 이미지를 복원하는 기술이 제안된 바 있다. 또한, 서로 다른 각도에서 촬영된 복수의 이미지를 활용하여 3차원의 복셀(voxel) 모델을 복원하는 기술도 제안된 바 있다.
한편, 연속된 2D 이미지를 이용하여 3차원 장면을 재건하는 작업에는 많은 연산이 소요된다. 각각의 연속된 이미지에서의 특이점 계산, 특이점의 매칭 계산, 및 매칭된 이미지들의 위치 계산 등 많은 연산이 필요하다. 그리고 일반적으로 연속된 이미지가 고화질의 동영상일 경우, 더욱 많은 연산 과정이 필요하다. 이러한 이유로 연속된 2D 이미지를 이용하여 실시간으로 만족할 만한 3차원 장면을 재건하는 것이 어렵다는 문제가 있다.
또한, 현재 증강현실을 위한 현실 공간 내 3D 객체 인식은, 관련 3D 모델이나 템플릿과의 매칭을 바탕으로 진행되고 있다. 3D 모델의 외각선을 구성하는 방식과 영상 특징 템플릿을 구성하는 방식이다.
하지만, 이와 같은 방법은, 대상 객체가 많아지는 경우 객체 인식 속도가 늦어지는 문제가 있다. 또한, 모델 DB를 구성함에 있어서도, 많은 영상 정보를 필요로 하며, 다양한 객체를 인식/추적하는데 어려움이 있다.
이에, 현재 제공되고 있는 대부분의 서비스는, 정해진 한 개의 3D 객체에 대한 인식과 추적만을 지원함에 그치고 있다.
대한민국 공개특허공보 제10-2019-0095359호, ‘범용 적응형 3d 모델을 기반으로 하는 객체 인식’, (2019.08.14. 공개)
본 발명의 일 목적은 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 다른 목적은 영상으로부터 제공된 영상정보를 프레임 단위로 3D 형태로 변환하여 객체를 추출하여 3D 도형정보를 생성하고, 3D 도형정보를 기초로 3D 객체를 3D 증강현실에 구현할 수 있는 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 또 다른 목적은 영상/동영상 내 장면을 구성하고 있는 객체 및 배경 객체 들의 의미론적 상관관계를 정의 및 학습시키고, 각 객체내의 세밀한 객체들끼리 갖는 의미론적 계층관계를 정의 및 학습시켜 입력된 영상 내 배경에서 세밀한 객체까지 정확하게 검출 및 인식하고 영상이 갖는 장면의 의미론적 해석을 가능하게 하는 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법을 제안한다. 상기 방법은 학습된 객체 인식 모델을 이용하여, 영상에 등장하는 3D 객체의 종류를 파악하는 단계; 학습된 객체 인식 모델을 이용하여, 상기 3D 객체를 관찰하는 카메라의 자세를 파악하는 단계; 상기 카메라로 파악된 자세를 기초로, 상기 3D 객체의 좌표를 추정하는 단계; 학습 영상을 영상에 등장하는 상기 3D 객체의 종류에 대한 정보 및 상기 3D 객체를 관찰하는 상기 카메라의 자세에 대한 정보와 함께 DB에 저장하는 단계; 및 상기 DB를 이용하여 객체 인식 모델을 학습시키는 단계;를 포함할 수 있다.
또한, 현실 공간의 3D 객체를 3D 모델로 재구성하는 단계; 및 3D 모델의 각 시점에 대한 영상을 샘플링하는 단계;를 더 포함할 수 있다.
그리고 상기 저장 단계는, 샘플링된 영상을 학습 영상으로 DB에 저장하고, 영상을 Bag of visual Word 형태로 저장할 수 있다.
또한, 상기 3D 객체의 종류를 파악단계 및 상기 카메라의 자세 파악단계는,서버에 의해 수행되고, 상기 3D 객체의 좌표 추정단계는, 모바일 단말에 의해 수행될 수 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 상술한 바와 같은 정제 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어, 상기 프로세서가, 학습된 객체 인식 모델을 이용하여, 영상에 등장하는 3D 객체의 종류를 파악하는 단계; 학습된 객체 인식 모델을 이용하여, 상기 3D 객체를 관찰하는 카메라의 자세를 파악하는 단계; 상기 카메라로 파악된 자세를 기초로, 상기 3D 객체의 좌표를 추정하는 단계; 학습 영상을 영상에 등장하는 상기 3D 객체의 종류에 대한 정보 및 상기 3D 객체를 관찰하는 상기 카메라의 자세에 대한 정보와 함께 DB에 저장하는 단계; 및 상기 DB를 이용하여 객체 인식 모델을 학습시키는 단계;를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 실시 예들에 따르면, 본 발명은 딥러닝 네트워크(deep-learning network)를 통해 타깃 객체에 대한 2차원 이미지로부터 3차원의 모델을 복원할 수 있어 3차원 모델에 대한 복원 정확도가 크게 향상될 수 있다.
특히, 본 발명은 싱글뷰(single-view) 이미지만이 주어진 경우에도, 높은 정확도로 3차원 모델을 복원할 수 있다.
또한, 본 발명은 딥러닝 네트워크가 외곽선 오차, 프로젝션 오차, 판별 오차, 분류 오차 등과 같은 다양한 오차를 통해 더 학습됨으로써, 딥러닝 네트워크의 복원 성능이 더욱 향상될 수 있다.
나아가, 본 발명은 타깃 객체에 대한 멀티뷰(multi-view) 이미지의 깊이 정보로부터 타깃 객체에 대한 개략적인 3차원 형상 정보가 추정될 수 있고, 딥러닝 네트워크를 통해 추정된 3차원 형상 정보로부터 3차원 모델이 정확하게 복원될 수 있다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
본 발명의 일 실시예에 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램은 건축물 내부의 감시영역에 대한 영상정보를 획득하는 한 개 이상의 영상 촬영부와, 각 영상 촬영부로부터 제공된 백그라운드 영상을 저장하는 영상 저장부와, 영상정보를 분석하여 움직이는 객체에 대한 객체영상을 추출하고 객체영상과 3D 도면을 분석하여 도형정보를 생성하는 객체 추출부와, 건축물의 3D 도면에 각 백그라운드 영상과 각 객체영상이 매핑된 관제영상을 생성하는 영상 합성부, 관제영상을 한 화면으로 출력하는 영상 출력부를 포함한다.
이러한 영상 촬영부, 영상 저장부, 객체 추출부, 영상 합성부, 영상 출력부는 각각 별도의 장치로 독립적으로 구성되거나, 또는 하나 이상의 장치나 기기에 통합된 형태로 구현될 수 있다. 예를 들어, 객체 추출부 및 영상 합성부의 기능은 하나의 처리장치에서 처리될 수 있다. 또한, 영상 촬영부 내지 영상 출력부 전체가 하나의 장치 예를 들어, 디스플레이 장치가 부착된 블랙박스나 스마트폰 등의 단일의 장치에 내장되도록 설치될 수도 있다. 그리고 영상 저장부, 객체 추출부, 영상 합성부, 및 영상 출력부는 서로 유선 또는 근거리 무선통신으로 연결될 수도 있다.
영상 촬영부는 감시하고자 하는 공간에 설치되어 미리 지정된 영역을 촬영하고 영상정보를 획득하는 것으로, 영상정보의 출처를 확인할 수 있도록 식별기호가 부여된 영상정보를 생성하는 것이 바람직하다.
또한, 영상 촬영부는 생성된 영상정보를 유무선통신 네트워크(이하, '통신 네트워크'라고 함)를 통해 영상 저장부, 객체 추출부, 영상 출력부 중 어느 한 곳 이상으로 전송한다.
영상 촬영부는 감시영역을 촬영할 수 있다면 어떠한 카메라를 사용하더라도 무방하다. 예를 들면, 영상 촬영부로는 CCTV 카메라나, 각자 IP 주소를 가지고 있는 IP 카메라, 또는 스마트폰 등을 사용할 수 있다.
본 발명에 따른 영상 촬영부는 객체를 연속적으로 추적하며 촬영하기 위해 팬/틸트(pan/tilt) 모듈 및 줌(zoom) 모듈이 내장된 PTZ(Pan Tilt Zoom) 카메라를 사용하며, 바람직하게는 스피드 돔 카메라를 사용하는 것이 좋다. 이때, 영상 촬영부는 PTZ 좌표값을 이용할 수 있다. 여기서, PTZ 좌표값이란 팬, 틸트, 및 줌의 3가지 요소에 의한 좌표값을 의미한다.
이러한 팬 좌표값은 가로축으로 좌우 회전하기 위한 좌표이며, 일반적으로 0 내지 360°의 좌표값을 갖는다. 그리고 틸트 좌표값은 세로축으로 전후 회전하기 위한 좌표이며, 일반적으로 0 내지 360°의 좌표값을 갖는다. 마지막으로, 줌 좌표값은 객체를 광학적으로 확대하여 촬영하기 위한 것으로, 영상 촬영부의 성능에 따라 수십 배까지 확대가 가능하다.
또한, 줌 좌표값은 화면을 일정한 크기로 등분하여 사전에 각 부분별로 줌 배율을 설정해 놓아 영상 촬영부의 촬영방향으로부터 제일 멀리 떨어져있는 부분에 객체가 포착되는 경우 카메라의 줌을 최대로 확대시키고, 영상 촬영부와 가까운 부분에 객체가 포착되는 경우에는 카메라의 줌을 축소시킨다. 이때, 영상 촬영부가 설치되는 장소 및 상황에 따라 사전에 설정한 줌 배율이 변경될 수도 있다.
한편, 영상 촬영부는 객체가 차량인 경우 차량의 번호판이 인식될 수 있도록 차량의 확대영상을 촬영하며, 객체가 사람인 경우 사람의 얼굴이 인식될 수 있도록 사람의 확대영상을 촬영할 수 있다.
영상 저장부는 통신 네트워크를 통해 각 영상 촬영부에 연결된 것으로, 영상 촬영부로부터 전송된 영상정보를 저장하며, 영상 촬영부가 설치된 건축물의 3D 도면이 저장된다. 이때, 3D 도면은 관리자가 건축물의 내부를 확인할 수 있도록 천정이 생략된 형태로 형성될 수 있으며, 건축물의 층별로 구분되어 저장될 수 있다.
이러한 영상 저장부로는 DVR(Digital Video Recorder)나 NVR(Network Video Recorder) 기반의 서버를 사용하거나, 대용량 HDD(Hard Disk Drive)가 장착된 PC(Personal Computer)를 사용하거나, 또는 스마트폰이나 카메라에 장착된 MICRO SD를 사용할 수 있다.
이외에도, 영상 저장부로는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 어느 하나의 저장매체를 사용할 수도 있다.
구체적으로, 영상 저장부는 영상 촬영부로부터 전송된 영상정보가 저장된 영상정보 데이터베이스(DB)와, 영상 촬영부가 설치된 공간의 도면이 저장된 도면 데이터베이스(DB)와, 촬영시간과 객체의 종류가 부가된 객체영상이 저장되는 객체영상 데이터베이스(DB), 및 객체영상별 도형정보가 저장되는 도형정보 데이터베이스를 포함하여 구성된다. 여기서, 영상정보 DB에는 객체가 진입하기 전의 영상인 백그라운드 영상이 저장되며, 도면 DB에는 건축물의 3D 도면이 저장된다. 그리고 객체영상 DB는 객체영상을 확대 영상으로 저장할 수 있다. 이러한 영상 저장부를 구성하는 DB는 사용자가 DBMS(DataBase Management System)를 통해서 데이터에 대한 핸들링을 부탁하고, DBMS가 물리적인 파일의 내용을 핸들링 하는 것으로, 파일 베이스 형태와 DB 베이스 형태를 모두 포함한다. 이때, 파일 베이스는 데이터적 논리성을 배제한 순수한 파일만으로 구성되어진 데이터베이스를 의미한다.
백그라운드 영상은 객체 추출부가 영상 촬영부로부터 전송된 영상정보로부터 움직이는 객체 등이 없는 백그라운드 영상을 추출하여 생성하거나, 객체 추출부가 영상 촬영부로부터 전송된 영상정보로부터 객체영상을 삭제하여 생성하거나, 또는 영상 촬영부로부터 전송된 영상 중 관리자에 의해 선택된 영상으로 생성할 수 있다.
예로, 관리자가 뎁스(depth) 카메라와 영상 저장부에 내장된 3D 도면제작 프로그램을 사용하여 영상 촬영부가 설치된 공간의 3D 도면을 생성한 후 도면 DB에 저장할 수 있다. 이를 위해, 본 발명에 따른 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램은 영상 저장부에 연결된 뎁스 카메라(미도시)를 더 포함할 수 있다.
이러한 뎁스 카메라는 RGB 컬러값과 뎁스값을 영상 저장부의 3D 도면제작 프로그램에 제공하며, 3D 도면제작 프로그램이 RGB 컬러값과 뎁스값을 기반으로 3D 도면을 실시간으로 생성한다. 그리고 실시간으로 생성된 도면은 영상 저장부에 저장될 수도 있지만, 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 구비된 메모리에만 로드(load)하여 사용할 수도 있다.
필요에 따라, 뎁스 카메라를 통해 생성된 데이터는 곧바로 3D 도면제작 프로그램에 제공되어 3D 도면제작에 사용되거나, 3ds Max, Maya, Google Sketch 등의 3D 그래픽툴을 이용하여 폴리곤(polygon) 데이터로 변환된 후 3D 도면제작 프로그램에 제공되어 3D 도면제작에 사용될 수 있다.
한편, 영상 저장부는 영상 촬영부의 동작을 조정하는 조정정보가 저장된 조정정보 데이터베이스(DB)를 더 포함하여 구성될 수 있다. 이러한 조정정보 DB는 영상 촬영부가 영상정보를 획득하는 감시영역의 좌표값에 따라 영상 촬영부의 회전각도 및 주밍비율이 설정된 클로즈업 정보가 저장되고, 감시영역이 분획되어 설정된 좌표값 정보가 저장된다. 여기서, 주밍비율은 객체의 종류에 따라 조절될 수 있다. 예컨대, 사람과 자동차는 크기가 서로 다르기 때문에 주밍비율이 자동차를 기준으로 설정된 경우, 객체가 사람으로 인식되면 영상 촬영부의 줌이 축소되도록 조절된다.
객체 추출부는 각 영상 촬영부로부터 제공된 영상정보를 영상인식 프로그램으로 분석하여 움직이는 객체의 객체영상을 추출하는 것으로, 객체영상의 각 꼭지점에 대한 좌표정보를 추출하고, 좌표정보 및 영상 저장부에 저장된 3D 도면을 분석하여 객체영상에 대한 3D 도형의 좌표 및 크기가 포함된 도형정보를 생성하며, 도형정보를 영상 저장부의 도형정보 DB에 저장한다. 이를 위해, 객체 추출부는 영상 저장부에 통신 네트워크를 통해 연결된다.
또한, 객체 추출부는 촬영시간과 객체의 종류가 부가된 객체영상을 객체영상 DB에 저장할 수 있다.
객체 추출부는 자체 구비된 메모리에 설치된 영상인식 프로그램을 사용할 수도 있고, 영상 저장부에 설치된 영상인식 프로그램을 사용할 수도 있다.
필요에 따라, 객체 추출부는 관리자의 선택에 따라 영상 저장부에 저장된 영상정보를 영상인식 프로그램으로 분석하여 움직이는 객체의 객체영상을 직사각형으로 추출하도록 구성될 수 있다.
객체 추출부는 객체의 외곽선 내의 이미지로 구성된 객체영상을 추출할 수 있다. 이와 같이, 외곽선 내의 이미지가 포함된 객체영상을 추출하면 추후 안면인식 기능을 사용해 신원조회 또는 특정인에 대한 출입통제 기능을 제공할 수 있다. 이때, 객체의 외곽선은 객체의 테두리 부분이거나 객체를 감싸는 사각형으로 형성될 수 있다. 보다 구체적으로, 객체가 사람인 경우 객체 추출부는 영상정보로부터 객체의 전신이 포함되고 발이 바닥면에 닿아 있도록 객체의 외곽선을 직사각형으로 추출한다.
또한, 객체 추출부는 객체영상에서 객체를 감싸는 사각형의 가로 및 세로의 크기를 분석하여 사각형의 가로 길이와 세로 길이가 포함된 객체 크기정보를 생성하고, 객체 크기정보를 객체영상에 부가할 수 있다.
아울러, 객체영상에서 객체를 감싸는 사각형 중 객체를 제외한 부분은 검정색, 흰색 등의 무채색으로 구성될 수 있다. 이와 같이, 객체를 감싸는 사각형이 무채색이면 움직임이 포착된 영역의 픽셀(pixel)만 컬러 값이 존재하므로, 픽셀들의 R, G, B 각각에 대한 분포도를 분석할 수 있다.
다시 말해, 관리자가 선택한 컬러 값과 비교하여 객체영상에 포함된 물체가 지정된 오차 범위 이내인 경우에 객체로 판단하고, 이의 종류를 구분한다.
보다 구체적으로, 객체 추출부는 영상인식 프로그램을 통해 영상정보로부터 추출된 객체영상의 종류를 사람, 자동차, 오토바이, 자전거, 동물 중 어느 하나로 구분할 수 있다. 그리고 객체 추출부는 객체 종류가 지정된 객체 종류정보를 객체영상에 부가할 수 있다. 또한, 객체 추출부는 종류 구분의 정확도가 향상되도록 딥러닝(deep learning) 기술을 접목하여 객체의 종류를 구분할 수도 있다.
아울러, 객체 추출부는 객체 종류나 좌표, 또는 촬영시간 따라 객체영상이 분류된 객체영상 리스트를 생성하고, 객체영상 리스트를 영상 저장부에 저장할 수 있다. 이는, 관리자가 직접 감시영역의 영상정보를 시청하지 않더라도 확인하고자 하는 객체를 종류별로 선택할 수 있도록 하기 위함이다.
이러한 객체 추출부로는 영상인식 프로그램이 설치된 서버를 사용하거나, 영상인식 프로그램이 설치된 PC를 사용할 수 있다.
특정 양태로서, 본 발명에 따른 객체 추출부는 영상 촬영부로부터 수신된 영상정보를 분석하고, 감시영역에 진입한 객체를 검출하여 타겟으로 지정한다. 그리고 객체 추출부는 타겟으로 지정된 객체의 실시간 좌표값을 분석하며, 좌표값에 대등된 클로즈업 정보를 영상 저장부로부터 추출한다.
보다 구체적으로, 객체 추출부는 영상정보를 분석하여 외부에서 감시영역에 들어온 객체가 있는지를 탐지한다. 그리고 객체 추출부는 감시영역으로 들어온 객체를 타겟으로 지정하여 추적하고, 객체의 특징을 추출하여 버퍼(buffer)나 레지스터(register)에 임시로 저장하며, 영상정보를 통해 객체의 좌표값을 분석한다.
필요에 따라, 객체 추출부는 영상정보를 분석하여 객체가 감시 대상에 해당하는지를 판단한다. 예컨대, 타겟으로 지정된 객체가 갑자기 회전을 하거나 다른 물체에 의해 가려졌다가 다시 나타날 경우, 기존 객체와 동일하거나 유사한 좌표값에 위치한 임의의 제1 물체와 미리 추출한 객체의 특징을 비교하여, 추적하고 있는 제1 물체가 감시 대상의 객체에 해당하는지를 판단한다. 만약, 제1 물체가 감시 대상으로 지정된 객체와 다른 것으로 판단되면, 기존 객체가 위치했던 좌표에 2번째로 가까운 제2 물체를 탐지하여, 제2 물체가 감시 대상의 객체에 해당하는지를 판단한다.
아울러, 객체 추출부는 객체의 움직임을 추적한다. 이러한 객체는 이동할 수 있기 때문에, 객체 추출부는 객체의 위치 이동을 추적하여 객체의 좌표값을 실시간으로 분석한다.
또한, 객체 추출부는 객체가 감시영역을 벗어나거나 객체가 설정된 시간동안 이동하지 않고 정지되어 있으면, 객체에 대한 클로즈업 정보의 추출을 종료한 후, 영상정보를 통해 새로 검출된 객체의 클로즈업 정보를 영상 저장부로부터 추출한다. 이때, 객체 추출부는 영상 촬영부가 초기 위치로 회동과정 중에 생성한 영상정보를 분석하여 감시영역으로 진입한 객체 중 영상정보를 통해 최초로 검출된 객체를 확대영상을 생성하는 새로운 타겟으로 지정한다.
이와 같이 타겟으로 지정된 객체에 대한 클로즈업 정보의 추출이 종료되면, 객체 추출부는 영상 촬영부가 기준 감시영역을 촬영할 수 있도록 영상 촬영부의 회동신호를 생성하여 영상 촬영부로 제공한다.
그리고 후술하는 사용자 인터페이스를 통해 확대영상의 촬영 시간이 입력되면, 객체 추출부는 객체에 대한 확대영상을 설정된 시간동안 촬영한 후 초기 위치로 회동하도록 영상 촬영부를 제어하는 회동신호를 생성하여 영상 촬영부로 제공한다.
한편, 객체 추출부는 영상정보를 이용하여 객체와 주변사물을 구별하기 위해 객체인식 데이터테이블 및 주변사물 데이터테이블을 포함할 수 있다.
객체인식 데이터테이블은 객체를 구분할 수 있도록 하기 위해 객체의 형상감지, 생체인식, 좌표인식에 대한 설정데이터가 각각 저장되어 구성된다. 이때, 상±형상감지에 대한 설정데이터는 움직임이 발생하는 대상인 자동차나 오토바이 형상을 복합적인 도형의 형태, 특히, 차량의 번호판 등을 인식하도록 하기 위한 설정데이터이다. 또한, 생체인식에 대한 설정데이터는 인체, 특히 인체의 얼굴의 특징을 기준으로 눈, 코, 입 등을 인식하도록 하기 위한 설정데이터이다.
주변사물 데이터테이블은 객체 추출부에서 주변사물을 구분할 수 있도록 하기 위해 주변사물의 지리정보, 형상감지, 좌표인식에 대한 설정데이터가 각각 저장되어 구성된다. 이때, 주변사물의 지리정보에 대한 설정데이터는 미리 설정된 지역의 지형, 지물 등에 대한 설정데이터이며, 형상감지에 대한 설정데이터는 전술한 객체인식 데이터테이블의 형상감지에 대한 설정데이터와 대응된다.
특히, 공통적으로 인식되어야 하는 좌표인식에 대한 설정데이터는 영상 촬영부에 의해 생성된 영상정보를 통해 가상의 공간좌표 또는 지리정보와 연동하여 지역의 좌표 등에 의해 객체와 주변사물의 지점 특히 이동 위치를 파악할 수 있도록 한다.
또한, 객체 추출부는 감시영역으로 진입한 객체의 좌표값에 따라 객체의 확대영상을 촬영할 수 있도록 좌표값에 따라 미리 지정된 클로즈업 정보를 추출한다. 여기서, 클로즈업 정보는 좌표값에 따라 영상 촬영부의 팬과 틸즈 및 줌이 미리 설정된 값으로 제어되도록 지정된 제어신호이다.
아울러, 객체 추출부는 영상정보를 분석하여 객체의 종류를 지정하고, 객체의 종류에 따라 영상 촬영부의 줌인 위치가 달라지도록 클로즈업 정보를 변경할 수 있다. 예컨대, 객체의 외형이 사람으로 분석되면 객체 추출부는 사람의 전신모습에서 얼굴이 클로즈업으로 줌인 되도록 클로즈업 정보를 변경한다. 그리고 영상정보를 통해 객체의 외형이 차량으로 분석되면 객체 추출부는 차량의 번호판에 대한 확대영상을 촬영할 수 있도록 클로즈업 정보를 변경한다.
이와 같이, 객체 추출부는 추후 객체를 추적하는데 가장 적합한 요소(얼굴, 번호판)를 대상으로 확대영상이 촬영되도록 클로즈업 정보를 수정할 수 있다.
필요에 따라, 객체 추출부는 영상정보를 분석하여 객체가 감시영역을 벗어난 것으로 판독되면, 해당 객체의 종류가 미리 지정된 종류에 해당되지 않는 경우 객체의 영상정보를 삭제할 수 있다. 이는, 동물 등 보안 확인에 불필요한 객체가 감시영역에 진입한 경우에 이 객체에 대한 영상정보를 삭제함으로써, 영상 저장부에 저장되는 영상정보의 용량을 최소화시키기 위함이다.
또한, 객체 추출부는 타겟으로 지정된 제1 객체의 클로즈업 정보를 추출하는 도중에 감시영역에 진입한 제2 객체의 존재가 검출되더라도 제1 객체가 감시영역을 벗어날 때 까지 제1 객체의 클로즈업 정보를 추출하도록 구성될 수 있다.
그리고 객체 추출부는 감시영역 내에 위치한 객체 중 타겟으로 지정된 객체 이외의 객체에 대한 타겟 변경신호가 사용자 인터페이스를 통해 입력되면, 타겟으로 지정된 객체의 클로즈업 정보 추출을 정지하고, 타겟 변경신호가 입력된 새로운 객체의 클로즈업 정보를 추출한다. 이를 통해, 영상 촬영부는 타겟으로 지정되었던 객체의 확대영상에 대한 영상정보를 생성하다가, 새로운 객체의 확대영상에 대한 영상정보를 생성하게 된다. 이와 같이, 확대영상을 촬영하는 객체는 사용자 인터페이스를 통해 관리자에 의해 선택될 수 있다.
한편, 객체 추출부는 객체영상의 좌표정보와 3D 도면을 분석하여 객체영상에 대한 3D 도형의 좌표와 크기가 포함된 도형정보를 생성한다.
본 발명에 따른 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램은 객체 검색부를 더 포함할 수 있다.
객체 검색부는 사용자 인터페이스를 통해 관리자로부터 검색하고자 하는 객체의 크기나 종류가 입력되면 영상 저장부의 객체영상 DB를 검색하는 것으로, 매핑된 객체가 포함된 객체영상을 추출하고 이의 객체 리스트를 생성한다.
또한, 객체 검색부는 객체 리스트에 포함된 객체 중 특정 객체에 대한 선택신호가 사용자 인터페이스를 통해 입력되면, 해당 객체의 움직임을 시간 순서에 따라 3D 도면상에서 출력한다.
이와 같이, 객체 검색부는 객체의 크기와 종류를 이용하여 검색을 원하는 물체를 검색할 수 있다.
본 발명에 따른 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램은 사용자 인터페이스(미도시)를 더 포함할 수 있다.
사용자 인터페이스는 영상 출력부로 출력된 영상 내에 존재하는 객체를 선택받아 객체의 선택신호를 생성하는 것으로, 마우스나 키보드 또는 터치패드 등이 사용될 수 있다.
여기서, 객체의 선택은 동선을 확인하고자 하는 객체를 관리자로부터 지정받는 것으로, 사용자 인터페이스를 통해 관리자로부터 설정 받을 수 있다. 구체적으로, 영상 출력부가 영상정보를 영상으로 출력하면, 관리자는 사용자 인터페이스를 통해 감시하고자 하는 대상을 선택하거나, 검색하고자 하는 객체의 크기나 종류를 입력한다. 또한, 사용자 인터페이스는 생성된 객체의 선택신호를 통신 네트워크를 통해 연결된 객체 검색부나 영상 합성부로 제공할 수 있다.
아울러, 사용자 인터페이스는 임의의 제1 객체가 감시영역을 벗어나기 전에 제1 객체 대신 감시영역에 위치한 제2 객체를 감시할 수 있도록 제2 객체의 타겟 변경신호를 관리자로부터 입력받아 객체 추출부로 제공할 수 있다
또한, 사용자 인터페이스는 영상 출력부를 통해 출력되는 3D 도면의 특정 지점을 확대하거나 축소하여 볼 수 있도록 지점 선택신호 및 화면크기 조정신호를 입력받아 영상 합성부로 제공할 수 있다.
본 발명에 따른 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램은 영상 합성부를 포함한다.
영상 합성부는 한 화면에서 각 감시영역에 진입한 객체를 확인할 수 있도록 3D 도면에 한 개의 백그라운드 영상과 한 개 이상의 객체영상이 투영되도록 3D 도면과 백그라운드 영상 및 객체영상을 매핑하는 것으로, 3D 도면에 백그라운드 영상을 매핑하고, 3D 도면상에서 객체의 위치에 3D 도형이 나타나도록 3D 도형을 3D 도면에 겹쳐주며, 3D 도형에 객체영상을 매핑한다.
구체적으로, 영상 합성부는 영상정보 DB에 저장된 백그라운드 영상을 도면 DB에 저장된 3D 도면에 매핑한다.
그리고 영상 합성부는 도형정보에 포함된 3D 도형의 크기로 3D 도형을 생성하며, 3D 도면상에서 객체의 위치에 3D 도형이 나타나도록 3D 도면상에서 객체의 실제 위치에 3D 도형을 매핑한다. 이때, 3D 도형이 객체의 크기에 따라 조정된 크기를 갖도록 형성되는 경우에는 객체영상이 3D 도형의 전체에 표시되도록 형성될 수 있다.
또한, 영상 합성부는 3D 도형을 통해 객체영상이 표시되도록 객체영상을 3D 도형에 매핑한다.
3D 도면의 바닥면이나 벽면에 영상 촬영부로부터 수집된 촬영 영상을 그대로 매핑하면, 관찰시점이 영상 촬영부의 촬영시점과 달라지면 도 6과 같이 객체영상이 길게 늘어지는 왜곡 현상이 발생된다.
이에 반해 본 발명은 3D 도면의 바닥면이나 벽면에 객체영상을 매핑하지 않고, 객체영상이 매핑된 3D 도형을 3D 도면에 매핑하므로, 관찰시점이 영상 촬영부의 시점과 달라지더라도 객체영상이 길게 늘어지는 왜곡 현상이 발생되지 않는다.
영상 합성부는 영상 저장부에 저장된 영상정보를 사용하는 경우, 영상 저장부로부터 추출된 객체영상의 좌표 및 촬영시간을 분석하여 영상 저장부에 저장된 3D 도면에 객체의 움직임을 표시한다. 보다 구체적으로, 영상 합성부는 도형정보에 포함된 좌표정보 및 촬영시간을 분석하여 시간의 흐름에 따라 객체영상이 매핑된 3D 도형의 이동 이미지를 생성하고, 이동 이미지를 3D 도면에 병합하며, 이동 이미지가 표시된 3D 도면을 영상 출력부를 통해 출력한다.
이러한 객체 추출부로는 영상인식 프로그램이 설치된 서버를 사용하거나, 영상인식 프로그램이 설치된 PC를 사용할 수 있다.
이와 같이, 영상 합성부는 복수 개의 감시영역을 갖는 건축물에 대한 3D 도면이 한 화면에 표시되도록 섬네일(Thumbnail) 형태로 구성하므로, 침입자 검색을 빠르게 수행할 수 있다. 또한, 영상 합성부는 관리자가 특정 객체를 선택하면 특정 객체의 대한 2D 영상을 3D 도형을 통해 입체적으로 나타낸다.
본 발명에 따른 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램은 영상 출력부를 포함한다.
영상 출력부는 영상 합성부를 통해 3D 도형과 백그라운드 영상이 매핑된 3D 도면을 출력하는 것으로, 이를 위해 영상 합성부와 통신 네트워크를 통해 연결된다.
필요에 따라, 영상 출력부는 관리자의 요청에 따라 선택된 객체의 영상을 3D 도면을 통해 확대된 영상으로 출력할 수도 있다. 다시 말해, 3D 도면은 복수개의 감시영역을 갖는 건축물의 한 층을 전체적으로 나타내지만, 관리자가 임의의 제1 객체를 선택한 경우, 제1 객체의 이동 경로에 위치한 감시영역의 백그라운드 영상과 제1 객체의 객체영상이 매핑된 3D 도형의 영상을 확대하여 출력할 수 있다.
이러한 영상 출력부는 단일 모니터, 다중 모니터, 가상현실 디바이스, 증강현실 디바이스 중 어느 하나를 사용할 수 있다.
본 발명에 따른 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램은 제어부를 더 포함할 수 있다.
제어부는 객체 추출부로부터 추출된 클로즈업 정보에 따라 영상 촬영부의 동작을 제어하며, 영상 촬영부로부터 영상정보를 수신받아 영상 저장부에 저장하는 것으로, 영상 촬영부와 영상 저장부와 객체 추출부와 영상 출력부와 영상 합성부 및 사용자 인터페이스에 연결된다.
보다 구체적으로, 제어부는 객체 추출부로부터 제공된 클로즈업 정보를 기반으로 제어신호를 생성하고, 제어신호를 통신 네트워크를 통해 영상 촬영부로 제공하여 감시영역 내부에서 이동하는 객체에 대한 확대영상을 촬영하도록 영상 촬영부를 제어한다. 그리고 제어부는 영상 촬영부로부터 타겟으로 지정된 객체의 영상정보가 전송되면, 이를 영상 저장부에 저장한다.
또한, 제어부는 사용자 인터페이스를 통해 타겟 변경신호가 입력되면 이를 객체 추출부로 제공하고, 객체의 선택신호가 입력되면 이를 영상 합성부로 제공한다.
아울러, 제어부는 객체 추출부로부터 회동신호가 전송되면 영상 촬영부가 초기 위치로 회동되도록 영상 촬영부를 제어한다.
본 발명에 따른 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램은 머리 추적장치를 더 포함할 수 있다.
머리 추적(head tracking)장치는 관리자의 머리에 착용되어 관리자의 머리 중심을 3차원 좌표계의 원점에 두고, 관리자 머리의 전후좌우상하 움직임을 추적하여 움직임 신호를 생성하는 것으로, 움직임 신호를 제어부로 제공한다.
이때, 제어부는 머리 추적장치로부터 수신된 움직임 신호에 따라 백그라운드 영상과 3D 도형이 매핑된 3D 도면에서 관찰자의 시점이 조절되도록 영상 출력부를 통해 출력되는 3D 도면상의 시점을 조절한다.
본 발명에 따른 3D 공간상에서 객체의 위치와 크기를 계산하는 방법은 감시영역에 대한 영상정보를 생성하는 영상정보 수집단계와, 상±영상정보로부터 움직이는 객체가 없는 백그라운드 영상을 추출하는 배경화면 생성단계와, 영상정보를 실시간으로 분석하여 움직이는 객체에 대한 객체영상을 추출하고 객체영상의 좌표정보를 추출하는 객체영상 생성단계, 및 좌표정보와 3D 도면을 분석하여 객체영상에 대한 3D 도형의 좌표와 크기가 포함된 도형정보를 생성하는 도형정보 생성단계를 포함한다.
영상정보 수집단계에서는 영상 촬영부가 감시영역을 촬영하여 영상정보를 생성한다.
필요에 따라, 영상정보 수집단계 이전에는 3D 도면 생성단계가 더 포함될 수 있다. 이러한 3D 도면 생성단계는 뎁스 카메라가 영상 촬영부가 설치된 건축물을 촬영해 건축물의 3D 도면을 생성한 후 3D 도면을 영상 저장부에 저장하는 단계이다.
배경화면 생성단계에서는 객체 추출부가 영상정보로부터 움직이는 객체가 없는 백그라운드 영상을 추출하여 영상 저장부에 저장한다.
객체영상 생성단계에서는 객체 추출부가 영상인식 프로그램을 통해 영상정보를 실시간으로 분석하여 움직이는 객체에 대한 객체영상을 추출하며, 객체영상의 각 꼭지점에 대한 좌표정보를 추출하며, 객체영상과 좌표정보를 영상 저장부에 저장한다. 이때, 객체영상은 촬영시간이 부가된 상태로 영상 저장부에 저장될 수 있다. 그리고 좌표정보는 좌측 하단 꼭지점의 좌표정보와 우측 상단 꼭지점의 좌표정보를 포함할 수 있다.
도형정보 생성단계에서는 객체 추출부가 좌표정보 및 영상 저장부에 저장된 3D 도면을 분석하여 객체영상에 대한 3D 도형의 좌표 및 크기가 포함된 도형정보를 생성한다. 이때, 객체 추출부는 도형정보는 영상 저장부에 저장할 수 있다.
보다 구체적으로, 3D 절대공간상의 좌표를 2D 윈도우상의 좌표로 변환(transform)하는 일반적인 과정은 다음과 같다.
1단계로, 가상의 카메라를 설정하여 절대공간상의 좌표를 카메라 공간의 좌표로 변환(view transform)한다.
2단계로, 카메라 공간의 좌표를 클립 공간(clip space)의 좌표로 변환(projection transform)한다.
3단계로, 클립 공간의 좌표를 윈도우 공간의 좌표로 변환(window-viewport transform)한다.
이때, 윈도우 공간은 2D 공간이지만, 3단계에서 계산된 좌표는 (x, y, z)의 3D 좌표이다.
그리고 변환에는 주로 view transform 행렬(Matrix)과 projection transform 행렬을 곱하여 하나의 행렬을 사용하지만, 각 변환에 별도의 행렬을 사용하거나, 행렬을 사용하지 않고 벡터의 내적을 사용할 수도 있다.
필요에 따라, 본 발명은 도형정보 생성단계 이후에 1차 매핑단계와, 2차 매핑단계, 및 3차 매핑단계를 더 포함할 수 있다.
1차 매핑단계는 영상 합성부가 3D 도면에 백그라운드 영상을 매핑하는 단계로, 한 화면에서 각 감시영역에 진입한 객체를 확인할 수 있도록 3D 도면에 한 개 이상의 백그라운드 영상을 매핑한다.
보다 구체적으로, CCTV 카메라 등 영상 촬영부에 의해 생성된 백그라운드 영상을 3D 도면에 매핑하기 위해서는 영상 촬영부를 1단계의 가상의 카메라로 설정하고, 아래의 순서대로 변환한다. 이때, 영상 촬영부의 위치와 방향을 이용하여 가상의 카메라를 설정한다.
예를 들면, 3D 도면을 이루는 각 정점(vertex)의 절대공간 상의 좌표를 영상 촬영부 공간의 좌표로 변환한다. 이어서, 영상 촬영부의 좌표를 클립 공간(clip space)의 좌표로 변환한다. 그 다음, 클립 공간의 좌표를 영상 촬영부의 영상 이미지의 좌표로 변환한다. 마지막으로, 영상 촬영부의 영상 이미지에서 좌표의 픽셀을 샘플링한다.
2차 매핑단계는 영상 합성부가 도형정보에 포함된 3D 도형의 크기로 3D 도형을 생성하며, 3D 도면상에서 도형정보에 포함된 3D 도형의 좌표에 3D 도형이 나타나도록 3D 도형의 좌표값에 따라 3D 도형을 3D 도면에 겹쳐주는 단계이다.
이러한 2차 매핑단계는 영상 합성부가 영상 저장부로부터 추출된 3D 도형의 좌표와 객체영상의 촬영시간을 분석하여 영상 저장부에 저장된 3D 도면에 객체의 움직임을 3D 도형으로 표시한다.
3차 매핑단계는 영상 합성부가 3D 도면에 객체영상을 매핑하는 단계로, 객체영상이 3D 도형의 전체에 표시되도록 3D 도면에 객체영상을 매핑한다.
결과적으로, 본 발명에 따른 방법은 시간의 흐름에 따라 객체영상이 매핑된 3D 도형의 이동 이미지를 생성하고, 이동 이미지를 3D 도면에 병합하며, 이동 이미지가 표시된 3D 도면을 영상 출력부를 통해 출력한다.
한편, 본 발명에 따른 3D 공간상에서 객체의 위치와 크기를 계산하는 방법을 적용하기 위해서는 건축물의 3D 도면을 확보하고, 영상 촬영부의 위치와 방향에 대한 정보를 영상 저장부에 저장하며, 객체의 전신이 촬영된 영상정보를 생성하고, 객체의 발이 바닥면에 닿아 있어야 한다.
추출된 객체영상에 대하여 2D 윈도우 공간에서의 좌측 하단 모서리를 P로 지칭하고, 2D 윈도우 공간에서의 우측 상단 모서리를 S라고 지칭한다. 그리고 영상 출력부에 렌더링 되는 3D 공간을 뷰 프러스텀(view frustum)이라고 하는데, 도 9의 아래 그림은 이 공간을 2D로 표현한 것이다. 그런데 최종적으로 렌더링 된 이미지는 원거리 클리핑 평면(far clipping plane)과 근접 클리핑 평면(near clipping plane)에 투영된 것이므로, P와 S는 모두 이 평면상에 존재한다. 이때, 근접 클리핑 평면의 깊이 값을 d1 이라고 한다.
그리고 윈도우 공간의 좌표 P와 S는 클립 공간의 좌표로 변환 가능하고, 이는 다시 카메라 공간의 좌표로 변환 가능하며, 이는 다시 절대 공간상의 좌표로 변환 가능한데, 위치벡터 P와 S는 근접 클리핑 평면상에 존재하므로 3D 위치벡터 P(px1, py1, d1) 및 S(sx1, sy1, d1)를 구할 수 있다.
그리고, 아래의 과정을 통해 3D 공간상의 위치벡터 P'와 S'를 구할 수 있다.
1) 관찰 시점의 위치벡터 C에서 출발하여 근접 클리핑 평면상의 위치벡터 P(px1, py1, d1)를 지나는 반직선(ray)과 3D 도면을 구성하는 면(polygon)들과의 교점을 구한다.
2) 여러 개의 교점이 나올 수 있으며, 관찰 시점 C로부터 가장 가까운 것을 선택하여 P'(px2, py2, d2)로 설정한다.
3) S'는 P'와 동일한 XY평면상에 존재하는 점이기 때문에 다음과 같이 삼각형 비례에 의하여 위치벡터 S'(sx2, sy2, d2)를 구할 수 있다.
이하, 상술한 바와 같은 본 발명의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
본 발명은 프로세서(Processor), 메모리(Memory), 송수신기(Transceiver), 입출력장치(Input/output device), 데이터 버스(Bus) 및 스토리지(Storage)를 포함하여 구성될 수 있다.
프로세서는 메모리에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어에 따른 명령어를 기초로, 본 발명의 동작 및 기능을 구현할 수 있다. 메모리에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어가 상주(loading)될 수 있다. 송수신기는 레이더, 라이다, 카메라, 초음파 센서 및 학습 데이터 생성 장치와 데이터를 송수신할 수 있다. 입출력장치는 본 발명의 동작에 필요한 데이터를 입력 받고, 수집된 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보를 출력할 수 있다. 데이터 버스는 프로세서, 메모리, 송수신기 입출력장치 및 스토리지와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어 및 데이터베이스를 저장할 수 있다. 데이터베이스에는 객체 검출 규칙, 비식별 처리 규칙 및 객체의 유형별 3D 모델이 저장될 수 있다.
본 발명의 방법은 기록매체에 기록된 컴퓨터 프로그램으로 수행될 수 있다.
보다 구체적으로, 프로세서는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(160)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(165)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 상주되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다.
각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 본 발명의 다른 일 실시예로, 본 발명은 모바일 단말과 3D 객체 인식 서버가 통신망 더 포함하여 구성될 수 있다.
모바일 단말은 사용자에게 증강현실 컨텐츠를 제공하기 위한 웨어러블 디바이스이거나 웨어러블 디바이스에 연결된 무선 통신 단말일 수 있다. 모바일 단말은 내장 카메라로 촬영한 영상을 3D 객체 인식 서버로 전송한다.
3D 객체 인식 서버는 객체 인식 모델을 학습시키고, 학습된 객체 인식 모델을 이용하여 모바일 단말로부터 수신한 영상에서 3D 객체를 인식하며, 인식 결과를 모바일 단말에 제공한다.
3D 객체 인식 서버에 의한 객체 인식 모델을 학습은 오프라인으로 수행된다. 객체 인식 모델 학습을 위해, 3D 객체 인식 서버는 현실 공간에서의 다양한 3D 객체들을 3D 모델들로 재구성한다.
다음, 3D 객체 인식 서버는 S310단계에서 생성한 3D 모델의 각 시점에 대한 영상들을 샘플링하며, 3D 모델에 대한 다양한 시점들의 영상들이 생성된다.
이후, 샘플링된 영상을 영상에 등장하는 3D 객체의 종류에 대한 정보 및 3D 객체를 관찰하는 카메라의 자세에 대한 정보와 함께 DB에 저장한다.
다음, 영상들은 Bag of visual Word 형태로 저장할 수 있다. 그러면, 3D 객체 인식 속도를 향상시킬 수 있다.
다음, 구축한 DB를 이용하여 객체 인식 모델을 학습시킨다
3D 객체 인식 서버에 의해 학습된 객체 인식 모델을 이용하여, 모바일 단말을 통해 촬영된 영상에 대해 실시간으로 3D 객체 인식 및 추적을 수행하는 과정을 설명하면, 모바일 단말은 실시간으로 획득한 영상을 3D 객체 인식 서버에 전달하면서 3D 객체 인식을 요청한다.
그러면, 3D 객체 인식 서버는 학습된 객체 인식 모델을 이용하여, S410단계에서 수신한 영상에 등장하는 3D 객체의 종류를 파악한다.
또한, 3D 객체 인식 서버는 학습된 객체 인식 모델을 이용하여, 3D 객체를 관찰/촬영하는 카메라의 자세를 파악한다.
그리고, 3D 객체 인식 서버는 파악된 3D 객체의 종류에 대한 정보(3D 객체 ID)와 카메라의 자세에 대한 정보(관찰 시점)를 모바일 단말에 제공한다.
그러면, 모바일 단말은 제공된 정보 중 카메라의 자세 정보를 기초로, 3D 객체의 좌표를 추정한다.
다음, 모바일 단말은단계에서 추정된 좌표에 3D 객체를 가상으로 생성/표시하여, 사용자에게 증강현실 콘텐츠를 제공한다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (5)

  1. 학습된 객체 인식 모델을 이용하여, 영상에 등장하는 3D 객체의 종류를 파악하는 단계;
    학습된 객체 인식 모델을 이용하여, 상기 3D 객체를 관찰하는 카메라의 자세를 파악하는 단계;
    상기 카메라로 파악된 자세를 기초로, 상기 3D 객체의 좌표를 추정하는 단계;
    학습 영상을 영상에 등장하는 상기 3D 객체의 종류에 대한 정보 및 상기 3D 객체를 관찰하는 상기 카메라의 자세에 대한 정보와 함께 DB에 저장하는 단계; 및
    상기 DB를 이용하여 객체 인식 모델을 학습시키는 단계;를 포함하는, 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법.
  2. 제1항에 있어서,
    현실 공간의 3D 객체를 3D 모델로 재구성하는 단계; 및
    3D 모델의 각 시점에 대한 영상을 샘플링하는 단계;를 더 포함하는 것을 특징으로 하는, 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법.
  3. 제1항에 있어서,
    상기 저장 단계는,
    샘플링된 영상을 학습 영상으로 DB에 저장하고, 영상을 Bag of visual Word 형태로 저장하는 것을 특징으로 하는, 2D 현실공간 이미지를 기반의 3D 객체 인식 및 변환 방법.
  4. 제1항에 있어서,
    상기 3D 객체의 종류를 파악단계 및 상기 카메라의 자세 파악단계는,
    서버에 의해 수행되고,
    상기 3D 객체의 좌표 추정단계는,
    모바일 단말에 의해 수행되는 것을 특징으로 하는, 데이터 수집 장치의 데이터 정제 방법.
  5. 메모리(memory);
    송수신기(transceiver); 및
    메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 학습된 객체 인식 모델을 이용하여, 영상에 등장하는 3D 객체의 종류를 파악하는 단계;
    학습된 객체 인식 모델을 이용하여, 상기 3D 객체를 관찰하는 카메라의 자세를 파악하는 단계;
    상기 카메라로 파악된 자세를 기초로, 상기 3D 객체의 좌표를 추정하는 단계;
    학습 영상을 영상에 등장하는 상기 3D 객체의 종류에 대한 정보 및 상기 3D 객체를 관찰하는 상기 카메라의 자세에 대한 정보와 함께 DB에 저장하는 단계; 및
    상기 DB를 이용하여 객체 인식 모델을 학습시키는 단계;를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.
KR1020210136608A 2021-10-14 2021-10-14 2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR20230053262A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210136608A KR20230053262A (ko) 2021-10-14 2021-10-14 2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210136608A KR20230053262A (ko) 2021-10-14 2021-10-14 2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20230053262A true KR20230053262A (ko) 2023-04-21

Family

ID=86098871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210136608A KR20230053262A (ko) 2021-10-14 2021-10-14 2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20230053262A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190095359A (ko) 2016-12-14 2019-08-14 마그네티 마렐리 에스.피.에이. 범용 적응형 3d 모델을 기반으로 하는 객체 인식

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190095359A (ko) 2016-12-14 2019-08-14 마그네티 마렐리 에스.피.에이. 범용 적응형 3d 모델을 기반으로 하는 객체 인식

Similar Documents

Publication Publication Date Title
US10977818B2 (en) Machine learning based model localization system
US11989822B2 (en) Damage detection from multi-view visual data
JP7250709B2 (ja) 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
US9292734B2 (en) Method and system for head tracking and pose estimation
CN111328396A (zh) 用于图像中的对象的姿态估计和模型检索
US20220058407A1 (en) Neural Network For Head Pose And Gaze Estimation Using Photorealistic Synthetic Data
US11842514B1 (en) Determining a pose of an object from rgb-d images
US20210225038A1 (en) Visual object history
CN115039166A (zh) 增强现实地图管理
US11972556B2 (en) Mobile multi-camera multi-view capture
US20230394832A1 (en) Method, system and computer readable media for object detection coverage estimation
Guo et al. Gesture recognition of traffic police based on static and dynamic descriptor fusion
KR20160046399A (ko) 텍스쳐 맵 생성 방법 및 장치와 데이터 베이스 생성 방법
US11410398B2 (en) Augmenting live images of a scene for occlusion
US20230230203A1 (en) Vehicle undercarriage imaging
CN116843867A (zh) 增强现实虚实融合方法、电子设备和存储介质
KR20230053262A (ko) 2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US20220254007A1 (en) Multi-view interactive digital media representation viewer
JP7495546B2 (ja) 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
US20220254008A1 (en) Multi-view interactive digital media representation capture
Simoni Dalle immagini allo spazio 3D: il ruolo dei punti chiave semantici per la percezione 3D
WO2022170327A1 (en) Multi-view interactive digital media representation viewer
CN117058765A (zh) 车辆中基于手势识别的图像处理方法、装置、存储介质
CN117813626A (zh) 从多视图立体(mvs)图像重建深度信息
Ashtankar et al. Exemplar Based Pose Correction Method For Microsoft Kinect Based System