KR102077934B1 - Method for generating alignment data for virtual retrofitting object using video and Terminal device for performing the same - Google Patents

Method for generating alignment data for virtual retrofitting object using video and Terminal device for performing the same Download PDF

Info

Publication number
KR102077934B1
KR102077934B1 KR1020180093938A KR20180093938A KR102077934B1 KR 102077934 B1 KR102077934 B1 KR 102077934B1 KR 1020180093938 A KR1020180093938 A KR 1020180093938A KR 20180093938 A KR20180093938 A KR 20180093938A KR 102077934 B1 KR102077934 B1 KR 102077934B1
Authority
KR
South Korea
Prior art keywords
point cloud
cloud data
data
alignment data
alignment
Prior art date
Application number
KR1020180093938A
Other languages
Korean (ko)
Inventor
채영호
쿠말 파틸 아쇽
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020180093938A priority Critical patent/KR102077934B1/en
Application granted granted Critical
Publication of KR102077934B1 publication Critical patent/KR102077934B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • 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/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Provided are an alignment data creation method for virtually retrofitting an object with a video and a terminal device therefor. The method includes the following steps of: aligning pre-obtained three-dimensional global point cloud data of the object and real time-obtained three-dimensional partial point cloud data about a specific part of the object; creating first alignment data by converting the aligned point cloud data into a two-dimensional format; extracting a two-dimensional frame corresponding to the three-dimensional partial point cloud data from a real time-obtained camera image; creating second alignment data by aligning the first alignment data and the extracted two-dimensional frame; and creating third alignment data by aligning the second alignment data and a pre-created CAD model of the object. Meanwhile, an operation for the virtual retrofitting is performed based on the third alignment data.

Description

비디오를 이용하여 객체의 가상 리트로피팅을 수행하기 위한 정렬 데이터 생성 방법 및 이를 수행하는 단말 장치{Method for generating alignment data for virtual retrofitting object using video and Terminal device for performing the same}Method for generating alignment data for virtual retrofitting object using video and terminal device for performing the same

본 발명의 실시예들은 비디오를 이용하여 객체의 가상 리트로피팅(Retrofitting)을 수행하기 위한 정렬 데이터 생성 방법 및 이를 수행하는 단말 장치에 관한 것으로서, 보다 상세하게는 계산량을 줄이고 빠르게 가상 리트로피팅을 위한 정렬 데이터를 생성하는 단말 장치 및 방법에 관한 것이다. Embodiments of the present invention relate to a method for generating alignment data for performing virtual retrofitting of an object using video, and a terminal device for performing the same. More specifically, to reduce the amount of computation and to quickly arrange for virtual retrofitting. A terminal device and method for generating data.

열, 석유 화학 및 원자력 발전소와 같은 산업 플랜트에서 파이프, 장비 및 그 외 특정 물건을 플랜트 내부 지역으로 이송하기 위한 경로 계획은 일반적으로 어려움이 있다. 그리고, 공장의 유지 보수, 재 설치 및 업그레이드 작업은 플랜트 내의 복잡한 레이아웃에 의해 야기되는 불 확실한 결합에 의한 위험을 감수해야 한다. 또한, 기존의 방식으로 3D 모델을 현장에서 중첩하여 이용하는 것은 실제의 모델과 일치하지 않을 가능성이 높다. In industrial plants, such as thermal, petrochemical and nuclear power plants, the planning of routes for transporting pipes, equipment and other specific objects to areas within the plant is generally difficult. In addition, factory maintenance, re-installation and upgrade work must take the risk of unreliable coupling caused by the complex layout in the plant. In addition, the use of the 3D model in the field in the existing way is likely to be inconsistent with the actual model.

현재의 레이저 스캐닝 기술을 이용하는 기술은 실제의 모델 표면의 세부적인 정보를 얻을 수 있지만, 플랜트 설비의 리트로피팅의 작업은 많은 시간을 필요로 하는 지루하고 소모적인 수작업인 단점이 있다. While techniques using current laser scanning techniques can obtain detailed information of the actual model surface, the task of retrofitting plant equipment has the disadvantage of being a time consuming and tedious manual task.

상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 카메라를 통해 획득된 비디오를 이용하여 계산량을 줄이고 빠르게 가상 리트로피팅을 위한 정렬 데이터를 생성하는 방법 및 이를 수행하기 위한 단말 장치를 제안하고자 한다. In order to solve the problems of the prior art as described above, the present invention is to propose a method for reducing the amount of calculation using the video obtained through the camera and quickly generating alignment data for virtual retrofitting, and a terminal device for performing the same. do.

본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.Other objects of the present invention may be derived by those skilled in the art through the following examples.

상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 객체의 가상 리트로피팅(Retrofitting)을 위한 정렬 데이터 생성을 수행하는 단말 장치에 있어서, 컴퓨터에서 판독 가능한 명령을 저장하는 메모리; 및 상기 명령을 실행하도록 구현되는 프로세서:를 포함하되, 상기 프로세서는, 미리 획득된 상기 객체의 3D 전역 포인트 클라우드 데이터와, 실시간으로 획득된 상기 객체의 특정 부분에 대한 3D 부분 포인트 클라우드 데이터를 정렬하고, 상기 정렬된 포인트 클라우드 데이터를 2차원으로 변환하여 제1 정렬 데이터를 생성하고, 실시간으로 획득된 카메라의 영상으로부터 상기 3D 부분 포인트 클라우드 데이터와 대응되는 2D 프레임을 추출하고, 상기 추출된 2D 프레임과 상기 제1 정렬 데이터를 정렬하여 제2 정렬 데이터를 생성하고, 미리 생성된 상기 객체의 CAD 모델과 상기 제2 정렬 데이터를 정렬하여 제3 정렬 데이터를 생성하되, 상기 제3 정렬 데이터를 이용하여 상기 가상 리트로피팅을 위한 동작을 수행할 수 있다. According to a preferred embodiment of the present invention to achieve the above object, a terminal device for performing alignment data generation for virtual retrofitting of an object, the terminal device comprising: a memory storing a computer-readable command; And a processor implemented to execute the instructions, wherein the processor is configured to align 3D global point cloud data of the object obtained in advance with 3D partial point cloud data for a specific portion of the object obtained in real time; And generating first alignment data by converting the aligned point cloud data in two dimensions, extracting a 2D frame corresponding to the 3D partial point cloud data from an image of a camera obtained in real time, and extracting the extracted 2D frame. The second alignment data is generated by aligning the first alignment data, and the third alignment data is generated by aligning the CAD model of the object and the second alignment data, which have been previously generated, using the third alignment data. An operation for virtual repeating can be performed.

상기 3D 부분 포인트 클라우드는 레이저 스캐너를 통해 획득되고, The 3D partial point cloud is obtained through a laser scanner,

상기 카메라 및 상기 레이저 스캐너는 하나의 장치에서 동일 방향을 향하도록 배치되며, 상기 프로세서는 상기 제2 정렬 데이터를 생성하기 위해 상기 레이저 스캐너의 포인트 클라우드 데이터와 상기 카메라의 픽셀을 교정(Calibration)하는 동작을 수행할 수 있다. The camera and the laser scanner are arranged to face in the same direction in one device, and the processor is configured to calibrate the point cloud data of the laser scanner and the pixels of the camera to generate the second alignment data. Can be performed.

상기 프로세서는 상기 카메라의 파라미터에 의해 정의되는 이미지 평면 위에 상기 정렬된 포인트 클라우드 데이터를 투영하여 상기 제1 정렬 데이터를 생성하되, 상기 카메라의 파라미터는 상기 2D 프레임에 따른 상기 카메라의 초점 거리, 상기 2D 프레임의 폭 및 높이를 포함할 수 있다. The processor generates the first alignment data by projecting the aligned point cloud data onto an image plane defined by the parameter of the camera, wherein the parameter of the camera is the focal length of the camera according to the 2D frame, the 2D It can include the width and height of the frame.

상기 투영 과정은 아래의 수학식에 기초하여 수행될 수 있다.

Figure 112018079436912-pat00001
The projection process may be performed based on the following equation.
Figure 112018079436912-pat00001

여기서, (x, y)는 2차원으로 투영된 좌표, (X, Y, Z)는 3차원의 포인트 클라우드 데이터의 좌표, (X0, Y0, Z0)는 3차원의 포인트 클라우드 데이터 중 하나의 클라우드 데이터의 좌표, ω, φ, κ는 회전에 대한 롤 값, 요 값, 피치 값를 의미함. Here, (x, y) is coordinates projected in two dimensions, (X, Y, Z) is coordinates of three-dimensional point cloud data, (X 0 , Y 0 , Z 0 ) is among three-dimensional point cloud data The coordinates of one cloud data, ω, φ, and κ, mean roll value, yaw value and pitch value for rotation.

또한, 본 발명의 다른 실시예에 따르면, 프로세서에 의해 수행되는 객체의 리트로피팅을 위한 정렬 데이터 생성 방법에 있어서, 미리 획득된 상기 객체의 3D 전역 포인트 클라우드 데이터와, 실시간으로 획득된 상기 객체의 특정 부분에 대한 3D 부분 포인트 클라우드 데이터를 정렬하는 단계; 상기 정렬된 포인트 클라우드 데이터를 2차원으로 변환하여 제1 정렬 데이터를 생성하는 단계; 실시간으로 획득된 카메라의 영상으로부터 상기 3D 부분 포인트 클라우드 데이터와 대응되는 2D 프레임을 추출하는 단계; 상기 추출된 2D 프레임과 상기 제1 정렬 데이터를 정렬하여 제2 정렬 데이터를 생성하는 단계; 및 미리 생성된 상기 객체의 CAD 모델과 상기 제2 정렬 데이터를 정렬하여 제3 정렬 데이터를 생성하는 단계;를 포함하되, 상기 제3 정렬 데이터를 이용하여 상기 가상 리트로피팅을 위한 동작을 수행하는 것을 특징으로 하는 정렬 데이터 생성 방법이 제공된다. In addition, according to another embodiment of the present invention, in the alignment data generation method for the repeating of the object performed by the processor, 3D global point cloud data of the object obtained in advance, and specifying the object obtained in real time Sorting 3D part point cloud data for the part; Generating first alignment data by converting the aligned point cloud data in two dimensions; Extracting a 2D frame corresponding to the 3D partial point cloud data from an image of a camera acquired in real time; Generating second alignment data by aligning the extracted 2D frame with the first alignment data; And generating a third alignment data by aligning the CAD model of the object and the second alignment data generated in advance. 3. There is provided a method of generating sorted data.

본 발명에 따르면, 가상 리트로피팅 작업 시 계산량을 줄이고 빠르게 정렬 데이터를 생성하는 장점이 있다. According to the present invention, there is an advantage of reducing the amount of computation during the virtual repeating operation and quickly generating alignment data.

또한, 본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.In addition, the effect of this invention is not limited to the above-mentioned effect, It should be understood that it includes all the effects which can be deduced from the structure of the invention described in the detailed description of this invention or a claim.

도 1은 본 발명이 일 실시예에 따른 단말 장치의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 객체의 가상 리트로피팅을 위한 정렬 데이터를 생성하는 방법의 개념도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 객체의 가상 리트로피팅을 위한 정렬 데이터 생성 방법의 흐름도를 도시한 도면이다.
도 4 내지 도 9는 본 발명에 따른 정렬 데이터 생성 과정을 설명하기 위한 도면이다.
1 is a view showing a schematic configuration of a terminal device according to an embodiment of the present invention.
2 is a conceptual diagram illustrating a method of generating alignment data for virtual retrofitting of an object according to an embodiment of the present invention.
3 is a flowchart illustrating a method of generating alignment data for virtual retrofitting of an object according to an embodiment of the present invention.
4 to 9 are diagrams for explaining a process of generating alignment data according to the present invention.

본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.As used herein, the singular forms "a", "an" and "the" include plural forms unless the context clearly indicates otherwise. In this specification, terms such as “consisting of” or “comprising” should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or some steps It should be construed that it may not be included or may further include additional components or steps. In addition, the terms "... unit", "module", etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. .

이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술한다. Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명이 일 실시예에 따른 단말 장치의 개략적인 구성을 도시한 도면이다. 1 is a view showing a schematic configuration of a terminal device according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 단말 장치(100)는 메모리(110), 프로세서(120), 디스플레이(130) 및 사용자 인터페이스(140)를 포함한다. Referring to FIG. 1, a terminal device 100 according to an embodiment of the present invention includes a memory 110, a processor 120, a display 130, and a user interface 140.

메모리(110)는 휘발성 및/또는 비휘발성 메모리일 수 있고, 단말 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장한다. 특히, 메모리부(110)는 가상 리트로피팅의 동작을 수행하기 위한 컴퓨터 프로그램, 어플리케이션, 기록 매체에 관계된 명령어 또는 데이터를 저장할 수 있다. The memory 110 may be a volatile and / or nonvolatile memory, and stores instructions or data related to at least one other component of the terminal device 100. In particular, the memory unit 110 may store instructions or data related to a computer program, an application, and a recording medium for performing an operation of virtual repeating.

프로세서(120)는 중앙처리장치, 애플리케이션 프로세서, 또는 커뮤니케이션 프로세서 중 하나 또는 그 이상을 포함할 수 있다. 예를 들면, 프로세서(120)는 단말 장치(100)의 적어도 하나의 다른 구성요소들의 제어 및/또는 연산이나 데이터 처리를 실행할 수 있다. 특히, 프로세서(120)는 상기 컴퓨터 프로그램 내지 어플리케이션의 실행에 관계된 명령을 실행할 수 있다. The processor 120 may include one or more of a central processing unit, an application processor, or a communication processor. For example, the processor 120 may execute control and / or calculation or data processing of at least one other component of the terminal device 100. In particular, the processor 120 may execute instructions related to the execution of the computer program or application.

디스플레이(130)는 액정 디스플레이(LCD), 발광 다이오드 디스플레이(LED), 유기 발광 다이오드 디스플레이(OLED) 등으로 구성될 수 있으며, 사용자에게 영상 내지 영상 프레임을 표시할 수 있는 장치이다. 특히, 디스플레이(130)는 헤드 마운트 디스플레이(Head mounted Display)일 수 있다. The display 130 may include a liquid crystal display (LCD), a light emitting diode display (LED), an organic light emitting diode display (OLED), and the like, and is a device capable of displaying an image or an image frame to a user. In particular, the display 130 may be a head mounted display.

