KR20220084790A - Parallel processing apparatus and method for generating 3d spatial information - Google Patents
Parallel processing apparatus and method for generating 3d spatial information Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite 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차원 공간정보 생성을 위한 병렬처리 기술에 관한 것으로, 보다 상세하게는 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.
본 발명의 일 실시예는 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
사용자 단말(110)은 3차원 공간 정보 생성을 위한 측정자료를 제공할 수 있는 컴퓨팅 장치에 해당할 수 있다. 사용자 단말(110)은 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 병렬처리 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 병렬처리 장치(130)와 동시에 연결될 수 있다. 또한, 사용자 단말(110)은 병렬처리 시스템(100)에 접속하여 관련 서비스를 이용할 수 있는 전용 프로그램 또는 어플리케이션을 설치하여 실행할 수 있다.The
일 실시예에서, 사용자 단말(110)은 특정 지역의 항공사진을 생성하는 드론, 인공위성 등과 연동하여 항공사진을 수신할 수 있다. 즉, 사용자 단말(110)은 드론, 인공위성 등과 연동하는 컴퓨팅 장치에 해당할 수 있으며,In an embodiment, the
병렬처리 장치(130)는 특정 지역에 대해 촬영된 사진자료를 이용하여 3차원 공간정보를 생성할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 병렬처리 장치(130)는 사용자 단말(110)과 유선 네트워크 또는 블루투스, WiFi 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 송·수신할 수 있다. 또한, 병렬처리 장치(130)는 데이터의 수집 또는 추가 기능의 제공을 위하여 외부 시스템과 연동하여 동작할 수도 있다.The
일 실시예에서, 병렬처리 장치(130)는 대용량의 사진들을 고속으로 처리할 수 있는 CPU 병렬처리 시스템을 구성할 수 있다. 즉, 병렬처리 장치(130)는 네트워크를 통해 분산된 연산처리 환경을 구축할 수 있으며, 네트워크를 통해 적어도 하나의 논리적 연산장치들과 연결될 수 있다. 이때, 논리적 연산장치는 CPU, GPU 등 연산능력을 갖는 독립적인 컴퓨팅 자원에 해당할 수 있고, 병렬처리 장치(130)는 네트워크에 연결된 각 연산자원을 독립된 노드로 구성하여 3차원 공간정보 생성을 위한 병렬처리 네트워크를 동적으로 구성할 수 있다.In an embodiment, the
데이터베이스(150)는 병렬처리 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 네트워크에 분산 배치된 다양한 연산장치들에 관한 정보를 저장할 수 있고, 병렬처리를 위한 분산환경에 관한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 병렬처리 장치(130)가 3차원 공간정보 생성을 위한 각 단계를 수행하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The
도 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
프로세서(210)는 병렬처리 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 병렬처리 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 병렬처리 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.The
메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 병렬처리 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.The
사용자 입출력부(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
네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.The network input/
도 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
공간영상 수신부(310)는 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영하여 구성된 복수의 단위 공간영상들을 시계열 순으로 수신할 수 있다. 즉, 공간영상 수신부(310)는 사용자 단말(110)로부터 복수의 단위 공간영상들을 수신할 수 있다. 이때, 복수의 단위 공간영상들은 드론이나 인공위성 등의 장치를 통해 특정 지역의 상공에서 소정의 간격으로 반복적으로 촬영될 수 있다. 또한, 드론이나 인공위성 등은 3차원 공간정보 생성을 위한 목적에 주어진 경로를 따라 이동하면서 특정 주기동안 해당 위치에서의 주변 공간을 촬영할 수 있다.The spatial
해당 과정에서, 사용자 단말(110)은 해당 사진들 중 일부만을 선택적으로 수집하거나 또는 해당 원본 사진에 대해 소정의 전처리 연산을 수행할 수 있다. 공간영상 수신부(310)는 사용자 단말(110)로부터 시계열 순서에 따라 생성 및 가공된 사진 자료들을 수신하여 데이터베이스(150)에 저장할 수 있다.In the process, the
일 실시예에서, 공간영상 수신부(310)는 복수의 단위 공간영상들의 중첩된 공간영역의 크기가 특정 크기 이상이 되도록 이동의 속도를 기초로 복수의 단위 공간영상들을 구성할 수 있다. 즉, 사용자 단말(110)을 통해 수집된 영상들은 3차원 공간정보 생성을 위하여 소정의 간격마다 촬영될 수 있으며, 이때, 연속하여 촬영된 영상(또는 사진)들은 소정의 중첩 영역을 포함한 상태에서 생성될 수 있다. 공간영상 수신부(310)는 보다 정확한 공간정보 생성을 위하여 사용자 단말(110)과 연동하여 촬영되는 공간영상들 간의 중첩 영역의 크기를 설정할 수 있으며, 이에 따라 공간영상들은 소정의 중첩 영역을 포함하도록 촬영될 수 있다. 결과적으로, 3차원 공간정보들은 연속적으로 촬영된 공간영상들이 중첩된 영역을 기준으로 통합 및 보정된 결과로서 생성될 수 있으며, 중첩된 영역을 기준으로 인접한 영상들을 통합하는 과정에서 대량의 연산 비용이 소모될 수 있다.In an embodiment, the
일 실시예에서, 공간영상 수신부(310)는 이동의 속도에 반비례하도록 특정 주기를 결정할 수 있다. 공간영상 수신부(310)는 사용자 단말(110)과 연동하여 단위 공간영상의 촬영 주기를 결정할 수 있으며, 필요에 따라 드론의 이동 속도에 반비례하도록 특정 주기를 결정할 수 있다. 즉, 드론은 이동하는 과정에서 공간영상을 촬영할 수 있으며, 촬영 주기에 따라 연속된 단위 공간영상 간의 중첩 영역의 크기가 결정될 수 있다. 이때, 촬영 주기는 드론의 이동 속도에 반비례하도록 설정될 수 있으며, 이에 따라 연속하여 촬영된 단위 공간영상 간의 중첩 영역의 크기를 일정하게 유지될 수 있다.In an embodiment, the
일 실시예에서, 공간영상 수신부(310)는 이동의 속도가 제1 특정 속도 이하인 경우에는 특정 주기를 최대 값으로 결정하고, 이동의 속도가 제2 특정 속도 이상인 경우에는 특정 주기를 최소 값으로 결정할 수 있다. 공간영상 수신부(310)는 사용자 단말(110)과 연동하여 촬영 주기를 동적으로 설정할 수 있다. 이때, 드론의 이동 속도가 기 설정된 제1 특정 속도 이하인 경우에는 촬영 주기를 기 설정된 최대 값으로 결정하여 촬영 주기가 더 길어지는 것을 제한할 수 있으며, 드론의 이동 속도가 기 설정된 제2 특정 속도 이상인 경우에는 촬영 주기를 기 설정된 최소 값으로 결정하여 촬영 주기가 더 짧아지는 것을 제한할 수 있다.In an embodiment, the spatial
병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수를 기초로 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정할 수 있다. 병렬처리 노드 결정부(330)는 분산처리 환경에 참여하는 노드들의 개수를 결정할 수 있으며, 3차원 공간정보 생성에 필요한 연산비용(예를 들어, 총 연산량)에 따라 동적으로 결정할 수 있다. 특히, 병렬처리 노드 결정부(330)는 3차원 공간정보 생성에 사용되는 단위 공간영상들의 총 개수를 고려하여 노드들의 개수를 결정할 수 있다. 즉, 단위 공간영상들의 개수가 많을수록 3차원 공간정보 생성을 위해 보다 많은 연산량이 필요할 수 있고, 이에 따라 병렬처리 노드 결정부(330)는 참여 가능한 노드들의 개수를 증가시켜 해당 연산량을 적절히 분산시킬 수 있다. 결과적으로, 분산 처리를 통해 전체 연산량이 병렬적으로 처리됨으로써 전체 연산에 소요되는 시간이 단축될 수 있다.The parallel
일 실시예에서, 병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 복수의 노드들 중 현재 가용 기준을 만족시키는 노드들을 결정할 수 있다. 여기에서, 가용 기준은 분산처리에 참여 가능한 연산 능력에 관한 기준에 해당할 수 있다. 병렬처리 노드 결정부(330)는 가용 기준을 충족하는 노드들을 병렬처리에 참여시킬 수 있다.In an embodiment, the parallel
일 실시예에서, 병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수가 증가될수록 현재 가용 기준을 낮춰서 현재 가용 기준을 만족시키는 노드들의 개수를 증가시킬 수 있다. 즉, 단위 공간영상들의 개수가 많으면 그만큼 연산비용이 증가하고, 이에 따라 병렬처리에 많은 노드들이 필요할 수 있다. 병렬처리 노드 결정부(330)는 참여 가능한 노드들을 결정하는 과정에서 가용 기준을 낮춤으로써 참여 노드들이 수를 증가시킬 수 있다.In an embodiment, the parallel
일 실시예에서, 병렬처리 노드 결정부(330)는 복수의 단위 공간영상들의 개수가 감소될수록 현재 가용 기준을 높여서 현재 가용 기준을 만족시키는 노드들의 개수를 감소시킬 수 있다. 즉, 단위 공간영상들의 개수가 적으면 그만큼 연산비용이 감소하고, 이에 따라 병렬처리에 적은 노드들이 필요할 수 있다. 병렬처리 노드 결정부(330)는 참여 가능한 노드들을 결정하는 과정에서 가용 기준을 높임으로써 참여 노드들이 수를 감소시킬 수 있다.In an embodiment, the parallel
병렬처리 노드 제어부(350)는 결정된 노드들에 복수의 단위 공간영상들을 분배하고 결정된 노드들 중 하나가 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 할 수 있다. 병렬처리 노드 제어부(350)는 병렬처리를 위한 노드들이 결정되면 처리가 필요한 단위 공간영상들을 해당 노드들에게 분배할 수 있다. 각 노드들은 분배된 단위 공간영상들을 처리하여 처리 결과를 특정 노드(마스터 노드)에 보고할 수 있다. 병렬처리 노드 제어부(350)는 병렬처리를 위한 분산환경을 구성하면서 전체 연산의 통합 제어를 수행하는 마스터 노드를 결정할 수 있다. 즉, 마스터 노드는 병렬처리에 참여하기로 결정된 노드들 중에서 선택될 수 있으며, 단위 공간영상들의 중첩 영역을 검출하는 동작을 수행할 수 있다.The parallel
일 실시예에서, 병렬처리 노드 제어부(350)는 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정할 수 있다. 병렬처리 노드 제어부(350)는 노드들 중에서 병렬처리의 전체 제어를 위한 마스터 노드를 결정할 수 있으며, 이를 위해 노드들 중에서 가장 높은 가종 기준을 가지는 노드를 결정할 수 있다. 즉, 마스터 노드는 병렬처리 과정에서 다른 노드들에 대한 데이터 전송과 결과 수집의 연산을 담당하기 때문에 노드들 중에서 가장 성능 조건이 좋은 노드에 해당할 수 있다.In an embodiment, the parallel
일 실시예에서, 병렬처리 노드 제어부(350)는 마스터 노드가 중첩된 공간영역을 검출하도록 하고 복수의 단위 공간영상들을 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 결정된 노드들 중 마스터 노드를 제외한 나머지 노드들에 분배하도록 할 수 있다. 즉, 단위 공간영상에 대한 정보는 마스터 노드에 의해 검출된 중첩 공간영역과 비중첩 공간영역에 관한 정보를 포함할 수 있다. 병렬처리 노드 제어부(350)는 마스터 노드를 통해 중첩된 공간영역이 검출되면 비중첩 공간영역에 관한 정보를 생성하여 나머지 노드들에게 분배할 수 있다. 병렬처리 노드 제어부(350)는 나머지 노드들에게 비중첩 공간영역에 관한 정보만을 전송하여 해당 공간영역에 대한 처리 결과만을 수집할 수 있으며, 필요에 따라 중첩 및 비중첩 공간영역들 모두에 관한 정보를 전송할 수도 있다.In one embodiment, the parallel processing
한편, 병렬처리 노드 제어부(350)는 마스터 노드를 통해 복수의 단위 공간영상들을 나머지 노드들에게 분배하고 그 처리 결과를 수집하여 통합할 수 있다. 즉, 마스터 노드가 분배와 통합의 연산을 전담하여 처리할 수 있으며, 나머지 노드들은 단위 공간영상들에 관한 분산처리를 전담하여 처리하도록 구성될 수도 있다. 이 경우, 나머지 노드들 각각은 단위 공간영상들에 대해 중첩 영역의 검출과 그에 따른 3차원 공간정보 생성 동작을 독립적으로 수행할 수 있으며, 수행 결과를 마스터 노드에게 전달할 수 있다.Meanwhile, the parallel
일 실시예에서, 병렬처리 노드 제어부(350)는 마스터 노드를 통해 중첩된 공간영역에 관한 중첩 3차원 공간정보를 생성할 수 있다. 즉, 마스터 노드는 단위 고간영상들 간의 중첩된 공간영역을 검출할 수 있고, 중첩된 공간영역에 대한 중첩 3차원 공간정보를 생성할 수 있다. 이 경우, 나머지 노드들에서는 비중첩 공간영역에 대한 3차원 공간정보만이 생성될 수 있다.In an embodiment, the parallel processing
일 실시예에서, 병렬처리 노드 제어부(350)는 나머지 노드들 각각을 통해 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 생성할 수 있다. 즉, 하나의 단위 공간영상에 대해 중첩 공간영역에 관한 중첩 3차원 공간정보는 마스터 노드에 의해 생성될 수 있고, 나머지 비 중첩 공간영역에 관한 비중첩 3차원 공간정보는 나머지 노드들 중 어느 하나에 의해 생성될 수 있다.In an embodiment, the parallel
일 실시예에서, 병렬처리 노드 제어부(350)는 마스터 노드를 통해 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 수집하고, 중첩 3차원 공간정보 및 비중첩 공간영역를 병합하여 3차원 공간정보를 생성할 수 있다. 즉, 마스터 노드는 나머지 노드들에서 수행되어 생성된 비중첩 공간영역에 관한 비중첩 3차원 공간정보를 수집할 수 있고, 이를 병합하여 최종적인 3차원 공간정보를 생성할 수 있다. 병렬처리 노드 제어부(350)는 마스터 노드에 의해 통합된 3차원 공간정보를 획득하여 데이터베이스(150)에 저장할 수 있으며, 사용자 단말(110)의 요청에 따라 사용자 단말(110)에게 전송할 수도 있다.In one embodiment, the parallel processing
제어부(370)는 병렬처리 장치(130)의 전체적인 동작을 제어하고, 병렬처리 장치(130)는 공간영상 수신부(310), 병렬처리 노드 결정부(330) 및 병렬처리 노드 제어부(350) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The
도 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
병렬처리 장치(130)는 병렬처리 노드 결정부(330)를 통해 복수의 단위 공간영상들의 개수를 기초로 복수의 노드들 중 최적의 병렬처리를 위한 노드들을 결정할 수 있다(단계 S430). 즉, 병렬처리 장치(130)는 3차원 공간정보의 생성 환경에 따라 분산처리에 참여 가능한 노드들 중에서 최적의 노드들을 선택적으로 적용할 수 있다. 이때, 복수의 노드들은 각각 연산 유닛으로서 프로세서를 포함하여 구성될 수 있다.The
병렬처리 장치(130)는 병렬처리 노드 제어부(350)를 통해 결정된 노드들에 복수의 단위 공간영상들을 분배하고 결정된 노드들 중 하나가 복수의 단위 공간영상들에서 중첩된 공간영역을 검출하도록 할 수 있다(단계 S450).The
도 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
예를 들어, 측량품셈의 기본단위인 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
도 5에서, 자료처리 전체 과정에서 클라이언트(client)(510)의 요청에 따라 병렬처리 장치(130)는 서버(server)(즉, 마스터 노드)(530)를 통해 같은 반복 계산을 여러 대의 노드(node)(550)들에게 분산시켜 처리할 수 있다. 또한, 병렬처리 장치(130)는 서버(530)를 통해 각 노드(550)들에서의 처리 결과를 수집하여 통합한 결과로서 최종 결과 값을 생성할 수 있다.In FIG. 5 , in accordance with the request of the
한편, 병렬처리 장치(130)는 무한히 많은 노드(node)들을 이용하는 것이 아닌 기 설정된 규모(즉, 노드의 총 수) 내에서 최적의 노드들의 수를 결정하고 이를 기초로 병렬처리를 위한 분산 환경을 구축할 수 있다. 한편, 병렬처리의 성능은 네트워크 통신망의 속도나 네트워크 처리 속도에도 영향을 받을 수 있으며, 병렬처리 장치(130)는 필요에 따라 해당 영향을 고려하여 병렬처리 네트워크를 구성할 수도 있다. 이에 관한 구체적인 실험 결과는 아래에서 보다 자세히 설명한다.On the other hand, the
일 실시예에서, 병렬처리 장치(130)는 사전에 수행된 다양한 환경 및 노드 조건들에 관한 데이터들을 학습하여 분산처리를 위한 최적의 노드들의 개수를 결정하는 학습 모델을 구축할 수 있다. 즉, 병렬처리 장치(130)는 다양한 환경 조건을 입력으로 하여 학습 모델을 통해 최적의 노드 수를 도출하고 이를 기초로 병렬처리를 위한 환경을 구성할 수도 있다.In an embodiment, the
도 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
상기 복수의 단위 공간영상들의 중첩된 공간영역의 크기가 특정 크기 이상이 되도록 상기 이동의 속도를 기초로 상기 복수의 단위 공간영상들을 구성하는 것을 특징으로 하는 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.
상기 이동의 속도에 반비례하도록 상기 특정 주기를 결정하는 것을 특징으로 하는 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.
상기 이동의 속도가 제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.
상기 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 상기 복수의 노드들 중 상기 현재 가용 기준을 만족시키는 노드들을 결정하는 것을 특징으로 하는 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.
상기 복수의 단위 공간영상들의 개수가 증가될수록 상기 현재 가용 기준을 낮춰서 상기 현재 가용 기준을 만족시키는 노드들의 개수를 증가시키는 것을 특징으로 하는 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.
상기 복수의 단위 공간영상들의 개수가 감소될수록 상기 현재 가용 기준을 높여서 상기 현재 가용 기준을 만족시키는 노드들의 개수를 감소시키는 것을 특징으로 하는 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.
상기 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정하는 것을 특징으로 하는 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.
상기 마스터 노드가 상기 중첩된 공간영역을 검출하도록 하고 상기 복수의 단위 공간영상들을 상기 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 상기 결정된 노드들 중 상기 마스터 노드를 제외한 나머지 노드들에 분배하도록 하는 것을 특징으로 하는 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.
상기 마스터 노드를 통해 상기 중첩된 공간영역에 관한 중첩 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.
상기 나머지 노드들 각각을 통해 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 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.
상기 마스터 노드를 통해 상기 적어도 하나의 해당 단위 공간영상의 비중첩 공간영역에 관한 비중첩 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.
상기 복수의 단위 공간영상들의 개수를 기초로 현재 가용 기준을 결정하여 상기 복수의 노드들 중 상기 현재 가용 기준을 만족시키는 노드들을 결정하는 단계를 포함하는 것을 특징으로 하는 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.
상기 결정된 노드들 중 가장 높은 가용 기준을 가지는 노드를 선별하여 마스터 노드로 결정하는 단계를 포함하는 것을 특징으로 하는 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.
상기 마스터 노드가 상기 중첩된 공간영역을 검출하도록 하고 상기 복수의 단위 공간영상들을 상기 중첩된 공간영역을 제외한 비중첩 공간영역에 관한 정보와 함께 상기 결정된 노드들 중 상기 마스터 노드를 제외한 나머지 노드들에 분배하도록 하는 단계를 포함하는 것을 특징으로 하는 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.
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)
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 |
-
2020
- 2020-12-14 KR KR1020200174628A patent/KR102520375B1/en active IP Right Grant
Patent Citations (11)
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)
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 |