KR101783324B1 - Method for calibrating align for machine vision - Google Patents

Method for calibrating align for machine vision Download PDF

Info

Publication number
KR101783324B1
KR101783324B1 KR1020160054992A KR20160054992A KR101783324B1 KR 101783324 B1 KR101783324 B1 KR 101783324B1 KR 1020160054992 A KR1020160054992 A KR 1020160054992A KR 20160054992 A KR20160054992 A KR 20160054992A KR 101783324 B1 KR101783324 B1 KR 101783324B1
Authority
KR
South Korea
Prior art keywords
image
alignment table
motion
camera
axis
Prior art date
Application number
KR1020160054992A
Other languages
Korean (ko)
Inventor
강보춘
Original Assignee
주식회사 타노스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 타노스 filed Critical 주식회사 타노스
Priority to KR1020160054992A priority Critical patent/KR101783324B1/en
Application granted granted Critical
Publication of KR101783324B1 publication Critical patent/KR101783324B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8803Visual inspection
    • G06K9/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N2021/1765Method using an image detector and processing of image signal
    • G01N2021/177Detector of the video camera type

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

본 발명의 일 태양에 따른 얼라인 교정 방법은 머신 비전을 위한 얼라인 테이블의 일 영역을 촬영하는 카메라를 통해 제1 영상을 획득하는 단계, 상기 제1 영상 내에 포함된 일 형상을 패턴으로 등록하는 단계, 상기 얼라인 테이블을 이동시키는 모션을 통해 상기 얼라인 테이블을 X축 및 Y축 방향으로 이동시킨 후, 상기 카메라를 통해 제2 영상을 획득하는 단계, 상기 제2 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 이동 거리를 기초로 상기 모션의 X축 및 Y축 방향의 이동 축과 상기 카메라의 고정 축 사이의 제1 관계식을 산출하는 단계, 상기 모션을 통해 상기 얼라인 테이블을 회전시킨 후, 상기 카메라를 통해 제3 영상을 획득하는 단계, 및 상기 제3 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 회전각을 기초로 상기 모션의 회전 축과 상기 카메라의 고정 축 사이의 제2 관계식을 산출하는 단계를 포함할 수 있다.According to one aspect of the present invention, there is provided a method for aligning a machine vision system, comprising: acquiring a first image through a camera that photographs a region of an alignment table for machine vision; registering a shape included in the first image as a pattern Moving the alignment table in the X-axis and Y-axis directions through a motion for moving the alignment table, and obtaining a second image through the camera, Calculating a first relational expression between the movement axis in the X and Y axis directions of the motion and the fixed axis of the camera based on the movement distance of the alignment table when detected, Obtaining a third image through the camera after rotating the alignment table, and when the registered pattern is detected from the third image, Is based can include the step of calculating a second relation between the rotation axis of the motion and the fixed axis of the camera.

Description

머신 비전을 위한 얼라인 교정 방법 {Method for calibrating align for machine vision}[0001] The present invention relates to a method for calibrating aligning machine vision for machine vision,

본 발명은 머신 비전(machine vision)에 관한 것이다. 보다 상세하게는, 머신 비전을 위한 얼라인(align)을 수행하기 위한 방법에 관한 것이다.The present invention relates to machine vision. More particularly, it relates to a method for performing an alignment for machine vision.

본디, 머신 비전(machine vision)이라는 용어는 인간의 시각 기능과 대비되는 기계의 인공적 시각 기능이라는 의미로서 사용되었다. 그리고, 산업 분야에서의 머신 비전 시스템은 카메라를 통해 획득된 영상을 기초로 품질 검사 또는 공정 모니터링을 수행하는 영상 처리 시스템을 가리키는 것으로 일반화되었다.Bondi, the term machine vision was used to mean the artificial visual function of a machine in contrast to human visual function. In the industrial field, the machine vision system is generally referred to as an image processing system that performs quality inspection or process monitoring based on images obtained through a camera.

근래 반도체 집적도의 향상으로, 이동통신 단말기, 메모리 등의 전자 부품은 점점 소형화되는 경향이다. 또한, 품질 검사 또는 공정 모니터링과 같이 사람의 육안에 의존하는 단순 반복 작업에 대한 사람의 집중력은 장시간 지속되기 어렵다. 이와 같은 이유로, 머신 비전은 다양한 산업 분야에 빠르게 도입되고 있다.BACKGROUND ART In recent years, with the improvement of semiconductor integration degree, electronic parts such as mobile communication terminals and memories tend to become smaller and smaller. In addition, human concentration on simple repetitive tasks, such as quality inspection or process monitoring, which depend on the human eye, is difficult to maintain for a long time. For this reason, machine vision is rapidly being introduced into various industries.

도 1은 1, 머신machine 비전을 위한  For vision 얼라인(align)이Align 교정된 영상 및 교정되지 않은 영상을 나타낸 예시도이다.  FIG. 8 is an exemplary view showing a corrected image and an uncorrected image. FIG.

상술한 바와 같은 머신 비전을 수행하기에 앞서, 카메라와 목적물이 위치하는 테이블 사이의 얼라인(align)을 위한 교정(calibration) 작업은 필수적이다. 도 1의 (a)를 참조하면, 카메라의 위치, 방향 또는 렌즈의 굴곡 등에 의하여, 카메라를 통해 획득된 영상에 왜곡(distortion)이 존재한다. 따라서, 왜곡이 존재하는 영상을 기초로 그대로 머신 비전을 수행하기 곤란하다. 도 1의 (b)는 왜곡이 존재하는 영상이 교정 작업을 통해 보정된 결과물이다. 여기서, 교정 작업은 단순한 영상 보정만을 의미하는 것이 아닌, 얼라인 테이블(align table)과 카메라 사이의 관계를 정확하게 설정하는 것도 포함된다.Prior to performing the machine vision as described above, a calibration operation for aligning between the camera and the table on which the object is located is essential. Referring to FIG. 1 (a), there is a distortion in an image obtained through a camera due to a camera position, a direction, a lens bending, or the like. Therefore, it is difficult to perform the machine vision on the basis of the image in which the distortion exists. FIG. 1 (b) is a result obtained by correcting an image in which distortion exists through a correction operation. Here, the calibration operation does not simply mean image correction but also includes setting an accurate relationship between the align table and the camera.

얼라인 테이블과 카메라 사이의 관계를 설정하는 작업은 얼라인 테이블 위에 교정용 지그(calibration jig)를 위치시키고, 교정용 지그에 대한 영상을 기초로 보정이 수행된다. 그러나, 사람이 직접 교정용 지그가 얼라인 테이블을 이동시키는 모션(motion)의 축에 일치되도록 정확하게 위치시키는 것은 쉬운 일이 아니다.The task of establishing the relationship between the alignment table and the camera is to position the calibration jig on the alignment table and perform correction based on the image of the calibration jig. However, it is not easy for a person to position the calibration jig accurately so that it coincides with the axis of motion in which the aligned table is moved.

또한, 얼라인의 축과 카메라의 축을 정확하게 일치시키기 어려우며, 얼라인 테이블과 수직이 되도록 카메라를 설치하는 것에도 어려움이 있다. 나아가, 머신 비전의 정확도 향상을 위하여 복수 개의 카메라가 요구되는 경우, 각각의 카메라가 수평이 되도록 복수 개의 카메라를 설치하는 것에는 더욱 큰 어려움이 있다.Further, it is difficult to precisely align the axis of the alignment and the axis of the camera, and it is also difficult to install the camera so as to be perpendicular to the alignment table. Furthermore, when a plurality of cameras are required to improve the accuracy of the machine vision, it is more difficult to install a plurality of cameras so that each camera is horizontal.

한국 공개 특허 공보 제10-2011-0029536호 (2011.03.23. 공개)Korean Patent Laid-Open No. 10-2011-0029536 (Published March 23, 2011)

본 발명이 해결하고자 하는 일 기술적 과제는, 머신 비전을 위한 얼라인을 교정하는 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a method of calibrating an alignment for a machine vision.

또한, 본 발명이 해결하고자 하는 다른 기술적 과제는, 머신 비전을 위한 얼라인을 교정하는 방법을 실행하기 위한 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program for executing a method of calibrating an alignment for machine vision.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical objects of the present invention are not limited to the above-mentioned technical problems, and other technical subjects not mentioned can be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한, 본 발명의 일 태양에 따른 얼라인 교정 방법은 머신 비전을 위한 얼라인 테이블의 일 영역을 촬영하는 카메라를 통해 제1 영상을 획득하는 단계, 상기 제1 영상 내에 포함된 일 형상을 패턴으로 등록하는 단계, 상기 얼라인 테이블을 이동시키는 모션을 통해 상기 얼라인 테이블을 X축 및 Y축 방향으로 이동시킨 후, 상기 카메라를 통해 제2 영상을 획득하는 단계, 상기 제2 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 이동 거리를 기초로 상기 모션의 X축 및 Y축 방향의 이동 축과 상기 카메라의 고정 축 사이의 제1 관계식을 산출하는 단계, 상기 모션을 통해 상기 얼라인 테이블을 회전시킨 후, 상기 카메라를 통해 제3 영상을 획득하는 단계, 및 상기 제3 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 회전각을 기초로 상기 모션의 회전 축과 상기 카메라의 고정 축 사이의 제2 관계식을 산출하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided an alignment correction method comprising the steps of acquiring a first image through a camera that photographs a region of an alignment table for machine vision, A step of moving the alignment table in X and Y axis directions through a motion for moving the alignment table and acquiring a second image through the camera; Calculating a first relational expression between the movement axis in the X and Y axis directions of the motion and the fixed axis of the camera based on the movement distance of the alignment table when the registered pattern is detected from the two images, Obtaining a third image through the camera after rotating the alignment table through the motion, and detecting the registered pattern from the third image And calculating a second relation between the rotation axis of the motion and the fixed axis of the camera based on the rotation angle of the alignment table.

상기 제1 관계식을 산출하는 단계는 상기 모션을 통해 상기 얼라인 테이블을 상기 등록된 패턴의 크기의 정수 배만큼 이동시킨 후, 상기 카메라를 통해 제4 영상을 획득하는 단계, 상기 제4 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 이동 경로에 따른 폐영역(closed area)이 상기 패턴의 크기를 기초로 복수 개의 블록(block)으로 분할되는지 판단하는 단계, 및 상기 폐영역이 복수 개의 블록으로 분할되는 경우, 상기 분할된 블록의 수 및 상기 패턴의 크기를 기초로 상기 제1 관계식을 보정하는 단계를 포함할 수 있다.Wherein the step of calculating the first relational expression includes the steps of moving the alignment table by an integer multiple of the size of the registered pattern through the motion and obtaining a fourth image through the camera, Judging whether a closed area according to the movement path of the alignment table is divided into a plurality of blocks based on the size of the pattern when the registered pattern is detected, The first relation may be corrected based on the number of the divided blocks and the size of the pattern.

상기 복수 개의 블록으로 분할되는지 판단하는 단계는 상기 카메라를 통해 상기 복수 개의 블록 각각에 대한 영상을 획득하는 단계, 및 상기 복수 개의 블록 각각에 대한 영상으로부터 상기 등록된 패턴이 검출되는지 판단하는 단계를 포함할 수 있다.The step of determining whether to divide into the plurality of blocks includes obtaining an image for each of the plurality of blocks through the camera, and determining whether the registered pattern is detected from the image for each of the plurality of blocks can do.

상기 폐영역은 상기 블록이 5×5 형태로 배치된 영역일 수 있다.The closed area may be an area where the blocks are arranged in a 5x5 form.

상기 제2 관계식을 산출하는 단계는 상기 모션을 통해 상기 얼라인 테이블을 복수 회 회전시키며, 복수 개의 제5 영상들을 획득하는 단계, 및 상기 복수 개의 제5 영상들로부터 상기 등록된 패턴이 검출된 경우, 상기 제5 영상들에 포함된 각각의 영상이 촬영된 회전 각을 기초로 상기 제2 관계식을 보정하는 단계를 포함할 수 있다.The calculating of the second relational expression may include rotating the alignment table a plurality of times through the motion and obtaining a plurality of fifth images, and when the registered pattern is detected from the plurality of fifth images And correcting the second relational expression based on the rotation angle at which each image included in the fifth images is photographed.

제5 영상을 획득하는 단계는 상기 제3 영상으로부터 상기 얼라인 테이블이 회전할 수 있는 최대 회전 범위를 산출하는 단계, 및 상기 최대 회전 범위 내에서 상기 얼라인 테이블을 복수 회 회전시키며 상기 제5 영상들을 획득하는 단계를 포함할 수 있다.The step of acquiring the fifth image may include calculating a maximum rotation range in which the alignment table can rotate from the third image, rotating the alignment table a plurality of times within the maximum rotation range, May be obtained.

상기 제5 영상에 포함된 영상의 수는 8 개이며, 상기 얼라인 테이블의 회전 경로에 따른 폐영역은 팔각형 형상을 가질 수 있다.The number of images included in the fifth image is eight, and the closed region along the rotation path of the alignment table may have an octagonal shape.

상기 기술적 과제를 달성하기 위한 본 발명의 다른 태양에 따르면, 컴퓨팅 장치와 결합되어, 머신 비전을 위한 얼라인 테이블의 일 영역을 촬영하는 카메라를 통해 제1 영상을 획득하는 단계, 상기 제1 영상 내에 포함된 일 형상을 패턴으로 등록하는 단계, 상기 얼라인 테이블을 이동시키는 모션을 통해 상기 얼라인 테이블을 X축 및 Y축 방향으로 이동시킨 후, 상기 카메라를 통해 제2 영상을 획득하는 단계, 상기 제2 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 이동 거리를 기초로 상기 모션의 X축 및 Y축 방향의 이동 축과 상기 카메라의 고정 축 사이의 제1 관계식을 산출하는 단계, 상기 모션을 통해 상기 얼라인 테이블을 회전시킨 후, 상기 카메라를 통해 제3 영상을 획득하는 단계, 및 상기 제3 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 회전각을 기초로 상기 모션의 회전 축과 상기 카메라의 고정 축 사이의 제2 관계식을 산출하는 단계를 실행시키기 위하여, 기록 매체에 기록된 컴퓨터 프로그램이 제공될 수 있다.According to another aspect of the present invention, there is provided a computer-readable recording medium having a computer-readable recording medium storing a computer-readable program for causing a computer to execute: A step of registering a work shape including a pattern as a pattern, moving the alignment table in the X-axis and Y-axis directions through a motion for moving the alignment table, and acquiring a second image through the camera; Calculating a first relational expression between the movement axis in the X and Y axis directions of the motion and the fixed axis of the camera based on the movement distance of the alignment table when the registered pattern is detected from the second image , Rotating the alignment table through the motion and obtaining a third image through the camera, and obtaining the registered pattern from the third image A computer program recorded on the recording medium may be provided to perform a step of, if detected, calculating a second relation between the rotation axis of the motion and the fixed axis of the camera based on the rotation angle of the alignment table have.

상기와 같은 본 발명에 따르면, 별도의 교정용 지그가 없이도 머신 비전을 위한 얼라인 교정이 가능하다.According to the present invention as described above, it is possible to perform the alignment correction for machine vision without a separate calibration jig.

또한, 얼라인을 위한 축과 카메라의 축이 일치되지 않은 경우에도 얼라인을 정확하게 교정할 수 있다. 얼라인 테이블과 카메라가 수직이 아닌 경우에도 얼라인을 정확하게 교정할 수 있다. 나아가, 두 개 이상의 카메라가 수평으로 설치되지 않은 경우에도 얼라인을 정확하게 교정할 수 있다.In addition, even if the axis for the alignment and the axis of the camera do not match, the alignment can be accurately corrected. Even if the alignment table and the camera are not perpendicular, the alignment can be corrected accurately. Furthermore, even if two or more cameras are not installed horizontally, the alignment can be accurately corrected.

도 1은 머신 비전을 위한 얼라인이 교정된 영상 및 교정되지 않은 영상을 나타낸 예시도이다.
도 2는 하나의 카메라를 이용한 머신 비전 시스템의 구성도이다.
도 3은 하나의 카메라를 이용한 머신 비전에 대한 얼라인 테이블의 상면도이다.
도 4는 복수 개의 카메라를 이용한 머신 비전 시스템의 구성도이다.
도 5는 복수 개의 카메라를 이용한 머신 비전에 대한 얼라인 테이블의 상면도이다.
도 6은 본 발명의 일 실시예에 따른 얼라인 교정 방법을 설명하기 위한 순서도이다.
도 7은 등록된 패턴의 일 예를 설명하기 위한 예시도이다.
도 8은 모션의 X축 및 Y축 방향의 이동 축과 카메라의 고정 축 사이의 기본 관계식 산출하는 과정을 설명하기 위한 예시도이다.
도 9는 모션의 X축 및 Y축 방향의 이동 축과 카메라의 고정 축 사이의 정밀 관계식을 산출하기 위한 과정을 설명하기 위한 예시도이다.
도 10은 최대 회전 범위를 산출하는 과정을 설명하기 위한 예시도이다.
도 11은 모션의 회전 축과 카메라의 고정 축 사이의 정밀 관계식을 산출하기 위한 과정을 설명하기 위한 예시도이다.
도 12는 본 발명의 일 실시예에 따른 얼라인 교정 방법을 실행하기 위한 컴퓨팅 장치의 구성도이다.
FIG. 1 is an illustration showing an alignment-corrected image and an uncorrected image for machine vision.
2 is a block diagram of a machine vision system using one camera.
3 is a top view of an alignment table for machine vision using one camera.
4 is a block diagram of a machine vision system using a plurality of cameras.
5 is a top view of an alignment table for machine vision using a plurality of cameras.
FIG. 6 is a flow chart for explaining an alignment calibration method according to an embodiment of the present invention.
7 is an exemplary diagram for explaining an example of a registered pattern.
8 is an exemplary diagram for explaining a process of calculating a basic relation between a motion axis in the X and Y axis directions of motion and a fixed axis of the camera.
9 is an exemplary diagram for explaining a process for calculating a precision relation between a motion axis of the motion in the X and Y axis directions and a fixed axis of the camera.
10 is an exemplary diagram for explaining the process of calculating the maximum rotation range.
11 is a diagram for explaining a process for calculating a precision relation between a rotation axis of a motion and a fixed axis of a camera.
12 is a configuration diagram of a computing device for executing the alignment correction method according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is noted that the technical terms used herein are used only to describe specific embodiments and are not intended to limit the invention. It is also to be understood that the technical terms used herein are to be interpreted in a sense generally understood by a person skilled in the art to which the present invention belongs, Should not be construed to mean, or be interpreted in an excessively reduced sense. Further, when a technical term used herein is an erroneous technical term that does not accurately express the spirit of the present invention, it should be understood that technical terms that can be understood by a person skilled in the art are replaced. In addition, the general terms used in the present invention should be interpreted according to a predefined or prior context, and should not be construed as being excessively reduced.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, the singular forms "as used herein include plural referents unless the context clearly dictates otherwise. In the present application, the term "comprising" or "having ", etc. should not be construed as necessarily including the various elements or steps described in the specification, and some of the elements or portions thereof Or may further include additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Furthermore, terms including ordinals such as first, second, etc. used in this specification can be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may be present in between. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or similar elements throughout the several views, and redundant description thereof will be omitted. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. It is to be noted that the accompanying drawings are only for the purpose of facilitating understanding of the present invention, and should not be construed as limiting the scope of the present invention with reference to the accompanying drawings. The spirit of the present invention should be construed as extending to all modifications, equivalents, and alternatives in addition to the appended drawings.

이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.

도 2는 하나의 카메라를 이용한 Fig. 2 is a view 머신machine 비전 시스템의 구성도이다. 및 도 3은 하나의 카메라를 이용한 머신 비전에 대한 얼라인 테이블의 상면도이다. Vision system. And Figure 3 is a top view of an alignment table for machine vision using one camera.

도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 머신 비전 시스템은 하나의 카메라(10)를 통해 획득된 영상(11)을 기초로 머신 비전을 수행할 수 있다. 또한, 머신 비전 시스템은 얼라인 테이블(align table, 20), 모션(motion, 30) 및 컴퓨팅 장치(100)를 포함할 수 있다. 이러한, 머신 비전 시스템의 각 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현될 수 있다.Referring to FIGS. 2 and 3, a machine vision system according to an embodiment of the present invention can perform machine vision based on an image 11 obtained through one camera 10. In addition, the machine vision system may include an align table 20, motion 30, and computing device 100. Each of the components of the machine vision system represents functionally functioning functional elements, and one or more components can be integrated with each other in an actual physical environment.

각 구성 요소에 대하여 구체적으로 설명하면, 카메라(10)는 CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 이미지 센서를 통해, 머신 비전의 목적물로부터 방출된 빛을 수집하여 영상 정보를 생성할 수 있다. 본 발명에 따른 카메라(10)는 산업용 카메라(industrial camera) 중 어느 하나가 될 수 있으나, 이에 한정되지 않고, 영상 정보를 생성할 수 있는 장치라면 어떠한 장치라도 해당될 수 있을 것이다. Specifically, the camera 10 collects light emitted from a target of the machine vision through an image sensor such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor) Can be generated. The camera 10 according to the present invention may be any one of industrial cameras, but the present invention is not limited thereto, and any device capable of generating image information may be applicable.

이와 같은, 카메라(10)의 구성 및 원리는 본 발명이 속한 기술분야의 통상의 기술자에게 주지되어 있는바, 이하 구체적인 설명은 생략하기로 한다.The construction and principle of the camera 10 are well known to those skilled in the art, and a detailed description thereof will be omitted.

얼라인 테이블(20)은 머신 비전을 위한 얼라인을 수행하기 위한 테이블이다. 또한, 얼라인 테이블(20)에는 머신 비전의 목적물이 위치할 수도 있다. 본 발명에 따른 얼라인 테이블(20)은 XYT 테이블 또는 UVW 테이블 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다. 한편, 얼라인 테이블(20)은 스테이지(stage)라고 설명될 수도 있다. The alignment table 20 is a table for performing alignment for machine vision. In addition, the object to be machine vision may be located on the alignment table 20. The alignment table 20 according to the present invention may be any one of an XYT table and a UVW table, but is not limited thereto. On the other hand, the alignment table 20 may be described as a stage.

얼라인 테이블(20)에는 얼라인 교정 작업을 위한 하나 이상의 가이드(21)를 포함할 수 있다. 이와 같은, 가이드(21)는 원형의 형상을 가질 수 있으나, 이에 한정되지 않고, 사각형, 삼각형 등 얼라인에 용이한 다양한 형상을 가질 수 있다. 카메라(10)를 통해 가이드(21)를 포함하는 얼라인 테이블(20)이 촬영된 영역(11)의 일 예는 도 3에 도시된 바와 같다.The alignment table 20 may include one or more guides 21 for aligning operations. The guide 21 may have a circular shape, but is not limited thereto, and may have various shapes such as a rectangle, a triangle, and the like that are easy to align. An example of the area 11 in which the alignment table 20 including the guide 21 is photographed through the camera 10 is as shown in Fig.

모션(30)은 얼라인 교정을 위하여, 얼라인 테이블(20)을 보정하기 위한 장치이다. 모션(30)은 얼라인 테이블(20)을 X축 방향으로 보정하기 위한 모션(31), 얼라인 테이블(20)을 Y축 방향으로 보정하기 위한 모션(33) 및 얼라인 테이블(20)을 T축 방향으로 보정하기 위한 모션(35)을 포함한다. 여기서, X축 방향은 얼라인 테이블의 폭 방향이다. T축 방향은 얼라인 테이블의 길이 방향이다. T축 방향은 얼라인 테이블의 회전 방향이다. The motion 30 is a device for correcting the alignment table 20 for the alignment calibration. The motion 30 includes a motion 31 for correcting the alignment table 20 in the X axis direction, a motion 33 for correcting the alignment table 20 in the Y axis direction, And a motion 35 for correcting in the T axis direction. Here, the X-axis direction is the width direction of the aligned table. The T axis direction is the longitudinal direction of the alignment table. The direction of the T axis is the direction of rotation of the alignment table.

컴퓨팅 장치(100)는 본 발명에 따른 얼라인 교정 방법을 수행하는 컴퓨터 프로그램이 실행되는 장치이다. 이와 같은, 컴퓨팅 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server) 등과 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있을 것이나, 이에 한정되지 않고, 랩탑(laptop), 스마트폰(smart phone), 패블릿(phablet), 태블릿(tablet), 개인용 휴대 단말기(Personal Digital Assistants, PDA), 전자책 단말기(E-Book reader) 등과 같은 휴대용 컴퓨팅 장치 중 어느 하나가 될 수도 있다.The computing device 100 is an apparatus in which a computer program for performing the align calibration method according to the present invention is executed. As such, the computing device 100 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto and may be a laptop, a portable computing device such as a smart phone, a phablet, a tablet, a personal digital assistant (PDA), an e-book reader, or the like.

도 4는 복수 개의 카메라를 이용한 Fig. 4 is a schematic diagram 머신machine 비전 시스템의 구성도이다. 및 도 5는 복수 개의 카메라를 이용한 머신 비전에 대한 얼라인 테이블의 상면도이다. Vision system. And FIG. 5 is a top view of an alignment table for machine vision using a plurality of cameras.

도 4 및 도 5를 참조하면, 본 발명의 다른 실시예에 따른 머신 비전 시스템은 복수 개의 카메라(10a, 10b)를 통해 획득된 복수 개의 영상(11a, 11b)을 기초로 머신 비전을 수행할 수도 있다. 이러한, 머신 비전 시스템은 도 2 및 도 3을 참조하여 설명한 바와 동일하게, 얼라인 테이블(20), 모션(30) 및 컴퓨팅 장치(100)를 포함할 수 있다. 그리고, 각각의 구성 요소에 대한 설명은 도 2 및 도 3을 참조하여 설명한 바와 같다.4 and 5, a machine vision system according to another embodiment of the present invention may perform machine vision based on a plurality of images 11a and 11b obtained through a plurality of cameras 10a and 10b have. Such a machine vision system may include an alignment table 20, a motion 30, and a computing device 100, similar to those described with reference to Figures 2 and 3. The description of each component is the same as that described with reference to Figs. 2 and 3. Fig.

상술한 바와 같은, 하나 또는 복수 개의 카메라를 이용한 머신 비전 시스템의 컴퓨팅 장치(100)는 본 발명에 따른 얼라인 교정 방법을 수행하는 컴퓨터 프로그램이 실행될 수 있다.As described above, the computing device 100 of the machine vision system using one or more cameras may be implemented with a computer program for performing the alignment correction method according to the present invention.

본 발명에 따른 얼라인 교정 방법은 별도의 교정용 지그가 없이도 머신 비전을 위한 얼라인 교정이 가능하다. 얼라인 위한 축과 카메라의 축이 일치되지 않은 경우에도 얼라인을 정확하게 교정할 수 있다. 얼라인 테이블과 카메라가 수직이 아닌 경우에도 얼라인을 정확하게 교정할 수 있다. 또한, 두 개 이상의 카메라가 수평으로 설치되지 않은 경우에도 얼라인을 정확하게 교정할 수 있다. 이와 같은, 효과를 발휘할 수 있는 얼라인 교정 방법에 대하여, 이하 도 6 및 도 11을 참조하여 설명하기로 한다.The alignment calibration method according to the present invention enables the alignment calibration for machine vision without a separate calibration jig. Even if the axis for alignment and the axis of the camera do not match, the alignment can be accurately calibrated. Even if the alignment table and the camera are not perpendicular, the alignment can be corrected accurately. In addition, even if two or more cameras are not installed horizontally, the alignment can be accurately corrected. Such an alignment calibration method capable of achieving such effects will be described below with reference to Figs. 6 and 11. Fig.

도 6은 본 발명의 일 FIG. 6 is a cross- 실시예에In the embodiment 따른  Following 얼라인Allein 교정 방법을 설명하기 위한  To explain the calibration method 순서도이다It is a flowchart. ..

도 6을 참조하면, 컴퓨팅 장치(100)는 카메라(10)를 통해 얼라인 테이블(20)의 일 영역이 촬영된 영상을 획득한다. 그리고, 컴퓨팅 장치(100)는 획득된 영상에 포함된 일 형상을 패턴으로 등록한다(S100). 여기서, 패턴은 하나 이상의 가이드(21)의 공간적 배열을 의미한다. 패턴은 둘 이상의 가이드(21)로 구성될 수 있으나, 이에 한정되지 않고, 하나의 가이드(21)만으로 구성될 수도 있다. 본 발명의 일 실시예에 따라 등록된 패턴의 일 예는, 추후 도 7을 참조하여 설명하기로 한다.Referring to FIG. 6, the computing device 100 acquires an image of one region of the alignment table 20 through the camera 10. Then, the computing device 100 registers a shape included in the acquired image as a pattern (S100). Here, the pattern means a spatial arrangement of one or more guides 21. The pattern may be composed of two or more guides 21, but is not limited thereto and may be composed of only one guide 21. An example of a registered pattern according to an embodiment of the present invention will be described later with reference to FIG.

컴퓨팅 장치(100)는 모션(30)을 통해 얼라인 테이블(20)을 X축 및 Y축 방향으로 이동시킨다(S200). 그리고, 컴퓨팅 장치(100)는 얼라인 테이블(20)의 이동 거리를 기초로, 모션(30)의 X축 및 Y축 방향의 이동 축과 카메라(10)의 고정 축 사이의 기본 관계식을 산출한다(S300). The computing device 100 moves the alignment table 20 in the X-axis and Y-axis directions through the motion 30 (S200). The computing device 100 then calculates a basic relation between the movement axis of the motion 30 in the X and Y axis directions and the fixed axis of the camera 10 based on the movement distance of the alignment table 20 (S300).