사용자 인터페이스(140)는 가상 리트로피팅을 수행하기 위해 필요한 사용자의 입력 신호를 입력받는다. 일례로, 사용자 인터페이스(140)는 키보드, 마우스, 모션 트래킹 센서가 포함된 장치일 수 있다. The user interface 140 receives an input signal of a user required to perform virtual repeating. For example, the user interface 140 may be a device including a keyboard, a mouse, and a motion tracking sensor.

이하, 아래의 도면을 참조하여, 단말 장치(100) 특히, 프로세서(120)에서 수행되는 동작인 객체의 가상 리트로피팅을 위한 정렬 데이터 생성 방법을 상세하게 설명하기로 한다. Hereinafter, a method of generating alignment data for virtual retrofitting of an object, which is an operation performed by the terminal device 100, in particular, the processor 120, will be described in detail with reference to the following drawings.

도 2는 본 발명의 일 실시예에 따른 객체의 가상 리트로피팅을 위한 정렬 데이터를 생성하는 방법의 개념도를 도시한 도면이다. 2 is a conceptual diagram illustrating a method of generating alignment data for virtual retrofitting of an object according to an embodiment of the present invention.

도 2를 참조하면, 본 발명은 i) 미리 획득된 객체의 3D 전역 포인트 클라우드 데이터와, 실시간으로 획득된 객체의 특정 부분에 대한 3D 부분 포인트 클라우드 데이터를 정렬하고, 정렬된 포인트 클라우드 데이터를 2차원으로 변환하여 제1 정렬 데이터를 생성하는 과정과, ii) 실시간으로 획득된 카메라의 영상으로부터 3D 부분 포인트 클라우드 데이터와 대응되는 2D 프레임을 추출하고, 추출된 2D 프레임과 제1 정렬 데이터를 정렬하여 제2 정렬 데이터를 생성하는 과정과, iii) 미리 생성된 객체의 CAD 모델과 제2 정렬 데이터를 정렬하여 제3 정렬 데이터를 생성하는 과정을 포함할 수 있다. 이 때, 제3 정렬 데이터를 이용하여 가상 리트로피팅을 위한 동작이 수행된다. Referring to FIG. 2, the present invention relates to i) aligning 3D global point cloud data of a previously acquired object with 3D partial point cloud data for a specific part of an object obtained in real time, and aligning the aligned point cloud data in two dimensions. Generating a first alignment data by converting the data into a second image; and ii) extracting a 2D frame corresponding to the 3D partial point cloud data from an image of a camera acquired in real time, and aligning the extracted 2D frame and the first alignment data. And generating the third alignment data by aligning the CAD model of the pre-generated object and the second alignment data. At this time, an operation for virtual retrofitting is performed using the third alignment data.

도 3은 본 발명의 일 실시예에 따른 객체의 가상 리트로피팅을 위한 정렬 데이터 생성 방법의 흐름도를 도시한 도면이다. 3 is a flowchart illustrating a method of generating alignment data for virtual retrofitting of an object according to an embodiment of the present invention.

이하, 각 단계 별로 수행되는 과정을 상세하게 설명하기로 한다. Hereinafter, a process performed for each step will be described in detail.

먼저, 단계(310)에서는 미리 획득된 상기 객체의 3D 전역 포인트 클라우드 데이터와, 실시간으로 획득된 상기 객체의 특정 부분에 대한 3D 부분 포인트 클라우드 데이터를 정렬한다. 이 때, 객체는 산업 플랜트일 수 있다. First, in step 310, the 3D global point cloud data of the object obtained in advance is aligned with the 3D partial point cloud data of a specific part of the object obtained in real time. At this time, the object may be an industrial plant.

보다 상세하게, 객체의 전역 포인트 클라우드 데이터는 레이저 스캐너에 의해 미리 3차원으로 획득될 수 있다. 일례로, 레이저 스캐너는 Lidar 센서 및 IMU 센서를 포함할 수 있다. More specifically, the global point cloud data of the object can be obtained in three dimensions in advance by a laser scanner. In one example, the laser scanner may include a Lidar sensor and an IMU sensor.

이 경우, 전역 포인트 클라우드 데이터는 미리 전처리될 수 있으며, 전처리된 전역 포인트 클라우드 데이터는 잡음이 제거된 전역 포인트 클라우드 데이터일 수 있다. 한편, 레이저 스캐너의 교정 위치와 해당 오리엔테이션을 이용하여 스캐너 좌표계에서 3차원의 위치로 변환할 수 있는 깊이 값 배열을 취득하며, 전역 포인트 클라우드 모델을 얻기 위해 4가지 위치와 방향의 스캐너 캘리브레이션이 필요하다.In this case, the global point cloud data may be preprocessed in advance, and the preprocessed global point cloud data may be global point cloud data from which noise is removed. On the other hand, by using the laser scanner's calibration position and the corresponding orientation, it acquires an array of depth values that can be transformed into a three-dimensional position in the scanner coordinate system, and four-position and orientation scanner calibration is required to obtain a global point cloud model. .

이하, 설명의 편의를 위해 전처리된 전역 포인트 클라우드 데이터가 사용되는 것으로 한다. 도 4의 (a)에서는 샘플 환경을 도시하고 있고, 도 4의 (b)에서는 전처리된 전역 포인트 클라우드 데이터를 도시하고 있다. Hereinafter, preprocessed global point cloud data is used for convenience of description. 4 (a) shows a sample environment, and FIG. 4 (b) shows preprocessed global point cloud data.

그리고, 객체의 부분 포인트 클라우드 데이터는 실시간으로 레이저 스캐너에 의해 3차원으로 획득될 수 있다. 도 4의 (c)에서는 부분 포인트 클라우드 데이터를 도시하고 있다. In addition, the partial point cloud data of the object may be obtained in three dimensions by a laser scanner in real time. In FIG. 4C, partial point cloud data is illustrated.

상기에서 설명한 내용을 통해, 단계(310)에서는 미리 전처리된 포인트 클라우드 데이터와 실시간으로 획득된 객체의 부분 포인트 클라우드 데이터를 정렬하여 기하학적 정보가 포함된 정렬 포인트 클라우드 데이터가 생성된다. Through the above description, in step 310, alignment point cloud data including geometric information is generated by aligning pre-processed point cloud data with partial point cloud data of an object obtained in real time.

보다 상세하게, 실제 모델에서 전처리된 포인트 클라우드 데이터를 정렬하려면, 레이저 스캐너 좌표에서 실제 모델의 상대 위치와 방향을 알아야 한다. 레이저 스캐너 좌표계로부터 실제 모델의 위치와 방향은 실시간으로 레이저 스캐너에서 획득된 객체의 부분 포인트 클라우드 데이터를 사용하여 추정할 수 있다. More specifically, to align the preprocessed point cloud data in the real model, you need to know the relative position and orientation of the real model in the laser scanner coordinates. The position and orientation of the actual model from the laser scanner coordinate system can be estimated using the partial point cloud data of the object obtained in the laser scanner in real time.

이 때, 여러 3차원 포인트 클라우드 데이터의 뷰를 완전한 모델로 일관되게 정렬하는 것을 "등록(registration)"이라고 하며, 전처리된 포인트 클라우드 데이터를 글로벌 차원의 물리적 모델의 상대적 위치와 방향에 맞추어 정렬한다. At this time, consistently aligning the views of the various three-dimensional point cloud data into a complete model is called "registration", and the preprocessed point cloud data is aligned with the relative position and orientation of the global dimension physical model.

처리된 포인트 클라우드 데이터의 정렬을 위해 종래에서 가장 많이 사용하는 정렬 방법 중 하나는 ICP(Iterative Closest Point) 알고리즘이다. 이 알고리즘은 거리 오차 메트릭을 최소화하는 것으로 두 데이터 집합 간의 최적의 변환을 반복적인 시도를 통해 찾는다. ICP는 모든 포인트가 일치하는 것으로 가정하고 원본과 대상 모델 집합에서 가장 가까운 3차원 포인트를 사용하여 정렬을 진행한다. ICP 알고리즘은 반복적인 작업을 수행하는 접근법이기 때문에, 알고리즘의 시간 복잡성은 최적의 변환 행렬을 찾는 데 필요한 반복 횟수에 따라 정해진다. One of the most commonly used sorting methods for sorting processed point cloud data is an Iterative Closest Point (ICP) algorithm. This algorithm minimizes the distance error metric and finds the best conversion between two data sets through repeated attempts. The ICP assumes that all points match and proceeds with the alignment using the 3D points closest to the set of source and target models. Since the ICP algorithm is an iterative approach, the time complexity of the algorithm depends on the number of iterations needed to find the optimal transformation matrix.

따라서, ICP 알고리즘의 시간 복잡성을 감소시키기 위해 단계(310)에서는 GICP(Generalized Iterative Closest Point)에 기반한 정렬 알고리즘인 최적 GICP(Optimized GICP)을 사용할 수 있다. 이에 대해 보다 상세하게 설명하면 다음과 같다. Therefore, in order to reduce the time complexity of the ICP algorithm, in step 310, an optimized GICP (Optimized GICP), which is an alignment algorithm based on a generalized iterative close point (GICP), may be used. This will be described in more detail as follows.

GICP 알고리즘은 정렬 알고리즘은 전처리된 포인트 클라우드 데이터와 부분 포인트 클라우드 데이터의 정렬에 사용된다. 이 때, GICP 알고리즘은 3차원 포인트 클라우드 데이터 사이의 자세 관계를 추정을 위한 비용 함수(전달 함수)를 최소화하는 단계에서 확률 모델을 적용한다. 먼저, GICP 알고리즘은 최근접 이웃 관련성(nearest neighbor correspondences)를 추정하고, 전처리된 전역 포인트 클라우드 데이터와 실시간 부분 포인트 클라우드 데이터가 유사한 인덱스 값을 가지는 대응점으로 인덱스된다. 이 때, 대응되지 않는 점은 삭제된다.The GICP algorithm is a sorting algorithm used to align preprocessed point cloud data and partial point cloud data. In this case, the GICP algorithm applies a probabilistic model in a step of minimizing a cost function (transfer function) for estimating the attitude relationship between three-dimensional point cloud data. First, the GICP algorithm estimates nearest neighbor correspondences, and the preprocessed global point cloud data and real-time partial point cloud data are indexed with corresponding points having similar index values. At this time, points that do not correspond are deleted.

본 발명의 일 실시예에 따르면, 전역 포인트 클라우드 데이터를 샘플링하여 전역 포인트 클라우드 데이터에 포함된 포인트 클라우드 데이터의 개수를 감소시키고, 샘플링된 전역 포인트 클라우드 데이터와 부분 포인트 클라우드 데이터를 이용하여 정렬 포인트 클라우드 데이터를 생성할 수 있다. 이 때, 샘플링된 전역 포인트 클라우드 데이터와 부분 포인트 클라우드 데이터를 최적 GICP 알고리즘에 적용하여 정렬 포인트 클라우드 데이터를 생성할 수 있다.According to an embodiment of the present invention, the global point cloud data is sampled to reduce the number of point cloud data included in the global point cloud data, and the aligned point cloud data using the sampled global point cloud data and the partial point cloud data. Can be generated. In this case, the aligned point cloud data may be generated by applying the sampled global point cloud data and the partial point cloud data to an optimal GICP algorithm.

본 발명의 일 실시예에 따르면, 프로세서(120)는 전역 포인트 클라우드 데이터에 포함된 포인트 클라우드 데이터를 랜덤으로 선택하여 샘플링을 수행할 수 있다. 이는 아래의 수학식 1과 같이 표현될 수 있다 According to an embodiment of the present invention, the processor 120 may randomly select the point cloud data included in the global point cloud data and perform sampling. This may be expressed as Equation 1 below.

Figure 112018079436912-pat00002
Figure 112018079436912-pat00002

여기서, P0는 샘플링된 전역 포인트 클라우드 데이터, PP는 전처리된 전역 포인트 클라우드 데이터, randomsample( )는 랜덤 샘플링 함수를 각각 의미한다.Here, P 0 is sampled global point cloud data, P P is preprocessed global point cloud data, and randomsample () denotes a random sampling function.

샘플링을 수행한 수, 프로세서(120)는 최적 GICP 알고리즘을 사용하여 정렬 과정을 수행한다. 이 때, 전처리된 전역 포인트 클라우드 데이터가 사용되는 것이 아니라 샘플링된 전역 포인트 클라우드 데이터가 사용되므로, 포인트 클라우드 데이터를 정렬하는데 소요되는 시간을 단축할 수 있다. After performing the sampling, the processor 120 performs an alignment process using an optimal GICP algorithm. In this case, the preprocessed global point cloud data is not used, but the sampled global point cloud data is used, thereby reducing the time required for sorting the point cloud data.

본 발명의 일 실시예에 따르면, 프로세서(120)는 샘플링된 전역 포인트 클라우드 데이터와 부분 포인트 클라우드 데이터를 이용하여 포인트 클라우드 데이터의 정렬을 위한 변환 행렬을 산출하고, 변환 행렬(transformation matrix)을 이용하여 호모지니어스 변환 행렬(homogeneous transformation matrix)을 산출하고, 호모지니어스 변환 행렬과 전역 포인트 클라우드 데이터를 이용하여 정렬 포인트 클라우드 데이터를 생성할 수 있다.According to an embodiment of the present invention, the processor 120 calculates a transformation matrix for alignment of the point cloud data using the sampled global point cloud data and the partial point cloud data, and uses the transformation matrix. A homogeneous transformation matrix may be calculated and alignment point cloud data may be generated using the homogeneous transformation matrix and global point cloud data.

보다 상세하게, 변환 행렬은 GICP 알고리즘에 따른 비용 함수로서, 아래의 수학식 2과 같이 표현될 수 있다. In more detail, the transformation matrix is a cost function according to the GICP algorithm, and may be expressed as Equation 2 below.

Figure 112018079436912-pat00003
Figure 112018079436912-pat00003

여기서, T는 변환 행렬, i는 포인트 클라우드의 인덱스, ai는 샘플링된 전역 포인트 클라우드 데이터에 포함된 포인트 클라우드 데이터, bi는 부분 포인트 클라우드 데이터에 포함된 포인트 클라우드 데이터,

Figure 112018079436912-pat00004
는 ai의 주변의 포인트 클라우드의 분포 형태를 설명하는 공분산 행렬,
Figure 112018079436912-pat00005
는 bi의 주변의 포인트 클라우드의 분포 형태를 설명하는 공분산 행렬을 각각 의미한다. Where T is the transformation matrix, i is the index of the point cloud, a i is the point cloud data included in the sampled global point cloud data, b i is the point cloud data included in the partial point cloud data,
Figure 112018079436912-pat00004
Is a covariance matrix describing the distribution form of the point cloud around a i ,
Figure 112018079436912-pat00005
Denotes a covariance matrix describing the distribution form of the point cloud around b i .

그리고, 호모지니어스 변환 행렬은 아래의 수학식 3과 같이 표현될 수 있다. 이 때, 호모지니어스 변환 행렬은 최적의 회전 및 평행 이동을 수행하기 위한 것이다. The homogeneous transformation matrix may be expressed by Equation 3 below. At this time, the homogeneous transformation matrix is for performing optimal rotation and parallel movement.

Figure 112018079436912-pat00006
Figure 112018079436912-pat00006

여기서,

Figure 112018079436912-pat00007
는 호모지니어스 변환 행렬, c는 cos 함수, s는 sin 함수,
Figure 112018079436912-pat00008
,
Figure 112018079436912-pat00009
,
Figure 112018079436912-pat00010
각각은 회전에 대한 롤 값, 요 값, 피치 값,
Figure 112018079436912-pat00011
,
Figure 112018079436912-pat00012
,
Figure 112018079436912-pat00013
각각은 변환 행렬의 x, y, z 값을 의미한다. here,
Figure 112018079436912-pat00007
Is the homogenous transformation matrix, c is the cos function, s is the sin function,
Figure 112018079436912-pat00008
,
Figure 112018079436912-pat00009
,
Figure 112018079436912-pat00010
Each of the roll value, yaw value, pitch value,
Figure 112018079436912-pat00011
,
Figure 112018079436912-pat00012
,
Figure 112018079436912-pat00013
Each means the x, y, and z values of the transformation matrix.

즉, 변환 행렬은 수학식 3을 사용하여 최적의 전처리된 포인트 클라우드 데이터(P0) 및 실시간 부분 포인트 클라우두 데이터(Pr)를 고려하여 산출된다. That is, the transformation matrix is calculated by considering the optimal preprocessed point cloud data P 0 and real time partial point cloud data P r using Equation 3.

또한, 호모지니어스 변환 행렬과 전역 포인트 클라우드 데이터를 이용하여 생성되는 정렬 포인트 클라우드 데이터는 아래의 수학식 4와 같이 표현될 수 있다. In addition, the alignment point cloud data generated using the homogeneous transformation matrix and the global point cloud data may be expressed by Equation 4 below.

Figure 112018079436912-pat00014
Figure 112018079436912-pat00014

여기서,

Figure 112018079436912-pat00015
는 정렬 포인트 클라우드 데이터,
Figure 112018079436912-pat00016
는 전역 포인트 클라우드 데이터,
Figure 112018079436912-pat00017
는 호모지니어스 변환 행렬을 각각 의미한다. 이 때,
Figure 112018079436912-pat00018
는 앞서 언급한 바와 같이 샘플링된 전역 포인트 클라우드 데이터에 포함된 포인트 클라우드 데이터와 bi는 부분 포인트 클라우드 데이터에 포함된 포인트 클라우드 데이터의 정렬에 따라 획득될 수 있다. here,
Figure 112018079436912-pat00015
Sorting point cloud data,
Figure 112018079436912-pat00016
Global point cloud data,
Figure 112018079436912-pat00017
Denotes homogeneous transformation matrices, respectively. At this time,
Figure 112018079436912-pat00018
As described above, point cloud data included in the sampled global point cloud data and b i may be obtained according to the alignment of the point cloud data included in the partial point cloud data.

도 5에서는 정렬 포인트 클라우드 데이터를 생성하는 과정의 흐름을 도시하고 있다. 5 shows a flow of a process of generating alignment point cloud data.

다음으로, 단계(320)에서는 실시간으로 획득된 카메라의 영상으로부터 3D 부분 포인트 클라우드 데이터와 대응되는 2D 프레임을 추출한다. Next, in step 320, the 2D frame corresponding to the 3D partial point cloud data is extracted from the image of the camera obtained in real time.

보다 상세하게, 본 발명은 하나의 장치를 이용하여 3D 부분 포인트 클라우드 데이터와 카메라 영상을 동시에 획득한다. 이는 도 6에 도시된 바와 같다. 이 때, 카메라 및 레이저 스캐너는 하나의 장치에서 동일 방향을 향하도록 배치되어 다수의 시점에서 연속적으로 영상 프레임 및 포인트 클라우드 데이터를 생성할 수 있다. 그리고, 단계(320)에서는 카메라 영상의 프레임들 중에서 3D 부분 포인트 클라우드 데이터와 대응되는 2D 프레임을 추출한다. More specifically, the present invention simultaneously acquires 3D partial point cloud data and camera images using a single device. This is as shown in FIG. In this case, the camera and the laser scanner may be disposed to face the same direction in one device to generate image frames and point cloud data continuously at a plurality of viewpoints. In operation 320, the 2D frame corresponding to the 3D partial point cloud data is extracted from the frames of the camera image.

그리고, 단계(320)에서는 카메라 영상에서 추출된 복수의 프레임에 기초하여 카메라의 파라미터가 산출된다. 이 때, 카메라의 파라미터는 2D 프레임에 따른 카메라의 초점 거리, 2D 프레임의 폭 및 높이를 포함할 수 있다. In operation 320, a camera parameter is calculated based on the plurality of frames extracted from the camera image. In this case, the parameters of the camera may include a focal length of the camera according to the 2D frame, a width and a height of the 2D frame.

계속하여, 단계(330)에서는 정렬된 포인트 클라우드 데이터를 2차원으로 변환하여 제1 정렬 데이터를 생성한다. Subsequently, in step 330, the aligned point cloud data is transformed in two dimensions to generate first alignment data.

이 때, 본 발명의 일 실시예에 따르면, 단계(330)에서 프로세서(120)는 카메라의 파라미터에 의해 정의되는 이미지 평면 위에 정렬 포인트 클라우드 데이터를 투영하여 제1 정렬 데이터를 생성할 수 있다. 이에 대해 보다 상세하게 설명하면 다음과 같다. At this time, according to an embodiment of the present invention, in step 330, the processor 120 may generate the first alignment data by projecting the alignment point cloud data on the image plane defined by the parameters of the camera. This will be described in more detail as follows.

LiDAR 센서에서 획득한 포인트 클라우드 데이터는 국제 좌표계(world coordinate system)에서 정의된다. 3D 포인트 클라우드 데이터를 2차원으로 변환하여 2D의 RGB 이미지를 생성하기 위해, 본 발명은 카메라 파라미터로 정의된 이미지 평면에 3D 포인트를 투영한다. Point cloud data acquired from the LiDAR sensor is defined in the world coordinate system. In order to generate 3D RGB images by converting 3D point cloud data in two dimensions, the present invention projects 3D points on an image plane defined by camera parameters.

카메라의 렌즈의 중심은 도 7에 도시된 바와 같이 카메라 좌표계의 원점으로 간주된다. Z축 방향은 카메라 좌표계의 XY 평면에 수직이며, 이미지화 될 객체를 향한 양의 방향을 가진다. 그리고, 3D 포인트 클라우드 데이터는 카메라의 센서에 의해 정의된 이미지 평면에 투영된다. 이 때, 도 6에 도시된 바와 같이, LiDAR 센서와 카메라 센서는 객체로부터 동일한 거리에 위치한다. 즉, 객체로부터의 LiDAR의 거리는 카메라 좌표계의 원점에서의 카메라의 초점 거리와 대응된다. LiDAR 센서와 카메라의 투영 파라미터 간의 차이에 대한 추가 조정은 하기에서 설명한다. The center of the lens of the camera is regarded as the origin of the camera coordinate system as shown in FIG. The Z axis direction is perpendicular to the XY plane of the camera coordinate system and has a positive direction towards the object to be imaged. 3D point cloud data is then projected onto the image plane defined by the camera's sensor. At this time, as shown in Figure 6, the LiDAR sensor and the camera sensor is located at the same distance from the object. That is, the distance of the LiDAR from the object corresponds to the focal length of the camera at the origin of the camera coordinate system. Further adjustments to the difference between the projection parameters of the LiDAR sensor and the camera are described below.

또한, 도 7에 도시된 바와 같이, 카메라 좌표계의 투영 원점은 획득된 이미지가 중심 (X, Y, f)에서 정의될 때 발생된다. 생성된 2D 프레임 이미지의 카메라 초점 거리(f), 너비(w) 및 높이(h)를 사용하여 포인트 클라우드 데이터의 투영을 위한 이미지 평면을 정의한다. 도 8의 (a)는 파이프 라인의 3D 포인트 클라우드 데이터를 도시하고 있고, 도 8의 (b)는 3D 포인트 클라우드 데이터에서 투영된 파이프 라인의 2D 포인트 클라우드 데이터를 도시하고 있다. Also, as shown in Fig. 7, the projection origin of the camera coordinate system is generated when the acquired image is defined at the center (X, Y, f). The camera focal length f, width w and height h of the generated 2D frame image are used to define the image plane for the projection of the point cloud data. FIG. 8 (a) shows the 3D point cloud data of the pipeline, and FIG. 8 (b) shows the 2D point cloud data of the pipeline projected from the 3D point cloud data.

본 발명의 일 실시예에 따르면, 투영 과정은 아래의 수학식 5에 기초하여 수행될 수 있다. According to an embodiment of the present invention, the projection process may be performed based on Equation 5 below.

Figure 112018079436912-pat00019
Figure 112018079436912-pat00019

여기서, (x, y)는 2차원으로 투영된 좌표, (X, Y, Z)는 3차원의 포인트 클라우드 데이터의 좌표, (X0, Y0, Z0)는 3차원의 포인트 클라우드 데이터 중 하나의 클라우드 데이터의 좌표, ω, φ, κ는 회전에 대한 롤 값, 요 값, 피치 값를 의미한다. Here, (x, y) is coordinates projected in two dimensions, (X, Y, Z) is coordinates of three-dimensional point cloud data, (X 0 , Y 0 , Z 0 ) is among three-dimensional point cloud data Coordinates, ω, φ, and κ of one cloud data mean roll value, yaw value, and pitch value for rotation.

한편, 프로세서(120)는 레이저 스캐너의 포인트 클라우드 데이터와 카메라의 픽셀을 교정(Calibration)하는 동작을 수행할 수 있다. 이에 대해 상세히 설명하면 다음과 같다. The processor 120 may perform an operation of calibrating the pixel of the camera and the point cloud data of the laser scanner. This will be described in detail below.

LiDAR 센서와 카메라 간의 보정은 하기에서 설명하는 바와 같이 이미지에 포인트 클라우드 데이터를 정확하게 정렬하는데 필요하다. 이는 카메라를 통해 획득된 이미지는 RGB 이미지로서, LiDAR 센서를 통해 획득한 포인트 클라우드 데이터에서 생성된 이미지와는 특성이 다르기 때문이다. Calibration between the LiDAR sensor and the camera is necessary to accurately align the point cloud data in the image as described below. This is because the image acquired through the camera is an RGB image, which is different from the image generated from the point cloud data acquired through the LiDAR sensor.

LiDAR로 카메라를 교정하는 것은 이미지와 포인트 클라우드 데이터를 통합하는데 사용되며, 카메라 이미지의 픽셀과 LiDAR 센서의 포인트 사이의 일치를 확인한다. 마커 기반 보정 방법은 카메라와 LiDAR를 효율적으로 정렬한다. 2개의 센서로부터의 데이터의 기하학적 변위는 2개의 센서에서 검출된 마커 위치를 통해 조정된다. Calibrating the camera with LiDAR is used to integrate the image and point cloud data, confirming the match between the pixel in the camera image and the point on the LiDAR sensor. Marker-based correction methods efficiently align cameras with LiDARs. The geometrical displacement of the data from the two sensors is adjusted through the marker positions detected at the two sensors.

스캐닝 플랫폼의 방향은 카메라와 인접하게 배치되는 IMU 센서에서 획득되고(도 6 참조), IMU 센서는 단위 쿼터니언, 오일러 각도 및 회전 행렬과 같은 다양한 표현을 사용하여 3D 방향을 출력한다. 스캐너 플랫폼에 대해 전처리된 포인트 클라우드 데이터의 초기 정렬을 위해 IMU 센서에 출력되는 단위 쿼터니언 출력을 고려했다. 이는 수학식 6과 같이 표현된다. The direction of the scanning platform is obtained from an IMU sensor placed adjacent to the camera (see FIG. 6), and the IMU sensor outputs the 3D direction using various representations such as unit quaternion, Euler angles and rotation matrix. For the initial alignment of preprocessed point cloud data for the scanner platform, we considered unit quaternion output to the IMU sensor. This is expressed as in Equation 6.

Figure 112018079436912-pat00020
Figure 112018079436912-pat00020

여기서,

Figure 112018079436912-pat00021
는 IMU 센서를 이용한 정렬 후의 포인트 클라우드 데이터,
Figure 112018079436912-pat00022
는 정렬 전의 포인트 클라우드 데이터,
Figure 112018079436912-pat00023
는 카메라의 초점 거리를 가지는 카메라 투영 행렬,
Figure 112018079436912-pat00024
는 보정 매트릭스,
Figure 112018079436912-pat00025
Figure 112018079436912-pat00026
는 이미지의 가로 및 세로의 길이,
Figure 112018079436912-pat00027
,
Figure 112018079436912-pat00028
,
Figure 112018079436912-pat00029
는 LiDAR와 카메라의 변위 벡터를 각각 의미한다.here,
Figure 112018079436912-pat00021
Is the point cloud data after alignment using the IMU sensor,
Figure 112018079436912-pat00022
Is the point cloud data before sorting,
Figure 112018079436912-pat00023
Is the camera projection matrix with the focal length of the camera,
Figure 112018079436912-pat00024
Is the correction matrix,
Figure 112018079436912-pat00025
And
Figure 112018079436912-pat00026
Is the width and height of the image,
Figure 112018079436912-pat00027
,
Figure 112018079436912-pat00028
,
Figure 112018079436912-pat00029
Denotes displacement vectors of LiDAR and camera, respectively.

상기 설명한 내용에 기초하여, 단계(340)에서는 추출된 2D 프레임과 제1 정렬 데이터를 정렬하여 제2 정렬 데이터를 생성한다. 도 9에서는 2D 프레임과 제1 정렬 데이터를 정렬하여 제2 정렬 데이터를 생성하는 일례를 도시하고 있다. Based on the above description, in step 340, the extracted 2D frame and the first alignment data are aligned to generate second alignment data. 9 illustrates an example of aligning the 2D frame and the first alignment data to generate second alignment data.

이 때, 포인트 클라우드 이미지의 세기 값(intensity value)은 아래의 수학식 7를 사용하여 카메라 프레임으로 업데이트될 수 있다. In this case, the intensity value of the point cloud image may be updated to the camera frame using Equation 7 below.

Figure 112018079436912-pat00030
Figure 112018079436912-pat00030

여기서, w는 2D 프레임 이미지의 너비, h는 2D 프레임 이미지의 폭, CI(i, j)는 포인트 클라우드 데이터의 이미지의 픽셀을 각각 의미한다. Here, w is the width of the 2D frame image, h is the width of the 2D frame image, C I (i, j) means the pixels of the image of the point cloud data, respectively.

그 후, 2D 프레임 이미지의 FI(i, j)번째 픽셀의 세기를 대응되는 포인트 클라우드 데이터의 이미지의 CI(i, j)번째 픽셀의 세기로 교체한다. The intensity of the F I (i, j) pixel of the 2D frame image is then replaced by the intensity of the C I (i, j) pixel of the image of the corresponding point cloud data.

계속하여, 단계(350)에서는 미리 생성된 객체의 3D CAD 모델과 제2 정렬 데이터를 정렬하여 제3 정렬 데이터를 생성한다. 이 때, 제3 정렬 데이터를 이용하여 가상 리트로피팅을 위한 동작이 수행될 수 있다. In operation 350, the 3D CAD model of the pre-generated object and the second alignment data are aligned to generate third alignment data. At this time, an operation for virtual retrofitting may be performed using the third alignment data.

요컨대, 본 발명은 산업 플랜트 시설의 가상 개조 및 업그레이드를 목표로 하는 새로운 4 대 1 가상 리트로피팅 작업의 프레임워크이다. 이 작업은 레이저 스캐닝에서 얻어지는 물리적인 환경의 부분 포인트 클라우드 데이터와 사전에 측정되고 조합된 포인트 클라우드 전체 모델을 동일한 좌표로 정리하는 것에서 시작한다. 정렬된 데이터를 바탕으로 실사 사진이 중첩되고, 생성된 CAD 모델에 대해 가상 리트로피팅 작업이 수행되며 전체 데이터가 디스플레이부(130) 및 사용자 인터페이스(140)를 통한 VR(Virtual Reality) 장치에서 효과적으로 시각화가 진행된다. 이 절차를 통해 실제 현장에서 최종 리트로피팅 작업의 수행을 위해서 기존의 현장 플랜트 정보를 이해하고 관리를 할 수 있게 해주는 사전 리토로피팅 모델의 구축이 완성된다. In short, the present invention is a framework of a new four-to-one virtual retrofitting operation aimed at virtually retrofitting and upgrading industrial plant facilities. This work begins by organizing the partial point cloud data of the physical environment obtained by laser scanning and the entire point cloud model previously measured and combined with the same coordinates. Photorealistic images are superimposed based on the sorted data, virtual repeating operations are performed on the generated CAD model, and the entire data is effectively visualized in a virtual reality device through the display 130 and the user interface 140. Proceeds. This procedure completes the construction of a proactive refitting model that allows you to understand and manage existing site plant information for final refitting in the field.

또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, embodiments of the present invention may be implemented in the form of program instructions that may be executed by various computer means to be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Examples of program instructions such as magneto-optical, ROM, RAM, flash memory, etc. may be executed by a computer using an interpreter as well as machine code such as produced by a compiler. Contains high-level language codes. The hardware device described above may be configured to operate as one or more software modules to perform the operations of one embodiment of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help the overall understanding of the present invention, the present invention is not limited to the above embodiments, Various modifications and variations can be made by those skilled in the art to which the present invention pertains. Therefore, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents and equivalents of the claims, as well as the appended claims, will belong to the scope of the present invention. .

Claims (6)

객체의 가상 리트로피팅(Retrofitting)을 위한 정렬 데이터 생성을 수행하는 단말 장치에 있어서,
컴퓨터에서 판독 가능한 명령을 저장하는 메모리; 및
상기 명령을 실행하도록 구현되는 프로세서:를 포함하되,
상기 프로세서는,
미리 획득된 상기 객체의 3D 전역 포인트 클라우드 데이터와, 실시간으로 획득된 상기 객체의 특정 부분에 대한 3D 부분 포인트 클라우드 데이터를 정렬하고, 상기 정렬된 포인트 클라우드 데이터를 2차원으로 변환하여 제1 정렬 데이터를 생성하고,
실시간으로 획득된 카메라의 영상으로부터 상기 3D 부분 포인트 클라우드 데이터와 대응되는 2D 프레임을 추출하고, 상기 추출된 2D 프레임과 상기 제1 정렬 데이터를 정렬하여 제2 정렬 데이터를 생성하고,
미리 생성된 상기 객체의 CAD 모델과 상기 제2 정렬 데이터를 정렬하여 제3 정렬 데이터를 생성하되,
상기 제3 정렬 데이터를 이용하여 상기 가상 리트로피팅을 위한 동작을 수행하는 것을 특징으로 하는 단말 장치.
A terminal device for performing alignment data generation for virtual retrofitting of an object, the terminal device comprising:
Memory for storing computer-readable instructions; And
A processor implemented to execute the instructions,
The processor,
The 3D global point cloud data of the object obtained in advance and the 3D partial point cloud data for a specific part of the object obtained in real time are aligned, and the aligned point cloud data is converted into two dimensions to obtain the first alignment data. Create,
Extracting a 2D frame corresponding to the 3D partial point cloud data from an image of a camera obtained in real time, generating second alignment data by aligning the extracted 2D frame with the first alignment data,
The third alignment data is generated by aligning the CAD model of the object and the second alignment data generated in advance.
And performing the operation for the virtual repeating using the third alignment data.
제1항에 있어서,
상기 3D 부분 포인트 클라우드는 레이저 스캐너를 통해 획득되고,
상기 카메라 및 상기 레이저 스캐너는 하나의 장치에서 동일 방향을 향하도록 배치되며,
상기 프로세서는 상기 제2 정렬 데이터를 생성하기 위해 상기 레이저 스캐너의 포인트 클라우드 데이터와 상기 카메라의 픽셀을 교정(Calibration)하는 동작을 수행하는 것을 특징으로 하는 단말 장치.
The method of claim 1,
The 3D partial point cloud is obtained through a laser scanner,
The camera and the laser scanner are arranged to face in the same direction in one device,
And the processor is configured to calibrate the pixel of the camera and the point cloud data of the laser scanner to generate the second alignment data.
제1항에 있어서,
상기 프로세서는 상기 카메라의 파라미터에 의해 정의되는 이미지 평면 위에 상기 정렬된 포인트 클라우드 데이터를 투영하여 상기 제1 정렬 데이터를 생성하되, 상기 카메라의 파라미터는 상기 2D 프레임에 따른 상기 카메라의 초점 거리, 상기 2D 프레임의 폭 및 높이를 포함하는 것을 특징으로 하는 단말 장치.
The method of claim 1,
The processor generates the first alignment data by projecting the aligned point cloud data onto an image plane defined by the parameter of the camera, wherein the parameter of the camera is the focal length of the camera according to the 2D frame, the 2D Terminal device comprising a width and height of the frame.
제3항에 있어서,
상기 투영 과정은 아래의 수학식에 기초하여 수행되는 것을 특징으로 하는 단말 장치.

Figure 112018079436912-pat00031


여기서, (x, y)는 2차원으로 투영된 좌표, (X, Y, Z)는 3차원의 포인트 클라우드 데이터의 좌표, (X0, Y0, Z0)는 3차원의 포인트 클라우드 데이터 중 하나의 클라우드 데이터의 좌표, ω, φ, κ는 회전에 대한 롤 값, 요 값, 피치 값를 의미함.
The method of claim 3,
The projection process is performed based on the following equation.

Figure 112018079436912-pat00031


Here, (x, y) is coordinates projected in two dimensions, (X, Y, Z) is coordinates of three-dimensional point cloud data, (X 0 , Y 0 , Z 0 ) is among three-dimensional point cloud data The coordinates of one cloud data, ω, φ, and κ, mean roll value, yaw value and pitch value for rotation.
프로세서에 의해 수행되는 객체의 가상 리트로피팅(Retrofitting)을 위한 정렬 데이터 생성 방법에 있어서,
미리 획득된 상기 객체의 3D 전역 포인트 클라우드 데이터와, 실시간으로 획득된 상기 객체의 특정 부분에 대한 3D 부분 포인트 클라우드 데이터를 정렬하는 단계;
상기 정렬된 포인트 클라우드 데이터를 2차원으로 변환하여 제1 정렬 데이터를 생성하는 단계;
실시간으로 획득된 카메라의 영상으로부터 상기 3D 부분 포인트 클라우드 데이터와 대응되는 2D 프레임을 추출하는 단계;
상기 추출된 2D 프레임과 상기 제1 정렬 데이터를 정렬하여 제2 정렬 데이터를 생성하는 단계; 및
미리 생성된 상기 객체의 CAD 모델과 상기 제2 정렬 데이터를 정렬하여 제3 정렬 데이터를 생성하는 단계;를 포함하되,
상기 제3 정렬 데이터를 이용하여 상기 객체의 가상 리트로피팅을 위한 동작을 수행하는 것을 특징으로 하는 정렬 데이터 생성 방법.
A method of generating alignment data for virtual retrofitting of an object performed by a processor,
Aligning 3D global point cloud data of the object obtained in advance with 3D partial point cloud data for a specific part of the object obtained in real time;
Generating first alignment data by converting the aligned point cloud data in two dimensions;
Extracting a 2D frame corresponding to the 3D partial point cloud data from an image of a camera acquired in real time;
Generating second alignment data by aligning the extracted 2D frame with the first alignment data; And
And arranging the CAD model of the object and the second alignment data generated in advance, to generate third alignment data.
And performing an operation for virtual retrofitting of the object using the third alignment data.
제5항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of claim 5.
KR1020180093938A 2018-08-10 2018-08-10 Method for generating alignment data for virtual retrofitting object using video and Terminal device for performing the same KR102077934B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180093938A KR102077934B1 (en) 2018-08-10 2018-08-10 Method for generating alignment data for virtual retrofitting object using video and Terminal device for performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180093938A KR102077934B1 (en) 2018-08-10 2018-08-10 Method for generating alignment data for virtual retrofitting object using video and Terminal device for performing the same

Publications (1)

Publication Number Publication Date
KR102077934B1 true KR102077934B1 (en) 2020-02-14

Family

ID=69514136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180093938A KR102077934B1 (en) 2018-08-10 2018-08-10 Method for generating alignment data for virtual retrofitting object using video and Terminal device for performing the same

Country Status (1)

Country Link
KR (1) KR102077934B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112967387A (en) * 2021-03-31 2021-06-15 神华神东煤炭集团有限责任公司 Method and system for repairing worn mining scraper

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150128300A (en) * 2014-05-09 2015-11-18 한국건설기술연구원 method of making three dimension model and defect analysis using camera and laser scanning
KR20170130150A (en) * 2016-05-18 2017-11-28 광운대학교 산학협력단 Camera rig method for acquiring 3d data, camera rig system performing the same, and storage medium storing the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150128300A (en) * 2014-05-09 2015-11-18 한국건설기술연구원 method of making three dimension model and defect analysis using camera and laser scanning
KR20170130150A (en) * 2016-05-18 2017-11-28 광운대학교 산학협력단 Camera rig method for acquiring 3d data, camera rig system performing the same, and storage medium storing the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112967387A (en) * 2021-03-31 2021-06-15 神华神东煤炭集团有限责任公司 Method and system for repairing worn mining scraper
CN112967387B (en) * 2021-03-31 2024-05-24 神华神东煤炭集团有限责任公司 Repairing method and system for worn scraper for mine

Similar Documents

Publication Publication Date Title
CN107741234B (en) Off-line map construction and positioning method based on vision
CN111325796B (en) Method and apparatus for determining pose of vision equipment
CN107980150B (en) Modeling three-dimensional space
US8401242B2 (en) Real-time camera tracking using depth maps
US8452081B2 (en) Forming 3D models using multiple images
JP5881743B2 (en) Self-position estimation of mobile camera using depth map
US8447099B2 (en) Forming 3D models using two images
CN112839764A (en) Systems and methods for weld path generation
CN111462207A (en) RGB-D simultaneous positioning and map creation method integrating direct method and feature method
Yun et al. Automated registration of multi-view point clouds using sphere targets
US12131501B2 (en) System and method for automated estimation of 3D orientation of a physical asset
KR101869605B1 (en) Three-Dimensional Space Modeling and Data Lightening Method using the Plane Information
CN109900274B (en) Image matching method and system
CN117274499B (en) Unmanned aerial vehicle oblique photography-based steel structure processing and mounting method
CN118314300B (en) Engineering measurement accurate positioning and three-dimensional modeling method and system
KR20230003803A (en) Automatic calibration through vector matching of the LiDAR coordinate system and the camera coordinate system
CN115661252A (en) Real-time pose estimation method and device, electronic equipment and storage medium
KR102077934B1 (en) Method for generating alignment data for virtual retrofitting object using video and Terminal device for performing the same
Zhang et al. A vision-centric approach for static map element annotation
KR20120032681A (en) Method and apparatus for 3d object tracking
Kochi et al. Development of 3D image measurement system and stereo‐matching method, and its archaeological measurement
Xie et al. As-built BIM reconstruction of piping systems using smartphone videogrammetry and terrestrial laser scanning
CN115641373A (en) Interactive three-dimensional distance measurement algorithm for fusing point cloud and image
KR102034387B1 (en) Method for generating alignment data for virtual retrofitting object and Terminal device for performing the same
KR102438490B1 (en) Heterogeneous sensors calibration method and apparatus using single checkerboard

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant