KR20220084790A - Parallel processing apparatus and method for generating 3d spatial information - Google Patents

Parallel processing apparatus and method for generating 3d spatial information Download PDF

Info

Publication number
KR20220084790A
KR20220084790A KR1020200174628A KR20200174628A KR20220084790A KR 20220084790 A KR20220084790 A KR 20220084790A KR 1020200174628 A KR1020200174628 A KR 1020200174628A KR 20200174628 A KR20200174628 A KR 20200174628A KR 20220084790 A KR20220084790 A KR 20220084790A
Authority
KR
South Korea
Prior art keywords
spatial
parallel processing
unit
nodes
images
Prior art date
Application number
KR1020200174628A
Other languages
Korean (ko)
Other versions
KR102520375B1 (en
Inventor
김상호
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020200174628A priority Critical patent/KR102520375B1/en
Publication of KR20220084790A publication Critical patent/KR20220084790A/en
Application granted granted Critical
Publication of KR102520375B1 publication Critical patent/KR102520375B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing

Abstract

본 발명은 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법에 관한 것으로, 상기 장치는 적어도 하나의 프로세서로 각각 구성된 복수의 노드들; 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신하는 공간영상 수신부; 상기 복수의 단위 공간영상들의 개수를 기초로 상기 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정하는 병렬처리 노드 결정부; 및 상기 결정된 노드들에 상기 복수의 단위 공간영상들을 분배하고 상기 결정된 노드들 중 하나가 상기 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 하는 병렬처리 노드 제어부를 포함한다.The present invention relates to a parallel processing apparatus and method for generating 3D spatial information, the apparatus comprising: a plurality of nodes each configured of at least one processor; a spatial image receiving unit for receiving a plurality of unit spatial images configured by photographing the surrounding space at a corresponding position during a specific period while moving along a given path in time series order; a parallel processing node determining unit that determines nodes for optimal parallel processing among the plurality of nodes based on the number of the plurality of unit spatial images; and a parallel processing node controller for distributing the plurality of unit spatial images to the determined nodes and allowing one of the determined nodes to detect an overlapping spatial region from the plurality of unit spatial images.

Description

3차원 공간정보 생성을 위한 병렬처리 장치 및 방법{PARALLEL PROCESSING APPARATUS AND METHOD FOR GENERATING 3D SPATIAL INFORMATION}Parallel processing apparatus and method for generating 3D spatial information

본 발명은 3차원 공간정보 생성을 위한 병렬처리 기술에 관한 것으로, 보다 상세하게는 3차원 공간정보 제작 과정에서 대량의 사진을 신속하게 처리하기 위해 클라이언트-노드 조합의 CPU 병렬처리 방식을 구성할 수 있는 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법에 관한 것이다.The present invention relates to a parallel processing technology for generating 3D spatial information, and more particularly, it is possible to configure a CPU parallel processing method of a client-node combination to quickly process a large amount of photos in the 3D spatial information production process. It relates to a parallel processing apparatus and method for generating three-dimensional spatial information.

드론을 이용한 사진측량은 값싼 가격과 운용 및 자료처리의 용이성 등으로 인하여 범용화 되고 있는 추세이다. 대단히 광범위하게 이용되고는 있으나 아직 드론 측량이 산업화되어 한 축을 담당하고 있지 못한 이유는 아래의 3가지 측면이 있다.Photogrammetry using drones is becoming more common due to its low price and ease of operation and data processing. Although it has been widely used, there are three reasons why drone surveying has not yet played an important role in industrialization due to the following three aspects.

첫째, 드론의 비행시간과 비행거리의 제한으로 이하여 공간정보 제작 품셈의 기본단위인 1km2 조차도 1sortie에 Data 획득을 끝내지 못할 수 있다.First, due to the limitations of the drone's flight time and flight distance, even 1km2 , the basic unit of spatial information production, may not be able to complete data acquisition in 1sortie.

둘째, 사진 측량의 기본 값인 렌즈의 중심좌표와 사진의 기울기 값을 드론의 Flight Controller로부터 제공받고 있으나 측량 결과의 정밀도와 정확도를 보장하기에는 부족할 수 있다.Second, although the center coordinates of the lens and the inclination value of the photo, which are the basic values of photogrammetry, are provided from the flight controller of the drone, it may not be enough to guarantee the precision and accuracy of the survey result.

마지막으로, 이를 극복하기 위하여 H/W적으로 그리고 S/W적으로 다양한 보완책이 제시되고 있으나, 시장에서 쉽게 획득할 수 있는 방안은 아직 찾기 힘들다.Finally, in order to overcome this, various supplementary measures have been proposed in terms of H/W and S/W, but it is still difficult to find a method that can be easily obtained in the market.

한국등록특허 제10-0904078호 (2009.06.15)Korean Patent No. 10-0904078 (June 15, 2009)

본 발명의 일 실시예는 3차원 공간정보 제작 과정에서 대량의 사진을 신속하게 처리하기 위해 클라이언트-노드 조합의 CPU 병렬처리 방식을 구성할 수 있는 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법을 제공하고자 한다.An embodiment of the present invention provides a parallel processing apparatus and method for generating 3D spatial information that can configure a CPU parallel processing method of a client-node combination in order to quickly process a large amount of photos in the 3D spatial information production process would like to provide

본 발명의 일 실시예는 마스터 노드를 중심으로 노드들 간의 병렬처리 네트워크를 동적으로 구성하여 3차원 공간정보의 구축 과정에서 단순계산 계산의 수행 시간을 효과적으로 줄일 수 있는 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법을 제공하고자 한다.An embodiment of the present invention provides parallel processing for generating 3D spatial information that can effectively reduce the execution time of simple calculations in the process of constructing 3D spatial information by dynamically configuring a parallel processing network between nodes around a master node. It is intended to provide a processing apparatus and method.

본 발명의 일 실시예는 병렬처리 환경을 기초로 각 노드들의 CPU 성능, RAM 용량 및 네트워크 속도의 개선을 통해 1km2의 지역에 대한 공간정보 생산 시간을 4시간 이내로 단축시킬 수 있는 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법을 제공하고자 한다.An embodiment of the present invention provides three-dimensional spatial information that can reduce spatial information production time for an area of 1 km 2 to less than 4 hours through improvement of CPU performance, RAM capacity, and network speed of each node based on a parallel processing environment. It is intended to provide a parallel processing apparatus and method for generation.

실시예들 중에서, 3차원 공간정보 생성을 위한 병렬처리 장치는 적어도 하나의 프로세서로 각각 구성된 복수의 노드들; 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신하는 공간영상 수신부; 상기 복수의 단위 공간영상들의 개수를 기초로 상기 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정하는 병렬처리 노드 결정부; 및 상기 결정된 노드들에 상기 복수의 단위 공간영상들을 분배하고 상기 결정된 노드들 중 하나가 상기 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 하는 병렬처리 노드 제어부를 포함한다.Among embodiments, a parallel processing apparatus for generating 3D spatial information includes: a plurality of nodes each configured of at least one processor; a spatial image receiving unit for receiving a plurality of unit spatial images configured by photographing the surrounding space at a corresponding position during a specific period while moving along a given path in time series order; a parallel processing node determining unit that determines nodes for optimal parallel processing among the plurality of nodes based on the number of the plurality of unit spatial images; and a parallel processing node controller for distributing the plurality of unit spatial images to the determined nodes and allowing one of the determined nodes to detect an overlapping spatial region from the plurality of unit spatial images.

상기 공간영상 수신부는 상기 복수의 단위 공간영상들의 중첩된 공간영역의 크기가 특정 크기 이상이 되도록 상기 이동의 속도를 기초로 상기 복수의 단위 공간영상들을 구성할 수 있다.The spatial image receiver may configure the plurality of unit spatial images based on the speed of movement so that the size of the overlapping spatial region of the plurality of unit spatial images is greater than or equal to a specific size.

상기 공간영상 수신부는 상기 이동의 속도에 반비례하도록 상기 특정 주기를 결정할 수 있다.The spatial image receiver may determine the specific period to be inversely proportional to the speed of the movement.

상기 공간영상 수신부는 상기 이동의 속도가 제1 특정 속도 이하인 경우에는 상기 특정 주기를 최대 값으로 결정하고, 상기 이동의 속도가 제2 특정 속도 이상인 경우에는 상기 특정 주기를 최소 값으로 결정할 수 있다.The spatial image receiver may determine the specific period as a maximum value when the movement speed is less than or equal to a first specific speed, and determine the specific period as a minimum value when the movement speed is greater than or equal to a second specific speed.

상기 병렬처리 노드 결정부는 상기 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 상기 복수의 노드들 중 상기 현재 가용 기준을 만족시키는 노드들을 결정할 수 있다.The parallel processing node determiner may determine a current availability criterion based on the number of the plurality of unit spatial images to determine nodes satisfying the current availability criterion among the plurality of nodes.

상기 병렬처리 노드 결정부는 상기 복수의 단위 공간영상들의 개수가 증가될수록 상기 현재 가용 기준을 낮춰서 상기 현재 가용 기준을 만족시키는 노드들의 개수를 증가시킬 수 있다.The parallel processing node determiner may increase the number of nodes satisfying the current availability criterion by lowering the current availability criterion as the number of the plurality of unit spatial images increases.

상기 병렬처리 노드 결정부는 상기 복수의 단위 공간영상들의 개수가 감소될수록 상기 현재 가용 기준을 높여서 상기 현재 가용 기준을 만족시키는 노드들의 개수를 감소시킬 수 있다.As the number of the plurality of unit spatial images decreases, the parallel processing node determiner may increase the current availability criterion to decrease the number of nodes satisfying the current availability criterion.

상기 병렬처리 노드 제어부는 상기 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정할 수 있다.The parallel processing node control unit may select a node having the highest availability criterion among the determined nodes and determine the node as the master node.

상기 병렬처리 노드 제어부는 상기 마스터 노드가 상기 중첩된 공간영역을 검출하도록 하고 상기 복수의 단위 공간영상들을 상기 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 상기 결정된 노드들 중 상기 마스터 노드를 제외한 나머지 노드들에 분배하도록 할 수 있다.The parallel processing node control unit causes the master node to detect the overlapping spatial region, and displays the plurality of unit spatial images together with information on a non-overlapping spatial region excluding the overlapped spatial region, and the master node among the determined nodes. It can be distributed to the remaining nodes except for .

상기 병렬처리 노드 제어부는 상기 마스터 노드를 통해 상기 중첩된 공간영역에 관한 중첩 3차원 공간정보를 생성할 수 있다.The parallel processing node control unit may generate overlapping 3D spatial information about the overlapping spatial region through the master node.

상기 병렬처리 노드 제어부는 상기 나머지 노드들 각각을 통해 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 생성할 수 있다.The parallel processing node control unit may generate non-overlapping 3D spatial information about the non-overlapping spatial region of at least one corresponding unit spatial image through each of the remaining nodes.

상기 병렬처리 노드 제어부는 상기 마스터 노드를 통해 상기 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 수집하고, 상기 중첩 3차원 공간정보 및 상기 비중첩 공간영역를 병합하여 3차원 공간정보를 생성할 수 있다.The parallel processing node control unit collects non-overlapping 3D spatial information on the non-overlapping spatial region of the at least one corresponding unit spatial image through the master node, and merging the overlapping 3D spatial information and the non-overlapping spatial region. 3D spatial information can be generated.

실시예들 중에서, 3차원 공간정보 생성을 위한 병렬처리 방법은 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신하는 단계; 상기 복수의 단위 공간영상들의 개수를 기초로 상기 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정하는 단계; 및 상기 결정된 노드들에 상기 복수의 단위 공간영상들을 분배하고 상기 결정된 노드들 중 하나가 상기 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 하는 단계를 포함한다.Among the embodiments, the parallel processing method for generating 3D spatial information includes: receiving a plurality of unit spatial images configured by photographing the surrounding space at a corresponding location for a specific period while moving along a given path in time series order; determining nodes for optimal parallel processing among the plurality of nodes based on the number of the plurality of unit spatial images; and distributing the plurality of unit spatial images to the determined nodes and allowing one of the determined nodes to detect an overlapping spatial region from the plurality of unit spatial images.

상기 노드들을 결정하는 단계는 상기 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 상기 복수의 노드들 중 상기 현재 가용 기준을 만족시키는 노드들을 결정하는 단계를 포함할 수 있다.The determining of the nodes may include determining a current availability criterion based on the number of the plurality of unit spatial images to determine nodes satisfying the current availability criterion among the plurality of nodes.

상기 노드들을 결정하는 단계는 상기 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정하는 단계를 포함할 수 있다.The determining of the nodes may include selecting a node having a highest availability criterion among the determined nodes and determining the node as a master node.

상기 공간영역을 검출하도록 하는 단계는 상기 마스터 노드가 상기 중첩된 공간영역을 검출하도록 하고 상기 복수의 단위 공간영상들을 상기 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 상기 결정된 노드들 중 상기 마스터 노드를 제외한 나머지 노드들에 분배하도록 하는 단계를 포함할 수 있다.In the step of detecting the spatial region, the master node detects the overlapping spatial region and displays the plurality of unit spatial images among the determined nodes together with information on the non-overlapping spatial region excluding the overlapped spatial region. It may include the step of distributing it to the remaining nodes except for the master node.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, this does not mean that a specific embodiment should include all of the following effects or only the following effects, so the scope of the disclosed technology should not be understood as being limited thereby.

본 발명의 일 실시예에 따른 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법은 3차원 공간정보 제작 과정에서 대량의 사진을 신속하게 처리하기 위해 클라이언트-노드 조합의 CPU 병렬처리 방식을 구성할 수 있다.A parallel processing apparatus and method for generating 3D spatial information according to an embodiment of the present invention can configure a CPU parallel processing method of a client-node combination to quickly process a large amount of photos in a 3D spatial information production process. have.

본 발명의 일 실시예에 따른 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법은 마스터 노드를 중심으로 노드들 간의 병렬처리 네트워크를 동적으로 구성하여 3차원 공간정보의 구축 과정에서 단순계산 계산의 수행 시간을 효과적으로 줄일 수 있다.A parallel processing apparatus and method for generating 3D spatial information according to an embodiment of the present invention dynamically configure a parallel processing network between nodes centered on a master node to perform a simple calculation in the process of constructing 3D spatial information time can be effectively reduced.

본 발명의 일 실시예에 따른 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법은 병렬처리 환경을 기초로 각 노드들의 CPU 성능, RAM 용량 및 네트워크 속도의 개선을 통해 1km2의 지역에 대한 공간정보 생산 시간을 4시간 이내로 단축시킬 수 있다.A parallel processing apparatus and method for generating 3D spatial information according to an embodiment of the present invention provides spatial information for an area of 1 km 2 by improving CPU performance, RAM capacity, and network speed of each node based on a parallel processing environment. Production time can be reduced to less than 4 hours.

도 1은 본 발명에 따른 병렬처리 시스템을 설명하는 도면이다.
도 2는 도 1의 병렬처리 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 병렬처리 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 3차원 공간정보 생성을 위한 병렬처리 방법을 설명하는 순서도이다.
도 5는 본 발명에 따른 병렬처리 장치의 동작 과정의 일 실시예를 설명하는 도면이다.
도 6은 본 발명에 따른 노드 구성별 가격대비 성능비 계산표를 설명하는 도면이다.
도 7은 본 발명에 따른 노드 구성별 처리시간 그래프를 설명하는 도면이다.
1 is a view for explaining a parallel processing system according to the present invention.
FIG. 2 is a diagram for explaining a system configuration of the parallel processing device of FIG. 1 .
FIG. 3 is a diagram for explaining a functional configuration of the parallel processing device of FIG. 1 .
4 is a flowchart illustrating a parallel processing method for generating 3D spatial information according to the present invention.
5 is a view for explaining an embodiment of an operation process of a parallel processing device according to the present invention.
6 is a view for explaining a cost-performance ratio calculation table for each node configuration according to the present invention.
7 is a diagram illustrating a processing time graph for each node configuration according to the present invention.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is merely an embodiment for structural or functional description, the scope of the present invention should not be construed as being limited by the embodiment described in the text. That is, since the embodiment may have various changes and may have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing the technical idea. In addition, since the object or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such effects, it should not be understood that the scope of the present invention is limited thereby.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as “first” and “second” are for distinguishing one component from another, and the scope of rights should not be limited by these terms. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” to another component, it may be directly connected to the other component, but it should be understood that other components may exist in between. On the other hand, when it is mentioned that a certain element is "directly connected" to another element, it should be understood that the other element does not exist in the middle. On the other hand, other expressions describing the relationship between elements, that is, "between" and "between" or "neighboring to" and "directly adjacent to", etc., should be interpreted similarly.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression is to be understood as including the plural expression unless the context clearly dictates otherwise, and terms such as "comprises" or "have" refer to the embodied feature, number, step, action, component, part or these It is intended to indicate that a combination exists, and it should be understood that it does not preclude the possibility of the existence or addition of one or more other features or numbers, steps, operations, components, parts, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, identification numbers (eg, a, b, c, etc.) are used for convenience of description, and identification numbers do not describe the order of each step, and each step clearly indicates a specific order in context. Unless otherwise specified, it may occur in a different order from the specified order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable codes on a computer-readable recording medium, and the computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. . Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. In addition, the computer-readable recording medium is distributed in a computer system connected to a network, so that the computer-readable code can be stored and executed in a distributed manner.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs, unless otherwise defined. Terms defined in general used in the dictionary should be interpreted as having the meaning consistent with the context of the related art, and cannot be interpreted as having an ideal or excessively formal meaning unless explicitly defined in the present application.

도 1은 본 발명에 따른 병렬처리 시스템을 설명하는 도면이다.1 is a diagram illustrating a parallel processing system according to the present invention.

도 1을 참조하면, 병렬처리 시스템(100)은 사용자 단말(110), 병렬처리 장치(130) 및 데이터베이스(150)를 포함할 수 있다.Referring to FIG. 1 , the parallel processing system 100 may include a user terminal 110 , a parallel processing device 130 , and a database 150 .

사용자 단말(110)은 3차원 공간 정보 생성을 위한 측정자료를 제공할 수 있는 컴퓨팅 장치에 해당할 수 있다. 사용자 단말(110)은 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 병렬처리 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 병렬처리 장치(130)와 동시에 연결될 수 있다. 또한, 사용자 단말(110)은 병렬처리 시스템(100)에 접속하여 관련 서비스를 이용할 수 있는 전용 프로그램 또는 어플리케이션을 설치하여 실행할 수 있다.The user terminal 110 may correspond to a computing device capable of providing measurement data for generating 3D spatial information. The user terminal 110 may be implemented as a smartphone, a notebook computer, or a computer, but is not limited thereto, and may be implemented in various devices such as a tablet PC. The user terminal 110 may be connected to the parallel processing apparatus 130 through a network, and a plurality of user terminals 110 may be simultaneously connected to the parallel processing apparatus 130 . In addition, the user terminal 110 can connect to the parallel processing system 100 and install and execute a dedicated program or application that can use a related service.

일 실시예에서, 사용자 단말(110)은 특정 지역의 항공사진을 생성하는 드론, 인공위성 등과 연동하여 항공사진을 수신할 수 있다. 즉, 사용자 단말(110)은 드론, 인공위성 등과 연동하는 컴퓨팅 장치에 해당할 수 있으며,In an embodiment, the user terminal 110 may receive an aerial photograph in conjunction with a drone, an artificial satellite, etc. that generate an aerial photograph of a specific area. That is, the user terminal 110 may correspond to a computing device interworking with drones, satellites, etc.,

병렬처리 장치(130)는 특정 지역에 대해 촬영된 사진자료를 이용하여 3차원 공간정보를 생성할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 병렬처리 장치(130)는 사용자 단말(110)과 유선 네트워크 또는 블루투스, WiFi 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 송·수신할 수 있다. 또한, 병렬처리 장치(130)는 데이터의 수집 또는 추가 기능의 제공을 위하여 외부 시스템과 연동하여 동작할 수도 있다.The parallel processing device 130 may be implemented as a server corresponding to a computer or program capable of generating 3D spatial information using photographic data taken for a specific region. The parallel processing device 130 may be connected to the user terminal 110 through a wired network or a wireless network such as Bluetooth or WiFi, and may transmit/receive data to and from the user terminal 110 through the network. In addition, the parallel processing device 130 may operate in conjunction with an external system to collect data or provide an additional function.

일 실시예에서, 병렬처리 장치(130)는 대용량의 사진들을 고속으로 처리할 수 있는 CPU 병렬처리 시스템을 구성할 수 있다. 즉, 병렬처리 장치(130)는 네트워크를 통해 분산된 연산처리 환경을 구축할 수 있으며, 네트워크를 통해 적어도 하나의 논리적 연산장치들과 연결될 수 있다. 이때, 논리적 연산장치는 CPU, GPU 등 연산능력을 갖는 독립적인 컴퓨팅 자원에 해당할 수 있고, 병렬처리 장치(130)는 네트워크에 연결된 각 연산자원을 독립된 노드로 구성하여 3차원 공간정보 생성을 위한 병렬처리 네트워크를 동적으로 구성할 수 있다.In an embodiment, the parallel processing device 130 may constitute a CPU parallel processing system capable of processing large-capacity photos at high speed. That is, the parallel processing unit 130 may build a distributed arithmetic processing environment through a network, and may be connected to at least one logical arithmetic unit through the network. In this case, the logical processing unit may correspond to an independent computing resource having computing power, such as CPU and GPU, and the parallel processing unit 130 configures each operating resource connected to the network as an independent node to generate 3D spatial information. Parallel processing networks can be configured dynamically.

데이터베이스(150)는 병렬처리 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 네트워크에 분산 배치된 다양한 연산장치들에 관한 정보를 저장할 수 있고, 병렬처리를 위한 분산환경에 관한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 병렬처리 장치(130)가 3차원 공간정보 생성을 위한 각 단계를 수행하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The database 150 may correspond to a storage device for storing various types of information required in the operation process of the parallel processing device 130 . The database 150 may store information about various computing devices distributedly arranged in a network, and may store information about a distributed environment for parallel processing, but is not necessarily limited thereto, and the parallel processing device 130 includes 3 In the process of performing each step for generating dimensional spatial information, information collected or processed in various forms can be stored.

도 2는 도 1의 병렬처리 장치의 시스템 구성을 설명하는 도면이다.FIG. 2 is a diagram for explaining the system configuration of the parallel processing device of FIG. 1 .

도 2를 참조하면, 병렬처리 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.Referring to FIG. 2 , the parallel processing device 130 may be implemented including a processor 210 , a memory 230 , a user input/output unit 250 , and a network input/output unit 270 .

프로세서(210)는 병렬처리 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 병렬처리 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 병렬처리 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.The processor 210 may execute a procedure for processing each step in the process in which the parallel processing unit 130 operates, and manage the memory 230 that is read or written throughout the process, and the memory 230 ) can schedule the synchronization time between volatile and non-volatile memory in The processor 210 may control the overall operation of the parallel processing unit 130 , and is electrically connected to the memory 230 , the user input/output unit 250 , and the network input/output unit 270 to control data flow between them. can The processor 210 may be implemented as a central processing unit (CPU) of the parallel processing unit 130 .

