[go: up one dir, main page]

KR102494659B1 - Apparatus and method for estimating of 6d pose - Google Patents

Apparatus and method for estimating of 6d pose Download PDF

Info

Publication number
KR102494659B1
KR102494659B1 KR1020200151530A KR20200151530A KR102494659B1 KR 102494659 B1 KR102494659 B1 KR 102494659B1 KR 1020200151530 A KR1020200151530 A KR 1020200151530A KR 20200151530 A KR20200151530 A KR 20200151530A KR 102494659 B1 KR102494659 B1 KR 102494659B1
Authority
KR
South Korea
Prior art keywords
pose
model
image
deep learning
network
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020200151530A
Other languages
Korean (ko)
Other versions
KR20220065234A (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 KR1020200151530A priority Critical patent/KR102494659B1/en
Publication of KR20220065234A publication Critical patent/KR20220065234A/en
Application granted granted Critical
Publication of KR102494659B1 publication Critical patent/KR102494659B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/768Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

6D 포즈 추정 장치는 비지도 학습(Unsupervised Learning)을 이용하여 객체 포즈를 추정하는 장치에 있어서, 이미지에 대한 RGB 데이터를 제 1 딥러닝 모델에 입력하여 외형 특징을 추출하는 외형 특징 추출부와, 상기 이미지에 대한 깊이(depth) 데이터를 제 2 딥러닝 모델에 입력하여 기하학 특징을 추출하는 기하학 특징 추출부를 포함하는 특징 추출부; 상기 추출된 외형 특징 및 기하학 특징을 결합하여 상기 이미지에 대한 특징맵(feature map)을 생성하는 결합부; 및, 상기 생성된 특징맵에 기초하여 상기 이미지에 대응하는 객체에 대한 6D 포즈를 추정하는 객체 포즈 추정부를 포함하고, 상기 제 2 딥러닝 모델은 사용자 정의 문제(Pretext task)에 의해 학습된 네트워크의 가중치에 기초하여 전이 학습한다.A 6D pose estimating device is a device for estimating an object pose using unsupervised learning, comprising: an external feature extractor for extracting external features by inputting RGB data of an image into a first deep learning model; a feature extractor including a geometric feature extractor extracting geometric features by inputting depth data of an image to a second deep learning model; a combination unit generating a feature map of the image by combining the extracted shape features and geometric features; And, an object pose estimator for estimating a 6D pose for an object corresponding to the image based on the generated feature map, wherein the second deep learning model is based on a user-defined problem (Pretext task) of the learned network Transfer learning based on weights.

Description

6D 포즈 추정 장치 및 방법{APPARATUS AND METHOD FOR ESTIMATING OF 6D POSE}Apparatus and method for estimating 6D pose {APPARATUS AND METHOD FOR ESTIMATING OF 6D POSE}

본 발명은 6D 포즈 추정 장치 및 방법에 관한 것이다.The present invention relates to a 6D pose estimation apparatus and method.

일반적으로, 객체의 포즈 추정은 레이블이 포함된 학습 데이터를 이용하여 학습된 딥러닝 모델을 이용한다. 즉, 학습된 딥러닝 모델에 객체의 3D 데이터를 입력하여 객체의 포즈를 추정할 수 있다. In general, object pose estimation uses a deep learning model trained using label-included training data. That is, the pose of the object may be estimated by inputting the 3D data of the object to the learned deep learning model.

6D (x, y, z, roll, pitch, yaw) 포즈 추정을 위한 딥러닝 모델을 학습시키는 데에는 양질의 데이터가 매우 중요하다. 이때, 대량의 데이터 셋을 만들기 위해서는 임의 데이터를 생성하여야 하기 때문에, 실제(real) 환경에서의 성능이 떨어질 수 있다. 특히, 3D 데이터를 이용하여 6자유도(6DOF: Six degrees of freedom)의 물체를 다루기 위한 데이터 셋의 제작은 매우 까다롭고, 2D에 비해 시간과 비용이 훨씬 많이 소요된다. Good quality data is very important to train a deep learning model for 6D (x, y, z, roll, pitch, yaw) pose estimation. At this time, since random data must be generated in order to create a large data set, performance in a real environment may deteriorate. In particular, it is very difficult to create a data set to handle objects with six degrees of freedom (6DOF) using 3D data, and it takes much more time and money than 2D.

비지도 학습(Unsupervised Learning)은 기계 학습의 일종으로 데이터가 어떻게 구성되었는지를 알아내는 문제의 범주에 속하며, 지도 학습(Supervised Learning) 또는 강화 학습(Reinforcement Learning)과는 달리, 입력 값만 있는 훈련 데이터를 이용하여 입력들의 규칙성을 찾는 학습 방법이다.Unsupervised Learning is a type of machine learning that belongs to the category of problems that determine how data is structured. Unlike Supervised Learning or Reinforcement Learning, training data with only input values is It is a learning method to find the regularity of inputs using

비지도 학습 중 자기 지도 학습(Self-Supervised Learning)은 비지도 학습의 일종으로 레이블이 없는 데이터(Unlabeled data)를 이용하여 사용자가 정의한 문제(Pretext task)를 학습한 네트워크를 실질적으로 풀고자 하는 문제(downstream task)로 전이 학습(transfer learning)하는 학습 방법이다.Among unsupervised learning, Self-Supervised Learning is a type of unsupervised learning that uses unlabeled data to actually solve a network that has learned a user-defined pretext task. It is a learning method that transfer learning to a downstream task.

한국등록특허공보 제1994316호 (2019. 6. 24. 등록)Korean Registered Patent Publication No. 1994316 (registered on June 24, 2019)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 임의 데이터에 기초하여 학습된 딥러닝 모델을 사용하여 객체의 포즈를 추정하는 경우 발생하게 되는 성능 저하의 문제를 해결할 수 있는 6D 포즈 추정 장치를 제공하고자 한다. The present invention is to solve the above-mentioned problems of the prior art, a 6D pose estimating device that can solve the problem of performance degradation that occurs when estimating the pose of an object using a deep learning model learned based on arbitrary data want to provide

또한, 레이블이 없는 데이터 또는 소량의 레이블을 포함하고 있는 데이터 만으로도 효율적으로 객체 포즈를 추정할 수 있는 6D 포즈 추정 장치를 제공하고자 한다. In addition, it is intended to provide a 6D pose estimation device capable of estimating an object pose efficiently only with unlabeled data or data containing a small amount of labels.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problems described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 비지도 학습(Unsupervised Learning)을 이용하여 객체 포즈를 추정하는 장치에 있어서, 이미지에 대한 RGB 데이터를 제 1 딥러닝 모델에 입력하여 외형 특징을 추출하는 외형 특징 추출부와, 상기 이미지에 대한 깊이(depth) 데이터를 제 2 딥러닝 모델에 입력하여 기하학 특징을 추출하는 기하학 특징 추출부를 포함하는 특징 추출부; 상기 추출된 외형 특징 및 기하학 특징을 결합하여 상기 이미지에 대한 특징맵(feature map)을 생성하는 결합부; 및, 상기 생성된 특징맵에 기초하여 상기 이미지에 대응하는 객체에 대한 6D 포즈를 추정하는 객체 포즈 추정부를 포함하고, 상기 제 2 딥러닝 모델은 사용자 정의 문제(Pretext task)에 의해 학습된 네트워크의 가중치에 기초하여 전이 학습된 것인, 6D 포즈 추정 장치를 제공 할 수 있다. As a means for achieving the above technical problem, an embodiment of the present invention, in an apparatus for estimating an object pose using unsupervised learning, RGB data for an image is converted to a first deep learning model. a feature extraction unit including an external feature extraction unit that extracts external shape features by input and a geometric feature extraction unit that extracts geometric features by inputting depth data of the image to a second deep learning model; a combination unit generating a feature map of the image by combining the extracted shape features and geometric features; And, an object pose estimator for estimating a 6D pose for an object corresponding to the image based on the generated feature map, wherein the second deep learning model is based on a user-defined problem (Pretext task) of the learned network It is possible to provide a 6D pose estimating device that is transfer-learned based on weights.

본 발명의 다른 실시예는, 비지도 학습(Unsupervised Learning)을 이용하여 객체 포즈를 추정하는 방법에 있어서, 이미지에 대한 RGB 데이터를 제 1 딥러닝 모델에 입력하여 외형 특징을 추출하는 단계와, 상기 이미지에 대한 깊이(depth) 데이터를 제 2 딥러닝 모델에 입력하여 기하학 특징을 추출하는 단계를 포함하는 특징 추출 단계; 상기 추출된 외형 특징 및 기하학 특징을 결합하여 상기 이미지에 대한 특징맵(feature map)을 생성하는 단계; 및, 상기 생성된 특징맵에 기초하여 상기 이미지에 대응하는 객체에 대한 6D 포즈를 추정하는 단계를 포함하고, 상기 제 2 딥러닝 모델은 사용자 정의 문제(Pretext task)에 의해 학습된 네트워크의 가중치에 기초하여 전이 학습된 것인, 6D 포즈 추정 방법을 제공할 수 있다. Another embodiment of the present invention is a method for estimating an object pose using unsupervised learning, comprising the steps of extracting appearance features by inputting RGB data of an image to a first deep learning model; A feature extraction step including the step of extracting a geometric feature by inputting depth data of the image to a second deep learning model; generating a feature map for the image by combining the extracted shape features and geometric features; And, estimating a 6D pose for the object corresponding to the image based on the generated feature map, wherein the second deep learning model is based on a weight of a network learned by a user-defined problem (Pretext task) It is possible to provide a 6D pose estimation method based on transfer learning.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described means for solving the problems is only illustrative and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 레이블이 없는 데이터 또는 소량의 레이블을 포함하고 있는 데이터 만으로도 효율적으로 객체의 포즈를 추정할 수 있는 6D 포즈 추정 장치를 제공할 수 있다. According to any one of the above-described problem solving means of the present invention, it is possible to provide a 6D pose estimating device capable of estimating the pose of an object efficiently only with unlabeled data or data containing a small amount of labels.

또한, 추정된 객체의 6D 정보를 사용하여 로봇의 Pick & Place 작업뿐만 아니라 조립을 포함한 복잡한 작업도 수행할 수 있다.In addition, by using the 6D information of the estimated object, it is possible to perform complex tasks including assembly as well as Pick & Place tasks of the robot.

도 1은 본 발명의 일 실시예에 따른 6D 포즈 추정 장치의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 6D 포즈 추정 장치의 구성을 설명하기 위한 예시적인 도면이다.
도 3은 본 발명의 일 실시예에 따른 트레이 모델을 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 사용자 정의 문제(Pretext task) 수행부의 노이즈부를 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 6D 포즈 추정 방법의 순서도이다.
1 is a block diagram of a 6D pose estimation device according to an embodiment of the present invention.
2 is an exemplary diagram for explaining the configuration of a 6D pose estimation device according to an embodiment of the present invention.
3 is an exemplary diagram for explaining a tray model according to an embodiment of the present invention.
4 is an exemplary diagram for explaining a noise unit of a pretext task performer according to an embodiment of the present invention.
5 is a flowchart of a 6D pose estimation method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected" but also the case where it is "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, this means that it may further include other components, not excluding other components, unless otherwise stated, and one or more other characteristics. However, it should be understood that it does not preclude the possibility of existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In this specification, a "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, and two or more units may be realized by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 장치에서 대신 수행될 수도 있다. 이와 마찬가지로, 장치가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 장치와 연결된 단말 또는 디바이스에서 수행될 수도 있다.In this specification, some of the operations or functions described as being performed by a terminal or device may be performed instead by a device connected to the terminal or device. Likewise, some of the operations or functions described as performed by the device may also be performed by a terminal or device connected to the device.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 6D 포즈 추정 장치의 블록도이다. 도 1을 참조하면, 6D 포즈 추정 장치(100)는 특징 추출부(110), 결합부(120), 객체 포즈 추정부(130) 및 사용자 정의 문제(Pretext task) 수행부(140)를 포함할 수 있다. 1 is a block diagram of a 6D pose estimation device according to an embodiment of the present invention. Referring to FIG. 1 , the 6D pose estimating device 100 may include a feature extractor 110, a combiner 120, an object pose estimator 130, and a pretext task performer 140. can

특징 추출부(110)는 외형 특징 추출부(111) 및 기하학 특징 추출부(112)를 포함할 수 있고, 객체 포즈 추정부(130)는 시맨틱 세그먼테이션 모듈(Semantic segmentation module, 131), 특징점 검출 모듈(Keypoint detection module, 132) 및 센터 투표 모듈(Center voting module, 133)을 포함할 수 있고, 사용자 정의 문제(Pretext task) 수행부(140)는 모델링부(141), 노이즈부(142) 및 학습부(143)를 포함할 수 있다. 다만 위 구성 요소들(110 내지 140)은 6D 포즈 추정 장치(100)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것일 뿐이다. The feature extractor 110 may include an external feature extractor 111 and a geometric feature extractor 112, and the object pose estimator 130 includes a semantic segmentation module 131 and a feature point detection module. (Keypoint detection module, 132) and center voting module (Center voting module, 133), and the user-defined problem (Pretext task) performer 140 is a modeling unit 141, noise unit 142 and learning A section 143 may be included. However, the above components 110 to 140 are merely examples of components that can be controlled by the 6D pose estimating device 100 .

본 발명의 일 실시예에 따른 6D 포즈 추정 장치(100)는 레이블이 없는 데이터 또는 소량의 레이블을 포함하고 있는 데이터 만으로도 효율적으로 객체의 포즈를 추정할 수 있다. The 6D pose estimation apparatus 100 according to an embodiment of the present invention can estimate the pose of an object efficiently only with unlabeled data or data including a small amount of labels.

또한, 본 발명의 일 실시예에 따른 6D 포즈 추정 장치(100)는 추정된 객체의 6D 정보를 사용하여 로봇의 픽앤플레이스(Pick & Place) 작업뿐만 아니라 조립을 포함한 복잡한 작업도 수행할 수 있다.In addition, the 6D pose estimating device 100 according to an embodiment of the present invention can perform complex tasks including assembly as well as Pick & Place tasks of a robot using 6D information of an estimated object.

도 2는 본 발명의 일 실시예에 따른 6D 포즈 추정 장치의 구성을 설명하기 위한 예시적인 도면이다. 도 2를 참조하면, 특징 추출부(110)는 외형 특징 추출부(111)와 기하학 특징 추출부(112)를 포함할 수 있다. 2 is an exemplary diagram for explaining the configuration of a 6D pose estimation device according to an embodiment of the present invention. Referring to FIG. 2 , the feature extractor 110 may include an external feature extractor 111 and a geometric feature extractor 112 .

본 발명의 일 실시예에 따른 외형 특징 추출부(111)는 이미지에 대한 RGB 데이터(111a)를 제 1 딥러닝 모델(111b)에 입력하여 외형 특징을 추출할 수 있다. 여기서, 제 1 딥러닝 모델(111b)은 CNN(Convolutional Neural Network)일 수 있다. 예를 들어, 외형 특징 추출부(111)는 RGB 데이터(111a)를 입력 받아 CNN(111b)을 통해 이미지에 대한 외형 특징을 추출할 수 있다. The external feature extraction unit 111 according to an embodiment of the present invention may extract the external features by inputting the RGB data 111a of the image to the first deep learning model 111b. Here, the first deep learning model 111b may be a Convolutional Neural Network (CNN). For example, the external feature extractor 111 may receive the RGB data 111a and extract external features of the image through the CNN 111b.

기하학 특징 추출부(112)는 이미지에 대한 깊이(depth) 데이터(112a)를 제 2 딥러닝 모델(112b)에 입력하여 기하학 특징을 추출할 수 있다. 여기서, 제 2 딥러닝 모델(112b)은 포인트넷(PointNet) 모델일 수 있다. 예를 들어, 기하학 특징 추출부(112)는 깊이 데이터(112a)를 입력 받아 제 2 딥러닝 모델(112b)을 통해 이미지에 대한 기하학 특징을 추출할 수 있다.The geometric feature extractor 112 may extract the geometric feature by inputting the depth data 112a of the image to the second deep learning model 112b. Here, the second deep learning model 112b may be a PointNet model. For example, the geometric feature extractor 112 may receive the depth data 112a and extract geometric features of the image through the second deep learning model 112b.

본 발명의 일 실시예에 따른 기하학 특징 추출부(112)는 제 2 딥러닝 모델(112b)의 가중치를 별도의 네트워크(143a)의 가중치로 전이 학습할 수 있다. 여기서, 네트워크(143a)는 비지도 학습의 일종인 자기 지도 학습(Self-Supervised Learning)을 통해 레이블이 없는 데이터를 이용하여 학습될 수 있다. 예를 들어, 네트워크(143a)는 사용자 정의 문제(Pretext task)에 의해 학습될 수 있다. 이와 같이, 자기 지도 학습으로서 사용자 정의 문제(Pretext task)를 사용하면 3D 데이터 자체에 대한 이해를 높일 수 있기 때문에, 6D 포즈 추정 시 실제 환경에 대한 성능을 향상시킬 수 있다. The geometric feature extractor 112 according to an embodiment of the present invention may transfer-learn the weights of the second deep learning model 112b to the weights of a separate network 143a. Here, the network 143a may be trained using unlabeled data through self-supervised learning, which is a type of unsupervised learning. For example, the network 143a may be trained by a user-defined pretext task. In this way, since the use of a user-defined task (Pretext task) as self-supervised learning can increase the understanding of 3D data itself, it is possible to improve performance for real environments when estimating 6D poses.

기하학 특징 추출부(112)는 사용자 정의 문제(Pretext task)에 의해 학습된 네트워크를 전이 학습한 제 2 딥러닝 모델(112b)을 이용하여 이미지에 대한 기하학 특징을 추출할 수 있다. The geometric feature extractor 112 may extract geometric features of an image using the second deep learning model 112b obtained by transfer learning of a network learned by a user-defined pretext task.

본 발명의 일 실시예에 따른 사용자 정의 문제(Pretext task) 수행부(140)는 네트워크(143a)에 기초하여 사용자 정의 문제(Pretext task)를 수행할 수 있다. 예를 들어, 사용자 정의 문제(Pretext task) 수행부(140)는 레이블이 없는 데이터, 즉, 사용자가 정의한 사용자 정의 문제(Pretext task, input)를 이용하여 네트워크(143a)를 학습시켜 네트워크(143a)가 데이터를 이해하고, 데이터에서 의미 있는 특징(output)을 추출하도록 반복 학습한다. The pretext task performer 140 according to an embodiment of the present invention may perform a pretext task based on the network 143a. For example, the user-defined task (Pretext task) performer 140 trains the network 143a using unlabeled data, that is, a user-defined user-defined task (Pretext task, input) to generate the network 143a. Iteratively learns to understand the data and extract meaningful features (outputs) from the data.

사용자 정의 문제(Pretext task) 수행부(140)의 모델링부(141)는 복수의 홀(hole)을 포함하는 트레이(tray) 모델 및 상기 복수의 홀 중 적어도 하나의 홀에 삽입 가능한 객체 모델을 모델링할 수 있다.The modeling unit 141 of the pretext task performing unit 140 models a tray model including a plurality of holes and an object model insertable into at least one of the plurality of holes. can do.

도 3은 본 발명의 일 실시예에 따른 트레이 모델을 설명하기 위한 예시적인 도면이다. 도 3을 참조하면, 트레이 모델(300)은 복수의 홀(310)을 포함할 수 있다. 트레이 모델(300)은 객체 모델로서 예를 들어, 전동 드릴, 니퍼, 스트리퍼, 드라이버, 렌치 및 스패너가 삽입 가능한 복수의 홀(310)을 포함할 수 있다. 3 is an exemplary diagram for explaining a tray model according to an embodiment of the present invention. Referring to FIG. 3 , a tray model 300 may include a plurality of holes 310 . The tray model 300 is an object model and may include, for example, a plurality of holes 310 into which an electric drill, a nipper, a stripper, a screwdriver, a wrench, and a spanner can be inserted.

모델링부(141)는 다양한 객체 모델이 삽입 가능한 복수의 홀(310)을 포함하는 트레이 모델(300)을 모델링할 수 있다. 또한, 모델링부(141)는 복수의 홀(310) 중 적어도 하나의 홀에 삽입 가능한 복수의 객체 모델을 모델링할 수 있다.The modeling unit 141 may model a tray model 300 including a plurality of holes 310 into which various object models may be inserted. Also, the modeling unit 141 may model a plurality of object models insertable into at least one of the plurality of holes 310 .

사용자 정의 문제(Pretext task) 수행부(140)에서 가상 환경의 노이즈가 전혀 없는 트레이 모델 및 객체 모델을 사용하여 네트워크(143a)를 학습하면, 객체 포즈 추정부(130)에서 노이즈가 포함되어 있는 실제 이미지에서 객체를 제대로 이해하지 못할 수 있다.When the user-defined problem (Pretext task) performer 140 learns the network 143a using the tray model and the object model that have no noise in the virtual environment, the object pose estimator 130 detects the real object with noise. You may not understand the objects in the image properly.

이러한 문제점을 해결하기 위해, 노이즈부(142)는 모델링된 트레이 모델 및 객체 모델의 포인트 클라우드에 노이즈를 추가할 수 있다. 예를 들어, 노이즈부(142)는 모델링된 트레이 모델 및 객체 모델의 포인트 클라우드에 노이즈를 추가함으로써, 객체 포즈 추정부(130)에서 실제 이미지에 대응하는 객체에 대한 6D 포즈를 추정하는데 객체에 대한 이해력을 향상시킬 수 있다. To solve this problem, the noise unit 142 may add noise to the point cloud of the modeled tray model and object model. For example, the noise unit 142 estimates a 6D pose for an object corresponding to a real image in the object pose estimator 130 by adding noise to the point clouds of the modeled tray model and the object model. can improve comprehension.

예를 들어, 노이즈부(142)는 사용하는 RGB-D 카메라의 깊이 품질 사양(depth quality specification)에 기초하여 랜덤으로 포인트 클라우드의 값을 변경시킬 수 있다. 예를 들어, 노이즈부(142)는 깊이 표준 편차(depth standard deviation) 범위 내에서 랜덤한 값을 원 데이터에서 더하거나 감할 수 있고, 비-필레이트(non-fill rate)의 비율만큼의 데이터는 NaN(not a number)으로 처리할 수 있다.For example, the noise unit 142 may randomly change a point cloud value based on a depth quality specification of an RGB-D camera in use. For example, the noise unit 142 may add or subtract random values from the original data within a depth standard deviation range, and the data as much as the ratio of the non-fill rate is NaN. (not a number).

도 4는 본 발명의 일 실시예에 따른 사용자 정의 문제(Pretext task) 수행부의 노이즈부를 설명하기 위한 예시적인 도면이다. 도 4를 참조하면, RealSense TM D400 series 카메라를 예로 든 깊이 품질이다.4 is an exemplary diagram for explaining a noise unit of a pretext task performer according to an embodiment of the present invention. Referring to FIG. 4 , the depth quality of the RealSense TM D400 series camera is taken as an example.

학습부(143)는 노이즈가 추가된 객체 모델을 회전시키면서 네트워크(143a)에 입력하여 객체 모델이 삽입되는 홀을 판별하도록 네트워크(143a)를 학습시킬 수 있다.The learning unit 143 may train the network 143a to determine a hole into which the object model is inserted by rotating the object model to which noise is added and inputting the object model to the network 143a.

예를 들어, 학습부(143)는 노이즈가 추가되고 회전된 객체 모델을 네트워크(143a)에 입력할 수 있다. 학습부(143)는 네트워크(143a)에 객체의 포인트 클라우드가 입력되면 각 객체 모델에 대해 정답 확률을 출력할 수 있다. 학습부(143)는 출력된 정답 확률 중 가장 확률이 높은 객체 모델을 트레이 모델에 매칭시킬 수 있다. For example, the learning unit 143 may input a rotated object model with added noise to the network 143a. The learning unit 143 may output a probability of correct answer for each object model when a point cloud of an object is input to the network 143a. The learning unit 143 may match an object model with a highest probability among output probabilities of correct answers to the tray model.

또한, 학습부(143)는 객체 모델과 트레이 모델 간의 겹치는 영역 및 빈 영역을 손실(LOSS)로 계산할 수 있다. 예를 들어, 학습부(143)에서 가장 정답 확률이 높은 객체 모델을 트레이 모델에 매칭시키는 경우, 노이즈를 추가하고 회전시키기 전의 객체 모델을 사용하여 트레이 모델과 객체 모델이 겹치는 영역뿐만 아니라 트레이 모델과 객체 모델 간의 빈 영역을 손실로 계산할 수 있다. Also, the learning unit 143 may calculate an overlapping area between the object model and the tray model and an empty area as a loss (LOSS). For example, when the learning unit 143 matches an object model with the highest probability of correct answer to a tray model, the object model before noise is added and rotated is used to match the area where the tray model and the object model overlap, as well as the tray model and the tray model. The empty area between object models can be calculated as loss.

다시 도 2를 참조하면, 특징 추출부(110)는 외형 특징 추출부(111)를 통해 추출한 이미지에 대한 외형 특징과 기하학 특징 추출부(112)를 통해 추출한 이미지에 대한 기하학 특징을 결합부(120)에 전달할 수 있다. Referring back to FIG. 2 , the feature extractor 110 combines the external features of the image extracted through the external feature extractor 111 and the geometric features of the image extracted through the geometric feature extractor 112 into a combination unit 120. ) can be passed on.

본 발명의 일 실시예에 따른 결합부(120)는 추출된 외형 특징 및 기하학 특징을 결합하여 이미지에 대한 특징맵(feature map)을 생성할 수 있다. 예를 들어, 결합부(120)는 외형 특징 추출부(111)에서 추출한 외형 특징과 기하학 특징 추출부(112)에서 추출한 기하학 특징을 결합하여, 해당 이미지에서 인식된 객체의 각 좌표(포인트)에 대해 결합된 특징을 가지는 특징맵을 생성할 수 있다.The combination unit 120 according to an embodiment of the present invention may generate a feature map for an image by combining the extracted external features and geometric features. For example, the combining unit 120 combines the external features extracted from the external feature extraction unit 111 and the geometric features extracted from the geometric feature extraction unit 112 to obtain each coordinate (point) of an object recognized in the corresponding image. A feature map with combined features can be created.

본 발명의 일 실시예에 따른 객체 포즈 추정부(130)는 생성된 특징맵에 기초하여 이미지에 대응하는 객체에 대한 6D 포즈를 추정할 수 있다. 예를 들어, 객체 포즈 추정부(130)는 이미지에서 인식된 객체의 각 좌표에 대해 결합된 특징을 가지는 특징맵에 기초하여 객체에 대한 6D 포즈를 추정(136)할 수 있다.The object pose estimator 130 according to an embodiment of the present invention may estimate a 6D pose of an object corresponding to an image based on the generated feature map. For example, the object pose estimator 130 may estimate 136 a 6D pose of the object based on a feature map having features combined for each coordinate of the object recognized in the image.

객체 포즈 추정부는(130) 시맨틱 세그먼테이션 모듈(131), 특징점 검출 모듈(132) 및 센터 투표 모듈(133)에 기초하여 객체에 대한 6D 포즈를 계산할 수 있다.The object pose estimator 130 may calculate a 6D pose of the object based on the semantic segmentation module 131 , the feature point detection module 132 , and the center voting module 133 .

예를 들어, 객체 포즈 추정부(130)는 특징맵을 입력 받아, 먼저, 시맨틱 세그먼테이션 모듈(131)을 통해 이미지 상에 포함되어 있는 하나 이상의 객체를 각각 구분할 수 있고, 다음으로, 특징점 검출 모듈(132)을 통해 구분된 각각의 객체 표면에 대한 3D 특징점(Keypoint)을 감지할 수 있고, 이후, 센터 투표 모듈(133)을 통해 객체의 중심 포인트를 검출하여, 객체에 대한 6D 포즈를 추정(136)할 수 있다.For example, the object pose estimator 130 receives the feature map, first, through the semantic segmentation module 131, can distinguish one or more objects included in the image, respectively, and then, the feature point detection module ( 132) to detect 3D keypoints for each object surface, and then detect the center point of the object through the center voting module 133 to estimate the 6D pose of the object (136 )can do.

