KR20110088995A - Method and system to visualize surveillance camera videos within 3d models, and program recording medium - Google Patents

Method and system to visualize surveillance camera videos within 3d models, and program recording medium 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
Korean (ko)
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/en
Publication of KR20110088995A publication Critical patent/KR20110088995A/en

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

PURPOSE: A method, a system and recording medium for visualizing a monitoring camera image inside a 3D model are provided to express a 2D screen or 3D space without distortion. CONSTITUTION: A virtual object realizing an object located in at least one monitoring camera as a virtual 3D model is generated(S310). An image of at least one monitoring camera is projected on a screen which faces at least one monitoring camera. For rendering, the image is adjusted to be vertical to a visible direction of a virtual camera which is virtually set the surface(S320).

Description

3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체{Method and System To Visualize Surveillance Camera Videos Within 3D Models, and Program Recording Medium}Method and System To Visualize Surveillance Camera Videos Within 3D Models, and Program Recording Medium}

본 발명은 감시 카메라 영상을 시각화하기 위한 방법 및 시스템에 관한 것으로, 보다 구체적으로는 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for visualizing a surveillance camera image, and more particularly, to a method and system for visualizing a surveillance camera image in a three-dimensional model.

감시 카메라(CCTV) 관제 소프트웨어(예컨대, Digital Video Recording S/W)에서 보여주는 화면은 도 1과 같이 기본적으로 2차원 매트릭스(matrix)에 해당하고, 이와 같은 화면을 통해 사용자는 보고 있는 카메라가 3차원 공간상에서 어디에 위치하는지를 직관적으로 알기가 쉽지 않다. Surveillance camera (CCTV) control software (e.g., Digital Video Recording S / W) screen shown in Figure 1 basically corresponds to a two-dimensional matrix (matrix), through this screen the user is looking at the three-dimensional camera It is not easy to know intuitively where it is in space.

각각의 감시 카메라 화면(11 내지 19)에 대한 간단한 레이블(label)이 있더라도, 사용자가 상기 카메라 화면(11 내지 19)을 상상력 안에서 곧바로 3차원 또는 2차원 위치 정보와 연결시키기 위해서는 상당한 시간의 훈련이 필요하다.Although there is a simple label for each surveillance camera screen 11-19, a considerable amount of time is required for the user to connect the camera screen 11-19 with three-dimensional or two-dimensional positional information directly in the imagination. need.

따라서, 사용자가 비디오 영상을 보고 직관적으로 상기 영상에 대해 시공간적으로 판단할 수 있게 하는 새로운 시각화 방법이 요구되고, 나아가 복잡한 환경 (예컨대, 수많은 감시 카메라가 존재하는 경우, 복잡한 3차원 공간)에서도 효율적으로 관제할 수 있는 환경을 제공할 수 있는 시각화 방법이 요구된다.Therefore, there is a need for a new visualization method that allows a user to view a video image and intuitively determine the image in time and space, and furthermore, in a complex environment (e.g., a complex three-dimensional space if there are many surveillance cameras), What is needed is a visualization method that can provide a controllable environment.

따라서 본 발명이 이루고자 하는 기술적인 과제는 사용자가 비디오 영상을 보고 직관적으로 상기 영상에 대해 시공간적으로 판단할 수 있게 하는 새로운 시각화 방법과 복잡한 환경에서도 효율적으로 관제할 수 있는 환경을 제공할 수 있는 방법을 제공하는 것이다.Therefore, the technical problem to be achieved by the present invention is to provide a new visualization method that allows the user to intuitively determine the image in time and space by looking at the video image and a method capable of efficiently controlling the environment even in a complex environment. To provide.

본 발명에 따른 3차원 모델에 영상을 시각화하기 위한 방법은 적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하는 단계; 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하는 단계; 및 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하는 단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided a method for visualizing an image on a three-dimensional model, including: generating a virtual object in which an object in which at least one surveillance camera is located is implemented as a virtual three-dimensional model; Projecting an image of the at least one surveillance camera onto a plane facing the at least one surveillance camera; And adjusting the plane to be perpendicular to a line of sight of a virtual camera, which is a camera virtually set for rendering.

또한, 상기 3차원 모델에 영상을 시각화하기 위한 방법은 상기 가상의 오브젝트 상에, 상기 조정된 평면에 나타나는 각 감시 카메라들이 촬영한 2차원 영상을 미리 설정한 크기의 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계를 포함할 수 있다.In addition, the method for visualizing the image on the three-dimensional model is displayed on the virtual object, at least one view window of the preset size of the two-dimensional image taken by each of the surveillance cameras appearing in the adjusted plane It may include the step.

또한, 상기 3차원 모델에 영상을 시각화하기 위한 방법은 사용자가 상기 적어도 하나의 뷰 윈도우 중 하나를 선택한 경우, 선택된 뷰 윈도우의 해당 감시 카메라가 촬영한 영상을, 상기 가상 오브젝트 상에 프로젝션하여 출력하는 단계를 포함할 수 있다.In addition, the method for visualizing the image on the three-dimensional model, when the user selects one of the at least one view window, projecting the image taken by the surveillance camera of the selected view window on the virtual object and outputs It may include a step.

또한, 상기 3차원 모델에 영상을 시각화하기 위한 방법은 상기 가상 카메라와, 시선 방향 또는 거리가 가까운 감시 카메라가 촬영한 영상을 상기 가상 오브젝트 상에 프로젝션하여 출력하는 단계를 포함할 수 있다.The method for visualizing an image on the 3D model may include projecting and outputting an image photographed by the virtual camera and a surveillance camera close to a line of sight or a distance on the virtual object.

또한, 상기 적어도 하나의 뷰 윈도우는 미리 정해진 상황이 발생한 경우, 상기 적어도 하나의 뷰 윈도우를 구성하는 컬러가 변화되거나, 상기 적어도 하나의 뷰 윈도우가 깜빡거릴 수 있다.In addition, when a predetermined situation occurs in the at least one view window, a color constituting the at least one view window may be changed, or the at least one view window may flicker.

또한, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는 미리 정해진 순서에 따라 상기 적어도 하나의 뷰 윈도우의 컬러 값을 판단하는 단계; 및 상기 컬러 값을 기준 값과 비교하여 상기 적어도 하나의 뷰 윈도우를 미리 정해진 방향으로 이동시켜 디스플레이하는 단계를 포함할 수 있다.The displaying through the at least one view window may include determining a color value of the at least one view window in a predetermined order; And comparing the color value with a reference value and moving the at least one view window in a predetermined direction to display the color value.

또한, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는 상기 뷰 윈도우들을, 상기 가상의 오브젝트 상의 해당 감시 카메라 위치와 주석 라인을 연결하여 디스플레이하는 단계를 포함할 수 있다.In addition, displaying through the at least one view window may include displaying the view windows by connecting an annotation line with a corresponding surveillance camera position on the virtual object.

또한, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는 상기 가상 오브젝트 상의 특정 영역이 선택되는 경우, 상기 선택 영역 내의 감시 카메라들의 뷰 윈도우를 디스플레이하는 단계를 포함할 수 있다.In addition, displaying through the at least one view window may include displaying a view window of surveillance cameras in the selection area when a specific area on the virtual object is selected.

또한, 상기 가상의 오브젝트를 생성하는 단계는 감시 영상 및 감시카메라의 감시 영역을 시각화하기 위하여, 와이어프레임(Wireframe Rendereing) 렌더링 및/또는 폴리곤 렌더링(Polygon Rendering), 또는 알파 값 조정 렌더링을 이용하여 상기 가상의 오브젝트를 생성 및 렌더링하는 단계를 포함할 수 있다.The generating of the virtual object may include wireframe rendering and / or polygon rendering or alpha value adjusted rendering to visualize the surveillance region of the surveillance image and the surveillance camera. Generating and rendering the virtual object.

또한, 상기 폴리곤 렌더링은 쉐도우-맵(shadow-map) 알고리즘을 이용할 수 있다.In addition, the polygon rendering may use a shadow-map algorithm.

또한, 상기 가상 오브젝트를 생성하는 단계는 상기 적어도 하나의 감시 카메라의 촬영 영상에 기초하여, 상기 촬영 영상의 소실점들로 향하는 특정 방향의 3차원 벡터들 및 및 상기 3차원 벡터들을 외적한 외적 벡터를 이용하여 3차원 좌표계를 생성하는 단계; 및 상기 3차원 좌표계를 미리 정한 기준에 따라 상기 가상 오브젝트에 위치시켜 상기 적어도 하나의 감시 카메라의 위치 및/또는 감시 방향을 계산한 후, 상기 가상 오브젝트 내에 상기 적어도 하나의 감시 카메라를 위치시키는 단계를 포함할 수 있다.The generating of the virtual object may include three-dimensional vectors in a specific direction directed to vanishing points of the captured image and an external vector based on the three-dimensional vectors based on the captured image of the at least one surveillance camera. Generating a three-dimensional coordinate system by using; And positioning the at least one surveillance camera in the virtual object after calculating the position and / or the surveillance direction of the at least one surveillance camera by positioning the three-dimensional coordinate system on the virtual object according to a predetermined criterion. It may include.

또한, 본 발명에 따른 3차원 모델에 영상을 시각화하기 위한 시스템은 적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하고, 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하며, 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하도록 프로그램화된 프로세서; 및 상기 프로세서의 처리를 위하여, 상기 시스템에 입력 및/또는 출력되는 데이터를 저장하기 위한 데이터베이스를 포함할 수 있다.In addition, the system for visualizing the image on the three-dimensional model according to the present invention generates a virtual object that implements an object (at) the at least one surveillance camera is located in a virtual three-dimensional model, and of the at least one surveillance camera A processor programmed to project an image onto a plane facing the at least one surveillance camera and adjust the plane to be perpendicular to a line of sight of a virtual camera, a camera virtually set for rendering; And a database for storing data input and / or output to the system for processing by the processor.

