KR102455546B1 - Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud - Google Patents

Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud Download PDF

Info

Publication number
KR102455546B1
KR102455546B1 KR1020200124784A KR20200124784A KR102455546B1 KR 102455546 B1 KR102455546 B1 KR 102455546B1 KR 1020200124784 A KR1020200124784 A KR 1020200124784A KR 20200124784 A KR20200124784 A KR 20200124784A KR 102455546 B1 KR102455546 B1 KR 102455546B1
Authority
KR
South Korea
Prior art keywords
point
vector
point cloud
iterative
pose
Prior art date
Application number
KR1020200124784A
Other languages
Korean (ko)
Other versions
KR20220041498A (en
Inventor
최욱
Original Assignee
인천대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인천대학교 산학협력단 filed Critical 인천대학교 산학협력단
Priority to KR1020200124784A priority Critical patent/KR102455546B1/en
Publication of KR20220041498A publication Critical patent/KR20220041498A/en
Application granted granted Critical
Publication of KR102455546B1 publication Critical patent/KR102455546B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/416Exact reconstruction

Abstract

본 발명은 색상을 반영한 포인트 클라우드의 재구성을 위한 반복 최근접 포인트 탐색 방법에 관한 것으로서, 본 발명의 영상 처리 시스템에서 소스 포인트 클라우드를 참조 포인트 클라우드와 정합하기 위한 반복 최근접 포인트 탐색 방법은, 소스 포인트 클라우드와 참조 포인트 클라우드 간의 회전 벡터와 병진 벡터를 포함하는 포즈 벡터를 이용하여, 미리 정해진 수의 네이버들에 대해 매칭 확률을 할당하는 반복 K-최근접 포인트 알고리즘에 따라, 상기 포즈 벡터와 연관되고 소스 포인트와 참조 포인트 간의 마할라노비스 거리에 기초한 비용을 산출하는 단계, 및 상기 회전 벡터의 회전 증분 및 상기 병진 벡터의 병진 증분을 이용하여 상기 포즈 벡터를 업데이트하는 과정을 복수회 반복 과정을 수행하여, 상기 소스 포인트 클라우드가 상기 포즈 벡터에 의해 업데이트된 포인트 클라우드를 생성하는 단계를 포함한다.The present invention relates to an iterative nearest point search method for reconstructing a color-reflective point cloud, and the iterative nearest point search method for matching a source point cloud with a reference point cloud in the image processing system of the present invention includes According to an iterative K-nearest point algorithm that assigns a matching probability to a predetermined number of neighbors using a pose vector comprising a rotation vector and a translation vector between the cloud and the reference point cloud, associated with the pose vector and the source Calculating a cost based on the Mahalanobis distance between a point and a reference point, and repeating the process of updating the pose vector using the rotation increment of the rotation vector and the translation increment of the translation vector are repeated a plurality of times, and generating a point cloud in which the source point cloud is updated by the pose vector.

Description

색상을 반영한 포인트 클라우드의 재구성을 위한 반복 최근접 포인트 탐색 방법{Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud}Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud

본 발명은 ICP(Iterative Closest Point, 반복 최근접 포인트) 탐색 방법에 관한 것으로서, 특히, 사람 등 3D 이미지를 재구성하기 위하여, 반복적인 K-최근접 포인트 알고리즘(Iterative K-Closest Point Algorithms)을 이용해, 소스 포인트 클라우드의 포인트가 K-최근접 포인트에 의해 참조 포인트 클라우드로 자연스럽게 매칭되고 비용을 최소화할 수 있는 반복 최근접 포인트 탐색 방법에 관한 것이다. The present invention relates to an Iterative Closest Point (ICP) search method, and in particular, to reconstruct a 3D image such as a person, using an iterative K-Closest Point Algorithms, A point in a source point cloud is naturally matched to a reference point cloud by K-nearest points, and the iterative nearest point search method is capable of minimizing the cost.

RGB-D (RGB-Depth) 카메라는 최근 비용 절감과 사용 편의성으로 인해 로봇 공학 및 3D 모델링의 많은 응용 분야에서 사용되고 있다. 환경의 RGB-D 비디오를 촬영하고 RGB-D 이미지에서 얻은 포인트 클라우드를 정합하여 조밀한 3D 맵을 만들 수 있다. 물체의 3D 모델은 여러 대의 보정된 RGB-D 카메라로 구성된 멀티뷰 시스템을 사용하여 얻을 수 있다. RGB-D (RGB-Depth) cameras have recently been used in many applications in robotics and 3D modeling due to their cost savings and ease of use. A dense 3D map can be created by taking an RGB-D video of the environment and registering point clouds obtained from the RGB-D image. A 3D model of an object can be obtained using a multiview system consisting of several calibrated RGB-D cameras.

ICP (Iterative Closest Point) 알고리즘은 정합 및 교정 오류의 보상에서 중요한 역할을 한다. ICP 알고리즘은 대응관계 검색과 포즈(pose) 추정 단계를 번갈아 가며 두 포인트 클라우드를 정합한다. 지난 30 년 동안 연구자들은 알고리즘의 문제를 극복하기 위한 알고리즘을 개발해 왔다. 3D 위치에만 의존하는 대응관계를 찾는 모호성을 줄이기 위해 대응관계 검색 단계는 3D 위치와 색상을 모두 활용하여 고차원 공간에서 가장 가까운 포인트를 찾도록 발전했다. 포인트 클라우드의 제한된 해상도로 인해 어느 포인트에 정확히 대응되는 포인트를 찾지 못할 수 있다. 이는 포인트가 다른 포인트 클라우드의 모든 포인트와 일치하도록 허용하고 모든 대응에 일치 확률을 할당함으로써 해결될 수 있다. 또는 점대 점 거리를 점대 평면 또는 평면 대 평면 거리로 대체하여 비용 함수를 개선하기도 한다. 포인트 간 대응의 가정을 완화함으로써 알고리즘이 더욱 정확하고 강력해진다.The Iterative Closest Point (ICP) algorithm plays an important role in the compensation of registration and calibration errors. The ICP algorithm matches the two point clouds by alternately searching for correspondences and estimating poses. Over the past 30 years, researchers have been developing algorithms to overcome the problems of algorithms. In order to reduce the ambiguity of finding correspondences that depend only on 3D positions, the correspondence search stage has been developed to find the closest points in high-dimensional space using both 3D positions and colors. Due to the limited resolution of the point cloud, it may not be possible to find an exact point corresponding to a point. This can be addressed by allowing a point to match any point in another point cloud and assigning a probability of matching to every match. Alternatively, the cost function is improved by replacing the point-to-point distance with a point-to-plane or plane-to-plane distance. By relaxing the assumption of point-to-point correspondence, the algorithm becomes more accurate and robust.

그러나, 종래의 ICP 알고리즘은 자연스러운 이미지 재구성이 부족하며 비용이 많이 들므로 이에 대한 개선이 필요한 실정이다.However, since the conventional ICP algorithm lacks natural image reconstruction and is expensive, there is a need for improvement.

따라서, 본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은, 사람 등 3D 이미지를 재구성하는 데 있어서, 포인트 클라우드의 포인트가 K-최근접 포인트 그룹에 자연스럽게 매칭되고 비용을 최소화할 수 있도록 하기 위하여, 반복적인 K-최근접 포인트 알고리즘을 이용하되 계산 속도와 정확도 사이의 균형을 맞추기 위해 포인트가 K-최근접 포인트와 일치하도록 허용하고 소스/참조 포인트간 일치 확률을 K 쌍들에만 할당하며, 포즈 탐색은 3D 좌표와 포인트의 색상을 결합하여 6D 벡터 공간에서 수행하는, 반복 최근접 포인트 탐색 방법을 제공하는 데 있다. Accordingly, the present invention has been devised to solve the above problems, and an object of the present invention is to naturally match the points of the point cloud to the K-nearest point group and to minimize the cost in reconstructing a 3D image such as a person. In order to be able to do this, we use an iterative K-nearest-nearest-points algorithm, but in order to strike a balance between computational speed and accuracy, we allow a point to match a K-nearest point and limit the probability of matching between source/reference points to only K pairs. The purpose of the pose search is to provide an iterative nearest point search method in 6D vector space by combining 3D coordinates and the color of the point.

먼저, 본 발명의 특징을 요약하면, 상기의 목적을 달성하기 위한 본 발명의 일면에 따른 영상 처리 시스템에서 소스 포인트 클라우드를 참조 포인트 클라우드와 정합하기 위한 반복 최근접 포인트 탐색 방법은, 소스 포인트 클라우드와 참조 포인트 클라우드 간의 회전 벡터와 병진 벡터를 포함하는 포즈 벡터를 이용하여, 미리 정해진 수의 네이버들에 대해 매칭 확률을 할당하는 반복 K-최근접 포인트 알고리즘에 따라, 상기 포즈 벡터와 연관되고 소스 포인트와 참조 포인트 간의 마할라노비스 거리에 기초한 비용을 산출하는 단계; 및 상기 회전 벡터의 회전 증분 및 상기 병진 벡터의 병진 증분을 이용하여 상기 포즈 벡터를 업데이트하는 과정을 복수회 반복 과정을 수행하여, 상기 소스 포인트 클라우드가 상기 포즈 벡터에 의해 업데이트된 포인트 클라우드를 생성하는 단계를 포함한다.First, to summarize the features of the present invention, the iterative nearest point search method for matching a source point cloud with a reference point cloud in an image processing system according to an aspect of the present invention for achieving the above object is, According to an iterative K-nearest point algorithm that assigns a matching probability to a predetermined number of neighbors using a pose vector comprising a rotation vector and a translation vector between a reference point cloud, the pose vector is associated with the source point and calculating a cost based on the Mahalanobis distance between reference points; and repeating the process of updating the pose vector using the rotation increment of the rotation vector and the translation increment of the translation vector a plurality of times to generate a point cloud in which the source point cloud is updated by the pose vector. includes steps.

상기 비용은 상기 소스 포인트와 참조 포인트 간의 점대 점 또는 점대 평면 거리에 대한 제곱에 가중치를 적용한 후 합산한 값에 대응된다.The cost corresponds to a value added after weighting the square of the point-to-point or point-to-plane distance between the source point and the reference point.

상기 반복 K-최근접 포인트 알고리즘에 따른 상기 포즈 벡터의 탐색은 상기 소스 포인트와 참조 포인트 각각의 3차원 좌표 벡터와 3차원 색상 벡터를 결합한 6차원 벡터 공간에서 이루어진다.The search for the pose vector according to the iterative K-nearest point algorithm is performed in a 6D vector space in which a 3D coordinate vector and a 3D color vector of the source and reference points are combined.

상기 반복 과정에서 상기 비용의 변화율(gradient)이 0이 되는 증분을 계산하고 상기 회전 증분 및 병진 증분의 크기가 임계치 이하가 될 때까지 미리 정해진 최대 반복 횟수 이내에서 상기 반복 과정을 수행하며, 상기 회전 벡터 R의 상기 회전 증분 △R 및 상기 병진 벡터 T의 병진 증분 △T에 따라, 상기 반복 과정에서

Figure 112020102436518-pat00001
,
Figure 112020102436518-pat00002
에 따라 상기 포즈 벡터가 업데이트된다.In the iteration process, an increment in which the gradient of the cost becomes zero is calculated, and the iteration process is performed within a predetermined maximum number of iterations until the magnitude of the rotational increment and the translational increment is less than or equal to a threshold, and the rotation is performed. According to the rotation increment ΔR of the vector R and the translation increment ΔT of the translation vector T, in the iteration process
Figure 112020102436518-pat00001
,
Figure 112020102436518-pat00002
The pose vector is updated accordingly.

상기 반복 최근접 포인트 탐색 방법은, 상기 상기 비용을 산출하는 단계 전에, 상기 포즈 벡터를 상수로 하고, 3차원 카메라로부터 획득된 상기 소스 포인트의 깊이값에 대하여, 상기 반복 K-최근접 포인트 알고리즘에 따라, 상기 마할라노비스 거리에 기초한 비용이 최소가 되도록 상기 깊이값을 업데이트하는 과정을 복수회 수행하는, 깊이 벡터 탐색 단계; 및 상기 업데이트된 깊이값을 상기 비용을 산출하는 단계의 상기 소스 포인트 클라우드에 적용하는 단계를 더 포함한다.In the iterative nearest point search method, before calculating the cost, the iterative K-nearest point algorithm with respect to the depth value of the source point obtained from the 3D camera with the pose vector as a constant Accordingly, a depth vector search step of performing the process of updating the depth value a plurality of times so that the cost based on the Mahalanobis distance is minimized; and applying the updated depth value to the source point cloud in the step of calculating the cost.

상기 반복 최근접 포인트 탐색 방법은, 멀티-뷰 포인트 클라우드들을 병합하는 단계를 더 포함하고, 상기 병합에서, 업데이트된 상기 포즈 벡터에 따라, 상기 멀티-뷰 포인트 클라우드들 중 가장 가까운 포인트 클라우드로부터 가장 먼 포인트 클라우드 순서로 병합할 수 있다.The iterative nearest point search method further comprises the step of merging multi-view point clouds, wherein in the merging, according to the updated pose vector, a point farthest from a nearest point cloud among the multi-view point clouds. You can merge them in point cloud order.

상기 병합에서, 업데이트된 상기 깊이값에 따라, 상기 멀티-뷰 포인트 클라우드들 중 가장 먼 포인트 클라우드로부터 가장 가까운 포인트 클라우드 순서로 병합하고, 이후 라운드에서 가장 먼 것과 가장 가까운 것의 처리 순서를 교대로 반전시킬 수 있다.In the merging, according to the updated depth value, merging from the furthest point cloud to the nearest point cloud order among the multi-view point clouds, and then alternately inverting the processing order of the furthest and the closest ones in the round can

그리고, 본 발명의 다른 일면에 따른 영상 처리 시스템에서 소스 포인트 클라우드를 참조 포인트 클라우드와 정합하기 위한 반복 최근접 포인트 탐색을 처리하는, 컴퓨터가 판독 가능한 코드를 기록한 기록 매체는, 소스 포인트 클라우드와 참조 포인트 클라우드 간의 회전 벡터와 병진 벡터를 포함하는 포즈 벡터를 이용하여, 미리 정해진 수의 네이버들에 대해 매칭 확률을 할당하는 반복 K-최근접 포인트 알고리즘에 따라, 상기 포즈 벡터와 연관되고 소스 포인트와 참조 포인트 간의 마할라노비스 거리에 기초한 비용을 산출하는 기능; 및 상기 회전 벡터의 회전 증분 및 상기 병진 벡터의 병진 증분을 이용하여 상기 포즈 벡터를 업데이트하는 과정을 복수회 반복 과정을 수행하여, 상기 소스 포인트 클라우드가 상기 포즈 벡터에 의해 업데이트된 포인트 클라우드를 생성하는 기능을 구현할 수 있다. And, in the image processing system according to another aspect of the present invention, the recording medium in which the computer-readable code for processing the iterative nearest point search for matching the source point cloud with the reference point cloud is recorded, the source point cloud and the reference point According to an iterative K-nearest point algorithm that assigns matching probabilities to a predetermined number of neighbors using a pose vector comprising a rotation vector and a translation vector between clouds, the pose vector is associated with the source point and the reference point the ability to calculate a cost based on the Mahalanobis distance between them; and repeating the process of updating the pose vector using the rotation increment of the rotation vector and the translation increment of the translation vector a plurality of times to generate a point cloud in which the source point cloud is updated by the pose vector. function can be implemented.

본 발명에 따른 반복 최근접 포인트 탐색 방법에 따르면, 반복적인 K-최근접 포인트 알고리즘을 이용하되 계산 속도와 정확도 사이의 균형을 맞추기 위해 포인트가 K-최근접 포인트와 일치하도록 허용하고 소스/참조 포인트간 일치 확률을 K 쌍들에만 할당하되, 포즈 탐색은 3D 좌표와 포인트의 색상을 결합하여 6D 벡터 공간에서 수행함으로써, 사람 등 3D 이미지를 재구성하는 데 있어서, 소스 포인트 클라우드의 포인트가 K-최근접 포인트에 의해 참조 포인트 클라우드에 자연스럽게 매칭되고 비용을 최소화할 수 있다. According to the iterative nearest point search method according to the present invention, it uses an iterative K-nearest point algorithm, but allows a point to match the K-nearest point and source/reference point in order to strike a balance between computation speed and accuracy. Allocating the inter-match probability to only K pairs, but the pose search is performed in 6D vector space by combining 3D coordinates and the color of the point. It is naturally matched to the reference point cloud and the cost can be minimized.

본 발명에서, 모든 중요한 결과를 통합하는 비용 함수는 안정성과 정확도를 향상시키기 위해 점대 점 및 점대 평면 거리에 대한 제곱의 가중치 합으로 정의된다. 본 발명에서는, 1) ICP 알고리즘을 통해 비용을 최소화하는 포즈 파라미터를 찾아 비용을 최소화할 수 있으며, 2) RGB-D 이미지에서 포인트 클라우드를 얻었다고 가정하고 RGB-D 카메라로 측정한 깊이 값에 오류가 있음을 고려하여 측정된 깊이 값을 변수로 사용하고, 포즈 파라미터를 상수로 처리해 포인트 클라우드들의 포인트간 정합이 더욱 긴밀하게 이루어지도록 깊이 값을 탐색해 비용을 최소화할 수 있다.In the present invention, the cost function integrating all important results is defined as the weighted sum of squares for point-to-point and point-to-plane distances to improve stability and accuracy. In the present invention, 1) it is possible to minimize the cost by finding a pose parameter that minimizes the cost through the ICP algorithm, and 2) it is assumed that a point cloud is obtained from the RGB-D image, and there is an error in the depth value measured with the RGB-D camera. Considering the existence of

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는 첨부도면은, 본 발명에 대한 실시예를 제공하고 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1a는 본 발명의 일 시시예에 따른 영상 처리 시스템에서의 포인트 클라우드의 재구성 방법을 설명하기 위한 흐름도이다.
도 1b는 본 발명의 일 시시예에 따른 영상 처리 시스템에서의 깊이 벡터 탐색을 위한 반복 K-최근접 포인트 알고리즘을 설명하기 위한 흐름도이다.
도 2는 (a) 깊이 이미지를 획득하기 위한, RGB 컬러 카메라, 두 개의 적외선(IR) 스테레오 카메라 및 하나의 IR 프로젝터를 포함하는 RGB-D 카메라 시스템을 예시하며, (b) 깊이 값 Z에 따라 그 표준 편차 σz의 예시이다.
도 3은 멀티-뷰 이미지 획득을 위한 RGB-D 카메라의 위치 설정의 예시이다.
도 4는 RGB-D 카메라로 획득한 샘플 RGB-D 이미지를 보여준다.
도 5는 종래의 방법과 본 발명의 병합된 포인트 클라우드들을 비교하기 위한 렌더링된 이미지들의 예이다.
도 6은 본 발명의 일 실시예에 따른 포인트 클라우드의 재구성을 처리하기 위한 영상 처리 시스템의 구현 방법의 일례를 설명하기 위한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included as a part of the detailed description to help the understanding of the present invention, provide embodiments of the present invention and, together with the detailed description, explain the technical spirit of the present invention.
1A is a flowchart illustrating a method of reconstructing a point cloud in an image processing system according to an embodiment of the present invention.
1B is a flowchart illustrating an iterative K-nearest point algorithm for depth vector search in an image processing system according to an embodiment of the present invention.
2 illustrates (a) an RGB-D camera system comprising an RGB color camera, two infrared (IR) stereo cameras and one IR projector, for acquiring a depth image, (b) according to a depth value Z; This is an example of the standard deviation σ z .
3 is an example of positioning of an RGB-D camera for multi-view image acquisition.
4 shows a sample RGB-D image acquired with an RGB-D camera.
5 is an example of rendered images for comparing the conventional method and the merged point clouds of the present invention.
6 is a diagram for explaining an example of an implementation method of an image processing system for processing reconstruction of a point cloud according to an embodiment of the present invention.

이하에서는 첨부된 도면들을 참조하여 본 발명에 대해서 자세히 설명한다. 이때, 각각의 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타낸다. 또한, 이미 공지된 기능 및/또는 구성에 대한 상세한 설명은 생략한다. 이하에 개시된 내용은, 다양한 실시 예에 따른 동작을 이해하는데 필요한 부분을 중점적으로 설명하며, 그 설명의 요지를 흐릴 수 있는 요소들에 대한 설명은 생략한다. 또한 도면의 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시될 수 있다. 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니며, 따라서 각각의 도면에 그려진 구성요소들의 상대적인 크기나 간격에 의해 여기에 기재되는 내용들이 제한되는 것은 아니다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In this case, the same components in each drawing are denoted by the same reference numerals as much as possible. In addition, detailed descriptions of already known functions and/or configurations will be omitted. The content disclosed below will focus on parts necessary to understand the operation according to various embodiments, and descriptions of elements that may obscure the gist of the description will be omitted. Also, some components in the drawings may be exaggerated, omitted, or schematically illustrated. The size of each component does not fully reflect the actual size, so the contents described herein are not limited by the relative size or spacing of the components drawn in each drawing.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다. In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification. The terminology used in the detailed description is for the purpose of describing embodiments of the present invention only, and should not be limiting in any way. Unless explicitly used otherwise, expressions in the singular include the meaning of the plural. In this description, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, acts, elements, some or a combination thereof, one or more other than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, acts, elements, or any part or combination thereof.

또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.In addition, terms such as first and second may be used to describe various components, but the components are not limited by the terms, and the terms are for the purpose of distinguishing one component from other components. used only as

도 1a는 본 발명의 일 시시예에 따른 영상 처리 시스템에서의 포인트 클라우드의 재구성 방법을 설명하기 위한 흐름도이다. 1A is a flowchart illustrating a method of reconstructing a point cloud in an image processing system according to an embodiment of the present invention.

도 1a를 참조하면, 본 발명의 ICP, 즉, 반복적인 K-최근접 포인트 알고리즘(Iterative K-Closest Point Algorithms)을 통한, 반복 최근접 포인트 탐색을 수행하는 본 발명의 영상 처리 시스템은, 카메라(RGB-D 카메라 또는 스테레오 카메라 등)에 기초한 2차원 좌표값 이외에 깊이 값을 포함하는 3차원 캡쳐 이미지, 즉, 포인트 클라우드를 수신한다(S110). 예를 들어, 포인트 클라우드는 3차원 좌표계의 포인트들 (X, Y, Z)에서의 색상 및 계조값 등을 포함하는 포인트 데이터로 이루어질 수 있다. 본 발명의 영상 처리 시스템은, 수신되는 소스 포인트 클라우드 Ss=

Figure 112020102436518-pat00003
를 데이터베이스의 참조 포인트 클라우드 Sr=
Figure 112020102436518-pat00004
와 비교하고 유사도 연관성을 탐색하여 그와 정합하기 위한 포인트 클라우드로 변환(재구성)한다. 이외에도 본 발명에서 반복적인 K-최근접 포인트 알고리즘에 따라 업데이트된 포즈 벡터나 깊이 벡터는 멀티-뷰의 병합이나 정합에도 이용될 수 있다.1A, the image processing system of the present invention for performing iterative nearest point search through the ICP of the present invention, that is, iterative K-Closest Point Algorithms, is a camera ( A three-dimensional captured image including a depth value in addition to a two-dimensional coordinate value based on an RGB-D camera or a stereo camera, that is, a point cloud is received (S110). For example, the point cloud may be formed of point data including color and grayscale values at points (X, Y, Z) of a three-dimensional coordinate system. In the image processing system of the present invention, the received source point cloud S s =
Figure 112020102436518-pat00003
is the reference point cloud in the database Sr=
Figure 112020102436518-pat00004
, and converts (reconstructs) into a point cloud for matching with similarity associations. In addition, the pose vector or depth vector updated according to the iterative K-nearest point algorithm in the present invention may be used for merging or matching multi-views.

<포즈 벡터 탐색을 위한 반복 K-최근접 포인트 알고리즘><Iterative K-Nearest Point Algorithm for Pose Vector Search>

본 발명의 영상 처리 시스템은, 소스 포인트 클라우드와 참조 포인트 클라우드 간의 회전 행렬 R (예, 3Х3 행렬), 병진 벡터 T(예, 3차원)를 포함하는 포즈(pose) 파리미터(포즈 벡터)를 탐색한다(S120). 소스 포인트 클라우드 Ss와 참조 포인트 클라우드 Sr의 대응되는 포인트 쌍 Xi (s) 와 Xj (r) 의 관계는 [수학식1]과 같이 포즈 파리미터를 이용하여 나타낼 수 있다. 소스 포인트 클라우드 Ss의 포인트 Xi (s)는 [수학식1]에 따라

Figure 112020102436518-pat00005
와 같이 포즈 벡터 R, T에 의해 변환될 수 있다. The image processing system of the present invention searches for pose parameters (pose vectors) including a rotation matrix R (eg, 3Х3 matrix) and a translation vector T (eg, three-dimensional) between a source point cloud and a reference point cloud. (S120). The relationship between the pair of points X i (s) and X j (r) corresponding to the source point cloud S s and the reference point cloud S r can be expressed using a pose parameter as in [Equation 1]. The point X i (s) of the source point cloud S s is according to [Equation 1]
Figure 112020102436518-pat00005
It can be transformed by the pose vectors R and T as

[수학식1] [Equation 1]

Figure 112020102436518-pat00006
Figure 112020102436518-pat00006

이와 같은 변환을 위한 본 발명의 영상 처리 시스템은, 각 반복 과정에서 소스/참조 포인트간 매칭 확률을 K-최근접 포인트에 의한 유사도가 가장 까까운 K 쌍들의 네이버들에만(K는 양의 정수) 할당해 탐색한다. 탐색은 소스 포인트의 3D 좌표

Figure 112020102436518-pat00007
와 3D 색상 벡터 Ci (s)을 결합하여 6D 벡터 공간에서 이루어진다. 참조 포인트 클라우드의 6D 벡터 포인트들은 3D 좌표 Xi (r)와 색상(예, RGB, Red Green Blue) 벡터 Ci (r)을 결합하여
Figure 112020102436518-pat00008
와 같이 나타낸다(o은 하다마드곱(Hadamard product)). 소스 포인트 클라우드의 6D 벡터 포인트 {
Figure 112020102436518-pat00009
, βoCi (s)} (i=1~Ns)에 대한 ICP 알고리즘에 따른 K-최근접 네이버의 세트 Ni에서의 K-최근접 포인트 Xj (r) (j∈Ni)의 탐색이 이루어진다. 여기서, β는 서로 다른 색상 모델 간(예, RGB-D / YIQ)의 밸런싱(balancing)을 위해 곱해진다. 이때,
Figure 112020102436518-pat00010
와 Xj (r) 사이의 공간 상의 거리 차이 벡터 dij는 [수학식2]와 같이 정의되고,
Figure 112020102436518-pat00011
와 Xj (r) 사이의 6D 차이 벡터 cij는 [수학식3]과 같이 정의된다. The image processing system of the present invention for such a transformation calculates the matching probability between source/reference points in each iteration process only to neighbors of K pairs having the closest similarity by K-nearest point (K is a positive integer). Allocate and explore Navigation is the 3D coordinates of the source point
Figure 112020102436518-pat00007
and the 3D color vector C i (s) are combined in 6D vector space. The 6D vector points of the reference point cloud are obtained by combining 3D coordinates X i (r) and color (eg RGB, Red Green Blue) vector C i (r) .
Figure 112020102436518-pat00008
It is expressed as (o is the Hadamard product). 6D vector points in the source point cloud {
Figure 112020102436518-pat00009
, βoC i (s) } (i=1~N s ) Search for the K-nearest point X j (r) (j∈N i ) in the set N i of K-nearest neighbors according to the ICP algorithm this is done Here, β is multiplied for balancing between different color models (eg, RGB-D / YIQ). At this time,
Figure 112020102436518-pat00010
A distance difference vector d ij in space between and X j (r) is defined as in [Equation 2],
Figure 112020102436518-pat00011
A 6D difference vector c ij between and X j (r) is defined as [Equation 3].

[수학식2][Equation 2]

Figure 112020102436518-pat00012
Figure 112020102436518-pat00012

[수학식3][Equation 3]

Figure 112020102436518-pat00013
Figure 112020102436518-pat00013

K-최근접 네이버의 세트 Ni는 cij의 크기 (||cij||)의 오름 차순으로 정렬된다. Ni의 가장 가까운 인덱스에서의 첫번째 원소는 ai로 나타내기로 한다. The set N i of K-nearest neighbors is sorted in ascending order of the magnitude of c ij (||c ij ||). The first element at the nearest index of N i is denoted by a i .

포즈 벡터 탐색 단계에서, 본 발명의 영상 처리 시스템은, [수학식4]와 같이 포즈 벡터와 연관된 비용함수 E를 계산해, 이를 최소화하는 회전 행렬 포즈 벡터, 즉, R (예, 3Х3 행렬), 병진 벡터 T(예, 3차원)를 탐색해 나간다(S120). In the pose vector search step, the image processing system of the present invention calculates the cost function E associated with the pose vector as shown in Equation 4, and minimizes the pose vector, ie, R (eg, 3Х3 matrix), translation A vector T (eg, three-dimensional) is searched for (S120).

[수학식4][Equation 4]

Figure 112020102436518-pat00014
Figure 112020102436518-pat00014

[수학식4]에서, pij는 Xi (s) 와 Xj (r) 사이의 매칭 확률이다. 여기서, (j∈Ni)에서 pij=0 또는

Figure 112020102436518-pat00015
이다. Mi,j는 임의의 형태에서 소스 포인트와 참조 포인트 간의 마할라노비스(Mahalanobis) 거리로서, 비용함수를 정의하기 위한 행렬(예, 3Х3 행렬)이다. 또한, 1/2은 E의 계산 상에서 2차 함수가 구분되어 2번 곱해진 팩터를 제거하기 위함이다. In [Equation 4], p ij is the matching probability between X i (s) and X j (r) . where p ij =0 at (j∈N i ) or
Figure 112020102436518-pat00015
to be. M i,j is a Mahalanobis distance between a source point and a reference point in an arbitrary form, and is a matrix for defining a cost function (eg, a 3Х3 matrix). In addition, 1/2 is to remove a factor that is multiplied twice by dividing a quadratic function in the calculation of E.

대응하는 포인트

Figure 112020102436518-pat00016
와 Xj (r)가 3D 위치와 색상에서 유사도가 가깝다고(네이버) 가정할 때, 매칭 확률 pij는 [수학식5]와 같이, 나타낼 수 있다. 여기서, γi는 모든 pij가 0이 아니라면 pij의 합이 1이 되게 하는 정규화 계수이고, τc는 ICP 알고리즘 상의 거리 임계치이다.corresponding point
Figure 112020102436518-pat00016
Assuming that and X j (r) have close similarity in 3D position and color (Naver), the matching probability p ij can be expressed as in [Equation 5]. Here, γ i is a normalization coefficient that makes the sum of p ij equal to 1 if all p ij are non-zero, and τ c is the distance threshold on the ICP algorithm.

[수학식5] [Equation 5]

Figure 112020102436518-pat00017
Figure 112020102436518-pat00017

본 발명에서, 초기 포즈 벡터 R0, T0에 대해,

Figure 112020102436518-pat00018
의 평균이 τc 보다 크면, τc 는 해당 평균으로 대체된다. 이는 충분히 많은 대응 포인트들이 계산되도록 한다.
Figure 112020102436518-pat00019
의 표준편차 σc는 τc 로 설정될 수 있다. 초기 포즈 벡터 R0, T0는 소정의 알고리즘을 통해 추정되는 것도 가능하고, 미리 주어진 것으로 가정할 수도 있다. In the present invention, for the initial pose vectors R 0 , T 0 ,
Figure 112020102436518-pat00018
If the average of τ c is greater than τ c , τ c is replaced with the corresponding average. This allows a sufficiently large number of corresponding points to be calculated.
Figure 112020102436518-pat00019
The standard deviation σ c of can be set to τ c . The initial pose vectors R 0 , T 0 may be estimated through a predetermined algorithm, and may be assumed to be given in advance.

종래의 평면대 평면 거리에 대한 것과 달리, 소스 포인트와 참조 포인트 간의 점대 평면(또는 점대 점) 공간상의 거리에 대하여, Mi,j는 참조 포인트들에만 의존하며, 모든 대응관계의 탐색 후 재 계산없이 [수학식6]과 같이 한번만 계산된다. 여기서, nj는 Xj (r)의 3차원 표면에서의 표면 법선 벡터(surface normal vector)이다. njnj T의 랭크(rank)는 1이고, 따라서 이는 비가역적(noninvertible)이다.Unlike the conventional plane-to-plane distance, for a point-to-plane (or point-to-point) spatial distance between a source point and a reference point, M i,j depends only on the reference points, and is recalculated after searching for all correspondences. Without it, it is calculated only once as in [Equation 6]. Here, n j is the surface normal vector on the three-dimensional surface of X j (r) . The rank of n j n j T is 1, so it is noninvertible.

[수학식6] [Equation 6]

Figure 112020102436518-pat00020
Figure 112020102436518-pat00020

본 발명에서 수식적 안정화를 증가시키도록, Mi,j를 단위행렬 I와 계수 ε(예, 0.001)을 이용해 [수학식7]과 같이 정의한다. 여기서, Mi,j는 [수학식4]와 같이 점대 점 및 점대 평면 거리에 대한 제곱에 가중치를 적용한 후 합산한 값에 해당하는 비용 함수가 계산되도록 한다.In order to increase the mathematical stabilization in the present invention, M i,j is defined as in [Equation 7] using the identity matrix I and the coefficient ε (eg, 0.001). Here, M i,j allows the cost function corresponding to the summed value to be calculated after applying a weight to the square of the point-to-point and point-to-plane distances as in [Equation 4].

[수학식7] [Equation 7]

Figure 112020102436518-pat00021
Figure 112020102436518-pat00021

[수학식4]와 같은 비용함수 E를 최소화하기 위하여, 본 발명에서 ICP 알고리즘에 가우스-뉴턴(Gauss-Newton) 알고리즘을 적용한다. 매칭 확률 pij는 포즈 파라미터에 따라서는 변할 수 있지만, 고정 변수로 간주된다. In order to minimize the cost function E as in [Equation 4], a Gauss-Newton algorithm is applied to the ICP algorithm in the present invention. The matching probability p ij can vary depending on the pose parameters, but is considered a fixed variable.

본 발명의 영상 처리 시스템은, 반복 과정에서, 포즈 벡터의 변환 증분을 계산한다(S130). 회전 증분(incremental rotation) △R은 [수학식8]과 같고, △θX, △θY, △θZ는 XYZ 직각 좌표계에서의 해당 각각의 축에 대한 회전각이다. 병진 증분 △T=(△TX, △TY, △TZ)과 같이 나타낼 수 있고, 변환 증분 파라미터들은 벡터 δ=(△θX, △θY, △θZ,△TX, △TY, △TZ)T로 나타낼 수 있다. The image processing system of the present invention calculates a transform increment of a pose vector in an iterative process ( S130 ). Incremental rotation ΔR is the same as [Equation 8], and Δθ X , Δθ Y , and Δθ Z are rotation angles for each axis in the XYZ rectangular coordinate system. The translational increment can be expressed as ΔT=(ΔT X , ΔT Y , ΔT Z ), and the transformation increment parameters are the vector δ=(Δθ X , Δθ Y , Δθ Z ,ΔT X , ΔT Y , ΔT Z ) T can be represented.

[수학식8] [Equation 8]

Figure 112020102436518-pat00022
Figure 112020102436518-pat00022

이에 따라, 포즈 벡터들에 의해 계산된 증분 δ에서의 di,j는 [수학식9], [수학식10]과 같이 나타낼 수 있고(Ji는 자코비안 행렬), 비용함수 E의 변화율(gradient) ▽E은 [수학식11]과 같이 나타낼 수 있다. Accordingly, d i,j in the increment δ calculated by the pose vectors can be expressed as [Equation 9] and [Equation 10] (J i is the Jacobian matrix), and the rate of change of the cost function E ( gradient) ▽E can be expressed as [Equation 11].

[수학식9] [Equation 9]

Figure 112020102436518-pat00023
Figure 112020102436518-pat00023

[수학식10] [Equation 10]

Figure 112020102436518-pat00024
Figure 112020102436518-pat00024

[수학식11] [Equation 11]

Figure 112020102436518-pat00025
Figure 112020102436518-pat00025

이때 비용이 최소가 되도록 ▽E=0을 만족하는 δ는 [수학식12] 와 같이 계산될 수 있으며, 증분 δ가 적용된 회전 및 병진 벡터는 [수학식13]('△R*R'에 의해 새로운 R로 업데이트됨), [수학식14]('△R*T+△T'에 의해 새로운 T로 업데이트됨)와 같이 업데이트되어 적용될 수 있다. At this time, δ that satisfies ▽E=0 so that the cost is minimized can be calculated as in [Equation 12], and the rotation and translation vector to which the increment δ is applied is [Equation 13] (by 'ΔR*R' updated to a new R), [Equation 14] (updated to a new T by 'ΔR*T+ΔT') may be updated and applied.

[수학식12] [Equation 12]

Figure 112020102436518-pat00026
Figure 112020102436518-pat00026

[수학식13] [Equation 13]

Figure 112020102436518-pat00027
Figure 112020102436518-pat00027

[수학식14] [Equation 14]

Figure 112020102436518-pat00028
Figure 112020102436518-pat00028

본 발명의 영상 처리 시스템은, 상기 변경된 회전 및 병진 벡터를 이용하여 Xi (s) 가 상기 변경된 회전 및 병진 벡터에 의해 그만큼 회전되고 병진된 업데이트된 포인트 클라우드가 생성되고(S140), 가우스-뉴턴 알고리즘 적용이 수렴될 때까지 상기 변경된 회전 및 병진 벡터가 비용 산출에 이용되어 위와 위와 같은 과정은 반복 수행된다(S150). 이와 같은 소스 포인트로부터 참조 포인트로 정합을 위한 반복 과정은, 회전 및 병진 증분의 크기가 임계치(예, 회전 0.001o, 병진 0.001mm) 이하가 될 때까지 반복하고 이는 최대 반복 횟수(예, 80회)에 도달 시까지 그 이내에서 반복될 수 있다. In the image processing system of the present invention, an updated point cloud in which X i (s) is rotated and translated by the changed rotation and translation vector is generated by using the changed rotation and translation vector (S140), and a Gauss-Newtonian Until the algorithm application converges, the changed rotation and translation vectors are used for cost calculation and the above process is repeated (S150). This iteration process for registration from the source point to the reference point is repeated until the magnitude of the rotation and translation increments is below a threshold (eg rotation 0.001 o , translation 0.001 mm), which is the maximum number of iterations (eg 80 times). ) can be repeated within that time.

위와 같은 소스 포인트 클라우드 Ss를 참조 포인트 클라우드 Sr로 정합하기 위한 ICP 알고리즘에서, 포즈 벡터를 탐색하는 과정은, 하기의 Algorithm1에 요약되어 있다.In the ICP algorithm for matching the above source point cloud S s to the reference point cloud S r , the process of searching for a pose vector is summarized in Algorithm1 below.

초기 포즈 벡터 R0, T0는 설정은 정확한 포즈 벡터를 획득하도록 위와 같은 계산을 수렴시키는데 필요하다. 처음에는 다소 거칠게(coarse) 복셀(voxel)(예, 크기 4cm*2cm*1cm)들에 대한 소스 포인트로부터 참조 포인트로 정합을 위한 포즈 벡터들을 탐색하기 위한 위와 같은 반복 과정을 수행하면서, 점점 정확한 해가 획득되어 가고 비용함수가 최소화된다. 거리 임계치 τc는 (

Figure 112020102436518-pat00029
*복셀크기)로 설정될 수 있다.The initial pose vectors R 0 , T 0 are set to converge the above calculations to obtain an accurate pose vector. At first, while performing the above iterative process to find the pose vectors for registration from the source point to the reference point for some coarse voxels (eg, size 4cm*2cm*1cm), the more accurate solution is obtained and the cost function is minimized. The distance threshold τ c is (
Figure 112020102436518-pat00029
*Voxel size).

Figure 112020102436518-pat00030
Figure 112020102436518-pat00030

<깊이 벡터 탐색을 위한 반복 K-최근접 포인트 알고리즘><Iterative K-Nearest Point Algorithm for Depth Vector Search>

도 1b는 본 발명의 일 시시예에 따른 영상 처리 시스템에서의 깊이 벡터 탐색을 위한 반복 K-최근접 포인트 알고리즘을 설명하기 위한 흐름도이다. 1B is a flowchart illustrating an iterative K-nearest point algorithm for depth vector search in an image processing system according to an embodiment of the present invention.

반복 K-최근접 포인트 알고리즘에 따른 반복 과정에서, 3차원 카메라로부터 획득된 깊이값을 탐색함으로써 소스 포인트와 참조 포인트 간의 정합이 이루어질 수 있다. [수학식4]의 비용함수를 최소화하도록, 포인트 Xi (s)의 측정된 깊이값 Zi (s)에 대한 해를 구할 수 있다. 포즈 벡터 R, T를 상수로 간주하고, 비용 함수 E는 [수학식15] 및 [수학식16]과 같이 독립된 비용 함수들 Ei의 합으로 볼 수 있다(S210). In the iterative process according to the iterative K-nearest point algorithm, matching between the source point and the reference point may be achieved by searching for a depth value obtained from a 3D camera. In order to minimize the cost function of [Equation 4], a solution to the measured depth value Z i (s) of the point X i (s) can be obtained. The pose vectors R and T are regarded as constants, and the cost function E can be viewed as a sum of independent cost functions E i as shown in [Equation 15] and [Equation 16] (S210).

[수학식15][Equation 15]

Figure 112020102436518-pat00031
Figure 112020102436518-pat00031

[수학식16][Equation 16]

Figure 112020102436518-pat00032
Figure 112020102436518-pat00032

Xi (s)에 대응되는 정규화된 좌표 벡터를 xi로 나타내면, Xi (s) = Zi (s)xi로 되고, dij의 변화율(gradient) ▽dij은 [수학식17]과 같다. If the normalized coordinate vector corresponding to X i (s) is expressed as x i , then X i (s) = Z i (s) x i becomes, and the gradient of d ij ▽ d ij is the same as [Equation 17].

[수학식17][Equation 17]

Figure 112020102436518-pat00033
Figure 112020102436518-pat00033

체인 룰을 적용하면, Ei의 Zi (s)에 대한 도함수는 [수학식18]과 같고, 비용이 최소가 되도록

Figure 112020102436518-pat00034
을 만족하는
Figure 112020102436518-pat00035
은 [수학식19]와 같이 계산된다. When the chain rule is applied, the derivative of E i with respect to Z i (s) is the same as [Equation 18], so that the cost is minimized.
Figure 112020102436518-pat00034
to satisfy
Figure 112020102436518-pat00035
is calculated as in [Equation 19].

[수학식18] [Equation 18]

Figure 112020102436518-pat00036
Figure 112020102436518-pat00036

[수학식19][Equation 19]

Figure 112020102436518-pat00037
Figure 112020102436518-pat00037

위와 같은 소스 포인트 클라우드 Ss를 참조 포인트 클라우드 Sr로 정합하기 위한 ICP 알고리즘에서, 깊이 벡터를 탐색하는 과정은, 하기의 Algorithm2에 요약되어 있다. 공간 상의 거리 임계치 τd는 4cm 정도로 설정되어 공간적으로 먼 포인트가 Xi (s)에 대한 네이버(이웃)가 되는 것을 방지하도록 한다. In the ICP algorithm for matching the above source point cloud S s to the reference point cloud S r , the process of searching the depth vector is summarized in Algorithm2 below. The spatial distance threshold τ d is set on the order of 4 cm to prevent a spatially distant point from becoming a neighbor to X i (s) .

Figure 112020102436518-pat00038
Figure 112020102436518-pat00038

[수학식5]의 가중치 함수에 따라 색상이 유사한 포인트 쌍들은 높은 매칭 확률 pij을 갖는다. [수학식5]에서 색상 제외 3D 위치에 대하여는, ||ci,j||는 ||di,j||로 대체되어, 조건

Figure 112020102436518-pat00039
대신에
Figure 112020102436518-pat00040
으로 대체된다. Point pairs having similar colors according to the weight function of [Equation 5] have a high matching probability p ij . For 3D positions excluding colors in [Equation 5], ||c i,j || is replaced with ||d i,j ||, the condition
Figure 112020102436518-pat00039
Instead of
Figure 112020102436518-pat00040
is replaced by

Algorithm2에서, η=0.1과 같이 계산상의 수식적 안정화를 위해 양의 상수로 설정된다. 어떤 포인트에서

Figure 112020102436518-pat00041
는 τd 보다 클 수 있고, 이때
Figure 112020102436518-pat00042
는 Zi (s)d 또는 Zi (s) - τd 로 설정될 수 있다. In Algorithm2, it is set to a positive constant for mathematical stabilization, such as η=0.1. at what point
Figure 112020102436518-pat00041
may be greater than τ d , where
Figure 112020102436518-pat00042
can be set as Z i (s)d or Z i (s) - τ d .

모든 소스 포인트들에 대해 임계치 내에서 최근접 포인트들이 발견될 수 있는 것은 아니며, 이때 Algorithm2에 의해 해당 소스 포인트들이 변경될 수 있다. 변경되지 않는 포인트들은, 개선되도록 탐색된 포인트들이 되도록 하며, [수학식20]과 같이, Zi (s)

Figure 112020102436518-pat00043
로 대체하지 않고 비용 함수 F를 최소화할 수 있다. 여기서, pi는 Zi (s)에 대한
Figure 112020102436518-pat00044
의 식별자로서, 0 또는 1의 값을 갖는다. △Zi,m은 F를 최소화하기 전의 초기 차이 Zi (s) - Zm (s), Ri는 이미지에서 Xi (s) 의 복셀(또는 픽셀) 위치 주위의 네이버들의 인덱스(예, 8개)이다.For all source points, the nearest points within the threshold may not be found, and in this case, the corresponding source points may be changed by Algorithm2. Points that are not changed become points searched for improvement, and as in [Equation 20], Z i (s) is
Figure 112020102436518-pat00043
We can minimize the cost function F without substituting where p i is for Z i (s)
Figure 112020102436518-pat00044
As an identifier of , it has a value of 0 or 1. ΔZ i,m is the initial difference before minimizing F Z i (s) - Z m (s) , R i is the index of neighbors around the voxel (or pixel) position of X i (s) in the image (e.g., 8).

[수학식20][Equation 20]

Figure 112020102436518-pat00045
Figure 112020102436518-pat00045

상기 F의 최소화에 대한 자코비안 방법을 적용하면, [수학식21]과 같은 업데이트된 식을 획득할 수 있다. 여기서, λ는 서로 다른 두 텀(term) 간의 밸런싱을 위한 계수(예, 0.2)이고, |Ri|은 Ri의 원소들의 개수이다. 여기서, pi가 0인 Zi (s)에 대하여, 이웃 업데이트된 Zm (s)은 초기 상대 차이를 보유하는 △Zi,m만큼 Zi (s)를 Zm (s)로 끌어 당긴다. If the Jacobian method for the minimization of F is applied, an updated expression such as [Equation 21] can be obtained. Here, λ is a coefficient (eg, 0.2) for balancing between two different terms, and |R i | is the number of elements of R i . Here, for Z i (s) with pi equal to 0, the neighbor updated Z m (s ) pulls Z i (s) to Z m (s) by ΔZ i,m holding the initial relative difference.

[수학식21][Equation 21]

Figure 112020102436518-pat00046
Figure 112020102436518-pat00046

[수학식21]과 같은 업데이트된 깊이값이 되도록 소정의 횟수(예,6회) 깊이 벡터 탐색 단계가 반복될 수 있다(S220). 이러한 최대 반복 카운트를 작게 하는 것은, 소스 부분(fragment)이 참조 부분의 적절한 부분 집합에 해당하면, 적당하다 할 수 있다. 이오 같이 깊이 벡터 탐색 단계에서 업데이트된 깊이값은 포즈 벡터 탐색 단계의 소스 포인트 클라우드에 적용된다(S230). 또한, 이와 같은 방식은 후술하는 바와 같이 병합 포인트 클라우드(merged point cloud)에 적용되는 것이 바람직하다.The depth vector search step may be repeated a predetermined number of times (eg, 6 times) to obtain an updated depth value as in [Equation 21] (S220). Reducing this maximum iteration count is reasonable if the source fragment corresponds to an appropriate subset of the referenced portion. Like Io, the updated depth value in the depth vector search step is applied to the source point cloud of the pose vector search step (S230). In addition, such a method is preferably applied to a merged point cloud (merged point cloud) as described later.

<멀티-뷰 포인트 클라우드 정합> <Multi-view point cloud registration>

여러 시점(멀티-뷰)의 포인트 클라우드가 주어지면, 상기 포즈 벡터 및 상기 깊이값을 업데이트하는 위에서 기술한 바와 같은 방법을 이용하여, 인접한 포인트 클라우드를 반복적으로 병합하여 결국 모든 멀티-뷰 포인트 클라우드들을 병합한다. 포즈-그래프 최적화를 기반으로 하는 고급 알고리즘이 있지만 쌍별 정합 알고리즘의 견고성을 평가하는 데 적합한 더 간단한 방법을 제안한다. 단일 쌍의 오류가 후속 쌍의 오류로 전파되기 때문에, 본 발명의 이러한 방법에서는 쌍별 정합의 견고성이 중요하다. Given a point cloud of multiple viewpoints (multi-view), using the method as described above for updating the pose vector and the depth value, iteratively merges adjacent point clouds to eventually merge all multi-view point clouds. merge Although there are advanced algorithms based on pose-graph optimization, we propose a simpler method suitable for evaluating the robustness of pairwise matching algorithms. Since errors in a single pair propagate to errors in subsequent pairs, robustness of pairwise matching is important in this method of the present invention.

참조 포인트 클라우드 Sr = S0 및 인접 포인트 클라우드 Ss가 주어지면, 위에서 기술한 바와 같은 본 발명의 ICP 알고리즘을 이용한 포즈 벡터 탐색 방법(Section 3.1)으로 Ss를 Sr에 정합할 수 있다. 병합된 포인트 클라우드 S를 얻기 위해 추정된 포즈 파라미터들을 사용해 Ss

Figure 112020102436518-pat00047
로 변환되고, S는 Sr
Figure 112020102436518-pat00048
의 합성으로 계산된다. S를 새로운 참조 포인트 클라우드로 간주하면 새로운 인접 포인트 클라우드가 S에 병합된다. 각 뷰의 포인트 클라우드에 대하여, 업데이트된 상기 포즈 벡터를 이용하여 거리(수학식2,3 참조)가 가장 가까운 포인트 클라우드 Sr = S0 로부터 가장 먼 포인트 클라우드 Sr =Sf가 병합될 때까지 이와 같은 각 대응 쌍의 병합이 반복된다. Given a reference point cloud S r = S 0 and an adjacent point cloud S s , S s can be matched to S r by the pose vector search method (Section 3.1) using the ICP algorithm of the present invention as described above. Using the estimated pose parameters to obtain the merged point cloud S, S s is
Figure 112020102436518-pat00047
, and S is S r and
Figure 112020102436518-pat00048
is calculated by the synthesis of Considering S as a new reference point cloud, a new adjacent point cloud is merged into S. For the point cloud of each view, using the updated pose vector, the point cloud S r = S 0 closest to the distance (refer to Equations 2 and 3) until the point cloud S r = S f furthest from the point cloud S r = S f is merged This merging of each corresponding pair is repeated.

순차 병합 절차가 오류 누적을 방지할 수 없지만, 오류를 줄일 수 있도록 다음과 같은 처리할 수 있다. 한 라운드의 병합 후 S가 처음의 S0

Figure 112020102436518-pat00049
(Sf가 S0 좌표계로 변환된 것)의 합성으로 설정되어있는 S와 함께 역순으로 절차를 시작한다. Although the sequential merging procedure cannot prevent error accumulation, the following can be handled to reduce errors. After one round of merging, S is the first S 0 and
Figure 112020102436518-pat00049
Start the procedure in the reverse order with S set to the synthesis of (S f converted to S 0 coordinate system).

쌍별 병합 알고리즘은 대칭이 아니기 때문에 소스 포인트와 참조 포인트가 반전되면 다른 솔루션 결과가 나올 수 있다. 순서를 반대로 하면 알고리즘을 통해 반전된 입력 쌍에 대해 현재 포즈 파라미터를 업데이트되도록 탐색할 기회를 얻는다. 현재 포즈 파라미터가 정확하지 않은 경우 반전된 입력은 로컬 최소값에서 벗어나는 데 도움이 될 수 있다. S0에서 Sf까지의 단일 순방향 경로가 정확하면 Sf의 포즈 파라미터가 정확할 수 있다. 이 경우 잘못된 포인트 클라우드를 정확한 위치와 방향으로 Sf에 병합하면 다른 역방향 경로의 오류를 줄일 수 있다. 그러나 Sf에 대한 경로가 하나뿐이면 이러한 오류 수정을 기대하기 어렵다.Since the pairwise merging algorithm is not symmetrical, if the source and reference points are inverted, different solution results may be obtained. Reversing the order gives the algorithm a chance to explore to update the current pose parameters for the inverted input pair. If the current pose parameter is not correct, an inverted input can help deviate from the local minimum. If the single forward path from S 0 to S f is correct, then the pause parameter of S f can be correct. In this case, merging the erroneous point cloud into S f with the correct position and orientation can reduce the errors of other backward paths. However, if there is only one path to S f , it is difficult to expect such error correction.

하기의 알고리즘 3에는 제안된 멀티-뷰 포인트 클라우드 병합 알고리즘이 요약되어 있다. 일반성을 잃지 않고 0 번째 뷰를 참조 뷰로 가정한다. ITERmax는 본 발명에서 5로 설정된다. 포인트 클라우드를 병합한 후 위에서 기술한 바와 같은 깊이 벡터 탐색 방법(Section 3.2)을 적용하여 병합 오류를 더욱 줄일 수 있다. 이 단계에서 Ss의 깊이 값을 조정하여 Ss

Figure 112020102436518-pat00050
에 병합한다. 상기 깊이 벡터 탐색 프로세스를 기초로, 업데이트된 상기 깊이값을 이용함으로써, 거리(수학식2,3 참조)가 가장 먼 포인트 클라우드 Sf에서 시작하여 첫 번째 라운드에서 참조 포인트 클라우드 S0으로 끝난다. 이 순서는 가장 먼 포인트 클라우드가 가장 오류가 많다는 가정을 기반으로 한다. 멀티-뷰 포인트 클라우드들 중 포인트 클라우드를 병합하는 두 번째 이후 라운드에서는 처리 순서가 교대로 반전된다. 오류의 크기에 따라 이 순서는 바뀔 수 있다. Algorithm 3 below summarizes the proposed multi-view point cloud merging algorithm. Without loss of generality, the 0th view is assumed as the reference view. ITER max is set to 5 in the present invention. After merging the point clouds, the merging error can be further reduced by applying the depth vector search method (Section 3.2) as described above. In this step, we adjust the depth value of S s to make S s
Figure 112020102436518-pat00050
merge into Based on the depth vector search process, by using the updated depth value, the distance (refer to Equations 2 and 3) starts from the farthest point cloud S f and ends with the reference point cloud S 0 in the first round. This order is based on the assumption that the furthest point cloud is the most error-prone. In the second and subsequent rounds of merging the point clouds among the multi-view point clouds, the processing order is alternately reversed. Depending on the size of the error, this order may change.

Figure 112020102436518-pat00051
Figure 112020102436518-pat00051

알고리즘 4에는 이와 같은 제안된 알고리즘이 요약되어 있다. 여기서 ITERmax는 본 발명에서 2로 설정된다.Algorithm 4 summarizes such a proposed algorithm. Here, ITER max is set to 2 in the present invention.

Figure 112020102436518-pat00052
Figure 112020102436518-pat00052

<합성 멀티-뷰 RGB-D 데이터 세트><Synthetic Multi-View RGB-D Data Set>

먼저, 포즈에 따라 달라지는 인간 모델 데이터 세트의 그래픽 모델을 렌더링하여 합성 멀티-뷰 RGB-D 데이터 세트를 구축하여 메모리 등 데이터베이스에 저장하였다. 즉, 남성 (모델 0-199)과 여성 (모델 6800-6999) 외모를 사용하고 각 외모에서 서로 다른 포즈의 20 개의 메시 모델을 정기적으로 샘플링하였으며, 메쉬 모델의 높이는 1.7m로 설정했다. RGB-D 이미지 데이터는 도 2와 같이 RGB 컬러 카메라 이외에 두 개의 적외선(IR) 스테레오 카메라와 하나의 IR 프로젝터를 포함하는 시스템에 의해 수집되고 깊이 값이 획득된다고 가정한다. 이때, 깊이 값을 획득하기 위한 스테레오 매칭에 의해 얻어지는 불일치의 오차는 표준편차 σd=0.5 픽셀 0-평균 가우시안 분포를 따른다고 가정한다. 깊이 오차는 그 표준 편차인 [수학식22]의 σz가 깊이 값 Z에 따라 달라지는 0-평균 가우스 분포를 대략 따른다. First, a graphic model of a human model data set that varies according to poses was rendered, and a synthetic multi-view RGB-D data set was constructed and stored in a database such as memory. That is, male (model 0-199) and female (model 6800-6999) appearances were used and 20 mesh models in different poses from each appearance were regularly sampled, and the height of the mesh model was set to 1.7 m. It is assumed that RGB-D image data is collected by a system including two infrared (IR) stereo cameras and one IR projector in addition to the RGB color camera as shown in FIG. 2 and depth values are acquired. In this case, it is assumed that the mismatch error obtained by stereo matching to obtain the depth value follows the standard deviation σ d =0.5 pixel 0-mean Gaussian distribution. The depth error approximately follows a zero-mean Gaussian distribution in which σ z of [Equation 22], which is the standard deviation, varies according to the depth value Z.

[수학식22][Equation 22]

Figure 112020102436518-pat00053
Figure 112020102436518-pat00053

여기서 fd와 Bd는 스테레오 카메라의 초점 거리와 기선(baseline) 길이이며 하기의 실제 매개 변수를 반영하여 780 및 26cm로 설정되었다. 깊이 이미지의 너비와 높이는 1468 및 1228 픽셀이고 이미지 중심 좌표 벡터는 (734, 614) 이었다.where f d and B d are the focal length and baseline length of the stereo camera, and were set to 780 and 26 cm reflecting the actual parameters below. The width and height of the depth image were 1468 and 1228 pixels, and the image center coordinate vector was (734, 614).

도 2는 (a) 깊이 이미지를 획득하기 위한, RGB 컬러 카메라, 두 개의 적외선(IR) 스테레오 카메라 및 하나의 IR 프로젝터를 포함하는 RGB-D 카메라 시스템을 예시하며, (b) 깊이 값 Z에 따라 그 표준 편차 σz의 예시이다.2 illustrates (a) an RGB-D camera system comprising an RGB color camera, two infrared (IR) stereo cameras and one IR projector, for acquiring a depth image, (b) according to a depth value Z; This is an example of the standard deviation σ z .

노이즈가 있는 깊이 이미지는 RGB-D 이미지를 형성하기 위해 내장 및 외부 카메라 매개 변수를 사용함에 의해 컬러 카메라 좌표계에서 앞으로 휜다(forward-warped). 컬러 카메라의 초점 거리는 900 픽셀이고 기준 IR 카메라와의 거리는 6.5cm이다. 컬러 이미지는 깊이 이미지와 너비, 높이 및 이미지 중심이 동일하다. 실제 깊이 이미지는 메쉬 모델을 컬러 이미지 좌표계에 직접 렌더링하여 얻는다. The noisy depth image is forward-warped in the color camera coordinate system by using the built-in and external camera parameters to form the RGB-D image. The focal length of the color camera is 900 pixels and the distance from the reference IR camera is 6.5 cm. A color image has the same width, height, and image center as a depth image. The actual depth image is obtained by rendering the mesh model directly into the color image coordinate system.

도 3은 멀티-뷰 이미지 획득을 위한 RGB-D 카메라의 위치 설정의 예시이다. 3 is an example of positioning of an RGB-D camera for multi-view image acquisition.

도 3을 참조하면, RGB-D 카메라는 타원 상에서 30도 간격으로 배치되어 12 위치에서 이미지를 캡쳐할 수 있으며, 반장축 상의 3m, 반단축 상의 1.5m 거리에 배치될 수 있다. Referring to FIG. 3 , the RGB-D cameras may be arranged at intervals of 30 degrees on an ellipse to capture images at 12 positions, and may be arranged at a distance of 3 m on the semi-major axis and 1.5 m on the semi-short axis.

도 4는 RGB-D 카메라로 획득한 샘플 RGB-D 이미지를 보여준다. 도 4에서, 제1행과 제2행은 남성 모델의 컬러 이미지와 그 깊이 이미지, 제3행과 제4행은 여성 모델의 컬러 이미지와 그 깊이 이미지를 나타낸다. 여기서, 제1,2,3,4컬럼은 도 3의 View 0, 3, 6, 9 위치의 이미지들이다. 4 shows a sample RGB-D image acquired with an RGB-D camera. In FIG. 4 , the first and second rows represent the color image and depth image of the male model, and the third and fourth rows represent the color image and the depth image of the female model. Here, the first, second, third, and fourth columns are images of positions 0, 3, 6, and 9 of View of FIG. 3 .

도 4와 같이, 깊이 이미지는 실제 깊이 이미지에서 관찰되는 것처럼 자기 가림(self-occlusions)으로 인해 누락된 데이터가 있다. 이외에도, 포인트 해상도는 모델과의 거리가 다르기 때문에 뷰들에서 고르지 않음을 알 수 있다.4 , the depth image has missing data due to self-occlusions as observed in the actual depth image. In addition, it can be seen that the point resolution is uneven in the views due to different distances from the model.

RGB-D 카메라의 실질적인(gt, ground truth) 포즈 파라미터

Figure 112020102436518-pat00054
은 본 발명의 알고리즘에 입력으로 사용되는 초기 부정확한 포즈 파라미터를 생성하기 위해 조정된다. 회전 벡터(행렬) Ri,gt를 조정하기 위해 [수학식23]과 같이 Ri,gt에 임의의 회전 축에 대한 회전 행렬 βQ를 미리 곱한 회전 벡터 Ri를 이용한다. 역시 [수학식24]와 같이 실질적인 병진 벡터(행렬) Ti,gt에 임의의 3D 벡터 βU를 더한 병진 벡터 Ti를 이용한다.RGB-D camera's gt, ground truth pose parameters
Figure 112020102436518-pat00054
is adjusted to produce an initial incorrect pose parameter that is used as input to the algorithm of the present invention. In order to adjust the rotation vector (matrix) R i,gt , a rotation vector R i obtained by multiplying R i,gt by a rotation matrix βQ for an arbitrary rotation axis in advance is used as in [Equation 23]. Also, as in [Equation 24], a translation vector T i obtained by adding an arbitrary 3D vector βU to an actual translation vector (matrix) T i,gt is used.

[수학식23][Equation 23]

Figure 112020102436518-pat00055
Figure 112020102436518-pat00055

[수학식24][Equation 24]

Figure 112020102436518-pat00056
Figure 112020102436518-pat00056

메쉬 모델에서 얻은 각 RGB-D 이미지 세트에 5 개의 서로 다른 회전 및 병진 벡터들의 이와 같은 조정이 각각 회전 각도 2도 ~ 10도 및 병진 길이 5cm ~ 25cm로 적용되었다. 따라서 각 세트는 실험에서 10 가지 다른 방식으로 조정된다.These adjustments of five different rotation and translation vectors were applied to each set of RGB-D images obtained from the mesh model, respectively, with a rotation angle of 2 to 10 degrees and a translational length of 5 cm to 25 cm. Therefore, each set is adjusted in 10 different ways in the experiment.

도 5는 종래의 방법과 본 발명의 병합된 포인트 클라우드들을 비교하기 위한 렌더링된 이미지들의 예이다. 도 5에서, 제1, 3 행은 병합된 포인트 클라우드를 나타내고, 제2, 4행은 손 부분을 확대한 이미지이다.5 is an example of rendered images for comparing the conventional method and the merged point clouds of the present invention. In FIG. 5 , rows 1 and 3 represent merged point clouds, and rows 2 and 4 are enlarged images of a hand part.

도 5와 같이, 종래의 점대 평면 비용 함수를 이용하는 ICP 알고리즘은 Ground Truth 포즈와 완전히 차이가 나며 시각적 품질이 떨어진다. 종래의 컬러 6D GICP 및 본 발명의 포즈 탐색 알고리즘(Ours (pose))은 Ground Truth 포즈와 시각적으로 유사한 이미지 정합을 달성한다. 나아가 본 발명의 깊이 탐색 알고리즘(Ours (pose+depth))은, 노이즈가 많은 포인트들을 표면쪽으로 이동하여 시각적으로 더 가깝게 정합이 이루어짐으로써, 시각적 품질을 향상시키고 정합 오류를 줄일 수 있음을 확인하였다.As shown in Figure 5, the ICP algorithm using the conventional point-to-plane cost function is completely different from the ground truth pose, and the visual quality is poor. The conventional color 6D GICP and the present pose search algorithm (Ours (pose)) achieve image registration visually similar to the Ground Truth pose. Furthermore, it was confirmed that the depth search algorithm (Ours (pose+depth)) of the present invention can improve visual quality and reduce registration errors by moving noisy points toward the surface and visually closer matching.

도 6은 본 발명의 일 실시예에 따른 포인트 클라우드의 재구성을 처리하기 위한 상기 영상 처리 시스템의 구현 방법의 일례를 설명하기 위한 도면이다.6 is a view for explaining an example of an implementation method of the image processing system for processing the reconstruction of a point cloud according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 포인트 클라우드의 재구성을 처리하는 상기 영상 처리 시스템은, 하드웨어, 소프트웨어, 또는 이들의 결합으로 이루어질 수 있다. 예를 들어, 본 발명의 상기 영상 처리 시스템은 위와 같은 기능/단계/과정들을 수행하기 위한 적어도 하나의 프로세서를 갖는 도 6과 같은 컴퓨팅 시스템(1000) 또는 인터넷 상의 서버 형태로 구현될 수 있다. The image processing system for processing the reconstruction of the point cloud according to an embodiment of the present invention may be formed of hardware, software, or a combination thereof. For example, the image processing system of the present invention may be implemented in the form of a computing system 1000 as shown in FIG. 6 having at least one processor for performing the above functions/steps/processes or a server on the Internet.

컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다. 프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory)(1310) 및 RAM(Random Access Memory)(1320)을 포함할 수 있다. The computing system 1000 includes at least one processor 1100 , a memory 1300 , a user interface input device 1400 , a user interface output device 1500 , a storage 1600 connected through a bus 1200 , and a network. An interface 1700 may be included. The processor 1100 may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in the memory 1300 and/or the storage 1600 . The memory 1300 and the storage 1600 may include various types of volatile or nonvolatile storage media. For example, the memory 1300 may include a read only memory (ROM) 1310 and a random access memory (RAM) 1320 .

또한, 네트워크 인터페이스(1700)는 스마트폰, 노트북 PC, 데스크탑 PC 등 사용자 단말에서의 유선 인터넷 통신이나 WiFi, WiBro 등 무선 인터넷 통신, WCDMA, LTE 등 이동통신을 지원하는 모뎀 등의 통신 모듈이나, 근거리 무선 통신 방식(예, 블루투스, 지그비, 와이파이 등)의 통신을 지원하는 모뎀 등의 통신모듈을 포함할 수 있다. In addition, the network interface 1700 is a communication module such as a modem that supports wired Internet communication in user terminals such as smartphones, notebook PCs, and desktop PCs, wireless Internet communication such as WiFi and WiBro, and mobile communication such as WCDMA and LTE, or short-distance communication. It may include a communication module such as a modem supporting communication of a wireless communication method (eg, Bluetooth, Zigbee, Wi-Fi, etc.).

따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같이 컴퓨터 등 장치로 판독 가능한 저장/기록 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보(코드)를 판독할 수 있고 저장 매체에 정보(코드)를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.Accordingly, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be directly implemented in hardware, a software module executed by the processor 1100 , or a combination of the two. A software module may be a storage/recording medium (i.e., memory 1300 and/or memory 1300) readable by a device such as a computer, such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM. Alternatively, it may reside in storage 1600 . An exemplary storage medium is coupled to the processor 1100 , the processor 1100 capable of reading information (code) from, and writing information (code) to, the storage medium. Alternatively, the storage medium may be integrated with the processor 1100 . The processor and storage medium may reside within an application specific integrated circuit (ASIC). The ASIC may reside within the user terminal. Alternatively, the processor and storage medium may reside as separate components within the user terminal.

상술한 바와 같이, 본 발명에 따른 포인트 클라우드의 재구성을 처리하기 위한 상기 영상 처리 시스템은, 반복적인 K-최근접 포인트 알고리즘을 이용하되 계산 속도와 정확도 사이의 균형을 맞추기 위해 포인트가 K-최근접 포인트와 일치하도록 허용하고 소스/참조 포인트간 일치 확률을 K 쌍들에만 할당하되, 포즈 탐색은 3D 좌표와 포인트의 색상을 결합하여 6D 벡터 공간에서 수행함으로써, 사람 등 3D 이미지를 재구성하는 데 있어서, 소스 포인트 클라우드의 포인트가 K-최근접 포인트에 의해 참조 포인트 클라우드에 자연스럽게 매칭되고 비용을 최소화할 수 있다. 본 발명에서, 모든 중요한 결과를 통합하는 비용 함수는 안정성과 정확도를 향상시키기 위해 점대 점 및 점대 평면 거리에 대한 제곱의 가중치 합으로 정의된다. 본 발명에서는, 1) ICP 알고리즘을 통해 비용을 최소화하는 포즈 파라미터를 찾아 비용을 최소화할 수 있으며, 2) RGB-D 이미지에서 포인트 클라우드를 얻었다고 가정하고 RGB-D 카메라로 측정한 깊이 값에 오류가 있음을 고려하여 측정된 깊이 값을 변수로 사용하고, 포즈 파라미터를 상수로 처리해 포인트 클라우드들의 포인트간 정합이 더욱 긴밀하게 이루어지도록 깊이 값을 탐색해 비용을 최소화할 수 있다.As described above, the image processing system for processing the reconstruction of a point cloud according to the present invention uses an iterative K-nearest point algorithm, but in order to strike a balance between calculation speed and accuracy, the point is K-nearest. In reconstructing a 3D image such as a person, by allowing the point to match and assigning the matching probability between the source/reference point only to K pairs, the pose search is performed in the 6D vector space by combining the 3D coordinates and the color of the point. Points in the point cloud are naturally matched to the reference point cloud by K-nearest points, and the cost can be minimized. In the present invention, the cost function integrating all important results is defined as the weighted sum of squares for point-to-point and point-to-plane distances to improve stability and accuracy. In the present invention, 1) it is possible to minimize the cost by finding a pose parameter that minimizes the cost through the ICP algorithm, and 2) it is assumed that a point cloud is obtained from the RGB-D image, and there is an error in the depth value measured with the RGB-D camera. Considering the existence of

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but these are only provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations will be possible without departing from the essential characteristics of the present invention 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 technical ideas with equivalent or equivalent modifications to the claims as well as the claims to be described later are included in the scope of the present invention. should be interpreted as

Claims (8)

영상 처리 시스템에서 소스 포인트 클라우드를 참조 포인트 클라우드와 정합하기 위한 반복 최근접 포인트 탐색 방법에 있어서,
포즈 벡터를 상수로 하고, 3차원 카메라로부터 획득된 소스 포인트의 깊이값에 대하여, 반복 K-최근접 포인트 알고리즘에 따라, 마할라노비스 거리에 기초한 비용이 최소가 되도록 상기 깊이값을 업데이트하는 과정을 복수회 수행하는, 깊이 벡터 탐색 단계;
상기 업데이트된 깊이값을 소스 포인트 클라우드에 적용하는 단계;
상기 소스 포인트 클라우드와 참조 포인트 클라우드 간의 회전 벡터와 병진 벡터를 포함하는 포즈 벡터를 이용하여, 미리 정해진 수의 네이버들에 대해 매칭 확률을 할당하는 상기 반복 K-최근접 포인트 알고리즘에 따라, 상기 포즈 벡터와 연관되고 상기 소스 포인트와 참조 포인트 간의 상기 마할라노비스 거리에 기초한 비용을 산출하는 단계; 및
상기 회전 벡터의 회전 증분 및 상기 병진 벡터의 병진 증분을 이용하여 상기 포즈 벡터를 업데이트하는 과정을 복수회 반복 과정을 수행하여, 상기 소스 포인트 클라우드가 상기 포즈 벡터에 의해 업데이트된 포인트 클라우드를 생성하는 단계
를 포함하는 반복 최근접 포인트 탐색 방법.
In the iterative nearest point search method for matching a source point cloud with a reference point cloud in an image processing system,
A process of updating the depth value so that the cost based on the Mahalanobis distance is minimized according to the iterative K-nearest point algorithm with respect to the depth value of the source point obtained from the 3D camera with the pose vector as a constant. a depth vector search step performed a plurality of times;
applying the updated depth value to a source point cloud;
According to the iterative K-nearest point algorithm, which assigns a matching probability to a predetermined number of neighbors by using a pose vector including a rotation vector and a translation vector between the source point cloud and the reference point cloud, the pose vector calculating a cost associated with and based on the Mahalanobis distance between the source point and the reference point; and
generating a point cloud in which the source point cloud is updated by the pose vector by repeating the process of updating the pose vector using the rotation increment of the rotation vector and the translation increment of the translation vector a plurality of times;
Iterative nearest point search method including
제1항에 있어서,
상기 비용은 상기 소스 포인트와 참조 포인트 간의 점대 점 또는 점대 평면 거리에 대한 제곱에 가중치를 적용한 후 합산한 값에 대응되는 반복 최근접 포인트 탐색 방법.
According to claim 1,
The cost is an iterative nearest point search method corresponding to a value added after applying a weight to the square of the point-to-point or point-to-plane distance between the source point and the reference point.
제1항에 있어서,
상기 반복 K-최근접 포인트 알고리즘에 따른 상기 포즈 벡터의 탐색은 상기 소스 포인트와 참조 포인트 각각의 3차원 좌표 벡터와 3차원 색상 벡터를 결합한 6차원 벡터 공간에서 이루어지는 반복 최근접 포인트 탐색 방법.
According to claim 1,
The search for the pose vector according to the iterative K-nearest point algorithm is performed in a six-dimensional vector space in which a three-dimensional coordinate vector and a three-dimensional color vector of each of the source and reference points are combined.
제1항에 있어서,
상기 반복 과정에서 상기 비용의 변화율(gradient)이 0이 되는 증분을 계산하고 상기 회전 증분 및 병진 증분의 크기가 임계치 이하가 될 때까지 미리 정해진 최대 반복 횟수 이내에서 상기 반복 과정을 수행하며,
상기 회전 벡터 R의 상기 회전 증분 βR 및 상기 병진 벡터 T의 병진 증분 βT에 따라, 상기 반복 과정에서
Figure 112020102436518-pat00057
,
Figure 112020102436518-pat00058
에 따라 상기 포즈 벡터가 업데이트되는 반복 최근접 포인트 탐색 방법.
According to claim 1,
In the iteration process, calculating the increment at which the gradient of the cost becomes zero, and performing the iteration process within a predetermined maximum number of iterations until the magnitude of the rotational increment and the translational increment becomes less than or equal to a threshold,
According to the rotation increment βR of the rotation vector R and the translation increment βT of the translation vector T, in the iteration process
Figure 112020102436518-pat00057
,
Figure 112020102436518-pat00058
An iterative nearest point search method in which the pose vector is updated according to
삭제delete 제1항에 있어서,
멀티-뷰 포인트 클라우드들을 병합하는 단계를 더 포함하고,
상기 병합에서, 업데이트된 상기 포즈 벡터에 따라, 상기 멀티-뷰 포인트 클라우드들 중 가장 가까운 포인트 클라우드로부터 가장 먼 포인트 클라우드 순서로 병합하는 반복 최근접 포인트 탐색 방법.
According to claim 1,
further comprising merging multi-view point clouds;
In the merging, according to the updated pose vector, iterative nearest point search method for merging from the nearest point cloud among the multi-view point clouds in the order of the furthest point cloud.
제1항에 있어서,
멀티-뷰 포인트 클라우드들을 병합하는 단계를 더 포함하고,
상기 병합에서, 업데이트된 상기 깊이값에 따라, 상기 멀티-뷰 포인트 클라우드들 중 가장 먼 포인트 클라우드로부터 가장 가까운 포인트 클라우드 순서로 병합하고, 이후 라운드에서 가장 먼 것과 가장 가까운 것의 처리 순서를 교대로 반전시키는 반복 최근접 포인트 탐색 방법.
According to claim 1,
further comprising merging multi-view point clouds;
In the merging, according to the updated depth value, merging from the furthest point cloud to the nearest point cloud order among the multi-view point clouds, and then alternately reversing the processing order of the furthest and the closest ones in the round Iterative nearest point search method.
영상 처리 시스템에서 소스 포인트 클라우드를 참조 포인트 클라우드와 정합하기 위한 반복 최근접 포인트 탐색을 처리하는, 컴퓨터가 판독 가능한 코드를 기록한 기록 매체에 있어서,
포즈 벡터를 상수로 하고, 3차원 카메라로부터 획득된 소스 포인트의 깊이값에 대하여, 반복 K-최근접 포인트 알고리즘에 따라, 마할라노비스 거리에 기초한 비용이 최소가 되도록 상기 깊이값을 업데이트하는 과정을 복수회 수행하는, 깊이 벡터 탐색 기능;
상기 업데이트된 깊이값을 소스 포인트 클라우드에 적용하는 기능;
상기 소스 포인트 클라우드와 참조 포인트 클라우드 간의 회전 벡터와 병진 벡터를 포함하는 포즈 벡터를 이용하여, 미리 정해진 수의 네이버들에 대해 매칭 확률을 할당하는 상기 반복 K-최근접 포인트 알고리즘에 따라, 상기 포즈 벡터와 연관되고 상기 소스 포인트와 참조 포인트 간의 상기 마할라노비스 거리에 기초한 비용을 산출하는 기능; 및
상기 회전 벡터의 회전 증분 및 상기 병진 벡터의 병진 증분을 이용하여 상기 포즈 벡터를 업데이트하는 과정을 복수회 반복 과정을 수행하여, 상기 소스 포인트 클라우드가 상기 포즈 벡터에 의해 업데이트된 포인트 클라우드를 생성하는 기능
을 구현하기 위한 기록 매체.

In an image processing system, a computer-readable code is recorded for processing iterative nearest point search for matching a source point cloud with a reference point cloud, the recording medium comprising:
A process of updating the depth value so that the cost based on the Mahalanobis distance is minimized according to the iterative K-nearest point algorithm with respect to the depth value of the source point obtained from the 3D camera with the pose vector as a constant. a depth vector search function performed multiple times;
a function of applying the updated depth value to a source point cloud;
According to the iterative K-nearest-nearest-point algorithm, which assigns a matching probability to a predetermined number of neighbors by using a pose vector including a rotation vector and a translation vector between the source point cloud and the reference point cloud, the pose vector a function associated with and calculating a cost based on the Mahalanobis distance between the source point and the reference point; and
A function of generating a point cloud in which the source point cloud is updated by the pose vector by repeating the process of updating the pose vector using the rotation increment of the rotation vector and the translation increment of the translation vector a plurality of times
recording medium for implementing

KR1020200124784A 2020-09-25 2020-09-25 Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud KR102455546B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200124784A KR102455546B1 (en) 2020-09-25 2020-09-25 Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200124784A KR102455546B1 (en) 2020-09-25 2020-09-25 Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud

Publications (2)

Publication Number Publication Date
KR20220041498A KR20220041498A (en) 2022-04-01
KR102455546B1 true KR102455546B1 (en) 2022-10-18

Family

ID=81183257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200124784A KR102455546B1 (en) 2020-09-25 2020-09-25 Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud

Country Status (1)

Country Link
KR (1) KR102455546B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115723127A (en) * 2022-11-14 2023-03-03 天津大学 Grating encoder-based profile error prediction method for hybrid robot

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105844582B (en) * 2015-01-15 2019-08-20 北京三星通信技术研究有限公司 The register method and device of 3D rendering data
EP3078935A1 (en) * 2015-04-10 2016-10-12 The European Atomic Energy Community (EURATOM), represented by the European Commission Method and device for real-time mapping and localization
US10628949B2 (en) * 2017-12-18 2020-04-21 Samsung Electronics Co., Ltd. Image processing with iterative closest point (ICP) technique

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김경진 등, 다시점 RGB-D 카메라를 이용한 실시간 3차원 체적 모델의 생성, 방송공학회논문지(2020.05.)*
김응수 등, 색상분포에 기반한 적응형 샘플링 및 6차원 ICP, 정보처리학회논문지(2016.09.)*

Also Published As

Publication number Publication date
KR20220041498A (en) 2022-04-01

Similar Documents

Publication Publication Date Title
Berger et al. A survey of surface reconstruction from point clouds
CN110021069B (en) Three-dimensional model reconstruction method based on grid deformation
CN110705574B (en) Positioning method and device, equipment and storage medium
BR102013028714B1 (en) Apparatus and method for increasing a number of points in a point cloud
WO2022134567A1 (en) External parameter calibration method and apparatus, computer device, and storage medium
CN103123727A (en) Method and device for simultaneous positioning and map building
CN111179433A (en) Three-dimensional modeling method and device for target object, electronic device and storage medium
CN110738730B (en) Point cloud matching method, device, computer equipment and storage medium
Arrigoni et al. Synchronization problems in computer vision with closed-form solutions
US20220237880A1 (en) System and method of generating a 3d representation of an object
WO2021163157A1 (en) Collaborative 3d mapping and surface registration
CN112929626B (en) Three-dimensional information extraction method based on smartphone image
CN111598995B (en) Prototype analysis-based self-supervision multi-view three-dimensional human body posture estimation method
CN114332125A (en) Point cloud reconstruction method and device, electronic equipment and storage medium
Gadasin et al. Reconstruction of a Three-Dimensional Scene from its Projections in Computer Vision Systems
KR102455546B1 (en) Iterative Closest Point Algorithms for Reconstructing of Colored Point Cloud
Peng et al. A robust method for estimating image geometry with local structure constraint
Clark Volumetric bundle adjustment for online photorealistic scene capture
Vassilaki et al. Automatic ICP‐based global matching of free‐form linear features
McCann 3D Reconstruction from multiple images
Sawant et al. Single storage semi-global matching for real time depth processing
Oskarsson Two-view orthographic epipolar geometry: Minimal and optimal solvers
Brito Autocalibration for structure from motion
Amamra et al. Crime scene reconstruction with RGB-D sensors
Örnhag et al. Minimal solvers for indoor uav positioning

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