KR20220160314A - Method and apparatus for setting data matrix coordianate - Google Patents

Method and apparatus for setting data matrix coordianate Download PDF

Info

Publication number
KR20220160314A
KR20220160314A KR1020210068379A KR20210068379A KR20220160314A KR 20220160314 A KR20220160314 A KR 20220160314A KR 1020210068379 A KR1020210068379 A KR 1020210068379A KR 20210068379 A KR20210068379 A KR 20210068379A KR 20220160314 A KR20220160314 A KR 20220160314A
Authority
KR
South Korea
Prior art keywords
cryobox
data matrix
rgb image
lattices
data
Prior art date
Application number
KR1020210068379A
Other languages
Korean (ko)
Other versions
KR102624785B1 (en
Inventor
김건우
정동주
장은학
Original Assignee
주식회사 스마트 잭
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스마트 잭 filed Critical 주식회사 스마트 잭
Priority to KR1020210068379A priority Critical patent/KR102624785B1/en
Publication of KR20220160314A publication Critical patent/KR20220160314A/en
Application granted granted Critical
Publication of KR102624785B1 publication Critical patent/KR102624785B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)

Abstract

According to the present invention, disclosed are a data matrix recognition method and apparatus which can identify a plurality of samples stored in a cryobox. According to the present invention, the apparatus includes a processor and a memory connected to the processor, wherein the memory stores program instructions executed by the processor to perform: (a) generating a binarized image by applying a first binarization threshold to an RGB image obtained by photographing a plurality of data matrices corresponding to a plurality of columns stored in a cryobox; (b) extracting a set of points included in the binarized image; (c) extracting a first shape set corresponding to the shape of the data matrix by removing adjacent points and concave surfaces from the extracted point set; (d) estimating one or more data matrices by applying a preset rule to the extracted first shape set; (e) decoding the estimated one or more data matrices; and (f) generating a binarized image by applying a binarization threshold having a value sequentially larger than the first binarization threshold to the RGB image, and repeating steps (b) to (e).

Description

데이터 매트릭스 좌표 설정 방법 및 장치{Method and apparatus for setting data matrix coordianate}Method and apparatus for setting data matrix coordinates {Method and apparatus for setting data matrix coordianate}

본 발명은 데이터 매트릭스 좌표 설정 방법 및 장치에 관한 것으로서, 보다 상세하게는 크라이오 박스에 수납된 복수의 시료에 관한 정보를 빠르게 획득할 수 있는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for setting data matrix coordinates, and more particularly, to a method and apparatus capable of rapidly obtaining information on a plurality of samples stored in a cryobox.

일반적으로 미생물, 항체 및 바이오 합성물질과 같은 시료는 길게 형성된 컬럼에 보관되고, 복수의 컬럼이 복수의 격자를 갖는 크라이오 박스(cryo box)에 수납되어 보관된다. In general, samples such as microorganisms, antibodies, and biosynthetic materials are stored in elongated columns, and a plurality of columns are accommodated and stored in a cryo box having a plurality of grids.

과거에 시료를 확인하기 위해서는 컬럼을 개봉하고 시료 분석을 수행해야 하나, 최근에는 개별 컬럼 덮개에 시료 식별을 위한 데이터 매트릭스(2차원 코드)를 부착하고 있다. In the past, in order to identify a sample, it was necessary to open the column and perform sample analysis, but recently, a data matrix (two-dimensional code) for sample identification is attached to each column cover.

그러나 종래에는 개별 컬럼을 복수의 격자 내에서 꺼내어 데이터 매트릭스를 개별적으로 인식해야 하기 때문에 번거로운 문제점이 있었다. However, in the prior art, there is a cumbersome problem because the data matrix must be individually recognized by taking out individual columns from a plurality of grids.

한편, 데이터 매트릭스를 이용하여 특정 공간에 보관된 복수의 객체를 인식하는 방식이 제안되기도 하였으나, 좌표를 기준으로 하기 때문에 이를 작은 사이즈의 시료 보관을 위한 크라이오 박스에 적용하는데 한계가 있다. On the other hand, a method of recognizing a plurality of objects stored in a specific space using a data matrix has been proposed, but since it is based on coordinates, there is a limit to applying it to a cryobox for storing small-sized specimens.

또한, 복수의 격자에 수납된 각 컬럼의 데이터 매트릭스를 인식한다고 하더라도 해당 데이터 매트릭스의 위치를 정확히 알지 못하는 경우 개별적으로 꺼내어 인식할 수밖에 없는 문제점이 있다. In addition, even if the data matrix of each column stored in a plurality of grids is recognized, if the position of the corresponding data matrix is not accurately known, there is a problem in that it is inevitable to take out and recognize the data matrix individually.

대한민국공개특허 KR 10-1713134Republic of Korea Patent Publication KR 10-1713134

상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 크라이오 박스에 보관된 복수의 시료를 한번에 식별할 수 있는 데이터 매트릭스 좌표 설정 방법 및 장치를 제안하고자 한다. In order to solve the above problems of the prior art, the present invention proposes a data matrix coordinate setting method and apparatus capable of identifying a plurality of samples stored in a cryobox at once.

상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치로서, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 크라이오 박스 내에 형성된 복수의 격자에 대한 격자 수, 격자 높이, 격자 너비 및 상기 크라이오 박스의 최상단에서 상기 복수의 격자의 상부면까지의 깊이를 저장하고, 상기 복수의 격자에 수납된 복수의 컬럼에 대응되는 복수의 데이터 매트릭스를 촬영한 RGB 이미지를 로드하고, 상기 RGB 이미지로부터 상기 크라이오 박스의 최상단에 상응하는 최외곽점 관련 정보를 획득하고, 상기 RGB 이미지 및 상기 깊이를 이용하여 상기 복수의 격자의 상부면에 해당하는 격자 표면을 획득하고, 상기 격자 수를 이용하여 상기 격자 표면을 균등 분할하여 상기 RGB 이미지 내에서 상기 복수의 격자 각각의 중심점을 설정하고, 상기 RGB 이미지에서 얻어진 상기 복수의 데이터 매트릭스에 상응하는 데이터 매트릭스 표면을 미리 설정된 시차 보정값을 반영하여 상기 격자 표면으로 투영 변환하고, 상기 투영 변환된 복수의 데이터 매트릭스 각각과 상기 복수의 격자 각각의 중심점과의 거리를 비교하고, 상기 투영 변환된 복수의 데이터 매트릭스 각각과 가장 인접한 중심점에 대한 좌표를 상기 복수의 데이터 매트릭스 각각의 좌표로 설정하도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치가 제공된다. In order to achieve the above object, according to an embodiment of the present invention, an apparatus for setting data matrix coordinates in a cryobox, comprising: a processor; and a memory connected to the processor, wherein the memory includes a number of lattices, a lattice height, a lattice width of a plurality of lattices formed in the cryobox, and a distance from the top of the cryobox to an upper surface of the plurality of lattices. A depth is stored, an RGB image obtained by photographing a plurality of data matrices corresponding to a plurality of columns stored in the plurality of grids is loaded, and information related to an outermost point corresponding to the top of the cryo box is obtained from the RGB image. obtaining a lattice surface corresponding to an upper surface of the plurality of lattices using the RGB image and the depth, and equally dividing the lattice surface using the number of lattices to divide the lattice surface into the plurality of lattices in the RGB image Each center point is set, and a data matrix surface corresponding to the plurality of data matrices obtained from the RGB image is projected and converted to the grid surface by reflecting a preset parallax correction value, and each of the plurality of data matrices obtained from the projection and conversion is A program executed by the processor to compare distances to the center point of each of the plurality of lattices, and to set coordinates of a center point closest to each of the plurality of data matrices subjected to projection transformation as coordinates of each of the plurality of data matrices. An apparatus for setting data matrix coordinates in a cryobox storing instructions is provided.

상기 시차 보정값은, 카메라 렌즈와 상기 복수의 격자의 수직 거리(H) 및 상기 격자 높이(h)에 의해 결정될 수 있다. The parallax correction value may be determined by a vertical distance (H) of the camera lens and the plurality of gratings and the grating height (h).

상기 H가 미리 설정된 범위 내에 위치하는 경우, 상기 시차 보정값은 상수값으로 결정될 수 있다. When H is located within a preset range, the parallax correction value may be determined as a constant value.

상기 H가 180 내지 210mm 범위에 있는 경우, 상기 시차 보정값은 상수값으로 결정될 수 있다. When H is in the range of 180 to 210 mm, the parallax correction value may be determined as a constant value.

상기 프로그램 명령어들은, 상기 RGB 이미지에 제1 이진화 임계치를 적용하여 이진화 이미지를 생성하고, 상기 이진화 이미지에 포함된 점집합을 추출하고, 상기 추출된 점집합에서 인접점 및 오목면 제거를 통해 상기 데이터 매트릭스의 형상에 상응하는 제1 형상 집합을 추출하고, 상기 추출된 제1 형상 집합에 대해 미리 설정된 규칙을 적용하여 하나 이상의 데이터 매트릭스를 추정하고, 상기 추정된 하나 이상의 데이터 매트릭스를 디코딩할 수 있다. The program commands generate a binarized image by applying a first binarization threshold to the RGB image, extract a point set included in the binarized image, and remove adjacent points and concave surfaces from the extracted point set to obtain the data. A first shape set corresponding to the shape of the matrix may be extracted, one or more data matrices may be estimated by applying a preset rule to the extracted first shape set, and the estimated one or more data matrices may be decoded.

상기 프로그램 명령어들은, 상기 RGB 이미지에 상기 제1 이진화 임계치보다 순차적으로 큰 값을 갖는 이진화 임계치를 적용하여 이진화 이미지를 생성하여 상기 점집합 추출, 제1 형상 집합 추출, 데이터 매트릭스 추정 및 디코딩을 반복 수행할 수 있다. The program instructions generate a binarized image by applying a binarization threshold having a value sequentially greater than the first binarization threshold to the RGB image, and repeatedly perform point set extraction, first shape set extraction, data matrix estimation, and decoding. can do.

상기 프로그램 명령어들은, 상기 복수의 격자 중 하나에 수납된 컬럼의 수납 방향에 따른 컬럼 벡터에 의한 좌표 설정 오차를 방지하기 위해, 상기 컬럼 벡터의 크기는 격자 너비의 절반 이하로 설정될 수 있다. In the program instructions, the size of the column vector may be set to less than half of the grid width in order to prevent a coordinate setting error caused by the column vector according to the storage direction of the column stored in one of the plurality of grids.

상기 컬럼 벡터에 의한 좌표 설정 오차를 방지하기 위해, 상기 격자 너비(w) 및 격자 높이(h)는 아래의 수학식의 관계를 갖는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.In order to prevent a coordinate setting error due to the column vector, the grid width (w) and the grid height (h) have a relation of the following equation.

[수학식][mathematical expression]

Figure pat00001
Figure pat00001

여기서, d는 컬럼의 반지름, L은 컬럼의 높이임where d is the radius of the column and L is the height of the column

본 발명의 다른 측면에 따르면, 프로세서 및 메모리를 포함하는 장치에서 크라이오 박스 내의 데이터 매트릭스의 좌표를 설정하는 방법으로서, 크라이오 박스 내에 형성된 복수의 격자에 대한 격자 수, 격자 높이, 격자 너비 및 상기 크라이오 박스의 최상단에서 상기 복수의 격자의 상부면까지의 깊이를 저장하는 단계; 상기 복수의 격자에 수납된 복수의 컬럼에 대응되는 복수의 데이터 매트릭스를 촬영한 RGB 이미지를 로드하는 단계; 상기 RGB 이미지로부터 상기 크라이오 박스의 최상단에 상응하는 최외곽점 관련 정보를 획득하는 단계; 상기 RGB 이미지 및 상기 깊이를 이용하여 상기 복수의 격자의 상부면에 해당하는 격자 표면에 관한 정보를 획득하는 단계; 상기 격자 수를 이용하여 상기 격자 표면을 균등 분할하여 상기 RGB 이미지 내에서 상기 복수의 격자 각각의 중심점을 설정하는 단계; 상기 RGB 이미지에서 얻어진 상기 복수의 데이터 매트릭스에 상응하는 데이터 매트릭스 표면을 미리 설정된 시차 보정값을 반영하여 상기 격자 표면으로 투영 변환하는 단계; 상기 투영 변환된 복수의 데이터 매트릭스 각각과 상기 복수의 격자 각각의 중심점과의 거리를 비교하는 단계; 및 상기 투영 변환된 복수의 데이터 매트릭스 각각과 가장 인접한 중심점에 대한 좌표를 상기 복수의 데이터 매트릭스 각각의 좌표로 설정하는 단계를 포함하는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 방법이 제공된다. According to another aspect of the present invention, a method for setting coordinates of a data matrix in a cryobox in a device including a processor and a memory, comprising the number of lattices, lattice height, lattice width and the storing depths from the top of the cryobox to upper surfaces of the plurality of gratings; loading an RGB image of a plurality of data matrices corresponding to a plurality of columns stored in the plurality of grids; obtaining information related to an outermost point corresponding to the top of the cryobox from the RGB image; obtaining information about a grid surface corresponding to an upper surface of the plurality of grids using the RGB image and the depth; setting a center point of each of the plurality of lattices in the RGB image by equally dividing the lattice surface using the number of lattices; projecting and transforming a data matrix surface corresponding to the plurality of data matrices obtained from the RGB image into the grid surface by reflecting a preset parallax correction value; comparing a distance between each of the plurality of projection-transformed data matrices and a center point of each of the plurality of lattices; and setting coordinates of a central point closest to each of the plurality of projection-transformed data matrices as coordinates of each of the plurality of data matrices.

본 발명의 또 다른 측면에 따르면, 상기한 방법을 수행하는 컴퓨터 판독 가능한 프로그램이 제공된다. According to another aspect of the present invention, a computer readable program for performing the method described above is provided.

본 발명에 따르면, 복수의 데이터 매트릭스와 복수의 격자를 매칭시키기 때문에 복수의 데이터 매트릭스를 빠르고 정확하게 인식할 수 있는 장점이 있다. According to the present invention, since a plurality of data matrices and a plurality of grids are matched, a plurality of data matrices can be quickly and accurately recognized.

