WO2021045481A1 - Object recognition system and method - Google Patents

Object recognition system and method Download PDF

Info

Publication number
WO2021045481A1
WO2021045481A1 PCT/KR2020/011704 KR2020011704W WO2021045481A1 WO 2021045481 A1 WO2021045481 A1 WO 2021045481A1 KR 2020011704 W KR2020011704 W KR 2020011704W WO 2021045481 A1 WO2021045481 A1 WO 2021045481A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
image acquisition
image
acquisition unit
gradient value
Prior art date
Application number
PCT/KR2020/011704
Other languages
French (fr)
Korean (ko)
Inventor
김보영
민준홍
노경식
최민용
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2021045481A1 publication Critical patent/WO2021045481A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0019End effectors other than grippers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering

Abstract

The present disclosure relates to an object recognition system and method. The object recognition system according to an embodiment of the present disclosure comprises: an image acquisition unit for repeatedly acquiring an image of an object at a specified angle or location in the object recognition system; and a processor operatively connected to the image acquisition unit to receive the image of the object acquired by the image acquisition unit, wherein the processor may be configured to calculate a gradient value for the edge of the object from the acquired image of the object and generate a template of the object on the basis of the gradient value.

Description

물체 인식 시스템 및 방법Object recognition system and method
본 개시의 다양한 실시 예들은, 물체 인식 시스템 및 방법에 관한 것이다.Various embodiments of the present disclosure relate to an object recognition system and method.
객체(object) 추적은 연속적인 영상 또는 복수의 이미지에서 특정 객체의 위치를 찾는 영상 분석 기술의 일종으로, 보안, 감시, 교통 등 다양한 분야에서 활용되고 있다. 객체와 관련된 기술 중에서도 가장 일반적으로 사용되는 방법은 템플릿 매칭 방법(template matching)으로, 영상 또는 이미지에서 나타나는 복수의 객체와 템플릿을 비교하여 템플릿과 가장 유사한 관심 객체를 찾아내는 방법이다.Object tracking is a type of image analysis technology that finds the location of a specific object in a continuous image or a plurality of images, and is used in various fields such as security, surveillance, and traffic. Among the technologies related to objects, the most commonly used method is template matching, which is a method of finding an object of interest that is most similar to a template by comparing a plurality of objects appearing in an image or image with a template.
최근, 제조 공장의 스마트화가 가속화됨에 따라, 제조 공정에서도 템플릿 매칭 방법을 적용하여 부품을 인식하거나, 부품의 위치를 파악하는 경우가 점차 증가하게 되었다. 구체적으로, 로봇 팔(robot arm)에 카메라를 부착하여 영상을 획득하고, 영상에 나타나는 부품과 템플릿을 비교함으로써, 제조 공정에 필요한 부품을 인식하거나, 해당 부품의 위치를 파악할 수 있게 되었다. 이에 따라, 별도의 인력 투입 없이 로봇 팔만을 활용하여 부품을 조립, 검사, 또는 적재 등의 제조 공정이 가능해지게 되었다.In recent years, as the smartization of manufacturing plants has accelerated, the cases of recognizing parts or identifying the location of parts by applying a template matching method in the manufacturing process have gradually increased. Specifically, by attaching a camera to a robot arm to acquire an image, and by comparing a part displayed in the image with a template, it is possible to recognize a part necessary for a manufacturing process or to determine the location of the part. Accordingly, manufacturing processes such as assembling, inspecting, or loading parts using only the robot arm without additional manpower input have become possible.
로봇 암을 제조 공정에 활용하기 위해서는 물체(예: 부품)의 정밀한 인식 및 정확한 위치 파악이 필수적인데, 제조 공정에서 사용되는 부품들은 대부분 질감(texture)이 표현되지 않은 텍스쳐리스(texture-less) 형태의 물품이어서, 물품을 인식하거나, 위치를 파악하는 것이 쉽지 않았다.In order to use the robot arm in the manufacturing process, precise recognition of objects (e.g., parts) and accurate positioning are essential. Most of the parts used in the manufacturing process are in a texture-less form. Because it was a product of, it was not easy to recognize or locate the item.
이에 따라, 제조 공정에 활용되는 부품을 인식하는 방안으로 카메라를 통해 획득된 물체의 가장자리(edge) 정보를 활용하여 템플릿을 생성하고, 템플릿과 물체를 비교하여 물체를 인식하는 방안이 제안된 바 있다. 다만, 주변 환경(예: 빛, 그림자 등)에 의해 가장자리 정보가 왜곡되는 경우가 종종 발생하여, 상기 방안에 의하더라도 정밀한 물체 인식이 어렵다는 한계가 있었다.Accordingly, as a method of recognizing parts used in the manufacturing process, a method of creating a template by using edge information of an object acquired through a camera, and recognizing an object by comparing the template with the object has been proposed. . However, since edge information is often distorted by the surrounding environment (eg, light, shadow, etc.), there is a limitation in that it is difficult to accurately recognize an object even by the above method.
또 다른 방안으로, CAD 설계도의 윤곽선 정보에 기초한 템플릿을 활용하여 물체를 인식하는 방안이 제안된 바 있으나, 인식하고자 하는 대상 물체가 CAD 설계도와 달리 오차를 갖는 상태로 형성되거나, 일부 변형된 형태로 형성된 경우에는 정확한 물체 인식이 어렵다는 한계가 있었다.As another method, a method of recognizing an object using a template based on the outline information of the CAD design has been proposed, but the object to be recognized is formed in a state having an error different from the CAD design, or in a partially deformed form. When formed, there is a limitation that it is difficult to accurately recognize an object.
이에, 본 개시는 로봇 팔을 반복적으로 구동시켜 물체에 대한 다양한 영상을 획득하고, 획득한 다양한 영상에 기초하여 주변 환경에 의한 영향을 최소화한 템플릿을 생성할 수 있는 물체 인식 시스템 및 방법을 제공함으로써, 상술한 한계를 극복하고자 한다.Accordingly, the present disclosure provides an object recognition system and method capable of repeatedly driving a robot arm to obtain various images of an object, and to generate a template that minimizes the influence of the surrounding environment based on the obtained various images. , To overcome the above-mentioned limitations.
일 실시 예에 따른 물체 인식 시스템은, 지정된 각도 또는 위치에서 물체의 영상을 반복적으로 획득하는 영상 획득부 및 상기 영상 획득부와 작동적으로 연결되어, 상기 영상 획득부에서 획득한 물체의 영상을 수신하는 프로세서를 포함하며, 상기 프로세서는, 상기 획득한 물체의 영상에서 물체의 가장자리(edge)에 대한 그레디언트(gradient) 값을 계산하고, 상기 그레디언트 값에 기초하여, 상기 물체의 템플릿(template)을 생성하도록 구성될 수 있다.An object recognition system according to an embodiment is operatively connected to an image acquisition unit that repeatedly acquires an image of an object at a specified angle or position and the image acquisition unit to receive an image of an object acquired by the image acquisition unit. And a processor, wherein the processor calculates a gradient value for an edge of the object from the acquired image of the object, and generates a template of the object based on the gradient value. Can be configured to
일 실시 예에 따른 물체 인식 방법은, 영상 획득부를 통해, 지정된 각도 또는 위치에서 물체에 대한 영상을 반복적으로 획득하는 영상 획득 단계, 상기 획득된 물체의 영상에 기초하여, 상기 물체의 가장자리(edge)에 대한 그레디언트(gradient) 값을 계산하는 그레디언트 계산 단계 및 상기 그레디언트 값에 기초하여, 상기 물체의 템플릿(template)를 생성하는 템플릿 생성 단계를 포함할 수 있다.An object recognition method according to an embodiment includes an image acquisition step of repeatedly acquiring an image of an object at a specified angle or position through an image acquisition unit, based on the acquired image of the object, an edge of the object A gradient calculation step of calculating a gradient value for, and a template generation step of generating a template of the object based on the gradient value may be included.
본 개시의 다양한 실시 예에 따른 물체 인식 장치 및 방법은, 물체의 움직임 또는 환경 변화(예: 빛 변화, 그림자)에 의한 영향을 최소화한 강건(robust)한 템플릿을 생성할 수 있으며, 그 결과 물체 인식의 정밀성을 높일 수 있다.An object recognition apparatus and method according to various embodiments of the present disclosure may generate a robust template that minimizes the influence of an object movement or environmental change (eg, light change, shadow), and as a result, an object You can increase the precision of recognition.
도 1a는, 일 실시 예에 따라 특정 각도에서 물품의 영상을 획득하는 과정을 도시한 사시도이다. 도 1b는, 도 1a와 다른 각도에서 물품의 영상을 획득하는 과정을 도시한 사시도이다.1A is a perspective view illustrating a process of acquiring an image of an article from a specific angle according to an exemplary embodiment. 1B is a perspective view illustrating a process of acquiring an image of an article from an angle different from that of FIG. 1A.
도 2는, 일 실시 예에 따른 물체 인식 시스템의 구성을 나타내는 도면이다.2 is a diagram illustrating a configuration of an object recognition system according to an exemplary embodiment.
도 3은, 일 실시 예에 따라 물체를 인식하는 과정을 나타내는 순서도이다.3 is a flowchart illustrating a process of recognizing an object according to an exemplary embodiment.
도 4a는, 지정된 각도 또는 위치에서 물체에 대한 영상을 반복하여 획득하는 과정을 도시한 도면이다. 도 4b는, 도 4a에서 획득된 영상에 나타나는 물체의 가장자리(edge)를 도시한 도면이다. 도 4c는, 도 4a에서 획득된 영상에 기초하여 생성된 물체에 대한 템플릿(template)를 나타내는 도면이다.4A is a diagram illustrating a process of repeatedly obtaining an image of an object at a specified angle or position. FIG. 4B is a diagram illustrating an edge of an object appearing in the image obtained in FIG. 4A. FIG. 4C is a diagram illustrating a template for an object generated based on the image acquired in FIG. 4A.
도 5는, 일 실시 예에 따라 템플릿을 생성하는 과정을 나타내는 순서도이다.5 is a flowchart illustrating a process of generating a template according to an embodiment.
도 6a는, 물체의 가장자리의 그레디언트(gradient) 값을 양자화하는 과정을 나타내는 도면이다. 도 6b는, 물체의 각 가장자리 영역에 대응되는 그레디언트 값을 양자화된 그레디언트 값으로 표시한 도면이다. 도 6c는, 양자화된 물체의 가장자리의 그레디언트 값을 누적하여 생성된 히스토그램(histogram)을 나타내는 도면이다. 도 6d는, 도 5의 템플릿 생성 과정을 통해 생성된 템플릿을 나타내는 도면이다.6A is a diagram illustrating a process of quantizing a gradient value of an edge of an object. 6B is a diagram in which gradient values corresponding to respective edge regions of an object are displayed as quantized gradient values. 6C is a diagram showing a histogram generated by accumulating gradient values of the edges of a quantized object. 6D is a diagram illustrating a template generated through the template generation process of FIG. 5.
도 7은, 일 실시 예에 따라 물체를 인식하는 과정을 나타내는 흐름도이다.7 is a flowchart illustrating a process of recognizing an object according to an exemplary embodiment.
도 8은, 일 실시 예에 따라 생성된 템플릿과 물체를 매칭하는 과정을 나타내는 도면이다.8 is a diagram illustrating a process of matching an object with a template generated according to an exemplary embodiment.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.Various embodiments of the present document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutes of the corresponding embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the above items unless clearly indicated otherwise in a related context. In this document, “A or B”, “at least one of A and B”, “at least one of A or B,” “A, B or C,” “at least one of A, B and C,” and “A Each of the phrases such as "at least one of, B, or C" may include any one of the items listed together in the corresponding one of the phrases, or all possible combinations thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish the component from other Order) is not limited. Some (eg, a first) component is referred to as “coupled” or “connected” to another (eg, a second) component, with or without the terms “functionally” or “communicatively”. When mentioned, it means that any of the above components can be connected to the other components directly (eg by wire), wirelessly, or via a third component.
도 1a는, 일 실시 예에 따라 특정 각도에서 물품의 영상을 획득하는 과정을 나타내는 사시도이다. 도 1b는, 도 1a와 다른 각도에서 물품의 영상을 획득하는 과정을 나타내는 사시도이다. 1A is a perspective view illustrating a process of acquiring an image of an article from a specific angle according to an exemplary embodiment. 1B is a perspective view illustrating a process of acquiring an image of an article from an angle different from that of FIG. 1A.
도 2는, 일 실시 예에 따른 물체 인식 시스템의 구성을 나타내는 도면이다.2 is a diagram illustrating a configuration of an object recognition system according to an exemplary embodiment.
도 1a, 도 1b, 및 도 2를 참조하면, 일 실시 예에 따른 물체 인식 시스템(100)은, 영상 획득부(110), 및 영상 획득부(110)와 작동적으로 연결되는 프로세서(200)를 포함하여, 물체(object, 10)를 인식하거나, 물체(10)의 위치를 파악할 수 있다.1A, 1B, and 2, an object recognition system 100 according to an embodiment includes an image acquisition unit 110 and a processor 200 operatively connected to the image acquisition unit 110. Including, it is possible to recognize the object 10 or to determine the location of the object 10.
일 실시 예에 따른 영상 획득부(110)는, 지정된 각도 또는 위치에서 상기 물체(10)에 대한 영상을 획득할 수 있다. 일 예시로, 상기 영상 획득부(110)는 카메라일 수 있으나 이에 한정되는 것은 아니며, 다른 예시에 따르면 상기 영상 획득부(110)는 3D 스캐너(3D scanner)일 수 있다.The image acquisition unit 110 according to an embodiment may acquire an image of the object 10 at a specified angle or position. As an example, the image acquisition unit 110 may be a camera, but is not limited thereto. According to another example, the image acquisition unit 110 may be a 3D scanner.
일 실시 예에 따르면, 상기 영상 획득부(110)는 로봇 팔(robot arm, 120)에 부착될 수 있다. 상기 영상 획득부(110)는 로봇 팔(120)의 움직임(motion)에 따라 함께 이동하며, 다양한 각도 또는 위치에서 물체(10)에 대한 영상을 획득할 수 있다.According to an embodiment, the image acquisition unit 110 may be attached to a robot arm 120. The image acquisition unit 110 moves together according to the motion of the robot arm 120 and may acquire an image of the object 10 at various angles or positions.
일 실시 예에 따르면, 로봇 팔(120)은 로봇 팔(120)을 특정 위치(예: 지면, 프레임 등)에 고정시키며, 고정된 위치를 기준으로 회전이 가능한 고정부(121)와 상기 고정부(121)에 회전 가능하게 결합되는 복수의 링크부(122)를 포함할 수 있다. 일 실시 예(예: 도 1a, 도 1b 참조)에 따르면, 상기 복수의 링크부(122)는 상기 고정부(121)와 회전 가능하게 결합되는 제1 링크부(122a), 제1 링크부(122a)와 회전 가능하게 결합되는 제2 링크부(122b), 및 제2 링크부(122b)와 회전 가능하게 결합되는 제3 링크부(122c)를 포함할 수 있다. 제1 링크부(122a), 제2 링크부(122b), 제3 링크부(122c)의 회전 정도에 따라, 상기 로봇 팔(120)의 포즈(pose)는 다양하게 변화될 수 있다. 다만, 복수의 링크부(122)가 제1 링크부(122a), 제2 링크부(122b), 제3 링크부(122c)를 포함하는 것은 본 개시의 일 실시 예에 불과하며, 실시 예에 따라 상기 복수의 링크부(122)는 2개의 링크부 또는 4개의 링크부를 포함할 수도 있다.According to an embodiment, the robot arm 120 fixes the robot arm 120 to a specific position (eg, the ground, a frame, etc.), and a fixing part 121 and the fixing part capable of rotating based on a fixed position. It may include a plurality of link portions 122 rotatably coupled to 121. According to an embodiment (for example, see FIGS. 1A and 1B ), the plurality of link portions 122 include a first link portion 122a rotatably coupled to the fixing portion 121, a first link portion ( 122a) and a second link portion 122b rotatably coupled to the second link portion 122b, and a third link portion 122c rotatably coupled to the second link portion 122b. Depending on the degree of rotation of the first link portion 122a, the second link portion 122b, and the third link portion 122c, the pose of the robot arm 120 may be variously changed. However, it is only one embodiment of the present disclosure that the plurality of link units 122 include the first link unit 122a, the second link unit 122b, and the third link unit 122c. Accordingly, the plurality of link units 122 may include two link units or four link units.
상기 영상 획득부(110)는, 도 1a 또는 도 1b에 도시된 바와 같이 로봇 팔(120)의 제3 링크부(122c)의 일단에 부착되어, 로봇 팔(120)의 포즈 변화에 따라 다양한 각도 또는 위치에서 물체(10)에 대한 영상을 획득할 수 있다. 본 개시에서 로봇 팔(120)의 포즈는 고정부(121)와 복수의 링크부(122)의 회전에 따른 로봇 팔의 형태를 의미하며, 이하에서도 동일한 의미로 사용된다.The image acquisition unit 110 is attached to one end of the third link unit 122c of the robot arm 120 as shown in FIG. 1A or 1B, and various angles according to a change in the pose of the robot arm 120 Alternatively, an image of the object 10 may be obtained from the location. In the present disclosure, the pose of the robot arm 120 refers to the shape of the robot arm according to the rotation of the fixing part 121 and the plurality of link parts 122, and is used in the same meaning hereinafter.
일 예시(예: 도 1a)로, 제1 링크부(122a), 제2 링크부(122b), 제3 링크부(122c)에 의해 로봇 팔(120)이 제1 포즈를 가지는 경우, 영상 획득부(110)는 좌측 상단에서 촬영한 물체(10)에 대한 영상을 획득할 수 있다. 다른 예시(예: 도 1b)로, 상기 제1 링크부(122a), 제2 링크부(122b), 제3 링크부(122c)의 회전에 의해 로봇 팔(120)이 상기 제1 포즈와 다른 제2 포즈를 가지는 경우, 영상 획득부(110)는 우측 상단에서 촬영한 물체(10)에 대한 영상을 획득할 수 있다. 이 때, 상기 영상 획득부(110)가 로봇 팔(120)에 부착되는 위치는 도시된 실시 예에 한정되는 것은 아니며, 실시 예에 따라 영상 획득부(110)는 제3 링크부(122c)의 중앙에 부착되거나, 제3 링크부(122c)의 측면에 부착될 수 있다.As an example (e.g., FIG. 1A), when the robot arm 120 has a first pose by the first link unit 122a, the second link unit 122b, and the third link unit 122c, an image is acquired. The unit 110 may acquire an image of the object 10 photographed from the upper left. In another example (for example, FIG. 1B), the robot arm 120 is different from the first pose by the rotation of the first link part 122a, the second link part 122b, and the third link part 122c. In the case of having the second pose, the image acquisition unit 110 may acquire an image of the object 10 photographed from the upper right. In this case, the position at which the image acquisition unit 110 is attached to the robot arm 120 is not limited to the illustrated embodiment, and according to the embodiment, the image acquisition unit 110 It may be attached to the center or attached to the side of the third link part 122c.
일 실시 예에 따른 프로세서(200)는, 영상 획득부(110) 및/또는 상기 영상 획득부(110)가 부착되는 로봇 팔(120)과 작동적으로(operatively) 연결되어, 영상 획득부(110)에서 획득된 영상을 수신하거나, 로봇 팔(120)의 움직임(motion)을 제어할 수 있다. 일 예시로, 상기 프로세서(200)는, 고정부(121)를 회전시킬 수 있으며, 다른 예시로 제1 링크부(122a), 제2 링크부(122b), 제3 링크부(122c)의 구동을 제어하여, 상기 제1 링크부(122a), 제2 링크부(122b), 제3 링크부(122c) 사이의 회전 각도를 조절할 수 있다. The processor 200 according to an embodiment is operatively connected to the image acquisition unit 110 and/or the robot arm 120 to which the image acquisition unit 110 is attached, and the image acquisition unit 110 ), or control the motion of the robot arm 120. As an example, the processor 200 may rotate the fixing part 121, and as another example, the first link part 122a, the second link part 122b, and the third link part 122c are driven. By controlling, the rotation angle between the first link part 122a, the second link part 122b, and the third link part 122c may be adjusted.
상기 프로세서(200)는, 상술한 바와 같이 복수의 링크부(122)(예: 122a, 122b, 122c)의 회전 각도 변화시켜 로봇 팔(120)의 포즈(pose)를 변경시킬 수 있으며, 로봇 팔(120)의 포즈 및/또는 구동부(121)의 회전 각도를 지속적으로 변경시켜 로봇 팔(120)의 움직임을 제어할 수 있다. 이에 따라, 상기 프로세서(200)는 로봇 팔(120)을 지정된 움직임으로 반복적으로 움직이도록 하면서, 영상 획득부(110)가 다양한 각도 또는 위치에서 물체(10)에 대한 영상을 획득하도록 할 수 있다.As described above, the processor 200 may change the pose of the robot arm 120 by changing the rotation angle of the plurality of link units 122 (eg, 122a, 122b, 122c). The movement of the robot arm 120 may be controlled by continuously changing the pose of 120 and/or the rotation angle of the driving unit 121. Accordingly, the processor 200 may allow the image acquisition unit 110 to acquire images of the object 10 from various angles or positions while repeatedly moving the robot arm 120 with a specified movement.
일 실시 예에 따른 프로세서(200)는, 영상 획득부(110)에서 획득한 물체(10)에 대한 영상에 기초하여 상기 물체(10)에 대한 템플릿(template)을 생성하고, 생성된 템플릿을 활용하여 복수의 물체들 중에서 관심 물체를 인식할 수 있다. 다만, 프로세서(200)에서 템플릿을 생성하고, 관심 물체를 인식하는 과정에 대한 구체적인 설명은 후술하도록 한다.The processor 200 according to an embodiment generates a template for the object 10 based on the image for the object 10 acquired by the image acquisition unit 110, and uses the generated template. Thus, an object of interest can be recognized among a plurality of objects. However, a detailed description of a process of generating a template in the processor 200 and recognizing an object of interest will be described later.
도 3은, 일 실시 예에 따라 물체를 인식하는 과정을 나타내는 순서도이다.3 is a flowchart illustrating a process of recognizing an object according to an exemplary embodiment.
도 4a는, 지정된 각도 또는 위치에서 물체에 대한 영상을 반복하여 획득하는 과정을 도시한 도면이다. 도 4b는, 도 4a에서 획득된 영상에 나타나는 물체의 가장자리(edge)를 도시한 도면이다. 도 4c는, 도 4a에서 획득된 영상에 기초하여 생성된 물체에 대한 템플릿(template)를 나타내는 도면이다.4A is a diagram illustrating a process of repeatedly obtaining an image of an object at a specified angle or position. FIG. 4B is a diagram illustrating an edge of an object appearing in the image obtained in FIG. 4A. FIG. 4C is a diagram illustrating a template for an object generated based on the image acquired in FIG. 4A.
도 3의 물체 인식 과정을 설명함에 있어, 도 4a 내지 도 4c의 도면을 참고하도록 한다.In describing the object recognition process of FIG. 3, reference will be made to the drawings of FIGS. 4A to 4C.
도 3 및 도 4a를 참조하면, 301 과정에서 영상 획득부(예: 도 1a, 도 1b, 도 2의 영상 획득부(110))를 통해 물체(10)(예: 도 1a, 1b의 물체(10))에 대한 영상을 획득할 수 있다.3 and 4A, in step 301, an object 10 (eg, an object of FIGS. 1A and 1B) through an image acquisition unit (eg, the image acquisition unit 110 of FIGS. 1A, 1B, and 2) 10)) can be acquired.
일 실시 예에 따르면, 영상 획득부는 회전 운동이 가능한 로봇 팔(예: 도 1a, 1b의 로봇 팔(120))의 적어도 일 영역에 부착되어, 로봇 팔의 움직임에 따라 다양한 각도 또는 위치에서 물체(10)에 대한 영상을 획득할 수 있다. According to an embodiment, the image acquisition unit is attached to at least one area of a robot arm capable of rotational movement (for example, the robot arm 120 of FIGS. 1A and 1B), and an object ( 10) can be obtained.
일 실시 예에 따르면, 영상 획득부는 로봇 팔(예: 도 1a, 1b의 로봇 팔(120))의 적어도 일 영역(예: 로봇 팔의 일단)에 부착되어, 로봇 팔의 움직임에 따라 영상 획득부가 물체(10)에 대한 영상을 획득하는 각도 또는 위치(예: 도 4a의 A 지점)가 달라질 수 있다.According to an embodiment, the image acquisition unit is attached to at least one area (eg, one end of the robot arm) of the robot arm (eg, the robot arm 120 of FIGS. 1A and 1B ), and the image acquisition unit The angle or position at which an image of the object 10 is acquired (eg, point A in FIG. 4A) may vary.
프로세서(예: 도 2의 프로세서(200))는 영상 획득부 및/또는 로봇 팔과 작동적으로 연결되어 영상 획득부로부터 물체(10)에 대한 영상을 수신하거나, 로봇 팔의 움직임을 제어할 수 있다. 상기 프로세서는 로봇 팔의 움직임을 제어함으로써, 영상 획득부가 물체(10)에 대한 영상을 획득하는 각도 또는 위치를 조절할 수 있다. 일 실시 예에 따르면, 프로세서는 로봇 팔을 지정된 움직임(motion)을 갖도록 구동시켜 로봇 팔의 다양한 포즈(pose)로 변화시킬 수 있으며, 이에 따라 영상 획득부는 다양한 각도 또는 위치(A 지점)에서 물체(10)에 대한 영상을 획득할 수 있다.The processor (e.g., the processor 200 of FIG. 2) is operatively connected to the image acquisition unit and/or the robot arm to receive an image of the object 10 from the image acquisition unit or to control the movement of the robot arm. have. By controlling the movement of the robot arm, the processor may adjust an angle or position at which the image acquisition unit acquires an image of the object 10. According to an embodiment, the processor may change the robot arm to various poses by driving the robot arm to have a specified motion. Accordingly, the image acquisition unit 10) can be obtained.
또 다른 실시 예(예: 도 4a 참조)에 따르면, 상기 프로세서는 로봇 팔이 지정된 움직임을 반복하도록 제어하여, 영상 획득부가 다양한 각도 또는 위치에서 복수의 물체(10)에 대한 영상을 획득하도록 할 수 있다. 로봇 팔이 움직임을 반복하는 과정에서 물체(10)가 움직이거나, 로봇 팔의 미세한 이동이 발생하거나, 물체(10)에 가해지는 빛의 세기 및/또는 방향이 변경될 수 있다. 상술한 과정을 통해 획득한 복수의 물체(10)에 대한 영상에는 로봇 팔의 움직임 반복 과정에서 발생된 빛의 변화, 물체(10)의 미세한 각도 변화, 및/또는 물체(10)의 미세한 이동 등의 환경 변화가 반영될 수 있다.According to another embodiment (e.g., see FIG. 4A), the processor may control the robot arm to repeat a designated movement, so that the image acquisition unit acquires images of a plurality of objects 10 at various angles or positions. have. In the process of repeating the movement of the robot arm, the object 10 may move, a minute movement of the robot arm may occur, or the intensity and/or direction of light applied to the object 10 may be changed. The images of the plurality of objects 10 acquired through the above-described process include changes in light generated in the process of repeating the movement of the robot arm, a minute angle change of the object 10, and/or a minute movement of the object 10. Changes in the environment can be reflected.
도 4b를 참조하면, 302 과정에서 일 실시 예에 따른 프로세서는, 301 과정에서 획득된 물체(10)에 대한 영상에서 물체(10)의 가장자리(edge, 11)를 추출하고, 추출된 가장자리에 대한 그레디언트(gradient) 값을 계산할 수 있다. 본 개시에서 그레디언트(gradient) 값은 그레디언트 방향(gradient direction)에 대한 값(예: 도(˚))을 의미하며, 이하에서도 동일한 의미로 사용된다.Referring to FIG. 4B, in step 302, the processor according to an embodiment extracts the edge 11 of the object 10 from the image of the object 10 obtained in step 301, and You can calculate gradient values. In the present disclosure, a gradient value refers to a value for a gradient direction (eg, degrees (°)), and is used in the same meaning hereinafter.
일 실시 예에 따르면, 프로세서는 영상 획득부로부터 수신한 물체(10)에 대한 영상으로부터 소벨 오퍼레이터(sobel operator)를 이용하여 물체(10)의 가장자리(11)를 추출하고, 추출된 가장자리(11)의 각 영역에 따른 그레디언트 값을 계산할 수 있다. 본 개시에서 소벨 오퍼레이터는, 영상으로부터 가장자리를 검출하고, 해당 가장자리의 크기 및 방향을 검출할 때 사용하는 방법을 의미한다.According to an embodiment, the processor extracts the edge 11 of the object 10 using a sobel operator from the image of the object 10 received from the image acquisition unit, and extracts the edge 11 You can calculate the gradient value for each area of. In the present disclosure, the Sobel operator refers to a method used when detecting an edge from an image and detecting the size and direction of the edge.
상기 301 과정에서 영상 획득부가 다양한 각도 또는 위치에서 복수의 물체(10)에 대한 영상을 획득함에 따라, 프로세서는 획득된 각각의 영상으로부터 물체(10)의 가장자리(11)를 추출하고, 추출된 가장자리의 각 영역에 따른 그레디언트 값을 계산할 수 있다.As the image acquisition unit acquires images for the plurality of objects 10 at various angles or positions in step 301, the processor extracts the edge 11 of the object 10 from each acquired image, and extracts the edge. You can calculate the gradient value for each area of.
도 4c를 참조하면, 303 과정에서 일 실시 예에 따른 프로세서는, 상기 302 과정에서 계산된 물체(10)의 가장자리(11)에 대한 그레디언트 값에 기초하여, 물체(10)의 템플릿(template, 20)을 형성할 수 있다. 영상 획득부가 물체에 대한 영상을 촬영하는 위치 및/또는 각도에 따라 하나의 물체(10)에 대해 복수의 템플릿(20)이 생성될 수 있다. Referring to FIG. 4C, in step 303, the processor according to an embodiment of the present invention provides a template 20 of the object 10 based on the gradient value for the edge 11 of the object 10 calculated in step 302. ) Can be formed. A plurality of templates 20 may be generated for one object 10 according to a position and/or angle at which the image acquisition unit captures an image of an object.
템플릿(20)은 영상 획득부가 물체(10)에 대한 영상을 획득하는 위치 및/또는 각도에 따라 달리 생성될 수 있으므로, 상기 템플릿(20)은 물체(10)의 가장자리 형상에 대한 정보뿐 아니라, 물체(10)의 위치 정보도 포함할 수 있다. 이 때, 물체(10)의 위치 정보는 영상 획득부의 특정 위치 및/또는 각도에 대응되는 로봇 팔의 포즈에 기초하여 획득될 수 있다. 상기 물체(10)의 위치 정보는 일 예시로, 로봇 팔의 위치를 기준으로 하는 6D 정보(x, y, z, rx, ry, rz)일 수 있으나, 이에 한정되는 것은 아니다. 상기 프로세서는 상기 302 과정에서 계산된 물체(10)의 가장자리(11)에 대한 그레디언트 값을 이용하여 히스토그램을 생성하고, 생성된 히스토그램을 활용하여 물체(10)의 템플릿(20)을 생성할 수 있으나, 이에 대한 구체적인 설명은 후술하도록 한다.Since the template 20 may be differently generated according to the position and/or angle at which the image acquisition unit acquires an image of the object 10, the template 20 not only provides information on the edge shape of the object 10, but also The location information of the object 10 may also be included. In this case, the location information of the object 10 may be obtained based on a pose of the robot arm corresponding to a specific location and/or angle of the image acquisition unit. The location information of the object 10 may be, for example, 6D information (x, y, z, rx, ry, rz) based on the location of the robot arm, but is not limited thereto. The processor may generate a histogram using the gradient value of the edge 11 of the object 10 calculated in step 302, and generate the template 20 of the object 10 using the generated histogram. , A detailed description of this will be described later.
304 과정에서, 일 실시 예에 따른 프로세서는 상기 303 과정을 통해 생성된 템플릿(20)을 활용하여, 복수의 물체들 중에서 관심 물체를 인식할 수 있다. 프로세서는, 상기 303 과정을 통해 생성된 템플릿(20)과 복수의 물체들을 매칭(matching)하는 템플릿 매칭 방식을 이용하여, 복수의 물체들 중 상기 템플릿(20)에 대응되는 물체를 인식할 수 있다. In step 304, the processor according to an embodiment may recognize an object of interest among a plurality of objects by using the template 20 generated through the step 303. The processor may recognize an object corresponding to the template 20 among a plurality of objects by using a template matching method of matching a plurality of objects with the template 20 generated through the process 303. .
상술한 바와 같이 상기 템플릿(20)은 물체(10)의 위치 정보를 포함할 수 있으므로, 상기 프로세서는 관심 물체를 인식할 수 있을 뿐만 아니라, 관심 물체의 현재 위치 정보까지 파악할 수 있다. 일 예시로, 프로세서는 관심 물체가 로봇 팔을 기준으로 얼마나 떨어져 있는지, 어떤 방향으로 회전된 상태인지 등의 정보를 파악할 수 있다.As described above, since the template 20 may include location information of the object 10, the processor can recognize not only the object of interest, but also the current location information of the object of interest. As an example, the processor may determine information such as how far the object of interest is from the robot arm and in which direction it is rotated.
상기 프로세서는 관심 물체를 인식한 후, 로봇 팔의 구동을 제어하여 관심 물체를 집어 올려 조립, 검사, 및/또는 적재에 활용할 수 있으므로, 상술한 301 과정 내지 304 과정을 통해 제조 공정의 스마트화를 도모할 수 있다.After recognizing the object of interest, the processor can control the operation of the robot arm to pick up the object of interest and use it for assembly, inspection, and/or loading, so that the manufacturing process can be smartened through the above-described processes 301 to 304. I can plan.
이하에서는, 도 5, 및 도 6a 내지 도 6c를 참조하여 물체(10)에 대한 템플릿(20) 생성 과정에 대하여 구체적으로 살펴보도록 한다.Hereinafter, a process of generating the template 20 for the object 10 will be described in detail with reference to FIGS. 5 and 6A to 6C.
도 5는, 일 실시 예에 따라 템플릿을 생성하는 과정을 나타내는 순서도이다.5 is a flowchart illustrating a process of generating a template according to an embodiment.
도 6a는, 물체의 가장자리의 그레디언트(gradient) 값을 양자화하는 과정을 나타내는 도면이다. 도 6b는, 물체의 각 가장자리 영역에 대응되는 그레디언트 값을 양자화된 그레디언트 값으로 표시한 도면이다. 도 6c는, 양자화된 물체의 가장자리의 그레디언트 값을 누적하여 생성된 히스토그램(histogram)을 나타내는 도면이다. 도 6d는, 도 5의 템플릿 생성 과정을 통해 생성된 템플릿을 나타내는 도면이다.6A is a diagram illustrating a process of quantizing a gradient value of an edge of an object. 6B is a diagram in which gradient values corresponding to respective edge regions of an object are displayed as quantized gradient values. 6C is a diagram showing a histogram generated by accumulating gradient values of the edges of a quantized object. 6D is a diagram illustrating a template generated through the template generation process of FIG. 5.
도 5의 템플릿 생성 과정을 설명함에 있어, 도 6a 내지 도 6d의 도면을 참고하도록 한다.In describing the process of generating the template of FIG. 5, reference will be made to the drawings of FIGS. 6A to 6D.
도 5, 도 6a, 및 도 6b를 참조하면, 501 과정에서 일 실시 예에 따른 프로세서(예: 도 2의 프로세서(200))는 영상 획득부(예: 도 2의 영상 획득부(110))에서 획득한 복수의 물체(10)에 대한 영상으로부터 물체(10)의 가장자리에 대한 그레디언트 값을 계산할 수 있다. 프로세서의 물체(10)의 가장자리에 대한 그레디언트 값 계산 과정은 앞서 설명한 도 3의 302 과정과 동일 또는 유사하므로, 중복되는 설명은 생략하도록 한다.5, 6A, and 6B, in step 501, the processor (eg, the processor 200 of FIG. 2) according to an embodiment is an image acquisition unit (eg, the image acquisition unit 110 of FIG. 2). The gradient value for the edge of the object 10 may be calculated from the images of the plurality of objects 10 obtained from. Since the process of calculating the gradient value for the edge of the object 10 by the processor is the same as or similar to the process 302 of FIG. 3 described above, a redundant description will be omitted.
프로세서는 상술한 과정을 통해 계산된 물체(10)의 가장자리에 대한 그레디언트 값을 양자화(quantization)할 수 있다. 일 실시 예에 따르면, 프로세서는 물체(10)의 가장자리에 대한 그레디언트 값을 8 비트(bit)로 분류하여 양자화할 수 있다. 일 예시(예: 도 6a 참조)로, 상기 프로세서는 물체(10)의 가장자리에 대한 그레디언트 값이 0˚ 내지 22.5˚인 경우, 그레디언트 값을 0으로 양자화할 수 있고, 물체(10)의 가장자리에 대한 그레디언트 값이 22.5˚ 내지 45˚인 경우, 그레디언트 값을 1으로 양자화할 수 있다. The processor may quantize the gradient value for the edge of the object 10 calculated through the above-described process. According to an embodiment, the processor classifies a gradient value with respect to the edge of the object 10 into 8 bits and quantizes it. As an example (eg, see FIG. 6A), the processor may quantize the gradient value to 0 when the gradient value for the edge of the object 10 is 0° to 22.5°, and the edge of the object 10 When the relative gradient value is 22.5° to 45°, the gradient value can be quantized to 1.
이와 유사하게, 상기 프로세서는 물체(10)의 가장자리에 대한 그레디언트 값이 180˚ 내지 202.5˚인 경우, 그레디언트 값을 다시 0으로 양자화할 수 있고, 물체(10)의 가장자리에 대한 그레디언트 값이 202.5˚ 내지 225˚인 경우, 그레디언트 값을 1으로 양자화할 수도 있다. Similarly, when the gradient value for the edge of the object 10 is 180° to 202.5°, the processor can quantize the gradient value back to 0, and the gradient value for the edge of the object 10 is 202.5°. In the case of to 225°, the gradient value may be quantized to 1.
다만, 상기 프로세서를 통해 물체(10)의 가장자리에 대한 그레디언트 값을 양자화하는 과정이 도 6a에 도시된 실시 예에 한정되는 것은 아니며, 상기 프로세서는 실시 예에 따라 물체(10)의 가장자리에 대한 그레디언트 값을 16 비트 또는 32 비트로 분류하여 양자화할 수도 있다.However, the process of quantizing the gradient value for the edge of the object 10 through the processor is not limited to the embodiment shown in FIG. 6A, and the processor is Values can also be quantized by classifying them into 16 bits or 32 bits.
일 실시 예(예: 도 6b)에 따르면, 프로세서는 물체(10)의 가장자리의 각 영역에 대한 그레디언트 값을 양자화하여, 물체(10)의 가장자리 전 영역을 양자화된 그레디언트 값으로 나타낼 수 있다. 일 예시로, 물체(10)의 일 가장자리 영역에 대한 그레디언트 값이 25˚인 경우, 해당 가장자리 영역을 '1'으로 나타낼 수 있으며, 물체(10)의 다른 가장자리 영역에 대한 그레디언트 값이 120˚인 경우, 해당 가장자리 영역을 '5'로 나타낼 수 있다.According to an embodiment (for example, FIG. 6B ), the processor may quantize a gradient value for each area of the edge of the object 10 and represent the entire area of the edge of the object 10 as a quantized gradient value. As an example, when the gradient value for one edge area of the object 10 is 25°, the corresponding edge area may be expressed as '1', and the gradient value for the other edge area of the object 10 is 120°. In this case, the corresponding edge area may be represented by '5'.
도 6c를 참조하면, 502 과정에서 일 실시 예에 따른 프로세서는, 상기 501 과정에서 양자화된 물체(10)의 가장자리 영역에 대한 그레디언트 값을 누적하여, 히스토그램(histogram)을 생성할 수 있다.Referring to FIG. 6C, in step 502, the processor according to an embodiment may generate a histogram by accumulating a gradient value for the edge region of the object 10 quantized in step 501.
일 실시 예에 따른 프로세서는, 영상 획득부에서 획득된 복수의 물체(10)에 대한 영상마다 물체의 가장자리에 대한 그레디언트 값을 양자화할 수 있으며, 각 영상마다 양자화된 물체의 가장자리에 대한 그레디언트 값을 누적하여, 물체의 가장자리 각 영역별로 양자화된 그레디언트 값을 빈(bin)으로 갖는 히스토그램을 생성할 수 있다.The processor according to an embodiment may quantize a gradient value for the edge of the object for each image of a plurality of objects 10 acquired by the image acquisition unit, and calculate the gradient value for the edge of the quantized object for each image. By accumulating, it is possible to generate a histogram having a quantized gradient value as a bin for each edge area of the object.
일 예시로, 복수의 물체에 대한 영상 중 제1 영상에서 나타나는 물체의 제1 가장자리 영역에 대한 그레디언트 값이 '1'이고, 복수의 물체에 대한 영상 중 제2 영상에서 나타나는 물체의 제1 가장자리 영역에 대한 그레디언트 값도 '1'인 경우, 양자화된 그레디언트 값 '1'에 2개의 빈이 누적될 수 있다. As an example, a gradient value for a first edge area of an object appearing in a first image among images of a plurality of objects is '1', and a first edge area of an object appearing in a second image among images of a plurality of objects When the gradient value of is also '1', two bins may be accumulated in the quantized gradient value '1'.
다른 예시로, 복수의 물체에 대한 영상 중 제1 영상에서 나타나는 물체의 제1 가장자리 영역에 대한 그레디언트 값이 '4'이고, 복수의 물체에 대한 영상 중 제2 영상에서 나타나는 물체의 제1 가장자리 영역에 대한 그레디언트 값도 '5'인 경우, 양자화된 그레디언트 값 '4' 및 '5' 각각에 1개의 빈이 누적될 수 있다.As another example, the gradient value for the first edge area of the object appearing in the first image among images of a plurality of objects is '4', and the first edge area of the object appearing in the second image among the images of a plurality of objects If the gradient value of is also '5', one bin may be accumulated in each of the quantized gradient values '4' and '5'.
도 6d를 참조하면, 503 과정에서 일 실시 예에 따른 프로세서는, 상기 502 과정에서 생성된 히스토그램을 이용하여 물체(10)에 대한 템플릿(20)(예: 도 4c의 템플릿(20))을 생성할 수 있다.Referring to FIG. 6D, in step 503, the processor according to an embodiment generates a template 20 (eg, template 20 in FIG. 4C) for an object 10 using the histogram generated in step 502. can do.
일 예시(예: 도 6c 참조)로, 프로세서는, 상기 502 과정을 통해 생성된 물체(10)의 일 가장자리 영역에 대한 히스토그램에서 특정 양자화된 그레디언트 값에 누적된 빈(bin)이 지정된 값(threshold) 이상인 경우, 해당 가장자리 영역은 상기 특정 양자화된 그레디언트 값을 갖는 것으로 저장할 수 있다.As an example (e.g., see FIG. 6C), in the histogram of one edge region of the object 10 generated through the process 502, a bin accumulated in a specific quantized gradient value is specified. ) Or more, the edge region may be stored as having the specific quantized gradient value.
일 예시(예: 도 6c 참조)로, 물체(10)의 일 가장자리 영역에 대한 히스토그램에서 양자화된 그레디언트 값 '5'에 누적된 빈이 지정된 값(예: 120) 이상인 경우, 상기 일 가장자리 영역은 양자화된 그레디언트 값 '5'을 갖는 것으로 저장할 수 있다. As an example (e.g., see FIG. 6C), when the bin accumulated in the quantized gradient value '5' in the histogram of one edge region of the object 10 is equal to or greater than a specified value (for example, 120), the one edge region is quantized. It can be stored as having a gradient value of '5'.
일 실시 예에 따르면, 프로세서는 양자화된 그레디언트 값에 누적된 빈이 지정된 값 이상인 경우에는 상기 그레디언트 값을 저장하고, 양자화된 그레디언트 값에 누적된 빈이 지정된 값보다 작은 경우에는 상기 그레디언트 값을 저장하지 않음으로써, 누적된 빈이 많은 그레디언트 값만을 남겨 템플릿(20)을 생성할 수 있다.According to an embodiment, the processor stores the gradient value when the bin accumulated in the quantized gradient value is greater than or equal to the specified value, and does not store the gradient value when the bin accumulated in the quantized gradient value is smaller than the specified value. , It is possible to generate the template 20 by leaving only gradient values with many accumulated beans.
다른 실시 예에 따르면, 프로세서는 양자화된 그레디언트 값에 누적된 빈이 지정된 값 이상인 경우에는 상기 그레디언트 값에 높은 가중치(weight)를 부여하여 저장하고, 반대로 양자화된 그레디언트 값에 누적된 빈이 지정된 값보다 작은 경우에는 상기 그레디언트 값에 상대적으로 낮은 가중치를 부여하여 저장함으로써, 누적된 빈에 따라 가중치를 달리 설정하는 방식으로 템플릿(20)을 생성할 수 있다.According to another embodiment, when the bin accumulated in the quantized gradient value is equal to or greater than the specified value, the processor stores the gradient value by giving a high weight, and conversely, when the bin accumulated in the quantized gradient value is smaller than the specified value. The template 20 can be generated by assigning a relatively low weight to the gradient value and storing it, so that the weight is differently set according to the accumulated bins.
즉, 프로세서는 다양한 각도 또는 위치에서 반복적으로 획득된 물체(10)에 대한 영상으로부터 템플릿(20)을 생성함으로써, 빛의 변화, 물체(10)의 미세한 이동 등의 환경 변화가 반영된 템플릿(20)을 생성할 수 있다. 결과적으로, 일 실시 예에 따른 물체 인식 시스템(예: 도 2의 물체 인식 시스템(100))은 상기 템플릿(20)을 통해 주변 환경 변화에 의한 영향을 최소화하면서, 관심 물체(10)를 강건(robust)하게 인식할 수 있다.That is, the processor generates the template 20 from the image of the object 10 repeatedly acquired at various angles or positions, so that the template 20 reflecting environmental changes such as changes in light and fine movement of the object 10 Can be created. As a result, the object recognition system according to an embodiment (for example, the object recognition system 100 of FIG. 2) minimizes the influence of changes in the surrounding environment through the template 20, while strengthening the object of interest 10 ( robust).
이하에서는 도 7을 참조하여, 일 실시 예에 따른 물체 인식 과정에 대하여 전체적으로 살펴보도록 한다.Hereinafter, an object recognition process according to an embodiment will be described as a whole with reference to FIG. 7.
도 7은, 일 실시 예에 따라 물체를 인식하는 과정을 나타내는 흐름도이다.7 is a flowchart illustrating a process of recognizing an object according to an exemplary embodiment.
도 7의 각 과정은 도 3의 301 과정 내지 304 과정 및/또는 도 5의 501 과정 내지 503 과정과 동일 또는 유사하므로, 이하에서는 중복되는 설명은 생략하도록 한다.Each of the processes of FIG. 7 is the same as or similar to processes 301 to 304 of FIG. 3 and/or processes 501 to 503 of FIG. 5, and thus, redundant descriptions will be omitted hereinafter.
도 7을 참조하면, 701 과정에서 일 실시 예에 따른 물체 인식 시스템(예: 도 2의 물체 인식 시스템(100))의 프로세서(예: 도 2의 프로세서(200))는, 로봇 팔(예: 도 1a, 도 1b의 로봇 팔(120))의 움직임 및/또는 상기 움직임을 반복하는 횟수를 설정할 수 있다. 상기 프로세서는, 로봇 팔의 움직임을 다양하게 설정함으로써, 로봇 팔의 적어도 일 영역에 부착된 영상 획득부(예: 도 1a, 1b의 영상 획득부(110))가 물체(10)에 대한 영상을 획득하는 각도 또는 위치를 조절할 수 있다.Referring to FIG. 7, in step 701, a processor (eg, the processor 200 of FIG. 2) of an object recognition system (eg, the object recognition system 100 of FIG. 2) according to an embodiment is a robot arm (eg: The movement of the robot arm 120 of FIGS. 1A and 1B and/or the number of times the movement is repeated may be set. The processor sets the movement of the robot arm in various ways, so that the image acquisition unit (eg, the image acquisition unit 110 of FIGS. 1A and 1B) attached to at least one area of the robot arm receives an image of the object 10. You can adjust the angle or position to acquire.
702 과정에서, 일 실시 예에 따른 프로세서는 상기 701 과정에서 설정된 움직임 및/또는 반복 횟수에 기초하여 로봇 팔의 구동을 제어할 수 있으며, 영상 획득부는 로봇 팔에 부착되어, 로봇 팔과 함께 설정된 움직임(motion)대로 움직이면서, 다양한 각도 및/또는 위치에서 물체에 대한 영상을 획득할 수 있다. 영상 획득부를 통해 획득된 다양한 각도 및/또는 위치에서의 물체에 대한 영상은 프로세서로 전송될 수 있다. 상기 프로세서는 후술할 바와 같이 수신한 물체에 대한 영상에 기초하여, 템플릿(예: 도 4c의 템플릿(20))을 생성할 수 있으나, 이에 대한 구체적인 설명은 후술하도록 한다.In step 702, the processor according to an embodiment may control the driving of the robot arm based on the number of movements and/or repetitions set in step 701, and the image acquisition unit is attached to the robot arm and moves set together with the robot arm. While moving according to (motion), images of objects can be acquired from various angles and/or positions. Images of objects at various angles and/or positions acquired through the image acquisition unit may be transmitted to the processor. As will be described later, the processor may generate a template (eg, the template 20 of FIG. 4C) based on the image of the received object, but a detailed description thereof will be described later.
703 과정에서, 상기 프로세서는 로봇 팔이 지정된 움직임을 반복한 횟수가 상기 701 과정에서 설정된 반복 횟수와 일치하는지 여부를 판단할 수 있다.In step 703, the processor may determine whether the number of times the robot arm repeats the specified movement matches the number of repetitions set in step 701.
상기 703 과정에서 로봇 팔이 지정된 움직임을 반복한 횟수가 701 과정에서 설정된 반복 횟수와 일치하는 것으로 판단되는 경우, 704 과정에서 일 실시 예에 따른 프로세서는 상기 702 과정에서 획득된 복수의 물체에 대한 영상으로부터 물체의 가장자리(edge)에 대한 그레디언트(gradient) 값을 계산할 수 있다.If it is determined that the number of times the robot arm repeats the specified movement in step 703 matches the number of repetitions set in step 701, the processor according to an embodiment in step 704 may perform images of a plurality of objects acquired in step 702. From, we can calculate the gradient value for the edge of the object.
반대로, 상기 703 과정에서 로봇 팔이 지정된 움직임을 반복한 횟수가 701 과정에서 설정된 반복 횟수와 일치하는 것으로 판단되는 경우, 프로세서는 상기 702 과정을 반복하여, 영상 획득부에서 복수의 물체에 대한 영상이 획득되도록 할 수 있다.Conversely, if it is determined that the number of times the robot arm repeats the specified movement in step 703 matches the number of repetitions set in step 701, the processor repeats step 702, and the image acquisition unit displays images for a plurality of objects. Can be obtained.
일 실시 예에 따른 프로세서는, 상기 704 과정에서, 소벨 오퍼레이터를 이용하여 복수의 물체에 대한 영상으로부터 물체의 가장자리를 추출하고, 가장자리 각 영역에 대한 그레디언트 값을 계산할 수 있다. 상기 프로세서는 계산된 물체의 가장자리에 대한 그레디언트 값을 양자화할 수 있다. 일 예시로, 상기 프로세서는 물체의 가장자리에 대한 그레디언트 값을 8 비트(bit)로 양자화할 수 있으나, 이에 한정되는 것은 아니다.In step 704, the processor according to an embodiment may extract an edge of an object from an image of a plurality of objects using a Sobel operator, and calculate a gradient value for each edge region. The processor may quantize the calculated gradient value for the edge of the object. As an example, the processor may quantize a gradient value with respect to an edge of an object into 8 bits, but is not limited thereto.
705 과정에서, 일 실시 예에 따른 프로세서는 상기 양자화된 물체에 대한 그레디언트 값을 누적하여, 양자화된 그레디언트 값을 빈(bin)으로 갖는 히스토그램을 생성할 수 있다. In step 705, the processor according to an embodiment may generate a histogram having the quantized gradient value as a bin by accumulating the gradient value of the quantized object.
일 실시 예에 따르면, 프로세서는 상기 702 과정에서 획득된 복수의 물체에 대한 영상마다 물체의 가장자리에 대한 그레디언트 값을 양자화할 수 있으며, 각 영상마다 양자화된 물체의 가장자리에 대한 그레디언트 값을 누적하여, 물체의 가장자리 각 영역별로 히스토그램을 생성할 수 있다.According to an embodiment, the processor may quantize a gradient value for the edge of the object for each image of a plurality of objects acquired in step 702, and accumulate the gradient value for the edge of the quantized object for each image, A histogram can be generated for each area at the edge of an object.
706 과정에서, 일 실시 예에 따른 프로세서는 상기 705 과정에서 생성된 물체의 일 가장자리 영역에 대한 히스토그램에서 특정 양자화된 그레디언트 값에 누적된 빈(bin)이 지정된 값(threshold) 이상인지 여부를 판단할 수 있다.In step 706, the processor according to an embodiment determines whether or not the bin accumulated in the specific quantized gradient value in the histogram for one edge region of the object generated in step 705 is equal to or greater than a specified value. I can.
상기 706 과정에서 물체의 특정 가장자리 영역에 대한 히스토그램에서 특정 그레디언트 값에 누적된 빈(bin)이 지정된 값 이상인 것으로 판단되는 경우, 프로세서는 707 과정을 통해, 상기 물체의 특정 가장자리 영역은 상기 특정 그레디언트 값을 갖는 것으로 저장할 수 있다. 반대로, 상기 706 과정에서 물체의 특정 가장자리 영역에 대한 히스토그램에서 특정 그레디언트 값에 누적된 빈이 지정된 값보다 작은 것으로 판단되는 경우, 프로세서는 상기 물체의 특정 가장자리 영역에 대한 그레디언트 값을 특정 그레디언트 값으로 저장하지 않을 수 있다.In step 706, when it is determined that the bin accumulated in the specific gradient value in the histogram for the specific edge area of the object is equal to or greater than the specified value, the processor proceeds through step 707, and the specific edge area of the object is the specific gradient value. Can be stored as having Conversely, in step 706, if it is determined that the bin accumulated in the specific gradient value in the histogram for the specific edge area of the object is smaller than the specified value, the processor does not store the gradient value for the specific edge area of the object as a specific gradient value. May not.
708 과정에서, 일 실시 예에 따른 프로세서는 상기 707 과정에서 물체의 각 가장자리 영역마다 저장된 그레디언트 값에 기초하여, 상기 물체에 대응되는 템플릿을 생성할 수 있다. 즉, 프로세서는 708 과정을 통해 주변 환경 변화(예: 빛의 세기 변화, 물체의 미세한 이동 등)가 발생하였음에도 불구하고 강인하게 남아 있는 그레디언트 값만을 활용하여 템플릿을 생성할 수 있다. In step 708, the processor according to an embodiment may generate a template corresponding to the object based on a gradient value stored for each edge area of the object in step 707. That is, in step 708, the processor may generate a template using only the gradient values that remain strong despite changes in the surrounding environment (eg, changes in light intensity, fine movement of objects, etc.).
709 과정에서, 일 실시 예에 따른 프로세서는 상기 708 과정에서 생성된 템플릿과 복수의 물체들을 매칭(matching)하여, 복수의 물체들 중 관심 물체를 인식할 수 있다. 템플릿에는 물체의 위치 정보(예: 6D 위치 정보)가 포함되어, 상기 프로세서는 관심 대상 물체를 인식함과 동시에, 관심 대상 물체의 현재 위치 정보까지 파악할 수 있다.In step 709, the processor according to an embodiment may recognize an object of interest among the plurality of objects by matching the template generated in step 708 with a plurality of objects. The template includes location information of the object (eg, 6D location information), and the processor can recognize the object of interest and also the current location information of the object of interest.
도 8은, 일 실시 예에 따라 생성된 템플릿과 물체를 매칭하는 과정을 나타내는 도면이다.8 is a diagram illustrating a process of matching an object with a template generated according to an exemplary embodiment.
도 8을 참조하면, 일 실시 예에 따른 물체 인식 시스템(예: 도 2의 물체 인식 시스템(100))은 템플릿(예: 도 4c의 템플릿(20))을 생성하고, 생성된 템플릿과 물체를 매칭(matching)하는 템플릿 매칭 방식을 이용하여 물체를 인식할 수 있다. 일 실시 예에 따르면, 템플릿은 도 5의 501 과정 내지 503 과정을 통해 생성될 수 있으며, 중복되는 설명은 생략하도록 한다.Referring to FIG. 8, an object recognition system (eg, the object recognition system 100 of FIG. 2) according to an embodiment generates a template (eg, the template 20 of FIG. 4C), and generates a template and an object. An object can be recognized using a matching template matching method. According to an embodiment, the template may be generated through processes 501 to 503 of FIG. 5, and redundant descriptions will be omitted.
상기 템플릿은 복수의 물체에 대한 영상에 기초하여 생성될 수 있으며, 복수의 물체에 대한 영상에는 주변 환경(예: 빛의 세기 변화, 물체의 미세한 이동 등)가 반영될 수 있으므로, 복수의 물체에 대한 영상에 기초하여 생성된 템플릿은 물체 인식 과정에서 주변 환경에 의한 영향을 최소화할 수 있다.The template may be generated based on images of a plurality of objects, and the surrounding environment (eg, change in light intensity, fine movement of objects, etc.) may be reflected in images of a plurality of objects. The template generated based on the image for the object can minimize the influence of the surrounding environment in the process of recognizing the object.
일 실시 예에 따르면, 물체 인식 시스템은 복수의 영상으로부터 획득한 물체의 가장자리에 대한 그레디언트 값을 누적(예: 도 6c 참조)할 수 있다. 상기 물체 인식 시스템은 일 예시로 누적된 그레디언트 값과 지정된 값(threshold)을 비교하여, 누적된 그레디언트 값이 지정된 값 이상인 그레디언트 값만을 남겨 템플릿을 생성할 수 있다.According to an embodiment, the object recognition system may accumulate (eg, refer to FIG. 6C) gradient values for edges of an object acquired from a plurality of images. As an example, the object recognition system may generate a template by comparing an accumulated gradient value with a specified threshold, leaving only a gradient value in which the accumulated gradient value is equal to or greater than a specified value.
상기 물체 인식 시스템은 누적된 그레디언트 값이 지정된 값이 이상인 그레디언트 값만을 남겨 템플릿을 생성함으로써, 템플릿 데이터의 용량을 줄일 수 있다.The object recognition system can reduce the capacity of template data by creating a template by leaving only a gradient value in which an accumulated gradient value is equal to or greater than a specified value.
다만, 물체 인식 시스템의 템플릿 생성 방식이 이에 한정되는 것은 아니며, 실시 예에 따라 물체 인식 시스템은 누적된 그레디언트 값에 따라 가중치(weight)를 달리 부여하여 템플릿을 생성할 수도 있다.However, the method of generating a template of the object recognition system is not limited thereto, and according to an embodiment, the object recognition system may generate a template by assigning a different weight according to the accumulated gradient value.
물체 인식 시스템에서 상술한 과정을 통해 생성된 템플릿은, 물체의 가장자리를 단순 누적하여 생성된 종래의 템플릿과 달리, 강인한 윤곽선을 가질 수 있다. 그 결과, 일 실시 예에 따른 물체 인식 시스템은 상기 템플릿을 활용하여 물체 인식 과정에서 빛의 방향이 변화하거나, 물체의 일부 변형(deformation)이 발생하는 경우에도 강건하게 물체를 인식할 수 있다. The template generated through the above-described process in the object recognition system may have a strong outline, unlike a conventional template generated by simply accumulating the edges of objects. As a result, the object recognition system according to an exemplary embodiment can robustly recognize an object even when the direction of light changes or some deformation of the object occurs during the object recognition process using the template.
본 개시의 일 실시 예에 따른 물체 인식 시스템은, 물체 인식 시스템에 있어서, 지정된 각도 또는 위치에서 물체의 영상을 반복적으로 획득하는 영상 획득부 및 상기 영상 획득부와 작동적(으로 연결되어, 상기 영상 획득부에서 획득한 물체의 영상을 수신하는 프로세서를 포함하며, 상기 프로세서는, 상기 획득한 물체의 영상에서 물체의 가장자리(edge)에 대한 그레디언트(gradient) 값을 계산하고, 상기 그레디언트 값에 기초하여, 상기 물체의 템플릿(template)을 생성하도록 구성될 수 있다.An object recognition system according to an embodiment of the present disclosure, in the object recognition system, is an image acquisition unit that repeatedly acquires an image of an object at a specified angle or position, and an image acquisition unit that is operatively connected to the image acquisition unit, And a processor that receives an image of an object acquired by an acquisition unit, wherein the processor calculates a gradient value for an edge of the object from the acquired image of the object, and based on the gradient value , It may be configured to generate a template of the object.
일 실시 예에 따르면, 상기 영상 획득부는, 카메라일 수 있다.According to an embodiment, the image acquisition unit may be a camera.
일 실시 예에 따르면, 상기 영상 획득부는, 회전 운동이 가능한 로봇 팔(robot arm)의 적어도 일 영역에 부착될 수 있다.According to an embodiment, the image acquisition unit may be attached to at least one area of a robot arm capable of rotational movement.
일 실시 예에 따르면, 상기 로봇 팔은, 고정부, 상기 고정부와 회전 가능하게 결합되는 제1 링크부, 상기 제1 링크부와 회전 가능하게 결합되는 제2 링크부, 및상기 제2 링크부와 회전 가능하게 결합되는 제3 링크부를 포함할 수 있다.According to an embodiment, the robot arm includes a fixing part, a first link part rotatably coupled to the fixing part, a second link part rotatably connected to the first link part, and the second link part. It may include a third link that is rotatably coupled with.
일 실시 예에 따르면, 상기 프로세서는, 상기 로봇 팔의 포즈(pose) 또는 각도를 제어하도록 구성될 수 있다.According to an embodiment, the processor may be configured to control a pose or an angle of the robot arm.
일 실시 예에 따르면, 상기 프로세서는, 상기 로봇 팔이 지정된 움직임(motion)을 반복할 수 있도록, 상기 로봇 팔의 구동을 제어하도록 구성될 수 있다.According to an embodiment, the processor may be configured to control the driving of the robot arm so that the robot arm repeats a designated motion.
일 실시 예에 따르면, 상기 프로세서는, 상기 계산된 물체의 가장자리에 대한 그레디언트 값을 양자화하도록 구성될 수 있다.According to an embodiment, the processor may be configured to quantize a gradient value for an edge of the calculated object.
일 실시 예에 따르면, 상기 프로세서는, 상기 양자화된 그레디언트 값을 누적하여, 양자화된 그레디언트 값을 빈(bin)으로 갖는 히스토그램(histogram)을 생성하도록 구성될 수 있다.According to an embodiment, the processor may be configured to accumulate the quantized gradient values and generate a histogram having the quantized gradient values as bins.
일 실시 예에 따르면, 상기 프로세서는, 상기 히스토그램에서 누적된 물체의 가장 자리에 대한 그레디언트 값이 지정된 값 이상인 경우, 상기 물체의 가장 자리는 상기 그레디언트 값을 갖는 것으로 저장하도록 구성될 수 있다.According to an embodiment, when a gradient value for an edge of an object accumulated in the histogram is equal to or greater than a specified value, the processor may be configured to store the edge of the object as having the gradient value.
일 실시 예에 따르면, 상기 프로세서는, 상기 저장된 물체의 가장 자리의 각 영역에 대응되는 그레디언트 값에 기초하여, 상기 물체에 대한 템플릿을 생성하도록 구성될 수 있다.According to an embodiment, the processor may be configured to generate a template for the object based on a gradient value corresponding to each area of the edge of the stored object.
일 실시 예에 따르면, 상기 프로세서는, 상기 생성된 템플릿과 상기 영상 획득부를 통해 획득된 영상에 나타나는 적어도 하나의 물체를 매칭하여, 상기 물체를 인식하도록 구성될 수 있다.According to an embodiment, the processor may be configured to recognize the object by matching the generated template with at least one object appearing in an image acquired through the image acquisition unit.
본 개시의 일 실시 예에 따른 물체 인식 방법은, 물체 인식 방법에 있어서, 영상 획득부를 통해, 지정된 각도 또는 위치에서 물체에 대한 영상을 반복적으로 획득하는 영상 획득 단계, 상기 획득된 물체의 영상에 기초하여, 상기 물체의 가장자리(edge)에 대한 그레디언트(gradient) 값을 계산하는 그레디언트 계산 단계, 및 상기 그레디언트 값에 기초하여, 상기 물체의 템플릿(template)를 생성하는 템플릿 생성 단계를 포함할 수 있다.An object recognition method according to an embodiment of the present disclosure includes, in an object recognition method, an image acquisition step of repeatedly obtaining an image of an object at a specified angle or position through an image acquisition unit, based on the acquired image of the object. Thus, a gradient calculation step of calculating a gradient value for an edge of the object, and a template generation step of generating a template of the object based on the gradient value may be included.
일 실시 예에 따르면, 상기 영상 획득부는, 회전 운동이 가능한 로봇 팔(robot arm)의 적어도 일 영역에 부착될 수 있다.According to an embodiment, the image acquisition unit may be attached to at least one area of a robot arm capable of rotational movement.
일 실시 예에 따르면, 상기 영상 획득 단계는, 프로세서에 의해 상기 로봇 팔이 지정된 움직임(motion)으로 반복적으로 구동함에 따라, 상기 영상 획득부를 통해 지정된 각도 또는 위치에서 복수의 물체의 영상을 획득할 수 있다.According to an embodiment, in the image acquisition step, as the robot arm is repeatedly driven by a specified motion by a processor, images of a plurality of objects may be acquired at a specified angle or position through the image acquisition unit. have.
일 실시 예에 따르면, 상기 영상 획득 단계에 앞서, 상기 로봇 팔의 움직임 또는 상기 움직임을 반복하는 횟수를 설정하는 설정 단계를 더 포함할 수 있다.According to an embodiment, prior to the step of acquiring the image, a setting step of setting a movement of the robot arm or a number of times to repeat the movement may be further included.
일 실시 예에 따르면, 상기 계산된 물체의 가장자리에 대한 그레디언트 값을 양자화하는 양자화 단계를 더 포함할 수 있다.According to an embodiment, a quantization step of quantizing the calculated gradient value of the edge of the object may be further included.
일 실시 예에 따르면, 상기 양자화된 그레디언트 값을 누적하여, 양자화된 그레디언트 값을 빈(bin)으로 갖는 히스토그램(histogram)을 생성하는 히스토그램 생성 단계를 더 포함할 수 있다.According to an embodiment, a histogram generation step of generating a histogram having the quantized gradient values as bins by accumulating the quantized gradient values may be further included.
일 실시 예에 따르면, 상기 히스토그램에서 누적된 물체의 가장 자리에 대한 그레디언트 값이 지정된 값 이상인 경우, 상기 물체의 가장 자리는 상기 그레디언트 값을 갖는 것으로 저장하는 그레디언트 값 저장 단계를 더 포함할 수 있다.According to an embodiment, when the gradient value for the edge of the object accumulated in the histogram is equal to or greater than a specified value, the step of storing the gradient value as storing the edge of the object as having the gradient value may be further included.
일 실시 예에 따르면, 상기 템플릿 생성 단계는, 상기 저장된 물체의 가장 자리의 각 영역에 대응되는 그레디언트 값에 기초하여, 상기 물체에 대한 템플릿을 생성할 수 있다.According to an embodiment, in the generating of the template, a template for the object may be generated based on a gradient value corresponding to each area of an edge of the stored object.
일 실시 예에 따르면, 상기 생성된 템플릿과 상기 영상 획득부를 통해 획득된 영상에 나타나는 적어도 하나의 물체를 매칭하여, 상기 물체를 인식하는 물체 인식 단계를 더 포함할 수 있다.According to an embodiment, an object recognition step of recognizing the object by matching the generated template with at least one object appearing in an image acquired through the image acquisition unit may be further included.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다. In the above-described specific embodiments of the present disclosure, components included in the disclosure are expressed in the singular or plural according to the presented specific embodiments. However, the singular or plural expression is selected appropriately for the situation presented for convenience of description, and the present disclosure is not limited to the singular or plural constituent elements, and even constituent elements expressed in plural are composed of the singular or Even the expressed constituent elements may be composed of pluralities.
한편, 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다. Meanwhile, although specific embodiments have been described in the detailed description of the present disclosure, various modifications are possible without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure is limited to the described embodiments and should not be defined, and should be determined by the scope of the claims and equivalents as well as the scope of the claims to be described later.

Claims (15)

  1. 물체 인식 시스템에 있어서,In the object recognition system,
    지정된 각도 또는 위치에서 물체의 영상을 반복적으로 획득하는 영상 획득부; 및An image acquisition unit that repeatedly acquires an image of an object at a specified angle or position; And
    상기 영상 획득부와 작동적(으로 연결되어, 상기 영상 획득부에서 획득한 물체의 영상을 수신하는 프로세서;를 포함하며,Includes; a processor that is operatively connected to the image acquisition unit and receives an image of an object acquired by the image acquisition unit,
    상기 프로세서는,The processor,
    상기 획득한 물체의 영상에서 물체의 가장자리(edge)에 대한 그레디언트(gradient) 값을 계산하고, Calculate a gradient value for an edge of the object from the acquired image of the object,
    상기 그레디언트 값에 기초하여, 상기 물체의 템플릿(template)을 생성하도록 구성되는, 물체 인식 시스템.Based on the gradient value, configured to generate a template of the object.
  2. 제1항에 있어서,The method of claim 1,
    상기 영상 획득부는, 카메라인 물체 인식 시스템.The image acquisition unit is an object recognition system that is a camera.
  3. 제1항에 있어서,The method of claim 1,
    상기 영상 획득부는, 회전 운동이 가능한 로봇 팔(robot arm)의 적어도 일 영역에 부착되는, 물체 인식 시스템.The image acquisition unit is attached to at least one area of a robot arm capable of rotational movement.
  4. 제3항에 있어서,The method of claim 3,
    상기 로봇 팔은,The robot arm,
    고정부;Fixed part;
    상기 고정부와 회전 가능하게 결합되는 제1 링크부;A first link portion rotatably coupled to the fixing portion;
    상기 제1 링크부와 회전 가능하게 결합되는 제2 링크부; 및A second link portion rotatably coupled to the first link portion; And
    상기 제2 링크부와 회전 가능하게 결합되는 제3 링크부;를 포함하는, 물체 인식 시스템.Containing, an object recognition system; a third link unit rotatably coupled to the second link unit.
  5. 제3항에 있어서,The method of claim 3,
    상기 프로세서는,The processor,
    상기 로봇 팔의 포즈(pose) 또는 각도를 제어하도록 구성되는, 물체 인식 시스템.An object recognition system configured to control a pose or angle of the robotic arm.
  6. 제5항에 있어서,The method of claim 5,
    상기 프로세서는,The processor,
    상기 로봇 팔이 지정된 움직임(motion)을 반복할 수 있도록, 상기 로봇 팔의 구동을 제어하도록 구성되는, 물체 인식 시스템.The object recognition system, configured to control the driving of the robotic arm so that the robotic arm can repeat a specified motion.
  7. 제3항에 있어서,The method of claim 3,
    상기 프로세서는,The processor,
    상기 계산된 물체의 가장자리에 대한 그레디언트 값을 양자화하도록 구성되는, 물체 인식 시스템.An object recognition system configured to quantize the calculated gradient value for the edge of the object.
  8. 제7항에 있어서,The method of claim 7,
    상기 프로세서는,The processor,
    상기 양자화된 그레디언트 값을 누적하여, 양자화된 그레디언트 값을 빈(bin)으로 갖는 히스토그램(histogram)을 생성하도록 구성되는, 물체 인식 시스템.And accumulating the quantized gradient values to generate a histogram having the quantized gradient values as bins.
  9. 제8항에 있어서,The method of claim 8,
    상기 프로세서는,The processor,
    상기 히스토그램에서 누적된 물체의 가장 자리에 대한 그레디언트 값이 지정된 값 이상인 경우, 상기 물체의 가장 자리는 상기 그레디언트 값을 갖는 것으로 저장하도록 구성되는, 물체 인식 시스템.The object recognition system, configured to store the edge of the object as having the gradient value when the gradient value for the edge of the object accumulated in the histogram is equal to or greater than a specified value.
  10. 제8항에 있어서,The method of claim 8,
    상기 프로세서는,The processor,
    상기 저장된 물체의 가장 자리의 각 영역에 대응되는 그레디언트 값에 기초하여, 상기 물체에 대한 템플릿을 생성하도록 구성되는, 물체 인식 시스템.The object recognition system, configured to generate a template for the object based on a gradient value corresponding to each area of the edge of the stored object.
  11. 제1항에 있어서,The method of claim 1,
    상기 프로세서는,The processor,
    상기 생성된 템플릿과 상기 영상 획득부를 통해 획득된 영상에 나타나는 적어도 하나의 물체를 매칭하여, 상기 물체를 인식하도록 구성되는, 물체 인식 시스템.The object recognition system, configured to recognize the object by matching the generated template with at least one object appearing in the image acquired through the image acquisition unit.
  12. 물체 인식 방법에 있어서,In the object recognition method,
    영상 획득부를 통해, 지정된 각도 또는 위치에서 물체에 대한 영상을 반복적으로 획득하는 영상 획득 단계;An image acquisition step of repeatedly acquiring an image of an object at a specified angle or position through an image acquisition unit;
    상기 획득된 물체의 영상에 기초하여, 상기 물체의 가장자리(edge)에 대한 그레디언트(gradient) 값을 계산하는 그레디언트 계산 단계; 및A gradient calculation step of calculating a gradient value for an edge of the object based on the acquired image of the object; And
    상기 그레디언트 값에 기초하여, 상기 물체의 템플릿(template)를 생성하는 템플릿 생성 단계;를 포함하는, 물체 인식 방법.Including, object recognition method comprising; a template generation step of generating a template (template) of the object based on the gradient value.
  13. 제12항에 있어서,The method of claim 12,
    상기 영상 획득부는, 회전 운동이 가능한 로봇 팔(robot arm)의 적어도 일 영역에 부착되는, 물체 인식 방법.The image acquisition unit is attached to at least one area of a robot arm capable of rotational movement.
  14. 제13항에 있어서,The method of claim 13,
    상기 영상 획득 단계는,The image acquisition step,
    프로세서에 의해 상기 로봇 팔이 지정된 움직임(motion)으로 반복적으로 구동함에 따라, 상기 영상 획득부를 통해 지정된 각도 또는 위치에서 복수의 물체의 영상을 획득하는, 물체 인식 방법.As the robot arm is repeatedly driven by a specified motion by a processor, images of a plurality of objects are acquired at a specified angle or position through the image acquisition unit.
  15. 제13항에 있어서,The method of claim 13,
    상기 영상 획득 단계에 앞서, 상기 로봇 팔의 움직임 또는 상기 움직임을 반복하는 횟수를 설정하는 설정 단계;를 더 포함하는, 물체 인식 방법.Prior to the image acquisition step, a setting step of setting a movement of the robot arm or a number of times to repeat the movement; further comprising, object recognition method.
PCT/KR2020/011704 2019-09-04 2020-09-01 Object recognition system and method WO2021045481A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0109684 2019-09-04
KR1020190109684A KR20210028503A (en) 2019-09-04 2019-09-04 Objection recognition system and method

Publications (1)

Publication Number Publication Date
WO2021045481A1 true WO2021045481A1 (en) 2021-03-11

Family

ID=74852818

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/011704 WO2021045481A1 (en) 2019-09-04 2020-09-01 Object recognition system and method

Country Status (2)

Country Link
KR (1) KR20210028503A (en)
WO (1) WO2021045481A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200376678A1 (en) * 2019-05-31 2020-12-03 Denso Corporation Visual servo system
CN114750155A (en) * 2022-04-26 2022-07-15 广东天太机器人有限公司 Object classification control system and method based on industrial robot

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110067373A (en) * 2009-12-14 2011-06-22 한국전자통신연구원 The apparatus and method for recognizing image
US9224060B1 (en) * 2013-09-17 2015-12-29 Amazon Technologies, Inc. Object tracking using depth information
JP2017091202A (en) * 2015-11-10 2017-05-25 国立大学法人静岡大学 Object recognition method and object recognition device
KR101798041B1 (en) * 2016-06-29 2017-11-17 성균관대학교산학협력단 Device for 3 dimensional object recognition and pose estimation and method for the same
KR20180109107A (en) * 2017-03-27 2018-10-08 (주)로직아이텍 Intelligent cart robotic devices for use in stores and warehouses

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110067373A (en) * 2009-12-14 2011-06-22 한국전자통신연구원 The apparatus and method for recognizing image
US9224060B1 (en) * 2013-09-17 2015-12-29 Amazon Technologies, Inc. Object tracking using depth information
JP2017091202A (en) * 2015-11-10 2017-05-25 国立大学法人静岡大学 Object recognition method and object recognition device
KR101798041B1 (en) * 2016-06-29 2017-11-17 성균관대학교산학협력단 Device for 3 dimensional object recognition and pose estimation and method for the same
KR20180109107A (en) * 2017-03-27 2018-10-08 (주)로직아이텍 Intelligent cart robotic devices for use in stores and warehouses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200376678A1 (en) * 2019-05-31 2020-12-03 Denso Corporation Visual servo system
CN114750155A (en) * 2022-04-26 2022-07-15 广东天太机器人有限公司 Object classification control system and method based on industrial robot

Also Published As

Publication number Publication date
KR20210028503A (en) 2021-03-12

Similar Documents

Publication Publication Date Title
WO2021045481A1 (en) Object recognition system and method
WO2017030259A1 (en) Unmanned aerial vehicle having automatic tracking function and control method thereof
WO2014058248A1 (en) Image monitoring apparatus for estimating gradient of singleton, and method therefor
JPH1183530A (en) Optical flow detector for image and self-position recognizing system for mobile body
WO2020235804A1 (en) Method for generating pose similarity determination model and device for generating pose similarity determination model
WO2018230845A1 (en) Method for positioning on basis of vision information and robot implementing same
JPS59102536A (en) Automatic assembling device
WO2020075954A1 (en) Positioning system and method using combination of results of multimodal sensor-based location recognition
WO2016195299A1 (en) Optical inspection method for carbon fiber reinforced plastic component
WO2019168264A1 (en) Electronic device and method for controlling same
WO2020140210A1 (en) Automated film-making using image-based object tracking
WO2019098421A1 (en) Object reconstruction device using motion information and object reconstruction method using same
WO2023149603A1 (en) Thermal-image-monitoring system using plurality of cameras
WO2023282500A1 (en) Method, apparatus, and program for automatically labeling slide scan data
WO2019151555A1 (en) Object detection method and robot system
WO2021261905A1 (en) Apparatus and method for image analysis-based work operation recognition and production measurement
WO2019083068A1 (en) Three-dimensional information acquisition system using pitching practice, and method for calculating camera parameters
WO2022098164A1 (en) Electronic device and control method of electronic device
WO2021040345A1 (en) Electronic device and method for controlling electronic device
WO2021071258A1 (en) Mobile security image learning device and method based on artificial intelligence
WO2018038300A1 (en) Image providing device, method and computer program
WO2017039054A1 (en) Golf ball recognition apparatus using camera
WO2024075906A1 (en) Image processing device, image processing system, and image processing method
JP2006514350A (en) Optical character recognition apparatus and method
WO2019164057A1 (en) Server, method, and wearable device for supporting maintenance of military equipment in augmented reality technology using correlation rule mining

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20860067

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20860067

Country of ref document: EP

Kind code of ref document: A1