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 PDF

Info

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
Application number
KR1020220117029A
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 KR1020220117029A priority Critical patent/KR102576587B1/en
Application granted granted Critical
Publication of KR102576587B1 publication Critical patent/KR102576587B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/0031Geometric image transformation in the plane of the image for topological mapping of a higher dimensional structure on a lower dimensional surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

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

다중 카메라를 이용한 이동체 궤적 생성 방법 및 장치 {A METHOD AND APPARATUS FOR GENERATING A MOVING OBJECT TRAJECTORY USING MULTIPLE CAMERAS}Method and device for generating moving object trajectories using multiple cameras {A METHOD AND APPARATUS FOR GENERATING A MOVING OBJECT TRAJECTORY USING MULTIPLE CAMERAS}

다중 카메라를 이용한 이동체 궤적 생성 방법 및 장치에 관한다.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.

국내 공개특허공보 제10-2022-0062857호(2022.05.17)Domestic Patent Publication No. 10-2022-0062857 (May 17, 2022)

다중 카메라를 이용한 이동체 궤적 생성 방법 및 장치를 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.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, system 1 includes a user terminal 10 and a server 20. For example, the user terminal 10 and the server 20 may be connected through wired or wireless communication to transmit and receive data (for example, images taken from a camera, etc.) between them.

설명의 편의를 위하여, 도 1에는 시스템(1)에 사용자 단말(10) 및 서버(20)가 포함되는 것으로 도시하였으나, 이에 한정되지 않는다. 예를 들어, 시스템(1)에는 다른 외부 디바이스(미도시)가 포함될 수 있으며, 이하에서 설명될 사용자 단말(10) 및 서버(20)의 동작이 단일 디바이스(예를 들어, 사용자 단말(10) 또는 서버(20))에 의하여 구현될 수도 있다.For convenience of explanation, FIG. 1 shows that the system 1 includes a user terminal 10 and a server 20, but the system 1 is not limited thereto. For example, the system 1 may include other external devices (not shown), and the operations of the user terminal 10 and the server 20, which will be described below, may be performed using a single device (e.g., the user terminal 10). Alternatively, it may be implemented by the server 20).

사용자 단말(10)은 디스플레이 장치 및 사용자 입력을 수신하는 장치(예를 들어, 키보드, 마우스 등)를 구비하고, 메모리와 프로세서를 포함하는 컴퓨팅 장치일 수 있다. 예를 들어, 사용자 단말(10)은 노트북(notebook) PC, 데스크탑(desktop) PC, 랩탑(laptop), 테블릿 컴퓨터(tablet computer), 스마트 폰 등이 해당될 수 있으나, 이에 한정되지 않는다.The user terminal 10 may be a computing device that includes a display device and a device that receives user input (eg, a keyboard, a mouse, etc.), and includes memory and a processor. For example, the user terminal 10 may include a laptop PC, desktop PC, laptop, tablet computer, smart phone, etc., but is not limited thereto.

서버(20)는 사용자 단말(10)을 포함하여 외부 디바이스(미도시)와 통신하는 장치일 수 있다. 예를 들어, 서버(20)는 적어도 하나의 카메라로부터 촬영된 적어도 하나의 이미지, 지표면의 위치 정보를 포함하여 다양한 데이터를 저장하는 장치일 수 있고, 경우에 따라 자체적인 연산 능력을 갖춘 장치일 수 있다. 예를 들어, 서버(20)는 클라우드(cloud) 서버일 수도 있으나, 이에 한정되지 않는다.The server 20 may be a device that communicates with external devices (not shown), including the user terminal 10. For example, the server 20 may be a device that stores various data, including at least one image taken from at least one camera and location information on the earth's surface, and in some cases, may be a device with its own computing capabilities. there is. For example, the server 20 may be a cloud server, but is not limited thereto.

사용자 단말(10)은 다중 카메라로부터 촬영된 복수의 이미지에 포함된 동일한 객체에 대하여 각각의 이미지에 대응하는 이동체 단위 궤적을 획득하고, 이동체 단위 궤적들을 결합하여 단일의 이동체 궤적을 생성한다.The user terminal 10 obtains a moving object unit trajectory corresponding to each image of the same object included in a plurality of images taken from multiple cameras, and combines the moving object unit trajectories to generate a single moving object trajectory.

이동체 궤적은 동일한 이동체를 각각 다른 위치에서 촬영하는 다중 카메라로부터 촬영된 복수의 이미지로부터 각 이미지에 대응하는 영역의 단위 궤적을 획득하고, 생성한 단위 객체들을 결합하여 생성한 단일의 이동체 궤적을 지칭한다. 일 예로서, 이동체 궤적은 교차로에 배치된 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 system 1 according to an embodiment acquires a moving object unit trajectory corresponding to each image of the same object included in a plurality of images taken from multiple cameras, and combines the moving object unit trajectories to generate a single moving object trajectory. do. Specifically, the user terminal 10 records the first camera and the second camera that capture the same moving object at different positions, respectively, the first image captured by the first camera and the second image captured by the second camera. By calculating homography matrices and perspective converting the first image and the second image using the homography matrices on the map image, the first unit of the moving object traveled in the first area corresponding to the first image. Acquire a second unit trajectory of a moving object traveling in a second area corresponding to the trajectory and the second image, and at least a portion of the first unit trajectory and a second unit included in an overlapping area where the first area and the second area overlap. At least part of the trajectories are combined to generate a combined trajectory for the same moving object. The user 30 can check information on a single trajectory for the same moving object shown in a plurality of images captured from multiple cameras.

이하, 도 2 내지 도 18을 참조하여, 사용자 단말(10)이 다중 카메라로부터 촬영된 복수의 이미지에 포함된 동일한 객체에 대하여 각각의 이미지에 대응하는 이동체의 단위 궤적을 획득하고, 이동체 단위 궤적들을 결합하여 단일의 이동체 궤적을 결정하는 예들을 설명한다. 한편, 도 2 내지 도 18을 참조하여 후술할 동작은 서버(20)에서 수행될 수도 있음은 도 1을 참조하여 상술한 바와 같다.Hereinafter, with reference to FIGS. 2 to 18, the user terminal 10 acquires unit trajectories of moving objects corresponding to each image for the same object included in a plurality of images captured from multiple cameras, and determines the moving object unit trajectories. Examples of combining to determine a single moving object trajectory are explained. Meanwhile, as described above with reference to FIG. 1, operations to be described later with reference to FIGS. 2 to 18 may be performed in the server 20.

도 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 user terminal 100 includes a processor 110 and a memory 120. For convenience of explanation, only components related to the present invention are shown in Figure 2. In addition to the components shown in FIG. 2, other general-purpose components may be further included in the user terminal 100. As an example, the user terminal 100 may include an input/output interface (not shown) and/or a communication module (not shown). Additionally, it is obvious to those skilled in the art that the processor 110 and memory 120 shown in FIG. 2 may be implemented as independent devices.

프로세서(110)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리할 수 있다. 여기에서, 명령은 메모리(120) 또는 외부 장치(예를 들어, 서버(20) 등)로부터 제공될 수 있다. 또한, 프로세서(110)는 사용자 단말(100)에 포함된 다른 구성요소들의 동작을 전반적으로 제어할 수 있다.The processor 110 can process computer program instructions by performing basic arithmetic, logic, and input/output operations. Here, the command may be provided from the memory 120 or an external device (eg, server 20, etc.). Additionally, the processor 110 may generally control the operations of other components included in the user terminal 100.

특히, 프로세서(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 processor 110 generates a moving object trajectory using a plurality of images captured from multiple cameras. Specifically, the processor 110 acquires a first image captured from the first camera and a second image captured from the second camera with respect to the first camera and the second camera that capture the same moving object from different positions. Then, the processor 110 generates a map image including the earth surface represented by the images. Then, the processor 110 uses location information on the ground surface to match coordinates on the images with coordinates on the map image to designate a plurality of pairs of corresponding points. Then, the processor 110 calculates homography matrices for each of the first image and the second image using a plurality of corresponding point pairs. Then, the processor 110 designates a first area corresponding to the first image and a second area corresponding to the second image on the map image. Then, the processor 110 performs perspective conversion on the first image and the second image using homography matrices on the map image, thereby converting the first unit trajectory of the moving object traveling in the first area and the moving object traveling in the second area. Obtain the second unit trajectory. Then, the processor 110 combines a part of the first unit trajectory and a part of the second unit trajectory included in an overlapping area where the first area and the second area overlap to generate a combined trajectory for the same moving object. Then, the processor 110 determines a moving object trajectory based on the first unit trajectory, the second unit trajectory, and the combined trajectory.

일 실시예에 따른 프로세서(110)가 동작하는 구체적인 예들은 도 3 내지 도 18을 참조하여 설명한다.Specific examples of how the processor 110 according to an embodiment operates will be described with reference to FIGS. 3 to 18.

프로세서(110)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 예를 들어, 프로세서(110)는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함할 수 한다. 일부 환경에서, 프로세서(110)는 주문형 반도체(ASIC), 프로그램 가능 로직 디바이스(PLD), 필드 프로그램 가능 게이트 어레이(FPGA) 등을 포함할 수도 있다. 예를 들어, 프로세서(110)는 디지털 신호 프로세서(DSP)와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, 디지털 신호 프로세서(DSP) 코어와 결합된 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.The processor 110 may be implemented as an array of multiple logic gates, or may be implemented as a combination of a general-purpose microprocessor and a memory storing a program that can be executed on the microprocessor. For example, processor 110 may include a general-purpose processor, central processing unit (CPU), microprocessor, digital signal processor (DSP), controller, microcontroller, state machine, etc. In some circumstances, processor 110 may include an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. For example, processor 110 may be a combination of a digital signal processor (DSP) and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors combined with a digital signal processor (DSP) core, or any other such. It may also refer to a combination of processing devices, such as a combination of configurations.

메모리(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)가 수행하기 위한 코드)가 저장될 수 있다.Memory 120 may include any non-transitory computer-readable recording medium. As an example, the memory 120 is a non-permanent mass storage device such as random access memory (RAM), read only memory (ROM), disk drive, solid state drive (SSD), flash memory, etc. device). As another example, non-perishable mass storage devices such as ROM, SSD, flash memory, disk drives, etc. may be a separate persistent storage device distinct from memory. Additionally, the memory 210 may store an operating system (OS) and at least one program code (e.g., code for the processor 110 to perform operations to be described later with reference to FIGS. 3 to 18).

러한 소프트웨어 구성요소들은 메모리(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 memory 120. The recording medium readable by such a separate computer may be a recording medium that can be directly connected to the user terminal 100, for example, a floppy drive, disk, tape, DVD/CD-ROM drive, memory card, etc. It may include a readable recording medium. Alternatively, software components may be loaded into the memory 120 through a communication module (not shown) rather than a computer-readable recording medium. For example, at least one program is a computer program installed by files provided by developers or a file distribution system that distributes the installation file of the application through a communication module (not shown) (e.g., FIGS. 3 to 3). It may be loaded into the memory 120 based on a computer program (such as a computer program for the processor 110 to perform an operation to be described later with reference to 18).

입출력 인터페이스(미도시)는 사용자 단말(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 user terminal 100. The input/output interface (not shown) may be configured separately from the processor 110, but is not limited to this, and the input/output interface (not shown) may be configured to be included in the processor 110.

통신 모듈(미도시)은 네트워크를 통해 서버(20)와 사용자 단말(100)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있다. 또한, 통신 모듈(미도시)은 사용자 단말(100)이 다른 외부 디바이스와 통신하기 위한 구성 또는 기능을 제공할 수 있다. 예를 들어, 프로세서(110)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(미도시)과 네트워크를 거쳐 서버(20) 및/또는 외부 디바이스로 전송될 수 있다.A communication module (not shown) may provide a configuration or function for the server 20 and the user terminal 100 to communicate with each other through a network. Additionally, a communication module (not shown) may provide a configuration or function for the user terminal 100 to communicate with other external devices. For example, control signals, commands, data, etc. provided under control of the processor 110 may be transmitted to the server 20 and/or an external device through a communication module (not shown) and a network.

한편, 도 2에는 도시되지 않았으나, 사용자 단말(100)은 디스플레이 장치를 더 포함할 수 있다. 또는, 사용자 단말(100)은 독립적인 디스플레이 장치와 유선 또는 무선 통신 방식으로 연결되어 상호 간에 데이터를 송수신할 수 있다.Meanwhile, although not shown in FIG. 2, the user terminal 100 may further include a display device. Alternatively, the user terminal 100 may be connected to an independent display device through wired or wireless communication to transmit and receive data between them.

도 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 user terminals 10 and 100 or the processor 110 shown in FIGS. 1 and 2. Therefore, even if the content is omitted below, the content described above regarding the user terminals 10 and 100 or the processor 110 shown in FIGS. 1 and 2 can also be applied to the method of generating the moving object trajectory of FIG. 3. .

310 단계에서, 프로세서(110)는 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 제1 카메라로부터 촬영된 제1 이미지 및 제2 카메라로부터 촬영된 제2 이미지 각각에 대한 호모그래피 행렬들을 산출한다.In step 310, the processor 110 processes the first camera and the second camera that capture the same moving object at different positions, respectively, for the first image captured from the first camera and the second image captured from the second camera. Compute homography matrices.

먼저, 프로세서(110)는 동일한 이동체를 각각 다른 위치에서 촬영하는 제1 카메라 및 제2 카메라에 대하여, 제1 카메라로부터 촬영된 제1 이미지 및 제2 카메라로부터 촬영된 제2 이미지를 획득한다. 다만, 프로세서(110)는 제1 카메라 및 제2 카메라에 한정되지 않고 복수의 카메라로부터 복수의 이미지를 획득할 수 있다. 일 예로서, 프로세서(110)는 적어도 하나의 추가 카메라(additional camera)로부터 촬영된 적어도 하나의 추가 이미지를 획득할 수 있다.First, the processor 110 acquires a first image captured from the first camera and a second image captured from the second camera with respect to the first camera and the second camera that capture the same moving object from different positions. However, the processor 110 is not limited to the first camera and the second camera and may acquire a plurality of images from a plurality of cameras. As an example, the processor 110 may acquire at least one additional image taken from at least one additional camera.

카메라는 이미지를 촬영할 수 있는 모든 카메라를 지칭한다. 일안 반사식 카메라(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 processor 110 generates a map image including the earth surface represented by the images. As an example, the processor 110 generates a map image that includes both the ground surface represented by the first image captured by the first camera and the ground surface represented by the second image captured by the second camera.

지표면은 이미지에 나타난 지구의 표면으로서 지도 이미지에 표현될 수 있는 모든 표면을 의미한다.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 processor 110, acquired from an external device (not shown), or obtained from memory. There are no restrictions on the format or creation method of the map image. As an example, the map image may be a bird's eye view image. A bird's eye view image refers to a graphic representation of an image looking down at the ground from a high place, like a bird looking down from the sky. Specifically, it generally refers to all images drawn from a high point looking down. As an example, a map image may represent roads, crosswalks, walks, pedestrians, cars, etc. that appear in the image, but is not limited thereto.

이하, 도 4를 참조하여, 프로세서(110)가 카메라로부터 촬영된 이미지를 획득하고 이미지가 나타내는 지표면을 포함하는 지도 이미지를 생성하는 예를 설명한다.Hereinafter, with reference to FIG. 4 , an example in which the processor 110 acquires an image captured from a camera and generates a map image including the ground surface represented by the image will be described.

도 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 processor 110 acquires an image of the ABC intersection captured by a camera and generates a map image including the ABC intersection. Specifically, the processor 110 acquires an image showing a road in one direction among the intersections, a crosswalk, a road line, etc. Then, the processor 110 generates a bird's eye view image, which is a map image expressing roads, crosswalks, road lines, etc. shown in the image. Here, roads, crosswalks, road lines, etc. expressed in images and map images all correspond to different compositions of the same object.

다시 도 3을 참조하면, 310 단계에서, 프로세서(110)는 지표면의 위치 정보를 이용하여 이미지들 상의 좌표와 지도 이미지 상의 좌표를 대응시켜 복수의 대응점 페어들을 지정한다. 대응점 페어는 이미지 상의 좌표에 대응하는 이미지 측의 대응점과 지도 이미지 상의 좌표에 대응하는 지도 이미지 측의 대응점으로 구성된다. 일 예로서, 프로세서(110)는 도로선에 대응하는 지표면의 위치 정보를 가져와 각각의 이미지 상의 좌표와 지도 이미지 상의 좌표를 대응시켜 대응점 페어들을 지정한다. 이미지 상의 좌표와 지도 이미지 상의 좌표에 대응하는 대응점들은 도로선에 대응하는 동일한 지표면의 위치를 나타낸다.Referring again to FIG. 3, in step 310, the processor 110 specifies a plurality of pairs of corresponding points by matching coordinates on the images with coordinates on the map image using location information on the ground surface. The corresponding point pair consists of a corresponding point on the image side corresponding to coordinates on the image and a corresponding point on the map image side corresponding to coordinates on the map image. As an example, the processor 110 retrieves location information on the ground surface corresponding to a road line and specifies pairs of corresponding points by matching coordinates on each image with coordinates on the map image. Corresponding points corresponding to coordinates on the image and coordinates on the map image indicate the location of the same ground surface corresponding to the road line.

지표면의 위치 정보는 이미지 및 지도 이미지에 나타난 객체가 실제 위치하는 정보를 의미한다. 이미지 및 지도 이미지는 동일한 위치에 대하여 구도를 다르게 표현하지만, 각각 동일한 지표면의 위치 정보를 이용하여 대응점 페어들을 지정하여 표현할 수 있다.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 processor 110 designates a plurality of pairs of corresponding points by matching coordinates on images with coordinates on a map image using location information on the ground surface.

도 5는 일 실시예에 따른 프로세서(110)가 지표면의 위치 정보를 이용하여 복수의 대응점 페어들을 지정하는 일 예를 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating an example in which the processor 110 designates a plurality of pairs of corresponding points using location information on the ground surface, according to an embodiment.

도 5를 참조하면, 프로세서(110)는 횡단보도, 도로선, 중앙선의 위치 정보를 이용하여 이미지 상의 좌표와 지도 이미지 상의 좌표를 대응시켜 복수의 대응점 페어들을 지정한다. 구체적으로, 프로세서(110)는 중앙선의 위치 정보를 이용하여 동일한 장소에 대한 이미지 상의 좌표(A1)와 지도 이미지 상의 좌표(A2)를 대응시켜 대응점 페어들을 지정한다. 그리고, 프로세서(110)는 횡단보도의 위치 정보를 이용하여 동일한 장소에 대한 이미지 상의 좌표(B1)와 지도 이미지 상의 좌표(B2)를 대응시켜 대응점들을 지정한다. 마찬가지로, 프로세서(110)는 도로선의 위치 정보를 이용하여 동일한 장소에 대한 이미지 상의 좌표들(C1, D1)과 지도 이미지 상의 좌표들(C2, D2)을 대응시켜 대응점들을 지정한다.Referring to FIG. 5, the processor 110 specifies a plurality of pairs of corresponding points by matching coordinates on the image with coordinates on the map image using location information of the crosswalk, road line, and center line. Specifically, the processor 110 uses the location information of the center line to match the coordinates (A1) on the image for the same place and the coordinates (A2) on the map image to designate corresponding point pairs. Then, the processor 110 uses the location information of the crosswalk to designate corresponding points by matching the coordinates (B1) on the image for the same place with the coordinates (B2) on the map image. Likewise, the processor 110 uses the location information of the road line to designate corresponding points by matching the coordinates (C1, D1) on the image for the same place with the coordinates (C2, D2) on the map image.

프로세서(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 processor 110 designates at least one corresponding point pair to each image and map image. As an example, the processor 110 uses the location information of the center line to create a corresponding point pair (A1, A2) consisting of corresponding points that correspond to the coordinates (A1) on the image for the same place and the coordinates (A2) on the map image. Specify. As another example, the processor 110 uses location information on the earth's surface to calculate coordinates on the image (A1) and coordinates on the map image (A2), coordinates on the image (B1), and coordinates on the map image (B2) for the same four places. , Corresponding point pairs ((A1, A2), (B1) consisting of corresponding points that correspond to the coordinates (C1) on the image and the coordinates (C2) on the map image, and the coordinates (D1) on the image and the coordinates (D2) on the map image. , B2), (C1, C2), (D1, D2)).

다시 도 3을 참조하면, 310 단계에서, 프로세서(110)는 복수의 대응점 페어들을 이용하여 제1 이미지 및 제2 이미지 각각에 대한 호모그래피 행렬(homography matrix)들을 산출한다. 다만, 프로세서(110)는 제1 이미지 및 제2 이미지에 한정하지 않고, 복수의 이미지 각각에 대한 호모그래피 행렬들을 산출할 수 있다. 일 예로서, 프로세서(110)는 추가 이미지에 대한 호모그래피 행렬을 산출할 수 있다.Referring again to FIG. 3, in step 310, the processor 110 calculates homography matrices for each of the first image and the second image using a plurality of corresponding point pairs. However, the processor 110 is not limited to the first image and the second image, and may calculate homography matrices for each of a plurality of images. As an example, processor 110 may calculate a homography matrix for additional images.

호모그래피 행렬은 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 processor 110 may calculate the first homography matrix using the coordinates on the first image captured by the first camera and the coordinates on the map image.

일 예로서, 프로세서(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 processor 110 generates the first image and the second corresponding point pair based on the first corresponding point pairs and the second corresponding point pairs. Homography matrices for each image can be calculated. Here, the first image is associated with first pairs of corresponding points, and the second image is associated with pairs of second corresponding points.

다른 예로서, 프로세서(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 processor 110 generates the first image and the second image based on the first corresponding point pair and the second corresponding point pair. Homography matrices for each can be calculated. Here, the first image is associated with a first corresponding point pair, and the second image is associated with a second corresponding point pair.

이하, 도 6a 및 도 6b를 참조하여, 프로세서(110)가 복수의 대응점 페어들을 이용하여 이미지에 대한 호모그래피 행렬(homography matrix)을 산출하는 예를 설명한다.Hereinafter, with reference to FIGS. 6A and 6B, an example in which the processor 110 calculates a homography matrix for an image using a plurality of pairs of corresponding points will be described.

도 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 processor 110 stores coordinates (A1, A3, B1, B3, C1, C3, D1, D3) on the image for the ABC intersection and coordinates (A2, B2, C2, D2) on the map image. ), each corresponding point pair is designated based on, and the homography matrices (H1, H2) are calculated using the corresponding point pairs. Specifically, the processor 110 uses corresponding point pairs of (A1, A2), (B1, B2), (C1, C2), and (D1, D2) when calculating the homography matrix H1 for the first image. . In addition, the processor 110 uses corresponding point pairs of (A3, A2), (B3, B2), (C3, C2), and (D3, D2) when calculating the homography matrix H2 for the second image. Here, corresponding points A2, B2, C2, and D2 correspond to corresponding points on the map image side shared by a plurality of corresponding point pairs. Sharing corresponding points on the map image side means that multiple pairs of corresponding points consist of corresponding points on the same map image side. That is, the corresponding point pair (A1, A2) associated with the first image and the corresponding point pair (A3, A2) associated with the second image share the corresponding point A2 on the map image side. The processor 110 calculates homography matrices (H1, H2) for each image by using a plurality of pairs of corresponding points that share corresponding points (A2, B2, C2, D2) on the map image side. Therefore, the corresponding points of (A1, A2, A3), (B1, B2, B3), (C1, C2, C3), and (D1, D2, D3) express the same location on the earth's surface.

도 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 processor 110 stores coordinates (A1, A3, B1, B3, C1, C3, D1, D3) on the image for the ABC intersection and coordinates (A2, A4, B2, B4) on the map image. , C2, C4, D2, D4) are designated as corresponding point pairs, respectively, and homography matrices (H3, H4) are calculated using the corresponding point pairs. Specifically, the processor 110 uses corresponding point pairs of (A1, A2), (B1, B2), (C1, C2), and (D1, D2) when calculating the homography matrix H3 for the first image. . In addition, the processor 110 uses corresponding point pairs of (A3, A4), (B3, B4), (C3, C4), and (D3, D4) when calculating the homography matrix H4 for the second image. That is, the processor 110 calculates homography matrices (H3, H4) for each image by using a plurality of pairs of corresponding points that do not share the same corresponding points (A2, B2, C2, D2) on the map image side. . Unlike Figure 6a, each of (A1, A3), (B1, B3), (C1, C3), and (D1, D3) does not represent a location on the same ground surface.

여기에서 산출된 호모그래피 행렬은 지도 이미지 상에 이미지에 대응하는 영역 및 단위 궤적을 획득할 때 사용되며, 구체적인 내용은 아래에서 설명하도록 한다.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 step 320, the processor 110 performs perspective conversion on the first image and the second image using homography matrices on the map image, thereby driving the first area corresponding to the first image. A first unit trajectory of the moving object and a second unit trajectory of the moving object traveling in the second area corresponding to the second image are acquired.

먼저, 프로세서(110)는 지도 이미지 상에 제1 이미지에 대응하는 제1 영역 및 제2 이미지에 대응하는 제2 영역을 지정한다. 지도 이미지 상에 복수의 이미지에 대응하는 복수의 영역을 지정하는 방법에 대해서는 통상의 방법으로 수행될 수 있으며, 제한되지 않는다. 일 예로서, 프로세서(110)는 제1 카메라로 교차로의 북쪽을 촬영한 제1 이미지를 제1 이미지에 대한 호모그래피 행렬을 이용하여 원근변환함으로써 지도 이미지 상에 제1 이미지에 대응하는 제1 영역을 지정한다. 구체적으로, 프로세서(110)는 제1 이미지의 네 모서리 좌표를 제1 이미지에 대한 호모그래피 행렬을 이용하여 원근변환함으로써 지도 이미지 상에 제1 이미지에 대응하는 제1 영역을 지정한다. 지도 이미지 상에 지정된 제1 영역은 교차로의 북쪽 영역을 나타낸다. 프로세서(110)는 제1 이미지 및 제2 이미지에 한정하지 않고, 복수의 이미지를 원근 변환함으로써 지도 이미지 상에 복수의 영역을 지정할 수 있다. 프로세서(110)는 호모그래피 행렬을 이용하여 추가 이미지를 원근 변환함으로써 지도 이미지 상에 추가 이미지에 대응하는 추가 영역을 지정할 수 있다.First, the processor 110 designates a first area corresponding to the first image and a second area corresponding to the second image on the map image. The method of designating a plurality of areas corresponding to a plurality of images on a map image can be performed by a normal method and is not limited. As an example, the processor 110 converts the first image taken on the north side of the intersection with the first camera into perspective using a homography matrix for the first image, thereby creating a first area corresponding to the first image on the map image. Specify . Specifically, the processor 110 specifies a first area corresponding to the first image on the map image by performing perspective transformation on the four corner coordinates of the first image using a homography matrix for the first image. The first area designated on the map image represents the area north of the intersection. The processor 110 is not limited to the first image and the second image, and can designate a plurality of areas on the map image by performing perspective conversion on the plurality of images. The processor 110 may designate an additional area corresponding to the additional image on the map image by performing perspective conversion on the additional image using a homography matrix.

원근 변환은 이미지 상의 좌표와 지도 이미지 상의 좌표를 이용하여 산출한 호모그래피 행렬을 이용하여 임의의 이미지 상의 좌표를 지도 이미지 상의 좌표로 변환하는 것을 지칭한다. 일 예로서, 프로세서(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 processor 110 may convert coordinates present in the first image into coordinates on the map image using a homography matrix calculated using pairs of corresponding points specified in the first image and the map image.

그리고, 프로세서(110)는 호모그래피 행렬들을 이용하여 제1 이미지 및 제2 이미지를 원근 변환함으로써, 제1 영역을 주행한 이동체의 제1 단위 궤적 및 제2 영역을 주행한 이동체의 제2 단위 궤적을 획득한다. 일 예로서, 프로세서(110)는 제1 이미지에 대한 호모그래피 행렬을 이용하여 제1 이미지에 포함된 이동체의 좌표를 원근 변환함으로써, 제1 영역을 주행한 이동체의 제1 단위 궤적을 획득할 수 있다. 그리고, 프로세서(110)는 제2 이미지에 대한 호모그래피 행렬을 이용하여 제2 이미지에 포함된 이동체의 좌표를 원근 변환함으로써, 제2 영역을 주행한 이동체의 제2 단위 궤적을 획득할 수 있다. 다만, 프로세서(110)는 제1 단위 궤적 및 제2 단위 궤적에 한정하지 않고, 복수의 단위 궤적들을 획득할 수 있다. 일 예로서, 프로세서(110)는 추가 이동체의 추가 단위 궤적을 획득할 수 있다.Then, the processor 110 performs perspective conversion on the first image and the second image using homography matrices, thereby creating a first unit trajectory of the moving object traveling in the first area and a second unit trajectory of the moving object traveling in the second area. obtain. As an example, the processor 110 may obtain the first unit trajectory of the moving object traveling in the first area by perspective converting the coordinates of the moving object included in the first image using the homography matrix for the first image. there is. Additionally, the processor 110 can obtain a second unit trajectory of the moving object traveling in the second area by performing perspective transformation on the coordinates of the moving object included in the second image using the homography matrix for the second image. However, the processor 110 is not limited to the first unit trajectory and the second unit trajectory, and may acquire a plurality of unit trajectories. As an example, the processor 110 may obtain an additional unit trajectory of an additional moving object.

단위 궤적은 각각의 이미지에 나타난 이동체의 좌표를 지도 이미지 상의 좌표로 원근 변환하여 생성된 궤적을 지칭한다. 프로세서(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 processor 110 combines unit trajectories to generate a moving object trajectory on the map image. The term unit trajectory is used to distinguish it from the ultimately generated moving object trajectory. As an example, the processor 110 may acquire the unit trajectory of the moving object in a time sequence on the map image as the moving object moves in real time. As another example, the processor 110 may obtain an image or image containing the movement of a moving object for a certain period of time and obtain a unit trajectory of the moving object according to the movement of the moving object on a map image.

프로세서(110)는 지도 이미지 상의 하나의 좌표에서 시작하여 다른 하나의 좌표를 목적지로 하여 이동하는 이동체에 대하여 단위 궤적을 생성하기 때문에, 단위 궤적은 이동체의 이동 방향에 따라 획득 순서가 달라진다. 이동체의 이동 방향에 대응하여, 먼저 생성되는 단위 궤적이 있고, 먼저 생성되는 단위 궤적보다 시간차를 두며 늦게 생성되는 단위 궤적이 존재한다. 구체적으로, 이동체가 제1 영역에서 제2 영역으로 이동하는 경우에는, 제2 영역과 중복되지 않는 제1 영역에서 제1 단위 궤적이 먼저 생성된다. 그리고, 제1 영역 및 제2 영역이 중복되는 중복 영역에서부터 제2 단위 궤적이 생성된다. 즉, 이동체가 제1 영역에서 제2 영역으로 이동하는 경우, 제1 단위 궤적이 제2 단위 궤적보다 먼저 획득된다.Since the processor 110 generates a unit trajectory for a moving object starting from one coordinate on the map image and moving to another coordinate as a destination, the acquisition order of the unit trajectory varies depending on the moving direction of the moving object. In response to the moving direction of the moving object, there is a unit trajectory that is generated first, and there is a unit trajectory that is generated later with a time difference than the unit trajectory that is generated earlier. Specifically, when the moving object moves from the first area to the second area, the first unit trajectory is first generated in the first area that does not overlap with the second area. Then, a second unit trajectory is generated from an overlapping area where the first area and the second area overlap. That is, when the moving object moves from the first area to the second area, the first unit trajectory is acquired before the second unit trajectory.

이하, 도 7을 참조하여, 프로세서(110)가 호모그래피 행렬을 이용하여 이미지를 원근 변환함으로써, 지도 이미지 상에 이미지에 대응하는 영역을 지정하고, 영역을 주행한 이동체의 단위 궤적을 획득하는 예를 설명한다.Hereinafter, with reference to FIG. 7, an example in which the processor 110 performs perspective conversion on an image using a homography matrix to designate an area corresponding to the image on a map image and obtain a unit trajectory of a moving object traveling in the area. Explain.

도 7은 일 실시예에 따른 프로세서(110)가 호모그래피 행렬(H)을 이용하여 이미지에 대응하는 영역 내의 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다. FIG. 7 is a diagram illustrating an example in which the processor 110 according to an embodiment acquires a unit trajectory in an area corresponding to an image using a homography matrix (H).

도 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 processor 110 designates an area M corresponding to the image on the map image. Then, the processor 110 uses the coordinates (J1, J2, J3, J4, J5, J6) on the image of the moving object using the homography matrix (H) for the image to coordinates (K1, K2, By performing perspective transformation with K3, K4, K5, K6), the unit trajectory of the moving object is obtained on the map image. The processor 110 may obtain coordinates (J1, J2, J3, J4, J5, J6) on the image of the moving object from a plurality of images, but is not limited thereto. In Figure 7, for convenience, 6 coordinates on the image of the moving object and 6 coordinates on the map image are expressed, but the number of coordinates that can be perspective converted is not limited.

다시 도 3을 참조하면, 330 단계에서, 프로세서(110)는 제1 영역 및 제2 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성한다. 여기에서, 결합 궤적은 복수의 이미지에 대응하는 각각의 영역들이 중복되는 중복 영역에 포함되는 각각의 단위 궤적의 적어도 일부를 하나로 결합한 궤적을 지칭한다.Referring again to FIG. 3, in step 330, the processor 110 combines a portion of the first unit trajectory and a portion of the second unit trajectory included in an overlapping region where the first region and the second region overlap to create a combined trajectory. Create. Here, the combined trajectory refers to a trajectory that combines at least a portion of each unit trajectory included in an overlapping region where each region corresponding to a plurality of images overlaps into one.

일 예로서, 대응점 페어들이 지도 이미지 측의 대응점을 공유하는 경우, 프로세서(110)는 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 만든 선분을 이용함으로써 단위 궤적들을 결합한다. 구체적으로, 복수의 대응점들을 연결하여 만든 선분과 단위 궤적들이 교차하여 생긴 교차점들을 기준으로 단위 궤적들을 결합한다. 프로세서(110)는 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 선분을 만들고, 선분을 단위 궤적들과 교차하여 교차점들을 생성한다. 그리고, 프로세서(110)는 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 만든 선분을 이용함으로써 단위 궤적들을 결합한다. 일 예로서, 프로세서(110)는 지도 이미지 측의 복수의 공유된 대응점들을 연결하여 만든 선분과 단위 궤적들이 교차하여 생긴 교차점들을 기준으로 단위 궤적들을 결합한다. 다른 예로서, 프로세서(110)는 교차점들을 연결하여 만든 선분을 결합 궤적의 일부로 포함시키거나, 결합 궤적을 생성하는 기준선으로 사용하여 단위 궤적들을 결합한다. 또 다른 예로서, 프로세서(110)는 교차점들을 기준으로 평활화 작업을 통해 결합 궤적을 생성한다. 평활화 작업은 통상적인 방법으로 수행될 수 있으며, 제한되지 않는다. 단위 궤적들을 결합하기 위하여, 프로세서(110)는 복수의 대응점들을 서로 연결하여 만든 선분이 단위 궤적들과 교차하도록 지정할 수 있다. 동일한 이동체를 각각 다른 이미지들로부터 원근변환함으로써 단위 궤적들을 획득하는 경우, 동일한 이동체에 대한 단위 궤적이더라도 지도 이미지 상에서 완벽히 일치하지 않고 소정의 오차가 존재할 수 있다. 본 발명은 단위 궤적을 획득하는 단계에서, 지도 이미지 측의 동일한 대응점을 공유하는 대응점 페어들을 이용하여 호모그래피 행렬을 산출하고, 산출된 호모그래피 행렬을 이용하여 단위 궤적을 획득하고, 복수의 공유된 대응점들을 연결하여 만든 선분을 이용하여 결합 궤적을 생성하므로, 단위 궤적들의 오차를 줄일 수 있다는 효과를 가진다.As an example, when pairs of corresponding points share corresponding points on the map image side, the processor 110 combines unit trajectories by using a line segment created by connecting a plurality of shared corresponding points on the map image side. Specifically, unit trajectories are combined based on intersection points created by the intersection of line segments created by connecting a plurality of corresponding points and unit trajectories. The processor 110 creates line segments by connecting a plurality of shared corresponding points on the map image, and creates intersection points by intersecting the line segments with unit trajectories. Then, the processor 110 combines unit trajectories by using line segments created by connecting a plurality of shared corresponding points on the map image. As an example, the processor 110 combines unit trajectories based on intersection points created by intersecting unit trajectories with line segments created by connecting a plurality of shared corresponding points on the map image. As another example, the processor 110 combines unit trajectories by including line segments created by connecting intersections as part of a combined trajectory or using them as a baseline for generating a combined trajectory. As another example, the processor 110 generates a combined trajectory through a smoothing operation based on intersection points. The smoothing operation can be performed in a conventional manner and is not limited. To combine unit trajectories, the processor 110 may designate a line segment created by connecting a plurality of corresponding points to intersect the unit trajectories. When obtaining unit trajectories by performing perspective conversion on the same moving object from different images, even if the unit trajectories are for the same moving object, they do not perfectly match on the map image and may have certain errors. In the step of acquiring a unit trajectory, the present invention calculates a homography matrix using pairs of corresponding points sharing the same corresponding point on the map image, obtains a unit trajectory using the calculated homography matrix, and obtains a unit trajectory using a plurality of shared Since a combined trajectory is created using line segments created by connecting corresponding points, it has the effect of reducing errors in unit trajectories.

다른 예로서, 프로세서(110)는 단위 궤적들이 지도 이미지 상에 획득되는 순서를 고려하여 먼저 획득된 단위 궤적을 기준으로 하여 단위 궤적들을 결합할 수 있다. 구체적으로, 프로세서(110)는 중복 영역에 존재하는 복수의 단위 궤적에 대하여, 먼저 생성된 단위 궤적을 유지하고, 나머지 단위 궤적들을 중복 영역에서 제거함으로써 결합 궤적을 생성할 수 있다.As another example, the processor 110 may consider the order in which unit trajectories are acquired on a map image and combine unit trajectories based on the unit trajectory obtained first. Specifically, the processor 110 may generate a combined trajectory for a plurality of unit trajectories existing in an overlapping area by maintaining the unit trajectory created first and removing the remaining unit trajectories from the overlapping area.

또 다른 예로서, 프로세서(110)는 중복 영역에 존재하는 3개 이상의 단위 궤적들에 대하여, 가장 바깥쪽 궤적들의 중간 지점에서 가장 가까운 단위 궤적을 기준으로 단위 궤적들을 결합할 수 있다. 일 예로서, 프로세서(110)는 중복 영역에 존재하는 3개 이상의 단위 궤적들에 대하여, 동일한 시점에서의 각각의 이동체의 좌표의 평균값을 가지는 좌표와 가장 가까운 단위 궤적을 유지하고, 나머지 단위 궤적들을 중복 영역에서 제거함으로써 결합 궤적을 생성할 수 있다. 다른 예로서, 프로세서(110)는 중복 영역에 존재하는 3개 이상의 단위 궤적들에 대하여, 동일한 시점에서의 가장 바깥쪽 궤적들의 각각의 이동체의 좌표의 평균값을 가지는 좌표와 가장 가까운 단위 궤적을 유지하고, 나머지 단위 궤적들을 중복 영역에서 제거함으로써 결합 궤적을 생성할 수 있다.As another example, the processor 110 may combine unit trajectories of three or more unit trajectories existing in an overlapping area based on the unit trajectory closest to the midpoint of the outermost trajectories. As an example, for three or more unit trajectories existing in an overlapping area, the processor 110 maintains the unit trajectory closest to the coordinate having the average value of the coordinates of each moving object at the same point in time, and stores the remaining unit trajectories. By removing overlapping regions, a combined trajectory can be generated. As another example, for three or more unit trajectories existing in an overlapping area, the processor 110 maintains the unit trajectory closest to the coordinate having the average value of the coordinates of each moving object of the outermost trajectories at the same point in time, , a combined trajectory can be created by removing the remaining unit trajectories from the overlapping area.

다만, 프로세서(110)는 제1 단위 궤적 및 제2 단위 궤적에 한정하지 않고, 3개 이상의 복수의 단위 궤적들을 결합하여 결합 궤적을 생성할 수 있다. 일 예로서, 프로세서(110)는 제1 단위 궤적의 일부, 제2 단위 궤적의 일부 및 제3 단위 궤적의 일부를 결합하여 결합 궤적을 생성할 수 있다.However, the processor 110 is not limited to the first unit trajectory and the second unit trajectory, and may generate a combined trajectory by combining three or more unit trajectories. As an example, the processor 110 may generate a combined trajectory by combining a part of the first unit trajectory, a part of the second unit trajectory, and a part of the third unit trajectory.

프로세서(110)는 3개 이상의 복수의 단위 궤적들에 대하여, 유클리드 거리를 이용하여 단위 궤적들 중에서 결합 궤적을 생성하기 위한 복수의 후보 단위 궤적들을 선택한다. 일 예로서, 프로세서(110)는 3개 이상의 복수의 단위 궤적들에 대하여, 유클리드 거리가 일정 거리 이내인 복수의 단위 궤적들을 후보 단위 궤적들로 선택할 수 있으나, 이에 한정되지 않는다. 일정 거리는 이동체의 속도, 카메라의 개수 등을 고려하여 결정될 수 있다.The processor 110 selects a plurality of candidate unit trajectories for generating a combined trajectory among the unit trajectories using the Euclidean distance for three or more unit trajectories. As an example, the processor 110 may select a plurality of unit trajectories whose Euclidean distance is within a certain distance from three or more unit trajectories as candidate unit trajectories, but is not limited to this. A certain distance may be determined by considering the speed of the moving object, the number of cameras, etc.

프로세서(110)는 후보 단위 궤적들이 3개 이상인 경우에는, 후보 단위 궤적들 중 가장 바깥쪽 궤적들의 중간 지점에서 가장 가까운 후보 단위 궤적을 기준으로 후보 단위 궤적들을 결합한다. 일 예로서, 프로세서(110)는 후보 단위 궤적들이 3개 이상인 경우에는, 일정 시점에서 가장 바깥쪽 궤적들의 중간 지점에서 가장 가까운 후보 단위 궤적을 기준으로 후보 단위 궤적들을 결합할 수 있으나, 이에 한정되지 않는다.When there are three or more candidate unit trajectories, the processor 110 combines the candidate unit trajectories based on the candidate unit trajectory closest to the midpoint of the outermost trajectories among the candidate unit trajectories. As an example, if there are three or more candidate unit trajectories, the processor 110 may combine the candidate unit trajectories based on the candidate unit trajectory closest to the midpoint of the outermost trajectories at a certain point in time, but is not limited to this. No.

그리고, 프로세서(110)는 제1 단위 궤적, 제2 단위 궤적 및 결합 궤적에 기초한 이동체 궤적을 결정한다. 일 예로서, 프로세서(110)는 제1 단위 궤적, 제2 단위 궤적 및 결합 궤적에 기초하여 궤적들을 평활화하는 작업을 수행하여 이동체 궤적을 결정한다. 평활화 작업은 통상적인 방법에 의해 수행될 수 있으며, 제한되지 않는다. 동일한 이동체에 대한 결합 궤적을 생성하고, 복수의 단위 궤적들 및 결합 궤적에 기초하여 이동체 궤적을 결정하는 구체적인 내용은 아래에서 도 8 내지 도 18을 참조하여 설명하도록 한다.Then, the processor 110 determines a moving object trajectory based on the first unit trajectory, the second unit trajectory, and the combined trajectory. As an example, the processor 110 determines the moving object trajectory by smoothing trajectories based on the first unit trajectory, the second unit trajectory, and the combined trajectory. The smoothing operation can be performed by conventional methods and is not limited. Details of generating a combined trajectory for the same moving object and determining the moving object trajectory based on a plurality of unit trajectories and the combined trajectory will be described below with reference to FIGS. 8 to 18.

이동체 궤적은 중복 영역에서의 결합 궤적과 중복되지 않은 영역에 포함된 각각의 단위 궤적에 기초하여 결정한 단일의 이동체 궤적을 의미한다. 다중 카메라로 촬영한 단일 공간에 존재하는 이동체의 궤적을 통합적으로 추적한 단일의 이동체 궤적을 제공할 수 있다는 효과가 있다. 또한, 단일 카메라로는 추적할 수 없는 공간에 대하여, 다중 카메라를 사용함으로써 공간의 제약없이 단일의 이동체의 궤적을 제공할 수 있다는 효과가 있다.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 processor 110 generates a combined trajectory by combining parts of a plurality of unit trajectories included in an overlapping region where a plurality of regions overlap, and adds a combined trajectory to the plurality of unit trajectories and the combined trajectory. An example of determining the based moving object trajectory will be explained. FIGS. 8 to 18 are diagrams for explaining an example of a map image generated by the processor 110 according to an embodiment of the present invention by the method described above.

먼저, 도 8 내지 도 11을 참조하여, 프로세서(110)가 제1 영역 및 제2 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성하고, 제1 단위 궤적, 제2 단위 궤적 및 결합 궤적에 기초한 이동체 궤적을 결정하는 예를 설명한다.First, with reference to FIGS. 8 to 11, the processor 110 combines a portion of the first unit trajectory and a portion of the second unit trajectory included in an overlapping region where the first region and the second region overlap to create a combined trajectory. An example of generating and determining a moving object trajectory based on the first unit trajectory, the second unit trajectory, and the combined trajectory will be described.

도 8은 일 실시예에 따른 프로세서(110)가 제1 영역 및 제2 영역에 존재하는 제1 단위 궤적 및 제2 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다.FIG. 8 is a diagram illustrating an example in which the processor 110 acquires a first unit trajectory and a second unit trajectory existing in a first area and a second area, according to an embodiment.

프로세서(110)는 교차로의 서쪽 부분을 촬영한 제1 이미지에 대응하는 제1 영역 및 교차로의 남쪽 부분을 촬영한 제2 이미지에 대응하는 제2 영역을 지도 이미지 상에 지정한다. 제1 영역은 제1 단위 궤적(L1)의 일부만이 존재하는 M1 영역 및 제1 단위 궤적(L1)의 일부와 제2 단위 궤적(L2)의 일부가 존재하는 중복 영역(M3)으로 구성된다. 제2 영역은 제2 단위 궤적(L2)의 일부만이 존재하는 M2 영역 및 제1 단위 궤적(L1)의 일부와 제2 단위 궤적(L2)의 일부가 존재하는 중복 영역(M3)으로 구성된다.The processor 110 designates a first area corresponding to the first image capturing the western part of the intersection and a second area corresponding to the second image capturing the southern part of the intersection on the map image. The first area is composed of an area M1 in which only a portion of the first unit locus L1 exists and an overlapping area M3 in which a portion of the first unit locus L1 and a portion of the second unit locus L2 exist. The second area is composed of an area M2 in which only a portion of the second unit locus L2 exists and an overlapping area M3 in which a portion of the first unit locus L1 and a portion of the second unit locus L2 exist.

그리고, 프로세서(110)는 제1 영역에 존재하는 제1 단위 궤적(L1) 및 제2 영역에 존재하는 제2 단위 궤적(L2)을 획득한다. 이때, 제1 영역과 제2 영역이 중복되는 중복 영역(M3)에는 제1 단위 궤적(L1)의 일부와 제2 단위 궤적(L2)의 일부가 공존하게 된다. 이로 인해, 단일의 이동체 궤적을 생성하기 위해서는 중복 영역(M3)에서의 제1 단위 궤적(L1) 및 제2 단위 궤적(L2)을 결합하는 단계가 필요하다. 결합하는 단계의 구체적인 내용에 대해서는 아래의 도 9에서 설명하도록 한다.Then, the processor 110 acquires the first unit trajectory L1 existing in the first area and the second unit trajectory L2 existing in the second area. At this time, a part of the first unit trajectory L1 and a part of the second unit trajectory L2 coexist in the overlapping area M3 where the first area and the second area overlap. For this reason, in order to generate a single moving object trajectory, a step of combining the first unit trajectory (L1) and the second unit trajectory (L2) in the overlapping area (M3) is required. The specific details of the combining step will be explained in Figure 9 below.

도 9는 일 실시예에 따른 프로세서(110)가 중복 영역(M3)에서 제1 단위 궤적의 일부 및 제2 단위 궤적의 일부를 결합하여 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.FIG. 9 is a diagram illustrating an example in which the processor 110 according to an embodiment generates a combined trajectory by combining a part of the first unit trajectory and a part of the second unit trajectory in the overlapping area M3.

도 9를 참조하면, 프로세서(110)는 중복 영역(M3)에 존재하는 제1 단위 궤적(L1)의 일부와 제2 단위 궤적(L2)의 일부를 결합한다. 구체적으로, 프로세서(110)는 지도 이미지 상에 먼저 생성된 제1 단위 궤적(L1)을 중복 영역(M3)에 유지시키고, 지도 이미지 상에 나중에 생성된 제2 단위 궤적(L2)은 중복 영역(M3)에서 제거함으로써 결합 궤적을 생성한다.Referring to FIG. 9, the processor 110 combines a portion of the first unit trajectory L1 and a portion of the second unit trajectory L2 existing in the overlapping area M3. Specifically, the processor 110 maintains the first unit trajectory (L1) generated earlier on the map image in the overlap area (M3), and the second unit trajectory (L2) generated later on the map image is maintained in the overlap area (M3). Create a combined trajectory by removing it from M3).

도 10은 일 실시예에 따른 프로세서(110)가 중복 영역이 아닌 영역에서 제1 단위 궤적 및 제2 단위 궤적을 선택하는 일 예를 설명하기 위한 도면이다.FIG. 10 is a diagram illustrating an example in which the processor 110 selects a first unit trajectory and a second unit trajectory from a non-overlapping area, according to an embodiment.

도 10을 참조하면, 프로세서(110)는 중복 영역이 아닌 제1 영역(M1)에서는 제1 단위 궤적(L1)을 선택하고, 중복 영역이 아닌 제2 영역(M2)에서는 제2 단위 궤적(L2)을 선택한다. Referring to FIG. 10, the processor 110 selects the first unit trajectory L1 in the first area M1, which is not an overlapping area, and selects the second unit trajectory L2 in the second area M2, which is not an overlapping area. ).

도 11은 일 실시예에 따른 프로세서(110)가 도 9에서 생성한 결합 궤적 및 도 10에서 선택한 제1 단위 궤적과 제2 단위 궤적을 기초로 이동체 궤적을 결정하는 일 예를 설명하기 위한 도면이다.FIG. 11 is a diagram illustrating an example in which the processor 110 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. .

프로세서(110)는 중복 영역이 아닌 제1 영역(M1)에서의 제1 단위 궤적, 중복 영역이 아닌 제2 영역(M2)에서의 제2 단위 궤적 및 중복 영역(M3)에서의 결합 궤적을 종합하여 이동체 궤적을 생성한다. 프로세서(110)는 다중 카메라로 촬영한 단일 공간에 존재하는 단일의 이동체의 궤적을 생성하다.The processor 110 synthesizes the first unit trajectory in the first non-overlapping area (M1), the second unit trajectory in the second non-overlapping area (M2), and the combined trajectory in the overlapping area (M3). This creates a moving object trajectory. The processor 110 generates a trajectory of a single moving object existing in a single space captured by multiple cameras.

도 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 processor 110 uses a line segment created by connecting a plurality of shared corresponding points (D1, D2) and intersection points (E1, E2) created by intersecting the first unit trajectory (L1) and the second unit trajectory (L2). A part of the first unit trajectory (L1) and a part of the second unit trajectory (L2) can be combined. The present invention has the effect of reducing the error range of a plurality of unit trajectories obtained by performing perspective conversion from images taken from multiple cameras.

그리고, 도 13 내지 도 18을 참조하여, 프로세서(110)가 제1 영역, 제2 영역 및 제3 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적의 일부, 제2 단위 궤적의 일부 및 제3 단위 궤적의 일부를 결합하여 결합 궤적을 생성하고, 제1 단위 궤적, 제2 단위 궤적, 제3 단위 궤적 및 결합 궤적에 기초한 이동체 궤적을 결정하는 예를 설명한다.And, with reference to FIGS. 13 to 18, the processor 110 processes a portion of the first unit trajectory, a portion of the second unit trajectory, and the first unit trajectory included in an overlapping region where the first region, the second region, and the third region overlap. An example of combining parts of three unit trajectories to generate a combined trajectory and determining a moving object trajectory based on the first unit trajectory, second unit trajectory, third unit trajectory, and combined trajectory will be described.

도 13는 일 실시예에 따른 프로세서(110)가 제1 영역, 제2 영역 및 제3 영역이 중복되는 중복 영역에 포함되는 제1 단위 궤적, 제2 단위 궤적 및 제3 단위 궤적을 획득하는 일 예를 설명하기 위한 도면이다.FIG. 13 shows the processor 110 according to an embodiment acquiring 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 to explain an example.

프로세서(110)는 교차로의 서쪽 부분을 촬영한 제1 이미지에 대응하는 제1 영역, 교차로의 남쪽 부분을 촬영한 제2 이미지에 대응하는 제2 영역 및 교차로의 북동쪽 부분을 촬영한 제3 이미지에 대응하는 제3 영역을 지도 이미지 상에 지정한다.The processor 110 includes a first area corresponding to the first image capturing the western portion of the intersection, a second area corresponding to the second image capturing the southern portion of the intersection, and a third image capturing the northeastern portion of the intersection. A corresponding third area is designated on the map image.

그리고, 프로세서(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 processor 110 acquires the first unit trajectory (L1) existing in the first area, the second unit trajectory (L2) existing in the second area, and the third unit trajectory (L3) existing in the third area. do. At this time, a part of the first unit trajectory L1 and a part of the third unit trajectory L3 coexist in the overlapping area M4 where the first area and the third area overlap. And, in the overlapping area M3 where the first area, the second area, and the third area overlap, a portion of the first unit locus L1, a portion of the second unit locus L2, and a third unit locus L3 are included. Some coexist. Likewise, a part of the second unit locus L2 and a part of the third unit locus L3 coexist in the overlapping area M5 where the second area and the third area overlap. In order to generate a single moving object trajectory, a step of combining the first unit trajectory, the second unit trajectory, and the third unit trajectory in the overlapping areas M3, M4, and M5 is required. The specific details of the combining step will be explained in Figures 14 to 16 below.

도 14은 일 실시예에 따른 프로세서(110)가 제1 영역 및 제3 영역이 중복되는 영역에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.FIG. 14 is a diagram illustrating an example in which the processor 110 according to an embodiment generates a combination trajectory in an area where the first area and the third area overlap.

프로세서(110)는 제1 영역 및 제3 영역이 중복되는 중복 영역(M4)에서 제1 단위 궤적의 일부 및 제3 단위 궤적의 일부를 결합하여 결합 궤적을 생성한다. 구체적으로, 프로세서(110)는 제1 단위 궤적(L1) 및 제3 단위 궤적(L3) 중에서 지도 이미지 상에 먼저 생성된 제1 단위 궤적(L1)의 일부를 중복 영역(M4)에서 유지시키고, 제3 단위 궤적(L3)의 일부는 중복 영역(M4)에서 제거함으로써 결합 궤적을 생성한다.The processor 110 generates a combined trajectory by combining a part of the first unit trajectory and a part of the third unit trajectory in the overlapping area M4 where the first area and the third area overlap. Specifically, the processor 110 maintains a part of the first unit trajectory (L1) generated first on the map image among the first unit trajectory (L1) and the third unit trajectory (L3) in the overlap area (M4), A combined trajectory is generated by removing part of the third unit trajectory (L3) from the overlapping area (M4).

도 15는 일 실시예에 따른 프로세서(110)가 제1 영역, 제2 영역 및 제3 영역이 중복되는 영역(M3)에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.FIG. 15 is a diagram illustrating an example in which the processor 110 according to an embodiment generates a combination trajectory in an area M3 where the first area, the second area, and the third area overlap.

도 15를 참조하면, 프로세서(110)는 제1 영역, 제2 영역 및 제3 영역이 중복되는 중복 영역(M3)에서 제1 단위 궤적(L1)의 일부, 제2 단위 궤적(L2)의 일부 및 제3 단위 궤적(L3)의 일부를 결합하여 결합 궤적을 생성한다. 구체적으로, 프로세서(110)는 중복 영역(M3)에 존재하는 단위 궤적들에 대하여, 각각의 이동체의 좌표의 평균값을 가지는 좌표와 가장 가까운 단위 궤적인 제1 단위 궤적(L1)의 일부를 유지하고, 나머지 단위 궤적들의 일부를 중복 영역(M3)에서 제거함으로써 결합 궤적을 생성한다.Referring to FIG. 15, the processor 110 stores a portion of the first unit locus L1 and a portion of the second unit locus L2 in the overlapping area M3 where the first area, the second area, and the third area overlap. and combining a part of the third unit trajectory (L3) to generate a combined trajectory. Specifically, the processor 110 maintains a part of the first unit trajectory L1, which is the unit trajectory closest to the coordinate having the average value of the coordinates of each moving object, with respect to the unit trajectories existing in the overlapping area M3, , A combined trajectory is created by removing some of the remaining unit trajectories from the overlapping area (M3).

도 16는 일 실시예에 따른 프로세서(110)가 제2 영역 및 제3 영역이 중복되는 영역(M5)에서 결합 궤적을 생성하는 일 예를 설명하기 위한 도면이다.FIG. 16 is a diagram illustrating an example in which the processor 110 according to an embodiment generates a combination trajectory in the area M5 where the second area and the third area overlap.

도 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 processor 110 combines a part of the second unit locus L2 and a part of the third unit locus L3 in the overlapping area M5 where the second area and the third area overlap. Create a trajectory. Specifically, the processor 110 selects a part of the third unit trajectory (L3) generated first on the map image among a part of the second unit trajectory (L2) and a part of the third unit trajectory (L3) as an overlap area (M5). and a part of the second unit trajectory (L2) is removed from the overlapping area (M5) to create a combined trajectory.

도 17은 일 실시예에 따른 프로세서(110)가 중복 영역이 아닌 영역에서 제1 단위 궤적 및 제2 단위 궤적을 선택하는 일 예를 설명하기 위한 도면이다.FIG. 17 is a diagram illustrating an example in which the processor 110 selects a first unit trajectory and a second unit trajectory from a non-overlapping area, according to an embodiment.

도 17을 참조하면, 프로세서(110)는 중복 영역이 아닌 제1 영역(M1)에서는 제1 단위 궤적(L1)의 일부를 선택하고, 중복 영역이 아닌 제2 영역(M2)에서는 제2 단위 궤적(L2)의 일부를 선택한다.Referring to FIG. 17, the processor 110 selects a part of the first unit trajectory L1 in the first area M1, which is not an overlapping area, and selects a part of the second unit trajectory L1 in the second area M2, which is not an overlapping area. Select part of (L2).

도 18은 일 실시예에 따른 프로세서(110)가 도 14 내지 도 16에서 생성한 결합 궤적 및 도 17에서 선택한 제1 단위 궤적과 제2 단위 궤적을 기초로 이동체 궤적을 결정하는 일 예를 설명하기 위한 도면이다.FIG. 18 illustrates an example in which the processor 110 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. This is a drawing for

도 18을 참조하면, 프로세서(110)는 중복 영역이 아닌 제1 영역(M1)에서의 제1 단위 궤적, 중복 영역이 아닌 제2 영역(M2)에서의 제2 단위 궤적 및 중복 영역들(M3, M4, M5)에서의 결합 궤적을 종합하여 이동체 궤적을 생성한다. 프로세서(110)는 다중 카메라로 촬영한 단일 공간에 존재하는 단일의 이동체의 궤적을 생성하다.Referring to FIG. 18, the processor 110 operates on a first unit trajectory in the first area M1 that is not an overlapping area, a second unit trajectory in a second area M2 that is not an overlapping area, and overlapping areas M3. , M4, and M5), the combined trajectories are synthesized to generate the moving object trajectory. The processor 110 generates a trajectory of a single moving object existing in a single space captured by multiple cameras.

상술한 바에 따르면, 프로세서(110)는 다중 카메라를 이용한 이동체 궤적을 생성한다. 사용자(30)는 단일 카메라로는 추적할 수 없는 공간을 다중 카메라를 사용함으로써 공간의 제약없이 이동체 궤적을 확인할 수 있다.As described above, the processor 110 generates a moving object trajectory using multiple cameras. The user 30 can check the trajectory of a moving object without space constraints by using multiple cameras in a space that cannot be tracked with a single camera.

한편, 상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 램, 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 항에 있어서,
상기 제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.
제1 항에 있어서,
상기 이미지들의 일부는 동일한 지표면이 촬영된 것을 특징으로 하는, 이동체 궤적 생성 방법.
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.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제1 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a program for executing the method according to claim 1 on a computer. 적어도 하나의 메모리; 및
적어도 하나의 프로세서;를 포함하고,
상기 적어도 하나의 프로세서는,
동일한 이동체를 각각 다른 위치에서 촬영하는 제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.
KR1020220117029A 2022-09-16 2022-09-16 A method and apparatus for generating a moving object trajectory using multiple cameras KR102576587B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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