메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 병렬처리 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.The memory 230 is implemented as a non-volatile memory, such as a solid state drive (SSD) or a hard disk drive (HDD), and may include an auxiliary storage device used to store overall data required for the parallel processing device 130, It may include a main memory implemented as a volatile memory such as random access memory (RAM).

사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 병렬처리 장치(130)는 독립적인 서버로서 수행될 수 있다.The user input/output unit 250 may include an environment for receiving a user input and an environment for outputting specific information to the user. For example, the user input/output unit 250 may include an input device including an adapter such as a touch pad, a touch screen, an on-screen keyboard, or a pointing device, and an output device including an adapter such as a monitor or a touch screen. In an embodiment, the user input/output unit 250 may correspond to a computing device connected through a remote connection, and in such a case, the parallel processing unit 130 may be performed as an independent server.

네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.The network input/output unit 270 includes an environment for connecting with an external device or system through a network, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a VAN (Wide Area Network) (VAN). It may include an adapter for communication such as Value Added Network).

도 3은 도 1의 병렬처리 장치의 기능적 구성을 설명하는 도면이다.FIG. 3 is a diagram for explaining a functional configuration of the parallel processing device of FIG. 1 .

도 3을 참조하면, 병렬처리 장치(130)는 공간영상 수신부(310), 병렬처리 노드 결정부(330), 병렬처리 노드 제어부(350) 및 제어부(370)를 포함할 수 있다.Referring to FIG. 3 , the parallel processing apparatus 130 may include a spatial image receiving unit 310 , a parallel processing node determining unit 330 , a parallel processing node control unit 350 , and a control unit 370 .