또한, 상기 프로세서는 적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하고, 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하며, 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하도록 모델링하는 모델링 모듈; 상기 모델링 모듈의 모델링을 위하여, 상기 시스템에 입력 및/또는 출력되는 데이터를 검출하여 상기 모델링 모듈에 전달하기 위한 검출 모듈; 및 상기 모델링 모듈에 의하여 모델링된 데이터를 컬러 값으로 렌더링하기 위한 컬러 버퍼를 포함할 수 있다.The processor may generate a virtual object that implements an object in which at least one surveillance camera is located as a virtual three-dimensional model, and may display an image of the at least one surveillance camera in front of the at least one surveillance camera. A modeling module for projecting on a plane to be viewed and modeling the plane to be perpendicular to a direction of the eye of a virtual camera, which is a camera virtually set for rendering; A detection module for detecting and transmitting data input and / or output to the system for modeling the modeling module; And a color buffer for rendering the data modeled by the modeling module as color values.

또한, 상기 3차원 모델에 영상을 시각화하기 위한 시스템은 상기 프로세서가 처리한 결과를 디스플레이하기 위한 디스플레이 장치를 포함할 수 있다.The system for visualizing an image on the 3D model may include a display device for displaying a result processed by the processor.

본 발명에 따르면 2차원 화면을 2차원 또는 3차원적으로 표현된 3차원 공간 안에 왜곡 없이 표현할 수 있다.According to the present invention, a two-dimensional screen can be represented without distortion in a three-dimensional space represented in two or three dimensions.

또한, 본 발명에 따르면 사용자에게 편리한 관리 체계를 제공할 수 있다.In addition, the present invention can provide a management system that is convenient for the user.

또한, 본 발명에 따르면 3차원 가상 공간을 보다 현실과 부합되게 구현할 수 있는 효과가 있다.In addition, according to the present invention there is an effect that can be implemented to match the three-dimensional virtual space more realistic.

도 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 illustrates a screen output by conventional surveillance cameras.
2 illustrates a system for visualizing a surveillance camera image in a three-dimensional model according to an embodiment of the present invention.
3A and 3B are diagrams for describing a method for visualizing a surveillance camera image in a 3D model according to a comparative example of the present invention.
3C to 3E are diagrams for describing a method for visualizing a surveillance camera image in a 3D model according to an embodiment of the present invention.
3F is a schematic flow diagram illustrating a method for visualizing a surveillance camera image within a three-dimensional model of the present invention.
4A and 4B are diagrams illustrating an example in which a method for visualizing a surveillance camera image in a 3D model according to FIGS. 3C to 3F is implemented.
4C and 4D are diagrams for explaining an algorithm for indicating the position and surveillance direction of the surveillance camera displayed by the system of FIG.
5A is a diagram illustrating an example in which an image captured by a surveillance camera is projected and displayed on a 3D model.
FIG. 6A is a diagram for describing a method for visualizing a surveillance camera image in a 3D model when the number of surveillance cameras is large.
FIG. 6B is a diagram for one example of implementing a method for visualizing a surveillance camera image in a 3D model according to FIG. 6A.
FIG. 7A is a diagram illustrating a method for visualizing a surveillance camera image in a case where a 3D model is concentrated in a large area.
FIG. 7B is a diagram for illustrating a method for visualizing a surveillance camera image for an area where a 3D model is concentrated when the number of surveillance cameras is large.
FIG. 8 is a diagram illustrating a method for visualizing a surveillance camera image in a three-dimensional model in a plan view.
9A and 9B are diagrams for explaining an algorithm for detecting an accurate position and a surveillance direction of a surveillance camera on a three-dimensional model based on the captured image.

본 명세서 또는 출원에 개시되어 있는 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다. Specific structural to functional descriptions of the embodiments of the present invention disclosed in the specification or the application are only illustrated for the purpose of describing the embodiments according to the present invention, and the embodiments according to the present invention may be embodied in various forms. It should not be construed as limited to the embodiments described in this specification or the application.

본 발명에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Since the embodiments according to the present invention can be variously modified and have various forms, specific embodiments will be illustrated in the drawings and described in detail in the present specification or application. However, this is not intended to limit the embodiments in accordance with the concept of the present invention to a particular disclosed form, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first and / or second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another, for example, without departing from the scope of rights in accordance with the inventive concept, and the first component may be called a second component and similarly The second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Other expressions describing the relationship between components, such as "between" and "immediately between," or "neighboring to," and "directly neighboring to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "having" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof that is described, and that one or more other features or numbers are present. It should be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 2는 본 발명의 일 실시예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 시스템을 나타낸다. 도 2를 참고하면, 상기 시스템(100)은 프로세서(110) 및 데이터 베이스(120)를 포함한다. 2 illustrates a system for visualizing a surveillance camera image in a three-dimensional model according to an embodiment of the present invention. Referring to FIG. 2, the system 100 includes a processor 110 and a database 120.

상기 프로세서(110)는 검출 모듈(111), 모델링 모듈(112) 및 I/F(113)를 포함할 수 있으며, 상기 시스템(110)의 전체적인 처리를 담당한다.The processor 110 may include a detection module 111, a modeling module 112, and an I / F 113, and are responsible for the overall processing of the system 110.

상기 검출 모듈(111)은 감시 카메라의 위치 및 감시 방향을 검출할 수 있고, 상기 감시 카메라로부터 수신받은 촬영 영상과 관련된 모든 데이터를 검출할 수 있으며, 미리 입력된 상황이 발생한 경우 이를 검출할 수 있다. The detection module 111 may detect a position and a monitoring direction of the surveillance camera, detect all data related to a captured image received from the surveillance camera, and detect a pre-input situation when it occurs. .

상기 검출 모듈(111)은 상기 모델링 모듈(112)의 모델링을 위하여, 상기 시스템(100)에 입력 또는 출력되는 데이터에 대하여 검출할 수 있다.The detection module 111 may detect data input or output to the system 100 for modeling the modeling module 112.

상기 모델링 모듈(112)은 3차원 모델을 구성하도록 할 수 있으며, 미리 정해진 알고리즘에 따른 3차원 모델링을 수행할 수 있다 상기 알고리즘은 3차원 모델에 감시 카메라의 촬영 영상을 프로젝션하기 위한 알고리즘, 감시 카메라의 영상을 사용자에게 최적으로 디스플레이하기 위한 알고리즘 등을 포함하며, 상기 알고리즘에 대해서는 추후 구체적으로 설명하기로 한다.The modeling module 112 may configure a 3D model, and may perform 3D modeling according to a predetermined algorithm. The algorithm may include an algorithm for projecting a captured image of a surveillance camera onto a 3D model and a surveillance camera. Algorithm for optimally displaying the image of the user, and the like will be described in detail later.

또한, 상기 모델링 모듈(112)은 소정의 데이터에 ID(identification)를 부여할 수 있다.In addition, the modeling module 112 may assign identification (ID) to predetermined data.

상기 I/F(113)는 사용자에 의한 소정의 제어가 있는 경우, 이에 부합하는 제어 명령을 전달하기 위한 상기 검출모듈(111), 모델링 모듈(112) 및 상기 데이터 베이스(120) 간의 인터페이스를 담당한다.The I / F 113 is responsible for an interface between the detection module 111, the modeling module 112, and the database 120 to transmit a control command corresponding to the predetermined control by the user. do.

상기 데이터 베이스(120)는 상기 시스템(100)에 입력 또는 출력되는 모든 데이터 또는 사용자가 미리 정한 데이터를 저장할 수 있다.The database 120 may store all data input or output to the system 100 or data predetermined by a user.

상기 전자 디바이스(200)는 I/F(113)를 통해 상기 시스템(100)과 연결되며, 시각적 또는 입체적 수신, 저장 및 전달을 위해 정보를 나타내는 디스플레이 장치에 해당할 수 있다. 예컨대, 상기 전자 디바이스(200)는 컴퓨터 모니터, TV, 프로젝터 등을 포함할 수 있고, 본 발명의 범위는 이에 한정되지 않는다.The electronic device 200 may be connected to the system 100 through an I / F 113 and may correspond to a display device that displays information for visual or stereoscopic reception, storage, and transmission. For example, the electronic device 200 may include a computer monitor, a TV, a projector, and the like, but the scope of the present invention is not limited thereto.

도 2에서는 상기 전자 디바이스(200)가 상기 시스템(100) 외부에 위치하는 것으로 도시하였으나, 내부에 위치할 수도 있다.In FIG. 2, the electronic device 200 is illustrated as being located outside the system 100, but may be located inside.

상기 프로세서(110)는 컬러 버퍼(미도시)를 더 포함할 수 있다. 상기 컬러 버퍼(미도시)는 상기 모델링 모듈(112)에 의하여 부여된 ID를 갖는 소정의 데이터를 컬러 값으로 렌더링할 수 있다.The processor 110 may further include a color buffer (not shown). The color buffer (not shown) may render predetermined data having an ID assigned by the modeling module 112 as a color value.

도 3a 및 도 3b는 본 발명의 비교 예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다. 여기서, 가상의 카메라는 감시 카메라와 구분되는 카메라로서, 렌더링을 위해 가상으로 설정한 카메라에 해당한다. 또한, 상기 가상의 카메라를 회전, 줌, 패닝 및/또는 이동하면서 3차원 모델을 네비게이션(navigation)할 수 있다.3A and 3B are diagrams for describing a method for visualizing a surveillance camera image in a 3D model according to a comparative example of the present invention. Here, the virtual camera is a camera that is distinguished from the surveillance camera and corresponds to a camera that is virtually set for rendering. In addition, the three-dimensional model can be navigated by rotating, zooming, panning and / or moving the virtual camera.

도 3a를 참고하면, 상기 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위하여, 감시 카메라(CAM0) 영상을 감시 카메라의 촬영 방향(31) 일정 거리에 있는 평면(PN1)에 나타나도록 하거나, 감시 카메라(CAM0) 영상을 3차원 모델(30) 위로 프로젝션(PN2)하도록 할 수 있다. 이때, 가상의 카메라(VCAM0)의 시선 범위(FOV:Field Of View)는 감시 카메라의 시선 범위와 일치하도록 해야한다.Referring to FIG. 3A, in order to visualize the surveillance camera image in the 3D model, the surveillance camera CAM0 may be displayed on the plane PN1 at a predetermined distance from the surveillance camera 31 in the shooting direction 31. CAM0) can be projected onto the three-dimensional model 30 (PN2). At this time, the field of view (FOV: Field of View) of the virtual camera VCAM0 should be matched with the field of view of the surveillance camera.

다만, 상기 방법들은 도 3b와 같이, 가상의 카메라(VCAM0)의 위치(또는 FOV)에 따라 사용자에게 왜곡된 영상을 제공할 수 있고, 상기 방법들로는 상기 감시 카메라(CAM0)의 위치 파악에 어려움을 줄 수도 있다.However, the methods may provide a distorted image to the user according to the position (or FOV) of the virtual camera VCAM0 as shown in FIG. 3B, and the methods may have difficulty in locating the surveillance camera CAM0. Can also give

도 3c 내지 도 3e는 본 발명에 일 실시예에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다. 3C to 3E are diagrams for describing a method for visualizing a surveillance camera image in a 3D model according to an embodiment of the present invention.

도 3c를 참고하면, 상기 3차원 모델(30) 안에서 감시 카메라 영상을 시각화하기 위하여, 먼저 감시 카메라(CAM0) 영상을, 감시 카메라(CAM0)를 정면으로 바라보고 있으면서 감시 카메라(CAMO)로부터 일정 거리에 떨어져 있는 평면(PN3)에 나타나도록 할 수 있다. 이때, 가상의 카메라(VCAM0)의 시선 범위는 감시 카메라의 시선 범위와 일치하도록 해야한다.Referring to FIG. 3C, in order to visualize the surveillance camera image in the three-dimensional model 30, the surveillance camera CAM0 image is first viewed from the surveillance camera CAM0 while facing the surveillance camera CAM0. It can be shown in the plane (PN3) apart from. At this time, the gaze range of the virtual camera VCAM0 should match the gaze range of the surveillance camera.

이때, 상기 감시 카메라(CAM0)는 감시 카메라(CAM0)의 각각의 픽셀에 대한 시선 방향(viewing ray)을 따라, 평면(PN3)에 촬영 화면을 프로젝션할 수 있다. In this case, the surveillance camera CAM0 may project a photographing screen on the plane PN3 along a viewing ray with respect to each pixel of the surveillance camera CAM0.

상기 평면(PN3)을 가상의 카메라(VCAMO)의 시선 방향(S2)과 수직이 되고 평면(PN3)의 up 방향(34)이 가상의 카메라(VCAMO)의 up 방향(34)과 평행이 되도록 조정하여, 상기 감시 카메라(CAMO)로부터 상기 up 방향(34)을 따라 일정 거리(33)에 위치(PN3')시킬 수 있다. Adjusting the plane PN3 to be perpendicular to the eye direction S2 of the virtual camera VCAMO and the up direction 34 of the plane PN3 is parallel to the up direction 34 of the virtual camera VCAMO. The position PN3 'may be positioned at a predetermined distance 33 along the up direction 34 from the surveillance camera CAMO.

따라서, 도 3d와 같이, 사용자는 가상의 카메라의 시선에 무관하게 감시 카메라의 출력 영상을 왜곡 없이 볼 수가 있다.Therefore, as shown in FIG. 3D, the user can view the output image of the surveillance camera without distortion, regardless of the gaze of the virtual camera.

이때, 상기 프로젝션은 모든 감시 카메라들의 촬영 영상을 프로젝션하는 경우에도 해당할 수 있고, 상기 가상의 카메라의 시선 방향 또는 거리가 가까운 감시 카메라를 프로젝션하는 경우도 해당할 수 있다.In this case, the projection may correspond to a case of projecting captured images of all surveillance cameras, and may also correspond to a case of projecting a surveillance camera near a line of sight or distance of the virtual camera.

출력되는 영상의 크기는 가상의 카메라(VCAM0)에서 감시 카메라(CAM0)까지의 거리에 비례할 수 있다. 예컨대, 가상의 카메라(VCAM0)에서 감시 카메라(CAM0)까지의 거리가 가까우면 영상의 크기는 크게 나타나고, 가상의 카메라(VCAM0)에서 감시 카메라(CAM0)까지의 거리가 멀면 영상의 크기는 작게 나타날 수 있다. 따라서, 사용자에게 가상의 카메라(VCAM0)에서 감시 카메라(CAM0)까지의 거리에 따라서 깊이감을 느낄 수 있도록 하는 영상을 제공할 수 있다.The size of the output image may be proportional to the distance from the virtual camera VCAM0 to the surveillance camera CAM0. For example, when the distance from the virtual camera VCAM0 to the surveillance camera CAM0 is close, the size of the image appears larger, and when the distance from the virtual camera VCAM0 to the surveillance camera CAM0 is far, the size of the image appears smaller. Can be. Therefore, the user may be provided with an image that allows the user to feel a sense of depth according to the distance from the virtual camera VCAM0 to the surveillance camera CAM0.

이때, 주석 라인(32)을 이용하여 사용자에게 감시 카메라 촬영 영상을 제공함으로써 카메라의 위치를 직관적으로 파악할 수 있도록 할 수 있다. 상기 감시 카메라 촬영 영상은 앞서 설명된 바와 같이, 상기 주석 라인(32)에 연결되어 일정 거리(33)에 위치한 소정의 뷰 윈도우(예컨대, 카메라 영상을 제공하기 위한 사각 프레임)를 통해 사용자에게 디스플레이될 수 있다.In this case, by providing the surveillance camera photographed image to the user using the annotation line 32, it is possible to intuitively determine the position of the camera. As described above, the surveillance camera photographed image may be displayed to the user through a predetermined view window (eg, a rectangular frame for providing a camera image) connected to the annotation line 32 and positioned at a predetermined distance 33. Can be.

또한, 상기 감시 감시카메라의 촬영 영상의 크기가 조절될 수 있다. 예컨대, 사용자는 소정의 기능(예컨대, 버튼 인터페이스)을 통하여 감시 카메라 촬영 영상의 크기를 조절할 수 있다. 감시 카메라의 촬영 영상의 크기가 전체 화면의 크기에 비해 현격히 커질 경우에는 일반적인 관제 형태인 매트릭스 모드로 자동 전환되도록 하여, 사용자에게 3차원 및/또는 2차원 관제를 제공할 수 있다.In addition, the size of the captured image of the surveillance camera may be adjusted. For example, the user may adjust the size of the surveillance camera photographed image through a predetermined function (eg, a button interface). When the size of the captured image of the surveillance camera is significantly larger than the size of the entire screen, the user may automatically switch to the matrix mode, which is a general control form, to provide 3D and / or 2D control to the user.

도 3e를 참고하면, 경우에 따라서 가상의 카메라(VCAM0)에서 바라볼 경우 제1 감시 카메라(CAM5)는 제2 감시 카메라(CAM6)와 달리 제3 감시 카메라(CAM4)에 의하여 영상이 가려질 수 있다.Referring to FIG. 3E, when viewed from the virtual camera VCAM0, the first surveillance camera CAM5 may be covered by the third surveillance camera CAM4 unlike the second surveillance camera CAM6. have.

따라서, 이를 고려하기 위한 알고리즘이 아래에서 설명된다.Thus, an algorithm for taking this into account is described below.

먼저, 미리 정해진 순서에 따라 감시 카메라들(CAM4 내지 CAM6)의 뷰 윈도우를 차례대로 읽어들여 고유의 ID를 부여하고, 컬러 버퍼의 OpenGL FLAT shading을 이용하여 상기 ID를 컬러 값으로 설정하여 상기 감시 카메라 촬영 영상을 렌더링한다.First, the view windows of the surveillance cameras CAM4 to CAM6 are sequentially read and assigned a unique ID in a predetermined order, and the ID is set to a color value by using OpenGL FLAT shading of a color buffer. Render the captured image.

다음으로, 검출 모듈(111)은 상기 뷰 윈도우에서 상기 컬러 값(또는 상기 ID 값)을 갖는 픽셀의 수를 판단한다. 만일 검출 모듈(111)이 상기 픽셀의 수가 미리 정해진 수 미만이라고 판단되면(즉, 상기 뷰 윈도우가 잘 보이지 않는다고 판단되면), 모델링 모듈(112)은 상기 뷰 윈도우를 소정의 방향으로 이동시킨다.Next, the detection module 111 determines the number of pixels having the color value (or the ID value) in the view window. If the detection module 111 determines that the number of pixels is less than a predetermined number (ie, the view window is not well seen), the modeling module 112 moves the view window in a predetermined direction.

상기 과정을 반복하고, 상기 픽셀의 수가 미리 정해진 수 이상이라고 판단되면(즉, 상기 뷰 윈도우가 잘 보인다고 판단되면), 상기 과정을 종료한다.If the process is repeated and it is determined that the number of pixels is greater than or equal to a predetermined number (that is, the view window is judged to be well visible), the process ends.

상기 알고리즘은 적어도 하나의 감시 카메라(CAM4 내지 CAM6)의 위치가 변하거나 가상 카메라(VCAM0)의 위치나 시선이 변할 경우 수행될 수 있다.The algorithm may be performed when the positions of the at least one surveillance cameras CAM4 to CAM6 change or the position or line of sight of the virtual camera VCAM0 changes.

도 3f는 본 발명의 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 개괄적인 흐름도이다.3F is a schematic flow diagram illustrating a method for visualizing a surveillance camera image within a three-dimensional model of the present invention.

도 3f를 참고하면, 감시 카메라들이 설치된 건물 또는 지역에 대한 가상의 3차원 모델을 구성한다(S310).Referring to FIG. 3F, a virtual 3D model of a building or an area in which surveillance cameras are installed is configured (S310).

다음으로, 상기 감시 카메라의 영상을 상기 감시 카메라를 정면으로 바라보고 있으면서 상기 감시 카메라로부터 일정 거리에 떨어져 있는 평면 위에 렌더링하고(S320), 촬영 영상을 뷰 윈도우에 출력한다(S330). 이때, 상기 감시 카메라는 감시 카메라(CAM0)의 각각의 픽셀에 대한 시선 방향에 따라서 상기 평면에 촬영 화면을 프로젝션할 수 있다. 또한, 상기 뷰 윈도우는 가상의 카메라의 시선 방향과 수직이 되고 상기 뷰 윈도우의 up 방향이 가상의 카메라의 up 방향과 평행이 되도록 조정되어, 상기 감시 카메라로부터 상기 up 방향을 따라 일정 거리에 위치될 수 있다. Next, the image of the surveillance camera is rendered on a plane away from the surveillance camera while looking at the surveillance camera in front (S320), and the captured image is output to the view window (S330). In this case, the surveillance camera may project a photographing screen on the plane according to the eye direction of each pixel of the surveillance camera CAM0. In addition, the view window is adjusted to be perpendicular to the eye direction of the virtual camera and the up direction of the view window is parallel to the up direction of the virtual camera, so that the view window may be positioned at a distance along the up direction from the surveillance camera. Can be.

다음으로, 뷰 윈도우가 잘 보이는지 여부를 판단하고(S340), 만일 잘 보이지 않는다면, 뷰 윈도우를 소정의 방향으로 이동시키고(S350) 뷰 윈도우가 잘 보인다고 판단될 때까지 이를 반복한다.Next, it is determined whether the view window is well seen (S340), if not, move the view window in a predetermined direction (S350) and repeat until it is determined that the view window is well seen.

도 4a 및 도 4b는 도 3c 내지 도 3f에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법이 도 2의 시스템(100)에 의해 구현된 일 예를 나타내기 위한 도면이다. 4A and 4B are diagrams illustrating an example in which the method for visualizing a surveillance camera image in the 3D model according to FIGS. 3C to 3F is implemented by the system 100 of FIG. 2.

도 4a를 참고하면, 상기 시스템(100)에 의하여 처리된 영상은 3차원 전체 영상(40) 및 감시 카메라들(A1 내지 A6)에 의하여 감시되는 2차원 영상을 나타내는 소정 크기의 뷰 윈도우들(41 내지 46)을 포함한다. 상기 뷰 윈도우들(41 내지 46)은 주석 라인(410 내지 460)을 통해 감시 카메라들(A1 내지 A6)의 위치와 연결되어 있다.Referring to FIG. 4A, the image processed by the system 100 is a view window 41 of a predetermined size representing the 3D full image 40 and the 2D image monitored by the surveillance cameras A1 to A6. To 46). The view windows 41 to 46 are connected to the positions of the surveillance cameras A1 to A6 via tin lines 410 to 460.

