KR20110088995A - 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체 - Google Patents

3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체 Download PDF

Info

Publication number
KR20110088995A
KR20110088995A KR1020100008773A KR20100008773A KR20110088995A KR 20110088995 A KR20110088995 A KR 20110088995A KR 1020100008773 A KR1020100008773 A KR 1020100008773A KR 20100008773 A KR20100008773 A KR 20100008773A KR 20110088995 A KR20110088995 A KR 20110088995A
Authority
KR
South Korea
Prior art keywords
image
surveillance camera
camera
surveillance
virtual
Prior art date
Application number
KR1020100008773A
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 KR1020100008773A priority Critical patent/KR20110088995A/ko
Publication of KR20110088995A publication Critical patent/KR20110088995A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명에 따른 3차원 모델에 영상을 시각화하기 위한 방법은 적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하는 단계; 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하는 단계; 및 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하는 단계를 포함한다.

Description

3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체{Method and System To Visualize Surveillance Camera Videos Within 3D Models, and Program Recording Medium}
본 발명은 감시 카메라 영상을 시각화하기 위한 방법 및 시스템에 관한 것으로, 보다 구체적으로는 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템에 관한 것이다.
감시 카메라(CCTV) 관제 소프트웨어(예컨대, Digital Video Recording S/W)에서 보여주는 화면은 도 1과 같이 기본적으로 2차원 매트릭스(matrix)에 해당하고, 이와 같은 화면을 통해 사용자는 보고 있는 카메라가 3차원 공간상에서 어디에 위치하는지를 직관적으로 알기가 쉽지 않다.
각각의 감시 카메라 화면(11 내지 19)에 대한 간단한 레이블(label)이 있더라도, 사용자가 상기 카메라 화면(11 내지 19)을 상상력 안에서 곧바로 3차원 또는 2차원 위치 정보와 연결시키기 위해서는 상당한 시간의 훈련이 필요하다.
따라서, 사용자가 비디오 영상을 보고 직관적으로 상기 영상에 대해 시공간적으로 판단할 수 있게 하는 새로운 시각화 방법이 요구되고, 나아가 복잡한 환경 (예컨대, 수많은 감시 카메라가 존재하는 경우, 복잡한 3차원 공간)에서도 효율적으로 관제할 수 있는 환경을 제공할 수 있는 시각화 방법이 요구된다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 사용자가 비디오 영상을 보고 직관적으로 상기 영상에 대해 시공간적으로 판단할 수 있게 하는 새로운 시각화 방법과 복잡한 환경에서도 효율적으로 관제할 수 있는 환경을 제공할 수 있는 방법을 제공하는 것이다.
본 발명에 따른 3차원 모델에 영상을 시각화하기 위한 방법은 적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하는 단계; 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하는 단계; 및 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하는 단계를 포함할 수 있다.
또한, 상기 3차원 모델에 영상을 시각화하기 위한 방법은 상기 가상의 오브젝트 상에, 상기 조정된 평면에 나타나는 각 감시 카메라들이 촬영한 2차원 영상을 미리 설정한 크기의 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계를 포함할 수 있다.
또한, 상기 3차원 모델에 영상을 시각화하기 위한 방법은 사용자가 상기 적어도 하나의 뷰 윈도우 중 하나를 선택한 경우, 선택된 뷰 윈도우의 해당 감시 카메라가 촬영한 영상을, 상기 가상 오브젝트 상에 프로젝션하여 출력하는 단계를 포함할 수 있다.
또한, 상기 3차원 모델에 영상을 시각화하기 위한 방법은 상기 가상 카메라와, 시선 방향 또는 거리가 가까운 감시 카메라가 촬영한 영상을 상기 가상 오브젝트 상에 프로젝션하여 출력하는 단계를 포함할 수 있다.
또한, 상기 적어도 하나의 뷰 윈도우는 미리 정해진 상황이 발생한 경우, 상기 적어도 하나의 뷰 윈도우를 구성하는 컬러가 변화되거나, 상기 적어도 하나의 뷰 윈도우가 깜빡거릴 수 있다.
또한, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는 미리 정해진 순서에 따라 상기 적어도 하나의 뷰 윈도우의 컬러 값을 판단하는 단계; 및 상기 컬러 값을 기준 값과 비교하여 상기 적어도 하나의 뷰 윈도우를 미리 정해진 방향으로 이동시켜 디스플레이하는 단계를 포함할 수 있다.
또한, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는 상기 뷰 윈도우들을, 상기 가상의 오브젝트 상의 해당 감시 카메라 위치와 주석 라인을 연결하여 디스플레이하는 단계를 포함할 수 있다.
또한, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는 상기 가상 오브젝트 상의 특정 영역이 선택되는 경우, 상기 선택 영역 내의 감시 카메라들의 뷰 윈도우를 디스플레이하는 단계를 포함할 수 있다.
또한, 상기 가상의 오브젝트를 생성하는 단계는 감시 영상 및 감시카메라의 감시 영역을 시각화하기 위하여, 와이어프레임(Wireframe Rendereing) 렌더링 및/또는 폴리곤 렌더링(Polygon Rendering), 또는 알파 값 조정 렌더링을 이용하여 상기 가상의 오브젝트를 생성 및 렌더링하는 단계를 포함할 수 있다.
또한, 상기 폴리곤 렌더링은 쉐도우-맵(shadow-map) 알고리즘을 이용할 수 있다.
또한, 상기 가상 오브젝트를 생성하는 단계는 상기 적어도 하나의 감시 카메라의 촬영 영상에 기초하여, 상기 촬영 영상의 소실점들로 향하는 특정 방향의 3차원 벡터들 및 및 상기 3차원 벡터들을 외적한 외적 벡터를 이용하여 3차원 좌표계를 생성하는 단계; 및 상기 3차원 좌표계를 미리 정한 기준에 따라 상기 가상 오브젝트에 위치시켜 상기 적어도 하나의 감시 카메라의 위치 및/또는 감시 방향을 계산한 후, 상기 가상 오브젝트 내에 상기 적어도 하나의 감시 카메라를 위치시키는 단계를 포함할 수 있다.
또한, 본 발명에 따른 3차원 모델에 영상을 시각화하기 위한 시스템은 적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하고, 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하며, 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하도록 프로그램화된 프로세서; 및 상기 프로세서의 처리를 위하여, 상기 시스템에 입력 및/또는 출력되는 데이터를 저장하기 위한 데이터베이스를 포함할 수 있다.
또한, 상기 프로세서는 적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하고, 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하며, 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하도록 모델링하는 모델링 모듈; 상기 모델링 모듈의 모델링을 위하여, 상기 시스템에 입력 및/또는 출력되는 데이터를 검출하여 상기 모델링 모듈에 전달하기 위한 검출 모듈; 및 상기 모델링 모듈에 의하여 모델링된 데이터를 컬러 값으로 렌더링하기 위한 컬러 버퍼를 포함할 수 있다.
또한, 상기 3차원 모델에 영상을 시각화하기 위한 시스템은 상기 프로세서가 처리한 결과를 디스플레이하기 위한 디스플레이 장치를 포함할 수 있다.
본 발명에 따르면 2차원 화면을 2차원 또는 3차원적으로 표현된 3차원 공간 안에 왜곡 없이 표현할 수 있다.
또한, 본 발명에 따르면 사용자에게 편리한 관리 체계를 제공할 수 있다.
또한, 본 발명에 따르면 3차원 가상 공간을 보다 현실과 부합되게 구현할 수 있는 효과가 있다.
도 1은 종래 감시 카메라들이 출력하는 화면을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 시스템을 나타낸다.
도 3a 및 도 3b는 본 발명의 비교 예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다.
도 3c 내지 도 3e는 본 발명에 일 실시예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다.
도 3f는 본 발명의 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 개괄적인 흐름도이다.
도 4a 및 도 4b는 도 3c 내지 도 3f에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법이 구현된 일 예를 나타내기 위한 도면이다.
도 4c 및 4d는 도 2의 시스템에 의하여 디스플레이되는 감시 카메라의 위치 및 감시 방향을 나타내기 위한 알고리즘을 설명하기 위한 도면이다.
도 5a는 3차원 모델 상에 감시 카메라가 촬영한 영상이 프로젝션되어 디스플레이된 일 예를 나타내는 도면이다.
도 6a는 감시 카메라들의 수가 많을 경우 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다.
도 6b는 도 6a에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법이 구현된 예를 나타내기 위한 도면이다.
도 7a는 넓은 영역에 3차원 모델이 밀집되어 있는 경우를 위한 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다.
도 7b는 감시 카메라들의 수가 많을 경우, 3차원 모델이 밀집되어 있는 지역을 위한 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다.
도 8은 평면도 형식의 3차원 모델에 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다.
도 9a 및 9b는 촬영 영상에 기초하여, 3차원 모델 상에서 감시 카메라의 정확한 위치 및 정확한 감시 방향을 검출하기 위한 알고리즘을 설명하기 위한 도면이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 시스템을 나타낸다. 도 2를 참고하면, 상기 시스템(100)은 프로세서(110) 및 데이터 베이스(120)를 포함한다.
상기 프로세서(110)는 검출 모듈(111), 모델링 모듈(112) 및 I/F(113)를 포함할 수 있으며, 상기 시스템(110)의 전체적인 처리를 담당한다.
상기 검출 모듈(111)은 감시 카메라의 위치 및 감시 방향을 검출할 수 있고, 상기 감시 카메라로부터 수신받은 촬영 영상과 관련된 모든 데이터를 검출할 수 있으며, 미리 입력된 상황이 발생한 경우 이를 검출할 수 있다.
상기 검출 모듈(111)은 상기 모델링 모듈(112)의 모델링을 위하여, 상기 시스템(100)에 입력 또는 출력되는 데이터에 대하여 검출할 수 있다.
상기 모델링 모듈(112)은 3차원 모델을 구성하도록 할 수 있으며, 미리 정해진 알고리즘에 따른 3차원 모델링을 수행할 수 있다 상기 알고리즘은 3차원 모델에 감시 카메라의 촬영 영상을 프로젝션하기 위한 알고리즘, 감시 카메라의 영상을 사용자에게 최적으로 디스플레이하기 위한 알고리즘 등을 포함하며, 상기 알고리즘에 대해서는 추후 구체적으로 설명하기로 한다.
또한, 상기 모델링 모듈(112)은 소정의 데이터에 ID(identification)를 부여할 수 있다.
상기 I/F(113)는 사용자에 의한 소정의 제어가 있는 경우, 이에 부합하는 제어 명령을 전달하기 위한 상기 검출모듈(111), 모델링 모듈(112) 및 상기 데이터 베이스(120) 간의 인터페이스를 담당한다.
상기 데이터 베이스(120)는 상기 시스템(100)에 입력 또는 출력되는 모든 데이터 또는 사용자가 미리 정한 데이터를 저장할 수 있다.
상기 전자 디바이스(200)는 I/F(113)를 통해 상기 시스템(100)과 연결되며, 시각적 또는 입체적 수신, 저장 및 전달을 위해 정보를 나타내는 디스플레이 장치에 해당할 수 있다. 예컨대, 상기 전자 디바이스(200)는 컴퓨터 모니터, TV, 프로젝터 등을 포함할 수 있고, 본 발명의 범위는 이에 한정되지 않는다.
도 2에서는 상기 전자 디바이스(200)가 상기 시스템(100) 외부에 위치하는 것으로 도시하였으나, 내부에 위치할 수도 있다.
상기 프로세서(110)는 컬러 버퍼(미도시)를 더 포함할 수 있다. 상기 컬러 버퍼(미도시)는 상기 모델링 모듈(112)에 의하여 부여된 ID를 갖는 소정의 데이터를 컬러 값으로 렌더링할 수 있다.
도 3a 및 도 3b는 본 발명의 비교 예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다. 여기서, 가상의 카메라는 감시 카메라와 구분되는 카메라로서, 렌더링을 위해 가상으로 설정한 카메라에 해당한다. 또한, 상기 가상의 카메라를 회전, 줌, 패닝 및/또는 이동하면서 3차원 모델을 네비게이션(navigation)할 수 있다.
도 3a를 참고하면, 상기 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위하여, 감시 카메라(CAM0) 영상을 감시 카메라의 촬영 방향(31) 일정 거리에 있는 평면(PN1)에 나타나도록 하거나, 감시 카메라(CAM0) 영상을 3차원 모델(30) 위로 프로젝션(PN2)하도록 할 수 있다. 이때, 가상의 카메라(VCAM0)의 시선 범위(FOV:Field Of View)는 감시 카메라의 시선 범위와 일치하도록 해야한다.
다만, 상기 방법들은 도 3b와 같이, 가상의 카메라(VCAM0)의 위치(또는 FOV)에 따라 사용자에게 왜곡된 영상을 제공할 수 있고, 상기 방법들로는 상기 감시 카메라(CAM0)의 위치 파악에 어려움을 줄 수도 있다.
도 3c 내지 도 3e는 본 발명에 일 실시예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다.
도 3c를 참고하면, 상기 3차원 모델(30) 안에서 감시 카메라 영상을 시각화하기 위하여, 먼저 감시 카메라(CAM0) 영상을, 감시 카메라(CAM0)를 정면으로 바라보고 있으면서 감시 카메라(CAMO)로부터 일정 거리에 떨어져 있는 평면(PN3)에 나타나도록 할 수 있다. 이때, 가상의 카메라(VCAM0)의 시선 범위는 감시 카메라의 시선 범위와 일치하도록 해야한다.
이때, 상기 감시 카메라(CAM0)는 감시 카메라(CAM0)의 각각의 픽셀에 대한 시선 방향(viewing ray)을 따라, 평면(PN3)에 촬영 화면을 프로젝션할 수 있다.
상기 평면(PN3)을 가상의 카메라(VCAMO)의 시선 방향(S2)과 수직이 되고 평면(PN3)의 up 방향(34)이 가상의 카메라(VCAMO)의 up 방향(34)과 평행이 되도록 조정하여, 상기 감시 카메라(CAMO)로부터 상기 up 방향(34)을 따라 일정 거리(33)에 위치(PN3')시킬 수 있다.
따라서, 도 3d와 같이, 사용자는 가상의 카메라의 시선에 무관하게 감시 카메라의 출력 영상을 왜곡 없이 볼 수가 있다.
이때, 상기 프로젝션은 모든 감시 카메라들의 촬영 영상을 프로젝션하는 경우에도 해당할 수 있고, 상기 가상의 카메라의 시선 방향 또는 거리가 가까운 감시 카메라를 프로젝션하는 경우도 해당할 수 있다.
출력되는 영상의 크기는 가상의 카메라(VCAM0)에서 감시 카메라(CAM0)까지의 거리에 비례할 수 있다. 예컨대, 가상의 카메라(VCAM0)에서 감시 카메라(CAM0)까지의 거리가 가까우면 영상의 크기는 크게 나타나고, 가상의 카메라(VCAM0)에서 감시 카메라(CAM0)까지의 거리가 멀면 영상의 크기는 작게 나타날 수 있다. 따라서, 사용자에게 가상의 카메라(VCAM0)에서 감시 카메라(CAM0)까지의 거리에 따라서 깊이감을 느낄 수 있도록 하는 영상을 제공할 수 있다.
이때, 주석 라인(32)을 이용하여 사용자에게 감시 카메라 촬영 영상을 제공함으로써 카메라의 위치를 직관적으로 파악할 수 있도록 할 수 있다. 상기 감시 카메라 촬영 영상은 앞서 설명된 바와 같이, 상기 주석 라인(32)에 연결되어 일정 거리(33)에 위치한 소정의 뷰 윈도우(예컨대, 카메라 영상을 제공하기 위한 사각 프레임)를 통해 사용자에게 디스플레이될 수 있다.
또한, 상기 감시 감시카메라의 촬영 영상의 크기가 조절될 수 있다. 예컨대, 사용자는 소정의 기능(예컨대, 버튼 인터페이스)을 통하여 감시 카메라 촬영 영상의 크기를 조절할 수 있다. 감시 카메라의 촬영 영상의 크기가 전체 화면의 크기에 비해 현격히 커질 경우에는 일반적인 관제 형태인 매트릭스 모드로 자동 전환되도록 하여, 사용자에게 3차원 및/또는 2차원 관제를 제공할 수 있다.
도 3e를 참고하면, 경우에 따라서 가상의 카메라(VCAM0)에서 바라볼 경우 제1 감시 카메라(CAM5)는 제2 감시 카메라(CAM6)와 달리 제3 감시 카메라(CAM4)에 의하여 영상이 가려질 수 있다.
따라서, 이를 고려하기 위한 알고리즘이 아래에서 설명된다.
먼저, 미리 정해진 순서에 따라 감시 카메라들(CAM4 내지 CAM6)의 뷰 윈도우를 차례대로 읽어들여 고유의 ID를 부여하고, 컬러 버퍼의 OpenGL FLAT shading을 이용하여 상기 ID를 컬러 값으로 설정하여 상기 감시 카메라 촬영 영상을 렌더링한다.
다음으로, 검출 모듈(111)은 상기 뷰 윈도우에서 상기 컬러 값(또는 상기 ID 값)을 갖는 픽셀의 수를 판단한다. 만일 검출 모듈(111)이 상기 픽셀의 수가 미리 정해진 수 미만이라고 판단되면(즉, 상기 뷰 윈도우가 잘 보이지 않는다고 판단되면), 모델링 모듈(112)은 상기 뷰 윈도우를 소정의 방향으로 이동시킨다.
상기 과정을 반복하고, 상기 픽셀의 수가 미리 정해진 수 이상이라고 판단되면(즉, 상기 뷰 윈도우가 잘 보인다고 판단되면), 상기 과정을 종료한다.
상기 알고리즘은 적어도 하나의 감시 카메라(CAM4 내지 CAM6)의 위치가 변하거나 가상 카메라(VCAM0)의 위치나 시선이 변할 경우 수행될 수 있다.
도 3f는 본 발명의 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 개괄적인 흐름도이다.
도 3f를 참고하면, 감시 카메라들이 설치된 건물 또는 지역에 대한 가상의 3차원 모델을 구성한다(S310).
다음으로, 상기 감시 카메라의 영상을 상기 감시 카메라를 정면으로 바라보고 있으면서 상기 감시 카메라로부터 일정 거리에 떨어져 있는 평면 위에 렌더링하고(S320), 촬영 영상을 뷰 윈도우에 출력한다(S330). 이때, 상기 감시 카메라는 감시 카메라(CAM0)의 각각의 픽셀에 대한 시선 방향에 따라서 상기 평면에 촬영 화면을 프로젝션할 수 있다. 또한, 상기 뷰 윈도우는 가상의 카메라의 시선 방향과 수직이 되고 상기 뷰 윈도우의 up 방향이 가상의 카메라의 up 방향과 평행이 되도록 조정되어, 상기 감시 카메라로부터 상기 up 방향을 따라 일정 거리에 위치될 수 있다.
다음으로, 뷰 윈도우가 잘 보이는지 여부를 판단하고(S340), 만일 잘 보이지 않는다면, 뷰 윈도우를 소정의 방향으로 이동시키고(S350) 뷰 윈도우가 잘 보인다고 판단될 때까지 이를 반복한다.
도 4a 및 도 4b는 도 3c 내지 도 3f에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법이 도 2의 시스템(100)에 의해 구현된 일 예를 나타내기 위한 도면이다.
도 4a를 참고하면, 상기 시스템(100)에 의하여 처리된 영상은 3차원 전체 영상(40) 및 감시 카메라들(A1 내지 A6)에 의하여 감시되는 2차원 영상을 나타내는 소정 크기의 뷰 윈도우들(41 내지 46)을 포함한다. 상기 뷰 윈도우들(41 내지 46)은 주석 라인(410 내지 460)을 통해 감시 카메라들(A1 내지 A6)의 위치와 연결되어 있다.
이와 같은 디스플레이는 사용자로 하여금 감시 카메라(A1 내지 A6)의 위치를 용이하게 판단할 수 있게 하며, 보다 용이하게 시스템 관리를 할 수 있게 한다.
상기 뷰 윈도우들(41 내지 46)은 미리 정해진 상황이 발생한 경우, 사용자가 바로 감지할 수 있도록 변형이 일어날 수 있다. 예컨대, 상기 시스템(100)은 상기 뷰 윈도우들(41 내지 46)을 깜빡거리게 하거나, 상기 뷰 윈도우들(41 내지 46)의 컬러가 변화하도록 할 수 있다. 이때, 상기 컬러 변화를 위하여 OpenGL color blending 및/또는 Programmable Shader가 이용될 수 있다.
또한, 상기 시스템(100)은 감시 카메라들(A1 내지 A6)이 감시하고 있는 감시 방향(미도시)을 나타낼 수도 있다.
또한, 사용자는 도 4a를 도 4b와 같이, 소정의 기능(예컨대, 버튼 인터페이스)을 통하여 상기 3차원 전체 영상(40) 및/또는 상기 뷰 윈도우들(41 내지 46)의 크기를 조절할 수도 있거나, 시스템(100)에 연결된 입력 장치(예컨대, 마우스 또는 키보드)를 이용하여 상기 뷰 윈도우들(41 내지 46)을 이동시킬 수 있다.
또한, 현재 가상의 카메라의 시점과 방향, 및 뷰 윈도우들(41 내지 46)의 3차원 상의 위치 및/또는 크기 등을 저장할 수 있고, 이를 불러오기 하는 경우 저장된 정보대로 화면이 재구성될 수 있다.
상기 시스템(100)은 사용자에 의하여 상기 뷰 윈도우들(41 내지 46)의 화면 영상의 크기가 미리 정해진 크기 이상으로 커질 경우, 상기 화면을 매트릭스 모드(matrix mode)로 자동 전환하도록 하여 사용자에게 3차원 및 2차원 관제가 모두 가능토록 할 수 있다.
도 4c 및 4d는 도 2의 시스템에 의하여 디스플레이되는 감시 카메라의 위치 및 감시 방향을 나타내기 위한 알고리즘을 설명하기 위한 도면이다.
도 4c 및 4d를 참고하면, 도 4c와 같이 감시 카메라들(CAM1 및 CAM2)의 위치 및 감시 방향(56 및 57)을 3차원 영상에 위치시키는 경우, 3차원 영상에 의해 감시 카메라(CAM2)가 가려져 상기 감시 카메라(CAM2)의 위치 및 감시 방향(56)을 정확히 알 수 없는 문제점이 있을 수 있다.
따라서, 3차원 모델에 감시 카메라(CAM1 및 CAM2)의 감시 방향과 감시 카메라(CAM1 및 CAM2)를 표시하는 것이 필요할 수 있다. 즉, 감시 카메라(CAM1 및 CAM2)의 시선 범위(FOV:Field of view)와 감시 카메라 자체를 화면에 표시하는 것이 필요할 수 있다.
도 4d와 같이 감시 카메라들(CAM1 및 CAM2)이 촬영하는 평면만 폴리곤(Polygon) 렌더링하고(51 내지 53) 그 외 나머지는 와이어프레임(Wireframe) 렌더링하는 방법, 또는 상기 평면의 알파 값을 조정하여 렌더링하는 알파 값 조정 렌더링 방법 등을 사용하여 감시 카메라(CAM1 및 CAM2)가 3차원 모델에 가려지는 현상을 해결할 수 있다. 이때, 상기 감시 카메라들(CAM1 및 CAM2) 역시 폴리곤 렌더링할 수 있다(54 및 55).
상기 시스템(100)은 이를 수행하기 위하여 다음와 같은 알고리즘을 수행할 수 있다.
먼저, 3차원 영상 전체에 대하여 와이어프레임 렌더링하거나 평면의 알파 값을 조정하여 렌더링을 수행한다. 다만, 본 발명은 3차원 전체에 대한 렌더링을 수행하는 경우, 상기 기재된 렌더링 방법에 한정되지는 않는다.
다음으로, 쉐도우-맵(shadow-map) 알고리즘을 이용하여 폴리곤 렌더링을 수행한다.
상기 쉐도우-맵 알고리즘을 사용하여 상기 폴리곤 렌더링을 수행하는 방법의 일 예가 아래에 설명된다.
먼저, 감시 카메라의 위치에서 논리 버퍼 객체(예컨대, OpenGL에서는 FBO:Framebuffer Object, DirectX에서는 Render Target)을 설정 및 생성하고, 깊이 텍스쳐(Depth Texture)를 상기 논리 버퍼 객체와 연결한다.
상기 감시 카메라의 모델-뷰(ModelView) 및 프로젝션 매트릭스를 저장한다. 각각의 감시 카메라 위치에서 3차원 모델(오브젝트)을 렌더링 수행하며, 렌더링 된 결과는 상기 논리 버퍼 객체에 연결된 쉐도우-맵에 깊이 값으로 저장된다.
가상의 카메라 위치에서 버텍스/픽셀 쉐이더(vertex/pixel shader)를 이용하여 렌더링을 수행한다. 이때, 상기 버텍스/픽셀 쉐이더는 감시 카메라 모델-뷰 및 프로젝션 메트릭스를 이용하여 각 폴리곤 내부의 각 포인트(point)에서 감시 카메라를 기준으로 한 좌표를 구한다. x, y 축은 쉐도우-맵의 텍스쳐 좌표(texture coordinate)가 되고 z축은 상기 포인트의 깊이 값이 된다.
상기 포인트에서의 폴리곤 내부 포인트 깊이 값과 쉐도우-맵에 저장된 깊이 값을 비교하여, 같으면 이 포인트를 화면에 출력하고 그렇지 않으면 출력하지 않는다.
도 5a는 3차원 모델 상에 감시 카메라가 촬영한 영상이 프로젝션되어 디스플레이된 일 예를 나타내는 도면이다. 사용자가 하나의 뷰 윈도우를 선택하는 경우( 또는, 가상의 카메라가 감시 카메라와 미리 정해진 거리 이내로 다가갈 경우)에, 상기 시스템(100)은 선택된 뷰 윈도우가 제공하는 영상(72)을 디스플레이할 수 있고, 선택된 뷰 윈도우와 관련된 감시 카메라가 촬영하는 영상(71)을 상기 3차원 모델 상에 프로젝션할 수 있다. 이를 통하여 사용자는 실제 현장을 관찰하는 것과 동일 또는 유사한 느낌을 전달받을 수 있다.
도 5b는 도 5a에서 설명한 3차원 모델에 감시 카메라 영상을 프로젝션하여 디스플레이하는 방법을 보다 구체적으로 설명하기 위한 도면이다. 도 5b를 참고하면, 상기 시스템(100)은 선택된 뷰 윈도우의 사용자 관찰 시점을 감시 카메라의 시점과 동일한 시점(VPT)에 일치시킬 수 있고, 상기 감시 카메라가 촬영하는 영상(71)을 상기 3차원 모델 상에 프로젝션할 수 있다. 이때, 상기 뷰 윈도우가 제공하는 영상(72) 중 상기 감시 카메라가 감시하는 영상(71)이 아닌 부분(74a 및 74b)은 그대로 3차원 모델로 표현될 수 있다.
상기 방법에 따라, 상기 시스템(100)은 상기 감시 카메라가 촬영한 2차원 영상(71)을 상기 3차원 모델에 들어맞도록 정합시킬 수 있어, 상기 감시 카메라에 촬영된 물체(object)를 오류(예컨대, 찌그러져 보이거나 희미 또는 애매하게 보이는 경우 등) 없이 디스플레이할 수 있고, 감시 카메라가 촬영한 영상이 3차원 모델의 공간 상의 어느 지점에 해당하는지에 대한 직관성을 높일 수 있다.
도 6a는 감시 카메라들의 수가 많을 경우 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다. 감시 카메라의 수가 많을 경우 영상의 크기를 줄이면 전체적으로 볼 수는 있으나, 특정 영역만 선별적으로 보여주고 싶을 경우가 있을 수 있으므로, 이를 해결하기 위한 방법이다.
도 6a를 참고하면, 사용자는 가상의 카메라(VCAM0)의 전체 영상(40) 중 보여주고 싶은 영역만을 바운딩(BD1) 할 수 있고, 상기 바운딩(BD1) 영역 내에 있는 감시 카메라들(A1 내지 A3)의 영상(41 내지 43)만을 사용자에게 보여줄 수 있다. 이때, 상기 바운딩(BD1) 영역 밖에 있는 감시 카메라들(A4 내지 A6)이 촬영한 영상은 사용자에게 제공되지 않는다.
도 6b는 도 6a에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법이 도 2의 시스템(100)에 의해 구현된 예이다. 상기 시스템(100)은 도 6b와 같이 사용자가 원하는 감시 카메라들(A1 내지 A3)의 화면만을 디스플레이할 수 있다. 도 6b에 도시된 디스플레이는 감시 카메라의 수가 많을 경우에 특히 유용하다.
사용자는 전체 영상(40)에서 원하는 감시 카메라들(A1 내지 A3)이 포함되도록 바운딩(bounding)(BD1)할 수 있고, 상기 바운딩(BD1)에 포함된 감시 카메라들(A1 내지 A3)이 감시하는 영상을 나타내는 뷰 윈도우들(41 내지 43)을 디스플레이할 수 있다. 만일, 상기 바운딩(BD1)에 포함된 감시 카메라들이 복수일 경우, 소정의 스크롤(SCR1)을 이용하여 선택된 감시 카메라의 뷰 윈도우를 미리 정해진 크기(사용자와 디스플레이 화면을 고려하여 최적의 크기라고 판단해 설정한 크기)로 볼 수 있도록 디스플레이할 수 있다.
감시 카메라들(A4 내지 A6)은 상기 바운딩(BD1)에 포함되지 않으므로, 상기 시스템(100)은 감시 카메라들(A4 내지 A6)이 감시하는 영상을 나타내는 뷰 윈도우들은 디스플레이하지 않을 수 있다.
사용자는 도 4a 또는 도 6b에 도시된 뷰 윈도우들(41 내지 46) 중 하나를 선택할 수 있고, 사용자가 하나를 선택하는 경우, 선택된 뷰 윈도우는 풀-스크린 디스플레이될 수 있다. 이때, 선택된 뷰 윈도우가 제공하는 화면은 촬영되는 현장과 동일 또는 유사한 3차원 모델 상에 프로젝션되어 사용자에게 실제감을 제공할 수 있다.
도 7a는 넓은 영역에 3차원 모델이 밀집되어 있는 경우를 위한 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다. 넓은 영역에 3차원 모델이 밀집되어 있는 경우, 3차원 모델을 전부 구축하기 어려울 뿐만 아니라, 불필요한 3차원 모델들이 감시를 어렵게 할 수 있다.
도 7a를 참고하면, 상기 시스템(100)에 의하여 처리된 영상은 지도 이미지(70) 및 감시 카메라들(B1 내지 B4)에 의하여 감시되는 2차원 영상을 나타내는 소정 크기의 뷰 윈도우들(71 내지 74)을 포함한다. 이와 같은 디스플레이는 감시 카메라들(B1 내지 B4)의 위치를 용이하게 판단할 수 있게 하며, 사용자로 하여금 보다 용이하게 시스템 관리를 할 수 있게 한다.
또한, 상기 방법에 따라, 지도 이미지(70) 상에, 상기 감시 카메라(B1 내지 B4)의 위치, 상기 감시 카메라(B1 내지 B4)의 감시 방향 등을 이용하여 상기 감시 카메라(B1 내지 B4)의 감시 영역(DET1 내지 DET4)을 나타낼 수 있고, far plane은 카메라의 해상도에 따라 유동적으로 표현될 수 있다(예컨대, 640 X 480은 30m로 표현).
사용자가 뷰 윈도우(72)를 선택하는 경우, 도 5a와 같이 나타날 수 있다.
이는 광역 전체가 아닌 부분적으로 3차원 모델을 구성하는데 용이할 수 있다.
도 7b는 감시 카메라들의 수가 많을 경우, 3차원 모델이 밀집되어 있는 지역을 위한 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다. 도 7b를 참고하면, 사용자가 원하는 감시 카메라들(B1, B3 및 B4)의 화면만을 디스플레이할 수 있다.
사용자는 도 7a의 화면에서 원하는 감시 카메라들(B1, B3 및 B4)이 포함되도록 바운딩(BD2)할 수 있고, 상기 바운딩(BD2)에 포함된 감시 카메라들(B1, B3 및 B4)이 감시하는 영상을 나타내는 뷰 윈도우들(71, 73 및 74)을 디스플레이할 수 있다. 만일, 상기 바운딩(BD2)에 포함된 감시 카메라들이 복수일 경우, 소정의 스크롤(SCR2)을 이용하여 선택된 감시 카메라의 뷰 윈도우를 미리 정해진 크기(사용자와 디스플레이 화면을 고려하여 최적의 크기라고 판단해 설정한 크기)로 볼 수 있도록 디스플레이할 수 있다.
또한, 상기 방법에 따라, 지도 이미지(70) 상에, 선택된 감시 카메라(B1, B3, B4)의 위치, 선택된 감시 카메라(B1, B3, B4)의 감시 방향 등을 이용하여 상기 감시 카메라(B1, B3, B4)의 감시 영역(DET1, DET3, DET4)을 나타낼 수 있고, far plane은 카메라의 해상도에 따라 유동적으로 표현될 수 있다(예컨대, 640 X 480은 30m로 표현).
감시 카메라(B2)는 상기 바운딩(BD2)에 포함되지 않으므로, 상기 시스템(100)은 감시 카메라(B2)가 감시하는 영상을 나타내는 뷰 윈도우(72)는 디스플레이하지 않을 수 있다.
도 8은 평면도 형식의 3차원 모델에 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다. 도 8을 참고하면, 상기 시스템(100)에 의하여 처리된 영상은 평면도 형태의 이미지(80) 및 감시 카메라들(C1 내지 C4)에 의하여 감시되는 2차원 영상을 나타내는 소정 크기의 뷰 윈도우들(81 내지 84)을 포함한다.
또한, 상기 시스템(100)은 감시 카메라들(C1 내지 C4)이 감시하고 있는 감시 영역(DET1' 내지 및 DET4')을 지도 이미지(80) 상에 나타낼 수 있다.
도 9a 및 9b는 촬영 영상에 기초하여, 3차원 모델 상에서 감시 카메라의 정확한 위치 및 정확한 감시 방향을 검출하기 위한 알고리즘을 설명하기 위한 도면이다.
도 9a는 감시 카메라가 촬영하는 화면(90)의 일 예를 나타낸 도면이고, 도 9b는 도 9a를 3차원적으로 고려해볼 때 임의의 점(E1), 소실점(VP1) 및 소실점(VP2)를 지나는 평면을 2차원적으로 표현한 도면이다.
도 9a 및 도 9b를 참고하면, 상기 화면(90)을 3차원적으로 고려해보면, 서로 수직하는 평행선(PL1) 및 평행선(PL2)를 통하여 소실점(VP1) 및 소실점(VP2)을 알 수 있고, 이를 이용하여 상기 감시 카메라(CAM)의 내부 파라미터-예컨대, 초점 거리(focal length), 이미지 센터(image center) 등-를 구할 수 있다.
특히, 카메라가 스큐(skew)가 없고 픽셀이 정사각형일 경우 아래 수학식1과 같이 간단히 구할 수 있다.
Figure pat00001
Figure pat00002
Figure pat00003
여기서,
Figure pat00004
는 이미지 센터의 2차원 벡터, 상기 L은 초점거리,
Figure pat00005
는 소실점 VP1 2차원 벡터,
Figure pat00006
는 소실점 VP2의 2차원 벡터, 및 K는 투영 행렬의 형태이다.
상기 수학식1을 이용하여 상기 화면(90) 상의 임의의 한 점(예컨대, E1)의 3차원적 벡터(901)를 구할 수 있다. 예컨대, 상기 K의 역행렬에 상기 E1의 2차원 좌표값(또는 2차원 벡터)(ie. E1=(e1,e2))를 행렬적으로 곱할 수 있다. 이때, 3 X 3 매트릭스 곱을 위하여, 상기 E1의 2차원 좌표값 행렬의 경우 아래 수학식 2와 같이 마지막에 컴포넌트 1을 사용할 수 있다.
Figure pat00007
다음으로, 상기 소실점들(VP1 및 VP2)의 3차원적 벡터((901 및 904), 및 상기 3차원적 벡터(901 및 904)를 외적하여 얻은 외적 벡터(903)를 이용하여 새로운 3차원 좌표계를 생성할 수 있고, 상기 임의의 점(E1)의 3차원적 벡터(901)과 상기 감시 카메라(CAM)의 초점면(focal plane)(FPL)과의 교점(소위, 임의의 점(E1)을 초점면(FPL)에 프로젝션한 점, 이하 원점이라 호칭함)(OP)을 얻을 수 있다.
다음으로, 임의의 점(E1)과 소실점(VP1)을 지나는 축(axis) 상에서 임의의 두 점(예컨대, E1 및 E2)의 거리(id2)를 상기 시스템(100)에 입력하면, 원점(OP)와 감시 카메라(CAM) 사이의 초점 거리(id3)를 알 수 있다.
다음으로, 마찬가지로, E1을 제외한 다른 한 점(E2)도 상기 설명한 방법으로 E2의 3차원적 벡터(902)를 구할 수 있다.
다음으로, 상기 id2와 평행한 하는 라인(905)을, 상기 원점(OP)을 지나도록 하는 경우, 상기 라인(905)과 상기 E2의 3차원적 벡터(902)가 가 만나는 점(AD)을 구할 수 있고, 따라서, 원점(OP)와 점(AD) 사이의 거리(id1)을 구할 수 있다.
다음으로, id1, id2 및 id3을 알고 있으므로, 비례식을 이용하여 id4를 구할 수 있고, 따라서, 임의의 점(E1)으로부터 원점(OP)가 얼마만큼 떨어져 위치하는 지를 알 수 있다.
이와 같이, 상기 감시 카메라(CAM)를, 점(E1)을 중심으로 하는 새로운 3차원 좌표계로 다시 표현하고, 상기 새로운 3차원 좌표계를 미리 정한 기준 또는 간단한 사용자 조작에 따라 3차원 모델에 위치시켜 상기 3차원 모델 상에서 상기 감시 카메라의 위치 및/또는 감시 방향을 계산할 수 있다.
이로써, 감시 카메라(CAM)가 촬영한 영상을 보고서 상기 감시 카메라(CAM)가 어디에 위치해 있는지를 더 정확히 알 수 있다.
상기 알고리즘을 이용하면, 복수의 감시 카메라들의 촬영 이미지들로부터 역으로 3차원 모델링을 수행할 수 있다. 예컨대, 도 9a에서 점(E1)을 기준으로 하는 한 평면상에서 건물의 일면을 간단히 모델링/텍스쳐링 할 수 있다.
감시 카메라(CAM)를 3차원 모델에 위치시킬 때는 새로이 모델링된 상기 일면 정보를 이용할 수 있으므로 훨씬 더 직관적으로 사용자가 감시 카메라(CAM)를 위치시킬 수 있다. 또한, 사이버상의 가상 3차원 모델(예컨대, 건물 또는 지형 등)을 더 정확히 구현할 수도 있다.
본 발명은 3차원 모델의 실제감 있는 느낌(예컨대, 원근감/깊이감)을 나타내기 위하여, 월드 좌표계에서 표현된 모델을 가상의 카메라 좌표계로 변환할 수 있고, 이를 영상 평면(image plane)으로 프로젝션(projection)하는 변환을 할 수 있으며, 이를 정규 좌표계로 변환하고, 최종적으로 윈도우 좌표계로 변환할 수 있다. 이는 OpenGL 또는 DirectX를 이용하여 구현될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 시스템, 110: 프로세서,
111: 검출 모듈, 112: 모델링 모듈,
113: 인터페이스, 120: 데이터 베이스,
200: 전자 디바이스

Claims (15)

  1. 적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하는 단계;
    상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하는 단계; 및
    상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  2. 제1항에 있어서, 상기 3차원 모델에 영상을 시각화하기 위한 방법은
    상기 가상의 오브젝트 상에, 상기 조정된 평면에 나타나는 각 감시 카메라들이 촬영한 2차원 영상을 미리 설정된 크기의 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계를 더 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  3. 제2항에 있어서, 상기 3차원 모델에 영상을 시각화하기 위한 방법은
    사용자가 상기 적어도 하나의 뷰 윈도우 중 하나를 선택한 경우, 선택된 뷰 윈도우의 해당 감시 카메라가 촬영한 영상을, 상기 가상 오브젝트 상에 프로젝션하여 출력하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  4. 제2항에 있어서, 상기 3차원 모델에 영상을 시각화하기 위한 방법은
    상기 가상 카메라와, 시선 방향 또는 거리가 가까운 감시 카메라가 촬영한 영상을 상기 가상 오브젝트 상에 프로젝션하여 출력하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  5. 제2항에 있어서,
    상기 적어도 하나의 뷰 윈도우는 미리 정해진 상황이 발생한 경우, 상기 적어도 하나의 뷰 윈도우를 구성하는 컬러가 변화되거나, 상기 적어도 하나의 뷰 윈도우가 깜빡거리는 3차원 모델에 영상을 시각화하기 위한 방법.
  6. 제2항에 있어서, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는
    미리 정해진 순서에 따라 상기 적어도 하나의 뷰 윈도우의 컬러 값을 판단하는 단계; 및
    상기 컬러 값을 기준 값과 비교하여 상기 적어도 하나의 뷰 윈도우를 미리 정해진 방향으로 이동시켜 디스플레이하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  7. 제2항에 있어서, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는
    상기 뷰 윈도우들을, 상기 가상의 오브젝트 상의 해당 감시 카메라 위치와 주석 라인을 연결하여 디스플레이하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  8. 제2항에 있어서,상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는
    상기 가상 오브젝트 상의 특정 영역이 선택되는 경우, 상기 선택 영역 내의 감시 카메라들의 뷰 윈도우를 디스플레이하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  9. 제1항에 있어서, 상기 가상의 오브젝트를 생성하는 단계는
    감시 영상 및 감시카메라의 감시 영역을 시각화하기 위하여, 와이어프레임(Wireframe Rendereing) 렌더링 및/또는 폴리곤 렌더링(Polygon Rendering), 또는 알파 값 조정 렌더링을 이용하여 상기 가상의 오브젝트를 생성 및 렌더링하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  10. 제9항에 있어서,
    상기 폴리곤 렌더링은 쉐도우-맵(shadow-map) 알고리즘을 이용하는 3차원 모델에 영상을 시각화하기 위한 방법.
  11. 제1항에 있어서, 상기 가상 오브젝트를 생성하는 단계는
    상기 적어도 하나의 감시 카메라의 촬영 영상에 기초하여, 상기 촬영 영상의 소실점들로 향하는 특정 방향의 3차원 벡터들 및 및 상기 3차원 벡터들을 외적한 외적 벡터를 이용하여 3차원 좌표계를 생성하는 단계; 및
    상기 3차원 좌표계를 미리 정한 기준에 따라 상기 가상 오브젝트에 위치시켜 상기 적어도 하나의 감시 카메라의 위치 및/또는 감시 방향을 계산한 후, 상기 가상 오브젝트 내에 상기 적어도 하나의 감시 카메라를 위치시키는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 기재된 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 기록매체.
  13. 3차원 모델에 영상을 시각화하기 위한 시스템에 있어서,
    적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하고, 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하며, 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하도록 프로그램화된 프로세서; 및
    상기 프로세서의 처리를 위하여, 상기 시스템에 입력 및/또는 출력되는 데이터를 저장하기 위한 데이터베이스를 포함하는 3차원 모델에 영상을 시각화하기 위한 시스템.
  14. 제13항에 있어서, 상기 프로세서는
    적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하고, 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하며, 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하도록 모델링하는 모델링 모듈;
    상기 모델링 모듈의 모델링을 위하여, 상기 시스템에 입력 및/또는 출력되는 데이터를 검출하여 상기 모델링 모듈에 전달하기 위한 검출 모듈; 및
    상기 모델링 모듈에 의하여 모델링된 데이터를 컬러 값으로 렌더링하기 위한 컬러 버퍼를 포함하는 3차원 모델에 영상을 시각화하기 위한 시스템.
  15. 제13항에 있어서, 상기 3차원 모델에 영상을 시각화하기 위한 시스템은
    상기 프로세서가 처리한 결과를 디스플레이하기 위한 디스플레이 장치를 더 포함하는 3차원 영상을 시각화하기 위한 시스템.
KR1020100008773A 2010-01-29 2010-01-29 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체 KR20110088995A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100008773A KR20110088995A (ko) 2010-01-29 2010-01-29 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100008773A KR20110088995A (ko) 2010-01-29 2010-01-29 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체

Publications (1)

Publication Number Publication Date
KR20110088995A true KR20110088995A (ko) 2011-08-04

Family

ID=44927351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100008773A KR20110088995A (ko) 2010-01-29 2010-01-29 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체

Country Status (1)

Country Link
KR (1) KR20110088995A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140090022A (ko) * 2013-01-08 2014-07-16 삼성테크윈 주식회사 3차원 전자지도상에 촬영영상을 표시하는 방법 및 장치
KR20140114373A (ko) * 2012-01-19 2014-09-26 로베르트 보쉬 게엠베하 차량 주변 환경을 시각화하는 방법과 장치
KR20160034513A (ko) * 2014-09-19 2016-03-30 한국전자통신연구원 Rgb-d 영상을 이용한 실감형 증강현실 구현 장치 및 방법
KR20160137852A (ko) * 2015-05-22 2016-12-01 주식회사 이타기술 영상 제공 방법 및 시스템, 이를 위한 컴퓨터 프로그램, 그 기록매체
KR20180060868A (ko) 2016-11-28 2018-06-07 숭실대학교산학협력단 감시영상의 실시간 와핑을 이용한 3차원 감시 시스템 및 방법
KR20210155960A (ko) * 2020-06-17 2021-12-24 (주) 피플소프트 3차원 기반의 cctv 관제영상 시스템
CN116996742A (zh) * 2023-07-18 2023-11-03 数元科技(广州)有限公司 一种基于三维场景的视频融合方法及***

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140114373A (ko) * 2012-01-19 2014-09-26 로베르트 보쉬 게엠베하 차량 주변 환경을 시각화하는 방법과 장치
KR20140090022A (ko) * 2013-01-08 2014-07-16 삼성테크윈 주식회사 3차원 전자지도상에 촬영영상을 표시하는 방법 및 장치
KR20160034513A (ko) * 2014-09-19 2016-03-30 한국전자통신연구원 Rgb-d 영상을 이용한 실감형 증강현실 구현 장치 및 방법
KR20160137852A (ko) * 2015-05-22 2016-12-01 주식회사 이타기술 영상 제공 방법 및 시스템, 이를 위한 컴퓨터 프로그램, 그 기록매체
KR20180060868A (ko) 2016-11-28 2018-06-07 숭실대학교산학협력단 감시영상의 실시간 와핑을 이용한 3차원 감시 시스템 및 방법
KR20210155960A (ko) * 2020-06-17 2021-12-24 (주) 피플소프트 3차원 기반의 cctv 관제영상 시스템
CN116996742A (zh) * 2023-07-18 2023-11-03 数元科技(广州)有限公司 一种基于三维场景的视频融合方法及***

Similar Documents

Publication Publication Date Title
EP3057066B1 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
JP4764305B2 (ja) 立体画像生成装置、方法およびプログラム
US20160307374A1 (en) Method and system for providing information associated with a view of a real environment superimposed with a virtual object
EP2996088B1 (en) Method for visualising surface data together with panorama image data of the same surrounding
JP4917603B2 (ja) 少なくとも1つの実在オブジェクトをモデル化した少なくとも1つの三次元仮想オブジェクトの基準デジタル化フレーム内におけるビデオキャプチャ手段の姿勢を判定する方法及び装置
KR20110088995A (ko) 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체
JP7182920B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2006293792A (ja) 立体映像生成装置
JP7182976B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7042561B2 (ja) 情報処理装置、情報処理方法
CN103124986A (zh) 3d模型视图操纵装置
CN105513112A (zh) 图像处理方法和装置
CN108629799B (zh) 一种实现增强现实的方法及设备
JP2019197279A (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
WO2019163129A1 (ja) 仮想物体表示制御装置、仮想物体表示システム、仮想物体表示制御方法、及び仮想物体表示制御プログラム
KR20140121529A (ko) 광 필드 영상을 생성하는 방법 및 장치
US9025007B1 (en) Configuring stereo cameras
JP2020173529A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2022058753A (ja) 情報処理装置、情報処理方法及びプログラム
Avery et al. Visualizing occluded physical objects in unfamiliar outdoor augmented reality environments
JP2019144958A (ja) 画像処理装置、画像処理方法およびプログラム
KR101559739B1 (ko) 가상 모델과 카메라 영상의 융합시스템
Dong et al. Resolving incorrect visual occlusion in outdoor augmented reality using TOF camera and OpenGL frame buffer
Lai et al. Exploring manipulation behavior on video see-through head-mounted display with view interpolation
JP5300645B2 (ja) 三次元温度分布表示装置、テクスチャ作成装置および三次元温度分布表示方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination