KR20200046789A - Method and apparatus for generating 3-dimensional data of moving object - Google Patents

Method and apparatus for generating 3-dimensional data of moving object Download PDF

Info

Publication number
KR20200046789A
KR20200046789A KR1020180128404A KR20180128404A KR20200046789A KR 20200046789 A KR20200046789 A KR 20200046789A KR 1020180128404 A KR1020180128404 A KR 1020180128404A KR 20180128404 A KR20180128404 A KR 20180128404A KR 20200046789 A KR20200046789 A KR 20200046789A
Authority
KR
South Korea
Prior art keywords
images
pattern
image
patterns
decoding
Prior art date
Application number
KR1020180128404A
Other languages
Korean (ko)
Other versions
KR102160340B1 (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 KR1020180128404A priority Critical patent/KR102160340B1/en
Publication of KR20200046789A publication Critical patent/KR20200046789A/en
Application granted granted Critical
Publication of KR102160340B1 publication Critical patent/KR102160340B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Abstract

The present disclosure relates to a machine vision system, and more specifically, to a three-dimensional data generation method using a machine vision system. According to the present invention, the three-dimensional data generation method using the machine vision system and including two digital cameras and one optical projector to check an object moving in an observation view includes the steps of: sequentially projecting a plurality of digital patterns into the observation view; capturing a plurality of images by using the digital camera, wherein each of the images is associated with any one of the sequentially projected patterns; compensating for a motion parameter to each image among the images; generating first and second pattern images synthesized from the captured image; detecting boundaries from seventh and eighth patterns; decoding the boundaries by first to seventh pattern images; matching codes of the synthesized pattern and captured pattern; and generating three-dimensional data based on corresponding pairs of the two digital cameras.

Description

이동하는 물체의 3차원 데이터를 생성하는 방법 및 장치{METHOD AND APPARATUS FOR GENERATING 3-DIMENSIONAL DATA OF MOVING OBJECT} Method and apparatus for generating 3D data of a moving object {METHOD AND APPARATUS FOR GENERATING 3-DIMENSIONAL DATA OF MOVING OBJECT}

본 개시는 3차원 데이터를 생성하는 방법 및 장치에 관한 것으로서, 보다 구체적으로는, 이동하는 물체의 3차원 데이터 생성 방법에 관한 것이다. The present disclosure relates to a method and apparatus for generating 3D data, and more particularly, to a method for generating 3D data of a moving object.

이미징 시스템(Imaging system)은 제조 환경에서 움직이는 부품을 자동으로 검사하기 위해 사용된다. 이미징 시스템은, 자동화 생산, 품질 검사, 역설계(reverse engineering), 로봇 공학 및 유사한 시스템 분야에서 관측시야(field of view, FOV)에 있는 물체에 대한 3차원 정보를 결정하기 위하여 활용되고 있다. 이러한 시스템들은 스테레오 이미징 시스템의 일 부분으로서 구조광을 사용하여 관측시야에 빛을 투영하고, 관측시야 내 물체의 디지털 이미지를 캡쳐하며, 기하학적 방법론 및 디코딩 기술을 사용하여 물체의 형상과 깊이를 계산한다. 투영 패턴은 빠른 속도를 위해 적은 수의 패턴으로 설계되고, 디코딩 알고리즘은 에러와 노이즈의 제거 및 재구성된 3차원 포인트 클라우드의 정확성 향상을 위해 모션을 보정한다.Imaging systems are used to automatically inspect moving parts in a manufacturing environment. Imaging systems are being used to determine three-dimensional information about objects in the field of view (FOV) in the fields of automated production, quality inspection, reverse engineering, robotics and similar systems. These systems use structured light as part of a stereo imaging system to project light into the field of view, capture digital images of objects in the field of view, and use geometric methodology and decoding techniques to calculate the shape and depth of the object. . The projection pattern is designed with a small number of patterns for fast speed, and the decoding algorithm corrects motion to remove errors and noise and improve the accuracy of the reconstructed 3D point cloud.

3차원 정보를 획득하는 스캐닝 방식으로는 백색광 스캐닝 및 라인 레이저 스캐닝 방식이 있다. 백색광 스캐닝(white light scanning)은 특정 패턴을 물체에 투영하고 그 패턴의 변형 형태를 파악함으로써 3차원 정보를 얻는 방식이고, 라인 레이저 스캐닝(line laser scanning)은 삼각법(triangulation method)를 사용하여 카메라의 관측시야에 있는 레이저 평면 상 점들(points)의 3차원 위치를 계산한다. 3차원 포인트 클라우드를 획득하기 위하여, 레이저 평면은 직선 스테이지(linear stage)를 사용하여 물체를 전면적으로 스캐닝해야 한다. 전자는 작은 피사체를 빠르게 스캔하는데 적합하고, 추가적인 하드웨어를 요구하지 않아 비용이 저렴하다는 장점이 있다. 반면, 후자는 큰 피사체를 정밀하게 스캔하는데 적합하고 정밀한 스캔을 위해서는 리니어 스테이지와 같은 추가적인 하드웨어가 요구된다. There are two types of scanning methods for acquiring 3D information: white light scanning and line laser scanning. White light scanning is a method of obtaining three-dimensional information by projecting a specific pattern onto an object and grasping the deformation form of the pattern, and line laser scanning uses a triangulation method. Calculate the three-dimensional position of the points on the laser plane in the field of view. In order to obtain a three-dimensional point cloud, the laser plane must scan the object entirely using a linear stage. The former has the advantage that it is suitable for quickly scanning a small subject, and does not require additional hardware, so it is inexpensive. On the other hand, the latter is suitable for precisely scanning a large subject and requires additional hardware such as a linear stage for precise scanning.

등록특허공보 제10-1757240호 (등록일자: 2017.07.06)Registered Patent Publication No. 10-1757240 (Registration date: 2017.07.06)

스캐닝 속력 및 정확성이 모두 확보될 수 있는 3차원 데이터 생성 방법을 제공하고자 한다. It is intended to provide a 3D data generation method that can ensure both scanning speed and accuracy.

본 발명의 목적은 이상에서 언급된 목적으로 제한되지 않으며, 언급되지 않은 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자(이하 '통상의 기술자')에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned are clearly understood by a person having ordinary knowledge in the technical field to which the present invention belongs (hereinafter referred to as a 'normal engineer') from the following description. It could be.

상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 기능을 수행하기 위한, 본 발명의 특징은 다음과 같다. To achieve the object of the present invention as described above, and to perform the characteristic functions of the present invention described later, the features of the present invention are as follows.

본 발명에 따른 3차원 데이터 생성방법은, 관측시야에서 이동하는 물체를 검사하기 위하여 두 대의 디지털 카메라 및 하나의 광 프로젝터를 포함하는 머신 비전 시스템을 이용한 3차원 데이터 생성방법으로서, 복수의 디지털 패턴을 상기 관측시야로 순차적으로 투영하는 단계; 상기 디지털 카메라로 복수의 이미지를 캡쳐하는 단계로서, 상기 복수의 이미지 중 각 이미지는 순차적으로 투영된 패턴 중 어느 하나와 연관되는 것; 상기 복수의 이미지 중 각 이미지에 모션 파라미터를 보상하는 단계; 캡쳐된 이미지로부터 합성된 제1 및 제2 패턴 이미지를 생성하는 단계; 제7 및 제8 패턴으로부터 경계를 탐지하는 단계; 제1 내지 제7 패턴 이미지에 의해 경계를 디코딩하는 단계; 합성 패턴 및 캡쳐된 패턴의 코드를 매칭하는 단계; 및 상기 두 개의 디지털 카메라의 대응 쌍에 기초하여 3차원 데이터를 생성하는 단계;를 포함한다. The 3D data generation method according to the present invention is a 3D data generation method using a machine vision system including two digital cameras and one optical projector to inspect a moving object in an observation field of view. Sequentially projecting into the observation field of view; Capturing a plurality of images with the digital camera, wherein each of the plurality of images is associated with any one of the sequentially projected patterns; Compensating for a motion parameter to each image among the plurality of images; Generating synthesized first and second pattern images from the captured image; Detecting boundaries from the seventh and eighth patterns; Decoding a boundary by the first to seventh pattern images; Matching the codes of the composite pattern and the captured pattern; And generating 3D data based on corresponding pairs of the two digital cameras.

본 발명의 일 실시예에 있어서, 상기 복수의 디지털 패턴은 제3 비트 내지 제9 비트 및 제9 비트의 역수로부터 획득되는 이진코드 패턴이다. In one embodiment of the present invention, the plurality of digital patterns are binary code patterns obtained from reciprocals of the third to ninth bits and the ninth bits.

본 발명의 일 실시예에 있어서, 상기 복수의 이미지는 복수의 2차원 이미지이고, 상기 복수의 2차원 이미지 중 각 이미지는 순차적으로 투영된 패턴 중 어느 하나와 연관된다. In one embodiment of the present invention, the plurality of images is a plurality of two-dimensional images, and each of the plurality of two-dimensional images is associated with any one of the sequentially projected patterns.

본 발명의 일 실시예에 있어서, 상기 복수의 이미지는 복수의 2차원 이미지이고, 상기 복수의 2차원 이미지 각각에 모션 파라미터를 보상하고, 각 픽셀은 기준 이미지에 대해 x- 또는 y-축으로 이동된다. In one embodiment of the present invention, the plurality of images are a plurality of two-dimensional images, and motion parameters are compensated for each of the plurality of two-dimensional images, and each pixel moves in an x- or y-axis with respect to a reference image. do.

본 발명의 일 실시예에 있어서, 상기 기준 이미지는 캡쳐된 이미지 중 어느 하나로 설정가능하다. In one embodiment of the present invention, the reference image can be set to any one of the captured images.

본 발명의 일 실시예에 있어서, 합성된 제1 및 제2 패턴 이미지는 제3 비트의 이진코드의 줄무늬 신호에 기초하여 획득된다. In one embodiment of the present invention, the synthesized first and second pattern images are obtained based on the stripe signal of the third bit binary code.

본 발명의 일 실시예에 있어서, 상기 경계는 제7 및 제8 패턴 이미지를 교차함으로써 탐지된다. In one embodiment of the present invention, the boundary is detected by crossing the seventh and eighth pattern images.

본 발명의 일 실시예에 있어서, 상기 제1 내지 7 패턴 이미지는 각각 제3 내지 제9 비트의 이진코드에 해당한다. In one embodiment of the present invention, the first to seventh pattern images correspond to binary codes of the third to ninth bits, respectively.

본 발명의 일 실시예에 있어서, 상기 디코딩하는 단계는 코드값 0을 갖는 경계를 디코딩하고 순차적으로 코드값 1을 갖는 경계의 디코딩 값을 입력한다. In one embodiment of the present invention, the decoding step decodes a boundary having a code value of 0 and sequentially inputs a decoding value of a boundary having a code value of 1.

스캐닝 속력 및 정확성이 모두 확보될 수 있는, 이동하는 물체의 3차원 데이터 생성 방법 및 장치가 제공된다. Disclosed is a method and apparatus for generating three-dimensional data of a moving object, in which both scanning speed and accuracy can be secured.

본 발명의 효과는 전술한 것으로 제한되지 않으며, 언급되지 않은 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 인식될 수 있을 것이다.The effects of the present invention are not limited to those described above, and other effects not mentioned will be apparent to those skilled in the art from the following description.

도 1은 본 발명에 따른 머신 비전 시스템의 구성도를 도시하고,
도 2는 본 발명에 따른 머신 비전 시스템을 이용한 3차원 데이터 생성 방법의 개괄적인 순서도를 도시하고,
도 3은 본 발명에 따른 3차원 데이터 생성 방법의 데이터 획득 단계를 도시하고,
도 4는 본 발명에 따른 3차원 데이터 생성 방법을 위한 코드화된 패턴의 구조를 도시하고,
도 5는 본 발명에 따른 3차원 데이터 생성 방법을 위한 각 시간 프레임별 투영 패턴 이미지를 도시하고,
도 6은 본 발명에 따른 3차원 데이터 생성 방법의 패턴 디코딩 단계를 도시하고,
도 7은 본 발명의 일 실시예에 따른 모션 교정 절차를 도시하고,
도 8은 본 발명의 일 실시예에 따른 모션 보정 단계를 도시하고,
도 9는 본 발명의 일 실시예에 따른 합성 패턴 이미지를 생성하는 단계를 도시하고,
도 10은 제7 및 제8 패턴 이미지의 신호 쌍에 기초하여 경계가 탐지되는 것을 도시하고,
도 11은 본 발명에 따른 디코딩 과정을 도시하고,
도 12는 합성 패턴 및 캡쳐된 패턴의 디코딩 값을 도시하고,
도 13은 캡쳐된 패턴 레이어 및 합성 패턴 레이어의 경계 위치를 도시하고,
도 14는 디코딩 과정의 의사코드를 도시하고,
도 15는 두 대의 카메라에 의한 디코딩 맵으로부터의 3차원 재구성 과정을 도시하며,
도 16은 본 발명에 따른 3차원 데이터 생성방법에 따라 재구성된 3차원 데이터와 종래 방식에 의하 재구성된 3차원 데이터를 도시한다.
1 shows a configuration diagram of a machine vision system according to the present invention,
2 is a schematic flowchart of a 3D data generation method using a machine vision system according to the present invention,
Figure 3 shows the data acquisition step of the three-dimensional data generation method according to the present invention,
4 shows the structure of a coded pattern for a 3D data generation method according to the present invention,
5 illustrates a projection pattern image for each time frame for a 3D data generation method according to the present invention,
6 shows a pattern decoding step of a 3D data generation method according to the present invention,
7 shows a motion calibration procedure according to an embodiment of the present invention,
8 shows a motion correction step according to an embodiment of the present invention,
9 shows a step of generating a composite pattern image according to an embodiment of the present invention,
10 shows that a boundary is detected based on signal pairs of the seventh and eighth pattern images,
11 shows a decoding process according to the present invention,
12 shows decoding values of the composite pattern and the captured pattern,
13 shows the boundary positions of the captured pattern layer and the composite pattern layer,
14 shows the pseudo code of the decoding process,
15 shows a three-dimensional reconstruction process from a decoding map by two cameras,
16 shows 3D data reconstructed according to the 3D data generation method according to the present invention and 3D data reconstructed by a conventional method.

발명의 실시예에서 제시되는 특정한 구조 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있다. 또한 본 명세서에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 되며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경물, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The specific structure or functional descriptions presented in the embodiments of the present invention are exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention may be implemented in various forms. In addition, it should not be construed as being limited to the embodiments described herein, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

한편, 본 발명에서 제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소들과 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않는 범위 내에서, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다. Meanwhile, in the present invention, terms such as first and / or second may be used to describe various components, but the components are not limited to the terms. The above terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the present invention, the first component may be referred to as the second component, Similarly, the second component may also be referred to as the first component.

어떠한 구성요소가 다른 구성요소에 "연결되어"있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떠한 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 또는 "직접 접촉되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하기 위한 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 인접하는"과 "~에 직접 인접하는"등의 표현도 마찬가지로 해석되어야 한다.When a component is said to be "connected" or "connected" to another component, it should be understood that other components may be directly connected or connected to the other component, but may be present in the middle. something to do. On the other hand, when a component is referred to as being “directly connected” to or “directly in contact with” another component, it should be understood that no other component exists in the middle. Other expressions for describing the relationship between the components, such as "between" and "immediately between" or "adjacent to" and "directly adjacent to", should be interpreted similarly.

명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 한편, 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급되지 않는 한 복수형도 포함된다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. Throughout the specification, the same reference numbers indicate the same components. Meanwhile, the terminology used herein is for describing the embodiments and is not intended to limit the present invention. In the present specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein, "comprises" and / or "comprising" refers to the presence of one or more other components, steps, operations and / or elements in which the mentioned component, step, operation and / or element is present. Or do not exclude additions.

이하에서는 첨부된 도면을 참조하여 본 발명에 대해 상세히 설명한다. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1에 도시된 바와 같이, 본 발명에 따른 머신 비전 시스템(1, machine vision system)은 둘 이상의 카메라(10) 및 제어가능한 광 프로젝터(20)를 포함한다. 둘 이상의 카메라(10) 및 광 프로젝터(20)는 카메라/프로젝터 제어기(30) 및 분석 제어기(40)에 신호에 의해 연결된다. 분석 제어기(40)는 PC일 수 있다. 트리거 생성부(50)는 카메라(10), 광 프로젝터(20) 및 카메라/광 프로젝터 제어기(30)를 신호에 의해 연결한다. As shown in FIG. 1, a machine vision system 1 according to the present invention includes two or more cameras 10 and a controllable light projector 20. The two or more cameras 10 and optical projectors 20 are connected by signals to the camera / projector controller 30 and the analysis controller 40. The analysis controller 40 may be a PC. The trigger generator 50 connects the camera 10, the light projector 20, and the camera / light projector controller 30 by signals.

카메라(10)는 디지털 이미지를 촬영하는 장치일 수 있다. 바람직하게, 카메라(10)는 관측시야(FOV, field of view)의 2차원 이미지를 캡쳐할 수 있고, 트리거 생성부(50)에 의해 생성되는 트리거 신호에 응답하여 관측시야의 2차원 이미지를 캡쳐할 수 있다. 본 발명의 일 실시예에 따르면, 광 프로젝터(20)의 수명이 카메라(10)의 수명보다 훨씬 짧기 때문에 스테레오 카메라가 사용되고, 따라서, 프로젝터를 교체하더라도 복잡한 과정을 거쳐야 하는 스테레오 교정(stereo calibration)은 요구되지 않는다. The camera 10 may be a device that photographs digital images. Preferably, the camera 10 may capture a two-dimensional image of a field of view (FOV), and capture a two-dimensional image of the viewing field in response to a trigger signal generated by the trigger generator 50. can do. According to an embodiment of the present invention, a stereo camera is used because the life of the optical projector 20 is much shorter than the life of the camera 10, and thus, even if the projector is replaced, a stereo calibration that requires a complicated process is performed. Is not required.

이미지란 관측시야(FOV)를 도시하고 시각적으로 인지가능한 표현물을 망라하는 개념이다. 이미지는 가시광 스펙트럼에서 관측시야에 반사광 일부 또는 전부를 포함할 수 있고, 이는 색상 반사, 흑백 반사, 회색조 반사 또는 다른 적절한 또는 요구되는 반사를 포함한다. 이미지는 캡쳐되어 비일시적 저장매체에 저장되고, 비일시적 저장매체는 비일시적 디지털 데이터 저장매체 또는 사진 필름일 수 있다. Image is a concept that shows the field of view (FOV) and encompasses visually recognizable expressions. The image may include some or all of the reflected light in the field of view in the visible light spectrum, including color reflection, black and white reflection, grayscale reflection, or other suitable or desired reflection. The image is captured and stored in a non-transitory storage medium, and the non-transitory storage medium may be a non-transitory digital data storage medium or a photographic film.

일 례에서, 카메라(10)에 의해 캡쳐되는 이미지는 관측시야(FOV)를 도시하는 2차원 이미지로서, 8 비트 회색조 이미지 형태의 비트맵 이미지 파일일 수 있다. 다른 예에서, 상기 2차원 이미지는 2차원의 컬러 이미지일 수도 있고, 다른 형태를 취할 수도 있다. 카메라(10) 및 광 프로젝터(20)는 미리 설정된 해상도에서 관측시야(FOV)의 비트맵 이미지 파일을 생성한다. In one example, the image captured by the camera 10 is a two-dimensional image showing the field of view (FOV), it may be a bitmap image file in the form of an 8-bit grayscale image. In another example, the two-dimensional image may be a two-dimensional color image, or may take a different form. The camera 10 and the optical projector 20 generate a bitmap image file of the field of view (FOV) at a preset resolution.

본 발명의 일 실시예에 따르면, 둘 이상의 카메라(10)는 두 대의 카메라일 수 있다. 두 대의 카메라(10)는 동일 평면상에 놓여 설치되고, 두 대의 카메라(10) 중 각 카메라는 각도가 기울여져 관측시야(FOV)에 있는 물체(70)가 두 대의 카메라(10)의 중앙에 올 수 있도록 형성된다. 광 프로젝터(20)는 두 대의 카메라(10)와 동일한 평면상에 설치되고, 두 대의 카메라(10) 사이에 배치된다. According to an embodiment of the present invention, two or more cameras 10 may be two cameras. The two cameras 10 are installed on the same plane, and each of the two cameras 10 is tilted so that the object 70 in the field of view (FOV) is in the center of the two cameras 10. It is formed to come. The optical projector 20 is installed on the same plane as the two cameras 10 and is disposed between the two cameras 10.

이와 같이 배치되는 두 대의 카메라(10) 및 광 프로젝터(20)는 관측시야(FOV)에 대해 임의의 위치 및 배향으로 배치될 수 있다. 관측시야(FOV)는 카메라(10) 및 광 프로젝터(20)로부터 미리 설정된 거리에 배치되는 임의의 속력으로 이동가능한 면상에 배향되는 물체(70)를 포함한다. 물체(70)는 구조적인 개체로서, 예를 들어, 공간상 치수, 재료 및 반사율을 나타내는 표면 마감 등의 특징을 가지는 구조적인 개체일 수 있다. 예를 들어, 물체(70)는 부품 또는 공장에 있는 임의의 객체의 부분일 수 있다. The two cameras 10 and the optical projector 20 arranged in this way may be arranged at any position and orientation with respect to the field of view (FOV). The field of view (FOV) includes an object 70 oriented on a plane that is movable at any speed disposed at a predetermined distance from the camera 10 and the light projector 20. The object 70 is a structural object, and may be, for example, a structural object having characteristics such as surface finish indicating spatial dimensions, materials, and reflectance. For example, the object 70 can be a part or part of any object in a factory.

예를 들어, 이동가능한 면은 컨베이어(C)일 수 있다. 즉, 물체(70)는 특정 속력(v)으로 선형 경로를 이동하는 컨베이어(C) 상에 배치될 수 있다. 이 경우, 카메라(10) 및 광 프로젝터(20)는 컨베이어(C)로부터 일정한 거리(H)에 이격되어 장착될 수 있다. For example, the movable surface may be a conveyor (C). That is, the object 70 may be disposed on the conveyor C moving the linear path at a specific speed (v). In this case, the camera 10 and the light projector 20 may be mounted spaced apart at a constant distance H from the conveyor C.

광 프로젝터(20)는 DLP(Digital Light Processing) 또는 LCD(Liquid Crystal Display) 프로젝터일 수 있다. 광 프로젝터(20)는 디지털 입력 신호에 응답하여 특정 투영 해상도로 광학 이미지를 생성하도록 구성된다. 일 례에 따르면, 광 프로젝터(20)는 912Х1,140 픽셀의 투영 해상도를 가질 수 있다. The optical projector 20 may be a digital light processing (DLP) or liquid crystal display (LCD) projector. The optical projector 20 is configured to generate an optical image with a specific projection resolution in response to a digital input signal. According to one example, the light projector 20 may have a projection resolution of 912Х1,140 pixels.

트리거 생성부(50)에 의한 트리거 신호는 광 프로젝터(20)에 구비되는 프로젝터 트리거 출력 포트로부터 생성될 수 있다. 또는, 트리거 신호는 VGA 포트의 V-Sync 신호로부터 출력될 수 있다. 카메라(10)는 범용 IO(General Purpose IO, GPIO) 포트를 구비하고, 프로젝터 트리거 출력 포트에 연결되어 광 프로젝터(20)와 카메라(10)간의 타이밍을 동기화한다.The trigger signal by the trigger generator 50 may be generated from a projector trigger output port provided in the optical projector 20. Alternatively, the trigger signal may be output from the V-Sync signal of the VGA port. The camera 10 has a general purpose IO (GPIO) port, and is connected to a projector trigger output port to synchronize timing between the optical projector 20 and the camera 10.

카메라/프로젝터 제어기(30)는 디지털 광 패턴을 생성하고, 생성된 광 패턴은 광 프로젝터(20)에 전달된다. 광 프로젝터(20)는 광 패턴을 관측시야(FOV)에 광학적으로 투영한다. The camera / projector controller 30 generates a digital light pattern, and the generated light pattern is transmitted to the light projector 20. The optical projector 20 optically projects the light pattern to the field of view (FOV).

도 2에는 본 발명에 따른 머신 비전 시스템을 이용한 3차원 데이터 생성방법의 개괄적인 순서도가 도시되어 있다. 본 발명에 따른 3차원 데이터 생성방법은, 데이터 획득단계(S10), 패턴 디코딩단계(S30) 및 3차원 데이터 생성단계(S50)를 포함한다. 데이터 획득단계(S10)에서는 디지털 광 패턴이 투영된 관측시야(FOV)를 두 대의 카메라(10)로 촬영하여 패턴 이미지를 획득한다. 패턴 디코딩 단계(S30)에서는 데이터 획득단계(S10)에서 획득된 패턴 이미지를 디코딩하여 디코딩 데이터를 얻는다. 3차원 데이터 생성단계(S50)에서는 패턴 디코딩 단계(S30)에서 얻은 디코딩 데이터를 이용하여 3차원 이미지를 재구성한다. 2 is a schematic flowchart of a 3D data generation method using a machine vision system according to the present invention. The method for generating 3D data according to the present invention includes a data acquisition step (S10), a pattern decoding step (S30), and a 3D data generation step (S50). In the data acquisition step (S10), a pattern image is acquired by photographing an observation field of view (FOV) on which a digital light pattern is projected with two cameras 10. In the pattern decoding step S30, the pattern image obtained in the data acquisition step S10 is decoded to obtain decoded data. In the 3D data generation step (S50), the 3D image is reconstructed using the decoded data obtained in the pattern decoding step (S30).

도 3을 참조하면, 데이터 획득단계(S10)는 개시 단계(S110), 패턴 투영 단계(S210) 및 캡쳐 단계(S310)를 포함한다. 개시 단계(S110)는 특정 속력으로 이동하는 컨베이어(C) 상에 물체(70)가 관측시야(FOV) 내에 도착하는 등 개시 상황이 제공됨으로써 개시되고, 카메라/프로젝터 제어기(30)는 복수의 디지털 광 패턴(80)을 생성하여 광 프로젝터(20)에 전달한다. 다음, 패턴 투영 단계(S210)에서 광 프로젝터(20)는 복수의 디지털 광 패턴(80)을 관측시야(FOV)에 광학적으로 투영한다. 캡쳐 단계(S310)에서는, 트리거 생성부(50)에 의해 생성된 트리거 신호에 의해 카메라(10)는 관측시야(FOV)의 비트맵 이미지 파일을 캡쳐하고, 물체(70)를 포함하는 관측시야(FOV)에 광 패턴(80)이 투영된 상태를 캡쳐한다. 본 발명의 일 실시예에 있어서, 투영되는 광 패턴(80)은 8개의 패턴일 수 있고, 투영된 8개의 패턴이 순차적으로 캡쳐된다. 즉, 카메라/프로젝터 제어기(30)는 순차적으로 8개의 디지털 광 패턴(80)을 생성하고, 8개의 디지털 광 패턴(80) 중 모든 패턴이 관측시야(FOV)에 투영되고 이에 대응하는 비트맵 이미지 파일이 캡쳐될 때까지 상기 과정은 반복된다. Referring to FIG. 3, the data acquisition step (S10) includes a starting step (S110), a pattern projection step (S210), and a capturing step (S310). The initiation step (S110) is initiated by providing an initiation situation such as the object 70 arriving in the observation field of view (FOV) on the conveyor C moving at a specific speed, and the camera / projector controller 30 is a plurality of digital The light pattern 80 is generated and transmitted to the light projector 20. Next, in the pattern projection step (S210), the optical projector 20 optically projects the plurality of digital light patterns 80 to the viewing field of view (FOV). In the capturing step (S310), the camera 10 captures a bitmap image file of an observation field of view (FOV) by a trigger signal generated by the trigger generation unit 50, and an observation field including an object 70 ( FOV) captures a state in which the light pattern 80 is projected. In one embodiment of the present invention, the projected light pattern 80 may be eight patterns, and the projected eight patterns are captured sequentially. That is, the camera / projector controller 30 sequentially generates eight digital light patterns 80, and all of the eight digital light patterns 80 are projected onto the field of view (FOV) and corresponding bitmap images. The process is repeated until the file is captured.

도 4에는 광 프로젝터(20)에 의해 관측시야(FOV)에 투영되는 광 패턴(80)이 도시되어 있다. 광 패턴(80)은 제3 비트 내지 제9 비트의 절삭된(truncated) 9 비트 이진코드로 코딩된다. 제3 비트 내지 제9 비트의 절삭된 9 비트 이진코드는, 각각, 제1 내지 제7 패턴으로 설정된다. 제1 및 제2 비트는 누락되고, 제8 패턴은 제7 패턴의 역수를 취함으로써 획득된다. 투영 단계(S210)에서는, 제1 내지 제8 패턴이 순차적으로 또는 연속적으로 투영된다. FIG. 4 shows a light pattern 80 projected by the optical projector 20 to the viewing field of view (FOV). The light pattern 80 is coded with truncated 9-bit binary code of the third to ninth bits. The truncated 9-bit binary codes of the third to ninth bits are set to first to seventh patterns, respectively. The first and second bits are omitted, and the eighth pattern is obtained by taking the reciprocal of the seventh pattern. In the projection step S210, the first to eighth patterns are projected sequentially or continuously.

도 5를 참조하면, 각 레이어 또는 각 이진 코드의 비트 신호는, 투영 이미지로 사용될 수 있게 프로젝터 이미지 사이즈에 맞도록 수직방향으로 확장된다. 예를 들어, 전술한 바와 같이 프로젝터 해상도가 912Х1,140 픽셀인 경우 상기 사이즈에 맞도록 확장된다. 관측시야(FOV)에 여덟개의 패턴(80)이 노출되고 캡쳐되는 데이터 획득단계(S10)의 수행에는 대략 56ms이 소요된다. Referring to FIG. 5, the bit signal of each layer or each binary code is extended vertically to fit the projector image size so that it can be used as a projected image. For example, as described above, when the projector resolution is 912 x 1,140 pixels, it is expanded to fit the size. It takes about 56 ms to perform the data acquisition step (S10) in which eight patterns 80 are exposed and captured in the observation field of view (FOV).

패턴 디코딩 단계(S30)는 데이터 획득단계(S10)에서 획득된 패턴 이미지를 디코딩하여 디코딩 데이터를 얻는 단계이다. 즉, 패턴 디코딩 단계(S30)는 캡쳐된 패턴 이미지의 코드값을 기초로 하여 각 광 프로파일(light profile) 위치 고유의 십진수 값을 획득하는 단계에 해당한다. 도 6에 도시된 바와 같이, 패턴 디코딩 단계(S30)는 모션 보정 단계(S130), 합성 패턴 이미지 생성단계(S230) 및 디코딩 단계(S330)을 포함한다. The pattern decoding step S30 is a step of decoding the pattern image obtained in the data acquisition step S10 to obtain decoded data. That is, the pattern decoding step S30 corresponds to a step of obtaining a decimal value unique to each light profile location based on the code value of the captured pattern image. 6, the pattern decoding step (S30) includes a motion correction step (S130), a composite pattern image generation step (S230) and a decoding step (S330).

캡쳐된 패턴 이미지는 상이한 프레임 사이의 패턴 위치 에러를 감소시키기 위하여 모션 보정 단계가 먼저 수행된다(S130). In the captured pattern image, a motion correction step is first performed to reduce the pattern position error between different frames (S130).

도 7을 참조하면, 동 단계의 수행을 위하여 특정 속력(v)으로 이동하는 컨베이어(C) 상에 그리고 관측시야(FOV) 내에 교정 플레이트(CP)가 배치된다. 교정 플레이트(CP)는 모서리가 고유하게 식별되도록 하나 이상의 모서리를 형성하도록 배치되는 흑색 및 백색 정사각형을 구비하는 체커 보드이다. 광 프로젝터(20)는 백색 패턴을 투영하고 카메라(10)는 관측시야(FOV)의 이미지를 캡쳐한다. 광 프로젝터(20)는 백색 패턴을 투영하는데 이는 모서리 탐지를 위해 캡쳐된 이미지가 충분히 밝아야 하기 때문이다. Referring to FIG. 7, the calibration plate CP is disposed on the conveyor C moving at a specific speed v and in the field of view FOV for performing the same step. The calibration plate CP is a checker board with black and white squares arranged to form one or more edges so that the edges are uniquely identified. The optical projector 20 projects a white pattern and the camera 10 captures an image of the field of view (FOV). The optical projector 20 projects a white pattern because the captured image must be sufficiently bright for edge detection.

모션 보정 단계(S130)를 위하여 교정 플레이트(CP)는 연속적으로 둘 이상의 교정 플레이트 프레임이 캡쳐되어야 한다. 도 7에는 각 프레임이 제1 및 제2 프레임으로 표시되어 있다. 연속적으로 캡쳐된 둘 이상의 프레임으로부터 각 프레임의 교정 플레이트(CP) 모서리를 검출한다. 다음, 2차원 이미지의 x 및 y 방향에서 두 프레임 사이의 모서리 위치의 차이를 계산하여 모션 보정에 사용하게 된다. 즉, 픽셀 값으로 두 프레임 간 모서리 위치의 차이값을 계산하고, x 및 y 방향으로, 각각, 모션 파라미터인 dx 및 dy값이 산출된다. 이 차이값이 패턴 디코딩 단계(S30)에서 모션 보정을 위하여 사용되는 것이다. For the motion correction step (S130), the calibration plate CP must continuously capture two or more calibration plate frames. In FIG. 7, each frame is indicated by first and second frames. The corners of the calibration plate (CP) of each frame are detected from two or more consecutively captured frames. Next, the difference in corner positions between two frames in the x and y directions of the 2D image is calculated and used for motion correction. That is, a difference value of a corner position between two frames is calculated as a pixel value, and motion parameters dx and dy values are calculated in the x and y directions, respectively. This difference value is used for motion correction in the pattern decoding step (S30).

즉, 캡쳐된 패턴 이미지는 모션 파라미터(dx, dy)를 통해 보상이 이루어짐으로써 상이한 프레임 사이의 패턴 위치 에러를 감소시킨다. 도 8을 참조하면, 모션 보정 단계(S130)는, 패턴 이미지 중 어느 하나의 패턴 이미지가 기준 이미지로 설정된다. 예를 들어, 제7 패턴이 기준 이미지로 설정될 수 있다. 다른 패턴 이미지는 모션 파라미터(dx, dy) 만큼 x- 및 y-축으로 이동되고, 각 패턴의 연관된 타임 프레임도 함께 이동된다. That is, the captured pattern image is compensated through motion parameters (dx, dy) to reduce the pattern position error between different frames. Referring to FIG. 8, in the motion correction step (S130), any one pattern image among the pattern images is set as a reference image. For example, the seventh pattern may be set as a reference image. The other pattern images are moved in the x- and y-axis by motion parameters (dx, dy), and the associated time frame of each pattern is also moved.

다음, 도 9를 참조하면, 합성 패턴 이미지 생성 단계(S230)가 수행된다. 상기한 바와 같이, 코딩된 패턴은 제1 및 제2 비트의 이진코드가 누락되어 있으므로 코드 문자열의 완성을 위해 복구되어야 한다. 누락된 제1 및 제2 비트에 대해 합성 패턴 이미지를 생성하는 절차는 다음과 같다. Next, referring to FIG. 9, a synthetic pattern image generation step (S230) is performed. As described above, the coded pattern must be recovered to complete the code string because the binary code of the first and second bits is missing. The procedure for generating a composite pattern image for the missing first and second bits is as follows.

먼저, 동일한 시스템 설정 하에서 컨베이어(C)의 작동을 중지시키고, 관측시야(FOV)의 컨베이어(C) 상에 평행하게 그리고 스캐너의 방향에 대해서는 수직하게 평평한 면을 배치하고, 평평한 면을 스캔한다(S1230). First, the conveyor C is turned off under the same system setup, a flat surface is placed parallel to the conveyor C of the field of view (FOV) and perpendicular to the direction of the scanner, and the flat surface is scanned ( S1230).

상기 과정에 의해 하나의 캡쳐 이미지가 획득되고, 상기 캡쳐 이미지는 이진코드의 제3 비트에 해당한다(S2230). 도 9에 도시된 바와 같이, 이미지의 중앙에 형성된 선을 따라 패턴에 형성되는 줄무늬의 에지를 탐지한다(S3230). 이 단계는 자동으로 또는 수동으로 행해질 수 있으며 특정 오차가 허용될 수 있고, 바람직하게, ±3 픽셀의 오차가 허용될 수 있다. One captured image is obtained by the above process, and the captured image corresponds to the third bit of the binary code (S2230). As illustrated in FIG. 9, an edge of a stripe formed in a pattern is detected along a line formed in the center of the image (S3230). This step can be done automatically or manually and a specific error can be tolerated, and preferably an error of ± 3 pixels.

마지막으로 픽셀 카운팅은 좌측에서부터 우측으로 행해진다. 이진코드의 제2 비트는 두 개의 흑색 줄무늬(코드 0) 및 두 개의 백색 줄무늬(코드 0)을 포함한다. 이미지의 좌측에서부터 첫번째 경계까지의 픽셀에는 코드 0을 부여한다. 첫번째 경계부터 두번째 경계까지의 픽셀에는 코드 1을 부여한다. 두번째 경계부터 세번째 경계의 픽셀에는 코드 0을 부여한다. 세번째 경계부터 이미지의 우측 끝까지의 픽셀하는 코드 0을 부여한다. 이로 인하여 제2 비트에 대한 합성 패턴 이미지가 획득된다(도 8의 (A), S4230). Finally, pixel counting is done from left to right. The second bit of the binary code includes two black stripes (code 0) and two white stripes (code 0). Code 0 is assigned to pixels from the left of the image to the first border. Code 1 is assigned to pixels from the first border to the second border. Code 0 is assigned to pixels from the second border to the third border. Pixel 0 from the third border to the right end of the image is assigned a code of 0. Accordingly, a composite pattern image for the second bit is obtained (FIG. 8A, S4230).

이진코드의 제1 비트는 하나의 흑색 줄무늬(코드 0) 및 하나의 백색 줄무늬(코드 1)를 포함한다. 이미지의 좌측부터 두번째 경계까지의 픽셀에는 코드 0을 부여하고, 두번째 경계부터 이미지의 우측 끝까지의 픽셀에는 코드 1을 부여한다. 이로 인해 제1 비트에 대한 합성 패턴 이미지가 획득된다(도 8의 (B), S4230). The first bit of the binary code includes one black stripe (code 0) and one white stripe (code 1). A code of 0 is assigned to pixels from the left to the second border of the image, and a code of 1 is assigned to pixels from the second border to the right of the image. Accordingly, a composite pattern image for the first bit is obtained (FIG. 8 (B), S4230).

모든 패턴 이미지가 획득된 바, 디코딩 단계(S330)가 수행된다. When all the pattern images have been obtained, a decoding step (S330) is performed.

광 프로파일 내지는 경계, 즉, 경계도를 획득하기 위하여, 제7 및 제8 패턴의 신호가 교차된다. 각 경계 위치에서, 디코딩 값은 캡쳐된 패턴 및 합성 패턴으로부터 수집되는 이진코드 문자열에 기초하여 계산된다. 디코딩 단계(S330)에서는 하기 단계 (a) 내지 (c)가 수행된다. In order to obtain a light profile or a boundary, that is, a boundary diagram, signals of the seventh and eighth patterns are crossed. At each boundary location, the decoding value is calculated based on the binary code string collected from the captured pattern and the composite pattern. In the decoding step (S330), the following steps (a) to (c) are performed.

단계 (a): 제7 패턴 및 제8 패턴의 신호를 교차시킴으로써 경계맵을 획득한다. 이미지의 각 행을 따라 상-하(up-down) 신호 쌍에는 코드 값 0을 부여하고, 하-상(down-up) 신호 쌍에는 코드 값 1을 부여한다. 상-하 신호 쌍과 하-상 신호 쌍은 도 10에 도시되어 있다. Step (a): A boundary map is obtained by intersecting signals of the seventh and eighth patterns. A code value of 0 is assigned to the up-down signal pair and a code value of 1 is assigned to the down-up signal pair along each row of the image. The top-bottom signal pair and the bottom-top signal pair are shown in FIG. 10.

단계 (b): 캡쳐된 패턴 이미지를 디코딩한다. 도 11을 참조하면, 코드값 1을 갖는 각 경계 위치에 대해서는 상위 레이어를 추적하고, 십진수로 변환하기 위해서는 이진코드 규칙을 사용한다. 한편, 코드값 0을 갖는 각 경계에 대해서는, 해당 경계의 좌측 및 우측의 이웃하는 경계를 확인한다. 만일 디코딩된 십진수 값이 좌측부터 우측까지 2씩 증가한다면 해당 경계의 디코딩 값은 평균이 된다. Step (b): Decode the captured pattern image. Referring to FIG. 11, an upper layer is tracked for each boundary location having a code value of 1, and a binary code rule is used to convert to a decimal number. On the other hand, for each boundary having a code value of 0, neighboring boundaries on the left and right sides of the boundary are identified. If the decoded decimal value increases by 2 from left to right, the decoded value of the boundary is averaged.

단계 (c): 두 개의 합성 패턴 이미지를 디코딩한다. 이들은 2 비트의 이진코드이고, 따라서, 4개의 십진수 값을 갖는다. 9 비트 코딩과의 매칭을 위하여 디코딩 값은 {0, 128, 256, 384}로 스케일된다. 합성 패턴 및 캡쳐된 패턴들의 디코딩 값은, 따라서, 도 12에 도시된 바와 같이, 시뮬레이션된다. Step (c): Decode two composite pattern images. These are two bits of binary code, and thus have four decimal values. For matching with 9-bit coding, the decoding value is scaled to {0, 128, 256, 384}. The decoded values of the composite pattern and the captured patterns are thus simulated, as shown in FIG. 12.

단계 (d): 각 행마다 캡쳐된 패턴의 디코딩 값을 합성된 패턴의 디코딩 값으로 도 13 및 14의 알고리듬에 따라 업데이트한다. 도 13을 참조하면, 캡쳐된 패턴의 디코드맵의 디코딩값 D와 연관된 각 경계 위치 B에 대하여, 시작영역위치(Si) 및 종료영역위치(Ei)를 갖는 포함영역(ith) 및 합성 패턴의 디코드맵의 디코딩값(Dsi)이 표시되어 있다. 예시적인 의사코드(pseudo code)는 도 14에 제시되어 있다. Step (d): The decoded value of the pattern captured for each row is updated to the decoded value of the synthesized pattern according to the algorithms of FIGS. 13 and 14. Referring to FIG. 13, for each boundary position B associated with the decoded value D of the decoded map of the captured pattern, an inclusion area (i th ) having a start area position (S i ) and an end area position (E i ) and synthesis The decoding value Ds i of the decode map of the pattern is displayed. An exemplary pseudo code is presented in FIG. 14.

다음, 도 15에 도시된 바와 같이, 3차원 데이터 생성단계(S50)가 수행된다. 3차원 데이터 생성단계(S50)에서는 두 대의 카메라(10)에서 디코딩 맵을 얻은 뒤, 에피폴라(epipolar)선을 따라서 양 카메라의 대응 쌍이 검색된다. 에피폴라선은 에피폴라 기하학과 연관되어 있는 것으로서, 위치 대응 관련 기하학에 해당한다. 3차원 데이터는 광학 삼각법(optical triangulation method)에 의해 계산된다. 두 대의 카메라에 대응 쌍을 모두 찾을 때까지 반복하여 관측시야의 완전한 3차원 데이터가 재구성된다. Next, as shown in FIG. 15, a 3D data generation step (S50) is performed. In the 3D data generation step (S50), after obtaining a decoding map from two cameras 10, corresponding pairs of both cameras are searched along the epipolar line. The epipolar line is related to the epipolar geometry and corresponds to the geometry related to position correspondence. 3D data is calculated by an optical triangulation method. The complete three-dimensional data of the field of view is reconstructed by repeating until both pairs of cameras are found.

도 16에는 본 발명에 따른 3차원 데이터 생성 방법에 따라 생성한 40mm/s의 속력으로 이동하는 신발의 미드솔(하측)과 종래 3차원 데이터 생성 방법에 따라 생성한 40mm/s의 속력으로 이동하는 신발의 미드솔(상측)을 비교하는 도면이 제공되어 있다. 도면에서 관찰할 수 있는 바와 같이, 본 발명에 따른 방법을 사용하여 재구성된 미드솔은 종래 방식과 비교했을 때 노이즈도 훨씬 적으며 미드솔을 상세하게 나타내는 것을 알 수 있다. In FIG. 16, the midsole (bottom) of a shoe moving at a speed of 40 mm / s generated according to the 3D data generating method according to the present invention and a shoe moving at a speed of 40 mm / s generated according to the conventional 3D data generating method A drawing comparing midsole (top) of is provided. As can be observed in the figure, it can be seen that the midsole reconstructed using the method according to the present invention has much less noise and shows the midsole in detail when compared to the conventional method.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다.The present invention described above is not limited by the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible within the scope of the present invention without departing from the technical spirit of the present invention. It will be obvious to those who have the knowledge of.

1: 머신비전 시스템 10: 카메라
20: 광 프로젝터 30: 카메라/프로젝터 제어기
40: 분석 제어기 50: 트리거 생성부
70: 물체 FOV: 관측시야
C: 컨베이어
1: Machine Vision System 10: Camera
20: Optical projector 30: Camera / projector controller
40: analysis controller 50: trigger generation unit
70: Object FOV: Field of View
C: Conveyor

Claims (9)

관측시야에서 이동하는 물체를 검사하기 위하여 두 대의 디지털 카메라 및 하나의 광 프로젝터를 포함하는 머신 비전 시스템을 이용한 3차원 데이터 생성방법으로서,
복수의 디지털 패턴을 상기 관측시야로 순차적으로 투영하는 단계;
상기 디지털 카메라로 복수의 이미지를 캡쳐하는 단계로서, 상기 복수의 이미지 중 각 이미지는 순차적으로 투영된 패턴 중 어느 하나와 연관되는 것;
상기 복수의 이미지 중 각 이미지에 모션 파라미터를 보상하는 단계;
캡쳐된 이미지로부터 합성된 제1 및 제2 패턴 이미지를 생성하는 단계;
제7 및 제8 패턴으로부터 경계를 탐지하는 단계;
제1 내지 제7 패턴 이미지에 의해 경계를 디코딩하는 단계;
합성 패턴 및 캡쳐된 패턴의 코드를 매칭하는 단계; 및
상기 두 개의 디지털 카메라의 대응 쌍에 기초하여 3차원 데이터를 생성하는 단계;
를 포함하는 것인 3차원 데이터 생성 방법.
A method for generating three-dimensional data using a machine vision system including two digital cameras and one optical projector to inspect objects moving in the field of view,
Sequentially projecting a plurality of digital patterns into the viewing field;
Capturing a plurality of images with the digital camera, wherein each of the plurality of images is associated with any one of the sequentially projected patterns;
Compensating for a motion parameter to each image among the plurality of images;
Generating synthesized first and second pattern images from the captured image;
Detecting boundaries from the seventh and eighth patterns;
Decoding a boundary by the first to seventh pattern images;
Matching the codes of the composite pattern and the captured pattern; And
Generating three-dimensional data based on corresponding pairs of the two digital cameras;
3D data generation method comprising a.
청구항 1에 있어서, 상기 복수의 디지털 패턴은 제3 비트 내지 제9 비트 및 제9 비트의 역수로부터 획득되는 이진코드 패턴인 것인 3차원 데이터 생성 방법. The method according to claim 1, wherein the plurality of digital patterns is a binary code pattern obtained from an inverse number of the third to ninth bits and the ninth bit. 청구항 1에 있어서, 상기 복수의 이미지는 복수의 2차원 이미지이고, 상기 복수의 2차원 이미지 중 각 이미지는 순차적으로 투영된 패턴 중 어느 하나와 연관되는 것인 3차원 데이터 생성 방법. The method of claim 1, wherein the plurality of images are a plurality of two-dimensional images, and each of the plurality of two-dimensional images is associated with one of sequentially projected patterns. 청구항 1에 있어서, 상기 복수의 이미지는 복수의 2차원 이미지이고, 상기 복수의 2차원 이미지 각각에 모션 파라미터를 보상하고, 각 픽셀은 기준 이미지에 대해 x- 또는 y-축으로 이동되는 것인 3차원 데이터 생성 방법.The method according to claim 1, wherein the plurality of images is a plurality of two-dimensional images, each of the plurality of two-dimensional images to compensate for the motion parameter, each pixel is moved in the x- or y-axis relative to the reference image 3 How to generate dimensional data. 청구항 4에 있어서, 상기 기준 이미지는 캡쳐된 이미지 중 어느 하나로 설정가능한 것인 3차원 데이터 생성 방법. The method of claim 4, wherein the reference image can be set to any one of captured images. 청구항 1에 있어서, 합성된 제1 및 제2 패턴 이미지는 제3 비트의 이진코드의 줄무늬 신호에 기초하여 획득되는 것인 3차원 데이터 생성 방법. The method of claim 1, wherein the synthesized first and second pattern images are obtained based on a stripe signal of a third bit binary code. 청구항 1에 있어서, 상기 경계는 제7 및 제8 패턴 이미지를 교차함으로써 탐지되는 것인 3차원 데이터 생성 방법. The method according to claim 1, wherein the boundary is detected by intersecting the seventh and eighth pattern images. 청구항 1에 있어서, 상기 제1 내지 7 패턴 이미지는 각각 제3 내지 제9 비트의 이진코드에 해당하는 것인 3차원 데이터 생성 방법. The method of claim 1, wherein the first to seventh pattern images correspond to binary codes of 3 to 9 bits, respectively. 청구항 8에 있어서, 상기 디코딩하는 단계는 코드값 0을 갖는 경계를 디코딩하고 순차적으로 코드값 1을 갖는 경계의 디코딩 값을 입력하는 것인 3차원 데이터 생성 방법.

The method of claim 8, wherein the decoding comprises decoding a boundary having a code value of 0 and sequentially inputting a decoding value of a boundary having a code value of 1.

KR1020180128404A 2018-10-25 2018-10-25 Method and apparatus for generating 3-dimensional data of moving object KR102160340B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180128404A KR102160340B1 (en) 2018-10-25 2018-10-25 Method and apparatus for generating 3-dimensional data of moving object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180128404A KR102160340B1 (en) 2018-10-25 2018-10-25 Method and apparatus for generating 3-dimensional data of moving object

Publications (2)

Publication Number Publication Date
KR20200046789A true KR20200046789A (en) 2020-05-07
KR102160340B1 KR102160340B1 (en) 2020-09-25

Family

ID=70734182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180128404A KR102160340B1 (en) 2018-10-25 2018-10-25 Method and apparatus for generating 3-dimensional data of moving object

Country Status (1)

Country Link
KR (1) KR102160340B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102362615B1 (en) * 2020-11-27 2022-02-15 (주)리눅스아이티 Plc system for supporting ai-based vision inspection and control method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230141103A (en) 2022-03-31 2023-10-10 주식회사 비솔 Object creating system based on real image of background data for AI training
KR20230146272A (en) 2022-04-12 2023-10-19 주식회사 비솔 Character creating system based on 3d graphics of background data for AI training

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170102224A1 (en) * 2010-01-20 2017-04-13 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2d camera and method of obtaining 3d representations
KR101757240B1 (en) 2015-09-02 2017-07-13 주식회사 미르기술 Method for generating reference pattern of 3D shape measuring device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170102224A1 (en) * 2010-01-20 2017-04-13 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2d camera and method of obtaining 3d representations
KR101757240B1 (en) 2015-09-02 2017-07-13 주식회사 미르기술 Method for generating reference pattern of 3D shape measuring device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Lam Quang Bu, "Boundary Inheritance Codec for high-accuracy structured light three-dimensional reconstruction with comparative performance evaluation", OSA Publishing, Applied Optics (2013.07.23.)* *
한양대학교 컴퓨터비전 개론 강의자료 (2018.09.20.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102362615B1 (en) * 2020-11-27 2022-02-15 (주)리눅스아이티 Plc system for supporting ai-based vision inspection and control method thereof

Also Published As

Publication number Publication date
KR102160340B1 (en) 2020-09-25

Similar Documents

Publication Publication Date Title
Moreno et al. Simple, accurate, and robust projector-camera calibration
US10319111B2 (en) Image projection device for 3D measurement and calibration method for calibration of camera and projector
EP3018903B1 (en) Method and system for projector calibration
EP3531066B1 (en) Three-dimensional scanning method including a plurality of lasers with different wavelengths, and scanner
US11592732B2 (en) Camera-assisted arbitrary surface characterization and correction
US20180356213A1 (en) Three-dimensional sensor system and three-dimensional data acquisition method
EP2751521B1 (en) Method and system for alignment of a pattern on a spatial coded slide image
US7139424B2 (en) Stereoscopic image characteristics examination system
EP1595224B1 (en) Acquisition of three-dimensional images by an active stereo technique using locally unique patterns
Niola et al. A method for the calibration of a 3-D laser scanner
KR101733228B1 (en) Apparatus for three dimensional scanning with structured light
JP2015017992A (en) Method and device for optically scanning and measuring environment
JP5633058B1 (en) 3D measuring apparatus and 3D measuring method
JP2009524849A (en) System, method, and medium for capturing scene images and depth shapes to generate compensated images
JP2001116526A (en) Three-dimensional shape measuring instrument
KR102160340B1 (en) Method and apparatus for generating 3-dimensional data of moving object
WO2009120073A2 (en) A dynamically calibrated self referenced three dimensional structured light scanner
KR102222290B1 (en) Method for gaining 3D model video sequence
KR20230065978A (en) Systems, methods and media for directly repairing planar surfaces in a scene using structured light
CN115876124A (en) High-light-reflection surface three-dimensional reconstruction method and device based on polarized structured light camera
JP2011075336A (en) Three-dimensional shape measuring instrument and method
Garcia et al. Geometric calibration for a multi-camera-projector system
JP2017198470A (en) Measurement device, measurement method, system, and goods manufacturing method
KR20080079969A (en) Method and system of structural light based depth imaging using signal separation coding and error correction thereof
CN110926371A (en) Three-dimensional surface detection method and device

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