도 1은 복수의 격자를 갖는 크라이오 박스 및 컬럼이 수납된 상태를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터 매트릭스 좌표 설정 장치의 구성을 도시한 도면이다.
도 3은 본 실시예에 따른 장치의 좌표 설정 과정을 도시한 도면이다.
도 4 내지 도 5는 본 실시예에 따른 크라이오 박스 구성 및 여러 표면을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 시차 보정값을 설명하기 위한 도면이다.
도 7은 격자에 컬럼이 꽂힌 방향에 따른 좌표 설정 오인식 과정을 설명하기 위한 도면이다.
도 8은 격자에 수납된 컬럼의 꽂힌 방향에 따른 컬럼 벡터를 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 데이터 매트릭스 인식 과정을 나타낸 순서도이다.
도 10은 55에서 155까지 5 단위로 임계치를 순차적으로 변경하여 얻어진 이진화 이미지를 나타낸 것이다.
도 11은 본 실시예에 따른 RGB 이미지에서 데이터 매트릭스를 추정하는 과정을 순차적으로 나타낸 도면이다.
1 is a view showing a state in which cryo boxes and columns having a plurality of grids are accommodated.
2 is a diagram showing the configuration of a data matrix coordinate setting device according to an embodiment of the present invention.
3 is a diagram illustrating a coordinate setting process of the device according to the present embodiment.
4 to 5 are diagrams illustrating a cryobox configuration and various surfaces according to the present embodiment.
6 is a diagram for explaining a parallax correction value according to an embodiment of the present invention.
7 is a diagram for explaining a coordinate setting misrecognition process according to a direction in which a column is inserted into a grid.
8 is a view showing column vectors according to the insertion direction of the columns accommodated in the lattice.
9 is a flowchart illustrating a data matrix recognition process according to an embodiment of the present invention.
10 shows a binarized image obtained by sequentially changing the threshold value from 55 to 155 in units of 5.
11 is a diagram sequentially illustrating a process of estimating a data matrix from an RGB image according to an exemplary embodiment.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명은 복수의 컬럼에 부착된 데이터 매트릭스를 복수의 격자 각각에 매칭시켜 저장할 수 있도록 하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for matching and storing a data matrix attached to a plurality of columns to each of a plurality of grids.

도 1은 복수의 격자를 갖는 크라이오 박스 및 컬럼이 수납된 상태를 나타낸 도면이다. 1 is a view showing a state in which cryo boxes and columns having a plurality of grids are accommodated.

도 1에 도시된 바와 같이, 크라이오 박스 내에는 소정 높이 및 너비를 갖는 복수의 격자가 형성되고, 각 격자 중 적어도 일부에 시료를 보관하는 컬럼이 수납되며, 컬럼의 상단에는 시료 식별을 위한 데이터 매트릭스가 부착된다. As shown in FIG. 1, a plurality of grids having predetermined heights and widths are formed in the cryobox, and at least some of the grids contain columns for storing samples, and data for sample identification are placed at the top of the columns. Matrix is attached.

크라이오 박스에 복수의 컬럼이 수납되는 경우, 컬럼의 기울어짐, 조도, 그라이언트 등의 영향으로 각 카트리지에 부착된 데이터 매트릭스를 한번에 인식하는 것이 용이하지 않다. 또한, 복수의 데이터 매트릭스를 동시에 인식하였다고 하더라도 해당 데이터 매트릭스에 대응하는 격자 위치를 대응시켜 저장해야 추후 사용자가 필요로 하는 컬럼을 쉽게 찾을 수 있다. When a plurality of columns are accommodated in the cryobox, it is not easy to recognize the data matrix attached to each cartridge at once due to the influence of tilt, roughness, gradient, and the like of the columns. In addition, even if a plurality of data matrices are recognized at the same time, a grid position corresponding to the corresponding data matrix must be stored in correspondence to a column required by the user in the future to be easily found.

이를 위해, 본 발명은 격자에 관한 정보 및 크라이오 박스를 촬영한 이미지를 이용하여 각 데이터 매트릭스에 대응되는 격자를 매칭시킨다. To this end, the present invention matches the lattice corresponding to each data matrix using information about the lattice and an image of a cryobox.

이하에서는, 격자에 대응하여 데이터 매트릭스의 좌표를 설정하는 과정을 먼저 설명하고, 데이터 매트릭스의 디코딩에 대해서도 추가적으로 설명한다. Hereinafter, a process of setting the coordinates of the data matrix corresponding to the lattice will be first described, and decoding of the data matrix will be additionally described.

도 2는 본 발명의 일 실시예에 따른 데이터 매트릭스 좌표 설정 장치의 구성을 도시한 도면이고, 도 3은 본 실시예에 따른 장치의 좌표 설정 과정을 도시한 도면이다. 2 is a diagram showing the configuration of a data matrix coordinate setting device according to an embodiment of the present invention, and FIG. 3 is a diagram showing a coordinate setting process of the device according to this embodiment.

도 2를 참조하면, 본 실시예에 따른 데이터 매트릭스 인식 장치는 프로세서(200) 및 메모리(202)를 포함할 수 있다. Referring to FIG. 2 , the apparatus for recognizing data matrix according to the present embodiment may include a processor 200 and a memory 202 .

여기서, 프로세서(200)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다. Here, the processor 200 may include a central processing unit (CPU) capable of executing a computer program or other virtual machines.

메모리(202)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(202)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.Memory 202 may include a non-volatile storage device such as a non-removable hard drive or a removable storage device. The removable storage device may include a compact flash unit, a USB memory stick, and the like. Memory 202 may also include volatile memory, such as various random access memories.

이와 같은 메모리(202)에는 프로세서(200)에 의해 실행 가능한 프로그램 명령어들이 저장된다. Program instructions executable by the processor 200 are stored in such a memory 202 .

본 실시예에 따른 프로그램 명령어들은, 도 3에 도시된 바와 같은 과정을 수행한다. Program instructions according to this embodiment perform a process as shown in FIG. 3 .

도 3을 참조하면, 본 실시예에 따른 장치는 크라이오 박스 내에 형성된 복수의 격자에 대한 격자 수, 격자 높이, 격자 너비 및 크라이오 박스의 최상단에서 상기 복수의 격자의 상부면까지의 깊이와 같은 격자 관련 정보를 저장한다(단계 300).Referring to FIG. 3 , the apparatus according to the present embodiment has the same number of lattices, lattice height, lattice width, and depth from the top of the cryobox to the upper surface of the plurality of lattices of the plurality of lattices formed in the cryobox. Grid-related information is stored (step 300).

도 4에 도시된 바와 같이, 여기서, 격자 수는 컬럼을 수납할 수 있는 격자의 개수이고, 격자 높이(h) 및 격자 너비(w)는 개별 격자의 높이와 가로/세로 방향 크기이다. 일반적으로 격자는 정사각형으로 이루어지며, 가로 및 세로 너비는 같으나, 반드시 이에 한정되지는 않는다. As shown in FIG. 4 , here, the number of lattices is the number of lattices capable of accommodating columns, and the lattice height (h) and lattice width (w) are the height and horizontal/vertical size of individual lattices. In general, the grid is formed of a square, and horizontal and vertical widths are the same, but it is not necessarily limited thereto.

또한, 일반적인 크라이오 박스는 최상단으로부터 소정 거리가 이격된 위치에격자의 상부면이 위치하며, 본 실시예에 따른 장치는 크라이오 박스의 최상단에서 상기 복수의 격자의 상부면까지의 깊이도 격자 관련 정보로서 저장한다. In addition, in a general cryobox, the upper surface of the grid is located at a position spaced apart from the top by a predetermined distance, and in the apparatus according to the present embodiment, the depth from the top of the cryobox to the upper surface of the plurality of grids is related to the grid. stored as information.

다음으로서, 본 실시예에 따른 장치는 복수의 격자에 수납된 복수의 컬럼에 대응되는 복수의 데이터 매트릭스를 촬영한 RGB 이미지를 로드한다(단계 302). Next, the apparatus according to the present embodiment loads an RGB image obtained by photographing a plurality of data matrices corresponding to a plurality of columns stored in a plurality of grids (step 302).

사용자는 도 5에 도시된 바와 같이, RGB 이미지 상에서 크라이오 박스의 최상단에 상응하는 최외곽점을 지정할 수 있다. 여기서, 최외곽점은 크라이오 박스의 경계를 정의할 수 있는 최서점(NW point) 및 최동점(SE point)이며, 본 실시예에 따른 장치는 사용자의 선택에 따른 최외곽점 관련 정보를 획득한다(단계 304).As shown in FIG. 5 , the user may designate the outermost point corresponding to the top of the cryobox on the RGB image. Here, the outermost point is the NW point and the SE point that can define the boundary of the cryobox, and the device according to the present embodiment obtains information related to the outermost point according to the user's selection. (step 304).

이후, RGB 이미지 및 크라이오 박스의 최상단에서 상기 복수의 격자의 상부면까지 깊이를 이용하여 복수의 격자의 상부면에 해당하는 격자 표면에 관한 정보를 획득한다(단계 306).Then, information on the lattice surfaces corresponding to the upper surfaces of the plurality of lattices is obtained using the RGB image and the depth from the top of the cryobox to the upper surfaces of the plurality of lattices (step 306).

도 4 내지 도 5에 도시된 바와 같이, 단계 306에서 얻어지는 격자 표면은 격자의 상부면에 대응하는 평면에 대응되는 좌표로 정의될 수 있다. As shown in FIGS. 4 and 5 , the lattice surface obtained in step 306 may be defined by coordinates corresponding to a plane corresponding to an upper surface of the lattice.

격자 표면을 획득한 다음, 미리 저장된 격자 수를 이용하여 격자 표면을 균등 분할하여 RGB 이미지 상에서 복수의 격자 각각의 중심점을 설정한다(단계 308).After the lattice surface is obtained, the lattice surface is evenly divided using the previously stored number of lattices to set the center point of each of the plurality of lattices on the RGB image (step 308).

단계 308은 RGB 이미지 상에서 각 격자의 중심점 좌표를 설정하는 과정이다. Step 308 is a process of setting the center point coordinates of each grid on the RGB image.

본 실시예에 따른 장치는 RGB 이미지에서 얻어진 상기 복수의 데이터 매트릭스에 상응하는 데이터 매트릭스 표면(DM 표면)을 미리 설정된 시차 보정값을 반영하여 상기 격자 표면으로 투영 변환한다(단계 310).The apparatus according to the present embodiment projects and transforms a data matrix surface (DM surface) corresponding to the plurality of data matrices obtained from an RGB image into the grid surface by reflecting a preset parallax correction value (step 310).

도 4에 도시된 바와 같이, 일반적으로 데이터 매트릭스가 부착된 컬럼의 길이는 격자의 높이보다 크며 이에 따라 데이터 매트릭스가 위치하는 평면(데이터 매트릭스 표면)은 격자 표면보다 더 높게 위치한다. As shown in FIG. 4, the length of the column to which the data matrix is attached is generally greater than the height of the lattice, and accordingly, the plane (data matrix surface) on which the data matrix is located is higher than the lattice surface.

이러한 점을 고려하여, 단계 310에서는 카메라 촬영에 의한 시차를 고려하여 데이터 매트릭스 표면을 격자 표면으로 투영 변환한다. Considering this point, in step 310, the data matrix surface is projected and converted into a grid surface in consideration of the parallax caused by the camera image.

도 6은 본 발명의 일 실시예에 따른 시차 보정값을 설명하기 위한 도면이다. 6 is a diagram for explaining a parallax correction value according to an embodiment of the present invention.

도 6을 참조하면, 카메라 촬영에 의한 시차(L)는 카메라 렌즈와 격자간 거리(H), 격자 높이(h), 격자 너비(w), 실제 및 겉보기 시각(

Figure pat00002
)에 따라 다음과 같이 표현된다. Referring to FIG. 6, the parallax (L) by camera shooting is the distance between the camera lens and the grating (H), the grating height (h), the grating width (w), the actual and apparent visual angles (
Figure pat00002
) is expressed as:

Figure pat00003
Figure pat00003

수학식 1을

Figure pat00004
로 표현하면 다음과 같다. Equation 1
Figure pat00004
Expressed as:

Figure pat00005
Figure pat00005

수학식 1 및 2로부터 시차는 다음과 같이 표현할 수 있다. From Equations 1 and 2, the time difference can be expressed as follows.

Figure pat00006
Figure pat00006

수학식 3은 투영 중심으로부터 피사체가 w만큼 이동할 때, 피사체 중심이 겉보기 중심으로부터 k만큼 이동하는 것을 의미한다. Equation 3 means that when the object moves from the projection center by w, the object center moves by k from the apparent center.

여기서, 시차 보정값은 k로 정의되며, k는 카메라 렌즈와 복수의 격자의 수직 거리(H) 및 격자 높이(h)에 의해 결정된다. Here, the parallax correction value is defined as k, and k is determined by the vertical distance (H) of the camera lens and the plurality of gratings and the grating height (h).

또한, 일반적으로 사용자가 격자로부터 180 내지 210mm만큼 떨어져 촬영하는 경우, 즉, H가 180 내지 210mm인 경우, 겉보기 중심이 0.1262 내지 0.1056mm만큼 이동하며, 이에 따라 시차 보정값은 상수값으로 가정할 수 있다. In addition, generally, when the user shoots at a distance of 180 to 210 mm from the grating, that is, when H is 180 to 210 mm, the apparent center moves by 0.1262 to 0.1056 mm, and accordingly, the parallax correction value can be assumed to be a constant value. have.

이처럼 시차 보정값을 통해 투영 변환된 복수의 데이터 매트릭스 각각과 상기 복수의 격자 각각의 중심점과의 거리를 비교하고(단계 312), 투영 변환된 복수의 데이터 매트릭스 각각과 가장 인접한 중심점에 대한 좌표를 상기 복수의 데이터 매트릭스 각각의 좌표로 설정한다(단계 314). In this way, the distance between each of the plurality of data matrices projected and transformed through the parallax correction value and the center point of each of the plurality of grids is compared (step 312), and the coordinates of the center point closest to each of the plurality of projection and transformed data matrices are described above. Coordinates of each of a plurality of data matrices are set (step 314).

본 발명의 바람직한 일 실시예에 따르면, 복수의 격자 중 하나에 수납된 컬럼이 꽂힌 방향에 따른 컬럼 벡터에 의한 좌표 설정 오차를 방지하기 위해 격자의 최적 높이 및 너비를 설정할 수 있다. According to a preferred embodiment of the present invention, the optimal height and width of the lattice can be set to prevent a coordinate setting error due to a column vector according to a direction in which a column stored in one of the plurality of lattices is inserted.

여기서, 컬럼 벡터는 실제 격자 내에서 컬럼 바닥 중심과 컬럼에 부착된 데이터 매트릭스의 중심점을 연결하는 벡터로 정의될 수 있다. Here, the column vector may be defined as a vector connecting the center of the column bottom and the center point of the data matrix attached to the column in the actual grid.

도 7은 격자에 컬럼이 꽂힌 방향에 따른 좌표 설정 오인식 과정을 설명하기 위한 도면이다. 7 is a diagram for explaining a coordinate setting misrecognition process according to a direction in which a column is inserted into a grid.

도 7을 참조하면, 컬럼이 꽂힌 방향에 따른 컬럼 벡터와 카메라의 촬영 방향에 따른 시차 벡터가 일치할 경우, 데이터 매트릭스가 실제 격자가 아닌 다른 인접 격자의 중심점에 가까운 것으로 인식되는 오차가 발생할 가능성이 높아진다. Referring to FIG. 7, when the column vector according to the direction in which the column is plugged and the parallax vector according to the shooting direction of the camera are identical, there is a possibility that an error may occur in which the data matrix is recognized as being close to the center point of another adjacent grid rather than the actual grid. It rises.

도 7에서 왜곡 벡터는 RGB 이미지 상에서의 컬럼에 대응되는 벡터로서, 시차 벡터와 컬럼 벡터의 합으로 정의되고, 보정 벡터는 상기한 시차 보정값을 통해 시차 벡터를 제거한 벡터이다. In FIG. 7, the distortion vector is a vector corresponding to a column on the RGB image, and is defined as the sum of the disparity vector and the column vector, and the correction vector is a vector obtained by removing the disparity vector through the parallax correction value.

도 8은 격자에 수납된 컬럼의 꽂힌 방향에 따른 컬럼 벡터를 나타낸 도면이다. 8 is a view showing column vectors according to the insertion direction of the columns accommodated in the lattice.

도 8을 참조하면, 격자 높이와 너비를 각각 h와 w라 하고, 원기둥 형상 컬럼의 직경을 d, 높이를 L, 격자에 대해 기울어진 각도를

Figure pat00007
라 할때, 컬럼이 해당 격자 내에 수납된 것으로 인식되기 위해서는 컬럼의 바닥 중심으로부터 데이터 매트릭스 중심점까지의 컬럼 벡터(
Figure pat00008
)가 격자 너비의 절반 이하여야 한다. Referring to FIG. 8, the lattice height and width are h and w, respectively, the diameter of the cylindrical column is d, the height is L, and the inclination angle with respect to the lattice is d.
Figure pat00007
, in order for the column to be recognized as being stored in the grid, the column vector from the center of the bottom of the column to the center point of the data matrix (
Figure pat00008
) should be less than half the grid width.

이를 수식으로 표현하면 다음과 같다. Expressing this as a formula is:

Figure pat00009
Figure pat00009

여기서, L은 항상 h보다 크기 때문에 다음이 항상 성립한다. Here, since L is always greater than h, the following always holds.

Figure pat00010
Figure pat00010

그리고,

Figure pat00011
는 컬럼의 직경, h, w에 종속되므로 다음 식을 만족할때 컬럼이 꽂힌 방향에 따라 좌표 설정 과정에서 오차가 발생하지 않게 된다. and,
Figure pat00011
is dependent on the diameter of the column, h, and w, so when the following equation is satisfied, no error occurs in the process of setting the coordinates according to the direction in which the column is inserted.

Figure pat00012
Figure pat00012

수학식 6과 같은 관계에서

Figure pat00013
가 최대일 때,
Figure pat00014
를 다음과 같이 표현할 수 있다. In a relationship like Equation 6
Figure pat00013
When is maximum,
Figure pat00014
can be expressed as:

Figure pat00015
Figure pat00015

이를 수학식 5에 대입하면 다음과 같다. Substituting this into Equation 5 gives:

Figure pat00016
Figure pat00016

예를 들어, 크라이오 박스의 하나의 타입인 원기둥의 높이가 41mm이고, h가 30mm이며, 컬럼의 반지름이 10mm이고, 격자 너비가 13인 경우, 다음과 같이 해당 범위 안에서 수치적으로 근사될 수 있다. For example, if the height of a cylinder, which is a type of cryobox, is 41 mm, h is 30 mm, the radius of the column is 10 mm, and the grid width is 13, it can be numerically approximated within the range as follows. have.

Figure pat00017
Figure pat00017

시차 벡터와 컬럼 벡터에 의한 오차를 보정하기 위한 보정 벡터의 차이, 촬영 각도 오차와 같은 기타 오차 10%를 고려하는 경우(수학식 8의 우항에 0.9를 곱하는 경우), 수학식 9는 다음과 같이 표현된다. When considering the difference between correction vectors for correcting errors due to parallax vectors and column vectors and other errors such as shooting angle errors of 10% (when the right term of Equation 8 is multiplied by 0.9), Equation 9 is as follows: is expressed

Figure pat00018
Figure pat00018

즉, 수학식 9 또는 10을 만족하는 격자 높이 및 너비에서는 컬럼 벡터에 관계 없이 해당 컬럼에 부착된 데이터 매트릭스가 다른 인접 격자의 중심점에 가까운 것으로 인식되는 오차가 발생하지 않게 된다. That is, when the grid height and width satisfy Equation 9 or 10, an error in which the data matrix attached to the corresponding column is recognized as close to the center point of another adjacent grid regardless of the column vector does not occur.

본 발명의 일 실시예에 따르면, 복수의 데이터 매트릭스 각각과 상기 복수의 격자 각각의 중심점과의 거리를 비교하기에 앞서, 이진화 이미지 생성을 통해 데이터 매트릭스를 탐색하고, 이의 중심점을 결정할 수 있다. According to an embodiment of the present invention, prior to comparing the distance between each of the plurality of data matrices and the center point of each of the plurality of grids, the data matrix may be searched through generation of a binarized image, and the center point thereof may be determined.

본 실시예에 따르면, 크라이오 박스를 촬영한 이미지에 대해 이진화 임계치를 순차적으로 변화시켜 이진화 이미지를 생성하고, 각 임계치에서 생성된 이진화 이미지에 대해 데이터 매트릭스에 대응되는 형상을 추출하고, 추출된 형상에 대한 디코딩과 같은 데이터 매트릭스 인식 과정이 수행될 수 있다. According to the present embodiment, a binarization threshold is sequentially changed for an image captured by a cryobox to generate a binarized image, a shape corresponding to a data matrix is extracted for the binarized image generated at each threshold, and the extracted shape A data matrix recognition process, such as decoding for , may be performed.

도 9는 본 발명의 일 실시예에 따른 데이터 매트릭스 인식 과정을 나타낸 순서도이다. 9 is a flowchart illustrating a data matrix recognition process according to an embodiment of the present invention.

본 실시예에 따른 장치는 크라이오 박스를 상부 방향에서 촬영한 이미지를 로드한다(단계 900). The apparatus according to the present embodiment loads an image of the cryobox taken from an upward direction (step 900).

단계 900에서의 이미지는 도 5과 같이 크라이오 박스에 수납되며 복수의 컬럼에 부착된 데이터 매트릭스를 포함하는 RGB 이미지이다. The image in step 900 is an RGB image including a data matrix stored in a cryo box and attached to a plurality of columns as shown in FIG. 5 .

데이터 매트릭스 인식 속도의 향상을 위해 로드된 RGB 이미지를 리사이징한다(단계 902).To improve the data matrix recognition speed, the loaded RGB image is resized (step 902).

예를 들어, RGB 이미지가 4320×5760 사이즈인 경우, 단계 902는 가로를 1000으로 고정하고, 세로를 같은 비율로 조정하여 1000×1333으로 리사이징할 수 있다. For example, if the RGB image has a size of 4320×5760, in step 902, the width may be fixed to 1000, and the height may be resized to 1000×1333 by adjusting the same ratio.

리사이징된 RGB 이미지에 제1 이진화 임계값을 적용하여 이진화 이미지를 생성한다(단계 904).A first binarization threshold is applied to the resized RGB image to generate a binarized image (step 904).

여기서, 제1 이진화 임계값은 리사이징된 RGB 이미지의 각 픽셀을 0 또는 1로 변환하기 위한 값으로서, R, G 및 B에 대해 동일하게 적용될 수 있으나, 반드시 이에 한정되는 것은 아니다. Here, the first binarization threshold is a value for converting each pixel of the resized RGB image to 0 or 1, and may be equally applied to R, G, and B, but is not necessarily limited thereto.

본 실시예에 따른 장치는 이진화를 위한 임계치를 순차적으로 변경하여 복수의 데이터 매트릭스 중 적어도 일부를 디코딩한다. 바람직하게, 본 실시예에 따른 이진화 임계치는 하한값에서부터 상한값까지 소정 단위로 순차적으로 변경될 수 있다. The device according to the present embodiment decodes at least some of a plurality of data matrices by sequentially changing the threshold for binarization. Preferably, the binarization threshold according to the present embodiment may be sequentially changed in predetermined units from a lower limit value to an upper limit value.

바람직하게, 하한값은 55, 상한값은 155로 설정될 수 있고, 이진화 임계치는 5 단위로 순차적으로 높아질 수 있다. Preferably, the lower limit value may be set to 55 and the upper limit value may be set to 155, and the binarization threshold may be sequentially increased by 5 units.

여기서, 상한값을 155로 설정하는 것은 데이터 매트릭스가 RGB(155,155,155)~RGB(255,255,255) 내에 있으면 그 차이를 인식할 수 없어 이진화가 어렵기 때문이다. Here, the reason why the upper limit value is set to 155 is that if the data matrix is within RGB (155, 155, 155) to RGB (255, 255, 255), the difference cannot be recognized and binarization is difficult.

이처럼 이진화를 위한 임계치를 순차적으로 변경하는 것은 임계치에 따라 특정 영역의 데이터 매트릭스가 인식되지 않는 경우가 발생할 수 있기 때문이다. The reason why the threshold for binarization is sequentially changed is that a data matrix of a specific area may not be recognized according to the threshold.

도 10은 55에서 155까지 5 단위로 임계치를 순차적으로 변경하여 얻어진 이진화 이미지를 나타낸 것이다. 10 shows a binarized image obtained by sequentially changing the threshold value from 55 to 155 in units of 5.

도 10을 참조하면, 임계치가 순차적으로 높아지면서 인식되는 데이터 매트릭스가 달라지며, 예를 들어, 낮은 임계치에서는 크라이오 박스 아래에 위치한 데이터 매트릭스가 인식되다가 임계치가 높아질수록 크라이오 박스 위에 위치한 데이터 매트릭스가 인식될 수 있다. Referring to FIG. 10, as the threshold increases sequentially, the recognized data matrix changes. For example, at a low threshold, a data matrix located below the cryo box is recognized, and as the threshold increases, the data matrix located above the cryo box is recognized. can be recognized.

이러한 점을 고려하여, 본 실시예에 따른 장치는 낮은 임계치에서부터 데이터 매트릭스 인식 및 디코딩 과정을 수행하고, 다음 임계치를 적용하는 경우 이전에 디코딩된 데이터 매트릭스를 제외하고 새롭게 추정된 데이터 매트릭스에 대해서만 디코딩을 수행하게 된다. Considering this point, the device according to the present embodiment performs data matrix recognition and decoding processes from a low threshold, and when the next threshold is applied, decoding is performed only on newly estimated data matrices excluding previously decoded data matrices. will perform

다시 도 9를 참조하면, 제1 이진화 임계치를 적용하여 얻어진 이진화 이미지에서 데이터 매트릭스의 형상에 상응하는 형상 집합을 추출한다(단계 906).Referring back to FIG. 9 , a shape set corresponding to the shape of the data matrix is extracted from the binarized image obtained by applying the first binarization threshold (step 906).

단계 906은 컨투어링을 통해 점집합을 추출하고, approxPolyDP를 통해 인접점을 제거하고, convexHull을 통해 오목면을 제거(오목윤곽 평활화)하여 데이터 매트릭스의 형상에 상응되는 형상 집합을 추출하는 과정을 포함한다. Step 906 includes a process of extracting a set of points corresponding to the shape of the data matrix by extracting a set of points through contouring, removing adjacent points through approxPolyDP, and removing concave surfaces through convexHull (concave contour smoothing). .

도 4 내지 도 5에 도시된 바와 같이, 데이터 매트릭스는 사각형일 수 있으며, 단계 906는 소정 이진화 임계치를 적용하여 얻은 이진화 이미지에서 사각근사를 통해 사각형 집합을 탐색하는 과정으로 정의될 수 있다. As shown in FIGS. 4 and 5 , the data matrix may be a rectangle, and step 906 may be defined as a process of searching for a set of rectangles through a square approximation in a binarized image obtained by applying a predetermined binarization threshold.

단계 906에서 데이터 매트릭스에 대응되는 형상이 탐색된 이후, 본 실시예에 따른 장치는 미리 설정된 규칙을 이용하여 데이터 매트릭스를 추정하고(단계 908), 추정된 데이터 매트릭스를 디코딩한다(단계 910).After the shape corresponding to the data matrix is searched in step 906, the device according to the present embodiment estimates the data matrix using a preset rule (step 908) and decodes the estimated data matrix (step 910).

데이터 매트릭스가 사각형인 경우, 단계 906은 이진화 이미지에 인식된 모든 사각형 집합을 탐색하는 과정이며, 단계 908은 탐색된 사각형 집합에서 실제 데이터 매트릭스를 추정하는 과정이다. If the data matrix is a rectangle, step 906 is a process of searching all the rectangle sets recognized in the binarized image, and step 908 is a process of estimating an actual data matrix from the searched rectangle set.

본 실시예에 따르면, 데이터 매트릭스 추정을 위한 최소 영역(minArea) 및 최대 영역(maxArea)의 크기 및 가로/세로 비율이 미리 설정될 수 있다. According to this embodiment, the size and width/height ratio of the minimum area (minArea) and the maximum area (maxArea) for data matrix estimation may be set in advance.

최소 영역 및 최대 영역은 통상적인 데이터 매트릭스의 크기를 고려하여 단계 902에서 리사이징된 RGB 이미지의 크기를 소정값으로 나눈 값으로 설정될 수 있다. The minimum area and the maximum area may be set by dividing the size of the RGB image resized in step 902 by a predetermined value in consideration of the size of a typical data matrix.

리사이징된 RGB 이미지의 크기가 A인 경우, 최소 영역은 A/B, 최대 영역은 A/C로 설정될 수 있다. When the size of the resized RGB image is A, the minimum area may be set to A/B and the maximum area may be set to A/C.

여기서, B=5, C=2000일 수 있고, 상기한 예에서, 리사이징된 RGB 이미지가 1000×1333인 경우, 최소 영역은 666, 최대 영역은 266,000일 수 있다. Here, B=5 and C=2000, and in the above example, when the resized RGB image is 1000×1333, the minimum area may be 666 and the maximum area may be 266,000.

그리고, 가로/세로 비율은 1.3으로 설정될 수 있다. Also, the horizontal/vertical ratio may be set to 1.3.

본 실시예에 따른 장치는 단계 906에서 추출된 사각형 중 미리 설정된 최소 영역 및 최대 영역에 속하며, 미리 설정된 가로/세로 비율을 갖는 사각형을 추정하여 데이터 매트릭스를 추정한다. The apparatus according to the present embodiment estimates a data matrix by estimating rectangles belonging to preset minimum and maximum regions among the rectangles extracted in step 906 and having a preset horizontal/vertical ratio.

추정된 데이터 매트릭스에 대한 디코딩이 완료된 이후, 데이터 매트릭스 인식 장치는 단계 904로 복귀하여 다음 임계치를 적용하여 RGB 이미지를 이진화하고, 단계 906 내지 단계 910을 반복 수행한다. After decoding of the estimated data matrix is completed, the data matrix recognition apparatus returns to step 904 to binarize the RGB image by applying the next threshold, and repeats steps 906 to 910.

이때, 이전 과정에서 디코딩된 데이터 매트릭스에 대한 추정 및 디코딩 과정은 생략되어 연산 속도를 높일 수 있다. In this case, the process of estimating and decoding the data matrix decoded in the previous process is omitted, so that the calculation speed can be increased.

보다 상세하게, 본 실시예에 따른 데이터 매트릭스 인식 장치는 제1 이진화 임계치에서 디코딩된 데이터 매스릭스에 해당하는 사각형 영역(형상 좌표)을 미리 저장하여 다음 이진화 임계치에서 미리 저장된 사각형 영역(디코딩 완료된 데이터 매트릭스)에 대해서는 중복 인식이 되지 않도록 한다. More specifically, the apparatus for recognizing data matrices according to the present embodiment pre-stores a rectangular area (shape coordinates) corresponding to a data matrix decoded at a first binarization threshold, and stores a pre-stored rectangular area (decoded data matrix) at the next binarization threshold. ) to avoid duplicate recognition.

이때, 디코딩 완료된 데이터 매트릭스의 형상 좌표는 마진(예를 들어, 사각형 영역의 10% 확장된 영역)을 포함하는 좌표일 수 있다. In this case, the shape coordinates of the decoded data matrix may be coordinates including a margin (eg, an area expanded by 10% of a rectangular area).

도 11은 본 실시예에 따른 RGB 이미지에서 데이터 매트릭스를 추정하는 과정을 순차적으로 나타낸 것으로서, RGB 이미지 리사이징, 각 이진화 이미지에서 점집합 추출, 인접점 및 오목면 제거, 데이터 매트릭스에 상응하는 형상 집합 추출 및 minArea/maxArea를 통한 데이터 매트릭스 추정을 통해 한번에 데이터 매트릭스를 인식할 수 있다. 11 sequentially shows a process of estimating a data matrix from an RGB image according to the present embodiment, including resizing the RGB image, extracting a set of points from each binarized image, removing adjacent points and concave surfaces, and extracting a set of shapes corresponding to the data matrix. And data matrix can be recognized at once through data matrix estimation through minArea/maxArea.

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.The embodiments of the present invention described above have been disclosed for illustrative purposes, and those skilled in the art having ordinary knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention, and such modifications, changes, and additions will be considered to fall within the scope of the following claims.

Claims (10)

크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치로서,
프로세서; 및
상기 프로세서에 연결되는 메모리를 포함하되,
상기 메모리는,
크라이오 박스 내에 형성된 복수의 격자에 대한 격자 수, 격자 높이, 격자 너비 및 상기 크라이오 박스의 최상단에서 상기 복수의 격자의 상부면까지의 깊이를 저장하고,
상기 복수의 격자에 수납된 복수의 컬럼에 대응되는 복수의 데이터 매트릭스를 촬영한 RGB 이미지를 로드하고,
상기 RGB 이미지로부터 상기 크라이오 박스의 최상단에 상응하는 최외곽점 관련 정보를 획득하고,
상기 RGB 이미지 및 상기 깊이를 이용하여 상기 복수의 격자의 상부면에 해당하는 격자 표면을 획득하고,
상기 격자 수를 이용하여 상기 격자 표면을 균등 분할하여 상기 RGB 이미지 내에서 상기 복수의 격자 각각의 중심점을 설정하고,
상기 RGB 이미지에서 얻어진 상기 복수의 데이터 매트릭스에 상응하는 데이터 매트릭스 표면을 미리 설정된 시차 보정값을 반영하여 상기 격자 표면으로 투영 변환하고,
상기 투영 변환된 복수의 데이터 매트릭스 각각과 상기 복수의 격자 각각의 중심점과의 거리를 비교하고,
상기 투영 변환된 복수의 데이터 매트릭스 각각과 가장 인접한 중심점에 대한 좌표를 상기 복수의 데이터 매트릭스 각각의 좌표로 설정하도록,
상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.
As a data matrix coordinate setting device in a cryobox,
processor; and
Including a memory coupled to the processor,
the memory,
Storing the number of lattices, the lattice height, the lattice width, and the depth from the top of the cryobox to the upper surface of the plurality of lattices of the plurality of lattices formed in the cryobox;
Loading an RGB image of a plurality of data matrices corresponding to a plurality of columns stored in the plurality of grids;
Obtaining information related to an outermost point corresponding to the top of the cryobox from the RGB image;
Obtaining grating surfaces corresponding to upper surfaces of the plurality of gratings using the RGB image and the depth;
Setting the center point of each of the plurality of grids in the RGB image by equally dividing the grid surface using the number of grids;
Projecting and transforming a data matrix surface corresponding to the plurality of data matrices obtained from the RGB image into the grid surface by reflecting a preset parallax correction value;
comparing a distance between each of the projection-transformed data matrices and a center point of each of the plurality of lattices;
To set the coordinates of the central point closest to each of the plurality of projection-transformed data matrices to the coordinates of each of the plurality of data matrices,
An apparatus for setting data matrix coordinates in a cryobox storing program instructions executed by the processor.
제1항에 있어서,
상기 시차 보정값은, 카메라 렌즈와 상기 복수의 격자의 수직 거리(H) 및 상기 격자 높이(h)에 의해 결정되는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.
According to claim 1,
The parallax correction value is determined by the vertical distance (H) of the camera lens and the plurality of grids and the grid height (h) in the data matrix coordinate setting device in the cryobox.
제2항에 있어서,
상기 H가 미리 설정된 범위 내에 위치하는 경우, 상기 시차 보정값은 상수값으로 결정되는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.
According to claim 2,
When H is located within a preset range, the parallax correction value is determined as a constant value.
제3항에 있어서,
상기 H가 180 내지 210mm 범위에 있는 경우, 상기 시차 보정값은 상수값으로 결정되는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.
According to claim 3,
When H is in the range of 180 to 210 mm, the parallax correction value is determined as a constant value.
제1항에 있어서,
상기 프로그램 명령어들은,
상기 RGB 이미지에 제1 이진화 임계치를 적용하여 이진화 이미지를 생성하고,
상기 이진화 이미지에 포함된 점집합을 추출하고,
상기 추출된 점집합에서 인접점 및 오목면 제거를 통해 상기 데이터 매트릭스의 형상에 상응하는 제1 형상 집합을 추출하고,
상기 추출된 제1 형상 집합에 대해 미리 설정된 규칙을 적용하여 하나 이상의 데이터 매트릭스를 추정하고,
상기 추정된 하나 이상의 데이터 매트릭스를 디코딩하는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.
According to claim 1,
The program instructions are
Generating a binarized image by applying a first binarization threshold to the RGB image;
Extracting a set of points included in the binarized image;
Extracting a first shape set corresponding to the shape of the data matrix by removing adjacent points and concave surfaces from the extracted point set;
Estimating one or more data matrices by applying a preset rule to the extracted first shape set;
An apparatus for setting data matrix coordinates in a cryobox for decoding the estimated one or more data matrices.
제5항에 있어서,
상기 프로그램 명령어들은,
상기 RGB 이미지에 상기 제1 이진화 임계치보다 순차적으로 큰 값을 갖는 이진화 임계치를 적용하여 이진화 이미지를 생성하여 상기 점집합 추출, 제1 형상 집합 추출, 데이터 매트릭스 추정 및 디코딩을 반복 수행하는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.
According to claim 5,
The program instructions are
A binarization threshold having a value sequentially greater than the first binarization threshold is applied to the RGB image to generate a binarized image, and the point set extraction, the first shape set extraction, data matrix estimation, and decoding are repeatedly performed in a cryobox. Data Matrix coordinate setting device.
제1항에 있어서,
상기 프로그램 명령어들은,
상기 복수의 격자 중 하나에 수납된 컬럼의 수납 방향에 따른 컬럼 벡터에 의한 좌표 설정 오차를 방지하기 위해, 상기 컬럼 벡터의 크기는 격자 너비의 절반 이하로 설정되는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.
According to claim 1,
The program instructions are
In order to prevent a coordinate setting error due to a column vector according to a storage direction of a column stored in one of the plurality of grids, the size of the column vector is set to less than half of the grid width in a data matrix coordinate setting device in a cryobox. .
제7항에 있어서,
상기 컬럼 벡터에 의한 좌표 설정 오차를 방지하기 위해, 상기 격자 너비(w) 및 격자 높이(h)는 아래의 수학식의 관계를 갖는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 장치.
[수학식]
Figure pat00019

여기서, d는 컬럼의 반지름, L은 컬럼의 높이임
According to claim 7,
In order to prevent a coordinate setting error due to the column vector, the grid width (w) and the grid height (h) have a relation of the following equation.
[mathematical expression]
Figure pat00019

where d is the radius of the column and L is the height of the column
프로세서 및 메모리를 포함하는 장치에서 크라이오 박스 내의 데이터 매트릭스의 좌표를 설정하는 방법으로서,
크라이오 박스 내에 형성된 복수의 격자에 대한 격자 수, 격자 높이, 격자 너비 및 상기 크라이오 박스의 최상단에서 상기 복수의 격자의 상부면까지의 깊이를 저장하는 단계;
상기 복수의 격자에 수납된 복수의 컬럼에 대응되는 복수의 데이터 매트릭스를 촬영한 RGB 이미지를 로드하는 단계;
상기 RGB 이미지로부터 상기 크라이오 박스의 최상단에 상응하는 최외곽점 관련 정보를 획득하는 단계;
상기 RGB 이미지 및 상기 깊이를 이용하여 상기 복수의 격자의 상부면에 해당하는 격자 표면에 관한 정보를 획득하는 단계;
상기 격자 수를 이용하여 상기 격자 표면을 균등 분할하여 상기 RGB 이미지 내에서 상기 복수의 격자 각각의 중심점을 설정하는 단계;
상기 RGB 이미지에서 얻어진 상기 복수의 데이터 매트릭스에 상응하는 데이터 매트릭스 표면을 미리 설정된 시차 보정값을 반영하여 상기 격자 표면으로 투영 변환하는 단계;
상기 투영 변환된 복수의 데이터 매트릭스 각각과 상기 복수의 격자 각각의 중심점과의 거리를 비교하는 단계; 및
상기 투영 변환된 복수의 데이터 매트릭스 각각과 가장 인접한 중심점에 대한 좌표를 상기 복수의 데이터 매트릭스 각각의 좌표로 설정하는 단계를 포함하는 크라이오 박스 내의 데이터 매트릭스 좌표 설정 방법.
A method for setting the coordinates of a data matrix in a cryobox in a device including a processor and a memory, comprising:
storing the number of lattices, the lattice height, the lattice width, and the depth from the top of the cryobox to the upper surface of the plurality of lattices of the plurality of lattices formed in the cryobox;
loading an RGB image of a plurality of data matrices corresponding to a plurality of columns stored in the plurality of grids;
obtaining information related to an outermost point corresponding to the top of the cryobox from the RGB image;
obtaining information about a grid surface corresponding to an upper surface of the plurality of grids using the RGB image and the depth;
setting a center point of each of the plurality of lattices in the RGB image by equally dividing the lattice surface using the number of lattices;
projecting and transforming a data matrix surface corresponding to the plurality of data matrices obtained from the RGB image into the grid surface by reflecting a preset parallax correction value;
comparing a distance between each of the plurality of projection-transformed data matrices and a center point of each of the plurality of lattices; and
and setting coordinates of a central point closest to each of the plurality of projection-transformed data matrices as coordinates of each of the plurality of data matrices.
제9항에 따른 방법을 수행하는 컴퓨터 판독 가능한 프로그램.


A computer readable program for performing the method according to claim 9 .


KR1020210068379A 2021-05-27 2021-05-27 Method and apparatus for setting data matrix coordianate KR102624785B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210068379A KR102624785B1 (en) 2021-05-27 2021-05-27 Method and apparatus for setting data matrix coordianate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210068379A KR102624785B1 (en) 2021-05-27 2021-05-27 Method and apparatus for setting data matrix coordianate

Publications (2)

Publication Number Publication Date
KR20220160314A true KR20220160314A (en) 2022-12-06
KR102624785B1 KR102624785B1 (en) 2024-01-15

Family

ID=84407173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210068379A KR102624785B1 (en) 2021-05-27 2021-05-27 Method and apparatus for setting data matrix coordianate

Country Status (1)

Country Link
KR (1) KR102624785B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013011481A (en) * 2011-06-28 2013-01-17 Tsubakimoto Chain Co Sample placement space scanning device and computer program
KR101713134B1 (en) 2015-07-07 2017-03-14 대한민국 Evidence tracking system using an identification code

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013011481A (en) * 2011-06-28 2013-01-17 Tsubakimoto Chain Co Sample placement space scanning device and computer program
KR101713134B1 (en) 2015-07-07 2017-03-14 대한민국 Evidence tracking system using an identification code

Also Published As

Publication number Publication date
KR102624785B1 (en) 2024-01-15

Similar Documents

Publication Publication Date Title
KR101333871B1 (en) Method and arrangement for multi-camera calibration
US8831355B2 (en) Scale robust feature-based identifiers for image identification
US8744144B2 (en) Feature point generation system, feature point generation method, and feature point generation program
CN107220640B (en) Character recognition method, character recognition device, computer equipment and computer-readable storage medium
KR102195826B1 (en) Keypoint identification
CN108399374B (en) Method and apparatus for selecting candidate fingerprint images for fingerprint identification
KR20120023052A (en) Method and device for determining shape congruence in three dimensions
US9715729B2 (en) Method and apparatus for processing block to be processed of urine sediment image
CN111461100A (en) Bill identification method and device, electronic equipment and storage medium
EP1760636B1 (en) Ridge direction extraction device, ridge direction extraction method, ridge direction extraction program
CN109724890A (en) Hardness tester and program
JP2008251029A (en) Character recognition device and license plate recognition system
CN108960247B (en) Image significance detection method and device and electronic equipment
KR102624785B1 (en) Method and apparatus for setting data matrix coordianate
JP2018081063A (en) Position detector, processor and program
EP3522115A1 (en) Medium recognition device and medium recognition method
US20160292529A1 (en) Image collation system, image collation method, and program
KR102614119B1 (en) Method and apparatus for detecting data matrix
CN111428565B (en) Point cloud identification point positioning method and device based on deep learning
KR101600183B1 (en) Method and apparatus for extracting depth information from image
KR101756959B1 (en) Image analyze method and apparatus thereby
KR102637913B1 (en) Method and apparatus for composing images
KR101937859B1 (en) System and Method for Searching Common Objects in 360-degree Images
Nezhinsky et al. Pattern recognition for high throughput zebrafish imaging using genetic algorithm optimization
CN111670458B (en) Reading system

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