공간영상 수신부(310)는 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신할 수 있다. 즉, 공간영상 수신부(310)는 사용자 단말(110)로부터 복수의 단위 공간영상들을 수신할 수 있다. 이때, 복수의 단위 공간영상들은 드론이나 인공위성 등의 장치를 통해 특정 지역의 상공에서 소정의 간격으로 반복적으로 촬영될 수 있다. 또한, 드론이나 인공위성 등은 3차원 공간정보 생성을 위한 목적에 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영할 수 있다.The spatial image receiving unit 310 may receive a plurality of unit spatial images configured by photographing the surrounding space at a corresponding location for a specific period while moving along a given path in time series order. That is, the spatial image receiver 310 may receive a plurality of unit spatial images from the user terminal 110 . In this case, the plurality of unit spatial images may be repeatedly captured at predetermined intervals in the sky over a specific area through a device such as a drone or an artificial satellite. In addition, a drone or an artificial satellite can photograph the surrounding space at a corresponding location during a specific period while moving along a given path for the purpose of generating 3D spatial information.

해당 과정에서, 사용자 단말(110)은 해당 사진들 중 일부만을 선택적으로 수집하거나 또는 해당 원본 사진에 대해 소정의 전처리 연산을 수행할 수 있다. 공간영상 수신부(310)는 사용자 단말(110)로부터 시계열 순서에 따라 생성 및 가공된 사진 자료들을 수신하여 데이터베이스(150)에 저장할 수 있다.In the process, the user terminal 110 may selectively collect only some of the photos or perform a predetermined pre-processing operation on the original photos. The spatial image receiver 310 may receive the photo data generated and processed according to the time series from the user terminal 110 and store it in the database 150 .

일 실시예에서, 공간영상 수신부(310)는 복수의 단위 공간영상들의 중첩된 공간영역의 크기가 특정 크기 이상이 되도록 이동의 속도를 기초로 복수의 단위 공간영상들을 구성할 수 있다. 즉, 사용자 단말(110)을 통해 수집된 영상들은 3차원 공간정보 생성을 위하여 소정의 간격마다 촬영될 수 있으며, 이때, 연속하여 촬영된 영상(또는 사진)들은 소정의 중첩 영역을 포함한 상태에서 생성될 수 있다. 공간영상 수신부(310)는 보다 정확한 공간정보 생성을 위하여 사용자 단말(110)과 연동하여 촬영되는 공간영상들 간의 중첩 영역의 크기를 설정할 수 있으며, 이에 따라 공간영상들은 소정의 중첩 영역을 포함하도록 촬영될 수 있다. 결과적으로, 3차원 공간정보들은 연속적으로 촬영된 공간영상들이 중첩된 영역을 기준으로 통합 및 보정된 결과로서 생성될 수 있으며, 중첩된 영역을 기준으로 인접한 영상들을 통합하는 과정에서 대량의 연산 비용이 소모될 수 있다.In an embodiment, the spatial image receiver 310 may configure the plurality of unit spatial images based on the speed of movement so that the size of the overlapping spatial region of the plurality of unit spatial images is greater than or equal to a specific size. That is, images collected through the user terminal 110 may be photographed at predetermined intervals to generate 3D spatial information, and in this case, consecutively photographed images (or photos) are generated in a state including a predetermined overlapping area. can be The spatial image receiving unit 310 may set the size of an overlapping area between spatial images captured by interworking with the user terminal 110 in order to generate more accurate spatial information, and thus the spatial images are photographed to include a predetermined overlapping area. can be As a result, 3D spatial information can be generated as a result of integration and correction based on the overlapping area of continuously photographed spatial images, and a large amount of computational cost is incurred in the process of integrating adjacent images based on the overlapping area. can be consumed.

일 실시예에서, 공간영상 수신부(310)는 이동의 속도에 반비례하도록 특정 주기를 결정할 수 있다. 공간영상 수신부(310)는 사용자 단말(110)과 연동하여 단위 공간영상의 촬영 주기를 결정할 수 있으며, 필요에 따라 드론의 이동 속도에 반비례하도록 특정 주기를 결정할 수 있다. 즉, 드론은 이동하는 과정에서 공간영상을 촬영할 수 있으며, 촬영 주기에 따라 연속된 단위 공간영상 간의 중첩 영역의 크기가 결정될 수 있다. 이때, 촬영 주기는 드론의 이동 속도에 반비례하도록 설정될 수 있으며, 이에 따라 연속하여 촬영된 단위 공간영상 간의 중첩 영역의 크기를 일정하게 유지될 수 있다.In an embodiment, the spatial image receiver 310 may determine a specific period to be inversely proportional to the speed of movement. The spatial image receiving unit 310 may determine a photographing period of a unit spatial image by interworking with the user terminal 110 , and may determine a specific period to be inversely proportional to the moving speed of the drone, if necessary. That is, the drone can shoot spatial images while moving, and the size of the overlapping area between consecutive unit spatial images can be determined according to the shooting period. In this case, the photographing period may be set to be in inverse proportion to the moving speed of the drone, and accordingly, the size of the overlapping area between consecutively photographed unit spatial images may be maintained constant.

일 실시예에서, 공간영상 수신부(310)는 이동의 속도가 제1 특정 속도 이하인 경우에는 특정 주기를 최대 값으로 결정하고, 이동의 속도가 제2 특정 속도 이상인 경우에는 특정 주기를 최소 값으로 결정할 수 있다. 공간영상 수신부(310)는 사용자 단말(110)과 연동하여 촬영 주기를 동적으로 설정할 수 있다. 이때, 드론의 이동 속도가 기 설정된 제1 특정 속도 이하인 경우에는 촬영 주기를 기 설정된 최대 값으로 결정하여 촬영 주기가 더 길어지는 것을 제한할 수 있으며, 드론의 이동 속도가 기 설정된 제2 특정 속도 이상인 경우에는 촬영 주기를 기 설정된 최소 값으로 결정하여 촬영 주기가 더 짧아지는 것을 제한할 수 있다.In an embodiment, the spatial image receiving unit 310 determines a specific period as a maximum value when the movement speed is less than or equal to the first specific speed, and determines a specific period as a minimum value when the movement speed is greater than or equal to the second specific speed. can The spatial image receiver 310 may dynamically set a shooting period in conjunction with the user terminal 110 . In this case, when the moving speed of the drone is less than or equal to the first specific speed, the shooting period may be determined as a preset maximum value to limit the longer shooting period, and the moving speed of the drone may be greater than or equal to the second specific speed. In this case, it is possible to limit the shortening of the photographing period by determining the photographing period as a preset minimum value.

병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수를 기초로 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정할 수 있다. 병렬처리 노드 결정부(330)는 분산처리 환경에 참여하는 노드들의 개수를 결정할 수 있으며, 3차원 공간정보 생성에 필요한 연산비용(예를 들어, 총 연산량)에 따라 동적으로 결정할 수 있다. 특히, 병렬처리 노드 결정부(330)는 3차원 공간정보 생성에 사용되는 단위 공간영상들의 총 개수를 고려하여 노드들의 개수를 결정할 수 있다. 즉, 단위 공간영상들의 개수가 많을수록 3차원 공간정보 생성을 위해 보다 많은 연산량이 필요할 수 있고, 이에 따라 병렬처리 노드 결정부(330)는 참여 가능한 노드들의 개수를 증가시켜 해당 연산량을 적절히 분산시킬 수 있다. 결과적으로, 분산 처리를 통해 전체 연산량이 병렬적으로 처리됨으로써 전체 연산에 소요되는 시간이 단축될 수 있다.The parallel processing node determiner 330 may determine nodes for optimal parallel processing among a plurality of nodes based on the number of a plurality of unit spatial images. The parallel processing node determining unit 330 may determine the number of nodes participating in the distributed processing environment, and may dynamically determine the number of nodes according to an operation cost (eg, total amount of computation) required to generate 3D spatial information. In particular, the parallel processing node determiner 330 may determine the number of nodes in consideration of the total number of unit spatial images used to generate 3D spatial information. That is, as the number of unit spatial images increases, a greater amount of computation may be required to generate three-dimensional spatial information, and accordingly, the parallel processing node determiner 330 increases the number of nodes that can participate in and appropriately distributes the amount of computation. have. As a result, the total amount of computation is processed in parallel through distributed processing, so that the time required for the entire computation can be reduced.

일 실시예에서, 병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 복수의 노드들 중 현재 가용 기준을 만족시키는 노드들을 결정할 수 있다. 여기에서, 가용 기준은 분산처리에 참여 가능한 연산 능력에 관한 기준에 해당할 수 있다. 병렬처리 노드 결정부(330)는 가용 기준을 충족하는 노드들을 병렬처리에 참여시킬 수 있다.In an embodiment, the parallel processing node determiner 330 may determine a current availability criterion based on the number of a plurality of unit spatial images to determine nodes that satisfy the current availability criterion among a plurality of nodes. Here, the available criterion may correspond to a criterion regarding a computing power capable of participating in distributed processing. The parallel processing node determiner 330 may participate in parallel processing by nodes satisfying the availability criteria.

일 실시예에서, 병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수가 증가될수록 현재 가용 기준을 낮춰서 현재 가용 기준을 만족시키는 노드들의 개수를 증가시킬 수 있다. 즉, 단위 공간영상들의 개수가 많으면 그만큼 연산비용이 증가하고, 이에 따라 병렬처리에 많은 노드들이 필요할 수 있다. 병렬처리 노드 결정부(330)는 참여 가능한 노드들을 결정하는 과정에서 가용 기준을 낮춤으로써 참여 노드들이 수를 증가시킬 수 있다.In an embodiment, the parallel processing node determiner 330 may increase the number of nodes satisfying the current availability criterion by lowering the current availability criterion as the number of the plurality of unit spatial images increases. That is, if the number of unit spatial images is large, the computation cost increases accordingly, and accordingly, many nodes may be required for parallel processing. The parallel processing node determining unit 330 may increase the number of participating nodes by lowering the availability criterion in the process of determining participating nodes.

일 실시예에서, 병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수가 감소될수록 현재 가용 기준을 높여서 현재 가용 기준을 만족시키는 노드들의 개수를 감소시킬 수 있다. 즉, 단위 공간영상들의 개수가 적으면 그만큼 연산비용이 감소하고, 이에 따라 병렬처리에 적은 노드들이 필요할 수 있다. 병렬처리 노드 결정부(330)는 참여 가능한 노드들을 결정하는 과정에서 가용 기준을 높임으로써 참여 노드들이 수를 감소시킬 수 있다.In an embodiment, the parallel processing node determiner 330 may decrease the number of nodes satisfying the current availability criterion by increasing the current availability criterion as the number of the plurality of unit spatial images decreases. That is, if the number of unit spatial images is small, the computation cost is reduced accordingly, and accordingly, fewer nodes may be required for parallel processing. The parallel processing node determining unit 330 may reduce the number of participating nodes by increasing the availability criterion in the process of determining participating nodes.

병렬처리 노드 제어부(350)는 결정된 노드들에 복수의 단위 공간영상들을 분배하고 결정된 노드들 중 하나가 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 할 수 있다. 병렬처리 노드 제어부(350)는 병렬처리를 위한 노드들이 결정되면 처리가 필요한 단위 공간영상들을 해당 노드들에게 분배할 수 있다. 각 노드들은 분배된 단위 공간영상들을 처리하여 처리 결과를 특정 노드(마스터 노드)에 보고할 수 있다. 병렬처리 노드 제어부(350)는 병렬처리를 위한 분산환경을 구성하면서 전체 연산의 통합 제어를 수행하는 마스터 노드를 결정할 수 있다. 즉, 마스터 노드는 병렬처리에 참여하기로 결정된 노드들 중에서 선택될 수 있으며, 단위 공간영상들의 중첩 영역을 검출하는 동작을 수행할 수 있다.The parallel processing node controller 350 may distribute a plurality of unit spatial images to the determined nodes, and allow one of the determined nodes to detect an overlapping spatial region from the plurality of unit spatial images. When nodes for parallel processing are determined, the parallel processing node controller 350 may distribute unit spatial images requiring processing to the corresponding nodes. Each node may process the distributed unit spatial images and report the processing result to a specific node (master node). The parallel processing node control unit 350 may determine a master node that performs integrated control of all operations while configuring a distributed environment for parallel processing. That is, the master node may be selected from among nodes determined to participate in parallel processing, and may perform an operation of detecting an overlapping region of unit spatial images.

일 실시예에서, 병렬처리 노드 제어부(350)는 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정할 수 있다. 병렬처리 노드 제어부(350)는 노드들 중에서 병렬처리의 전체 제어를 위한 마스터 노드를 결정할 수 있으며, 이를 위해 노드들 중에서 가장 높은 가종 기준을 가지는 노드를 결정할 수 있다. 즉, 마스터 노드는 병렬처리 과정에서 다른 노드들에 대한 데이터 전송과 결과 수집의 연산을 담당하기 때문에 노드들 중에서 가장 성능 조건이 좋은 노드에 해당할 수 있다.In an embodiment, the parallel processing node controller 350 may select a node having the highest availability criterion from among the determined nodes and determine the node as the master node. The parallel processing node controller 350 may determine a master node for overall control of parallel processing among nodes, and for this purpose, may determine a node having the highest pseudo-standard among nodes. That is, since the master node is in charge of data transmission and result collection to other nodes in the parallel processing process, it may correspond to the node with the best performance condition among nodes.

일 실시예에서, 병렬처리 노드 제어부(350)는 마스터 노드가 중첩된 공간영역을 검출하도록 하고 복수의 단위 공간영상들을 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 결정된 노드들 중 마스터 노드를 제외한 나머지 노드들에 분배하도록 할 수 있다. 즉, 단위 공간영상에 대한 정보는 마스터 노드에 의해 검출된 중첩 공간영역과 비중첩 공간영역에 관한 정보를 포함할 수 있다. 병렬처리 노드 제어부(350)는 마스터 노드를 통해 중첩된 공간영역이 검출되면 비중첩 공간영역에 관한 정보를 생성하여 나머지 노드들에게 분배할 수 있다. 병렬처리 노드 제어부(350)는 나머지 노드들에게 비중첩 공간영역에 관한 정보만을 전송하여 해당 공간영역에 대한 처리 결과만을 수집할 수 있으며, 필요에 따라 중첩 및 비중첩 공간영역들 모두에 관한 정보를 전송할 수도 있다.In one embodiment, the parallel processing node control unit 350 causes the master node to detect an overlapping spatial region, and sets a plurality of unit spatial images to a master among the determined nodes together with information on a non-overlapping spatial region excluding the overlapped spatial region. It can be distributed to the remaining nodes except for the node. That is, the information on the unit spatial image may include information about the overlapping spatial region and the non-overlapping spatial region detected by the master node. When an overlapping spatial region is detected through the master node, the parallel processing node controller 350 may generate information about the non-overlapping spatial region and distribute it to the remaining nodes. The parallel processing node control unit 350 may collect only the processing results for the spatial region by transmitting only information about the non-overlapping spatial region to the remaining nodes, and may collect information on both the overlapping and non-overlapping spatial regions as necessary. can also be transmitted.

한편, 병렬처리 노드 제어부(350)는 마스터 노드를 통해 복수의 단위 공간영상들을 나머지 노드들에게 분배하고 그 처리 결과를 수집하여 통합할 수 있다. 즉, 마스터 노드가 분배와 통합의 연산을 전담하여 처리할 수 있으며, 나머지 노드들은 단위 공간영상들에 관한 분산처리를 전담하여 처리하도록 구성될 수도 있다. 이 경우, 나머지 노드들 각각은 단위 공간영상들에 대해 중첩 영역의 검출과 그에 따른 3차원 공간정보 생성 동작을 독립적으로 수행할 수 있으며, 수행 결과를 마스터 노드에게 전달할 수 있다.Meanwhile, the parallel processing node controller 350 may distribute a plurality of unit spatial images to the remaining nodes through the master node, and collect and integrate the processing results. That is, the master node may exclusively process the calculation of distribution and integration, and the remaining nodes may be configured to exclusively process distributed processing for unit spatial images. In this case, each of the remaining nodes can independently perform the detection of the overlapping region and the corresponding 3D spatial information generation operation for the unit spatial images, and deliver the result to the master node.

일 실시예에서, 병렬처리 노드 제어부(350)는 마스터 노드를 통해 중첩된 공간영역에 관한 중첩 3차원 공간정보를 생성할 수 있다. 즉, 마스터 노드는 단위 고간영상들 간의 중첩된 공간영역을 검출할 수 있고, 중첩된 공간영역에 대한 중첩 3차원 공간정보를 생성할 수 있다. 이 경우, 나머지 노드들에서는 비중첩 공간영역에 대한 3차원 공간정보만이 생성될 수 있다.In an embodiment, the parallel processing node control unit 350 may generate overlapping 3D spatial information about the overlapping spatial region through the master node. That is, the master node may detect an overlapping spatial region between the unit intercrop images, and may generate overlapping 3D spatial information for the overlapped spatial region. In this case, only 3D spatial information about the non-overlapping spatial region may be generated in the remaining nodes.

일 실시예에서, 병렬처리 노드 제어부(350)는 나머지 노드들 각각을 통해 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 생성할 수 있다. 즉, 하나의 단위 공간영상에 대해 중첩 공간영역에 관한 중첩 3차원 공간정보는 마스터 노드에 의해 생성될 수 있고, 나머지 비 중첩 공간영역에 관한 비중첩 3차원 공간정보는 나머지 노드들 중 어느 하나에 의해 생성될 수 있다.In an embodiment, the parallel processing node controller 350 may generate non-overlapping 3D spatial information about the non-overlapping spatial region of at least one corresponding unit spatial image through each of the remaining nodes. That is, with respect to one unit spatial image, the overlapping 3D spatial information on the overlapping spatial region can be generated by the master node, and the non-overlapping 3D spatial information on the remaining non-overlapping spatial region is stored in any one of the remaining nodes. can be created by

일 실시예에서, 병렬처리 노드 제어부(350)는 마스터 노드를 통해 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 수집하고, 중첩 3차원 공간정보 및 비중첩 공간영역를 병합하여 3차원 공간정보를 생성할 수 있다. 즉, 마스터 노드는 나머지 노드들에서 수행되어 생성된 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 수집할 수 있고, 이를 병합하여 최종적인 3차원 공간정보를 생성할 수 있다. 병렬처리 노드 제어부(350)는 마스터 노드에 의해 통합된 3차원 공간정보를 획득하여 데이터베이스(150)에 저장할 수 있으며, 사용자 단말(110)의 요청에 따라 사용자 단말(110)에게 전송할 수도 있다.In one embodiment, the parallel processing node control unit 350 collects non-overlapping 3D spatial information about the non-overlapping spatial region of at least one corresponding unit spatial image through the master node, and collecting the overlapping 3D spatial information and the non-overlapping space By merging regions, 3D spatial information can be generated. That is, the master node can collect the non-overlapping 3D spatial information on the non-overlapping spatial region generated by performing the other nodes, and can generate the final 3D spatial information by merging them. The parallel processing node control unit 350 may obtain 3D spatial information integrated by the master node and store it in the database 150 , and may transmit it to the user terminal 110 according to the request of the user terminal 110 .