본 발명의 일 실시예에 따른 시맨틱 세그먼테이션 모듈(131)은 특징맵에 기초하여 이미지 상의 객체가 복수인 경우, 각각의 객체를 구분할 수 있다. When there are a plurality of objects on the image, the semantic segmentation module 131 according to an embodiment of the present invention may classify each object based on the feature map.

특징점 검출 모듈(132)은 구분된 객체의 표면에 대한 3D 특징점을 감지할 수 있다. 예를 들어, 특징점 검출 모듈(132)은 구분된 객체의 표면에 대한 3D 특징점을 감지하고, 감지된 각 포인트마다 가시점(visible point)에서 대상 특징점(target keypoint)까지의 유클리드 변환 오프셋을 예측하고, 이를 다시 대상 특징점에 투표 및 클러스터링 하는 과정을 통해 구분된 객체의 표면에 대한 3D 특징점을 감지할 수 있다. The feature point detection module 132 may detect 3D feature points on the surface of the identified object. For example, the feature point detection module 132 detects 3D feature points on the surface of the identified object, predicts a Euclidean transform offset from a visible point to a target keypoint for each detected point, and , it is possible to detect 3D feature points on the surface of the classified object through the process of voting and clustering the target feature points again.

센터 투표 모듈(133)은 객체의 중심(center) 포인트를 검출할 수 있다. 예를 들어, 센터 투표 모듈(133)은 객체의 중심 포인트를 2D에서 3D로 확장할 수 있다.The center voting module 133 may detect a center point of an object. For example, the center voting module 133 may expand the center point of an object from 2D to 3D.

인스턴스 세그먼테이션(Instance Segmentation, 134)은 시맨틱 세그먼테이션 모듈(131), 특징점 검출 모듈(132) 및 센터 투표 모듈(133)에서 검출한 객체, 객체의 3D 특징점 및 중심 포인트에 기초하여 해당 이미지에서 전역 특징과 지역 특징을 추출할 수 있다. 인스턴스 세그먼테이션(134)은 특징점에 대한 오프셋(offset)을 예측하기 위해, 학습된 크기 정보에서 모양은 비슷하지만 크기가 다른 물체를 구별하도록 할 수 있다.Instance segmentation (Instance Segmentation, 134) is based on the objects detected by the semantic segmentation module 131, the feature point detection module 132, and the center voting module 133, and the 3D feature points and center points of the object. Local features can be extracted. In the instance segmentation 134, objects having a similar shape but different sizes may be distinguished from learned size information in order to predict an offset for a feature point.

객체 포즈 추정부(130)는 시맨틱 세그먼테이션 모듈(131), 특징점 검출 모듈(132), 센터 투표 모듈(133) 및 인스턴스 세그먼테이션(134)을 거쳐 추출된 특징에 기초하여 최소 제곱법 적합(Least-squares Fitting, 135)을 수행할 수 있다. 예를 들어, 객체 포즈 추정부(130)는 카메라 좌표계에서 감지된 M개의 특징점과 이에 대응하는 물체 좌표계의 포인트를 가지고 제곱 손실을 최소화하는 객체 모델에 대한 포즈 파라미터(R, t)를 계산하여 객체에 대한 6D 포즈를 추정(136)할 수 있다. The object pose estimator 130 performs least squares fit (least-squares fit) based on the features extracted through the semantic segmentation module 131, feature point detection module 132, center voting module 133, and instance segmentation 134. Fitting, 135) can be performed. For example, the object pose estimator 130 calculates pose parameters (R, t) for an object model that minimizes squared loss using M feature points detected in the camera coordinate system and points in the object coordinate system corresponding thereto, and calculates the object A 6D pose for 136 may be estimated.

한편, 객체 포즈 추정부(130)는 데이터가 3D 포인트 클라우드인 경우, 데이터에 대한 복셀화(voxelization)를 수행할 수 있고, 이러한 경우, 사용자 정의 문제(Pretext task) 수행부(140)에서도 입력 데이터에 대한 복셀화를 추가로 수행할 수 있다.Meanwhile, if the data is a 3D point cloud, the object pose estimator 130 may perform voxelization on the data, and in this case, the user-defined task performer 140 may also perform voxelization on the input data Voxelization may be additionally performed.

본 발명에 따른 6D 포즈 추정 장치(100)는, 자기 지도 학습을 활용한 사용자 정의 문제(Pretext task) 수행부(140)를 통해 객체를 포함한 데이터에 대한 이해도를 향상시킴으로써, 객체 포즈 추정부(130)에서 이미지에 포함된 객체에 대한 6D 포즈를 보다 정확하게 추정하도록 할 수 있다. The 6D pose estimating device 100 according to the present invention improves the understanding of data including objects through the pretext task performing unit 140 using self-supervised learning, so that the object pose estimating unit 130 ), it is possible to more accurately estimate the 6D pose of the object included in the image.

또한, 6D 포즈 추정 장치(100)는 추정된 객체의 6D 포즈 정보를 활용하여 로봇의 픽앤플레이스(Pick & Place) 작업뿐만 아니라, 조립을 포함한 복잡하고 다양한 작업도 수행 가능하도록 할 수 있다. 예를 들어, 6D 포즈 추정 장치(100)는 객체의 6D 정보를 사용하여 객체의 위치 및 각도를 파악할 수 있다. In addition, the 6D pose estimating device 100 may utilize the 6D pose information of the estimated object to enable the robot to perform not only Pick & Place work but also complex and various tasks including assembling. For example, the 6D pose estimating apparatus 100 may determine the position and angle of an object using 6D information of the object.

도 5는 본 발명의 일 실시예에 따른 6D 포즈 추정 방법의 순서도이다. 도 1에 도시된 6D 포즈 추정 장치(100)는 도 1 내지 도 4에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 4에 도시된 실시예에 따른 6D 포즈 추정 장치(100)에서 객체 포즈를 추정하는 방법에도 적용된다. 5 is a flowchart of a 6D pose estimation method according to an embodiment of the present invention. The 6D pose estimation apparatus 100 shown in FIG. 1 includes steps processed time-sequentially according to the embodiment shown in FIGS. 1 to 4 . Therefore, even if the content is omitted below, it is also applied to the method of estimating the object pose in the 6D pose estimation apparatus 100 according to the embodiment shown in FIGS. 1 to 4 .

단계 S510에서 6D 포즈 추정 장치(100)는 이미지에 대한 RGB 데이터를 제 1 딥러닝 모델에 입력하여 외형 특징을 추출할 수 있다.In step S510, the 6D pose estimating device 100 may input the RGB data of the image to the first deep learning model to extract external features.

단계 S520에서 6D 포즈 추정 장치(100)는 이미지에 대한 깊이(depth) 데이터를 제 2 딥러닝 모델에 입력하여 기하학 특징을 추출할 수 있다.In step S520, the 6D pose estimating apparatus 100 may extract geometric features by inputting depth data of the image to the second deep learning model.

단계 S530에서 6D 포즈 추정 장치(100)는 제 2 딥러닝 모델은 사용자 정의 문제(Pretext task)에 의해 학습된 네트워크의 가중치에 기초하여 전이 학습할 수 있다.In step S530, the 6D pose estimating device 100 may perform transfer learning on the second deep learning model based on the weights of the network learned by the user-defined pretext task.

단계 S540에서 6D 포즈 추정 장치(100)는 추출된 외형 특징 및 기하학 특징을 결합하여 이미지에 대한 특징맵(feature map)을 생성할 수 있다.In step S540, the 6D pose estimating device 100 may generate a feature map for the image by combining the extracted shape features and geometric features.

단계 S550에서 6D 포즈 추정 장치(100)는 생성된 특징맵에 기초하여 이미지에 대응하는 객체에 대한 6D 포즈를 추정할 수 있다.In step S550, the 6D pose estimating apparatus 100 may estimate the 6D pose of the object corresponding to the image based on the generated feature map.

상술한 설명에서, 단계 S510 내지 S550는 본 발명의 구현 예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다. In the above description, steps S510 to S550 may be further divided into additional steps or combined into fewer steps, depending on an implementation example of the present invention. Also, some steps may be omitted as needed, and the order of steps may be switched.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes, and those skilled in the art can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be construed as being included in the scope of the present invention. do.

100: 6D 포즈 추정 장치
110: 특징 추출부
120: 결합부
130: 객체 포즈 추정부
140: 사용자 정의 문제(Pretext task) 수행부
100: 6D pose estimation device
110: feature extraction unit
120: coupling part
130: object pose estimation unit
140: Pretext task execution unit

Claims (20)

비지도 학습(Unsupervised Learning)을 이용하여 객체 포즈를 추정하는 장치에 있어서,
이미지에 대한 RGB 데이터를 제 1 딥러닝 모델에 입력하여 외형 특징을 추출하는 외형 특징 추출부와, 상기 이미지에 대한 깊이(depth) 데이터를 제 2 딥러닝 모델에 입력하여 기하학 특징을 추출하는 기하학 특징 추출부를 포함하는 특징 추출부;
상기 추출된 외형 특징 및 기하학 특징을 결합하여 상기 이미지에 대한 특징맵(feature map)을 생성하는 결합부; 및,
상기 생성된 특징맵에 기초하여 상기 이미지에 대응하는 객체에 대한 6D 포즈를 추정하는 객체 포즈 추정부
를 포함하고,
상기 제 2 딥러닝 모델은 사용자 정의 문제(Pretext task)에 의해 학습된 네트워크의 가중치에 기초하여 전이 학습되고,
상기 네트워크에 기초하여 상기 사용자 정의 문제(Pretext task)를 수행하는 사용자 정의 문제(Pretext task) 수행부를 더 포함하고,
상기 사용자 정의 문제(Pretext task) 수행부는,
복수의 홀(hole)을 포함하는 트레이(tray) 모델 및 상기 복수의 홀 중 적어도 하나의 홀에 삽입 가능한 객체 모델을 모델링하는 모델링부;
상기 모델링된 트레이 모델 및 객체 모델의 포인트 클라우드에 노이즈를 추가하는 노이즈부; 및
상기 노이즈가 추가된 객체 모델을 회전시키면서 상기 네트워크에 입력하여 상기 객체 모델이 삽입되는 홀을 판별하도록 상기 네트워크를 학습시키는 학습부를 포함하는 것인, 6D 포즈 추정 장치.
An apparatus for estimating an object pose using unsupervised learning,
An external feature extractor extracting external features by inputting RGB data of an image into a first deep learning model, and a geometric feature extracting geometric features by inputting depth data of the image into a second deep learning model. a feature extraction unit including an extraction unit;
a combination unit generating a feature map for the image by combining the extracted shape features and geometric features; and,
An object pose estimator for estimating a 6D pose of an object corresponding to the image based on the generated feature map
including,
The second deep learning model is transfer learned based on the weight of the network learned by a user-defined problem (Pretext task),
Further comprising a pretext task performing unit for performing the pretext task based on the network,
The user-defined problem (Pretext task) performing unit,
a modeling unit for modeling a tray model including a plurality of holes and an object model insertable into at least one of the plurality of holes;
a noise unit adding noise to the point clouds of the modeled tray model and object model; and
And a learning unit for training the network to determine a hole into which the object model is inserted by rotating the object model to which the noise is added and inputting the object model to the network.
제 1 항에 있어서,
상기 제 1 딥러닝 모델은 CNN(Convolutional Neural Network)이고, 제 2 딥러닝 모델은 포인트넷(PointNet) 모델인 것인, 6D 포즈 추정 장치.
According to claim 1,
The first deep learning model is a convolutional neural network (CNN), and the second deep learning model is a point net (PointNet) model, the 6D pose estimating device.
삭제delete 삭제delete 제 1 항에 있어서,
상기 학습부는 상기 객체 모델과 상기 트레이 모델 간의 겹치는 영역 및 빈 영역을 손실(Loss)로 계산하는 것인, 6D 포즈 추정 장치.
According to claim 1,
The learning unit calculates an overlapping area and an empty area between the object model and the tray model as a loss, 6D pose estimating device.
제 1 항에 있어서,
상기 기하학 특징 추출부는 상기 제 2 딥러닝 모델의 가중치를 상기 네트워크의 가중치로 전이 학습하는 것인, 6D 포즈 추정 장치.
According to claim 1,
The geometric feature extraction unit transfer-learns the weights of the second deep learning model to the weights of the network, 6D pose estimating device.
제 1 항에 있어서,
상기 객체 포즈 추정부는,
시맨틱 세그먼테이션 모듈(Semantic segmentation module), 특징점 검출 모듈(Keypoint detection module) 및 센터 투표 모듈(Center voting module)에 기초하여 상기 객체에 대한 포즈를 계산하는 것인, 6D 포즈 추정 장치.
According to claim 1,
The object pose estimation unit,
A 6D pose estimating device that calculates a pose for the object based on a semantic segmentation module, a keypoint detection module, and a center voting module.
제 7 항에 있어서,
상기 시맨틱 세그먼테이션 모듈은,
상기 특징맵에 기초하여 상기 이미지 상의 객체가 복수인 경우, 각각의 객체를 구분하는 것인, 6D 포즈 추정 장치.
According to claim 7,
The semantic segmentation module,
Based on the feature map, if there are a plurality of objects on the image, to distinguish each object, 6D pose estimating device.
제 8 항에 있어서,
상기 특징점 검출 모듈은,
상기 구분된 객체의 표면에 대한 3D 특징점(Keypoint)을 감지하는 것인, 6D 포즈 추정 장치.
According to claim 8,
The feature point detection module,
6D pose estimating device for detecting 3D keypoints on the surface of the separated object.
제 9 항에 있어서,
상기 센터 투표 모듈은,
상기 객체의 중심(center) 포인트를 검출하는 것인, 6D 포즈 추정 장치.
According to claim 9,
The center voting module,
To detect the center (center) point of the object, 6D pose estimating device.
비지도 학습(Unsupervised Learning)을 이용하여 객체 포즈를 추정하는 방법에 있어서,
이미지에 대한 RGB 데이터를 제 1 딥러닝 모델에 입력하여 외형 특징을 추출하는 단계와,
상기 이미지에 대한 깊이(depth) 데이터를 제 2 딥러닝 모델에 입력하여 기하학 특징을 추출하는 단계를 포함하는 특징 추출 단계;
상기 추출된 외형 특징 및 기하학 특징을 결합하여 상기 이미지에 대한 특징맵(feature map)을 생성하는 단계; 및,
상기 생성된 특징맵에 기초하여 상기 이미지에 대응하는 객체에 대한 6D 포즈를 추정하는 단계
를 포함하고,
상기 제 2 딥러닝 모델은 사용자 정의 문제(Pretext task)에 의해 학습된 네트워크의 가중치에 기초하여 전이 학습되고,
상기 네트워크에 기초하여 상기 사용자 정의 문제(Pretext task)를 수행하는 단계를 더 포함하고,
상기 사용자 정의 문제(Pretext task)를 수행하는 단계는,
복수의 홀(hole)을 포함하는 트레이(tray) 모델 및 상기 복수의 홀 중 적어도 하나의 홀에 삽입 가능한 객체 모델을 모델링하는 단계;
상기 모델링된 트레이 모델 및 객체 모델의 포인트 클라우드에 노이즈를 추가하는 단계; 및
상기 노이즈가 추가된 객체 모델을 회전시키면서 상기 네트워크에 입력하여 상기 객체 모델이 삽입되는 홀을 판별하도록 상기 네트워크를 학습시키는 단계;
를 포함하는 것인, 6D 포즈 추정 방법.
In the method of estimating an object pose using unsupervised learning,
extracting appearance features by inputting RGB data of an image to a first deep learning model;
a feature extraction step comprising extracting a geometric feature by inputting depth data of the image to a second deep learning model;
generating a feature map for the image by combining the extracted shape features and geometric features; and,
Estimating a 6D pose for an object corresponding to the image based on the generated feature map
including,
The second deep learning model is transfer learned based on the weight of the network learned by a user-defined problem (Pretext task),
Further comprising performing the pretext task based on the network,
The step of performing the user-defined problem (Pretext task) is,
modeling a tray model including a plurality of holes and an object model insertable into at least one of the plurality of holes;
adding noise to point clouds of the modeled tray model and object model; and
training the network to determine a hole into which the object model is inserted by inputting the object model to the network while rotating the object model to which the noise is added;
To include, 6D pose estimation method.
제 11 항에 있어서,
상기 제 1 딥러닝 모델은 CNN(Convolutional Neural Network)이고, 제 2 딥러닝 모델은 포인트넷(PointNet) 모델인 것인, 6D 포즈 추정 방법.
According to claim 11,
Wherein the first deep learning model is a Convolutional Neural Network (CNN), and the second deep learning model is a PointNet model.
삭제delete 삭제delete 제 11 항에 있어서,
상기 네트워크를 학습시키는 단계는 상기 객체 모델과 상기 트레이 모델 간의 겹치는 영역 및 빈 영역을 손실(Loss)로 계산하는 것인, 6D 포즈 추정 방법.
According to claim 11,
The step of learning the network is to calculate an overlapping area and an empty area between the object model and the tray model as a loss, 6D pose estimation method.
제 11 항에 있어서,
상기 기하학 특징을 추출하는 단계는 상기 제 2 딥러닝 모델의 가중치를 상기 네트워크의 가중치로 전이 학습하는 것인, 6D 포즈 추정 방법.
According to claim 11,
The step of extracting the geometric feature is transfer learning of the weights of the second deep learning model to the weights of the network, 6D pose estimation method.
제 11 항에 있어서,
상기 객체에 대한 6D 포즈를 추정하는 단계는,
시맨틱 세그먼테이션 모듈(Semantic segmentation module), 특징점 검출 모듈(Keypoint detection module) 및 센터 투표 모듈(Center voting module)에 기초하여 상기 객체에 대한 포즈를 계산하는 것인, 6D 포즈 추정 방법.
According to claim 11,
Estimating the 6D pose for the object,
A 6D pose estimation method, wherein a pose for the object is calculated based on a semantic segmentation module, a keypoint detection module, and a center voting module.
제 17 항에 있어서,
상기 시맨틱 세그먼테이션 모듈은,
상기 특징맵에 기초하여 상기 이미지 상의 객체가 복수인 경우, 각각의 객체를 구분하는 것인, 6D 포즈 추정 방법.
18. The method of claim 17,
The semantic segmentation module,
Based on the feature map, if there are a plurality of objects on the image, to distinguish each object, 6D pose estimation method.
제 18 항에 있어서,
상기 특징점 검출 모듈은,
상기 구분된 객체의 표면에 대한 3D 특징점(Keypoint)을 감지하는 것인, 6D 포즈 추정 방법.
According to claim 18,
The feature point detection module,
6D pose estimation method of detecting 3D keypoints on the surface of the separated object.
제 19 항에 있어서,
상기 센터 투표 모듈은,
상기 객체의 중심(center) 포인트를 검출하는 것인, 6D 포즈 추정 방법.
According to claim 19,
The center voting module,
6D pose estimation method of detecting the center point of the object.
KR1020200151530A 2020-11-13 2020-11-13 Apparatus and method for estimating of 6d pose Active KR102494659B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200151530A KR102494659B1 (en) 2020-11-13 2020-11-13 Apparatus and method for estimating of 6d pose

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200151530A KR102494659B1 (en) 2020-11-13 2020-11-13 Apparatus and method for estimating of 6d pose

Publications (2)

Publication Number Publication Date
KR20220065234A KR20220065234A (en) 2022-05-20
KR102494659B1 true KR102494659B1 (en) 2023-02-06

Family

ID=81798827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200151530A Active KR102494659B1 (en) 2020-11-13 2020-11-13 Apparatus and method for estimating of 6d pose

Country Status (1)

Country Link
KR (1) KR102494659B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115120949B (en) * 2022-06-08 2024-03-26 乒乓动量机器人(昆山)有限公司 Method, system and storage medium for realizing flexible batting strategy of table tennis robot
CN116245940B (en) * 2023-02-02 2024-04-05 中国科学院上海微系统与信息技术研究所 Category-level six-degree-of-freedom object pose estimation method based on structural difference perception
CN117237451B (en) * 2023-09-15 2024-04-02 南京航空航天大学 A 6D pose estimation method for industrial parts based on contour reconstruction and geometry guidance

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200134857A1 (en) 2017-06-21 2020-04-30 Vancouver Computer Vision Ltd. Determining positions and orientations of objects

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177269B (en) 2011-12-23 2017-12-15 北京三星通信技术研究有限公司 For estimating the apparatus and method of object gesture
CN110047101B (en) * 2018-01-15 2025-01-03 北京三星通信技术研究有限公司 Object posture estimation method, method for obtaining dense depth image, and corresponding device
CN110060296B (en) * 2018-01-18 2024-10-22 北京三星通信技术研究有限公司 Method for estimating posture, electronic device, and method and device for displaying virtual object

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200134857A1 (en) 2017-06-21 2020-04-30 Vancouver Computer Vision Ltd. Determining positions and orientations of objects

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Yisheng He 등, PVN3D: A Deep Point-wise 3D Keypoints Voting Network for 6DoF Pose Estimation, arXiv:1911.04231v2(2020.03.24.)*
박성욱 등, 전이학습에 방법에 따른 컨벌루션 신경망의 영상 분류 성능 비교, 멀티미디어학회 논문지(2018.12.)*

Also Published As

Publication number Publication date
KR20220065234A (en) 2022-05-20

Similar Documents

Publication Publication Date Title
CN110781843B (en) Classroom behavior detection method and electronic device
Gao et al. Dual-hand detection for human–robot interaction by a parallel network based on hand detection and body pose estimation
KR102494659B1 (en) Apparatus and method for estimating of 6d pose
JP7686618B2 (en) How to train a deep network
CN109670474B (en) Method, device and equipment for human body pose estimation based on video
CN113378656B (en) A method and device for action recognition based on adaptive graph convolutional neural network
Hu et al. Efficient interaction recognition through positive action representation
Li et al. Mining key skeleton poses with latent svm for action recognition
US10937150B2 (en) Systems and methods of feature correspondence analysis
CN113537267B (en) Method and device for generating adversarial samples, storage medium and electronic device
KR102478980B1 (en) 3d contrastive learning apparatus and method for unsupervised 6d pose estimation
CN110807774B (en) A point cloud classification and semantic segmentation method
Mania et al. Imagination-enabled robot perception
Huang et al. SD-net: Symmetric-aware keypoint prediction and domain adaptation for 6D pose estimation in bin-picking scenarios
Trigueiros et al. Generic system for human-computer gesture interaction
Kim et al. Human Activity Recognition as Time‐Series Analysis
JPH08212184A (en) Recognition device and missing value estimation / learning method
WO2019207875A1 (en) Information processing device, information processing method, and program
WO2023091131A1 (en) Methods and systems for retrieving images based on semantic plane features
CN118015048A (en) Target tracking method and system based on residual network and group mixed attention
Kim et al. Dreamgrasp: Zero-shot 3d multi-object reconstruction from partial-view images for robotic manipulation
CN112648997A (en) Method and system for positioning based on multitask network model
CN116067360A (en) Robot map construction method based on double constraints, storage medium and equipment
Kim et al. Dynamic arm gesture recognition using spherical angle features and hidden markov models
Le Automatic 3D hand pose estimation based on YOLOv7 and HandFoldingNet from egocentric videos

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U11-oth-PR1002

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000