보다 구체적으로, 패턴이 등록된 후, 컴퓨팅 장치(100)는 모션(30)을 통해, 제1 위치로 얼라인 테이블(20)을 이동시킨다. 여기서, 제1 위치는 등록된 패턴이 카메라(10)를 통해 촬영된 영상의 정중앙에 위치할 수 있는 위치이다. 컴퓨팅 장치(100)는 모션(30)을 통해, 제2 위치로 얼라인 테이블(20)을 이동시킨다. 여기서, 제2 위치는 카메라(10)가 얼라인 테이블(20)의 일 모서리를 촬영할 수 있는 위치이다. 컴퓨팅 장치(100)는 제2 위치로 이동된 얼라인 테이블(20)에 대한 영상으로부터 등록된 패턴이 검출되는지 판단한다. 등록된 패턴이 검출된 경우, 컴퓨팅 장치(100)는 제1 위치와 제2 위치 사이의 거리를 기초로, 모션(30)의 X축 및 Y축 방향의 이동 축과 카메라(10)의 고정 축 사이의 기본 관계식을 산출한다. 본 발명의 일 실시예에 따른 이동 축과의 기본 관계식을 산출하는 과정의 일 예는, 추후 도 8을 참조하여 다시 설명하기로 한다.More specifically, after the pattern is registered, the computing device 100 moves the aligned table 20 through the motion 30 to the first position. Here, the first position is a position at which the registered pattern can be located in the center of the image photographed through the camera 10. [ The computing device 100 moves the alignment table 20 through the motion 30 to the second position. Here, the second position is a position at which the camera 10 can photograph one corner of the aligned table 20. The computing device 100 determines whether a registered pattern is detected from the image of the aligned table 20 moved to the second position. When the registered pattern is detected, the computing device 100 determines, based on the distance between the first position and the second position, the movement axis in the X-axis and Y-axis directions of the motion 30, Lt; / RTI > An example of a process of calculating a basic relation with a moving axis according to an embodiment of the present invention will be described with reference to FIG.

컴퓨팅 장치(100)는 모션(30)을 통해 얼라인 테이블(20)을 패턴의 크기의 정수 배만큼 이동시킨다(S400). 그리고, 컴퓨팅 장치(100)는 패턴의 크기를 기초로 모션(30)의 이동 축과 카메라(10)의 고정 축 사이의 기본 관계식을 보정하여 정밀 관계식을 산출한다(S500).The computing device 100 moves the alignment table 20 by an integer multiple of the size of the pattern through the motion 30 (S400). Then, the computing device 100 calculates the precision relation by correcting the basic relation between the movement axis of the motion 30 and the fixed axis of the camera 10 based on the pattern size (S500).

보다 구체적으로, 컴퓨팅 장치(100)는 모션(30)을 통해, 얼라인 테이블(20)을 패턴의 크기의 정수 배만큼 이동시킨다. 예를 들어, 컴퓨팅 장치(100)는 패턴의 크기의 2배, 3배, 4배 또는 5배만큼의 거리를 이동시킬 수 있다. 컴퓨팅 장치(100)는 이동된 위치의 영상으로부터 등록된 패턴을 검출한다. 컴퓨팅 장치(100)는 모션(30)을 통해, 얼라인 테이블(20)을 상기 패턴의 크기의 정수 배만큼 다시 이동시킨다. 컴퓨팅 장치(100)는 다시 이동된 위치의 영상으로부터 등록된 패턴을 검출한다. 컴퓨팅 장치(100)는 얼라인 테이블(20)의 이동 경로에 따른 폐영역(closed area)이 패턴의 크기를 기초로 복수 개의 블록(block)으로 분할되는지 판단한다. 예를 들어, 폐영역은 얼라인 테이블(20)의 이동 거리에 따라, 패턴의 크기를 기초로 블록이 2×2, 3×3, 4×4, 5×5 또는 n×n 형태로 배치된 영역이 될 수 있으나, 이에 한정되지 않고, n×m 형태로 배치된 영역이 될 수 있다. 또한, 컴퓨팅 장치(100)는 카메라(10)를 통해 분할된 복수 개의 블록 각각에 대한 영상을 획득하고, 획득된 복수 개의 블록 각각에 대한 영상으로부터 패턴이 검출되는 경우에만 유효한 폐영역으로 결정할 수도 있다. 그리고, 컴퓨팅 장치(100)는 폐영역이 복수 개의 블록으로 분할되지 않는 경우, 얼라인 테이블(20)을 상기 패턴의 크기의 정수 배만큼 다시 이동시킬 수 있다.More specifically, computing device 100 moves, via motion 30, the aligned table 20 by an integer multiple of the size of the pattern. For example, the computing device 100 may move a distance of two, three, four or five times the size of the pattern. The computing device 100 detects the registered pattern from the image of the moved position. The computing device 100 moves the aligned table 20 again over the motion 30 by an integer multiple of the size of the pattern. The computing device 100 detects the registered pattern from the image of the moved position again. The computing device 100 determines whether a closed area according to the movement path of the alignment table 20 is divided into a plurality of blocks based on the size of the pattern. For example, the closed region may be arranged such that blocks are arranged in the form of 2x2, 3x3, 4x4, 5x5, or nxn based on the size of the pattern in accordance with the moving distance of the alignment table 20 However, the present invention is not limited to this, and it may be an area arranged in the form of n x m. In addition, the computing device 100 may acquire an image for each of a plurality of blocks divided through the camera 10, and may determine a valid closed region only when a pattern is detected from an image of each of the obtained plurality of blocks . If the closed area is not divided into a plurality of blocks, the computing device 100 may move the aligned table 20 by an integer multiple of the size of the pattern.

얼라인 테이블(20)의 이동 경로에 따른 폐영역이 복수 개의 블록으로 분할되는 경우, 컴퓨팅 장치(100)는 분할된 블록의 수 및 패턴의 크기를 기초로, 모션(30)의 X축 및 Y축 방향의 이동 축과 카메라(10)의 고정 축 사이의 기본 관계식을 보정하여 정밀 관계식을 산출한다. 본 발명의 일 실시예에 따른 이동 축과의 정밀 관계식을 산출하는 과정의 일 예는, 추후 도 9를 참조하여 다시 설명하기로 한다.When the closed area along the movement path of the alignment table 20 is divided into a plurality of blocks, the computing device 100 calculates X and Y of the motion 30 based on the number of divided blocks and the size of the pattern, The basic relation between the axis of movement in the axial direction and the fixed axis of the camera 10 is corrected to calculate the precision relation. An example of a process of calculating a precision relation with a moving axis according to an embodiment of the present invention will be described later with reference to FIG.

컴퓨팅 장치(100)는 모션(30)을 통해 얼라인 테이블(20)을 회전 시킨다(S600). 컴퓨팅 장치(100)는 회전된 얼라인 테이블(20)에 대한 영상으로부터 패턴이 검출되는지 판단한다. 회전된 얼라인 테이블(20)에 대한 영상으로부터 패턴이 검출되는 경우, 컴퓨팅 장치(100)는 얼라인 테이블(20)이 회전된 각도 및 검출된 패턴의 형상을 기초로, 얼라인 테이블(20)의 최대 회전 범위를 산출한다(S700). 본 발명의 일 실시예에 따른 최대 회전 범위를 산출하는 과정의 일 예는, 추후 도 10을 참조하여 다시 설명하기로 한다.The computing device 100 rotates the alignment table 20 through the motion 30 (S600). The computing device 100 determines whether a pattern is detected from the image for the rotated alignment table 20. [ When a pattern is detected from an image for the rotated alignment table 20, the computing device 100 determines the alignment table 20 based on the angle of rotation of the alignment table 20 and the shape of the detected pattern. Is calculated (S700). An example of a process of calculating the maximum rotation range according to an embodiment of the present invention will be described below with reference to FIG.

컴퓨팅 장치(100)는 산출된 최대 회전 범위 내에서, 모션(30)을 통해 얼라인 테이블(20)을 복수 회 회전시킨다(S800). 그리고, 컴퓨팅 장치(100)는 얼라인 테이블(20)의 회전각을 기초로, 모션(30)의 회전 축과 카메라(10)의 고정 축 사이의 정밀 관계식을 산출한다(S900).The computing device 100 rotates the alignment table 20 a plurality of times through the motion 30 within the calculated maximum rotation range (S800). Then, the computing device 100 calculates a precision relation between the rotation axis of the motion 30 and the fixed axis of the camera 10 based on the rotation angle of the alignment table 20 (S900).

보다 구체적으로, 컴퓨팅 장치(100)는 모션(30)을 통해 얼라인 테이블(20)을 복수 회 회전시킨다. 여기서, 얼라인 테이블(20)의 회전 횟수는 회전 축과의 정밀 관계식의 정밀도와 관련되어 있다. 즉, 얼라인 테이블(20)의 회전 횟수가 클수록, 회전 축과의 정밀 관계식의 정밀도는 향상될 수 있다. 그러나, 얼라인 테이블(20)의 회전 횟수가 클수록, 얼라인 교정에 소요되는 시간은 증가하게 된다. 따라서, 본 발명의 일 실시예에 따른 얼라인 교정 방법은 회전 축과의 정밀 관계식의 정밀도의 소요 시간 사이의 관계에서 8회의 회전을 제안한다. 이 경우, 얼라인 테이블(20)의 회전 경로에 따른 폐영역은 모션(30)의 회전 축을 중심으로 동일한 거리에 위치한 꼭지점을 가지는 팔각형 형상을 가질 수 있다.More specifically, the computing device 100 rotates the alignment table 20 a plurality of times through the motion 30. Here, the number of rotations of the alignment table 20 is related to the accuracy of the precision relation with the rotation axis. That is, the greater the number of rotations of the alignment table 20, the more accurate the precision relation with the rotation axis can be. However, the larger the number of rotations of the alignment table 20, the longer the time required for the alignment calibration. Therefore, the alignment calibration method according to an embodiment of the present invention proposes eight rotations in a relation between the precision time of the precision relation with the rotation axis and the required time. In this case, the closed area along the rotation path of the alignment table 20 may have an octagonal shape having vertexes located at the same distance about the rotation axis of the motion 30.

컴퓨팅 장치(100)는 얼라인 테이블(20)이 회전될 때마다, 회전된 얼라인 테이블(20)에 대한 영상들로부터 등록된 패턴을 검출되는지 판단한다. 회전된 얼라인 테이블(20)에 대한 각각의 영상으로부터 등록된 패턴이 검출되는 경우, 컴퓨팅 장치(100)는 회전된 얼라인 테이블(20)에 대한 각각의 영상이 촬영된 회전 각을 기초로, 모션(30)의 회전 축과 카메라(10)의 고정 축 사이의 정밀 관계식을 산출한다.The computing device 100 determines whether a registered pattern is detected from images of the rotated alignment table 20 every time the alignment table 20 is rotated. When a registered pattern is detected from each image for the rotated alignment table 20, the computing device 100 determines whether each image for the rotated alignment table 20 is based on the captured rotation angle, And a precision relation between the rotation axis of the motion 30 and the fixed axis of the camera 10 is calculated.

이하, 도 7 내지 도 11을 참고하여, 본 발명의 일 실시예에 따른 얼라인 교정 방법의 수행 과정을 설명한다.Hereinafter, with reference to FIG. 7 to FIG. 11, a description will be made of a process of performing the alignment calibration method according to an embodiment of the present invention.

도 7은 등록된 패턴의 일 예를 설명하기 위한 예시도이다.7 is an exemplary diagram for explaining an example of a registered pattern.

도 7을 참조하면, 컴퓨팅 장치(100)는 카메라(10)를 통해 촬영된 얼라인 테이블(20)의 일 영역에 대한 영상(11)을 획득한다. 컴퓨팅 장치(100)는 획득된 영상(11) 내에 포함된 가이드(21)를 검출한다. 그리고, 컴퓨팅 장치(100)는 검출된 가이드(21)의 공간적 배열이 기 설정된 검출 패턴 리스트에 포함된 경우, 검출된 가이드(21)의 공간적 배열을 패턴(23)으로 등록할 수 있다.Referring to Fig. 7, the computing device 100 acquires an image 11 for one area of the aligned table 20 photographed through the camera 10. [ The computing device 100 detects the guide 21 contained in the acquired image 11. The computing device 100 may register the spatial arrangement of the detected guide 21 as a pattern 23 when the spatial arrangement of the detected guide 21 is included in the preset detection pattern list.

도 8은 Figure 8 모션의Motion X축 및 Y축 방향의 이동 축과 카메라의 고정 축 사이의 기본 관계식 산출하는 과정을 설명하기 위한 예시도이다. Axis direction and the fixed axis of the camera in the X-axis and Y-axis directions.

도 8을 참조하면, 컴퓨팅 장치(100)는 모션(30)을 통해, 제1 위치로 얼라인 테이블(20)을 이동시킨다. 컴퓨팅 장치(100)는 카메라(10)를 통해 촬영된 제1 위치의 제1 영상(11)으로부터 등록된 패턴(23)을 검출한다. 컴퓨팅 장치(10)는 모션(20)을 통해, 제2 위치로 얼라인 테이블(20)을 이동시킨다. 컴퓨팅 장치(10)는 카메라(10)를 통해 촬영된 제2 위치의 제2 영상(13)으로부터 등록된 패턴(23)을 검출한다. 그리고, 컴퓨팅 장치(100)는 제1 위치와 제2 위치 사이의 거리를 기초로, 모션(30)의 X축 및 Y축 방향의 이동 축과 카메라(10)의 고정 축 사이의 기본 관계식을 산출할 수 있다.Referring to FIG. 8, the computing device 100 moves the aligned table 20 to the first position via the motion 30. The computing device 100 detects the registered pattern 23 from the first image 11 of the first position photographed through the camera 10. [ The computing device 10 moves the alignment table 20 to the second position via the motion 20. The computing device 10 detects the registered pattern 23 from the second image 13 at the second position photographed through the camera 10. [ Then, the computing device 100 calculates a basic relation between the movement axis in the X-axis and Y-axis directions of the motion 30 and the fixed axis of the camera 10 based on the distance between the first position and the second position can do.

도 9는 9 is a cross- 모션의Motion X축 및 Y축 방향의 이동 축과 카메라의 고정 축 사이의 정밀 관계식을 산출하기 위한 과정을 설명하기 위한 예시도이다. Axis direction and a fixed axis of the camera in the X-axis direction and the Y-axis direction.

도 9를 참조하면, 컴퓨팅 장치(100)는 모션(30)을 통해, 얼라인 테이블(20)을 패턴의 크기의 정수 배만큼 이동시킨다. 컴퓨팅 장치(100)는 모션(30)을 통해, 얼라인 테이블(20)을 패턴의 크기의 정수 배만큼 다시 이동시킨다. 컴퓨팅 장치(100)는 얼라인 테이블(20)의 이동 경로에 따른 폐영역(40)이 패턴의 크기를 기초로 복수 개의 블록(41)으로 분할되는지 판단한다. 컴퓨팅 장치(100)는 폐영역(40)이 복수 개의 블록(41)으로 분할되지 않는 경우, 얼라인 테이블(20)을 패턴의 크기의 정수 배만큼 다시 이동시킬 수 있다. 도 9은 폐영역(40)은 블록이 2×3 형태로 배치된 영역을 도시하고 있다.Referring to FIG. 9, the computing device 100 moves the aligned table 20 through the motion 30 by an integer multiple of the size of the pattern. The computing device 100 moves the aligned table 20 back through the motion 30 by an integer multiple of the size of the pattern. The computing device 100 determines whether the closed area 40 along the path of travel of the alignment table 20 is divided into a plurality of blocks 41 based on the size of the pattern. The computing device 100 may move the aligned table 20 again by an integer multiple of the size of the pattern if the closed area 40 is not divided into a plurality of blocks 41. [ 9 shows a closed area 40 where the blocks are arranged in a 2x3 form.

컴퓨팅 장치(100)는 폐영역(40)이 복수 개의 블록(41)으로 분할되는 경우, 블록(41)의 수 및 패턴의 크기를 기초로, 모션(30)의 X축 및 Y축 방향의 이동 축과 카메라(10)의 고정 축 사이의 기본 관계식을 보정하여 정밀 관계식을 산출할 수 있다.The computing device 100 may move the motion 30 in the X and Y axis directions based on the number of blocks 41 and the size of the pattern when the closed area 40 is divided into a plurality of blocks 41. [ It is possible to calculate the precision relation by correcting the basic relational expression between the axis and the fixed axis of the camera 10. [

도 10은 최대 회전 범위를 산출하는 과정을 설명하기 위한 예시도이다.10 is an exemplary diagram for explaining the process of calculating the maximum rotation range.

도 10을 참조하면, 컴퓨팅 장치(100)는 모션(30)을 통해 얼라인 테이블(20)을 회전시킨다. 컴퓨팅 장치(100)는 회전된 얼라인 테이블(20)에 대한 영상(11)으로부터 등록된 패턴(23)이 검출되는지 판단한다. 그리고, 회전된 얼라인 테이블(20)에 대한 영상(11)으로부터 등록된 패턴(23)이 검출되는 경우, 컴퓨팅 장치(100)는 얼라인 테이블(20)이 회전된 각도 및 검출된 패턴(23)의 형상을 기초로, 얼라인 테이블(20)의 최대 회전 범위를 산출할 수 있다.Referring to FIG. 10, the computing device 100 rotates the alignment table 20 via the motion 30. The computing device 100 determines whether a registered pattern 23 is detected from the image 11 for the rotated alignment table 20. [ When the registered pattern 23 is detected from the image 11 for the rotated alignment table 20, the computing device 100 calculates the angle of rotation of the aligned table 20 and the detected pattern 23 , The maximum rotation range of the alignment table 20 can be calculated.

도 11은 11 모션의Motion 회전 축과 카메라의 고정 축 사이의 정밀 관계식을 산출하기 위한 과정을 설명하기 위한 예시도이다. FIG. 4 is a diagram illustrating a process for calculating a precision relation between a rotation axis and a fixed axis of a camera; FIG.

도 11을 참조하면, 컴퓨팅 장치(100)는 모션(30)을 통해 얼라인 테이블(20)을 복수 회 회전시킨다. 컴퓨팅 장치(100)는 얼라인 테이블(20)이 회전될 때마다, 회전된 얼라인 테이블(10)에 대한 영상(11)들로부터 등록된 패턴(23)이 검출되는지 판단한다. 회전된 얼라인 테이블(10)에 대한 각각의 영상(11)으로부터 등록된 패턴(23)이 검출되는 경우, 컴퓨팅 장치(100)는 회전된 얼라인 테이블(20)에 대한 각각의 영상(11)이 촬영된 회전 각을 기초로, 모션(30)의 회전 축과 카메라(10)의 고정 축 사이의 정밀 관계식을 산출할 수 있다.Referring to FIG. 11, the computing device 100 rotates the alignment table 20 a plurality of times through the motion 30. The computing device 100 determines whether the registered pattern 23 is detected from the images 11 for the rotated alignment table 10 every time the alignment table 20 is rotated. When the registered pattern 23 is detected from each image 11 for the rotated alignment table 10, the computing device 100 determines the respective image 11 for the rotated alignment table 20, Based on the photographed rotation angle, a precision relation between the rotation axis of the motion 30 and the fixed axis of the camera 10 can be calculated.

도 12는 본 발명의 일 Figure 12 is a graph 실시예에In the embodiment 따른  Following 얼라인Allein 교정 방법을 실행하기 위한 컴퓨팅 장치의 구성도이다. Fig. 2 is a configuration diagram of a computing device for executing a calibration method.

도 12를 참조하면, 컴퓨팅 장치(100)는 프로세서(processor, 110), 메모리(memory, 120), 송수신기(transceiver, 130), 입출력장치(input/output device, 140) 및 데이터 버스(bus, 150) 및 스토리지(storage, 160)를 포함할 수 있다. 12, a computing device 100 includes a processor 110, a memory 120, a transceiver 130, an input / output device 140, and a data bus 150 And storage 160. In this embodiment,

프로세서(110)는 메모리(120)에 상주된 머신 비전 소프트웨어(170a)에 따른 명령어를 기초로, 얼라인 교정 방법과 관련된 동작 및 기능을 구현할 수 있다. 메모리(120)는 머신 비전 소프트웨어(170a)가 상주(loading)될 수 있다. 송수신기(130)는 카메라(10) 및 모션(30)과 데이터를 송수신할 수 있다. 입출력장치(140)는 얼라인 교정 방법의 수행에 필요한 데이터를 입력 받고, 머신 비전 수행 결과를 출력할 수 있다. 데이터 버스(150)는 프로세서(110), 메모리(120), 송수신기(130), 입출력장치(140) 및 스토리지(160)와 연결되어, 각 구성요소간의 데이터를 전달하는 이동 통로이다.The processor 110 may implement the operations and functions associated with the alignment calibration method based on instructions in accordance with the machine vision software 170a residing in the memory 120. [ Memory 120 may be loaded with machine vision software 170a. The transceiver 130 is capable of transmitting and receiving data to and from the camera 10 and the motion 30. The input / output device 140 receives data necessary for performing the alignment calibration method, and can output the machine vision performance result. The data bus 150 is connected to the processor 110, the memory 120, the transceiver 130, the input / output device 140, and the storage 160 to transfer data between the respective components.

스토리지(160)는 머신 비전 소프트웨어(170a) 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 또한, 스토리지는 머신 비전 소프트웨어(170b)를 저장할 수 있다. The storage 160 may store an application programming interface (API), a library file, a resource file, and the like necessary for executing the machine vision software 170a. In addition, the storage may store machine vision software 170b.

그리고, 머신 비전 소프트웨어(170a, 107b)는 머신 비전을 위한 얼라인 테이블(20)의 일 영역을 촬영하는 카메라(10)를 통해 제1 영상을 획득하는 단계, 제1 영상 내에 포함된 일 형상을 패턴으로 등록하는 단계, 얼라인 테이블(20)을 이동시키는 모션(30)을 통해 얼라인 테이블(20)을 X축 및 Y축 방향으로 이동시킨 후, 카메라(10)를 통해 제2 영상을 획득하는 단계, 제2 영상으로부터 등록된 패턴이 검출된 경우, 얼라인 테이블(20)의 이동 거리를 기초로 모션(30)의 X축 및 Y축 방향의 이동 축과 카메라(10)의 고정 축 사이의 제1 관계식을 산출하는 단계, 모션(30)을 통해 상기 얼라인 테이블을 회전시킨 후, 카메라(10)를 통해 제3 영상을 획득하는 단계, 및 제3 영상으로부터 등록된 패턴이 검출된 경우, 얼라인 테이블(20)의 회전각을 기초로 상기 모션(30)의 회전 축과 상기 카메라(10)의 고정 축 사이의 제2 관계식을 산출하는 단계를 실행시키기 위하여, 기록 매체에 기록된 컴퓨터 프로그램이다.Then, the machine vision software 170a, 107b acquires a first image through a camera 10 that photographs a region of the alignment table 20 for machine vision, And the alignment table 20 is moved in the X-axis and Y-axis directions through the motion 30 for moving the alignment table 20, and then the second image is acquired through the camera 10 Axis direction of the motion 30 and the fixed axis of the camera 10 on the basis of the movement distance of the alignment table 20 when a registered pattern is detected from the second image, Obtaining a first image through the camera 10 after rotating the alignment table through the motion 30, and calculating a first correlation of the first image using the camera 10 when the registered pattern is detected from the third image , The rotation axis of the motion (30) and the rotation axis of the alignment table (20) In order to execute the step of calculating a second relation between the fixed axis of the camera 10, a computer program recorded on a recording medium.

여기서, 제1 관계식을 산출하는 단계는 모션(30)을 통해 얼라인 테이블(20)을 등록된 패턴의 크기의 정수 배만큼 이동시킨 후, 카메라(10)를 통해 제4 영상을 획득하는 단계, 제4 영상으로부터 등록된 패턴이 검출된 경우, 얼라인 테이블(20)의 이동 경로에 따른 폐영역(closed area)이 패턴의 크기를 기초로 복수 개의 블록(block)으로 분할되는지 판단하는 단계, 및 폐영역이 복수 개의 블록으로 분할되는 경우, 분할된 블록의 수 및 상기 패턴의 크기를 기초로 제1 관계식을 보정하는 단계를 포함할 수 있다.Here, the step of calculating the first relational expression may include acquiring the fourth image through the camera 10 after moving the alignment table 20 by an integer multiple of the size of the registered pattern through the motion 30, Judging whether a closed area according to the movement path of the alignment table 20 is divided into a plurality of blocks based on the size of the pattern when a registered pattern is detected from the fourth image, And if the closed area is divided into a plurality of blocks, correcting the first relation based on the number of divided blocks and the size of the pattern.

또한, 제2 관계식을 산출하는 단계는 모션을 통해 상기 얼라인 테이블을 복수 회 회전시키며, 복수 개의 제5 영상들을 획득하는 단계, 및 복수 개의 제5 영상들로부터 등록된 패턴이 검출된 경우, 제5 영상들에 포함된 각각의 영상이 촬영된 회전 각을 기초로 제2 관계식을 보정하는 단계를 포함할 수 있다. The calculating of the second relational expression may include rotating the alignment table a plurality of times through motion, obtaining a plurality of fifth images, and, when a registered pattern is detected from the plurality of fifth images, And correcting the second relational expression based on the rotation angle of each image included in the five images.

프로세서(110)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(120)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(130)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(140)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력장치 및 액정표시장치(Liquid Crystal Display, LCD), 발광 다이오드(Light Emitting Diode, LED), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. 본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(120)에 저장되고, 프로세서(110)에 의해 실행될 수 있다. 메모리(120)는 프로세서(110)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(110)와 연결될 수 있다.The processor 110 may include an application-specific integrated circuit (ASIC), other chipset, logic circuitry, and / or a data processing device. The memory 120 may include a read-only memory (ROM), a random access memory (RAM), a flash memory, a memory card, a storage medium, and / or other storage devices. The transceiver 130 may include a baseband circuit for processing wired and wireless signals. The input / output device 140 may be an input device such as a keyboard, a mouse, and / or a joystick, a liquid crystal display (LCD), a light emitting diode (LED) An image output device such as an organic light emitting diode (OLED) and / or an active matrix organic light emitting diode (AMOLED), a printer, a plotter, and the like. When the embodiments included in the present specification are implemented in software, the above-described method may be implemented by a module (a process, a function, and the like) that performs the functions described above. The modules may be stored in the memory 120 and executed by the processor 110. The memory 120 may be internal or external to the processor 110 and may be coupled to the processor 110 in a variety of well known ways.

도 12에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component shown in FIG. 12 may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of hardware implementation, an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs) field programmable gate arrays, processors, controllers, microcontrollers, microprocessors, and the like.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of an implementation by firmware or software, an embodiment of the present invention may be embodied in the form of a module, a procedure, a function, and the like for performing the functions or operations described above, Lt; / RTI > Here, the recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. For example, the recording medium may be an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), a digital video disk (DVD) Optical media such as a floppy disk and a hardware device specifically configured to store and execute program instructions such as ROM, RAM, flash memory and the like. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be apparent to those skilled in the art. Furthermore, although specific terms are used in this specification and the drawings, they are used in a generic sense only to facilitate the description of the invention and to facilitate understanding of the invention, and are not intended to limit the scope of the invention. Accordingly, the foregoing detailed description is to be considered in all respects illustrative and not restrictive. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.

아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.In addition, a device or terminal according to the present invention may be driven by instructions that cause one or more processors to perform the functions and processes described above. Such instructions may include, for example, interpreted instructions such as script commands, such as JavaScript or ECMAScript commands, or other instructions stored in executable code or computer readable media. Further, the apparatus according to the present invention may be implemented in a distributed manner across a network, such as a server farm, or may be implemented in a single computer device.

또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.Further, a computer program (also known as a program, software, software application, script or code) that is loaded on the apparatus according to the present invention and which implements the method according to the present invention includes a compiled or interpreted language, a priori or procedural language , And may be deployed in any form including standalone programs or modules, components, subroutines, or other units suitable for use in a computer environment. A computer program does not necessarily correspond to a file in the file system. The program may be stored in a single file provided to the requested program, or in multiple interactive files (e.g., a file storing one or more modules, subprograms, or portions of code) (E.g., one or more scripts stored in a markup language document). A computer program may be deployed to run on multiple computers or on one computer, located on a single site or distributed across multiple sites and interconnected by a communications network.

아울러, 본 발명에 따른 실시예를 설명하는데 있어서, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Moreover, in describing the embodiments according to the present invention, operations are depicted in the drawings in a particular order, but it is to be understood that they should perform such operations in that particular order or sequential order shown in order to obtain the desired result, Should not be understood as being performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products It should be understood.

Claims (10)

머신 비전을 위한 얼라인 테이블의 일 영역을 촬영하는 카메라를 통해 제1 영상을 획득하는 단계;
상기 제1 영상 내에 포함된 일 형상을 패턴으로 등록하는 단계;
상기 얼라인 테이블을 이동시키는 모션을 통해 상기 얼라인 테이블을 X축 및 Y축 방향으로 이동시킨 후, 상기 카메라를 통해 제2 영상을 획득하는 단계;
상기 제2 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 이동 거리를 기초로 상기 모션의 X축 및 Y축 방향의 이동 축과 상기 카메라의 고정 축 사이의 제1 관계식을 산출하는 단계;
상기 모션을 통해 상기 얼라인 테이블을 회전시킨 후, 상기 카메라를 통해 제3 영상을 획득하는 단계; 및
상기 제3 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 회전각을 기초로 상기 모션의 회전 축과 상기 카메라의 고정 축 사이의 제2 관계식을 산출하는 단계;를 포함하고,
상기 제1 관계식을 산출하는 단계는
상기 모션을 통해 상기 얼라인 테이블을 상기 등록된 패턴의 크기의 정수 배만큼 이동시킨 후, 상기 카메라를 통해 제4 영상을 획득하는 단계;
상기 제4 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 이동 경로에 따른 폐영역(closed area)이 상기 패턴의 크기를 기초로 복수 개의 블록(block)으로 분할되는지 판단하는 단계; 및
상기 폐영역이 복수 개의 블록으로 분할되는 경우, 상기 분할된 블록의 수 및 상기 패턴의 크기를 기초로 상기 제1 관계식을 보정하는 단계를 포함하는, 얼라인 교정 방법.
Obtaining a first image through a camera that photographs one area of the alignment table for machine vision;
Registering a shape included in the first image as a pattern;
Moving the alignment table in the X-axis and Y-axis directions through a motion for moving the alignment table, and acquiring a second image through the camera;
Calculating a first relational expression between the motion axis in the X and Y axis directions of the motion and the fixed axis of the camera based on the movement distance of the alignment table when the registered pattern is detected from the second image step;
Rotating the alignment table through the motion and acquiring a third image through the camera; And
Calculating a second relational expression between the rotation axis of the motion and the fixed axis of the camera based on the rotation angle of the alignment table when the registered pattern is detected from the third image,
The step of calculating the first relationship may comprise:
Acquiring a fourth image through the camera after moving the alignment table by an integer multiple of the size of the registered pattern through the motion;
Determining whether a closed area according to the movement path of the alignment table is divided into a plurality of blocks based on the size of the pattern when the registered pattern is detected from the fourth image; And
And correcting the first relationship based on the number of divided blocks and the size of the pattern when the closed area is divided into a plurality of blocks.
삭제delete 제1 항에 있어서, 상기 복수 개의 블록으로 분할되는지 판단하는 단계는
상기 카메라를 통해 상기 복수 개의 블록 각각에 대한 영상을 획득하는 단계; 및
상기 복수 개의 블록 각각에 대한 영상으로부터 상기 등록된 패턴이 검출되는지 판단하는 단계를 포함하는, 얼라인 교정 방법.
The method of claim 1, wherein determining whether to divide into the plurality of blocks comprises:
Acquiring an image for each of the plurality of blocks through the camera; And
Determining whether the registered pattern is detected from an image for each of the plurality of blocks.
제1 항에 있어서,
상기 폐영역은 상기 블록이 5×5 형태로 배치된 영역인 것을 특징으로 하는, 얼라인 교정 방법.
The method according to claim 1,
Characterized in that the closed area is an area in which the blocks are arranged in a 5x5 form.
제1 항에 있어서, 상기 제2 관계식을 산출하는 단계는
상기 모션을 통해 상기 얼라인 테이블을 복수 회 회전시키며, 복수 개의 제5 영상들을 획득하는 단계; 및
상기 복수 개의 제5 영상들로부터 상기 등록된 패턴이 검출된 경우, 상기 제5 영상들에 포함된 각각의 영상이 촬영된 회전 각을 기초로 상기 제2 관계식을 보정하는 단계를 포함하는, 얼라인 교정 방법.
2. The method of claim 1, wherein the calculating the second relationship further comprises:
Rotating the alignment table a plurality of times through the motion and obtaining a plurality of fifth images; And
And correcting the second relational expression based on a rotation angle at which each image included in the fifth images is captured when the registered pattern is detected from the plurality of fifth images. Calibration method.
제5 항에 있어서, 제5 영상을 획득하는 단계는
상기 제3 영상으로부터 상기 얼라인 테이블이 회전할 수 있는 최대 회전 범위를 산출하는 단계; 및
상기 최대 회전 범위 내에서 상기 얼라인 테이블을 복수 회 회전시키며 상기 제5 영상들을 획득하는 단계를 포함하는, 얼라인 교정 방법.
6. The method of claim 5, wherein obtaining a fifth image comprises:
Calculating a maximum rotation range at which the alignment table can rotate from the third image; And
And rotating the alignment table a plurality of times within the maximum rotation range to obtain the fifth images.
제5 항에 있어서,
상기 제5 영상에 포함된 영상의 수는 8 개이며,
상기 얼라인 테이블의 회전 경로에 따른 폐영역은 팔각형 형상을 가지는 것을 특징으로 하는, 얼라인 교정 방법.
6. The method of claim 5,
The number of images included in the fifth image is eight,
Wherein the closed region along the rotation path of the alignment table has an octagonal shape.
컴퓨팅 장치와 결합되어,
머신 비전을 위한 얼라인 테이블의 일 영역을 촬영하는 카메라를 통해 제1 영상을 획득하는 단계;
상기 제1 영상 내에 포함된 일 형상을 패턴으로 등록하는 단계;
상기 얼라인 테이블을 이동시키는 모션을 통해 상기 얼라인 테이블을 X축 및 Y축 방향으로 이동시킨 후, 상기 카메라를 통해 제2 영상을 획득하는 단계;
상기 제2 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 이동 거리를 기초로 상기 모션의 X축 및 Y축 방향의 이동 축과 상기 카메라의 고정 축 사이의 제1 관계식을 산출하는 단계;
상기 모션을 통해 상기 얼라인 테이블을 회전시킨 후, 상기 카메라를 통해 제3 영상을 획득하는 단계; 및
상기 제3 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 회전각을 기초로 상기 모션의 회전 축과 상기 카메라의 고정 축 사이의 제2 관계식을 산출하는 단계를 포함하고,
상기 제1 관계식을 산출하는 단계는
상기 모션을 통해 상기 얼라인 테이블을 상기 등록된 패턴의 크기의 정수 배만큼 이동시킨 후, 상기 카메라를 통해 제4 영상을 획득하는 단계;
상기 제4 영상으로부터 상기 등록된 패턴이 검출된 경우, 상기 얼라인 테이블의 이동 경로에 따른 폐영역(closed area)이 상기 패턴의 크기를 기초로 복수 개의 블록(block)으로 분할되는지 판단하는 단계; 및
상기 폐영역이 복수 개의 블록으로 분할되는 경우, 상기 분할된 블록의 수 및 상기 패턴의 크기를 기초로 상기 제1 관계식을 보정하는 단계를 실행시키기 위하여, 기록 매체에 기록된 컴퓨터 프로그램.
Coupled to the computing device,
Obtaining a first image through a camera that photographs one area of the alignment table for machine vision;
Registering a shape included in the first image as a pattern;
Moving the alignment table in the X-axis and Y-axis directions through a motion for moving the alignment table, and acquiring a second image through the camera;
Calculating a first relational expression between the motion axis in the X and Y axis directions of the motion and the fixed axis of the camera based on the movement distance of the alignment table when the registered pattern is detected from the second image step;
Rotating the alignment table through the motion and acquiring a third image through the camera; And
And calculating a second relational expression between the rotation axis of the motion and the fixed axis of the camera based on the rotation angle of the alignment table when the registered pattern is detected from the third image,
The step of calculating the first relationship may comprise:
Acquiring a fourth image through the camera after moving the alignment table by an integer multiple of the size of the registered pattern through the motion;
Determining whether a closed area according to the movement path of the alignment table is divided into a plurality of blocks based on the size of the pattern when the registered pattern is detected from the fourth image; And
And a step of correcting the first relation based on the number of divided blocks and the size of the pattern when the closed area is divided into a plurality of blocks.
삭제delete 제8 항에 있어서, 상기 제2 관계식을 산출하는 단계는
상기 모션을 통해 상기 얼라인 테이블을 복수 회 회전시키며, 복수 개의 제5 영상들을 획득하는 단계; 및
상기 복수 개의 제5 영상들로부터 상기 등록된 패턴이 검출된 경우, 상기 제5 영상들에 포함된 각각의 영상이 촬영된 회전 각을 기초로 상기 제2 관계식을 보정하는 단계를 포함하는, 기록매체에 기록된 컴퓨터 프로그램.
9. The method of claim 8, wherein calculating the second relationship further comprises:
Rotating the alignment table a plurality of times through the motion and obtaining a plurality of fifth images; And
And correcting the second relational expression based on a rotation angle at which each image included in the fifth images is captured when the registered pattern is detected from the plurality of fifth images. ≪ / RTI >
KR1020160054992A 2016-05-04 2016-05-04 Method for calibrating align for machine vision KR101783324B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160054992A KR101783324B1 (en) 2016-05-04 2016-05-04 Method for calibrating align for machine vision

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160054992A KR101783324B1 (en) 2016-05-04 2016-05-04 Method for calibrating align for machine vision

Publications (1)

Publication Number Publication Date
KR101783324B1 true KR101783324B1 (en) 2017-10-19

Family

ID=60298273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160054992A KR101783324B1 (en) 2016-05-04 2016-05-04 Method for calibrating align for machine vision

Country Status (1)

Country Link
KR (1) KR101783324B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100765491B1 (en) * 2006-08-16 2007-10-09 에이엠테크놀로지 주식회사 Method for automatic alignment of wafer
KR101430970B1 (en) * 2013-07-05 2014-08-19 주식회사 트레이스 Alligning method of display panel

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100765491B1 (en) * 2006-08-16 2007-10-09 에이엠테크놀로지 주식회사 Method for automatic alignment of wafer
KR101430970B1 (en) * 2013-07-05 2014-08-19 주식회사 트레이스 Alligning method of display panel

Similar Documents

Publication Publication Date Title
JP6934026B2 (en) Systems and methods for detecting lines in a vision system
CN113643378B (en) Active rigid body pose positioning method in multi-camera environment and related equipment
CN107687855B (en) Robot positioning method and device and robot
KR102649038B1 (en) System and method for finding lines in an image with a vision system
KR101690965B1 (en) Machine vision system calibration using inaccurate calibration targets
US20180184070A1 (en) Method and system for depth estimation based upon object magnification
CN111263142B (en) Method, device, equipment and medium for testing optical anti-shake of camera module
TW201706091A (en) System and method for tying together machine vision coordinate spaces in a guided assembly environment
TW201520540A (en) Inspection apparatus, method, and computer program product for machine vision inspection
US20190325593A1 (en) Image processing apparatus, system, method of manufacturing article, image processing method, and non-transitory computer-readable storage medium
JP5757156B2 (en) Method, apparatus and program for calculating center position of detection object
CN112446917A (en) Attitude determination method and device
US20230154048A1 (en) Method and Apparatus for In-Field Stereo Calibration
WO2020124517A1 (en) Photographing equipment control method, photographing equipment control device and photographing equipment
US20190108648A1 (en) Phase detection auto-focus-based positioning method and system thereof
JP6558819B2 (en) Individual counting device, individual counting method, and program
KR101783324B1 (en) Method for calibrating align for machine vision
EP3216005A1 (en) Image processing device and method for geometric calibration of images
CN110736426B (en) Object size acquisition method and device, computer equipment and storage medium
US20220237824A1 (en) Distortion calibration method for ultra-wide angle imaging apparatus, system and photographing device including same
CN115713564A (en) Camera calibration method and device
JP2016102755A (en) Information processing device, information processing method and program
Pai et al. High-fidelity camera-based method for noncontact vibration testing of structures
WO2017107564A1 (en) Board image acquisition method and system
CN109801312B (en) Multi-lens motion track monitoring method, system, equipment and storage medium

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