제어부(370)는 병렬처리 장치(130)의 전체적인 동작을 제어하고, 병렬처리 장치(130)는 공간영상 수신부(310), 병렬처리 노드 결정부(330) 및 병렬처리 노드 제어부(350) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control unit 370 controls the overall operation of the parallel processing unit 130 , and the parallel processing unit 130 controls the spatial image receiving unit 310 , the parallel processing node determining unit 330 , and the parallel processing node control unit 350 . You can manage the flow or data flow.

도 4는 본 발명에 따른 3차원 공간정보 생성을 위한 병렬처리 방법을 설명하는 순서도이다.4 is a flowchart illustrating a parallel processing method for generating 3D spatial information according to the present invention.

도 4를 참조하면, 병렬처리 장치(130)는 공간영상 수신부(310)를 통해 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신할 수 있다(단계 S410).Referring to FIG. 4 , the parallel processing device 130 receives a plurality of unit spatial images configured by photographing the surrounding space at a corresponding position during a specific period while moving along a given path through the spatial image receiving unit 310 in time series order. It can be done (step S410).

병렬처리 장치(130)는 병렬처리 노드 결정부(330)를 통해 복수의 단위 공간영상들의 개수를 기초로 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정할 수 있다(단계 S430). 즉, 병렬처리 장치(130)는 3차원 공간정보의 생성 환경에 따라 분산처리에 참여 가능한 노드들 중에서 최적의 노드들을 선택적으로 적용할 수 있다. 이때, 복수의 노드들은 각각 연산 유닛으로서 프로세서를 포함하여 구성될 수 있다.The parallel processing apparatus 130 may determine nodes for optimal parallel processing among a plurality of nodes based on the number of a plurality of unit spatial images through the parallel processing node determiner 330 (step S430). That is, the parallel processing apparatus 130 may selectively apply optimal nodes from among nodes capable of participating in distributed processing according to a generation environment of 3D spatial information. In this case, each of the plurality of nodes may be configured to include a processor as an operation unit.

병렬처리 장치(130)는 병렬처리 노드 제어부(350)를 통해 결정된 노드들에 복수의 단위 공간영상들을 분배하고 결정된 노드들 중 하나가 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 할 수 있다(단계 S450).The parallel processing apparatus 130 may distribute a plurality of unit spatial images to the nodes determined through the parallel processing node controller 350 and allow one of the determined nodes to detect an overlapping spatial region from the plurality of unit spatial images. There is (step S450).

도 5는 본 발명에 따른 병렬처리 장치의 동작 과정의 일 실시예를 설명하는 도면이다.5 is a view for explaining an embodiment of an operation process of a parallel processing device according to the present invention.

도 5를 참조하면, 병렬처리 장치(130)는 클라이언트(client)(510) 및 노드(node)(550) 방식의 병렬처리 방식만으로 자료처리 시간을 줄일 수 있다. 항공삼각측량은 단순반복 계산이기는 하지만 그 계산횟수가 매우 커서 자료처리에 많은 시간이 소요될 수 있다. 특히, 카메라의 화소 수가 증가하고 정확도를 향상시키기 위한 사진의 밀도가 증가하면서 통상 1 배치(Batch)로 처리하는 사진의 매수가 적게는 수천 매에서 많게는 수만 매에 이를 수 있으며, 물리적 용량 역시 수십 기가바이트(Gbyte)에 이를 수 있다.Referring to FIG. 5 , the parallel processing apparatus 130 may reduce data processing time by using only a parallel processing method of a client 510 and a node 550 method. Although aerial triangulation is a simple iterative calculation, it can take a lot of time for data processing because the number of calculations is very large. In particular, as the number of pixels of a camera increases and the density of photos to improve accuracy increases, the number of photos processed in one batch can range from as few as thousands to as many as tens of thousands, and the physical capacity is also tens of gigabytes. It can reach bytes (Gbytes).

예를 들어, 측량품셈의 기본단위인 1km2를 측량하기 위해서는 고도 60m ~ 100m 비행할 경우 사진의 양은 7,000매 ~ 10,000매에 이를 수 있다. 병렬처리 장치(130)는 대량의 사진을 신속하게 처리하기 위해서 병렬처리 방식을 적용할 수 있으며, 클라이언트(client)(510) 및 노드(node)(550) 간의 조합을 통해 병렬처리를 구현할 수 있다.For example, in order to survey 1 km 2 , which is the basic unit of measurement, the amount of photos can reach 7,000 to 10,000 when flying at an altitude of 60 m to 100 m. The parallel processing device 130 may apply a parallel processing method to quickly process a large number of photos, and may implement parallel processing through a combination between the client 510 and the node 550 . .

도 5에서, 자료처리 전체 과정에서 클라이언트(client)(510)의 요청에 따라 병렬처리 장치(130)는 서버(server)(즉, 마스터 노드)(530)를 통해 같은 반복 계산을 여러 대의 노드(node)(550)들에게 분산시켜 처리할 수 있다. 또한, 병렬처리 장치(130)는 서버(530)를 통해 각 노드(550)들에서의 처리 결과를 수집하여 통합한 결과로서 최종 결과 값을 생성할 수 있다.In FIG. 5 , in accordance with the request of the client 510 in the entire data processing process, the parallel processing unit 130 performs the same repeated calculation through the server (ie, the master node) 530 to multiple nodes ( node) 550 can be distributed and processed. In addition, the parallel processing unit 130 may generate a final result value as a result of collecting and integrating processing results in each node 550 through the server 530 .

한편, 병렬처리 장치(130)는 무한히 많은 노드(node)들을 이용하는 것이 아닌 기 설정된 규모(즉, 노드의 총 수) 내에서 최적의 노드들의 수를 결정하고 이를 기초로 병렬처리를 위한 분산 환경을 구축할 수 있다. 한편, 병렬처리의 성능은 네트워크 통신망의 속도나 네트워크 처리 속도에도 영향을 받을 수 있으며, 병렬처리 장치(130)는 필요에 따라 해당 영향을 고려하여 병렬처리 네트워크를 구성할 수도 있다. 이에 관한 구체적인 실험 결과는 아래에서 보다 자세히 설명한다.On the other hand, the parallel processing device 130 determines the optimal number of nodes within a preset scale (that is, the total number of nodes) rather than using infinitely many nodes, and creates a distributed environment for parallel processing based on this. can be built On the other hand, parallel processing performance may be affected by the speed of a network communication network or network processing speed, and the parallel processing device 130 may configure a parallel processing network in consideration of the corresponding influence, if necessary. Specific experimental results regarding this will be described in more detail below.

일 실시예에서, 병렬처리 장치(130)는 사전에 수행된 다양한 환경 및 노드 조건들에 관한 데이터들을 학습하여 분산처리를 위한 최적의 노드들의 개수를 결정하는 학습 모델을 구축할 수 있다. 즉, 병렬처리 장치(130)는 다양한 환경 조건을 입력으로 하여 학습 모델을 통해 최적의 노드 수를 도출하고 이를 기초로 병렬처리를 위한 환경을 구성할 수도 있다.In an embodiment, the parallel processing device 130 may build a learning model that determines the optimal number of nodes for distributed processing by learning data related to various environments and node conditions performed in advance. That is, the parallel processing device 130 may derive the optimal number of nodes through a learning model by inputting various environmental conditions, and configure an environment for parallel processing based on this.

도 6은 본 발명에 따른 노드 구성별 가격대비 성능비 계산표를 설명하는 도면이고, 도 7은 본 발명에 따른 노드 구성별 처리시간 그래프를 설명하는 도면이다.6 is a diagram for explaining a cost-performance ratio calculation table for each node configuration according to the present invention, and FIG. 7 is a diagram for explaining a processing time graph for each node configuration according to the present invention.

도 6 및 7을 참조하면, 3차원 공간정보 제작을 위한 CPU 병렬처리 시스템에 관한 실험 환경은 다음과 같이 설정될 수 있다. 즉, 실험에 사용된 컴퓨터의 H/W는 CPU: i5, RAM: 16Gbyte이고, CPU 병렬처리의 효과만을 획득하기 위하여 GPU는 별도로 설치되지 않을 수 있다. 총 20대의 컴퓨터를 기가 인터넷 망에 연결하고, 1대의 서버(server), 1대의 클라이언트(client) 및 18대의 노드(node)로 구성된 실험 환경을 구축할 수 있다. 한편, 네트워크의 속도 역시 성능에 영향을 줄 수 있으나, 다양한 속도의 네트워크에 관한 조건은 생략되었다.6 and 7 , the experimental environment for the CPU parallel processing system for producing 3D spatial information may be set as follows. That is, the H/W of the computer used in the experiment is CPU: i5, RAM: 16Gbyte, and a GPU may not be separately installed in order to obtain only the effect of CPU parallel processing. A total of 20 computers can be connected to the Giga Internet network, and an experimental environment consisting of 1 server, 1 client, and 18 nodes can be built. On the other hand, although the speed of the network may also affect the performance, the condition regarding the network of various speeds is omitted.

획득된 사진은 총 6,700매로서 비행고도 60m, 렌즈 초점거리 16mm이며 촬영 중복도는 90% 이상으로 설정될 수 있다. 자료처리 옵션(option)은 정확도 2cm를 보장할 수 있도록 최대한 정밀하고 정확도를 높일 수 있는 옵션이 선택될 수 있다. 참고적으로, 옵션 중 중요한 요소들로서 1) Alignment: highest accuracy & Alignment Optimization(Re-Alignment), 2) Point Clout: ultra high quality, 3) Mosaic: 정밀도 2cm 가 적용될 수 있다.A total of 6,700 photos were acquired, with a flight altitude of 60 m and a lens focal length of 16 mm, and the shooting redundancy can be set to more than 90%. As for the data processing option, an option that can be as precise as possible and increase the accuracy can be selected to ensure an accuracy of 2 cm. For reference, as important factors among options, 1) Alignment: highest accuracy & Alignment Optimization (Re-Alignment), 2) Point Clout: ultra high quality, 3) Mosaic: precision 2cm can be applied.

도 6 및 7에서, 노드(node) 수에 따른 처리시간 곡성의 변곡점인 8개의 노드 수가 가격대비 성능의 최적 수임을 확인할 수 있다. 또한, 처리시간 역시 1/10 이상으로 단축됨을 확인할 수 있다.6 and 7 , it can be confirmed that the number of eight nodes, which is an inflection point of the processing time curve according to the number of nodes, is the optimal number of price-performance ratios. In addition, it can be seen that the processing time is also shortened to 1/10 or more.

항공사진 측량의 자료처리 과정은 단순반복 계산의 연속으로서, 병렬처리를 수행하는 경우 처리속도를 기하급수적으로 단축할 수 있다. 다만, 병렬처리를 위한 노드의 개수는 각 처리 환경에 따라 최적의 수가 결정될 수 있다.The data processing process of aerial photogrammetry is a series of simple iterative calculations, and when parallel processing is performed, the processing speed can be reduced exponentially. However, the optimal number of nodes for parallel processing may be determined according to each processing environment.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it can be done.

100: 병렬처리 시스템
110: 사용자 단말 130: 병렬처리 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 공간영상 수신부 330: 병렬처리 노드 결정부
350: 병렬처리 노드 제어부 370: 제어부
510: 클라이언트 530: 서버
550: 노드
100: parallel processing system
110: user terminal 130: parallel processing unit
150: database
210: processor 230: memory
250: user input/output unit 270: network input/output unit
310: spatial image receiving unit 330: parallel processing node determining unit
350: parallel processing node control unit 370: control unit
510: client 530: server
550: node

Claims (16)

적어도 하나의 프로세서로 각각 구성된 복수의 노드들;
주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신하는 공간영상 수신부;
상기 복수의 단위 공간영상들의 개수를 기초로 상기 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정하는 병렬처리 노드 결정부; 및
상기 결정된 노드들에 상기 복수의 단위 공간영상들을 분배하고 상기 결정된 노드들 중 하나가 상기 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 하는 병렬처리 노드 제어부를 포함하는 3차원 공간정보 생성을 위한 병렬처리 장치.
a plurality of nodes each configured with at least one processor;
a spatial image receiving unit for receiving a plurality of unit spatial images configured by photographing the surrounding space at a corresponding position during a specific period while moving along a given path in time series order;
a parallel processing node determining unit that determines nodes for optimal parallel processing among the plurality of nodes based on the number of the plurality of unit spatial images; and
3D spatial information generation including a parallel processing node control unit for distributing the plurality of unit spatial images to the determined nodes and allowing one of the determined nodes to detect an overlapping spatial region from the plurality of unit spatial images parallel processing unit for
제1항에 있어서, 상기 공간영상 수신부는
상기 복수의 단위 공간영상들의 중첩된 공간영역의 크기가 특정 크기 이상이 되도록 상기 이동의 속도를 기초로 상기 복수의 단위 공간영상들을 구성하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
According to claim 1, wherein the spatial image receiving unit
A parallel processing apparatus for generating three-dimensional spatial information, characterized in that the plurality of unit spatial images are configured based on the speed of movement so that the size of the overlapped spatial region of the plurality of unit spatial images is greater than or equal to a specific size.
제2항에 있어서, 상기 공간영상 수신부는
상기 이동의 속도에 반비례하도록 상기 특정 주기를 결정하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
According to claim 2, wherein the spatial image receiving unit
A parallel processing apparatus for generating 3D spatial information, characterized in that the specific period is determined so as to be inversely proportional to the speed of the movement.
제3항에 있어서, 상기 공간영상 수신부는
상기 이동의 속도가 제1 특정 속도 이하인 경우에는 상기 특정 주기를 최대 값으로 결정하고,
상기 이동의 속도가 제2 특정 속도 이상인 경우에는 상기 특정 주기를 최소 값으로 결정하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 3, wherein the spatial image receiving unit
When the speed of movement is less than or equal to the first specific speed, the specific period is determined as the maximum value,
The parallel processing apparatus for generating 3D spatial information, characterized in that when the movement speed is equal to or greater than a second specific speed, the specific period is determined as a minimum value.
제1항에 있어서, 상기 병렬처리 노드 결정부는
상기 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 상기 복수의 노드들 중 상기 현재 가용 기준을 만족시키는 노드들을 결정하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 1, wherein the parallel processing node determining unit
and determining a current availability criterion based on the number of the plurality of unit spatial images to determine nodes satisfying the current availability criterion among the plurality of nodes.
제5항에 있어서, 상기 병렬처리 노드 결정부는
상기 복수의 단위 공간영상들의 개수가 증가될수록 상기 현재 가용 기준을 낮춰서 상기 현재 가용 기준을 만족시키는 노드들의 개수를 증가시키는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 5, wherein the parallel processing node determining unit
The parallel processing apparatus for generating 3D spatial information, characterized in that as the number of the plurality of unit spatial images increases, the number of nodes satisfying the current availability criterion is increased by lowering the current availability criterion.
제5항에 있어서, 상기 병렬처리 노드 결정부는
상기 복수의 단위 공간영상들의 개수가 감소될수록 상기 현재 가용 기준을 높여서 상기 현재 가용 기준을 만족시키는 노드들의 개수를 감소시키는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 5, wherein the parallel processing node determining unit
The parallel processing apparatus for generating 3D spatial information, characterized in that as the number of the plurality of unit spatial images decreases, the number of nodes satisfying the current availability criterion is decreased by increasing the current availability criterion.
제1항에 있어서, 상기 병렬처리 노드 제어부는
상기 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
According to claim 1, wherein the parallel processing node control unit
A parallel processing apparatus for generating 3D spatial information, characterized in that the node having the highest available criterion is selected from among the determined nodes and determined as the master node.
제8항에 있어서, 상기 병렬처리 노드 제어부는
상기 마스터 노드가 상기 중첩된 공간영역을 검출하도록 하고 상기 복수의 단위 공간영상들을 상기 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 상기 결정된 노드들 중 상기 마스터 노드를 제외한 나머지 노드들에 분배하도록 하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 8, wherein the parallel processing node control unit
Let the master node detect the overlapping spatial region, and transmit the plurality of unit spatial images to the remaining nodes except for the master node among the determined nodes together with information on the non-overlapping spatial region excluding the overlapped spatial region. A parallel processing device for generating 3D spatial information, characterized in that it is distributed.
제9항에 있어서, 상기 병렬처리 노드 제어부는
상기 마스터 노드를 통해 상기 중첩된 공간영역에 관한 중첩 3차원 공간정보를 생성하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
10. The method of claim 9, wherein the parallel processing node control unit
A parallel processing apparatus for generating 3D spatial information, characterized in that the superimposed 3D spatial information on the overlapped spatial region is generated through the master node.
제10항에 있어서, 상기 병렬처리 노드 제어부는
상기 나머지 노드들 각각을 통해 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 생성하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
11. The method of claim 10, wherein the parallel processing node control unit
A parallel processing apparatus for generating 3D spatial information, characterized in that generating non-overlapping 3D spatial information on a non-overlapping spatial region of at least one corresponding unit spatial image through each of the remaining nodes.
제11항에 있어서, 상기 병렬처리 노드 제어부는
상기 마스터 노드를 통해 상기 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 수집하고, 상기 중첩 3차원 공간정보 및 상기 비중첩 공간영역를 병합하여 3차원 공간정보를 생성하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 11, wherein the parallel processing node control unit
Collecting non-overlapping 3D spatial information on the non-overlapping spatial region of the at least one corresponding unit spatial image through the master node, and merging the overlapping 3D spatial information and the non-overlapping spatial region to generate 3D spatial information A parallel processing device for generating 3D spatial information, characterized in that
적어도 하나의 프로세서로 각각 구성된 복수의 노드들을 포함하는 병렬처리 장치에서 수행되는 방법에 있어서,
주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신하는 단계;
상기 복수의 단위 공간영상들의 개수를 기초로 상기 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정하는 단계; 및
상기 결정된 노드들에 상기 복수의 단위 공간영상들을 분배하고 상기 결정된 노드들 중 하나가 상기 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 하는 단계를 포함하는 3차원 공간정보 생성을 위한 병렬처리 방법.
A method performed in a parallel processing device including a plurality of nodes each configured with at least one processor,
Receiving a plurality of unit spatial images constructed by photographing the surrounding space at a corresponding location during a specific period while moving along a given path in time series order;
determining nodes for optimal parallel processing among the plurality of nodes based on the number of the plurality of unit spatial images; and
Parallel processing for generating 3D spatial information, comprising distributing the plurality of unit spatial images to the determined nodes and allowing one of the determined nodes to detect an overlapping spatial region from the plurality of unit spatial images Way.
제13항에 있어서, 상기 노드들을 결정하는 단계는
상기 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 상기 복수의 노드들 중 상기 현재 가용 기준을 만족시키는 노드들을 결정하는 단계를 포함하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 방법.
14. The method of claim 13, wherein determining the nodes comprises:
and determining a currently available criterion based on the number of the plurality of unit spatial images to determine nodes that satisfy the currently available criterion among the plurality of nodes. processing method.
제13항에 있어서, 상기 노드들을 결정하는 단계는
상기 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정하는 단계를 포함하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 방법.
14. The method of claim 13, wherein determining the nodes comprises:
and selecting a node having the highest available criterion among the determined nodes and determining the node as a master node.
제15항에 있어서, 상기 공간영역을 검출하도록 하는 단계는
상기 마스터 노드가 상기 중첩된 공간영역을 검출하도록 하고 상기 복수의 단위 공간영상들을 상기 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 상기 결정된 노드들 중 상기 마스터 노드를 제외한 나머지 노드들에 분배하도록 하는 단계를 포함하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 방법.
The method of claim 15, wherein the step of detecting the spatial region comprises:
Let the master node detect the overlapping spatial region, and transmit the plurality of unit spatial images to the remaining nodes except for the master node among the determined nodes together with information on the non-overlapping spatial region excluding the overlapped spatial region. A parallel processing method for generating 3D spatial information, comprising the step of distributing it.
KR1020200174628A 2020-12-14 2020-12-14 Parallel processing apparatus and method for generating 3d spatial information KR102520375B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200174628A KR102520375B1 (en) 2020-12-14 2020-12-14 Parallel processing apparatus and method for generating 3d spatial information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200174628A KR102520375B1 (en) 2020-12-14 2020-12-14 Parallel processing apparatus and method for generating 3d spatial information

Publications (2)

Publication Number Publication Date
KR20220084790A true KR20220084790A (en) 2022-06-21
KR102520375B1 KR102520375B1 (en) 2023-04-11

Family

ID=82221086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200174628A KR102520375B1 (en) 2020-12-14 2020-12-14 Parallel processing apparatus and method for generating 3d spatial information

Country Status (1)

Country Link
KR (1) KR102520375B1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100904078B1 (en) 2008-12-30 2009-06-23 (주)대한지적기술단 A system and a method for generating 3-dimensional spatial information using aerial photographs of image matching
KR20140103805A (en) * 2013-02-18 2014-08-27 단국대학교 산학협력단 Method for distributing data and apparatus therefor
US20150381946A1 (en) * 2014-04-10 2015-12-31 Smartvue Corporation Systems and Methods for Automated Cloud-Based Analytics and 3-Dimensional (3D) Display for Surveillance Systems in Retail Stores
KR20170074789A (en) * 2015-12-21 2017-06-30 한국전자통신연구원 Method for processing image based on container
KR20170076506A (en) * 2015-12-24 2017-07-04 전자부품연구원 Method of generating around view and apparatus performing the same
WO2018016394A1 (en) * 2016-07-22 2018-01-25 日立オートモティブシステムズ株式会社 Traveling road boundary estimation apparatus and traveling assistance system using same
KR101827167B1 (en) * 2016-11-01 2018-02-08 고려대학교 세종산학협력단 Method and apparatus for high speed images stitching using sift parallization
KR20190119487A (en) * 2018-04-12 2019-10-22 숭실대학교산학협력단 Node management system for small data machine learning
KR102052013B1 (en) * 2019-06-12 2019-12-04 한국해양과학기술원 Image composing system and camera calibration method for ship
KR20200009951A (en) * 2018-07-20 2020-01-30 주식회사 비즈모델라인 Method for Registering Riding Information by Using Rider’s Mobile Device
KR20220025600A (en) * 2020-08-24 2022-03-03 삼성전자주식회사 Method and apparatus for generating image

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100904078B1 (en) 2008-12-30 2009-06-23 (주)대한지적기술단 A system and a method for generating 3-dimensional spatial information using aerial photographs of image matching
KR20140103805A (en) * 2013-02-18 2014-08-27 단국대학교 산학협력단 Method for distributing data and apparatus therefor
US20150381946A1 (en) * 2014-04-10 2015-12-31 Smartvue Corporation Systems and Methods for Automated Cloud-Based Analytics and 3-Dimensional (3D) Display for Surveillance Systems in Retail Stores
KR20170074789A (en) * 2015-12-21 2017-06-30 한국전자통신연구원 Method for processing image based on container
KR20170076506A (en) * 2015-12-24 2017-07-04 전자부품연구원 Method of generating around view and apparatus performing the same
WO2018016394A1 (en) * 2016-07-22 2018-01-25 日立オートモティブシステムズ株式会社 Traveling road boundary estimation apparatus and traveling assistance system using same
KR101827167B1 (en) * 2016-11-01 2018-02-08 고려대학교 세종산학협력단 Method and apparatus for high speed images stitching using sift parallization
KR20190119487A (en) * 2018-04-12 2019-10-22 숭실대학교산학협력단 Node management system for small data machine learning
KR20200009951A (en) * 2018-07-20 2020-01-30 주식회사 비즈모델라인 Method for Registering Riding Information by Using Rider’s Mobile Device
KR102052013B1 (en) * 2019-06-12 2019-12-04 한국해양과학기술원 Image composing system and camera calibration method for ship
KR20220025600A (en) * 2020-08-24 2022-03-03 삼성전자주식회사 Method and apparatus for generating image

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김정태."드론을 이용한 3D맵핑 시스템 활용에 대한 연구".경성대학교 예술종합대학원 석사학위논문.사진학과,2016년8월31일,(제1면 내지 제82면)* *

Also Published As

Publication number Publication date
KR102520375B1 (en) 2023-04-11

Similar Documents

Publication Publication Date Title
WO2021057744A1 (en) Positioning method and apparatus, and device and storage medium
Chen et al. Crowd map: Accurate reconstruction of indoor floor plans from crowdsourced sensor-rich videos
WO2021057742A1 (en) Positioning method and apparatus, device, and storage medium
US9465976B1 (en) Feature reduction based on local densities for bundle adjustment of images
RU2741443C1 (en) Method and device for sampling points selection for surveying and mapping, control terminal and data storage medium
CN104349056A (en) Image processing apparatus, image processing method, and program
US20130083990A1 (en) Using Videogrammetry to Fabricate Parts
CN111967339B (en) Method and device for planning unmanned aerial vehicle path
US10163257B2 (en) Constructing a 3D structure
US10726614B2 (en) Methods and systems for changing virtual models with elevation information from real world image processing
Vega et al. Resilient, UAV-embedded real-time computing
JP2018109958A (en) Method and apparatus for encoding signal transporting data to reconfigure sparse matrix
KR20170132134A (en) Cluster-based photo navigation
WO2022147655A1 (en) Positioning method and apparatus, spatial information acquisition method and apparatus, and photographing device
KR102520375B1 (en) Parallel processing apparatus and method for generating 3d spatial information
CN108304578A (en) Processing method, medium, device and the computing device of map datum
JP2016194784A (en) Image management system, communication terminal, communication system, image management method, and program
CN113853559A (en) Control method, device and equipment of movable platform and storage medium
CN111221827A (en) Database table connection method and device based on graphic processor, computer equipment and storage medium
KR102387642B1 (en) Drone based aerial photography measurement device
EP3350770A1 (en) An apparatus and a method for generating data representing a pixel beam
US9852542B1 (en) Methods and apparatus related to georeferenced pose of 3D models
CN111652831B (en) Object fusion method and device, computer-readable storage medium and electronic equipment
US11856284B2 (en) Method of controlling a portable device and a portable device
EP3398160A1 (en) A method and an apparatus for generating data representative of a pixel beam

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant