KR102520375B1 - 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
KR102520375B1
KR102520375B1 KR1020200174628A KR20200174628A KR102520375B1 KR 102520375 B1 KR102520375 B1 KR 102520375B1 KR 1020200174628 A KR1020200174628 A KR 1020200174628A KR 20200174628 A KR20200174628 A KR 20200174628A KR 102520375 B1 KR102520375 B1 KR 102520375B1
Authority
KR
South Korea
Prior art keywords
spatial
unit
parallel processing
nodes
overlapping
Prior art date
Application number
KR1020200174628A
Other languages
Korean (ko)
Other versions
KR20220084790A (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 composed of at least one processor; a space image receiving unit that receives a plurality of unit space 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; a parallel processing node determination unit determining nodes for optimum parallel processing among the plurality of nodes based on the number of the plurality of unit spatial images; and a parallel processing node control unit distributing the plurality of unit spatial images to the determined nodes and allowing one of the determined nodes to detect a spatial region overlapping 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 {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, a CPU parallel processing method of a client-node combination can be configured to quickly process a large number of photos in the process of producing 3D spatial information. It relates to a parallel processing device and method for generating 3D spatial information.

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

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

둘째, 사진 측량의 기본 값인 렌즈의 중심좌표와 사진의 기울기 값을 드론의 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 be insufficient to guarantee the precision and accuracy of the measurement result.

마지막으로, 이를 극복하기 위하여 H/W적으로 그리고 S/W적으로 다양한 보완책이 제시되고 있으나, 시장에서 쉽게 획득할 수 있는 방안은 아직 찾기 힘들다.Finally, in order to overcome this, various supplementary measures are 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 Registration No. 10-0904078 (2009.06.15)

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

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

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

실시예들 중에서, 3차원 공간정보 생성을 위한 병렬처리 장치는 적어도 하나의 프로세서로 각각 구성된 복수의 노드들; 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신하는 공간영상 수신부; 상기 복수의 단위 공간영상들의 개수를 기초로 상기 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정하는 병렬처리 노드 결정부; 및 상기 결정된 노드들에 상기 복수의 단위 공간영상들을 분배하고 상기 결정된 노드들 중 하나가 상기 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 하는 병렬처리 노드 제어부를 포함한다.Among the embodiments, a parallel processing device for generating 3D spatial information includes a plurality of nodes each composed of at least one processor; a space image receiving unit that receives a plurality of unit space 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; a parallel processing node determination unit determining nodes for optimum parallel processing among the plurality of nodes based on the number of the plurality of unit spatial images; and a parallel processing node control unit distributing the plurality of unit spatial images to the determined nodes and allowing one of the determined nodes to detect a spatial region overlapping the plurality of unit spatial images.

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

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

상기 공간영상 수신부는 상기 이동의 속도가 제1 특정 속도 이하인 경우에는 상기 특정 주기를 최대 값으로 결정하고, 상기 이동의 속도가 제2 특정 속도 이상인 경우에는 상기 특정 주기를 최소 값으로 결정할 수 있다.The spatial image receiver may determine the specific period as a maximum value when the movement speed is equal to or less than 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 currently available criterion based on the number of the plurality of unit spatial images, and determine nodes satisfying the currently available criterion among the plurality of nodes.

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

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

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

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

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

상기 병렬처리 노드 제어부는 상기 나머지 노드들 각각을 통해 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 생성할 수 있다.The parallel processing node control unit may generate non-overlapping 3D spatial information about a 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 controller collects non-overlapping 3D spatial information about non-overlapping spatial regions of the at least one corresponding unit spatial image through the master node, merges the overlapping 3-dimensional spatial information and the non-overlapping spatial regions, and 3D spatial information can be created.

실시예들 중에서, 3차원 공간정보 생성을 위한 병렬처리 방법은 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신하는 단계; 상기 복수의 단위 공간영상들의 개수를 기초로 상기 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정하는 단계; 및 상기 결정된 노드들에 상기 복수의 단위 공간영상들을 분배하고 상기 결정된 노드들 중 하나가 상기 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 하는 단계를 포함한다.Among the embodiments, a 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 in the plurality of unit spatial images.

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

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

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

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

본 발명의 일 실시예에 따른 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법은 3차원 공간정보 제작 과정에서 대량의 사진을 신속하게 처리하기 위해 클라이언트-노드 조합의 CPU 병렬처리 방식을 구성할 수 있다.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 the process of producing 3D spatial information. there is.

본 발명의 일 실시예에 따른 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법은 마스터 노드를 중심으로 노드들 간의 병렬처리 네트워크를 동적으로 구성하여 3차원 공간정보의 구축 과정에서 단순계산 계산의 수행 시간을 효과적으로 줄일 수 있다.Parallel processing apparatus and method for generating 3D spatial information according to an embodiment of the present invention dynamically configures a parallel processing network between nodes centered on a master node to perform simple calculations 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 diagram illustrating a parallel processing system according to the present invention.
FIG. 2 is a diagram explaining the system configuration of the parallel processing device of FIG. 1 .
FIG. 3 is a diagram 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 diagram for explaining an embodiment of an operation process of a parallel processing device according to the present invention.
6 is a diagram explaining a price/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 only an embodiment for structural or functional description, the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, since the embodiment can be changed in various ways and can 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, the scope of the present invention should not be construed as being limited thereto.

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

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

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

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

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (eg, a, b, c, etc.) is used for convenience of explanation, and the identification code does not describe the order of each step, and each step clearly follows a specific order in context. Unless otherwise specified, it may occur in a different order than specified. 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 implemented as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all types of recording devices storing data that can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. In addition, the computer-readable recording medium may be distributed to computer systems connected through a network, so that computer-readable codes may 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 defined otherwise. Terms defined in commonly used dictionaries should be interpreted as consistent with meanings in the context of the related art, and cannot be interpreted as having ideal or excessively formal meanings 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 , a 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 space information. The user terminal 110 may be implemented as a smart phone, a laptop computer, or a computer, but is not necessarily limited thereto, and may also be implemented as various devices such as a tablet PC. The user terminal 110 may be connected to the parallel processing unit 130 through a network, and a plurality of user terminals 110 may be simultaneously connected to the parallel processing unit 130 . In addition, the user terminal 110 may connect to the parallel processing system 100 and install and execute a dedicated program or application capable of using related services.

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

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

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

도 2는 도 1의 병렬처리 장치의 시스템 구성을 설명하는 도면이다.FIG. 2 is a diagram 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 unit 130 may be implemented by 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 of the parallel processing unit 130 operating, and manage the memory 230 read or written throughout the process, and the memory 230 ), you can schedule the synchronization time between volatile memory and non-volatile memory. The processor 210 can 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 may include a secondary storage device implemented as a non-volatile memory such as a solid state drive (SSD) or a hard disk drive (HDD) and used to store all data necessary for the parallel processing unit 130, It may include a main memory implemented as a volatile memory such as RAM (Random Access Memory).

사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 병렬처리 장치(130)는 독립적인 서버로서 수행될 수 있다.The user input/output unit 250 may include an environment for receiving 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 touch screen. In one 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 device 130 may be implemented 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 to an external device or system through a network, and includes, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a VAN ( An adapter for communication such as Value Added Network) may be included.

도 3은 도 1의 병렬처리 장치의 기능적 구성을 설명하는 도면이다.FIG. 3 is a diagram 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 device 130 may include a spatial image receiver 310, a parallel processing node determiner 330, a parallel processing node controller 350, and a controller 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 receiving unit 310 may receive a plurality of unit spatial images from the user terminal 110 . In this case, a plurality of unit space images may be repeatedly photographed 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 satellite may photograph the surrounding space at a corresponding location for a specific period while moving along a path given for the purpose of generating 3D spatial information.

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

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

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

일 실시예에서, 공간영상 수신부(310)는 이동의 속도가 제1 특정 속도 이하인 경우에는 특정 주기를 최대 값으로 결정하고, 이동의 속도가 제2 특정 속도 이상인 경우에는 특정 주기를 최소 값으로 결정할 수 있다. 공간영상 수신부(310)는 사용자 단말(110)과 연동하여 촬영 주기를 동적으로 설정할 수 있다. 이때, 드론의 이동 속도가 기 설정된 제1 특정 속도 이하인 경우에는 촬영 주기를 기 설정된 최대 값으로 결정하여 촬영 주기가 더 길어지는 것을 제한할 수 있으며, 드론의 이동 속도가 기 설정된 제2 특정 속도 이상인 경우에는 촬영 주기를 기 설정된 최소 값으로 결정하여 촬영 주기가 더 짧아지는 것을 제한할 수 있다.In one embodiment, the spatial image receiving unit 310 determines a specific period as the maximum value when the movement speed is equal to or less than the first specific speed, and determines the specific period as the minimum value when the movement speed is greater than or equal to the second specific speed. can The spatial image receiving unit 310 may dynamically set a capturing period in association with the user terminal 110 . In this case, when the moving speed of the drone is equal to or less than the first specific speed, the photographing period may be determined as the preset maximum value to limit the photographing cycle from being longer, 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 shooting cycle from being shorter by determining the shooting cycle to a predetermined 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 operation) required to generate 3D spatial information. In particular, the parallel processing node determining unit 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 larger amount of calculation may be required to generate 3D spatial information, and accordingly, the parallel processing node determining unit 330 may increase the number of participating nodes to appropriately distribute the amount of calculation. there is. As a result, the entire 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 determining unit 330 may determine a currently available criterion based on the number of a plurality of unit spatial images, and determine nodes satisfying the currently available criterion among a plurality of nodes. Here, the available criterion may correspond to a criterion regarding computational capability capable of participating in distributed processing. The parallel processing node determination unit 330 may participate in parallel processing by nodes that satisfy availability criteria.

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

일 실시예에서, 병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수가 감소될수록 현재 가용 기준을 높여서 현재 가용 기준을 만족시키는 노드들의 개수를 감소시킬 수 있다. 즉, 단위 공간영상들의 개수가 적으면 그만큼 연산비용이 감소하고, 이에 따라 병렬처리에 적은 노드들이 필요할 수 있다. 병렬처리 노드 결정부(330)는 참여 가능한 노드들을 결정하는 과정에서 가용 기준을 높임으로써 참여 노드들이 수를 감소시킬 수 있다.In an embodiment, the parallel processing node determiner 330 may increase the current available criterion as the number of the plurality of unit spatial images decreases, thereby reducing the number of nodes satisfying the current available criterion. 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 an available criterion in the process of determining nodes capable of participating.

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

일 실시예에서, 병렬처리 노드 제어부(350)는 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정할 수 있다. 병렬처리 노드 제어부(350)는 노드들 중에서 병렬처리의 전체 제어를 위한 마스터 노드를 결정할 수 있으며, 이를 위해 노드들 중에서 가장 높은 가종 기준을 가지는 노드를 결정할 수 있다. 즉, 마스터 노드는 병렬처리 과정에서 다른 노드들에 대한 데이터 전송과 결과 수집의 연산을 담당하기 때문에 노드들 중에서 가장 성능 조건이 좋은 노드에 해당할 수 있다.In one embodiment, the parallel processing node controller 350 selects a node having the highest available criterion among the determined nodes and determines it as a master node. The parallel processing node control unit 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 kind of standard among nodes. That is, since the master node is in charge of data transmission to other nodes and calculation of result collection in the process of parallel processing, 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 overlapping spatial regions and sends a plurality of unit spatial images together with information on non-overlapping spatial regions excluding the overlapping spatial regions as master nodes among the determined nodes. It can be distributed to the rest of the nodes except for the node. That is, the information on the unit spatial image may include information on overlapping spatial regions and non-overlapping spatial regions 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 on the non-overlapping spatial region and distribute it to the remaining nodes. The parallel processing node controller 350 may transmit only information on non-overlapping spatial regions to the remaining nodes to collect processing results for the corresponding spatial region and, if necessary, transmit information on both overlapping and non-overlapping spatial regions. can also be transmitted.

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

일 실시예에서, 병렬처리 노드 제어부(350)는 마스터 노드를 통해 중첩된 공간영역에 관한 중첩 3차원 공간정보를 생성할 수 있다. 즉, 마스터 노드는 단위 고간영상들 간의 중첩된 공간영역을 검출할 수 있고, 중첩된 공간영역에 대한 중첩 3차원 공간정보를 생성할 수 있다. 이 경우, 나머지 노드들에서는 비중첩 공간영역에 대한 3차원 공간정보만이 생성될 수 있다.In one embodiment, the parallel processing node control unit 350 may generate overlapping 3D spatial information about overlapping spatial regions through the master node. That is, the master node can detect overlapping spatial regions between unit intercostal images and generate overlapping 3D spatial information for the overlapping spatial regions. In this case, only 3D spatial information for non-overlapping spatial domains can 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 non-overlapping spatial regions of at least one corresponding unit spatial image through each of the remaining nodes. That is, for one unit spatial image, overlapping 3D spatial information about overlapping spatial regions can be generated by the master node, and non-overlapping 3D spatial information about the remaining non-overlapping spatial regions can be generated by 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 non-overlapping spatial regions of at least one corresponding unit spatial image through the master node, and collects the overlapping 3-dimensional spatial information and non-overlapping space information. 3D spatial information can be created by merging regions. That is, the master node may collect non-overlapping 3D spatial information about the generated non-overlapping spatial area performed by the other nodes, and generate final 3D spatial information by merging them. The parallel processing node control unit 350 may acquire 3D spatial information integrated by the master node and store it in the database 150, and may transmit it to the user terminal 110 at the request of the user terminal 110.

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

도 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 constructed by photographing the surrounding space at a corresponding location during a specific period while moving along a path given 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 device 130 may determine nodes for optimum parallel processing among a plurality of nodes based on the number of a plurality of unit spatial images through the parallel processing node determining unit 330 (step S430). That is, the parallel processing device 130 may selectively apply optimal nodes among nodes capable of participating in distributed processing according to the environment for generating 3D spatial information. In this case, each of the plurality of nodes may include a processor as an arithmetic unit.

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

도 5는 본 발명에 따른 병렬처리 장치의 동작 과정의 일 실시예를 설명하는 도면이다.5 is a diagram 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 device 130 can reduce data processing time only with a parallel processing method of a client 510 and a node 550 method. Although aerial triangulation is a simple repetitive calculation, the number of calculations is very large, so it can take a lot of time to process data. In particular, as the number of pixels of the camera increases and the density of photos to improve accuracy increases, the number of photos processed in one batch can range from thousands to tens of thousands, and the physical capacity is also tens of gigabytes. It can reach up to a byte (Gbyte).

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

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

한편, 병렬처리 장치(130)는 무한히 많은 노드(node)들을 이용하는 것이 아닌 기 설정된 규모(즉, 노드의 총 수) 내에서 최적의 노드들의 수를 결정하고 이를 기초로 병렬처리를 위한 분산 환경을 구축할 수 있다. 한편, 병렬처리의 성능은 네트워크 통신망의 속도나 네트워크 처리 속도에도 영향을 받을 수 있으며, 병렬처리 장치(130)는 필요에 따라 해당 영향을 고려하여 병렬처리 네트워크를 구성할 수도 있다. 이에 관한 구체적인 실험 결과는 아래에서 보다 자세히 설명한다.On the other hand, the parallel processing unit 130 determines the optimal number of nodes within a predetermined scale (ie, 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 Meanwhile, the performance of parallel processing may be affected by the speed of the network communication network or the network processing speed, and the parallel processing device 130 may construct a parallel processing network in consideration of the corresponding influence as needed. The specific experimental results related to this will be described in more detail below.

일 실시예에서, 병렬처리 장치(130)는 사전에 수행된 다양한 환경 및 노드 조건들에 관한 데이터들을 학습하여 분산처리를 위한 최적의 노드들의 개수를 결정하는 학습 모델을 구축할 수 있다. 즉, 병렬처리 장치(130)는 다양한 환경 조건을 입력으로 하여 학습 모델을 통해 최적의 노드 수를 도출하고 이를 기초로 병렬처리를 위한 환경을 구성할 수도 있다.In one embodiment, the parallel processing device 130 may build a learning model for determining the optimal number of nodes for distributed processing by learning data about 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 taking various environmental conditions as inputs, and configure an environment for parallel processing based on this.

도 6은 본 발명에 따른 노드 구성별 가격대비 성능비 계산표를 설명하는 도면이고, 도 7은 본 발명에 따른 노드 구성별 처리시간 그래프를 설명하는 도면이다.6 is a diagram for explaining a price/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)로 구성된 실험 환경을 구축할 수 있다. 한편, 네트워크의 속도 역시 성능에 영향을 줄 수 있으나, 다양한 속도의 네트워크에 관한 조건은 생략되었다.Referring to FIGS. 6 and 7 , an experimental environment for a 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: 16 Gbyte, and the GPU may not be installed separately to obtain only the effect of CPU parallel processing. A total of 20 computers can be connected to the giga internet network, and an experiment environment consisting of 1 server, 1 client, and 18 nodes can be built. On the other hand, the speed of the network may also affect the performance, but the conditions for networks of various speeds are 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 60m and a lens focal length of 16mm, and the overlapping degree of shooting could be set to 90% or more. As for the data processing option, an option that can be as precise as possible and increase accuracy can be selected to ensure an accuracy of 2 cm. For reference, as important factors among the options, 1) Alignment: highest accuracy & Alignment Optimization (Re-Alignment), 2) Point Clout: ultra high quality, 3) Mosaic: precision of 2cm can be applied.

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

항공사진 측량의 자료처리 과정은 단순반복 계산의 연속으로서, 병렬처리를 수행하는 경우 처리속도를 기하급수적으로 단축할 수 있다. 다만, 병렬처리를 위한 노드의 개수는 각 처리 환경에 따라 최적의 수가 결정될 수 있다.The data processing process of aerial photogrammetry is a series of simple repetitive calculations, and processing speed can be exponentially reduced when parallel processing is performed. 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 will variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described 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차원 공간정보를 생성하면서 상기 나머지 노드들 각각을 통해 적어도 하나의 해당 단위 공간영상에 대해 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 독립적으로 생성하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
a plurality of nodes each composed of at least one processor;
a space image receiving unit for receiving a plurality of unit spatial images in time series order formed by photographing the surrounding space at the corresponding location for a specific period while moving along a path given from a user terminal generating an aerial photograph of a specific area;
a parallel processing node determination unit determining nodes for parallel processing in consideration of operation cost and time among the plurality of nodes based on the number of the plurality of unit spatial images; and
A parallel processing node control unit distributing the plurality of unit spatial images to the determined nodes and allowing one of the determined nodes to detect an overlapping spatial region in the plurality of unit spatial images;
The parallel processing node control unit
A node having the highest available criterion among the determined nodes is selected and determined as a master node;
The master node detects the overlapped spatial region, and transmits the plurality of unit spatial images to the remaining nodes excluding the master node among the determined nodes along with information on non-overlapping spatial regions excluding the overlapped spatial region. to distribute,
While generating overlapping 3D spatial information on the overlapping spatial regions for all unit spatial images through the master node, the ratio of non-overlapping spatial regions for at least one corresponding unit spatial image through each of the remaining nodes A parallel processing device for generating three-dimensional spatial information, characterized in that the overlapping three-dimensional spatial information is independently generated.
제1항에 있어서, 상기 공간영상 수신부는
상기 복수의 단위 공간영상들의 중첩된 공간영역의 크기가 특정 크기 이상이 되도록 상기 이동의 속도를 기초로 상기 복수의 단위 공간영상들을 구성하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 1, wherein the spatial image receiving unit
The parallel processing device for generating 3D spatial information, characterized in that the plurality of unit spatial images are configured based on the movement speed so that the size of the overlapped spatial region of the plurality of unit spatial images is equal to or greater than a specific size.
제2항에 있어서, 상기 공간영상 수신부는
상기 이동의 속도에 반비례하도록 상기 특정 주기를 결정하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 2, wherein the spatial image receiving unit
Parallel processing device for generating three-dimensional spatial information, characterized in that the specific period is determined in inverse proportion to the speed of movement.
제3항에 있어서, 상기 공간영상 수신부는
상기 이동의 속도가 제1 특정 속도 이하인 경우에는 상기 특정 주기를 최대 값으로 결정하고,
상기 이동의 속도가 제2 특정 속도 이상인 경우에는 상기 특정 주기를 최소 값으로 결정하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 3, wherein the spatial image receiver
When the speed of movement is less than or equal to a first specific speed, the specific period is determined as a maximum value;
The parallel processing device for generating 3D spatial information, characterized in that the specific period is determined as a minimum value when the moving speed is greater than or equal to the second specific speed.
제1항에 있어서, 상기 병렬처리 노드 결정부는
상기 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 상기 복수의 노드들 중 상기 현재 가용 기준을 만족시키는 노드들을 결정하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 1, wherein the parallel processing node determining unit
The parallel processing device for generating 3D spatial information, characterized in that determining nodes satisfying the currently available criterion among the plurality of nodes by determining a currently available criterion based on the number of the plurality of unit spatial images.
제5항에 있어서, 상기 병렬처리 노드 결정부는
상기 복수의 단위 공간영상들의 개수가 증가될수록 상기 현재 가용 기준을 낮춰서 상기 현재 가용 기준을 만족시키는 노드들의 개수를 증가시키는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 5, wherein the parallel processing node determining unit
The parallel processing device for generating 3D spatial information, characterized in that as the number of the plurality of unit spatial images increases, the currently available criterion is lowered and the number of nodes satisfying the currently available criterion is increased.
제5항에 있어서, 상기 병렬처리 노드 결정부는
상기 복수의 단위 공간영상들의 개수가 감소될수록 상기 현재 가용 기준을 높여서 상기 현재 가용 기준을 만족시키는 노드들의 개수를 감소시키는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 5, wherein the parallel processing node determining unit
The parallel processing device for generating 3D spatial information, characterized in that, as the number of the plurality of unit spatial images decreases, the currently available criterion is increased to decrease the number of nodes satisfying the currently available criterion.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서, 상기 병렬처리 노드 제어부는
상기 마스터 노드를 통해 상기 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 수집하고, 상기 중첩 3차원 공간정보 및 상기 비중첩 공간영역를 병합하여 3차원 공간정보를 생성하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 장치.
The method of claim 1, wherein the parallel processing node control unit
Through the master node, non-overlapping 3D spatial information about non-overlapping spatial regions of the at least one corresponding unit spatial image is collected, and 3D spatial information is generated by merging the overlapping 3D spatial information and the non-overlapping spatial regions. Parallel processing apparatus for generating three-dimensional spatial information, characterized in that.
적어도 하나의 프로세서로 각각 구성된 복수의 노드들을 포함하는 병렬처리 장치에서 수행되는 방법에 있어서,
특정 지역의 항공사진을 생성하는 사용자 단말로부터 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신하는 단계;
상기 복수의 단위 공간영상들의 개수를 기초로 상기 복수의 노드들 중 연산비용과 시간을 고려하여 병렬처리를 위한 노드들을 결정하는 단계; 및
상기 결정된 노드들에 상기 복수의 단위 공간영상들을 분배하고 상기 결정된 노드들 중 하나가 상기 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 하는 단계를 포함하되,
상기 노드들을 결정하는 단계는
상기 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정하는 단계를 포함하고,
상기 마스터 노드가 상기 중첩된 공간영역을 검출하도록 하고 상기 복수의 단위 공간영상들을 상기 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 상기 결정된 노드들 중 상기 마스터 노드를 제외한 나머지 노드들에 분배하도록 하는 단계를 포함하며,
상기 마스터 노드를 통해 모든 단위 공간영상들에 대해 상기 중첩된 공간영역에 관한 중첩 3차원 공간정보를 생성하면서 상기 나머지 노드들 각각을 통해 적어도 하나의 해당 단위 공간영상에 대해 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 독립적으로 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 방법.
A method performed in a parallel processing device including a plurality of nodes each composed of at least one processor,
Receiving a plurality of unit spatial images configured by photographing the surrounding space at a specific location for a specific period while moving along a given path from a user terminal generating an aerial photograph of a specific area in time series order;
determining nodes for parallel processing among the plurality of nodes based on the number of the plurality of unit spatial images in consideration of operation cost and time; 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 in the plurality of unit spatial images;
The step of determining the nodes is
Selecting a node having the highest available criterion among the determined nodes and determining it as a master node;
The master node detects the overlapped spatial region, and transmits the plurality of unit spatial images to the remaining nodes excluding the master node among the determined nodes along with information on non-overlapping spatial regions excluding the overlapped spatial region. Including the step of distributing,
While generating overlapping 3D spatial information on the overlapping spatial regions for all unit spatial images through the master node, the ratio of non-overlapping spatial regions for at least one corresponding unit spatial image through each of the remaining nodes A parallel processing method for generating three-dimensional spatial information, comprising independently generating overlapping three-dimensional spatial information.
제13항에 있어서, 상기 노드들을 결정하는 단계는
상기 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 상기 복수의 노드들 중 상기 현재 가용 기준을 만족시키는 노드들을 결정하는 단계를 포함하는 것을 특징으로 하는 3차원 공간정보 생성을 위한 병렬처리 방법.
14. The method of claim 13, wherein determining the nodes comprises
Determining a currently available criterion based on the number of the plurality of unit spatial images and determining nodes satisfying the currently available criterion among the plurality of nodes processing method.
삭제delete 삭제delete
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 KR20220084790A (en) 2022-06-21
KR102520375B1 true 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
KR102052013B1 (en) 2019-06-12 2019-12-04 한국해양과학기술원 Image composing system and camera calibration method for ship

Family Cites Families (7)

* 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
KR101573112B1 (en) * 2013-02-18 2015-12-01 단국대학교 산학협력단 Method for distributing data and apparatus therefor
KR20170074789A (en) * 2015-12-21 2017-06-30 한국전자통신연구원 Method for processing image based on container
KR101868549B1 (en) * 2015-12-24 2018-06-19 전자부품연구원 Method of generating around view and apparatus performing the same
KR102182493B1 (en) * 2018-04-12 2020-11-24 숭실대학교산학협력단 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
KR20220025600A (en) * 2020-08-24 2022-03-03 삼성전자주식회사 Method and apparatus for generating image

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
KR102052013B1 (en) 2019-06-12 2019-12-04 한국해양과학기술원 Image composing system and camera calibration method for ship

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
KR20220084790A (en) 2022-06-21

Similar Documents

Publication Publication Date Title
Chen et al. Crowd map: Accurate reconstruction of indoor floor plans from crowdsourced sensor-rich videos
WO2021057744A1 (en) Positioning method and apparatus, and device and storage medium
Gargees et al. Incident-supporting visual cloud computing utilizing software-defined networking
CN104349056A (en) Image processing apparatus, image processing method, and program
RU2741443C1 (en) Method and device for sampling points selection for surveying and mapping, control terminal and data storage medium
CN111968229A (en) High-precision map making method and device
US20130083990A1 (en) Using Videogrammetry to Fabricate Parts
US10163257B2 (en) Constructing a 3D structure
Poiesi et al. Cloud-based collaborative 3D reconstruction using smartphones
US20150199383A1 (en) Systems and Methods for Indexing and Retrieving Images
CN113132717A (en) Data processing method, terminal and server
Yu et al. An edge computing-based photo crowdsourcing framework for real-time 3D reconstruction
US10921131B1 (en) Systems and methods for interactive digital maps
JP2018093401A (en) Video monitoring device, video monitoring method, and video monitoring system
JP2019511851A (en) Method and apparatus for generating data representative of a pixel beam
KR102520375B1 (en) Parallel processing apparatus and method for generating 3d spatial information
CN113835078A (en) Signal level joint detection method and device based on local three-dimensional grid
JP2016194784A (en) Image management system, communication terminal, communication system, image management method, and program
JP2016194783A (en) Image management system, communication terminal, communication system, image management method, and program
CN108304578A (en) Processing method, medium, device and the computing device of map datum
KR102387642B1 (en) Drone based aerial photography measurement device
JP2018536312A (en) Apparatus and method for encoding an image captured by an optical acquisition system
Fang et al. Energy-efficient distributed target tracking in wireless video sensor networks
EP3398160A1 (en) A method and an apparatus for generating data representative of a pixel beam
US10564601B2 (en) Method and system for image processing and data transmission in network-based multi-camera environment

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