이와 같은 디스플레이는 사용자로 하여금 감시 카메라(A1 내지 A6)의 위치를 용이하게 판단할 수 있게 하며, 보다 용이하게 시스템 관리를 할 수 있게 한다.Such a display enables the user to easily determine the position of the surveillance cameras A1 to A6, and more easily manage the system.

상기 뷰 윈도우들(41 내지 46)은 미리 정해진 상황이 발생한 경우, 사용자가 바로 감지할 수 있도록 변형이 일어날 수 있다. 예컨대, 상기 시스템(100)은 상기 뷰 윈도우들(41 내지 46)을 깜빡거리게 하거나, 상기 뷰 윈도우들(41 내지 46)의 컬러가 변화하도록 할 수 있다. 이때, 상기 컬러 변화를 위하여 OpenGL color blending 및/또는 Programmable Shader가 이용될 수 있다.When the predetermined situation occurs, the view windows 41 to 46 may be modified so that the user may immediately detect the view windows 41 to 46. For example, the system 100 may cause the view windows 41 to 46 to blink or to change the color of the view windows 41 to 46. In this case, OpenGL color blending and / or programmable shaders may be used to change the color.

또한, 상기 시스템(100)은 감시 카메라들(A1 내지 A6)이 감시하고 있는 감시 방향(미도시)을 나타낼 수도 있다.In addition, the system 100 may indicate a monitoring direction (not shown) that the surveillance cameras A1 to A6 are monitoring.

또한, 사용자는 도 4a를 도 4b와 같이, 소정의 기능(예컨대, 버튼 인터페이스)을 통하여 상기 3차원 전체 영상(40) 및/또는 상기 뷰 윈도우들(41 내지 46)의 크기를 조절할 수도 있거나, 시스템(100)에 연결된 입력 장치(예컨대, 마우스 또는 키보드)를 이용하여 상기 뷰 윈도우들(41 내지 46)을 이동시킬 수 있다. In addition, the user may adjust the size of the three-dimensional whole image 40 and / or the view windows 41 to 46 through a predetermined function (eg, a button interface) as shown in FIG. 4A, or The view windows 41 to 46 may be moved using an input device (eg, a mouse or a keyboard) connected to the system 100.

또한, 현재 가상의 카메라의 시점과 방향, 및 뷰 윈도우들(41 내지 46)의 3차원 상의 위치 및/또는 크기 등을 저장할 수 있고, 이를 불러오기 하는 경우 저장된 정보대로 화면이 재구성될 수 있다.In addition, the view point and the direction of the current virtual camera, the position and / or size of the view windows 41 to 46, and the like may be stored.

상기 시스템(100)은 사용자에 의하여 상기 뷰 윈도우들(41 내지 46)의 화면 영상의 크기가 미리 정해진 크기 이상으로 커질 경우, 상기 화면을 매트릭스 모드(matrix mode)로 자동 전환하도록 하여 사용자에게 3차원 및 2차원 관제가 모두 가능토록 할 수 있다.The system 100 automatically converts the screen into a matrix mode when the screen image of the view windows 41 to 46 is larger than a predetermined size by the user, thereby allowing the user to three-dimensionally. And two-dimensional control may be possible.

도 4c 및 4d는 도 2의 시스템에 의하여 디스플레이되는 감시 카메라의 위치 및 감시 방향을 나타내기 위한 알고리즘을 설명하기 위한 도면이다. 4C and 4D are diagrams for explaining an algorithm for indicating the position and surveillance direction of the surveillance camera displayed by the system of FIG.

도 4c 및 4d를 참고하면, 도 4c와 같이 감시 카메라들(CAM1 및 CAM2)의 위치 및 감시 방향(56 및 57)을 3차원 영상에 위치시키는 경우, 3차원 영상에 의해 감시 카메라(CAM2)가 가려져 상기 감시 카메라(CAM2)의 위치 및 감시 방향(56)을 정확히 알 수 없는 문제점이 있을 수 있다. Referring to FIGS. 4C and 4D, when the positions and the monitoring directions 56 and 57 of the surveillance cameras CAM1 and CAM2 are positioned in the 3D image as shown in FIG. 4C, the surveillance camera CAM2 is moved by the 3D image. There may be a problem that the position and the monitoring direction 56 of the surveillance camera CAM2 are not accurately known.

따라서, 3차원 모델에 감시 카메라(CAM1 및 CAM2)의 감시 방향과 감시 카메라(CAM1 및 CAM2)를 표시하는 것이 필요할 수 있다. 즉, 감시 카메라(CAM1 및 CAM2)의 시선 범위(FOV:Field of view)와 감시 카메라 자체를 화면에 표시하는 것이 필요할 수 있다.Therefore, it may be necessary to display the surveillance directions of the surveillance cameras CAM1 and CAM2 and the surveillance cameras CAM1 and CAM2 in the three-dimensional model. That is, it may be necessary to display a field of view (FOV) of the surveillance cameras CAM1 and CAM2 and the surveillance camera itself on the screen.

도 4d와 같이 감시 카메라들(CAM1 및 CAM2)이 촬영하는 평면만 폴리곤(Polygon) 렌더링하고(51 내지 53) 그 외 나머지는 와이어프레임(Wireframe) 렌더링하는 방법, 또는 상기 평면의 알파 값을 조정하여 렌더링하는 알파 값 조정 렌더링 방법 등을 사용하여 감시 카메라(CAM1 및 CAM2)가 3차원 모델에 가려지는 현상을 해결할 수 있다. 이때, 상기 감시 카메라들(CAM1 및 CAM2) 역시 폴리곤 렌더링할 수 있다(54 및 55).As shown in FIG. 4D, only the planes captured by the surveillance cameras CAM1 and CAM2 are rendered in a polygon (51 to 53), and the rest are wireframe rendered, or the alpha value of the plane is adjusted. It is possible to solve the phenomenon in which the surveillance cameras CAM1 and CAM2 are covered by the 3D model by using an alpha value adjusting rendering method and the like. In this case, the surveillance cameras CAM1 and CAM2 may also render polygons (54 and 55).

상기 시스템(100)은 이를 수행하기 위하여 다음와 같은 알고리즘을 수행할 수 있다. The system 100 may perform the following algorithm to perform this.

먼저, 3차원 영상 전체에 대하여 와이어프레임 렌더링하거나 평면의 알파 값을 조정하여 렌더링을 수행한다. 다만, 본 발명은 3차원 전체에 대한 렌더링을 수행하는 경우, 상기 기재된 렌더링 방법에 한정되지는 않는다.First, rendering is performed by wireframe rendering or adjusting an alpha value of a plane for the entire 3D image. However, the present invention is not limited to the above-described rendering method when rendering the entire 3D.

다음으로, 쉐도우-맵(shadow-map) 알고리즘을 이용하여 폴리곤 렌더링을 수행한다. Next, polygon rendering is performed using a shadow-map algorithm.

상기 쉐도우-맵 알고리즘을 사용하여 상기 폴리곤 렌더링을 수행하는 방법의 일 예가 아래에 설명된다.An example of a method of performing the polygon rendering using the shadow-map algorithm is described below.

먼저, 감시 카메라의 위치에서 논리 버퍼 객체(예컨대, OpenGL에서는 FBO:Framebuffer Object, DirectX에서는 Render Target)을 설정 및 생성하고, 깊이 텍스쳐(Depth Texture)를 상기 논리 버퍼 객체와 연결한다. First, a logical buffer object (eg, FBO: Framebuffer Object in OpenGL, Render Target in DirectX) is set and created at the position of the surveillance camera, and a depth texture is connected to the logical buffer object.

상기 감시 카메라의 모델-뷰(ModelView) 및 프로젝션 매트릭스를 저장한다. 각각의 감시 카메라 위치에서 3차원 모델(오브젝트)을 렌더링 수행하며, 렌더링 된 결과는 상기 논리 버퍼 객체에 연결된 쉐도우-맵에 깊이 값으로 저장된다. The model-view and projection matrix of the surveillance camera are stored. The three-dimensional model (object) is rendered at each surveillance camera position, and the rendered result is stored as a depth value in a shadow-map connected to the logical buffer object.

가상의 카메라 위치에서 버텍스/픽셀 쉐이더(vertex/pixel shader)를 이용하여 렌더링을 수행한다. 이때, 상기 버텍스/픽셀 쉐이더는 감시 카메라 모델-뷰 및 프로젝션 메트릭스를 이용하여 각 폴리곤 내부의 각 포인트(point)에서 감시 카메라를 기준으로 한 좌표를 구한다. x, y 축은 쉐도우-맵의 텍스쳐 좌표(texture coordinate)가 되고 z축은 상기 포인트의 깊이 값이 된다. Rendering is done using a vertex / pixel shader at the virtual camera position. In this case, the vertex / pixel shader obtains coordinates based on the surveillance camera at each point inside each polygon by using the surveillance camera model-view and the projection matrix. The x and y axes are the texture coordinates of the shadow-map and the z axis is the depth value of the point.

상기 포인트에서의 폴리곤 내부 포인트 깊이 값과 쉐도우-맵에 저장된 깊이 값을 비교하여, 같으면 이 포인트를 화면에 출력하고 그렇지 않으면 출력하지 않는다.Compare the polygon internal point depth value at the point with the depth value stored in the shadow-map and if it is the same, output this point to the screen, otherwise do not output it.

도 5a는 3차원 모델 상에 감시 카메라가 촬영한 영상이 프로젝션되어 디스플레이된 일 예를 나타내는 도면이다. 사용자가 하나의 뷰 윈도우를 선택하는 경우( 또는, 가상의 카메라가 감시 카메라와 미리 정해진 거리 이내로 다가갈 경우)에, 상기 시스템(100)은 선택된 뷰 윈도우가 제공하는 영상(72)을 디스플레이할 수 있고, 선택된 뷰 윈도우와 관련된 감시 카메라가 촬영하는 영상(71)을 상기 3차원 모델 상에 프로젝션할 수 있다. 이를 통하여 사용자는 실제 현장을 관찰하는 것과 동일 또는 유사한 느낌을 전달받을 수 있다.5A is a diagram illustrating an example in which an image captured by a surveillance camera is projected and displayed on a 3D model. When the user selects one view window (or when the virtual camera approaches a predetermined distance from the surveillance camera), the system 100 may display an image 72 provided by the selected view window. In addition, the image 71 captured by the surveillance camera associated with the selected view window may be projected on the 3D model. This allows the user to receive the same or similar feeling as observing the actual site.

도 5b는 도 5a에서 설명한 3차원 모델에 감시 카메라 영상을 프로젝션하여 디스플레이하는 방법을 보다 구체적으로 설명하기 위한 도면이다. 도 5b를 참고하면, 상기 시스템(100)은 선택된 뷰 윈도우의 사용자 관찰 시점을 감시 카메라의 시점과 동일한 시점(VPT)에 일치시킬 수 있고, 상기 감시 카메라가 촬영하는 영상(71)을 상기 3차원 모델 상에 프로젝션할 수 있다. 이때, 상기 뷰 윈도우가 제공하는 영상(72) 중 상기 감시 카메라가 감시하는 영상(71)이 아닌 부분(74a 및 74b)은 그대로 3차원 모델로 표현될 수 있다.FIG. 5B is a diagram for describing in more detail a method of projecting and displaying a surveillance camera image on the 3D model described with reference to FIG. 5A. Referring to FIG. 5B, the system 100 may match the user observation time point of the selected view window to the same viewpoint (VPT) as the viewpoint of the surveillance camera, and the image 71 captured by the surveillance camera may be captured in the 3D. You can project onto the model. In this case, the portions 74a and 74b of the image 72 provided by the view window other than the image 71 monitored by the surveillance camera may be represented as a 3D model.

상기 방법에 따라, 상기 시스템(100)은 상기 감시 카메라가 촬영한 2차원 영상(71)을 상기 3차원 모델에 들어맞도록 정합시킬 수 있어, 상기 감시 카메라에 촬영된 물체(object)를 오류(예컨대, 찌그러져 보이거나 희미 또는 애매하게 보이는 경우 등) 없이 디스플레이할 수 있고, 감시 카메라가 촬영한 영상이 3차원 모델의 공간 상의 어느 지점에 해당하는지에 대한 직관성을 높일 수 있다.According to the method, the system 100 can match the two-dimensional image 71 captured by the surveillance camera so as to fit the three-dimensional model, so that an object photographed by the surveillance camera is incorrect. For example, the display can be displayed without crushing, blurring or ambiguity, etc., and the intuitiveness of which point in the space of the 3D model corresponds to the image captured by the surveillance camera can be increased.

도 6a는 감시 카메라들의 수가 많을 경우 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법을 설명하기 위한 도면이다. 감시 카메라의 수가 많을 경우 영상의 크기를 줄이면 전체적으로 볼 수는 있으나, 특정 영역만 선별적으로 보여주고 싶을 경우가 있을 수 있으므로, 이를 해결하기 위한 방법이다.FIG. 6A is a diagram for describing a method for visualizing a surveillance camera image in a 3D model when the number of surveillance cameras is large. If the number of surveillance cameras is large, reducing the size of the image can be viewed as a whole, but there may be a case where you want to selectively display only a specific area, it is a method for solving this.

도 6a를 참고하면, 사용자는 가상의 카메라(VCAM0)의 전체 영상(40) 중 보여주고 싶은 영역만을 바운딩(BD1) 할 수 있고, 상기 바운딩(BD1) 영역 내에 있는 감시 카메라들(A1 내지 A3)의 영상(41 내지 43)만을 사용자에게 보여줄 수 있다. 이때, 상기 바운딩(BD1) 영역 밖에 있는 감시 카메라들(A4 내지 A6)이 촬영한 영상은 사용자에게 제공되지 않는다.Referring to FIG. 6A, the user may only bound the area BD1 to be displayed in the entire image 40 of the virtual camera VCAM0, and the surveillance cameras A1 to A3 in the bounding BD1 area. Only images 41 to 43 may be shown to the user. In this case, images captured by the surveillance cameras A4 to A6 outside the bounding BD1 area are not provided to the user.

도 6b는 도 6a에 따른 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법이 도 2의 시스템(100)에 의해 구현된 예이다. 상기 시스템(100)은 도 6b와 같이 사용자가 원하는 감시 카메라들(A1 내지 A3)의 화면만을 디스플레이할 수 있다. 도 6b에 도시된 디스플레이는 감시 카메라의 수가 많을 경우에 특히 유용하다.FIG. 6B is an example in which the method for visualizing a surveillance camera image in a three-dimensional model according to FIG. 6A is implemented by the system 100 of FIG. 2. The system 100 may display only the screens of the surveillance cameras A1 to A3 desired by the user as shown in FIG. 6B. The display shown in FIG. 6B is particularly useful when the number of surveillance cameras is large.

사용자는 전체 영상(40)에서 원하는 감시 카메라들(A1 내지 A3)이 포함되도록 바운딩(bounding)(BD1)할 수 있고, 상기 바운딩(BD1)에 포함된 감시 카메라들(A1 내지 A3)이 감시하는 영상을 나타내는 뷰 윈도우들(41 내지 43)을 디스플레이할 수 있다. 만일, 상기 바운딩(BD1)에 포함된 감시 카메라들이 복수일 경우, 소정의 스크롤(SCR1)을 이용하여 선택된 감시 카메라의 뷰 윈도우를 미리 정해진 크기(사용자와 디스플레이 화면을 고려하여 최적의 크기라고 판단해 설정한 크기)로 볼 수 있도록 디스플레이할 수 있다.The user may be bounded BD1 to include desired surveillance cameras A1 to A3 in the entire image 40, and the surveillance cameras A1 to A3 included in the bounding BD1 may monitor. View windows 41 to 43 representing the image may be displayed. If there are a plurality of surveillance cameras included in the bounding BD1, the view window of the surveillance camera selected by using a predetermined scroll SCR1 is determined to be an optimal size in consideration of a predetermined size (a user and a display screen). Display size).

감시 카메라들(A4 내지 A6)은 상기 바운딩(BD1)에 포함되지 않으므로, 상기 시스템(100)은 감시 카메라들(A4 내지 A6)이 감시하는 영상을 나타내는 뷰 윈도우들은 디스플레이하지 않을 수 있다.Since the surveillance cameras A4 to A6 are not included in the bounding BD1, the system 100 may not display view windows indicating an image monitored by the surveillance cameras A4 to A6.

사용자는 도 4a 또는 도 6b에 도시된 뷰 윈도우들(41 내지 46) 중 하나를 선택할 수 있고, 사용자가 하나를 선택하는 경우, 선택된 뷰 윈도우는 풀-스크린 디스플레이될 수 있다. 이때, 선택된 뷰 윈도우가 제공하는 화면은 촬영되는 현장과 동일 또는 유사한 3차원 모델 상에 프로젝션되어 사용자에게 실제감을 제공할 수 있다.The user can select one of the view windows 41-46 shown in FIG. 4A or 6B, and if the user selects one, the selected view window can be displayed full-screen. In this case, the screen provided by the selected view window may be projected on a 3D model that is the same as or similar to the scene to be photographed to provide a user with realism.

도 7a는 넓은 영역에 3차원 모델이 밀집되어 있는 경우를 위한 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다. 넓은 영역에 3차원 모델이 밀집되어 있는 경우, 3차원 모델을 전부 구축하기 어려울 뿐만 아니라, 불필요한 3차원 모델들이 감시를 어렵게 할 수 있다.FIG. 7A is a diagram illustrating a method for visualizing a surveillance camera image in a case where a 3D model is concentrated in a large area. When three-dimensional models are concentrated in a large area, it is difficult to construct all three-dimensional models, and unnecessary three-dimensional models can make monitoring difficult.

도 7a를 참고하면, 상기 시스템(100)에 의하여 처리된 영상은 지도 이미지(70) 및 감시 카메라들(B1 내지 B4)에 의하여 감시되는 2차원 영상을 나타내는 소정 크기의 뷰 윈도우들(71 내지 74)을 포함한다. 이와 같은 디스플레이는 감시 카메라들(B1 내지 B4)의 위치를 용이하게 판단할 수 있게 하며, 사용자로 하여금 보다 용이하게 시스템 관리를 할 수 있게 한다. Referring to FIG. 7A, an image processed by the system 100 includes view maps 71 to 74 having predetermined sizes representing a map image 70 and a two-dimensional image monitored by the surveillance cameras B1 to B4. ). Such a display makes it possible to easily determine the positions of the surveillance cameras B1 to B4 and to allow the user to manage the system more easily.

또한, 상기 방법에 따라, 지도 이미지(70) 상에, 상기 감시 카메라(B1 내지 B4)의 위치, 상기 감시 카메라(B1 내지 B4)의 감시 방향 등을 이용하여 상기 감시 카메라(B1 내지 B4)의 감시 영역(DET1 내지 DET4)을 나타낼 수 있고, far plane은 카메라의 해상도에 따라 유동적으로 표현될 수 있다(예컨대, 640 X 480은 30m로 표현). Further, according to the method, on the map image 70, the position of the surveillance cameras B1 to B4, the surveillance direction of the surveillance cameras B1 to B4, and the like of the surveillance cameras B1 to B4 are used. The surveillance areas DET1 to DET4 may be represented, and the far plane may be flexibly represented according to the resolution of the camera (eg, 640 × 480 is represented by 30m).

사용자가 뷰 윈도우(72)를 선택하는 경우, 도 5a와 같이 나타날 수 있다.When the user selects the view window 72, it may appear as shown in FIG. 5A.

이는 광역 전체가 아닌 부분적으로 3차원 모델을 구성하는데 용이할 수 있다.This may facilitate the construction of a three-dimensional model in part rather than the entire area.

도 7b는 감시 카메라들의 수가 많을 경우, 3차원 모델이 밀집되어 있는 지역을 위한 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다. 도 7b를 참고하면, 사용자가 원하는 감시 카메라들(B1, B3 및 B4)의 화면만을 디스플레이할 수 있다.FIG. 7B is a diagram for illustrating a method for visualizing a surveillance camera image for an area where a 3D model is concentrated when the number of surveillance cameras is large. Referring to FIG. 7B, only the screens of the surveillance cameras B1, B3, and B4 desired by the user may be displayed.

사용자는 도 7a의 화면에서 원하는 감시 카메라들(B1, B3 및 B4)이 포함되도록 바운딩(BD2)할 수 있고, 상기 바운딩(BD2)에 포함된 감시 카메라들(B1, B3 및 B4)이 감시하는 영상을 나타내는 뷰 윈도우들(71, 73 및 74)을 디스플레이할 수 있다. 만일, 상기 바운딩(BD2)에 포함된 감시 카메라들이 복수일 경우, 소정의 스크롤(SCR2)을 이용하여 선택된 감시 카메라의 뷰 윈도우를 미리 정해진 크기(사용자와 디스플레이 화면을 고려하여 최적의 크기라고 판단해 설정한 크기)로 볼 수 있도록 디스플레이할 수 있다.The user may bound BD2 to include desired surveillance cameras B1, B3, and B4 on the screen of FIG. 7A, and the surveillance cameras B1, B3, and B4 included in the bounding BD2 may monitor each other. View windows 71, 73, and 74 representing the image may be displayed. If there are a plurality of surveillance cameras included in the bounding BD2, the view window of the surveillance camera selected using a predetermined scroll SCR2 is determined to be an optimal size in consideration of a predetermined size (a user and a display screen). Display size).

또한, 상기 방법에 따라, 지도 이미지(70) 상에, 선택된 감시 카메라(B1, B3, B4)의 위치, 선택된 감시 카메라(B1, B3, B4)의 감시 방향 등을 이용하여 상기 감시 카메라(B1, B3, B4)의 감시 영역(DET1, DET3, DET4)을 나타낼 수 있고, far plane은 카메라의 해상도에 따라 유동적으로 표현될 수 있다(예컨대, 640 X 480은 30m로 표현). Further, according to the method, on the map image 70, by using the position of the selected surveillance cameras B1, B3, B4, the surveillance direction of the selected surveillance cameras B1, B3, B4, and the like, the surveillance camera B1. , B3, B4) may represent the surveillance areas DET1, DET3, DET4, and the far plane may be flexibly represented according to the resolution of the camera (for example, 640 × 480 is represented by 30m).

감시 카메라(B2)는 상기 바운딩(BD2)에 포함되지 않으므로, 상기 시스템(100)은 감시 카메라(B2)가 감시하는 영상을 나타내는 뷰 윈도우(72)는 디스플레이하지 않을 수 있다.Since the surveillance camera B2 is not included in the bounding BD2, the system 100 may not display a view window 72 indicating an image monitored by the surveillance camera B2.

도 8은 평면도 형식의 3차원 모델에 감시 카메라 영상을 시각화하기 위한 방법을 나타내기 위한 도면이다. 도 8을 참고하면, 상기 시스템(100)에 의하여 처리된 영상은 평면도 형태의 이미지(80) 및 감시 카메라들(C1 내지 C4)에 의하여 감시되는 2차원 영상을 나타내는 소정 크기의 뷰 윈도우들(81 내지 84)을 포함한다. FIG. 8 is a diagram illustrating a method for visualizing a surveillance camera image in a three-dimensional model in a plan view. Referring to FIG. 8, the image processed by the system 100 may be a view window 81 having a predetermined size indicating a plan view-type image 80 and a two-dimensional image monitored by the surveillance cameras C1 to C4. To 84).

또한, 상기 시스템(100)은 감시 카메라들(C1 내지 C4)이 감시하고 있는 감시 영역(DET1' 내지 및 DET4')을 지도 이미지(80) 상에 나타낼 수 있다.In addition, the system 100 may display the surveillance areas DET1 ′ and DET4 ′ monitored by the surveillance cameras C1 to C4 on the map image 80.

도 9a 및 9b는 촬영 영상에 기초하여, 3차원 모델 상에서 감시 카메라의 정확한 위치 및 정확한 감시 방향을 검출하기 위한 알고리즘을 설명하기 위한 도면이다. 9A and 9B are diagrams for explaining an algorithm for detecting an accurate position and a surveillance direction of a surveillance camera on a three-dimensional model based on the captured image.

도 9a는 감시 카메라가 촬영하는 화면(90)의 일 예를 나타낸 도면이고, 도 9b는 도 9a를 3차원적으로 고려해볼 때 임의의 점(E1), 소실점(VP1) 및 소실점(VP2)를 지나는 평면을 2차원적으로 표현한 도면이다. FIG. 9A illustrates an example of a screen 90 captured by a surveillance camera, and FIG. 9B illustrates an arbitrary point E1, a vanishing point VP1, and a vanishing point VP2 when three-dimensionally considering FIG. 9A. It is a drawing which expresses the passing plane two-dimensionally.

도 9a 및 도 9b를 참고하면, 상기 화면(90)을 3차원적으로 고려해보면, 서로 수직하는 평행선(PL1) 및 평행선(PL2)를 통하여 소실점(VP1) 및 소실점(VP2)을 알 수 있고, 이를 이용하여 상기 감시 카메라(CAM)의 내부 파라미터-예컨대, 초점 거리(focal length), 이미지 센터(image center) 등-를 구할 수 있다. 9A and 9B, when the screen 90 is considered in three dimensions, the vanishing point VP1 and the vanishing point VP2 may be known through parallel lines PL1 and parallel lines PL2 perpendicular to each other. Using this, internal parameters of the surveillance camera CAM, such as focal length, image center, etc., can be obtained.

특히, 카메라가 스큐(skew)가 없고 픽셀이 정사각형일 경우 아래 수학식1과 같이 간단히 구할 수 있다.In particular, when the camera has no skew and the pixel is square, it can be simply obtained as in Equation 1 below.

Figure pat00001
Figure pat00001

Figure pat00002
Figure pat00002

Figure pat00003
Figure pat00003

여기서,

Figure pat00004
는 이미지 센터의 2차원 벡터, 상기 L은 초점거리,
Figure pat00005
는 소실점 VP1 2차원 벡터,
Figure pat00006
는 소실점 VP2의 2차원 벡터, 및 K는 투영 행렬의 형태이다.here,
Figure pat00004
Is the two-dimensional vector of the image center, L is the focal length,
Figure pat00005
Is the vanishing point VP1 two-dimensional vector,
Figure pat00006
Is a two-dimensional vector of vanishing point VP2, and K is in the form of a projection matrix.

상기 수학식1을 이용하여 상기 화면(90) 상의 임의의 한 점(예컨대, E1)의 3차원적 벡터(901)를 구할 수 있다. 예컨대, 상기 K의 역행렬에 상기 E1의 2차원 좌표값(또는 2차원 벡터)(ie. E1=(e1,e2))를 행렬적으로 곱할 수 있다. 이때, 3 X 3 매트릭스 곱을 위하여, 상기 E1의 2차원 좌표값 행렬의 경우 아래 수학식 2와 같이 마지막에 컴포넌트 1을 사용할 수 있다. Using Equation 1, a three-dimensional vector 901 of any one point (eg, E1) on the screen 90 may be obtained. For example, the inverse of K may be matrix-multiplied by a two-dimensional coordinate value (or two-dimensional vector) of E1 (ie, E1 = (e1, e2)). In this case, for the 3 × 3 matrix multiplication, in the case of the 2-dimensional coordinate value matrix of E1, component 1 may be used at the end as shown in Equation 2 below.

Figure pat00007
Figure pat00007

다음으로, 상기 소실점들(VP1 및 VP2)의 3차원적 벡터((901 및 904), 및 상기 3차원적 벡터(901 및 904)를 외적하여 얻은 외적 벡터(903)를 이용하여 새로운 3차원 좌표계를 생성할 수 있고, 상기 임의의 점(E1)의 3차원적 벡터(901)과 상기 감시 카메라(CAM)의 초점면(focal plane)(FPL)과의 교점(소위, 임의의 점(E1)을 초점면(FPL)에 프로젝션한 점, 이하 원점이라 호칭함)(OP)을 얻을 수 있다.Next, a new three-dimensional coordinate system using the three-dimensional vectors 901 and 904 of the vanishing points VP1 and VP2 and the cross-product vector 903 obtained by cross-sectionalizing the three-dimensional vectors 901 and 904. The intersection of the three-dimensional vector 901 of the arbitrary point (E1) and the focal plane (FPL) of the surveillance camera (CAM) (so-called arbitrary point (E1)) Is projected onto the focal plane FPL, referred to as the origin below) OP.

다음으로, 임의의 점(E1)과 소실점(VP1)을 지나는 축(axis) 상에서 임의의 두 점(예컨대, E1 및 E2)의 거리(id2)를 상기 시스템(100)에 입력하면, 원점(OP)와 감시 카메라(CAM) 사이의 초점 거리(id3)를 알 수 있다.Next, inputting the distance (id2) of any two points (for example, E1 and E2) on the axis passing through the arbitrary point (E1) and vanishing point (VP1), the origin (OP) ) And the focal length id3 between the surveillance camera CAM.

다음으로, 마찬가지로, E1을 제외한 다른 한 점(E2)도 상기 설명한 방법으로 E2의 3차원적 벡터(902)를 구할 수 있다. Next, similarly, the other point E2 except for E1 can also obtain the three-dimensional vector 902 of E2 by the method described above.

다음으로, 상기 id2와 평행한 하는 라인(905)을, 상기 원점(OP)을 지나도록 하는 경우, 상기 라인(905)과 상기 E2의 3차원적 벡터(902)가 가 만나는 점(AD)을 구할 수 있고, 따라서, 원점(OP)와 점(AD) 사이의 거리(id1)을 구할 수 있다.Next, when the line 905 parallel to the id2 is passed through the origin OP, the point AD where the line 905 and the three-dimensional vector 902 of E2 meet. Therefore, the distance id1 between the origin OP and the point AD can be obtained.

다음으로, id1, id2 및 id3을 알고 있으므로, 비례식을 이용하여 id4를 구할 수 있고, 따라서, 임의의 점(E1)으로부터 원점(OP)가 얼마만큼 떨어져 위치하는 지를 알 수 있다. Next, since id1, id2, and id3 are known, id4 can be obtained using a proportional expression, and thus, it can be known how far the origin OP is located from any point E1.

이와 같이, 상기 감시 카메라(CAM)를, 점(E1)을 중심으로 하는 새로운 3차원 좌표계로 다시 표현하고, 상기 새로운 3차원 좌표계를 미리 정한 기준 또는 간단한 사용자 조작에 따라 3차원 모델에 위치시켜 상기 3차원 모델 상에서 상기 감시 카메라의 위치 및/또는 감시 방향을 계산할 수 있다.In this way, the surveillance camera CAM is represented again in a new three-dimensional coordinate system centering on the point E1, and the new three-dimensional coordinate system is positioned in the three-dimensional model according to a predetermined reference or simple user operation. The position and / or surveillance direction of the surveillance camera can be calculated on a three-dimensional model.

이로써, 감시 카메라(CAM)가 촬영한 영상을 보고서 상기 감시 카메라(CAM)가 어디에 위치해 있는지를 더 정확히 알 수 있다.In this way, the image captured by the surveillance camera CAM can be seen more accurately where the surveillance camera CAM is located.

상기 알고리즘을 이용하면, 복수의 감시 카메라들의 촬영 이미지들로부터 역으로 3차원 모델링을 수행할 수 있다. 예컨대, 도 9a에서 점(E1)을 기준으로 하는 한 평면상에서 건물의 일면을 간단히 모델링/텍스쳐링 할 수 있다. Using this algorithm, three-dimensional modeling can be performed inversely from captured images of the plurality of surveillance cameras. For example, in FIG. 9A, one surface of the building may be simply modeled / textured on one plane based on the point E1.

감시 카메라(CAM)를 3차원 모델에 위치시킬 때는 새로이 모델링된 상기 일면 정보를 이용할 수 있으므로 훨씬 더 직관적으로 사용자가 감시 카메라(CAM)를 위치시킬 수 있다. 또한, 사이버상의 가상 3차원 모델(예컨대, 건물 또는 지형 등)을 더 정확히 구현할 수도 있다.When the surveillance camera CAM is positioned in the three-dimensional model, the newly modeled one-sided information can be used so that the user can position the surveillance camera CAM much more intuitively. It is also possible to more accurately implement virtual three-dimensional models (eg, buildings or terrain) in cyberspace.

본 발명은 3차원 모델의 실제감 있는 느낌(예컨대, 원근감/깊이감)을 나타내기 위하여, 월드 좌표계에서 표현된 모델을 가상의 카메라 좌표계로 변환할 수 있고, 이를 영상 평면(image plane)으로 프로젝션(projection)하는 변환을 할 수 있으며, 이를 정규 좌표계로 변환하고, 최종적으로 윈도우 좌표계로 변환할 수 있다. 이는 OpenGL 또는 DirectX를 이용하여 구현될 수 있다.The present invention can convert the model represented in the world coordinate system into a virtual camera coordinate system to project a realistic feeling (eg, perspective / depth) of the three-dimensional model, and project it onto an image plane. (projection) can be converted and converted to a regular coordinate system, and finally to a window coordinate system. This can be implemented using OpenGL or DirectX.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

100: 시스템, 110: 프로세서,
111: 검출 모듈, 112: 모델링 모듈,
113: 인터페이스, 120: 데이터 베이스,
200: 전자 디바이스
100: system, 110: processor,
111: detection module, 112: modeling module,
113: interface, 120: database,
200: electronic device

Claims (15)

적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하는 단계;
상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하는 단계; 및
상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
Generating a virtual object in which an object in which at least one surveillance camera is located is implemented as a virtual three-dimensional model;
Projecting an image of the at least one surveillance camera onto a plane facing the at least one surveillance camera; And
And adjusting the plane to be perpendicular to a line of sight of a virtual camera, which is a camera virtually set for rendering.
제1항에 있어서, 상기 3차원 모델에 영상을 시각화하기 위한 방법은
상기 가상의 오브젝트 상에, 상기 조정된 평면에 나타나는 각 감시 카메라들이 촬영한 2차원 영상을 미리 설정된 크기의 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계를 더 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 1, wherein the method for visualizing the image in the three-dimensional model
Displaying on the virtual object a two-dimensional image photographed by each of the surveillance cameras appearing in the adjusted plane through at least one view window of a predetermined size. Way.
제2항에 있어서, 상기 3차원 모델에 영상을 시각화하기 위한 방법은
사용자가 상기 적어도 하나의 뷰 윈도우 중 하나를 선택한 경우, 선택된 뷰 윈도우의 해당 감시 카메라가 촬영한 영상을, 상기 가상 오브젝트 상에 프로젝션하여 출력하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 2, wherein the method for visualizing the image in the three-dimensional model
And when the user selects one of the at least one view window, projecting the image captured by the corresponding surveillance camera of the selected view window onto the virtual object and outputting the image on the virtual object. .
제2항에 있어서, 상기 3차원 모델에 영상을 시각화하기 위한 방법은
상기 가상 카메라와, 시선 방향 또는 거리가 가까운 감시 카메라가 촬영한 영상을 상기 가상 오브젝트 상에 프로젝션하여 출력하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 2, wherein the method for visualizing the image in the three-dimensional model
And projecting and outputting an image photographed by the virtual camera and a surveillance camera close to a line of sight or distance on the virtual object and outputting the image.
제2항에 있어서,
상기 적어도 하나의 뷰 윈도우는 미리 정해진 상황이 발생한 경우, 상기 적어도 하나의 뷰 윈도우를 구성하는 컬러가 변화되거나, 상기 적어도 하나의 뷰 윈도우가 깜빡거리는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 2,
The at least one view window is a method for visualizing the image in the three-dimensional model, the color constituting the at least one view window, or when the at least one view window flickers when a predetermined situation occurs.
제2항에 있어서, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는
미리 정해진 순서에 따라 상기 적어도 하나의 뷰 윈도우의 컬러 값을 판단하는 단계; 및
상기 컬러 값을 기준 값과 비교하여 상기 적어도 하나의 뷰 윈도우를 미리 정해진 방향으로 이동시켜 디스플레이하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 2, wherein displaying through the at least one view window comprises:
Determining color values of the at least one view window in a predetermined order; And
And moving the at least one view window in a predetermined direction by comparing the color value with a reference value to display the image in a three-dimensional model.
제2항에 있어서, 상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는
상기 뷰 윈도우들을, 상기 가상의 오브젝트 상의 해당 감시 카메라 위치와 주석 라인을 연결하여 디스플레이하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 2, wherein displaying through the at least one view window comprises:
And displaying the view windows by connecting an annotation line with a corresponding surveillance camera position on the virtual object.
제2항에 있어서,상기 적어도 하나의 뷰 윈도우를 통해 디스플레이하는 단계는
상기 가상 오브젝트 상의 특정 영역이 선택되는 경우, 상기 선택 영역 내의 감시 카메라들의 뷰 윈도우를 디스플레이하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 2, wherein the displaying through the at least one view window
If a particular area on the virtual object is selected, displaying a view window of surveillance cameras within the selected area.
제1항에 있어서, 상기 가상의 오브젝트를 생성하는 단계는
감시 영상 및 감시카메라의 감시 영역을 시각화하기 위하여, 와이어프레임(Wireframe Rendereing) 렌더링 및/또는 폴리곤 렌더링(Polygon Rendering), 또는 알파 값 조정 렌더링을 이용하여 상기 가상의 오브젝트를 생성 및 렌더링하는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 1, wherein generating the virtual object
Generating and rendering the virtual object using wireframe rendering and / or polygon rendering, or alpha value adjusted rendering, to visualize the surveillance region of the surveillance image and surveillance camera. A method for visualizing an image on a three-dimensional model.
제9항에 있어서,
상기 폴리곤 렌더링은 쉐도우-맵(shadow-map) 알고리즘을 이용하는 3차원 모델에 영상을 시각화하기 위한 방법.
10. The method of claim 9,
The polygon rendering method for visualizing an image in a three-dimensional model using a shadow-map algorithm.
제1항에 있어서, 상기 가상 오브젝트를 생성하는 단계는
상기 적어도 하나의 감시 카메라의 촬영 영상에 기초하여, 상기 촬영 영상의 소실점들로 향하는 특정 방향의 3차원 벡터들 및 및 상기 3차원 벡터들을 외적한 외적 벡터를 이용하여 3차원 좌표계를 생성하는 단계; 및
상기 3차원 좌표계를 미리 정한 기준에 따라 상기 가상 오브젝트에 위치시켜 상기 적어도 하나의 감시 카메라의 위치 및/또는 감시 방향을 계산한 후, 상기 가상 오브젝트 내에 상기 적어도 하나의 감시 카메라를 위치시키는 단계를 포함하는 3차원 모델에 영상을 시각화하기 위한 방법.
The method of claim 1, wherein generating the virtual object
Generating a three-dimensional coordinate system using three-dimensional vectors in a specific direction directed to vanishing points of the captured image and an outer vector of the three-dimensional vectors based on the captured images of the at least one surveillance camera; And
Positioning the at least one surveillance camera within the virtual object after calculating the position and / or the surveillance direction of the at least one surveillance camera by positioning the three-dimensional coordinate system on the virtual object according to a predetermined criterion. A method for visualizing an image on a three-dimensional model.
제1항 내지 제11항 중 어느 한 항에 기재된 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 기록매체.A recording medium having recorded thereon a computer program for executing the method according to any one of claims 1 to 11. 3차원 모델에 영상을 시각화하기 위한 시스템에 있어서,
적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하고, 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하며, 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하도록 프로그램화된 프로세서; 및
상기 프로세서의 처리를 위하여, 상기 시스템에 입력 및/또는 출력되는 데이터를 저장하기 위한 데이터베이스를 포함하는 3차원 모델에 영상을 시각화하기 위한 시스템.
In a system for visualizing an image on a three-dimensional model,
Create a virtual object that implements an object in which at least one surveillance camera is located as a virtual three-dimensional model, and the planar image facing the at least one surveillance camera in front of the image of the at least one surveillance camera. A processor programmed to project the projection to adjust the plane to be perpendicular to a line of sight of the virtual camera, the camera virtually set for rendering; And
And a database for storing data input and / or output to the system for processing by the processor.
제13항에 있어서, 상기 프로세서는
적어도 하나의 감시 카메라가 위치한 오브젝트(object)를 가상의 3차원 모델로 구현한 가상 오브젝트를 생성하고, 상기 적어도 하나의 감시 카메라의 영상을, 상기 적어도 하나의 감시 카메라를 정면으로 바라보고 있는 평면상에 프로젝션하며, 상기 평면을, 렌더링을 위해 가상으로 설정한 카메라인 가상 카메라의 시선 방향과 수직이 되도록 조정하도록 모델링하는 모델링 모듈;
상기 모델링 모듈의 모델링을 위하여, 상기 시스템에 입력 및/또는 출력되는 데이터를 검출하여 상기 모델링 모듈에 전달하기 위한 검출 모듈; 및
상기 모델링 모듈에 의하여 모델링된 데이터를 컬러 값으로 렌더링하기 위한 컬러 버퍼를 포함하는 3차원 모델에 영상을 시각화하기 위한 시스템.
The processor of claim 13, wherein the processor is
Create a virtual object that implements an object in which at least one surveillance camera is located as a virtual three-dimensional model, and the planar image facing the at least one surveillance camera in front of the image of the at least one surveillance camera. A modeling module for projecting onto and modeling the plane to be perpendicular to a line of sight of a virtual camera, which is a camera virtually set for rendering;
A detection module for detecting and transmitting data input and / or output to the system for modeling the modeling module; And
And a color buffer for rendering the data modeled by the modeling module as color values.
제13항에 있어서, 상기 3차원 모델에 영상을 시각화하기 위한 시스템은
상기 프로세서가 처리한 결과를 디스플레이하기 위한 디스플레이 장치를 더 포함하는 3차원 영상을 시각화하기 위한 시스템.
The system of claim 13, wherein the system for visualizing the image in the three-dimensional model
And a display device for displaying a result processed by the processor.
KR1020100008773A 2010-01-29 2010-01-29 Method and system to visualize surveillance camera videos within 3d models, and program recording medium KR20110088995A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100008773A KR20110088995A (en) 2010-01-29 2010-01-29 Method and system to visualize surveillance camera videos within 3d models, and program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100008773A KR20110088995A (en) 2010-01-29 2010-01-29 Method and system to visualize surveillance camera videos within 3d models, and program recording medium

Publications (1)

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

Family

ID=44927351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100008773A KR20110088995A (en) 2010-01-29 2010-01-29 Method and system to visualize surveillance camera videos within 3d models, and program recording medium

Country Status (1)

Country Link
KR (1) KR20110088995A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140090022A (en) * 2013-01-08 2014-07-16 삼성테크윈 주식회사 Method and Apparatus for displaying the video on 3D map
KR20140114373A (en) * 2012-01-19 2014-09-26 로베르트 보쉬 게엠베하 Method and device for visualizing the surroundings of a vehicle
KR20160034513A (en) * 2014-09-19 2016-03-30 한국전자통신연구원 Apparatus and method for implementing immersive augmented reality with RGB-D data
KR20160137852A (en) * 2015-05-22 2016-12-01 주식회사 이타기술 Method and system to provide videos, Computer program for the same, Recording medium storing computer program for the same
KR20180060868A (en) 2016-11-28 2018-06-07 숭실대학교산학협력단 Three-dimensional monitoring system and method using real-time warping of surveilance videos
KR20210155960A (en) * 2020-06-17 2021-12-24 (주) 피플소프트 3D based cctv control video system
CN116996742A (en) * 2023-07-18 2023-11-03 数元科技(广州)有限公司 Video fusion method and system based on three-dimensional scene

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140114373A (en) * 2012-01-19 2014-09-26 로베르트 보쉬 게엠베하 Method and device for visualizing the surroundings of a vehicle
KR20140090022A (en) * 2013-01-08 2014-07-16 삼성테크윈 주식회사 Method and Apparatus for displaying the video on 3D map
KR20160034513A (en) * 2014-09-19 2016-03-30 한국전자통신연구원 Apparatus and method for implementing immersive augmented reality with RGB-D data
KR20160137852A (en) * 2015-05-22 2016-12-01 주식회사 이타기술 Method and system to provide videos, Computer program for the same, Recording medium storing computer program for the same
KR20180060868A (en) 2016-11-28 2018-06-07 숭실대학교산학협력단 Three-dimensional monitoring system and method using real-time warping of surveilance videos
KR20210155960A (en) * 2020-06-17 2021-12-24 (주) 피플소프트 3D based cctv control video system
CN116996742A (en) * 2023-07-18 2023-11-03 数元科技(广州)有限公司 Video fusion method and system based on three-dimensional scene

Similar Documents

Publication Publication Date Title
EP3057066B1 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
US20160307374A1 (en) Method and system for providing information associated with a view of a real environment superimposed with a virtual object
JP4917603B2 (en) Method and apparatus for determining the attitude of a video capture means within a reference digitized frame of at least one three-dimensional virtual object that models at least one real object
KR20110088995A (en) Method and system to visualize surveillance camera videos within 3d models, and program recording medium
EP2996088A1 (en) Method for visualising surface data together with panorama image data of the same surrounding
JP7182920B2 (en) Image processing device, image processing method and program
JP2006293792A (en) Stereoscopic image generation device
JP7182976B2 (en) Information processing device, information processing method, and program
JP7042561B2 (en) Information processing equipment, information processing method
CN103124986A (en) 3-D model view manipulation apparatus
CN105513112A (en) Image processing method and device
JP7073092B2 (en) Image processing equipment, image processing methods and programs
CN108629799B (en) Method and equipment for realizing augmented reality
JP2019197279A (en) Image processing apparatus, method for controlling image processing apparatus, and program
WO2019163129A1 (en) Virtual object display control device, virtual object display system, virtual object display control method, and virtual object display control program
KR20140121529A (en) Method and apparatus for formating light field image
US9025007B1 (en) Configuring stereo cameras
JP2020173529A (en) Information processing device, information processing method, and program
JP2004030408A (en) Three-dimensional image display apparatus and display method
Tatzgern et al. Exploring Distant Objects with Augmented Reality.
Avery et al. Visualizing occluded physical objects in unfamiliar outdoor augmented reality environments
JP2019144958A (en) Image processing device, image processing method, and program
KR101559739B1 (en) System for merging virtual modeling and image data of cameras
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

Legal Events

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