KR102481756B1 - Apparatus and method for transforming contour point - Google Patents
Apparatus and method for transforming contour point Download PDFInfo
- Publication number
- KR102481756B1 KR102481756B1 KR1020210175602A KR20210175602A KR102481756B1 KR 102481756 B1 KR102481756 B1 KR 102481756B1 KR 1020210175602 A KR1020210175602 A KR 1020210175602A KR 20210175602 A KR20210175602 A KR 20210175602A KR 102481756 B1 KR102481756 B1 KR 102481756B1
- Authority
- KR
- South Korea
- Prior art keywords
- camera
- plane
- plate material
- target image
- points
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000001131 transforming effect Effects 0.000 title abstract 4
- 239000000463 material Substances 0.000 claims abstract description 72
- 238000006243 chemical reaction Methods 0.000 claims description 36
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3179—Video signal processing therefor
- H04N9/3185—Geometric adjustment, e.g. keystone or convergence
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B21/00—Projectors or projection-type viewers; Accessories therefor
- G03B21/14—Details
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B21/00—Projectors or projection-type viewers; Accessories therefor
- G03B21/14—Details
- G03B21/147—Optical correction of image distortions, e.g. keystone
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3141—Constructional details thereof
- H04N9/3173—Constructional details thereof wherein the projection device is specially adapted for enhanced portability
- H04N9/3176—Constructional details thereof wherein the projection device is specially adapted for enhanced portability wherein the projection device is incorporated in a camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30161—Wood; Lumber
Abstract
Description
본 발명은 윤곽점 변환 장치 및 그 방법에 관한 것이다.The present invention relates to a contour point conversion device and method.
조선 산업 또는 목공 산업 등과 같은 다양한 분야에서, 조립이 필요한 판재 부품을 생산하고 분류하는 작업이 수행된다. 이때, 판재 부품을 분류하는 작업을 자동화하기 위해서는 먼저 판재를 식별하는 동작이 수행되어야 한다.In various fields such as the shipbuilding industry or the woodworking industry, production and sorting of sheet metal parts requiring assembly are performed. At this time, in order to automate the task of classifying the plate member, an operation of identifying the plate member must first be performed.
일반적으로, 판재를 식별하기 위해서 판재에 미리 식별 표시를 남겨두는 방법이 사용될 수 있다. 그러나, 판재의 표면 성질이나 또는 제조 과정의 문제로 인하여, 판재에 미리 식별 표시를 남겨두는 것이 불가능할 수 있다.In general, a method of leaving an identification mark on a plate material in advance may be used to identify the plate material. However, it may be impossible to leave an identification mark on the board in advance due to the surface properties of the board or problems in the manufacturing process.
이러한 경우를 제외하면, 판재를 식별하는 과정에서 판재의 모양은 중요한 요소가 될 수 있다. 일 예로, 카메라 등으로 촬상한 영상 이미지에서 판재를 식별할 때, 판재가 서로 뒤섞여 있거나 카메라가 정확히 판재의 평면의 법선 벡터와 평행한 방향을 가리키지 않을 경우, 영상 이미지 상에서 보이는 판재에 대한 투영 왜곡이 발생할 수 있다.Except for this case, the shape of the plate can be an important factor in the process of identifying the plate. For example, when identifying a plate material in a video image captured by a camera or the like, if the plate material is mixed with each other or the camera does not accurately point in a direction parallel to the normal vector of the plane of the plate material, projection distortion for the plate material seen on the video image this can happen
실시예들은, 카메라로부터 촬상된 영상으로부터 투영 왜곡을 제거한 윤곽점을 획득할 수 있는, 윤곽점 변환 장치 및 그 방법을 제공한다.Embodiments provide a contour point conversion device and method capable of obtaining contour points from which projection distortion is removed from an image captured by a camera.
일 실시예는, 카메라를 통해 판재를 촬상한 영상인 타깃 영상을 획득하는 단계, 타깃 영상에서 복수의 윤곽점들을 결정하는 단계, 타깃 영상에서 판재 평면을 결정하는 단계, 복수의 윤곽점들을 판재 평면에 투영함으로써, 복수의 윤곽점들 중 하나 이상에 대한 투영점들을 결정하는 단계 및 투영점들을 기초로, 복수의 윤곽점들 중 하나 이상에 대한 판재 평면 상의 좌표를 계산하는 단계를 포함하는, 윤곽점 변환 방법을 제공한다.An embodiment includes obtaining a target image, which is an image of a plate material captured through a camera, determining a plurality of contour points in the target image, determining a plate material plane in the target image, and converting the plurality of contour points to a plate material plane. determining projected points for one or more of the plurality of contour points by projecting onto the contour points, and calculating coordinates on a plate material plane for one or more of the plurality of contour points based on the projected points. Provides a point conversion method.
다른 실시예는, 카메라를 통해 판재를 촬상한 영상인 타깃 영상을 저장하는 메모리; 및 타깃 영상에서 복수의 윤곽점들을 결정하고, 타깃 영상에서 판재 평면을 결정하고, 복수의 윤곽점들을 판재 평면에 투영함으로써, 복수의 윤곽점들 중 하나 이상에 대한 투영점들을 결정하고, 투영점들을 기초로 복수의 윤곽점들 중 하나 이상에 대한 판재 평면 상의 좌표를 계산하는 프로세서를 포함하는, 윤곽점 변환 장치를 제공한다.Another embodiment is a memory for storing a target image, which is an image of a plate material captured through a camera; and determining projected points for one or more of the plurality of contour points by determining a plurality of contour points in the target image, determining a plate material plane in the target image, and projecting the plurality of contour points to the plate material plane, Provided is a contour point conversion device including a processor for calculating coordinates on a plate material plane for one or more of a plurality of contour points based on .
실시예들에 따른 윤곽점 변환 장치 및 그 방법에 의하면, 카메라로부터 촬상된 영상으로부터 투영 왜곡을 제거한 윤곽점을 획득할 수 있다.According to the contour point conversion apparatus and method according to the embodiments, it is possible to obtain contour points from which projection distortion is removed from an image captured by a camera.
도 1은 일 실시예에 따른 윤곽점 변환 장치의 구성도이다.
도 2는 도 1의 윤곽점 변환 장치의 동작의 일 예를 나타낸 흐름도이다.
도 3은 일 실시예에 따른 윤곽점 변환 장치가 판재 평면을 결정하는 방법을 도시한 도면이다.
도 4는 일 실시예에 따른 판재 평면을 카메라 좌표계 상에서 나타내는 방법을 도시한 도면이다.
도 5는 일 실시예들에 따른 복수의 윤곽점들에 대한 카메라 좌표계 상의 샘플을 도시한 도면이다.
도 6은 일 실시예들에 따른 복수의 윤곽점들 중 하나 이상에 대한 투영점을 도시한 도면이다.
도 7은 일 실시예들에 따른 투영점들에 대한 판재 평면 상에서의 좌표를 도시한 도면이다.
도 8은 일 실시예에 따른 윤곽점 변환 방법의 흐름도이다.1 is a configuration diagram of a contour point conversion device according to an exemplary embodiment.
FIG. 2 is a flowchart illustrating an example of an operation of the contour point conversion device of FIG. 1 .
3 is a diagram illustrating a method of determining a plate material plane by the contour point conversion apparatus according to an exemplary embodiment.
4 is a diagram illustrating a method of representing a plane of a plate material on a camera coordinate system according to an exemplary embodiment.
5 is a diagram illustrating a sample on a camera coordinate system for a plurality of contour points according to an exemplary embodiment.
6 is a diagram illustrating projection points for one or more of a plurality of contour points according to an exemplary embodiment.
7 is a diagram illustrating coordinates on a plate material plane for projected points according to an exemplary embodiment.
8 is a flowchart of a contour point conversion method according to an exemplary embodiment.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description will be omitted.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A,B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element is directly connected or connectable to the other element, but there is another element between the elements. It will be understood that elements may be “connected”, “coupled” or “connected”.
도 1은 일 실시예에 따른 윤곽점 변환 장치(100)의 구성도이다.1 is a configuration diagram of a contour
도 1을 참조하면, 윤곽점 변환 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다.Referring to FIG. 1 , the contour
메모리(110)는 카메라(200)를 통해 판재를 촬상한 영상인 타깃 영상을 저장할 수 있다.The
카메라(200)는 일반적인 디지털 카메라일 수도 있고, 영상을 촬영하면서 동시에 영상에 대한 부가 정보를 획득할 수 있는 특수 카메라(e.g. ToF 카메라)일 수도 있다.The
타깃 영상은 하나 이상의 정지된 이미지이거나 또는 움직이는 동영상일 수 있다. 타깃 영상은 다양한 포맷(e.g. JPG, PNG, AVI, MP4)을 가질 수 있다.The target image may be one or more still images or moving images. The target video can have various formats (e.g. JPG, PNG, AVI, MP4).
메모리(110)는 휘발성 메모리(e.g. SRAM, DRAM) 또는 비휘발성 메모리(e.g. NAND flash, NOR flash)일 수 있다.The
프로세서(120)는 메모리(110)에 저장된 타깃 영상을 기초로 하여, 타깃 영상에서 복수의 윤곽점들을 결정하고, 복수의 윤곽점들 중 하나 이상을 판재 평면에 투영하여 생성된 투영점들을 결정하고, 투영점들에 대한 판재 평면 상의 좌표를 계산할 수 있다.The
프로세서(120)는 전술한 동작을 실행하기 위해, 전술한 메모리(110) 또는 기타 저장 장치(e.g. HDD, SSD, SD Card)에 저장된 펌웨어를 구동할 수 있다. 프로세서(120)는 펌웨어에서 정의된 논리 연산을 실행함으로써, 전술한 동작을 실행할 수 있다.The
프로세서(120)는 마이크로프로세서, CPU 또는 SoC(System On Chip) 등으로 구현될 수 있다.The
이하, 윤곽점 변환 장치(100)의 구체적인 동작에 대해 설명한다.Hereinafter, specific operations of the contour
도 2는 도 1의 윤곽점 변환 장치(100)의 동작의 일 예를 나타낸 흐름도이다.FIG. 2 is a flowchart illustrating an example of an operation of the contour
도 2를 참조하면, 윤곽점 변환 장치(100)의 프로세서(120)는 카메라(200)에 의해 촬상된 영상인 타깃 영상에서 복수의 윤곽점들을 결정할 수 있다(S210).Referring to FIG. 2 , the
프로세서(120)는 타깃 영상에서 복수의 윤곽점들을 결정하기 위해 다양한 알고리즘을 사용할 수 있다. 일 예로, 프로세서(120)는 OpenCV의 Canny Edge Detection 및 findContour를 사용하거나 또는 AppleVisionKit의 VNContourObservation을 사용하여 복수의 윤곽점들을 결정할 수 있다.The
그리고 프로세서(120)는 타깃 영상에서 판재 평면을 결정할 수 있다(S220). 판재 평면은, 타깃 영상에서 판재에 대응하는 2차원 평면을 나타낸다.Also, the
일 예로, 판재 평면은 판재의 위치에 가장 적합하다고 판단되는 가상의 평면으로 결정될 수 있다. 실제 판재는 완전한 2차원 평면 상에 위치하지 않을 수 있으며, 이때, 판재 평면은 판재와 가장 일치한다고 판단된 평면일 수 있다.For example, the plate material plane may be determined as a virtual plane determined to be most suitable for the position of the plate material. The actual plate material may not be positioned on a complete two-dimensional plane, and in this case, the plate material plane may be a plane determined to most closely match the plate material.
프로세서(120)는 판재 평면을 결정하기 위해 다양한 알고리즘을 사용할 수 있다. 일 예로, 프로세서(120)는 FindSurface, Hough Transform, RANSAC 또는 최소자승법 등을 사용하여 판재 평면을 결정할 수 있다.
그리고 프로세서(120)는 S210 단계에서 결정한 복수의 윤곽점들 중 하나 이상을, S220 단계에서 결정한 판재 평면에 투영함으로써, 하나 이상의 투영점들을 결정할 수 있다(S230).Further, the
그리고 프로세서(120)는 S230 단계에서 결정한 투영점들을 기초로, 투영점들에 대한 판재 평면 상의 좌표를 계산할 수 있다(S240).Further, the
이하, 전술한 윤곽점 변환 장치(100)의 동작의 각 단계에 대한 상세한 실시예를 설명한다.Hereinafter, detailed embodiments of each step of the operation of the above-described contour
도 3은 일 실시예에 따른 윤곽점 변환 장치(100)가 판재 평면을 결정하는 방법을 도시한 도면이다.3 is a diagram illustrating a method of determining a plate material plane by the contour
도 3을 참조하면, 윤곽점 변환 장치(100)의 프로세서(120)는, 판재 평면을, 카메라(200) 또는 카메라(200)에 의해 촬영된 타깃 영상으로부터 추출된 복수의 연속된 이미지들로부터 획득한 깊이 정보를 기초로 판재 평면을 결정할 수 있다.Referring to FIG. 3 , the
이때, 깊이 정보는 타깃 영상에 대응되는 픽셀들 중 하나 이상에 대한 깊이 값을 포함할 수 있다. 예를 들어, 깊이 정보는 픽셀 (x1, y1)의 깊이값은 10, 픽셀 (x2, y2)의 깊이값은 0, 픽셀 (x3, y3)의 깊이값은 5를 포함할 수 있다.In this case, the depth information may include a depth value of one or more of pixels corresponding to the target image. For example, the depth information may include a depth value of 10 for the pixel (x1, y1), a depth value of 0 for the pixel (x2, y2), and a depth value of 5 for the pixel (x3, y3).
일 예로, 카메라(200)는 직접 타깃 영상에 대한 깊이 정보를 제공할 수 있는 깊이 카메라(e.g. ToF(Time of Flight) 카메라)일 수 있다. 이 경우 프로세서(120)는 카메라(200)에서 직접 깊이 정보를 획득할 수 있다.For example, the
다른 예로, 프로세서(120)는 카메라(200)에 의해 촬영된 타깃 영상으로부터 추출된 복수의 연속된 이미지들로부터 미리 정의된 깊이 정보 추출 방법에 따라 깊이 정보를 획득할 수 있다.As another example, the
이때, 복수의 연속된 이미지들은 카메라(200)에 의해 일정한 시간 간격(e.g. 1/1000초)으로 연속적으로 촬상된 이미지일 수 있다.In this case, the plurality of consecutive images may be images continuously captured by the
그리고 깊이 정보 추출 방법은, 일 예로, 안드로이드에서 제공하는 Depth API(https://developers.google.com/ar/develop/java/depth/introduction#depth_images)일 수 있다.Also, the method for extracting depth information may be, for example, Depth API (https://developers.google.com/ar/develop/java/depth/introduction#depth_images) provided by Android.
도 4는 일 실시예에 따른 판재 평면을 카메라 좌표계 상에서 나타내는 방법을 도시한 도면이다.4 is a diagram illustrating a method of representing a plane of a plate material on a camera coordinate system according to an exemplary embodiment.
도 4를 참조하면, 카메라 좌표계는 카메라(200)의 위치를 원점으로 하고, 타깃 영상의 가로 방향 축인 x축, 타깃 영상의 세로 방향 축인 y축 및 카메라(200)의 렌즈가 바라보는 방향 축인 z축으로 결정될 수 있다. 이때, x축, y축 및 z축은 서로 수직이다.Referring to FIG. 4 , the camera coordinate system has the position of the
일 예로, 카메라(200)의 위치는, 핀홀렌즈의 중심으로 결정될 수 있다.For example, the position of the
판재 평면은, 카메라 좌표계에서 다음의 수학식 1을 만족하는 로 결정될 수 있다.The plate material plane satisfies the following
이때, 은 판재 평면의 법선 벡터를 의미한다. 그리고 은 판재 평면 위의 임의의 한 점을 의미한다.At this time, means the normal vector of the plate plane. And means an arbitrary point on the plate plane.
도 5는 일 실시예들에 따른 복수의 윤곽점들에 대한 카메라 좌표계 상의 샘플을 도시한 도면이다.5 is a diagram illustrating a sample on a camera coordinate system for a plurality of contour points according to an exemplary embodiment.
도 5를 참조하면, 타깃 영상을 구성하는 픽셀의 이미지 좌표 는 다음과 같이 표현될 수 있다.Referring to FIG. 5 , image coordinates of pixels constituting a target image can be expressed as
이때, 는 타깃 영상의 가로 방향 해상도이고 는 타깃 영상의 세로 방향 해상도이다. 일 예로, 640 * 480의 해상도로 촬영된 타깃 영상에서 일 수 있다.At this time, is the horizontal resolution of the target image and is the vertical resolution of the target image. For example, in a target image captured at a resolution of 640 * 480 can be
타깃 영상에서 복수의 윤곽점들 는 다음과 같이 정의될 수 있다.A plurality of contour points in the target image can be defined as:
여기서, 는 복수의 윤곽점들 중 하나에 해당하는 이미지 좌표를 나타낸다.here, represents an image coordinate corresponding to one of a plurality of contour points.
프로세서(120)는 픽셀의 이미지 좌표로 표현된 에 대하여 이를 카메라 좌표계 상의 좌표로 변환하기 위해 샘플 을 다음의 수학식 2로 계산할 수 있다.
이때,는 카메라(200)에 대한 카메라 고유 행렬(camera intrinsic matrix)로서,로 정의될 수 있다. 카메라 고유 행렬은 카메라(200)의 상태를 기초로 결정될 수 있다.At this time, Is the camera intrinsic matrix for the
는 카메라(200)의 수평 초점거리이고, 는 카메라(200)의 수직 초점거리이다. is the horizontal focal length of the
는 미리 설정된 비대칭 계수(skew coefficient)이다.는 타깃 영상에서 카메라(200)의 투영 중심점(CoP, center of projection)의 x축 상의 좌표값이고, 는 타깃 영상에서 투영 중심점의 y축 상의 좌표값이다. Is a preset skew coefficient. Is a coordinate value on the x-axis of the center of projection (CoP) of the
도 6은 일 실시예들에 따른 복수의 윤곽점들 중 하나 이상에 대한 투영점을 도시한 도면이다.6 is a diagram illustrating projection points for one or more of a plurality of contour points according to an exemplary embodiment.
도 6을 참조하면, 복수의 윤곽점들 중 하나 이상이 판재 평면에 투영될 수 있다.Referring to FIG. 6 , one or more of a plurality of contour points may be projected onto a plane of the plate material.
이때, 복수의 윤곽점들 중 하나 이상이 판재 평면에 투영된 투영점을 결정하기 위해서, 카메라에서 판재 평면으로 향하는 직선이 판재 평면과 이루는 교점을 결정해야 한다.At this time, in order to determine a projected point where one or more of the plurality of contour points is projected onto the plate material plane, it is necessary to determine an intersection point formed by a straight line extending from the camera to the plate material plane and the plate material plane.
한편, 본 발명의 실시예들에서, 프로세서(120)는 전술한 깊이 정보가 타깃 영상에 포함된 픽셀들 중에서 몇 개의 픽셀에 대한 깊이를 포함하는지에 따라 전술한 교점을 다르게 결정할 수 있다.Meanwhile, in embodiments of the present invention, the
먼저, 깊이 정보가 타깃 영상에 포함된 픽셀들 중 임계값 미만의 픽셀에 대한 깊이를 포함하는 경우를 설명한다.First, a case in which the depth information includes the depth of pixels less than a threshold among pixels included in the target image will be described.
이때, 프로세서(120)는 카메라 좌표계 상에서 카메라(200)의 위치를 나타내는 위치 벡터 에서 전술한 샘플 를 향하는 방향 벡터 를 다음과 같이 결정할 수 있다. 카메라 좌표계에서 카메라(200)의 위치가 원점으로 정해지므로 위치 벡터 는 영(zero) 벡터일 수 있다.At this time, the
이때, 프로세서(120)는 카메라의 위치 벡터 에서 방향 벡터 방향으로 뻗은 직선이 판재 평면과 이루는 교점 을 다음과 같이 결정할 수 있다.At this time, the
먼저 카메라의 위치 벡터 에서 방향 벡터 방향으로 뻗은 직선 위의 임의의 점은 다음과 같이 결정될 수 있다.First, the position vector of the camera direction vector from Any point on a straight line extending in the direction can be determined as
이 식을 전술한 판재 평면의 방정식 에 대입하면 는 다음과 같이 도출된다.Equation of the plate plane described above Substituting into is derived as follows.
계산된 를 에 대입하면, 카메라의 위치 벡터 에서 방향 벡터 방향으로 뻗은 직선이 판재 평면과 이루는 교점 는 다음과 같이 수학식 3으로 결정될 수 있다.calculated cast Substituting into , the position vector of the camera direction vector from The point of intersection of a straight line extending in the direction Can be determined by Equation 3 as follows.
다음으로, 깊이 정보가 타깃 영상에 포함된 픽셀들 중 임계값 이상의 픽셀에 대한 깊이를 포함하는 경우를 설명한다.Next, a case in which the depth information includes depths of pixels greater than or equal to a threshold value among pixels included in the target image will be described.
이때, 프로세서(120)는 전술한 에 대한 카메라 좌표계 상의 좌표인 를 다음과 같이 결정할 수 있다.At this time, the
여기서 는 타깃 영상에서 에 대응되는 위치의 좌표를 의미한다.here in the target image It means the coordinates of the position corresponding to .
그리고 는 에서 카메라(200)의 투영 방향과 수직인 평면까지의 수직 거리를 의미한다.And Is It means the vertical distance from to the plane perpendicular to the projection direction of the
이때, 프로세서(120)는 카메라의 위치 벡터 에서, 전술한 를 향하는 방향 벡터 를 다음과 같이 결정할 수 있다.At this time, the
이때, 프로세서(120)는 카메라의 위치 벡터 에서 방향 벡터 방향인 직선이 판재 평면과 이루는 교점 을 다음과 같이 수학식 4로 결정할 수 있다.At this time, the
단, 이때, 전술한 와 의 거리가 설정된 임계 거리를 초과하는 경우에는, 프로세서(120)는 에 대응하는 윤곽점이 판재 평면에 대응하지 않는다고 판단하고, 를 판재 평면에 존재하는 투영점에서 제외할 수 있다.However, at this time, the aforementioned Wow When the distance of exceeds the set threshold distance, the
도 7은 일 실시예들에 따른 투영점들에 대한 판재 평면 상에서의 좌표를 도시한 도면이다.7 is a diagram illustrating coordinates on a plate material plane for projected points according to an exemplary embodiment.
도 7을 참조하면, 투영점들은 판재 평면 상에 위치한다. 판재 평면 상에 위치하는 점은, 판재 평면 상에 위치하는 서로 수직인 두 직선 A, B을 축으로 하는 2차원 좌표로 표현될 수 있다.Referring to FIG. 7 , projected points are located on the plate material plane. Points located on the plate material plane may be expressed as two-dimensional coordinates having two mutually perpendicular straight lines A and B located on the plate material plane as axes.
본 발명의 실시예들에서, 프로세서(120)는 먼저 판재 평면의 법선 벡터 및 판재 평면에 평행한 단위 벡터 에 수직인 벡터 를 다음과 같이 구할 수 있다.In embodiments of the present invention, the
프로세서(120)는 전술한 및, 판재 평면 상의 한 점 을 기초로 하여, 카메라 좌표계 상의 점을 판재 평면 상의 좌표로 변환하는 행렬 을 다음과 같이 구할 수 있다.The
프로세서(120)는 전술한 및 를 기초로 하여, 투영점들에 대한 판재 평면 상에서의 좌표 를 다음과 같이 결정할 수 있다.The
도 8은 일 실시예에 따른 윤곽점 변환 방법의 흐름도이다.8 is a flowchart of a contour point conversion method according to an exemplary embodiment.
도 8을 참조하면, 윤곽점 변환 방법은 먼저, 카메라(200)를 통해 판재를 촬상한 영상인 타깃 영상을 획득하는 단계(S810)를 포함할 수 있다.Referring to FIG. 8 , the contour point conversion method may first include acquiring a target image, which is an image obtained by capturing a plate material through a camera 200 (S810).
그리고, 윤곽점 변환 방법은 S810 단계에서 획득한 타깃 영상에서 복수의 윤곽점들을 결정하는 단계(S820)를 포함할 수 있다.And, the contour point conversion method may include determining a plurality of contour points in the target image acquired in step S810 (S820).
그리고, 윤곽점 변환 방법은 S810 단계에서 획득한 타깃 영상에서 판재 평면을 결정하는 단계(S830)를 포함할 수 있다.And, the contour point conversion method may include determining a plate material plane in the target image acquired in step S810 (S830).
S830 단계는, 일 예로, i) 카메라 또는 ii) 타깃 영상에서 추출된 복수의 연속된 이미지들로부터 추출된 깊이 정보를 기초로 판재 평면을 결정할 수 있다.In operation S830 , for example, a plate material plane may be determined based on depth information extracted from i) a camera or ii) a plurality of consecutive images extracted from a target image.
판재 평면은, 카메라의 위치를 원점으로 하고, 타깃 영상의 가로 방향 축인 x축, 타깃 영상의 세로 방향 축인 y축 및 카메라의 렌즈가 바라보는 방향 축인 z축으로 결정되는 좌표계인 카메라 좌표계 상에서 다음을 만족하는로 결정될 수 있다.The plate plane is the camera coordinate system, which is a coordinate system determined by the x-axis, which is the horizontal axis of the target image, the y-axis, which is the vertical axis of the target image, and the z-axis, which is the direction axis of the camera lens, with the camera position as the origin. satisfied can be determined by
이때, 은 판재 평면의 법선 벡터이고,은 판재 평면 위의 임의의 한 점이다.At this time, is the normal vector of the plate plane, is an arbitrary point on the plate plane.
그리고, 윤곽점 변환 방법은 S820 단계에서 결정된 복수의 윤곽점들을 판재 평면에 투영함으로써, 복수의 윤곽점들 중 하나 이상에 대한 투영점들을 결정하는 단계(S840)를 포함할 수 있다.The contour point conversion method may include a step of determining projected points for one or more of the plurality of contour points by projecting the plurality of contour points determined in step S820 onto the plane of the plate (S840).
S840 단계는, 복수의 윤곽점들 중 하나에 해당하는 이미지 좌표인 의 카메라 좌표계 상의 좌표를 구하기 위한 샘플 을 다음과 같이 계산할 수 있다.In step S840, image coordinates corresponding to one of the plurality of contour points Sample for obtaining coordinates on the camera coordinate system of can be calculated as:
여기서 이고,here ego,
는 카메라(200)의 수평 초점거리이고, is the horizontal focal length of the
는 카메라(200)의 수직 초점거리이고, is the vertical focal length of the
는 카메라(200)의 비대칭 계수(skew coefficient)이고, is the skew coefficient of the
는 카메라(200)의 투영 중심점의 x축 상의 좌표값이고, Is the coordinate value on the x-axis of the projection center point of the
는 투영 중심점의 y축 상의 좌표값이다. is the coordinate value on the y-axis of the projection center point.
일 예로, S840 단계는, 깊이 정보가 타깃 영상에 포함된 픽셀들 중 설정된 임계값 미만의 픽셀에 대한 깊이 정보를 포함하는 경우, 카메라의 카메라 좌표계 상에서의 위치를 나타내는 위치 벡터 에서 샘플 를 향하는 방향 벡터 를 다음과 같이 결정할 수 있다.For example, in step S840, when the depth information includes depth information on a pixel less than a set threshold among pixels included in the target image, a position vector indicating a position of the camera on the camera coordinate system. sample from direction vector towards can be determined as follows.
그리고 S840 단계는, 위치 벡터에서 방향 벡터 방향으로 뻗은 직선이 판재 평면과 이루는 교점 을 다음과 같이 결정할 수 있다.And step S840, position vector direction vector from The point of intersection of a straight line extending in the direction can be determined as follows.
다른 예로, S840 단계는, 깊이 정보가 타깃 영상에 포함된 픽셀들 중 설정된 임계값 이상의 픽셀에 대한 깊이 정보를 포함하는 경우, 에 대한 카메라 좌표계 상의 좌표인 를 다음과 같이 결정할 수 있다.As another example, in step S840, when the depth information includes depth information about a pixel equal to or greater than a set threshold among pixels included in the target image, is a coordinate on the camera coordinate system for can be determined as follows.
이때,는 타깃 영상에서 에 대응되는 위치의 좌표이고, 는에서 z축과 수직인 평면까지의 수직 거리이다.At this time, in the target image is the coordinates of the position corresponding to Is is the vertical distance from to the plane perpendicular to the z-axis.
그리고 S840 단계는, 카메라의 카메라 좌표계 상에서의 위치를 나타내는 위치 벡터 에서, 를 향하는 방향 벡터 를 다음과 같이 결정할 수 있다.And step S840, the position vector indicating the position of the camera on the camera coordinate system at, direction vector towards can be determined as follows.
그리고 S840 단계는, 위치 벡터 에서 방향 벡터 방향인 직선이 판재 평면과 이루는 교점 을 다음과 같이 결정할 수 있다.And step S840, position vector direction vector from The point of intersection of the straight line with the plane of the sheet can be determined as follows.
한편, 와 의 거리가 설정된 임계 거리를 초과하는 경우, 는 투영점들에서 제외될 수 있다.Meanwhile, Wow If the distance of exceeds the set critical distance, can be excluded from projection points.
그리고, 윤곽점 변환 방법은, S840 단계에서 결정된 투영점들을 기초로, 복수의 윤곽점들 중 하나 이상에 대한 판재 평면 상의 좌표를 계산하는 단계(S850)를 포함할 수 있다.Further, the contour point conversion method may include calculating coordinates on the plate material plane for one or more of the plurality of contour points based on the projected points determined in step S840 (S850).
S850 단계는, 판재 평면의 법선 벡터 및 판재 평면에 평행한 단위 벡터 에 수직인 벡터 를 다음과 같이 구할 수 있다.Step S850 is the normal vector of the plate plane. and a unit vector parallel to the plate plane. vector perpendicular to can be obtained as:
그리고 S850 단계는,및 판재 평면 상의 한 점 을 기초로 카메라 좌표계 상의 점을 판재 평면 상에서의 좌표로 변환하는 행렬 을 다음과 같이 구할 수 있다.And step S850, and a point on the plane of the plate A matrix that converts points on the camera coordinate system to coordinates on the plate plane based on can be obtained as:
그리고 S850 단계는, 투영점들에 대한 판재 평면 상에서의 좌표 를 다음과 같이 결정할 수 있다.And step S850, the coordinates on the plate material plane for the projected points can be determined as follows.
상술한 본 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.The present embodiments described above may be implemented through various means. For example, the present embodiments may be implemented by hardware, firmware, software, or a combination thereof.
하드웨어에 의한 구현의 경우, 본 실시예들에 따른 윤곽점 변환 장치 및 그 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러 또는 마이크로 프로세서 등에 의해 구현될 수 있다.In the case of hardware implementation, the contour point conversion device and method according to the present embodiments include one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), PLDs ( It can be implemented by Programmable Logic Devices), Field Programmable Gate Arrays (FPGAs), processors, controllers, microcontrollers or microprocessors.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 실시예들에 따른 윤곽점 변환 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 장치, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 메모리 유닛은 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 프로세서와 데이터를 주고 받을 수 있다.In the case of implementation by firmware or software, the contour point conversion method according to the present embodiments may be implemented in the form of a device, procedure, or function that performs the functions or operations described above. The software codes may be stored in a memory unit and driven by a processor. The memory unit may be located inside or outside the processor and exchange data with the processor by various means known in the art.
또한, 위에서 설명한 "시스템", "프로세서", "컨트롤러", "컴포넌트", "모듈", "인터페이스", "모델", 또는 "유닛" 등의 용어는 일반적으로 컴퓨터 관련 엔티티 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행 중인 소프트웨어를 의미할 수 있다. 예를 들어, 전술한 구성요소는 프로세서에 의해서 구동되는 프로세스, 프로세서, 컨트롤러, 제어 프로세서, 개체, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만 이에 국한되지 않는다. 예를 들어, 컨트롤러 또는 프로세서에서 실행 중인 애플리케이션과 컨트롤러 또는 프로세서가 모두 구성 요소가 될 수 있다. 하나 이상의 구성 요소가 프로세스 및/또는 실행 스레드 내에 있을 수 있으며, 구성 요소들은 하나의 장치(예: 시스템, 컴퓨팅 디바이스 등)에 위치하거나 둘 이상의 장치에 분산되어 위치할 수 있다.Also, the terms "system", "processor", "controller", "component", "module", "interface", "model", or "unit" as described above generally refer to computer-related entities hardware, hardware and software. can mean a combination of, software, or running software. For example, but is not limited to, a process driven by a processor, a processor, a controller, a control processor, an object, a thread of execution, a program, and/or a computer. For example, a component can be both an application running on a controller or processor and a controller or processor. One or more components may reside within a process and/or thread of execution, and components may reside on one device (eg, system, computing device, etc.) or may be distributed across two or more devices.
한편, 또 다른 실시예는 전술한 윤곽점 변환 방법을 수행하는, 컴퓨터 기록매체에 저장되는 컴퓨터 프로그램을 제공한다. 또한 또 다른 실시예는 전술한 윤곽점 변환 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다. Meanwhile, another embodiment provides a computer program stored in a computer recording medium that performs the above-described contour point conversion method. In addition, another embodiment provides a computer-readable recording medium on which a program for realizing the above-described contour point conversion method is recorded.
기록매체에 기록된 프로그램은 컴퓨터에서 읽히어 설치되고 실행됨으로써 전술한 단계들을 실행할 수 있다.A program recorded on a recording medium may be read, installed, and executed in a computer to execute the above-described steps.
이와 같이, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.In this way, in order for the computer to read the program recorded on the recording medium and execute the functions implemented by the program, the above-described program is C, C++ that can be read by the computer's processor (CPU) through the computer's device interface. , JAVA, may include a code coded in a computer language such as machine language.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다.These codes may include functional codes related to functions defining the above-described functions, and may include control codes related to execution procedures necessary for a processor of a computer to execute the above-described functions according to a predetermined procedure.
또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다.In addition, these codes may further include memory reference related codes for which location (address address) of the computer's internal or external memory should be referenced for additional information or media necessary for the computer's processor to execute the above-mentioned functions. .
또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.In addition, when the computer processor needs to communicate with any other remote computer or server in order to execute the above-mentioned functions, the code allows the computer processor to use the computer's communication module to communicate with any other remote computer or server. Communication-related codes for how to communicate with other computers or servers, what information or media to transmit/receive during communication, and the like may be further included.
이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함할 수 있다.Recording media that can be read by a computer on which the program as described above is recorded are, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical media storage device, etc., and also carrier wave (e.g. , Transmission through the Internet) may also include what is implemented in the form of.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.In addition, the computer-readable recording medium is distributed in computer systems connected through a network, so that computer-readable codes can be stored and executed in a distributed manner.
그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.In addition, a functional program for implementing the present invention, codes and code segments related thereto, in consideration of the system environment of a computer that reads a recording medium and executes a program, etc., help programmers in the art to which the present invention belongs It may be easily inferred or changed by
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention have been described as being combined or operated as one, the present invention is not necessarily limited to these embodiments. That is, within the scope of the object of the present invention, all of the components may be selectively combined with one or more to operate.
이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as "comprise", "comprise" or "having" described above mean that the corresponding component may be inherent unless otherwise stated, and therefore do not exclude other components. It should be construed that it may further include other components. All terms, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs, unless defined otherwise. Commonly used terms, such as terms defined in a dictionary, should be interpreted as consistent with the meaning in the context of the related art, and unless explicitly defined in the present invention, they are not interpreted in an ideal or excessively formal meaning.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an example of the technical idea of the present invention, and various modifications and variations can be made to those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.
100 : 윤곽점 변환 장치
110 : 메모리
120 : 프로세서100: contour point converter
110: memory
120: processor
Claims (16)
상기 타깃 영상에서 복수의 윤곽점들을 결정하는 단계;
상기 타깃 영상에서 상기 판재에 대응하는 2차원 평면인 판재 평면을 결정하는 단계;
상기 복수의 윤곽점들 중 하나 이상을 상기 판재 평면에 투영하여 생성된 하나 이상의 투영점들을 결정하는 단계; 및
상기 투영점들에 대한 상기 판재 평면 상의 좌표를 계산하는 단계를 포함하고,
상기 타깃 영상에서 상기 판재 평면을 결정하는 단계는,
i) 상기 카메라 또는 ii) 상기 타깃 영상에서 추출된 복수의 연속된 이미지들로부터 추출된 깊이 정보를 기초로 상기 판재 평면을 결정하고,
상기 판재 평면은,
상기 카메라의 위치를 원점으로 하고, 상기 타깃 영상의 가로 방향 축인 x축, 상기 타깃 영상의 세로 방향 축인 y축 및 상기 카메라의 렌즈가 바라보는 방향 축인 z축으로 결정되는 좌표계인 카메라 좌표계 상에서 다음을 만족하는 로 결정되고,
상기 은 상기 판재 평면의 법선 벡터이고,
상기 은 상기 판재 평면 위의 임의의 한 점이고,
상기 투영점들을 결정하는 단계는,
상기 복수의 윤곽점들 중 하나에 해당하는 이미지 좌표인 의 상기 카메라 좌표계 상의 좌표를 구하기 위한 샘플 을 다음과 같이 계산하고,
여기서 이고,
는 상기 카메라의 수평 초점거리이고,
는 상기 카메라의 수직 초점거리이고,
는 상기 카메라의 비대칭 계수(skew coefficient)이고,
는 상기 카메라의 투영 중심점의 상기 x축 상의 좌표값이고,
는 상기 투영 중심점의 상기 y축 상의 좌표값인, 윤곽점 변환 방법.
Obtaining a target image, which is an image obtained by capturing a plate material through a camera;
determining a plurality of contour points in the target image;
determining a plate material plane that is a two-dimensional plane corresponding to the plate material in the target image;
determining one or more projected points generated by projecting one or more of the plurality of contour points onto the plate material plane; and
Calculating coordinates on the plate material plane for the projected points;
Determining the plate material plane in the target image,
i) determining the plate material plane based on depth information extracted from the camera or ii) a plurality of consecutive images extracted from the target image;
The plate plane is
On the camera coordinate system, which is a coordinate system determined by the x-axis, which is the horizontal axis of the target image, the y-axis, which is the vertical axis of the target image, and the z-axis, which is the axis in the direction in which the lens of the camera is viewed, with the position of the camera as the origin, the following satisfied is determined by
remind Is the normal vector of the plate material plane,
remind Is an arbitrary point on the plate material plane,
The step of determining the projected points is,
Image coordinates corresponding to one of the plurality of contour points Sample for obtaining coordinates on the camera coordinate system of is calculated as follows,
here ego,
is the horizontal focal length of the camera,
is the vertical focal length of the camera,
is the skew coefficient of the camera,
Is the coordinate value on the x-axis of the projection center point of the camera,
is a coordinate value on the y-axis of the projection center point, the contour point conversion method.
상기 투영점들을 결정하는 단계는,
상기 깊이 정보가 상기 타깃 영상에 포함된 픽셀들 중 설정된 임계값 미만의 픽셀에 대한 깊이 정보를 포함하는 경우,
상기 카메라의 상기 카메라 좌표계 상에서의 위치를 나타내는 위치 벡터 에서 상기 샘플 를 향하는 방향 벡터 를 다음과 같이 결정하고,
상기 위치 벡터 에서 상기 방향 벡터 방향으로 뻗은 직선이 상기 판재 평면과 이루는 교점 을 다음과 같이 결정하는, 윤곽점 변환 방법.
According to claim 1,
The step of determining the projected points is,
When the depth information includes depth information on pixels less than a set threshold among pixels included in the target image,
A position vector representing the position of the camera on the camera coordinate system from the above sample direction vector towards is determined as follows,
the position vector the direction vector from The point of intersection of the straight line extending in the direction and the plane of the plate Contour point conversion method, which determines as follows.
상기 투영점들을 결정하는 단계는,
상기 깊이 정보가 상기 타깃 영상에 포함된 픽셀들 중 설정된 임계값 이상의 픽셀에 대한 깊이 정보를 포함하는 경우,
상기 에 대한 상기 카메라 좌표계 상의 좌표인 를 다음과 같이 결정하고,
는 상기 타깃 영상에서 상기 에 대응되는 위치의 좌표이고,
는 상기 에서 상기 z축과 수직인 평면까지의 수직 거리이고,
상기 카메라의 상기 카메라 좌표계 상에서의 위치를 나타내는 위치 벡터 에서, 상기 를 향하는 방향 벡터 를 다음과 같이 결정하고,
상기 위치 벡터 에서 상기 방향 벡터 방향인 직선이 상기 판재 평면과 이루는 교점 을 다음과 같이 결정하는, 윤곽점 변환 방법.
According to claim 1,
The step of determining the projected points is,
When the depth information includes depth information about a pixel equal to or greater than a set threshold among pixels included in the target image,
remind Coordinates on the camera coordinate system for is determined as follows,
In the target image, is the coordinates of the position corresponding to
said is the vertical distance from to the plane perpendicular to the z-axis,
A position vector representing the position of the camera on the camera coordinate system in the above direction vector towards is determined as follows,
the position vector the direction vector from The point of intersection of the straight line in the direction and the plane of the plate Contour point conversion method, which determines as follows.
상기 와 상기 의 거리가 설정된 임계 거리를 초과하는 경우, 상기 는 상기 투영점들에서 제외되는, 윤곽점 변환 방법.
According to claim 6,
remind and above If the distance of exceeds the set threshold distance, the Is excluded from the projection points, the contour point conversion method.
상기 복수의 윤곽점들 중 하나 이상에 대한 상기 판재 평면 상에서의 좌표를 계산하는 단계는,
상기 판재 평면의 법선 벡터및 상기 판재 평면에 평행한 단위 벡터 에 수직인 벡터 를 다음과 같이 구하고,
상기 및 상기 판재 평면 상의 한 점 을 기초로 상기 카메라 좌표계 상의 점을 상기 판재 평면 상에서의 좌표로 변환하는 행렬 을 다음과 같이 구하고,
상기 투영점들에 대한 상기 판재 평면 상에서의 좌표 를 다음과 같이 결정하는, 윤곽점 변환 방법.
According to claim 1,
Calculating coordinates on the plate material plane for one or more of the plurality of contour points,
Normal vector of the plate plane and a unit vector parallel to the plate plane. vector perpendicular to is obtained as follows,
remind and a point on the plate plane. A matrix for converting points on the camera coordinate system to coordinates on the plate material plane based on is obtained as follows,
Coordinates on the plate plane for the projected points Contour point conversion method for determining as follows.
상기 타깃 영상에서 복수의 윤곽점들을 결정하고,
상기 타깃 영상에서 상기 판재에 대응하는 2차원 평면인 판재 평면을 결정하고,
상기 복수의 윤곽점들 중 하나 이상을 상기 판재 평면에 투영하여 생성된 하나 이상의 투영점들을 결정하고,
상기 투영점들에 대한 상기 판재 평면 상의 좌표를 계산하는 프로세서;를 포함하고,
상기 프로세서는,
i) 상기 카메라 또는 ii) 상기 타깃 영상으로부터 추출된 복수의 연속된 이미지들로부터 획득한 깊이 정보를 기초로 상기 판재 평면을 결정하고,
상기 판재 평면은,
상기 카메라의 위치를 원점으로 하고, 상기 타깃 영상의 가로 방향 축인 x축, 상기 타깃 영상의 세로 방향 축인 y축 및 상기 카메라의 렌즈가 바라보는 방향 축인 z축으로 결정되는 좌표계인 카메라 좌표계 상에서 다음을 만족하는 로 결정되고,
상기 은 상기 판재 평면의 법선 벡터이고,
상기 은 상기 판재 평면 위의 임의의 한 점이고,
상기 프로세서는,
상기 복수의 윤곽점들 중 하나에 해당하는 이미지 좌표인 의 상기 카메라 좌표계 상의 좌표를 구하기 위한 샘플 을 다음과 같이 계산하고,
여기서 이고,
는 상기 카메라의 수평 초점거리이고,
는 상기 카메라의 수직 초점거리이고,
는 상기 카메라의 비대칭 계수(skew coefficient)이고,
는 상기 카메라의 투영 중심점의 상기 x축 상의 좌표값이고,
는 상기 투영 중심점의 상기 y축 상의 좌표값인, 윤곽점 변환 장치.
a memory for storing a target image, which is an image obtained by capturing a plate material through a camera; and
determining a plurality of contour points in the target image;
Determining a plate material plane, which is a two-dimensional plane corresponding to the plate material, in the target image;
determining one or more projection points generated by projecting one or more of the plurality of contour points onto the plate material plane;
A processor for calculating coordinates of the projected points on the plate material plane;
the processor,
i) determining the plate material plane based on depth information obtained from the camera or ii) a plurality of consecutive images extracted from the target image;
The plate plane is
On the camera coordinate system, which is a coordinate system determined by the x-axis, which is the horizontal axis of the target image, the y-axis, which is the vertical axis of the target image, and the z-axis, which is the axis in the direction in which the lens of the camera is viewed, with the position of the camera as the origin, the following satisfied is determined by
remind Is the normal vector of the plate material plane,
remind Is an arbitrary point on the plate material plane,
the processor,
Image coordinates corresponding to one of the plurality of contour points Sample for obtaining coordinates on the camera coordinate system of is calculated as follows,
here ego,
is the horizontal focal length of the camera,
is the vertical focal length of the camera,
is the skew coefficient of the camera,
Is the coordinate value on the x-axis of the projection center point of the camera,
is a coordinate value of the projection center point on the y-axis.
상기 프로세서는,
상기 깊이 정보가 상기 타깃 영상에 포함된 픽셀들 중 설정된 임계값 미만의 픽셀에 대한 깊이를 포함하는 경우,
상기 카메라 좌표계 상에서 상기 카메라의 위치를 나타내는 위치 벡터 에서 상기 샘플 를 향하는 방향 벡터 를 다음과 같이 결정하고,
상기 위치 벡터 에서 상기 방향 벡터 방향으로 뻗은 직선이 상기 판재 평면과 이루는 교점 을 다음과 같이 결정하는, 윤곽점 변환 장치.
According to claim 9,
the processor,
When the depth information includes a depth of a pixel less than a set threshold among pixels included in the target image,
A position vector representing the position of the camera on the camera coordinate system from the above sample direction vector towards is determined as follows,
the position vector the direction vector from The point of intersection of the straight line extending in the direction and the plane of the plate A contour point conversion device that determines as follows.
상기 프로세서는,
상기 깊이 정보가 상기 타깃 영상에 포함된 픽셀들 중 설정된 임계값 이상의 픽셀에 대한 깊이를 포함하는 경우,
상기 에 대한 상기 카메라 좌표계 상의 좌표인 를 다음과 같이 결정하고,
는 상기 타깃 영상에서 상기 에 대응되는 위치의 좌표이고,
는 상기 에서 상기 z축과 수직인 평면까지의 수직 거리이고,
상기 카메라의 상기 카메라 좌표계 상에서의 위치를 나타내는 위치 벡터 에서, 상기 를 향하는 방향 벡터 를 다음과 같이 결정하고,
상기 위치 벡터 에서 상기 방향 벡터 방향인 직선이 상기 판재 평면과 이루는 교점 을 다음과 같이 결정하는, 윤곽점 변환 장치.
According to claim 9,
the processor,
When the depth information includes a depth of a pixel greater than or equal to a set threshold among pixels included in the target image,
remind Coordinates on the camera coordinate system for is determined as follows,
In the target image, is the coordinates of the position corresponding to
said is the vertical distance from to the plane perpendicular to the z-axis,
A position vector representing the position of the camera on the camera coordinate system in the above direction vector towards is determined as follows,
the position vector the direction vector from The point of intersection of the straight line in the direction and the plane of the plate A contour point conversion device that determines as follows.
상기 와 상기 의 거리가 설정된 임계 거리를 초과하는 경우, 상기 는 상기 투영점들에서 제외되는, 윤곽점 변환 장치.
According to claim 14,
remind and above If the distance of exceeds the set threshold distance, the Is excluded from the projected points, the contour point conversion device.
상기 프로세서는,
상기 판재 평면의 법선 벡터 및 상기 판재 평면에 평행한 단위 벡터 에 수직인 벡터 를 다음과 같이 구하고,
상기및 상기 판재 평면 상의 한 점 을 기초로 상기 카메라 좌표계 상의 점을 상기 판재 평면 상에서의 좌표로 변환하는 행렬 을 다음과 같이 구하고,
상기 투영점들에 대한 상기 판재 평면 상에서의 좌표 를 다음과 같이 결정하는, 윤곽점 변환 장치.
According to claim 9,
the processor,
Normal vector of the plate plane and a unit vector parallel to the plate plane. vector perpendicular to is obtained as follows,
remind and a point on the plate plane. A matrix for converting points on the camera coordinate system to coordinates on the plate material plane based on is obtained as follows,
Coordinates on the plate plane for the projected points A contour point conversion device that determines as follows.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210175602A KR102481756B1 (en) | 2021-12-09 | 2021-12-09 | Apparatus and method for transforming contour point |
PCT/KR2021/018782 WO2023106472A1 (en) | 2021-12-09 | 2021-12-10 | Contour point transformation apparatus and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210175602A KR102481756B1 (en) | 2021-12-09 | 2021-12-09 | Apparatus and method for transforming contour point |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102481756B1 true KR102481756B1 (en) | 2022-12-27 |
Family
ID=84568222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210175602A KR102481756B1 (en) | 2021-12-09 | 2021-12-09 | Apparatus and method for transforming contour point |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102481756B1 (en) |
WO (1) | WO2023106472A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218226A (en) * | 2009-03-17 | 2010-09-30 | Suzuki Motor Corp | Measurement map generation device and traveling environment confirmation device |
KR20180121259A (en) * | 2017-04-28 | 2018-11-07 | (주)대우루컴즈 | Distance detecting device of camera mounted computer and its method |
KR20210148191A (en) * | 2019-03-19 | 2021-12-07 | 보스턴 다이나믹스, 인크. | detection of boxes |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4138943B2 (en) * | 1998-06-04 | 2008-08-27 | 株式会社アマダ | Plate shape recognition device |
JP2019101753A (en) * | 2017-12-01 | 2019-06-24 | キヤノン株式会社 | Object shape measurement device and method for controlling the same, and program |
-
2021
- 2021-12-09 KR KR1020210175602A patent/KR102481756B1/en active IP Right Grant
- 2021-12-10 WO PCT/KR2021/018782 patent/WO2023106472A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218226A (en) * | 2009-03-17 | 2010-09-30 | Suzuki Motor Corp | Measurement map generation device and traveling environment confirmation device |
KR20180121259A (en) * | 2017-04-28 | 2018-11-07 | (주)대우루컴즈 | Distance detecting device of camera mounted computer and its method |
KR20210148191A (en) * | 2019-03-19 | 2021-12-07 | 보스턴 다이나믹스, 인크. | detection of boxes |
Also Published As
Publication number | Publication date |
---|---|
WO2023106472A1 (en) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109242903B (en) | Three-dimensional data generation method, device, equipment and storage medium | |
CN108564082B (en) | Image processing method, device, server and medium | |
EP3627181A1 (en) | Multi-sensor calibration method, multi-sensor calibration device, computer device, medium and vehicle | |
US11048913B2 (en) | Focusing method, device and computer apparatus for realizing clear human face | |
US10909719B2 (en) | Image processing method and apparatus | |
US10776657B2 (en) | Template creation apparatus, object recognition processing apparatus, template creation method, and program | |
CN106845508B (en) | The methods, devices and systems of release in a kind of detection image | |
CN108573471B (en) | Image processing apparatus, image processing method, and recording medium | |
JP7422105B2 (en) | Obtaining method, device, electronic device, computer-readable storage medium, and computer program for obtaining three-dimensional position of an obstacle for use in roadside computing device | |
CN110264523B (en) | Method and equipment for determining position information of target image in test image | |
CN111563950A (en) | Texture mapping strategy determination method and device and computer readable storage medium | |
CN111612852A (en) | Method and apparatus for verifying camera parameters | |
CN110390295B (en) | Image information identification method and device and storage medium | |
US11017557B2 (en) | Detection method and device thereof | |
CN108427110B (en) | Distance measurement method and device and electronic equipment | |
KR102481756B1 (en) | Apparatus and method for transforming contour point | |
CN109934185B (en) | Data processing method and device, medium and computing equipment | |
CN116017129A (en) | Method, device, system, equipment and medium for adjusting angle of light supplementing lamp | |
CN113033426B (en) | Dynamic object labeling method, device, equipment and storage medium | |
CN115511870A (en) | Object detection method and device, electronic equipment and storage medium | |
US20220130138A1 (en) | Training data generation apparatus, method and program | |
CN113870292A (en) | Edge detection method and device for depth image and electronic equipment | |
CN112559342A (en) | Method, device and equipment for acquiring picture test image and storage medium | |
KR102611481B1 (en) | Method and apparatus for calculating actual distance between coordinates in iamge | |
JP7441989B1 (en) | Meter reading device, meter reading method and meter reading program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |