KR102576587B1 - A method and apparatus for generating a moving object trajectory using multiple cameras - Google Patents
A method and apparatus for generating a moving object trajectory using multiple cameras Download PDFInfo
- Publication number
- KR102576587B1 KR102576587B1 KR1020220117029A KR20220117029A KR102576587B1 KR 102576587 B1 KR102576587 B1 KR 102576587B1 KR 1020220117029 A KR1020220117029 A KR 1020220117029A KR 20220117029 A KR20220117029 A KR 20220117029A KR 102576587 B1 KR102576587 B1 KR 102576587B1
- Authority
- KR
- South Korea
- Prior art keywords
- trajectory
- image
- unit
- moving object
- area
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/0031—Geometric image transformation in the plane of the image for topological mapping of a higher dimensional structure on a lower dimensional surface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Abstract
일 측면에 따른 다중 카메라를 이용한 이동체 궤적 생성 방법은, 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 상기 제1 카메라로부터 촬영된 제1 이미지 및 상기 제2 카메라로부터 촬영된 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출하는 단계; 지도 이미지 상에 상기 호모그래피 행렬들을 이용하여 상기 제1 이미지 및 상기 제2 이미지를 원근 변환함으로써, 상기 제1 이미지에 대응하는 제1 영역을 주행한 상기 이동체의 제1 단위 궤적 및 상기 제2 이미지에 대응하는 제2 영역을 주행한 상기 이동체의 제2 단위 궤적을 획득하는 단계; 및 상기 제1 영역 및 상기 제2 영역이 중복되는 중복 영역에 포함되는 상기 제1 단위 궤적의 적어도 일부 및 상기 제2 단위 궤적의 적어도 일부를 결합하여 동일한 이동체에 대한 결합 궤적을 생성하는 단계;를 포함한다.According to one aspect, a method of generating a moving object trajectory using multiple cameras includes a first camera and a second camera that photograph the same moving object at different positions, and a first image captured by the first camera and a second image captured by the second camera. calculating homography matrices for each second image; By perspective converting the first image and the second image using the homography matrices on a map image, the first unit trajectory and the second image of the moving object traveling in the first area corresponding to the first image acquiring a second unit trajectory of the moving object traveling in a second area corresponding to; and generating a combined trajectory for the same moving object by combining at least a part of the first unit trajectory and at least a part of the second unit trajectory included in an overlapping area where the first area and the second area overlap. Includes.
Description
다중 카메라를 이용한 이동체 궤적 생성 방법 및 장치에 관한다.This relates to a method and device for generating moving object trajectories using multiple cameras.
최근 들어 카메라로부터 입력 받은 영상을 실시간으로 분석하여 이동체를 감지 및 추적하고, 이를 바탕으로 의미 있는 이벤트를 자동으로 감지하는 지능형 시스템에 대한 수요가 날로 증가하고 있다. 또한 지능형 시스템을 보안 및 감시하는 분야뿐만 아니라 BI(Business Intelligence) 분야에서도 활용하려는 움직임이 점차 확대되고 있다. 대표적인 예로 매장 입구나 통행로의 상단에 설치된 카메라의 영상을 분석하여 지나가는 방문객들을 계수(Counting)하거나 특정 장소에 방문객들이 머무는 시간을 측정하는 것 등이 있다.Recently, the demand for intelligent systems that detect and track moving objects by analyzing images input from cameras in real time and automatically detect meaningful events based on this is increasing day by day. In addition, there is a growing movement to utilize intelligent systems not only in the field of security and monitoring, but also in the field of BI (Business Intelligence). Representative examples include counting passing visitors by analyzing images from cameras installed at the entrance of a store or at the top of the passageway, or measuring the time visitors stay in a specific place.
다만, 중요한 공간을 복수의 카메라로 감시할 경우 개별 객체에 대한 정확한 식별이 쉽지 않고 공간을 기반으로 해당 공간 내 객체를 통합적으로 추적 관리하는 것이 쉽지 않을 뿐만 아니라 각 카메라의 시차에 의해 동일 객체 여부나 객체의 군집 여부 등을 파악하기 어려울 뿐만 아니라, 복수의 객체가 군집한 후 분화되는 경우 객체 식별을 유지하는 것은 더더욱 어렵다.However, when an important space is monitored with multiple cameras, it is not easy to accurately identify individual objects, and it is not easy to comprehensively track and manage objects within the space based on space. In addition, the parallax of each camera determines whether the object is the same or not. Not only is it difficult to determine whether objects are clustered, but it is even more difficult to maintain object identification when multiple objects are clustered and then differentiated.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The above-mentioned background technology is technical information that the inventor possessed for deriving the present invention or acquired in the process of deriving the present invention, and cannot necessarily be said to be known art disclosed to the general public before filing the application for the present invention.
다중 카메라를 이용한 이동체 궤적 생성 방법 및 장치를 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.The purpose is to provide a method and device for generating moving object trajectories using multiple cameras. Additionally, the object is to provide a computer-readable recording medium on which a program for executing the method on a computer is recorded. The technical challenges to be solved are not limited to those described above, and other technical challenges may exist.
일 측면에 따른 다중 카메라를 이용한 이동체 궤적 생성 방법은, 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 상기 제1 카메라로부터 촬영된 제1 이미지 및 상기 제2 카메라로부터 촬영된 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출하는 단계; 지도 이미지 상에 상기 호모그래피 행렬들을 이용하여 상기 제1 이미지 및 상기 제2 이미지를 원근 변환함으로써, 상기 제1 이미지에 대응하는 제1 영역을 주행한 상기 이동체의 제1 단위 궤적 및 상기 제2 이미지에 대응하는 제2 영역을 주행한 상기 이동체의 제2 단위 궤적을 획득하는 단계; 및 상기 제1 영역 및 상기 제2 영역이 중복되는 중복 영역에 포함되는 상기 제1 단위 궤적의 적어도 일부 및 상기 제2 단위 궤적의 적어도 일부를 결합하여 동일한 이동체에 대한 결합 궤적을 생성하는 단계;를 포함한다.According to one aspect, a method of generating a moving object trajectory using multiple cameras includes a first camera and a second camera that photograph the same moving object at different positions, and a first image captured by the first camera and a second image captured by the second camera. calculating homography matrices for each second image; By perspective converting the first image and the second image using the homography matrices on a map image, the first unit trajectory and the second image of the moving object traveling in the first area corresponding to the first image acquiring a second unit trajectory of the moving object traveling in a second area corresponding to; and generating a combined trajectory for the same moving object by combining at least a part of the first unit trajectory and at least a part of the second unit trajectory included in an overlapping area where the first area and the second area overlap. Includes.
다른 측면에 따른 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 방법을 기록한 기록매체를 포함한다.A computer-readable recording medium according to another aspect includes a recording medium recording a method for executing the above-described method on a computer.
또 다른 측면에 따른 컴퓨팅 장치는, 적어도 하나의 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는, 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 상기 제1 카메라로부터 촬영된 제1 이미지 및 상기 제2 카메라로부터 촬영된 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출하고, 지도 이미지 상에 상기 호모그래피 행렬들을 이용하여 상기 제1 이미지 및 상기 제2 이미지를 원근 변환함으로써, 상기 제1 이미지에 대응하는 제1 영역을 주행한 상기 이동체의 제1 단위 궤적 및 상기 제2 이미지에 대응하는 제2 영역을 주행한 상기 이동체의 제2 단위 궤적을 획득하고, 상기 제1 영역 및 상기 제2 영역이 중복되는 중복 영역에 포함되는 상기 제1 단위 궤적의 적어도 일부 및 상기 제2 단위 궤적의 적어도 일부를 결합하여 동일한 이동체에 대한 결합 궤적을 생성한다.According to another aspect, a computing device includes at least one memory; and at least one processor, wherein the at least one processor is configured to select the first image and the second image captured from the first camera with respect to the first camera and the second camera that photograph the same moving object from different positions, respectively. By calculating homography matrices for each second image captured from a camera and performing perspective conversion on the first image and the second image using the homography matrices on a map image, the first image Obtain a first unit trajectory of the moving object traveling in a first area corresponding to and a second unit trajectory of the moving object traveling in a second area corresponding to the second image, and obtain the first area and the second area. At least a part of the first unit trajectory and at least a part of the second unit trajectory included in this overlapping area are combined to generate a combined trajectory for the same moving object.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.In addition, another method for implementing the present invention, another system, and a computer-readable recording medium storing a computer program for executing the method may be further provided.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages in addition to those described above will become apparent from the following drawings, claims and detailed description of the invention.
본 발명에 의하면, 다중 카메라로 촬영한 단일 공간에 존재하는 이동체의 궤적을 통합적으로 추적하여 제공할 수 있다.According to the present invention, it is possible to comprehensively track and provide the trajectory of a moving object existing in a single space captured by multiple cameras.
또한, 단일 카메라로는 추적할 수 없는 공간을 다중 카메라를 사용함으로써 공간의 제약없이 단일의 이동체의 궤적을 제공할 수 있다.Additionally, by using multiple cameras in a space that cannot be tracked with a single camera, the trajectory of a single moving object can be provided without spatial constraints.
또한, 단일의 이동체의 궤적을 제공함으로써 교통 흐름에 대한 더욱 정밀한 시뮬레이션이 가능하고 위험 상황에 대하여 예측이 가능하다.Additionally, by providing the trajectory of a single moving object, more precise simulation of traffic flow is possible and dangerous situations can be predicted.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1은 일 실시예에 따른 다중 카메라를 이용하여 이동체 궤적을 생성하는 시스템의 일 예를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 사용자 단말의 일 예를 도시한 구성도이다.
도 3은 일 실시예에 따른 다중 카메라로부터 촬영된 복수의 이미지를 이용하여 이동체 궤적을 생성하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 프로세서가 카메라로부터 획득한 이미지 및 이미지들이 나타내는 지표면을 포함하는 지도 이미지를 생성하는 일 예를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 프로세서가 지표면의 위치 정보를 이용하여 복수의 대응점 페어들을 지정하는 일 예를 설명하기 위한 도면이다.
도 6a는 일 실시예에 따른 프로세서가 복수의 대응점 페어들이 지도 이미지 측의 대응점을 공유하는 경우에 호모그래피 행렬들을 산출하는 일 예를 설명하기 위한 도면이다.
도 6b는 일 실시예에 따른 프로세서가 복수의 대응점 페어들이 지도 이미지 측의 대응점을 공유하지 않는 경우에 호모그래피 행렬들을 산출하는 일 예를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 프로세서가 호모그래피 행렬을 이용하여 이미지에 대응하는 영역 내의 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 프로세서가 제1 영역 및 제2 영역에 존재하는 제1 단위 궤적 및 제2 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 프로세서가 중복 영역에서 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 프로세서가 중복 영역이 아닌 영역에서 제1 단위 궤적 및 제2 단위 궤적을 선택하는 일 예를 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 프로세서가 도 9에서 생성한 결합 궤적 및 도 10에서 선택한 제1 단위 궤적과 제2 단위 궤적을 기초로 이동체 궤적을 결정하는 일 예를 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 프로세서가 중복 영역에서 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성하는 다른 예를 설명하기 위한 도면이다.
도 13는 일 실시예에 따른 프로세서가 제1 영역, 제2 영역 및 제3 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적, 제2 단위 궤적 및 제3 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다.
도 14은 일 실시예에 따른 프로세서가 제1 영역 및 제3 영역이 중복되는 영역에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 프로세서가 제1 영역, 제2 영역 및 제3 영역이 중복되는 영역에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.
도 16는 일 실시예에 따른 프로세서가 제2 영역 및 제3 영역이 중복되는 영역에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.
도 17은 일 실시예에 따른 프로세서가 중복 영역이 아닌 영역에서 제1 단위 궤적 및 제2 단위 궤적을 선택하는 일 예를 설명하기 위한 도면이다.
도 18은 일 실시예에 따른 프로세서가 도 14 내지 도 16에서 생성한 결합 궤적 및 도 17에서 선택한 제1 단위 궤적과 제2 단위 궤적을 기초로 이동체 궤적을 결정하는 일 예를 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating an example of a system for generating a moving object trajectory using multiple cameras according to an embodiment.
Figure 2 is a configuration diagram illustrating an example of a user terminal according to an embodiment.
FIG. 3 is a flowchart illustrating an example of a method for generating a moving object trajectory using a plurality of images captured from multiple cameras according to an embodiment.
FIG. 4 is a diagram illustrating an example in which a processor according to an embodiment generates a map image including images acquired from a camera and the ground surface represented by the images.
FIG. 5 is a diagram illustrating an example in which a processor designates a plurality of pairs of corresponding points using location information on the ground surface, according to an embodiment.
FIG. 6A is a diagram illustrating an example in which a processor calculates homography matrices when a plurality of pairs of corresponding points share corresponding points on a map image, according to an embodiment.
FIG. 6B is a diagram illustrating an example in which a processor calculates homography matrices when a plurality of pairs of corresponding points do not share corresponding points on the map image, according to an embodiment.
FIG. 7 is a diagram illustrating an example in which a processor according to an embodiment acquires a unit trajectory in an area corresponding to an image using a homography matrix.
FIG. 8 is a diagram illustrating an example in which a processor acquires a first unit trajectory and a second unit trajectory existing in a first area and a second area, according to an embodiment.
FIG. 9 is a diagram illustrating an example in which a processor generates a combined trajectory by combining a part of a first unit trajectory and a part of a second unit trajectory in an overlapping area, according to an embodiment.
FIG. 10 is a diagram illustrating an example in which a processor selects a first unit trajectory and a second unit trajectory from an area that is not an overlapping area, according to an embodiment.
FIG. 11 is a diagram illustrating an example in which a processor according to an embodiment determines a moving object trajectory based on the combined trajectory generated in FIG. 9 and the first and second unit trajectories selected in FIG. 10 .
FIG. 12 is a diagram illustrating another example in which a processor according to an embodiment generates a combined trajectory by combining a part of a first unit trajectory and a part of a second unit trajectory in an overlapping area.
FIG. 13 illustrates an example in which a processor according to an embodiment acquires a first unit trajectory, a second unit trajectory, and a third unit trajectory included in an overlapping area where the first area, the second area, and the third area overlap. This is a drawing for this purpose.
FIG. 14 is a diagram illustrating an example in which a processor generates a combination trajectory in an area where a first area and a third area overlap, according to an embodiment.
FIG. 15 is a diagram illustrating an example in which a processor generates a combination trajectory in an area where a first area, a second area, and a third area overlap, according to an embodiment.
FIG. 16 is a diagram illustrating an example in which a processor generates a combination trajectory in an area where a second area and a third area overlap, according to an embodiment.
FIG. 17 is a diagram illustrating an example in which a processor selects a first unit trajectory and a second unit trajectory from a non-overlapping area, according to an embodiment.
FIG. 18 is a diagram illustrating an example in which a processor according to an embodiment determines a moving object trajectory based on the combined trajectory generated in FIGS. 14 to 16 and the first and second unit trajectories selected in FIG. 17. .
실시 예들에서 사용되는 용어는 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 명세서의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the embodiments are general terms that are currently widely used as much as possible, but may vary depending on the intention or precedent of a technician working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the relevant description. Therefore, terms used in the specification should be defined based on the meaning of the term and the overall content of the specification, not just the name of the term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "??유닛", "??모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When it is said that a part "includes" a certain element throughout the specification, this means that, unless specifically stated to the contrary, it does not exclude other elements but may further include other elements. In addition, terms such as “??unit” and “??module” used in the specification refer to a unit that processes at least one function or operation, which may be implemented as hardware or software, or as a combination of hardware and software. there is.
또한, 명세서에서 사용되는 "제1" 또는 "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다.Additionally, terms including ordinal numbers, such as “first” or “second,” used in the specification may be used to describe various components, but the components should not be limited by the terms. The above terms may be used for the purpose of distinguishing one component from another component.
아래에서는 첨부한 도면을 참고하여 실시 예에 대하여 상세히 설명한다. 그러나 실시 예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 예에 한정되지 않는다.Below, the embodiment will be described in detail with reference to the attached drawings. However, the embodiments may be implemented in various different forms and are not limited to the examples described herein.
도 1은 일 실시예에 따른 다중 카메라를 이용하여 이동체 궤적을 생성하는 시스템의 일 예를 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating an example of a system for generating a moving object trajectory using multiple cameras according to an embodiment.
도 1을 참조하면, 시스템(1)은 사용자 단말(10) 및 서버(20)를 포함한다. 예를 들어, 사용자 단말(10)과 서버(20)는 유선 또는 무선 통신 방식으로 연결되어 상호 간에 데이터(예를 들어, 카메라로부터 촬영된 이미지 등)를 송수신할 수 있다.Referring to Figure 1,
설명의 편의를 위하여, 도 1에는 시스템(1)에 사용자 단말(10) 및 서버(20)가 포함되는 것으로 도시하였으나, 이에 한정되지 않는다. 예를 들어, 시스템(1)에는 다른 외부 디바이스(미도시)가 포함될 수 있으며, 이하에서 설명될 사용자 단말(10) 및 서버(20)의 동작이 단일 디바이스(예를 들어, 사용자 단말(10) 또는 서버(20))에 의하여 구현될 수도 있다.For convenience of explanation, FIG. 1 shows that the
사용자 단말(10)은 디스플레이 장치 및 사용자 입력을 수신하는 장치(예를 들어, 키보드, 마우스 등)를 구비하고, 메모리와 프로세서를 포함하는 컴퓨팅 장치일 수 있다. 예를 들어, 사용자 단말(10)은 노트북(notebook) PC, 데스크탑(desktop) PC, 랩탑(laptop), 테블릿 컴퓨터(tablet computer), 스마트 폰 등이 해당될 수 있으나, 이에 한정되지 않는다.The
서버(20)는 사용자 단말(10)을 포함하여 외부 디바이스(미도시)와 통신하는 장치일 수 있다. 예를 들어, 서버(20)는 적어도 하나의 카메라로부터 촬영된 적어도 하나의 이미지, 지표면의 위치 정보를 포함하여 다양한 데이터를 저장하는 장치일 수 있고, 경우에 따라 자체적인 연산 능력을 갖춘 장치일 수 있다. 예를 들어, 서버(20)는 클라우드(cloud) 서버일 수도 있으나, 이에 한정되지 않는다.The
사용자 단말(10)은 다중 카메라로부터 촬영된 복수의 이미지에 포함된 동일한 객체에 대하여 각각의 이미지에 대응하는 이동체 단위 궤적을 획득하고, 이동체 단위 궤적들을 결합하여 단일의 이동체 궤적을 생성한다.The
이동체 궤적은 동일한 이동체를 각각 다른 위치에서 촬영하는 다중 카메라로부터 촬영된 복수의 이미지로부터 각 이미지에 대응하는 영역의 단위 궤적을 획득하고, 생성한 단위 객체들을 결합하여 생성한 단일의 이동체 궤적을 지칭한다. 일 예로서, 이동체 궤적은 교차로에 배치된 4개의 카메라로 촬영된 4개의 이미지로부터 각 이미지들에 대응하는 4개의 영역의 단위 궤적들을 획득하고, 획득한 4개의 단위 궤적들을 결합하여 생성한 단일의 이동체 궤적일 수 있다.A moving object trajectory refers to a single moving object trajectory created by obtaining unit trajectories of the area corresponding to each image from multiple images captured by multiple cameras that capture the same moving object at different locations, and combining the generated unit objects. . As an example, the moving object trajectory is a single image generated by acquiring unit trajectories of four areas corresponding to each image from four images captured by four cameras placed at an intersection and combining the four obtained unit trajectories. It may be a moving object trajectory.
일 실시예에 따른 시스템(1)은 다중 카메라로부터 촬영된 복수의 이미지에 포함된 동일한 객체에 대하여 각각의 이미지에 대응하는 이동체 단위 궤적을 획득하고, 이동체 단위 궤적들을 결합하여 단일의 이동체 궤적을 생성한다. 구체적으로, 사용자 단말(10)은 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 제1 카메라로부터 촬영된 제1 이미지 및 제2 카메라로부터 촬영된 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출하고, 지도 이미지 상에 호모그래피 행렬들을 이용하여 제1 이미지 및 제2 이미지를 원근 변환함으로써, 제1 이미지에 대응하는 제1 영역을 주행한 이동체의 제1 단위 궤적 및 제2 이미지에 대응하는 제2 영역을 주행한 이동체의 제2 단위 궤적을 획득하고, 제1 영역 및 제2 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적의 적어도 일부 및 제2 단위 궤적의 적어도 일부를 결합하여 동일한 이동체에 대한 결합 궤적을 생성한다. 사용자(30)는 다중 카메라로부터 촬영된 복수의 이미지에 나타난 동일한 이동체에 대하여 단일의 궤적의 정보를 확인할 수 있다.The
이하, 도 2 내지 도 18을 참조하여, 사용자 단말(10)이 다중 카메라로부터 촬영된 복수의 이미지에 포함된 동일한 객체에 대하여 각각의 이미지에 대응하는 이동체의 단위 궤적을 획득하고, 이동체 단위 궤적들을 결합하여 단일의 이동체 궤적을 결정하는 예들을 설명한다. 한편, 도 2 내지 도 18을 참조하여 후술할 동작은 서버(20)에서 수행될 수도 있음은 도 1을 참조하여 상술한 바와 같다.Hereinafter, with reference to FIGS. 2 to 18, the
도 2는 일 실시예에 따른 사용자 단말의 일 예를 도시한 구성도이다.Figure 2 is a configuration diagram illustrating an example of a user terminal according to an embodiment.
도 2를 참조하면, 사용자 단말(100)은 프로세서(110) 및 메모리(120)를 포함한다. 설명의 편의를 위하여, 도 2에는 본 발명과 관련된 구성요소들만이 도시되어 있다. 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 사용자 단말(100)에 더 포함될 수 있다. 일 예로서, 사용자 단말(100)은 입출력 인터페이스(미도시) 및/또는 통신 모듈(미도시)을 포함할 수 있다. 또한, 도 2에 도시된 프로세서(110) 및 메모리(120)는 독립된 장치로 구현될 수도 있음은 본 발명과 관련된 기술 분야에서의 통상의 지식을 가진 자에게 자명하다.Referring to FIG. 2, the
프로세서(110)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리할 수 있다. 여기에서, 명령은 메모리(120) 또는 외부 장치(예를 들어, 서버(20) 등)로부터 제공될 수 있다. 또한, 프로세서(110)는 사용자 단말(100)에 포함된 다른 구성요소들의 동작을 전반적으로 제어할 수 있다.The
특히, 프로세서(110)는 다중 카메라로부터 촬영된 복수의 이미지를 이용하여 이동체 궤적을 생성한다. 구체적으로, 프로세서(110)는 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 제1 카메라로부터 촬영된 제1 이미지 및 제2 카메라로부터 촬영된 제2 이미지를 획득한다. 그리고, 프로세서(110)는 이미지들이 나타내는 지표면(earth surface)을 포함하는 지도 이미지를 생성한다. 그리고, 프로세서(110)는 지표면의 위치 정보를 이용하여 이미지들 상의 좌표와 지도 이미지 상의 좌표를 대응시켜 복수의 대응점 페어들(pairs)을 지정한다. 그리고, 프로세서(110)는 복수의 대응점 페어들을 이용하여 제1 이미지 및 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출한다. 그리고, 프로세서(110)는 지도 이미지 상에 제1 이미지에 대응하는 제1 영역 및 제2 이미지에 대응하는 제2 영역을 지정한다. 그리고, 프로세서(110)는 지도 이미지 상에 호모그래피 행렬들을 이용하여 제1 이미지 및 제2 이미지를 원근 변환함으로써, 제1 영역을 주행한 이동체의 제1 단위 궤적 및 제2 영역을 주행한 이동체의 제2 단위 궤적을 획득한다. 그리고, 프로세서(110)는 제1 영역 및 제2 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 동일한 이동체에 대한 결합 궤적을 생성한다. 그리고, 프로세서(110)는 제1 단위 궤적, 제2 단위 궤적 및 결합 궤적에 기초한 이동체 궤적을 결정한다.In particular, the
일 실시예에 따른 프로세서(110)가 동작하는 구체적인 예들은 도 3 내지 도 18을 참조하여 설명한다.Specific examples of how the
프로세서(110)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 예를 들어, 프로세서(110)는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함할 수 한다. 일부 환경에서, 프로세서(110)는 주문형 반도체(ASIC), 프로그램 가능 로직 디바이스(PLD), 필드 프로그램 가능 게이트 어레이(FPGA) 등을 포함할 수도 있다. 예를 들어, 프로세서(110)는 디지털 신호 프로세서(DSP)와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, 디지털 신호 프로세서(DSP) 코어와 결합된 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.The
메모리(120)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 예로서, 메모리(120)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치일 수 있다. 또한, 메모리(210)에는 운영체제(OS)와 적어도 하나의 프로그램 코드(예를 들어, 도 3 내지 도 18을 참조하여 후술할 동작을 프로세서(110)가 수행하기 위한 코드)가 저장될 수 있다.
러한 소프트웨어 구성요소들은 메모리(120)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 사용자 단말(100)에 직접 연결될 수 있는 기록 매체일 수 있고, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 또는, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(미도시)을 통해 메모리(120)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(미도시)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(예를 들어, 도 3 내지 도 18을 참조하여 후술할 동작을 프로세서(110)가 수행하기 위한 컴퓨터 프로그램 등)에 기반하여 메모리(120)에 로딩될 수 있다.Such software components may be loaded from a computer-readable recording medium separate from the
입출력 인터페이스(미도시)는 사용자 단말(100)과 연결되거나 사용자 단말(100)에 포함될 수 있는 입력 또는 출력을 위한 장치(예를 들어, 키보드, 마우스 등)와의 인터페이스를 위한 수단일 수 있다. 입출력 인터페이스(미도시)가 프로세서(110)와 별도로 구성될 수 있으나, 이에 한정되지 않으며, 입출력 인터페이스(미도시)가 프로세서(110)에 포함되도록 구성될 수도 있다.The input/output interface (not shown) may be a means for interfacing with an input or output device (eg, keyboard, mouse, etc.) that may be connected to or included in the
통신 모듈(미도시)은 네트워크를 통해 서버(20)와 사용자 단말(100)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있다. 또한, 통신 모듈(미도시)은 사용자 단말(100)이 다른 외부 디바이스와 통신하기 위한 구성 또는 기능을 제공할 수 있다. 예를 들어, 프로세서(110)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(미도시)과 네트워크를 거쳐 서버(20) 및/또는 외부 디바이스로 전송될 수 있다.A communication module (not shown) may provide a configuration or function for the
한편, 도 2에는 도시되지 않았으나, 사용자 단말(100)은 디스플레이 장치를 더 포함할 수 있다. 또는, 사용자 단말(100)은 독립적인 디스플레이 장치와 유선 또는 무선 통신 방식으로 연결되어 상호 간에 데이터를 송수신할 수 있다.Meanwhile, although not shown in FIG. 2, the
도 3은 일 실시예에 따른 다중 카메라로부터 촬영된 복수의 이미지를 이용하여 이동체 궤적을 생성하는 방법의 일 예를 설명하기 위한 흐름도이다.FIG. 3 is a flowchart illustrating an example of a method for generating a moving object trajectory using a plurality of images captured from multiple cameras according to an embodiment.
도 3을 참조하면, 이동체 궤적을 생성하는 방법은 도 1 및 2에 도시된 사용자 단말(10, 100) 또는 프로세서(110)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 및 도 2에 도시된 사용자 단말(10, 100) 또는 프로세서(110)에 관하여 이상에서 기술된 내용은 도 3의 이동체 궤적을 생성하는 방법에도 적용될 수 있다.Referring to FIG. 3, the method for generating a moving object trajectory consists of steps processed in time series in the
310 단계에서, 프로세서(110)는 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 제1 카메라로부터 촬영된 제1 이미지 및 제2 카메라로부터 촬영된 제2 이미지 각각에 대한 호모그래피 행렬들을 산출한다.In
먼저, 프로세서(110)는 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 제1 카메라로부터 촬영된 제1 이미지 및 제2 카메라로부터 촬영된 제2 이미지를 획득한다. 다만, 프로세서(110)는 제1 카메라 및 제2 카메라에 한정되지 않고 복수의 카메라로부터 복수의 이미지를 획득할 수 있다. 일 예로서, 프로세서(110)는 적어도 하나의 추가 카메라(additional camera)로부터 촬영된 적어도 하나의 추가 이미지를 획득할 수 있다.First, the
카메라는 이미지를 촬영할 수 있는 모든 카메라를 지칭한다. 일안 반사식 카메라(single-lens reflex camera), 이안 반사식 카메라(twin-lens reflex camera), 거리계연동카메라(range finder camera), 디지털 카메라(digital camera), 비디오 카메라(video camera), 무비 카메라(movie camera), 뷰 카메라(view camera), 파노라마 카메라(panorama camera), 적외선 카메라, cctv 등이 포함될 수 있으며, 이에 제한되지 않는다. Camera refers to any camera that can take images. Single-lens reflex camera, twin-lens reflex camera, range finder camera, digital camera, video camera, movie camera ( Movie camera, view camera, panoramic camera, infrared camera, CCTV, etc. may be included, but are not limited thereto.
이미지는 카메라로부터 촬영된 것으로, 이동체를 포함한 것을 지칭한다. 이미지의 형식은 JPEG, JFIF, EXIF, IFF, GIF, BMP, PNG, PPM, PGM, PBM, PNM HEIF, BPG IMG, LIFF, NRRD, PAM, PCS, PGF, SGI, SID, TGA 등이 포함될 수 있으며, 이에 제한되지 않는다. 이미지들의 일부는 동일한 지표면이 촬영된 것일 수 있다. 이미지는 영상 이미지 또는 시리얼 이미지일 수 있으나, 이에 제한되지 않는다. 일 예로서, 제1 이미지의 일부 및 제2 이미지의 일부는 동일한 지표면이 촬영된 것 일 수 있다. 다른 예로서, 이미지는 동일한 이동체를 포함하는 시리얼 이미지일 수 있다. An image is taken from a camera and refers to something that includes a moving object. Image formats may include JPEG, JFIF, EXIF, IFF, GIF, BMP, PNG, PPM, PGM, PBM, PNM HEIF, BPG IMG, LIFF, NRRD, PAM, PCS, PGF, SGI, SID, TGA, etc. , but is not limited to this. Some of the images may be of the same land surface. The image may be a video image or a serial image, but is not limited thereto. As an example, part of the first image and part of the second image may be images of the same ground surface. As another example, the image may be a serial image containing the same moving object.
다중 카메라는 동일한 이동체를 각각 다른 위치에서 촬영하는 것일 수 있다. 다중 카메라의 위치는 제한되지 않는다. 일 예로서, 다중 카메라는 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라일 수 있다.Multiple cameras may photograph the same moving object from different locations. The positions of multiple cameras are not limited. As an example, the multiple cameras may be a first camera and a second camera that photograph the same moving object from different positions.
다중 카메라는 동일한 지표면을 서로 겹치도록 촬영할 수 있게 위치한 것일 수 있다. 일 예로서, 제1 카메라로부터 촬영된 제1 이미지의 일부와 제2 카메라로부터 촬영된 제2 이미지의 일부는 동일한 지표면을 서로 겹치도록 촬영된 것일 수 있다. 다른 예로서, 제1 카메라로부터 촬영된 제1 이미지의 일부, 제2 카메라로부터 촬영된 제2 이미지의 일부 및 제3 카메라로부터 촬영된 제3 이미지의 일부는 각각 다른 이미지의 일부와 동일한 지표면을 서로 겹치도록 촬영된 것일 수 있다.Multiple cameras may be positioned to capture images of the same ground surface overlapping each other. As an example, a portion of the first image captured by the first camera and a portion of the second image captured by the second camera may be captured so that they overlap the same ground surface. As another example, a portion of a first image captured by a first camera, a portion of a second image captured by a second camera, and a portion of a third image captured by a third camera each touch the same ground surface as the portion of the other image. It may have been filmed so that they overlap.
그리고, 프로세서(110)는 이미지들이 나타내는 지표면(earth surface)을 포함하는 지도 이미지를 생성한다. 일 예로서, 프로세서(110)는 제1 카메라로부터 촬영된 제1 이미지가 나타내는 지표면 및 제2 카메라로부터 촬영된 제2 이미지가 나타내는 지표면을 모두 포함하는 지도 이미지를 생성한다.Then, the
지표면은 이미지에 나타난 지구의 표면으로서 지도 이미지에 표현될 수 있는 모든 표면을 의미한다.The earth's surface refers to the surface of the Earth shown in the image and all surfaces that can be represented in the map image.
지도 이미지는 다중 카메라로부터 촬영된 이미지들이 나타내는 소정의 지표면을 포함하는 이미지를 지칭한다. 지도 이미지는 프로세서(110)에 의해 생성되거나, 외부 디바이스(미도시)로부터 획득되거나, 메모리로부터 획득될 수 있다. 지도 이미지의 형식이나 생성 방법은 제한되지 않는다. 일 예로서, 지도 이미지는 조감도 이미지일 수 있다. 조감도 이미지는 새가 하늘에서 아래를 내려다보듯, 높은 곳에서 지상을 내려다본 이미지를 그림으로 나타낸 것을 지칭한다. 구체적으로, 일반적으로 높은 곳에서 아래를 내려다본 시점에서 그린 이미지를 모두 포괄하여 지칭한다. 일 예로서, 지도 이미지는 이미지에 나타난 도로, 횡단보도, 도보, 보행자, 자동차 등을 나타낼 수 있으나, 이에 한정되지 않는다.A map image refers to an image containing a predetermined land surface represented by images taken from multiple cameras. The map image may be generated by the
이하, 도 4를 참조하여, 프로세서(110)가 카메라로부터 촬영된 이미지를 획득하고 이미지가 나타내는 지표면을 포함하는 지도 이미지를 생성하는 예를 설명한다.Hereinafter, with reference to FIG. 4 , an example in which the
도 4는 일 실시예에 따른 프로세서가 카메라로부터 획득한 이미지 및 이미지들이 나타내는 지표면을 포함하는 지도 이미지를 생성하는 일 예를 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating an example in which a processor according to an embodiment generates a map image including images acquired from a camera and the ground surface represented by the images.
도 4를 참조하면, 프로세서(110)는 카메라가 촬영한 ABC 사거리에 대한 이미지를 획득하고, ABC 사거리를 포함하는 지도 이미지를 생성한다. 구체적으로, 프로세서(110)는 교차로 중 한 방향에 대한 도로가 나타나 있으며, 횡단보도, 도로선 등이 나타난 이미지를 획득한다. 그리고, 프로세서(110)는 이미지에 나타난 도로, 횡단보도, 도로선 등이 표현된 지도 이미지인 조감도 이미지를 생성한다. 여기에서, 이미지 및 지도 이미지에 표현된 도로, 횡단보도, 도로선 등은 모두 동일한 객체에 대해 구도가 다르게 표현된 것에 해당된다.Referring to FIG. 4, the
다시 도 3을 참조하면, 310 단계에서, 프로세서(110)는 지표면의 위치 정보를 이용하여 이미지들 상의 좌표와 지도 이미지 상의 좌표를 대응시켜 복수의 대응점 페어들을 지정한다. 대응점 페어는 이미지 상의 좌표에 대응하는 이미지 측의 대응점과 지도 이미지 상의 좌표에 대응하는 지도 이미지 측의 대응점으로 구성된다. 일 예로서, 프로세서(110)는 도로선에 대응하는 지표면의 위치 정보를 가져와 각각의 이미지 상의 좌표와 지도 이미지 상의 좌표를 대응시켜 대응점 페어들을 지정한다. 이미지 상의 좌표와 지도 이미지 상의 좌표에 대응하는 대응점들은 도로선에 대응하는 동일한 지표면의 위치를 나타낸다.Referring again to FIG. 3, in
지표면의 위치 정보는 이미지 및 지도 이미지에 나타난 객체가 실제 위치하는 정보를 의미한다. 이미지 및 지도 이미지는 동일한 위치에 대하여 구도를 다르게 표현하지만, 각각 동일한 지표면의 위치 정보를 이용하여 대응점 페어들을 지정하여 표현할 수 있다.Location information on the earth's surface refers to information on the actual location of objects shown in images and map images. Images and map images express different compositions for the same location, but each can be expressed by specifying pairs of corresponding points using location information on the same ground surface.
이하, 도 5를 참조하여, 프로세서(110)가 지표면의 위치 정보를 이용하여 이미지들 상의 좌표와 지도 이미지 상의 좌표를 대응시켜 복수의 대응점 페어들을 지정하는 예를 설명한다.Hereinafter, with reference to FIG. 5, an example will be described in which the
도 5는 일 실시예에 따른 프로세서(110)가 지표면의 위치 정보를 이용하여 복수의 대응점 페어들을 지정하는 일 예를 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating an example in which the
도 5를 참조하면, 프로세서(110)는 횡단보도, 도로선, 중앙선의 위치 정보를 이용하여 이미지 상의 좌표와 지도 이미지 상의 좌표를 대응시켜 복수의 대응점 페어들을 지정한다. 구체적으로, 프로세서(110)는 중앙선의 위치 정보를 이용하여 동일한 장소에 대한 이미지 상의 좌표(A1)와 지도 이미지 상의 좌표(A2)를 대응시켜 대응점 페어들을 지정한다. 그리고, 프로세서(110)는 횡단보도의 위치 정보를 이용하여 동일한 장소에 대한 이미지 상의 좌표(B1)와 지도 이미지 상의 좌표(B2)를 대응시켜 대응점들을 지정한다. 마찬가지로, 프로세서(110)는 도로선의 위치 정보를 이용하여 동일한 장소에 대한 이미지 상의 좌표들(C1, D1)과 지도 이미지 상의 좌표들(C2, D2)을 대응시켜 대응점들을 지정한다.Referring to FIG. 5, the
프로세서(110)는 이미지 및 지도 이미지에 각각 적어도 하나의 대응점 페어를 지정한다. 일 예로서, 프로세서(110)는 중앙선의 위치 정보를 이용하여 동일한 장소에 대한 이미지 상의 좌표(A1)와 지도 이미지 상의 좌표(A2)를 대응시킨 대응점들로 구성되는 대응점 페어(A1, A2)를 지정한다. 다른 예로서, 프로세서(110)는 지표면의 위치 정보를 이용하여 동일한 장소 4곳에 대한 이미지 상의 좌표(A1) 및 지도 이미지 상의 좌표(A2), 이미지 상의 좌표(B1) 및 지도 이미지 상의 좌표(B2), 이미지 상의 좌표(C1) 및 지도 이미지 상의 좌표(C2), 이미지 상의 좌표(D1) 및 지도 이미지 상의 좌표(D2)를 대응시킨 대응점들로 구성되는 대응점 페어들((A1, A2), (B1, B2), (C1, C2), (D1, D2))을 지정한다.The
다시 도 3을 참조하면, 310 단계에서, 프로세서(110)는 복수의 대응점 페어들을 이용하여 제1 이미지 및 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출한다. 다만, 프로세서(110)는 제1 이미지 및 제2 이미지에 한정하지 않고, 복수의 이미지 각각에 대한 호모그래피 행렬들을 산출할 수 있다. 일 예로서, 프로세서(110)는 추가 이미지에 대한 호모그래피 행렬을 산출할 수 있다.Referring again to FIG. 3, in
호모그래피 행렬은 3차원 공간상의 평면을 서로 다른 시점에서 바라봤을 때 획득되는 영상 사이의 관계를 나타내는 행렬을 지칭한다. 일 예로서, 프로세서(110)는 제1 카메라로부터 촬영된 제1 이미지 상의 좌표와 지도 이미지 상의 좌표를 이용하여 제1 호모그래피 행렬을 산출할 수 있다. A homography matrix refers to a matrix that represents the relationship between images obtained when looking at a plane in three-dimensional space from different viewpoints. As an example, the
일 예로서, 프로세서(110)는 제1 대응점 페어들 및 제2 대응점 페어들이 지도 이미지 측의 대응점을 공유하는 경우, 제1 대응점 페어들 및 제2 대응점 페어들에 기초하여 제1 이미지 및 제2 이미지 각각에 대한 호모그래피 행렬들을 산출할 수 있다. 여기에서, 제1 이미지는 제1 대응점 페어들과 연관되고, 제2 이미지는 제2 대응점 페어들과 연관된다.As an example, when the first corresponding point pairs and the second corresponding point pairs share a corresponding point on the map image, the
다른 예로서, 프로세서(110)는 제1 대응점 페어 및 제2 대응점 페어가 지도 이미지 측의 동일한 대응점을 공유하지 않는 경우, 제1 대응점 페어 및 제2 대응점 페어에 기초하여 제1 이미지 및 제2 이미지 각각에 대한 호모그래피 행렬들을 산출할 수 있다. 여기에서, 제1 이미지는 제1 대응점 페어와 연관되고, 제2 이미지는 제2 대응점 페어와 연관된다.As another example, when the first corresponding point pair and the second corresponding point pair do not share the same corresponding point on the map image side, the
이하, 도 6a 및 도 6b를 참조하여, 프로세서(110)가 복수의 대응점 페어들을 이용하여 이미지에 대한 호모그래피 행렬(homography matrix)을 산출하는 예를 설명한다.Hereinafter, with reference to FIGS. 6A and 6B, an example in which the
도 6a는 일 실시예에 따른 프로세서가 복수의 대응점 페어들이 지도 이미지 측의 대응점을 공유하는 경우에 호모그래피 행렬들을 산출하는 일 예를 설명하기 위한 도면이다.FIG. 6A is a diagram illustrating an example in which a processor calculates homography matrices when a plurality of pairs of corresponding points share corresponding points on a map image, according to an embodiment.
도 6b는 일 실시예에 따른 프로세서가 복수의 대응점 페어들이 지도 이미지 측의 대응점을 공유하지 않는 경우에 호모그래피 행렬들을 산출하는 일 예를 설명하기 위한 도면이다.FIG. 6B is a diagram illustrating an example in which a processor calculates homography matrices when a plurality of pairs of corresponding points do not share corresponding points on the map image, according to an embodiment.
도 6a를 참조하면, 프로세서(110)는 ABC 사거리에 대한 이미지 상의 좌표들(A1, A3, B1, B3, C1, C3, D1, D3)과 지도 이미지 상의 좌표들(A2, B2, C2, D2)을 기초로 각각 대응점 페어들을 지정하고, 대응점 페어들을 이용하여 호모그래피 행렬(H1, H2)을 산출한다. 구체적으로, 프로세서(110)는 제1 이미지에 대한 호모그래피 행렬 H1을 산출함에 있어서, (A1, A2), (B1, B2), (C1, C2), (D1, D2)의 대응점 페어들을 이용한다. 그리고, 프로세서(110)는 제2 이미지에 대한 호모그래피 행렬 H2를 산출함에 있어서, (A3, A2), (B3, B2), (C3, C2), (D3, D2)의 대응점 페어들을 이용한다. 여기에서, 대응점 A2, B2, C2 및 D2는 복수의 대응점 페어들이 공유하는 지도 이미지 측의 대응점들에 해당한다. 지도 이미지 측의 대응점을 공유한다는 것은 복수의 대응점 페어들이 동일한 지도 이미지 측의 대응점을 구성으로 함을 의미한다. 즉, 제1 이미지에 연관되는 대응점 페어 (A1, A2)와 제2 이미지에 연관되는 대응점 페어 (A3, A2)는 지도 이미측의 대응점 A2를 공유한다. 프로세서(110)는 지도 이미지 측의 대응점들(A2, B2, C2, D2)을 공유하는 복수의 대응점 페어들을 이용함으로써 각각의 이미지에 대한 호모그래피 행렬(H1, H2)들을 산출한다. 따라서, 각각의 (A1, A2, A3), (B1, B2, B3), (C1, C2, C3), (D1, D2, D3)의 대응점들은 동일한 지표면 상의 위치를 표현한다.Referring to FIG. 6A, the
도 6b를 참조하면, 프로세서(110)는 ABC 사거리에 대한 이미지 상의 좌표들(A1, A3, B1, B3, C1, C3, D1, D3)과 지도 이미지 상의 좌표들(A2, A4, B2, B4, C2, C4, D2, D4)을 각각 대응점 페어들로 지정하고, 대응점 페어들을 이용하여 호모그래피 행렬(H3, H4)을 산출한다. 구체적으로, 프로세서(110)는 제1 이미지에 대한 호모그래피 행렬 H3을 산출함에 있어서, (A1, A2), (B1, B2), (C1, C2), (D1, D2)의 대응점 페어들을 이용한다. 그리고, 프로세서(110)는 제2 이미지에 대한 호모그래피 행렬 H4를 산출함에 있어서, (A3, A4), (B3, B4), (C3, C4), (D3, D4)의 대응점 페어들을 이용한다. 즉, 프로세서(110)는 지도 이미지 측의 동일한 대응점들(A2, B2, C2, D2)을 공유하지 않는 복수의 대응점 페어들을 이용함으로써 각각의 이미지에 대한 호모그래피 행렬(H3, H4)들을 산출한다. 도 6a와 달리, 각각의 (A1, A3), (B1, B3), (C1, C3), (D1, D3)는 동일한 지표면 상의 위치를 표현하지 않는다.Referring to FIG. 6B, the
여기에서 산출된 호모그래피 행렬은 지도 이미지 상에 이미지에 대응하는 영역 및 단위 궤적을 획득할 때 사용되며, 구체적인 내용은 아래에서 설명하도록 한다.The homography matrix calculated here is used when obtaining the area and unit trajectory corresponding to the image on the map image, and the specific details will be described below.
다시 도 3을 참조하면, 320 단계에서, 프로세서(110)는 지도 이미지 상에 호모그래피 행렬들을 이용하여 제1 이미지 및 제2 이미지를 원근 변환함으로써, 제1 이미지에 대응하는 제1 영역을 주행한 이동체의 제1 단위 궤적 및 제2 이미지에 대응하는 제2 영역을 주행한 이동체의 제2 단위 궤적을 획득한다.Referring again to FIG. 3, in
먼저, 프로세서(110)는 지도 이미지 상에 제1 이미지에 대응하는 제1 영역 및 제2 이미지에 대응하는 제2 영역을 지정한다. 지도 이미지 상에 복수의 이미지에 대응하는 복수의 영역을 지정하는 방법에 대해서는 통상의 방법으로 수행될 수 있으며, 제한되지 않는다. 일 예로서, 프로세서(110)는 제1 카메라로 교차로의 북쪽을 촬영한 제1 이미지를 제1 이미지에 대한 호모그래피 행렬을 이용하여 원근변환함으로써 지도 이미지 상에 제1 이미지에 대응하는 제1 영역을 지정한다. 구체적으로, 프로세서(110)는 제1 이미지의 네 모서리 좌표를 제1 이미지에 대한 호모그래피 행렬을 이용하여 원근변환함으로써 지도 이미지 상에 제1 이미지에 대응하는 제1 영역을 지정한다. 지도 이미지 상에 지정된 제1 영역은 교차로의 북쪽 영역을 나타낸다. 프로세서(110)는 제1 이미지 및 제2 이미지에 한정하지 않고, 복수의 이미지를 원근 변환함으로써 지도 이미지 상에 복수의 영역을 지정할 수 있다. 프로세서(110)는 호모그래피 행렬을 이용하여 추가 이미지를 원근 변환함으로써 지도 이미지 상에 추가 이미지에 대응하는 추가 영역을 지정할 수 있다.First, the
원근 변환은 이미지 상의 좌표와 지도 이미지 상의 좌표를 이용하여 산출한 호모그래피 행렬을 이용하여 임의의 이미지 상의 좌표를 지도 이미지 상의 좌표로 변환하는 것을 지칭한다. 일 예로서, 프로세서(110)는 제1 이미지와 지도 이미지에 지정된 대응점 페어들을 이용하여 산출한 호모그래피 행렬을 이용하여 제1 이미지에 존재하는 좌표들을 지도 이미지 상의 좌표들로 변환할 수 있다.Perspective transformation refers to converting coordinates on an arbitrary image to coordinates on a map image using a homography matrix calculated using coordinates on the image and coordinates on the map image. As an example, the
그리고, 프로세서(110)는 호모그래피 행렬들을 이용하여 제1 이미지 및 제2 이미지를 원근 변환함으로써, 제1 영역을 주행한 이동체의 제1 단위 궤적 및 제2 영역을 주행한 이동체의 제2 단위 궤적을 획득한다. 일 예로서, 프로세서(110)는 제1 이미지에 대한 호모그래피 행렬을 이용하여 제1 이미지에 포함된 이동체의 좌표를 원근 변환함으로써, 제1 영역을 주행한 이동체의 제1 단위 궤적을 획득할 수 있다. 그리고, 프로세서(110)는 제2 이미지에 대한 호모그래피 행렬을 이용하여 제2 이미지에 포함된 이동체의 좌표를 원근 변환함으로써, 제2 영역을 주행한 이동체의 제2 단위 궤적을 획득할 수 있다. 다만, 프로세서(110)는 제1 단위 궤적 및 제2 단위 궤적에 한정하지 않고, 복수의 단위 궤적들을 획득할 수 있다. 일 예로서, 프로세서(110)는 추가 이동체의 추가 단위 궤적을 획득할 수 있다.Then, the
단위 궤적은 각각의 이미지에 나타난 이동체의 좌표를 지도 이미지 상의 좌표로 원근 변환하여 생성된 궤적을 지칭한다. 프로세서(110)는 단위 궤적들을 결합하여 지도 이미지 상에 이동체 궤적을 생성한다. 최종적으로 생성되는 이동체 궤적과 구분을 하기 위해 단위 궤적이라는 용어를 사용한다. 일 예로서, 프로세서(110)는 실시간으로 이동체가 움직임에 따라 이동체의 단위 궤적을 지도 이미지 상에 시간 순서에 맞게 획득할 수 있다. 다른 예로서, 프로세서(110)는 이동체의 움직임을 담은 일정 시간동안의 영상 또는 이미지를 획득하여, 이동체의 움직임에 따른 이동체의 단위 궤적을 지도 이미지 상에 획득할 수 있다.A unit trajectory refers to a trajectory created by perspective converting the coordinates of a moving object shown in each image into coordinates on a map image. The
프로세서(110)는 지도 이미지 상의 하나의 좌표에서 시작하여 다른 하나의 좌표를 목적지로 하여 이동하는 이동체에 대하여 단위 궤적을 생성하기 때문에, 단위 궤적은 이동체의 이동 방향에 따라 획득 순서가 달라진다. 이동체의 이동 방향에 대응하여, 먼저 생성되는 단위 궤적이 있고, 먼저 생성되는 단위 궤적보다 시간차를 두며 늦게 생성되는 단위 궤적이 존재한다. 구체적으로, 이동체가 제1 영역에서 제2 영역으로 이동하는 경우에는, 제2 영역과 중복되지 않는 제1 영역에서 제1 단위 궤적이 먼저 생성된다. 그리고, 제1 영역 및 제2 영역이 중복되는 중복 영역에서부터 제2 단위 궤적이 생성된다. 즉, 이동체가 제1 영역에서 제2 영역으로 이동하는 경우, 제1 단위 궤적이 제2 단위 궤적보다 먼저 획득된다.Since the
이하, 도 7을 참조하여, 프로세서(110)가 호모그래피 행렬을 이용하여 이미지를 원근 변환함으로써, 지도 이미지 상에 이미지에 대응하는 영역을 지정하고, 영역을 주행한 이동체의 단위 궤적을 획득하는 예를 설명한다.Hereinafter, with reference to FIG. 7, an example in which the
도 7은 일 실시예에 따른 프로세서(110)가 호모그래피 행렬(H)을 이용하여 이미지에 대응하는 영역 내의 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다. FIG. 7 is a diagram illustrating an example in which the
도 7을 참조하면, 프로세서(110)는 이미지에 대응하는 영역 M을 지도 이미지 상에 지정한다. 그리고, 프로세서(110)는 이동체의 이미지 상의 좌표들(J1, J2, J3, J4, J5, J6)을 이미지에 대한 호모그래피 행렬(H)을 이용하여 각각 지도 이미지 상의 좌표들(K1, K2, K3, K4, K5, K6)로 원근 변환함으로써, 지도 이미지 상에 이동체의 단위 궤적을 획득한다. 프로세서(110)는 이동체의 이미지 상의 좌표들(J1, J2, J3, J4, J5, J6)을 복수의 이미지들로부터 획득할 수 있으나, 이에 제한되지 않는다. 도 7에서는 편의를 위해 이동체의 이미지 상의 좌표들 6개 및 지도 이미지 상의 좌표들 6개로 표현하였지만, 원근 변환할 수 있는 좌표의 수는 제한되지 않는다.Referring to FIG. 7, the
다시 도 3을 참조하면, 330 단계에서, 프로세서(110)는 제1 영역 및 제2 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성한다. 여기에서, 결합 궤적은 복수의 이미지에 대응하는 각각의 영역들이 중복되는 중복 영역에 포함되는 각각의 단위 궤적의 적어도 일부를 하나로 결합한 궤적을 지칭한다.Referring again to FIG. 3, in
일 예로서, 대응점 페어들이 지도 이미지 측의 대응점을 공유하는 경우, 프로세서(110)는 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 만든 선분을 이용함으로써 단위 궤적들을 결합한다. 구체적으로, 복수의 대응점들을 연결하여 만든 선분과 단위 궤적들이 교차하여 생긴 교차점들을 기준으로 단위 궤적들을 결합한다. 프로세서(110)는 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 선분을 만들고, 선분을 단위 궤적들과 교차하여 교차점들을 생성한다. 그리고, 프로세서(110)는 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 만든 선분을 이용함으로써 단위 궤적들을 결합한다. 일 예로서, 프로세서(110)는 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 만든 선분과 단위 궤적들이 교차하여 생긴 교차점들을 기준으로 단위 궤적들을 결합한다. 다른 예로서, 프로세서(110)는 교차점들을 연결하여 만든 선분을 결합 궤적의 일부로 포함시키거나, 결합 궤적을 생성하는 기준선으로 사용하여 단위 궤적들을 결합한다. 또 다른 예로서, 프로세서(110)는 교차점들을 기준으로 평활화 작업을 통해 결합 궤적을 생성한다. 평활화 작업은 통상적인 방법으로 수행될 수 있으며, 제한되지 않는다. 단위 궤적들을 결합하기 위하여, 프로세서(110)는 복수의 대응점들을 서로 연결하여 만든 선분이 단위 궤적들과 교차하도록 지정할 수 있다. 동일한 이동체를 각각 다른 이미지들로부터 원근변환함으로써 단위 궤적들을 획득하는 경우, 동일한 이동체에 대한 단위 궤적이더라도 지도 이미지 상에서 완벽히 일치하지 않고 소정의 오차가 존재할 수 있다. 본 발명은 단위 궤적을 획득하는 단계에서, 지도 이미지 측의 동일한 대응점을 공유하는 대응점 페어들을 이용하여 호모그래피 행렬을 산출하고, 산출된 호모그래피 행렬을 이용하여 단위 궤적을 획득하고, 복수의 공유된 대응점들을 연결하여 만든 선분을 이용하여 결합 궤적을 생성하므로, 단위 궤적들의 오차를 줄일 수 있다는 효과를 가진다.As an example, when pairs of corresponding points share corresponding points on the map image side, the
다른 예로서, 프로세서(110)는 단위 궤적들이 지도 이미지 상에 획득되는 순서를 고려하여 먼저 획득된 단위 궤적을 기준으로 하여 단위 궤적들을 결합할 수 있다. 구체적으로, 프로세서(110)는 중복 영역에 존재하는 복수의 단위 궤적에 대하여, 먼저 생성된 단위 궤적을 유지하고, 나머지 단위 궤적들을 중복 영역에서 제거함으로써 결합 궤적을 생성할 수 있다.As another example, the
또 다른 예로서, 프로세서(110)는 중복 영역에 존재하는 3개 이상의 단위 궤적들에 대하여, 가장 바깥쪽 궤적들의 중간 지점에서 가장 가까운 단위 궤적을 기준으로 단위 궤적들을 결합할 수 있다. 일 예로서, 프로세서(110)는 중복 영역에 존재하는 3개 이상의 단위 궤적들에 대하여, 동일한 시점에서의 각각의 이동체의 좌표의 평균값을 가지는 좌표와 가장 가까운 단위 궤적을 유지하고, 나머지 단위 궤적들을 중복 영역에서 제거함으로써 결합 궤적을 생성할 수 있다. 다른 예로서, 프로세서(110)는 중복 영역에 존재하는 3개 이상의 단위 궤적들에 대하여, 동일한 시점에서의 가장 바깥쪽 궤적들의 각각의 이동체의 좌표의 평균값을 가지는 좌표와 가장 가까운 단위 궤적을 유지하고, 나머지 단위 궤적들을 중복 영역에서 제거함으로써 결합 궤적을 생성할 수 있다.As another example, the
다만, 프로세서(110)는 제1 단위 궤적 및 제2 단위 궤적에 한정하지 않고, 3개 이상의 복수의 단위 궤적들을 결합하여 결합 궤적을 생성할 수 있다. 일 예로서, 프로세서(110)는 제1 단위 궤적의 일부, 제2 단위 궤적의 일부 및 제3 단위 궤적의 일부를 결합하여 결합 궤적을 생성할 수 있다.However, the
프로세서(110)는 3개 이상의 복수의 단위 궤적들에 대하여, 유클리드 거리를 이용하여 단위 궤적들 중에서 결합 궤적을 생성하기 위한 복수의 후보 단위 궤적들을 선택한다. 일 예로서, 프로세서(110)는 3개 이상의 복수의 단위 궤적들에 대하여, 유클리드 거리가 일정 거리 이내인 복수의 단위 궤적들을 후보 단위 궤적들로 선택할 수 있으나, 이에 한정되지 않는다. 일정 거리는 이동체의 속도, 카메라의 개수 등을 고려하여 결정될 수 있다.The
프로세서(110)는 후보 단위 궤적들이 3개 이상인 경우에는, 후보 단위 궤적들 중 가장 바깥쪽 궤적들의 중간 지점에서 가장 가까운 후보 단위 궤적을 기준으로 후보 단위 궤적들을 결합한다. 일 예로서, 프로세서(110)는 후보 단위 궤적들이 3개 이상인 경우에는, 일정 시점에서 가장 바깥쪽 궤적들의 중간 지점에서 가장 가까운 후보 단위 궤적을 기준으로 후보 단위 궤적들을 결합할 수 있으나, 이에 한정되지 않는다.When there are three or more candidate unit trajectories, the
그리고, 프로세서(110)는 제1 단위 궤적, 제2 단위 궤적 및 결합 궤적에 기초한 이동체 궤적을 결정한다. 일 예로서, 프로세서(110)는 제1 단위 궤적, 제2 단위 궤적 및 결합 궤적에 기초하여 궤적들을 평활화하는 작업을 수행하여 이동체 궤적을 결정한다. 평활화 작업은 통상적인 방법에 의해 수행될 수 있으며, 제한되지 않는다. 동일한 이동체에 대한 결합 궤적을 생성하고, 복수의 단위 궤적들 및 결합 궤적에 기초하여 이동체 궤적을 결정하는 구체적인 내용은 아래에서 도 8 내지 도 18을 참조하여 설명하도록 한다.Then, the
이동체 궤적은 중복 영역에서의 결합 궤적과 중복되지 않은 영역에 포함된 각각의 단위 궤적에 기초하여 결정한 단일의 이동체 궤적을 의미한다. 다중 카메라로 촬영한 단일 공간에 존재하는 이동체의 궤적을 통합적으로 추적한 단일의 이동체 궤적을 제공할 수 있다는 효과가 있다. 또한, 단일 카메라로는 추적할 수 없는 공간에 대하여, 다중 카메라를 사용함으로써 공간의 제약없이 단일의 이동체의 궤적을 제공할 수 있다는 효과가 있다.The moving object trajectory refers to a single moving object trajectory determined based on the combined trajectory in the overlapping area and each unit trajectory included in the non-overlapping area. It has the effect of providing a single moving object trajectory that comprehensively tracks the trajectory of a moving object existing in a single space captured by multiple cameras. Additionally, for spaces that cannot be tracked with a single camera, the use of multiple cameras has the effect of providing the trajectory of a single moving object without spatial constraints.
이하, 도 8 내지 도 18을 참조하여, 프로세서(110)가 복수의 영역이 중복되는 중복 영역에 포함되는 복수의 단위 궤적의 일부를 결합하여 결합 궤적을 생성하고, 복수의 단위 궤적 및 결합 궤적에 기초한 이동체 궤적을 결정하는 예를 설명한다. 도 8 내지 도 18은 일 실시예에 따른 프로세서(110)가 전술한 방법에 의하여 생성한 지도 이미지의 일 예를 설명하기 위한 도면들이다.Hereinafter, with reference to FIGS. 8 to 18, the
먼저, 도 8 내지 도 11을 참조하여, 프로세서(110)가 제1 영역 및 제2 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성하고, 제1 단위 궤적, 제2 단위 궤적 및 결합 궤적에 기초한 이동체 궤적을 결정하는 예를 설명한다.First, with reference to FIGS. 8 to 11, the
도 8은 일 실시예에 따른 프로세서(110)가 제1 영역 및 제2 영역에 존재하는 제1 단위 궤적 및 제2 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다.FIG. 8 is a diagram illustrating an example in which the
프로세서(110)는 교차로의 서쪽 부분을 촬영한 제1 이미지에 대응하는 제1 영역 및 교차로의 남쪽 부분을 촬영한 제2 이미지에 대응하는 제2 영역을 지도 이미지 상에 지정한다. 제1 영역은 제1 단위 궤적(L1)의 일부만이 존재하는 M1 영역 및 제1 단위 궤적(L1)의 일부와 제2 단위 궤적(L2)의 일부가 존재하는 중복 영역(M3)으로 구성된다. 제2 영역은 제2 단위 궤적(L2)의 일부만이 존재하는 M2 영역 및 제1 단위 궤적(L1)의 일부와 제2 단위 궤적(L2)의 일부가 존재하는 중복 영역(M3)으로 구성된다.The
그리고, 프로세서(110)는 제1 영역에 존재하는 제1 단위 궤적(L1) 및 제2 영역에 존재하는 제2 단위 궤적(L2)을 획득한다. 이때, 제1 영역과 제2 영역이 중복되는 중복 영역(M3)에는 제1 단위 궤적(L1)의 일부와 제2 단위 궤적(L2)의 일부가 공존하게 된다. 이로 인해, 단일의 이동체 궤적을 생성하기 위해서는 중복 영역(M3)에서의 제1 단위 궤적(L1) 및 제2 단위 궤적(L2)을 결합하는 단계가 필요하다. 결합하는 단계의 구체적인 내용에 대해서는 아래의 도 9에서 설명하도록 한다.Then, the
도 9는 일 실시예에 따른 프로세서(110)가 중복 영역(M3)에서 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.FIG. 9 is a diagram illustrating an example in which the
도 9를 참조하면, 프로세서(110)는 중복 영역(M3)에 존재하는 제1 단위 궤적(L1)의 일부와 제2 단위 궤적(L2)의 일부를 결합한다. 구체적으로, 프로세서(110)는 지도 이미지 상에 먼저 생성된 제1 단위 궤적(L1)을 중복 영역(M3)에 유지시키고, 지도 이미지 상에 나중에 생성된 제2 단위 궤적(L2)은 중복 영역(M3)에서 제거함으로써 결합 궤적을 생성한다.Referring to FIG. 9, the
도 10은 일 실시예에 따른 프로세서(110)가 중복 영역이 아닌 영역에서 제1 단위 궤적 및 제2 단위 궤적을 선택하는 일 예를 설명하기 위한 도면이다.FIG. 10 is a diagram illustrating an example in which the
도 10을 참조하면, 프로세서(110)는 중복 영역이 아닌 제1 영역(M1)에서는 제1 단위 궤적(L1)을 선택하고, 중복 영역이 아닌 제2 영역(M2)에서는 제2 단위 궤적(L2)을 선택한다. Referring to FIG. 10, the
도 11은 일 실시예에 따른 프로세서(110)가 도 9에서 생성한 결합 궤적 및 도 10에서 선택한 제1 단위 궤적과 제2 단위 궤적을 기초로 이동체 궤적을 결정하는 일 예를 설명하기 위한 도면이다.FIG. 11 is a diagram illustrating an example in which the
프로세서(110)는 중복 영역이 아닌 제1 영역(M1)에서의 제1 단위 궤적, 중복 영역이 아닌 제2 영역(M2)에서의 제2 단위 궤적 및 중복 영역(M3)에서의 결합 궤적을 종합하여 이동체 궤적을 생성한다. 프로세서(110)는 다중 카메라로 촬영한 단일 공간에 존재하는 단일의 이동체의 궤적을 생성하다.The
도 12는 일 실시예에 따른 프로세서가 중복 영역에서 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성하는 다른 예를 설명하기 위한 도면이다.FIG. 12 is a diagram illustrating another example in which a processor according to an embodiment generates a combined trajectory by combining a part of a first unit trajectory and a part of a second unit trajectory in an overlapping area.
프로세서(110)는 복수의 공유된 대응점(D1, D2)들을 연결하여 만든 선분과 제1 단위 궤적(L1)과 제2 단위 궤적(L2)과 교차하여 생긴 교차점들(E1, E2)을 이용하여 제1 단위 궤적(L1)의 일부 및 제2 단위 궤적(L2)의 일부를 결합할 수 있다. 본 발명은 다중 카메라로부터 촬영된 이미지들로부터 원근변환함으로써 획득된 복수의 단위 궤적들의 오차의 범위를 줄일 수 있다는 효과를 가진다.The
그리고, 도 13 내지 도 18을 참조하여, 프로세서(110)가 제1 영역, 제2 영역 및 제3 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적의 일부, 제2 단위 궤적의 일부 및 제3 단위 궤적의 일부를 결합하여 결합 궤적을 생성하고, 제1 단위 궤적, 제2 단위 궤적, 제3 단위 궤적 및 결합 궤적에 기초한 이동체 궤적을 결정하는 예를 설명한다.And, with reference to FIGS. 13 to 18, the
도 13는 일 실시예에 따른 프로세서(110)가 제1 영역, 제2 영역 및 제3 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적, 제2 단위 궤적 및 제3 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다.FIG. 13 shows the
프로세서(110)는 교차로의 서쪽 부분을 촬영한 제1 이미지에 대응하는 제1 영역, 교차로의 남쪽 부분을 촬영한 제2 이미지에 대응하는 제2 영역 및 교차로의 북동쪽 부분을 촬영한 제3 이미지에 대응하는 제3 영역을 지도 이미지 상에 지정한다.The
그리고, 프로세서(110)는 제1 영역에 존재하는 제1 단위 궤적(L1), 제2 영역에 존재하는 제2 단위 궤적(L2) 및 제3 영역에 존재하는 제3 단위 궤적(L3)을 획득한다. 이때, 제1 영역과 제3 영역이 중복되는 중복 영역(M4)에는 제1 단위 궤적(L1)의 일부와 제3 단위 궤적(L3)의 일부가 공존한다. 그리고, 제1 영역, 제2 영역 및 제3 영역이 중복되는 중복 영역(M3)에는 제1 단위 궤적(L1)의 일부, 제2 단위 궤적(L2)의 일부 및 제3 단위 궤적(L3)의 일부가 공존한다. 마찬가지로, 제2 영역 및 제3 영역이 중복되는 중복 영역(M5)에는 제2 단위 궤적(L2)의 일부 및 제3 단위 궤적(L3)의 일부가 공존한다. 단일의 이동체 궤적을 생성하기 위해서는 중복 영역들(M3, M4, M5)에서의 제1 단위 궤적, 제2 단위 궤적 및 제3 단위 궤적을 결합하는 단계가 필요하다. 결합하는 단계의 구체적인 내용에 대해서는 아래의 도 14 내지 도 16에서 설명하도록 한다.And, the
도 14은 일 실시예에 따른 프로세서(110)가 제1 영역 및 제3 영역이 중복되는 영역에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.FIG. 14 is a diagram illustrating an example in which the
프로세서(110)는 제1 영역 및 제3 영역이 중복되는 중복 영역(M4)에서 제1 단위 궤적의 일부 및 제3 단위 궤적의 일부를 결합하여 결합 궤적을 생성한다. 구체적으로, 프로세서(110)는 제1 단위 궤적(L1) 및 제3 단위 궤적(L3) 중에서 지도 이미지 상에 먼저 생성된 제1 단위 궤적(L1)의 일부를 중복 영역(M4)에서 유지시키고, 제3 단위 궤적(L3)의 일부는 중복 영역(M4)에서 제거함으로써 결합 궤적을 생성한다.The
도 15는 일 실시예에 따른 프로세서(110)가 제1 영역, 제2 영역 및 제3 영역이 중복되는 영역(M3)에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.FIG. 15 is a diagram illustrating an example in which the
도 15를 참조하면, 프로세서(110)는 제1 영역, 제2 영역 및 제3 영역이 중복되는 중복 영역(M3)에서 제1 단위 궤적(L1)의 일부, 제2 단위 궤적(L2)의 일부 및 제3 단위 궤적(L3)의 일부를 결합하여 결합 궤적을 생성한다. 구체적으로, 프로세서(110)는 중복 영역(M3)에 존재하는 단위 궤적들에 대하여, 각각의 이동체의 좌표의 평균값을 가지는 좌표와 가장 가까운 단위 궤적인 제1 단위 궤적(L1)의 일부를 유지하고, 나머지 단위 궤적들의 일부를 중복 영역(M3)에서 제거함으로써 결합 궤적을 생성한다.Referring to FIG. 15, the
도 16는 일 실시예에 따른 프로세서(110)가 제2 영역 및 제3 영역이 중복되는 영역(M5)에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.FIG. 16 is a diagram illustrating an example in which the
도 16를 참조하면, 프로세서(110)는 제2 영역 및 제3 영역이 중복되는 중복 영역(M5)에서 제2 단위 궤적(L2)의 일부 및 제3 단위 궤적(L3)의 일부를 결합하여 결합 궤적을 생성한다. 구체적으로, 프로세서(110)는 제2 단위 궤적(L2)의 일부 및 제3 단위 궤적(L3)의 일부 중에서 지도 이미지 상에 먼저 생성된 제3 단위 궤적(L3)의 일부를 중복 영역(M5)에서 유지시키고, 제2 단위 궤적(L2)의 일부는 중복 영역(M5)에서 제거함으로써 결합 궤적을 생성한다.Referring to FIG. 16, the
도 17은 일 실시예에 따른 프로세서(110)가 중복 영역이 아닌 영역에서 제1 단위 궤적 및 제2 단위 궤적을 선택하는 일 예를 설명하기 위한 도면이다.FIG. 17 is a diagram illustrating an example in which the
도 17을 참조하면, 프로세서(110)는 중복 영역이 아닌 제1 영역(M1)에서는 제1 단위 궤적(L1)의 일부를 선택하고, 중복 영역이 아닌 제2 영역(M2)에서는 제2 단위 궤적(L2)의 일부를 선택한다.Referring to FIG. 17, the
도 18은 일 실시예에 따른 프로세서(110)가 도 14 내지 도 16에서 생성한 결합 궤적 및 도 17에서 선택한 제1 단위 궤적과 제2 단위 궤적을 기초로 이동체 궤적을 결정하는 일 예를 설명하기 위한 도면이다.FIG. 18 illustrates an example in which the
도 18을 참조하면, 프로세서(110)는 중복 영역이 아닌 제1 영역(M1)에서의 제1 단위 궤적, 중복 영역이 아닌 제2 영역(M2)에서의 제2 단위 궤적 및 중복 영역들(M3, M4, M5)에서의 결합 궤적을 종합하여 이동체 궤적을 생성한다. 프로세서(110)는 다중 카메라로 촬영한 단일 공간에 존재하는 단일의 이동체의 궤적을 생성하다.Referring to FIG. 18, the
상술한 바에 따르면, 프로세서(110)는 다중 카메라를 이용한 이동체 궤적을 생성한다. 사용자(30)는 단일 카메라로는 추적할 수 없는 공간을 다중 카메라를 사용함으로써 공간의 제약없이 이동체 궤적을 확인할 수 있다.As described above, the
한편, 상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 램, USB, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.Meanwhile, the above-described method can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. Additionally, the data structure used in the above-described method can be recorded on a computer-readable recording medium through various means. The computer-readable recording media includes storage media such as magnetic storage media (e.g., ROM, RAM, USB, floppy disk, hard disk, etc.) and optical read media (e.g., CD-ROM, DVD, etc.) do.
본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하며, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점을 포함하는 것으로 해석되어야 할 것이다.Those skilled in the art related to the present embodiment will understand that the above-described substrate can be implemented in a modified form without departing from the essential characteristics. Therefore, the disclosed methods should be considered from an explanatory rather than a limiting perspective, and the scope of rights is indicated in the claims, not the foregoing description, and should be interpreted to include all differences within the equivalent scope.
Claims (10)
동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 상기 제1 카메라로부터 촬영된 제1 이미지 및 상기 제2 카메라로부터 촬영된 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출하는 단계;
지도 이미지 상에 상기 호모그래피 행렬들을 이용하여 상기 제1 이미지 및 상기 제2 이미지를 원근 변환함으로써, 상기 제1 이미지에 대응하는 제1 영역을 주행한 상기 이동체의 제1 단위 궤적 및 상기 제2 이미지에 대응하는 제2 영역을 주행한 상기 이동체의 제2 단위 궤적을 획득하는 단계; 및
상기 제1 영역 및 상기 제2 영역이 중복되는 중복 영역에 포함되는 상기 제1 단위 궤적의 적어도 일부 및 상기 제2 단위 궤적의 적어도 일부를 결합하여 동일한 이동체에 대한 결합 궤적을 생성하는 단계;를 포함하고,
상기 결합 궤적을 생성하는 단계는,
상기 각각 산출된 호모그래피 행렬들이 상기 지도 이미지 측의 동일한 대응점을 공유하여 산출된 경우, 상기 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 만든 선분과 상기 단위 궤적들이 교차하여 생긴 교차점들을 기준으로 상기 단위 궤적들을 결합하는 단계;를 포함하는, 이동체 궤적 생성 방법.In a method of generating a moving object trajectory using multiple cameras,
For a first camera and a second camera that capture the same moving object at different positions, a homography matrix for each of the first image captured by the first camera and the second image captured by the second camera. calculating them;
By perspective converting the first image and the second image using the homography matrices on a map image, the first unit trajectory and the second image of the moving object traveling in the first area corresponding to the first image acquiring a second unit trajectory of the moving object traveling in a second area corresponding to; and
Generating a combined trajectory for the same moving object by combining at least a part of the first unit trajectory and at least a part of the second unit trajectory included in an overlapping area where the first area and the second area overlap; comprising: do,
The step of generating the binding trajectory is,
When each of the calculated homography matrices is calculated by sharing the same corresponding points on the map image, the unit trajectories intersect with a line segment created by connecting a plurality of shared corresponding points on the map image. A method of generating moving object trajectories, including the step of combining unit trajectories.
상기 제1 단위 궤적, 상기 제2 단위 궤적 및 상기 결합 궤적에 기초한 이동체 궤적을 결정하는 단계;를 더 포함하는, 이동체 궤적 생성 방법.According to claim 1,
A method for generating a moving object trajectory, further comprising: determining a moving object trajectory based on the first unit trajectory, the second unit trajectory, and the combined trajectory.
상기 이미지들의 일부는 동일한 지표면이 촬영된 것을 특징으로 하는, 이동체 궤적 생성 방법.According to claim 1,
A method of generating a moving object trajectory, characterized in that some of the images are of the same ground surface.
적어도 하나의 프로세서;를 포함하고,
상기 적어도 하나의 프로세서는,
동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 상기 제1 카메라로부터 촬영된 제1 이미지 및 상기 제2 카메라로부터 촬영된 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출하고,
지도 이미지 상에 상기 호모그래피 행렬들을 이용하여 상기 제1 이미지 및 상기 제2 이미지를 원근 변환함으로써, 상기 제1 이미지에 대응하는 제1 영역을 주행한 상기 이동체의 제1 단위 궤적 및 상기 제2 이미지에 대응하는 제2 영역을 주행한 상기 이동체의 제2 단위 궤적을 획득하고,
상기 제1 영역 및 상기 제2 영역이 중복되는 중복 영역에 포함되는 상기 제1 단위 궤적의 적어도 일부 및 상기 제2 단위 궤적의 적어도 일부를 결합하여 동일한 이동체에 대한 결합 궤적을 생성하는 것이고,
상기 결합 궤적을 생성하는 것은,
상기 각각 산출된 호모그래피 행렬들이 상기 지도 이미지 측의 동일한 대응점을 공유하여 산출된 경우, 상기 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 만든 선분과 상기 단위 궤적들이 교차하여 생긴 교차점들을 기준으로 상기 단위 궤적들을 결합하는 것인, 컴퓨팅 장치.at least one memory; and
At least one processor;
The at least one processor,
For a first camera and a second camera that capture the same moving object at different positions, a homography matrix for each of the first image captured by the first camera and the second image captured by the second camera. calculate them,
By perspective converting the first image and the second image using the homography matrices on a map image, the first unit trajectory and the second image of the moving object traveling in the first area corresponding to the first image Obtaining a second unit trajectory of the moving object traveling in the second area corresponding to
Generating a combined trajectory for the same moving object by combining at least a part of the first unit trajectory and at least a part of the second unit trajectory included in an overlapping area where the first area and the second area overlap,
Creating the binding trajectory is,
When each of the calculated homography matrices is calculated by sharing the same corresponding points on the map image, the unit trajectories intersect with a line segment created by connecting a plurality of shared corresponding points on the map image. A computing device that combines unit trajectories.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220117029A KR102576587B1 (en) | 2022-09-16 | 2022-09-16 | A method and apparatus for generating a moving object trajectory using multiple cameras |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220117029A KR102576587B1 (en) | 2022-09-16 | 2022-09-16 | A method and apparatus for generating a moving object trajectory using multiple cameras |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102576587B1 true KR102576587B1 (en) | 2023-09-11 |
Family
ID=88020230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220117029A KR102576587B1 (en) | 2022-09-16 | 2022-09-16 | A method and apparatus for generating a moving object trajectory using multiple cameras |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102576587B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011021588A1 (en) * | 2009-08-20 | 2011-02-24 | 日本電気株式会社 | Mobile body trajectory identification system |
JP2021536649A (en) * | 2018-08-29 | 2021-12-27 | アブラムーブ、アレクサンダー ブラデミロビックABRAMOV, Aleksandr Vladimirovich | How to Build a Video Surveillance System for Target Detection and Tracking |
KR20220062857A (en) | 2020-11-09 | 2022-05-17 | 건국대학교 산학협력단 | Trajectory prediction method and apparatus |
-
2022
- 2022-09-16 KR KR1020220117029A patent/KR102576587B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011021588A1 (en) * | 2009-08-20 | 2011-02-24 | 日本電気株式会社 | Mobile body trajectory identification system |
JP2021536649A (en) * | 2018-08-29 | 2021-12-27 | アブラムーブ、アレクサンダー ブラデミロビックABRAMOV, Aleksandr Vladimirovich | How to Build a Video Surveillance System for Target Detection and Tracking |
KR20220062857A (en) | 2020-11-09 | 2022-05-17 | 건국대학교 산학협력단 | Trajectory prediction method and apparatus |
Non-Patent Citations (1)
Title |
---|
Jinyeong Heo et al., ‘3D Vehicle Trajectory Extraction Using DCNN in an Overlapping Multi-Camera Crossroad Scene’, Sensors 2021, 21, 7879, November 2021.* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2016349518B2 (en) | Edge-aware bilateral image processing | |
US11816907B2 (en) | Systems and methods for extracting information about objects from scene information | |
Sattler et al. | Benchmarking 6dof outdoor visual localization in changing conditions | |
US11074701B2 (en) | Interior photographic documentation of architectural and industrial environments using 360 panoramic videos | |
Maddern et al. | 1 year, 1000 km: The oxford robotcar dataset | |
US10854006B2 (en) | AR-enabled labeling using aligned CAD models | |
Mattyus et al. | Enhancing road maps by parsing aerial images around the world | |
US9736451B1 (en) | Efficient dense stereo computation | |
WO2019184709A1 (en) | Data processing method and device based on multi-sensor fusion, and multi-sensor fusion method | |
CN102906790B (en) | Image information processing device | |
CN101163940B (en) | Imaging position analyzing method | |
KR102472767B1 (en) | Method and apparatus of calculating depth map based on reliability | |
CN106471549B (en) | 360-degree core photographic image integration and interpretation in three-dimensional petrophysical modeling environment | |
US11482009B2 (en) | Method and system for generating depth information of street view image using 2D map | |
US11610409B2 (en) | Systems and methods for computer-based labeling of sensor data captured by a vehicle | |
US20150371396A1 (en) | Constructing a 3d structure | |
CN113096003B (en) | Labeling method, device, equipment and storage medium for multiple video frames | |
Agisoft | Metashape python reference | |
KR102576587B1 (en) | A method and apparatus for generating a moving object trajectory using multiple cameras | |
KR20200052206A (en) | Plenoptic image processing apparatus, system having the same, and object segmentation method thereof | |
US11443477B2 (en) | Methods and systems for generating a volumetric two-dimensional representation of a three-dimensional object | |
JP2022507716A (en) | Surveying sampling point planning method, equipment, control terminal and storage medium | |
Porzi et al. | An automatic image-to-DEM alignment approach for annotating mountains pictures on a smartphone | |
Barra et al. | Can Existing 3D Monocular Object Detection Methods Work in Roadside Contexts? A Reproducibility Study | |
KR101611789B1 (en) | Road surface visualization by motion parameter analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |