KR102662978B1 - Real-world object recognition method and device - Google Patents
Real-world object recognition method and device Download PDFInfo
- Publication number
- KR102662978B1 KR102662978B1 KR1020210125623A KR20210125623A KR102662978B1 KR 102662978 B1 KR102662978 B1 KR 102662978B1 KR 1020210125623 A KR1020210125623 A KR 1020210125623A KR 20210125623 A KR20210125623 A KR 20210125623A KR 102662978 B1 KR102662978 B1 KR 102662978B1
- Authority
- KR
- South Korea
- Prior art keywords
- cad
- real
- feature information
- real environment
- similarity
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000011960 computer-aided design Methods 0.000 claims description 87
- 239000013598 vector Substances 0.000 claims description 41
- 238000010801 machine learning Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013529 biological neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
본 발명은 실환경 물체 인식 방법에 관한 것이다. 실환경 물체 인식 방법은, 임의의 물체를 포함하는 실환경 이미지를 수신하는 단계, 실환경 이미지를 기초로, 임의의 물체에 대응하는 실환경 특징 정보를 추출하는 단계, 추출된 실환경 특징 정보와 복수의 타겟 물체의 각각에 대응하는 복수의 CAD 파일로부터 추출된 복수의 CAD 특징 정보 사이의 유사도를 산출하는 단계 및 산출된 유사도를 기초로 임의의 물체를 인식하는 단계를 포함한다.The present invention relates to a method for recognizing objects in a real environment. The real-environment object recognition method includes the steps of receiving a real-environment image including a random object, extracting real-environment feature information corresponding to the random object based on the real-environment image, the extracted real-environment feature information and It includes calculating a degree of similarity between a plurality of CAD feature information extracted from a plurality of CAD files corresponding to each of a plurality of target objects, and recognizing an arbitrary object based on the calculated similarity.
Description
본 발명은 실환경 물체 인식 방법 및 장치에 관한 것으로, 구체적으로, CAD 파일을 이용하여 실환경에서의 물체를 인식하는 방법 및 장치에 관한 것이다.The present invention relates to a method and device for recognizing objects in a real environment, and specifically, to a method and device for recognizing objects in a real environment using a CAD file.
컴퓨터 비전(computer vision) 분야에서 자율 주행 로봇 등이 물체(object)를 정확히 인식하는 것은 중요하다. 예를 들어, 자율 주행 로봇은 특정 영역을 주행하며, 이미지 센서 등으로 주변 환경을 촬영하고, 촬영된 이미지 내에 포함된 물체의 종류, 명칭, 형상 등을 인식할 수 있다. 일반적으로, 이러한 로봇은 인공신경망 등에 의해 사전에 학습된 물체는 인식할 수 있으나, 학습되지 않은 물체는 인식할 수 없다.In the field of computer vision, it is important for self-driving robots to accurately recognize objects. For example, an autonomous robot can drive in a specific area, photograph the surrounding environment using an image sensor, and recognize the type, name, and shape of objects included in the captured image. In general, these robots can recognize objects that have been previously learned by artificial neural networks, but cannot recognize objects that have not been learned.
한편, 학습되지 않은 물체에 대해 다시 훈련을 수행하기 위해서는 많은 시간 및 자원이 소모될 수 있다. 예를 들어, 하나의 새로운 물체를 학습하는 경우에도, 인공신경망은 새로운 물체에 대한 다량의 이미지를 입력 받아 이미지 내에 포함된 물체를 인식하도록 학습되어야 한다. 따라서, 이러한 인공신경망의 경우 새로운 물체가 지속적으로 개발되는 산업 현장에서 사용되기 어렵다.Meanwhile, it may consume a lot of time and resources to re-train on objects that have not been learned. For example, even when learning a new object, the artificial neural network must receive a large number of images of the new object and be trained to recognize the objects included in the images. Therefore, it is difficult for these artificial neural networks to be used in industrial settings where new objects are continuously being developed.
본 발명은 상기와 같은 문제점을 해결하기 위한 실환경 물체 인식 방법, 기록매체에 저장된 컴퓨터 프로그램 및 장치(시스템)를 제공한다.The present invention provides a real-environment object recognition method, a computer program stored in a recording medium, and a device (system) to solve the above problems.
본 발명은 방법, 장치(시스템) 또는 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.The present invention may be implemented in a variety of ways, including as a method, device (system), or computer program stored in a readable storage medium.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로세서에 의해 수행되는 실환경 물체 인식 방법은, 임의의 물체를 포함하는 실환경 이미지를 수신하는 단계, 실환경 이미지를 기초로, 임의의 물체에 대응하는 실환경 특징 정보를 추출하는 단계, 추출된 실환경 특징 정보와 복수의 타겟 물체의 각각에 대응하는 복수의 CAD 파일로부터 추출된 복수의 CAD 특징 정보 사이의 유사도를 산출하는 단계 및 산출된 유사도를 기초로 임의의 물체를 인식하는 단계를 포함한다.According to an embodiment of the present invention, a real-environment object recognition method performed by at least one processor includes receiving a real-environment image including an arbitrary object, and based on the real-environment image, corresponding to the arbitrary object. extracting real-world feature information, calculating a degree of similarity between the extracted real-world feature information and a plurality of CAD feature information extracted from a plurality of CAD files corresponding to each of a plurality of target objects, and calculating the calculated similarity. It includes recognizing an arbitrary object as a basis.
본 발명의 일 실시예에 따르면, 산출된 유사도를 기초로 임의의 물체를 인식하는 단계는, 실환경 이미지에서 임의의 물체에 대응하는 영역에 대한 바운딩 박스 좌표를 추출하여, 임의의 물체의 위치를 인식하는 단계를 포함한다.According to an embodiment of the present invention, the step of recognizing a random object based on the calculated similarity includes extracting the bounding box coordinates for the area corresponding to the random object from the real environment image and determining the location of the random object. Includes a recognition step.
본 발명의 일 실시예에 따르면, 임의의 물체에 대응하는 실환경 특징 정보를 추출하는 단계는, 실환경 이미지를 학습된 제3 기계학습 모델에 제공하여, 임의의 물체에 대응하는 실환경 특징 정보를 추출하는 단계를 포함한다.According to an embodiment of the present invention, the step of extracting real environment feature information corresponding to a random object includes providing a real environment image to a learned third machine learning model to obtain real environment feature information corresponding to a random object. It includes the step of extracting.
본 발명의 일 실시예에 따르면, 타겟 물체를 포함하는 CAD 파일을 이용하여 CAD 파일에 대응하는 그래프를 생성하는 단계 및 생성된 그래프를 학습된 제2 기계학습 모델에 제공하여, 타겟 물체와 연관된 CAD 특징 정보를 추출하는 단계를 더 포함한다.According to one embodiment of the present invention, generating a graph corresponding to the CAD file using a CAD file including a target object and providing the generated graph to the learned second machine learning model to generate a CAD associated with the target object. A step of extracting feature information is further included.
본 발명의 일 실시예에 따르면, CAD 파일은 복수의 독립체 및 복수의 독립체 간의 참조 관계를 포함한다. CAD 파일에 대응하는 그래프를 생성하는 단계는, CAD 파일에 포함된 복수의 독립체를 노드로 결정하고, 복수의 독립체 간의 참조 관계를 복수의 엣지로 결정하여 그래프를 생성하는 단계를 포함한다.According to one embodiment of the present invention, a CAD file includes a plurality of entities and reference relationships between the plurality of entities. The step of generating a graph corresponding to a CAD file includes determining a plurality of entities included in the CAD file as nodes and determining reference relationships between the plurality of entities as a plurality of edges to generate a graph.
본 발명의 일 실시예에 따르면, 실환경 특징 정보는 임의의 물체에 대한 특징 벡터를 포함하고, 복수의 CAD 특징 정보는 복수의 타겟 물체의 각각에 대한 특징 벡터를 포함한다. 유사도를 산출하는 단계는, 임의의 물체에 대한 특징 벡터 및 복수의 타겟 물체의 각각에 대한 특징 벡터를 학습된 제2 기계학습 모델에 제공하여, 특징 벡터들 사이의 유사도를 산출하는 단계를 포함한다.According to an embodiment of the present invention, the real-world feature information includes a feature vector for an arbitrary object, and the plurality of CAD feature information includes a feature vector for each of a plurality of target objects. The step of calculating the similarity includes providing a feature vector for an arbitrary object and a feature vector for each of a plurality of target objects to the learned second machine learning model, and calculating the similarity between the feature vectors. .
본 발명의 일 실시예에 따르면, 제3 기계학습 모델은, 트리플릿 손실 함수에 기초하여 특징 벡터들 사이의 유사도를 산출하도록 학습된다.According to one embodiment of the present invention, the third machine learning model is learned to calculate similarity between feature vectors based on a triplet loss function.
본 발명의 일 실시예에 따른 상술된 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.In order to execute the above-described method on a computer according to an embodiment of the present invention, a computer program stored in a computer-readable recording medium is provided.
본 발명의 다양한 실시예에서 컴퓨팅 장치는 이미지로부터 물체를 곧바로 식별할 수 있는 기계학습 모델을 이용하지 않고, CAD 파일을 이용하여 이미지에 포함된 물체를 식별함으로써, 학습되지 않은 새로운 물체가 존재하는 경우에도, 해당 물체와 연관된 CAD 파일만을 이용하여 효과적으로 실환경에서의 물체를 인식하거나 식별할 수 있다.In various embodiments of the present invention, the computing device does not use a machine learning model that can directly identify an object from an image, but uses a CAD file to identify objects included in the image, thereby detecting the presence of a new object that has not been learned. Even so, it is possible to effectively recognize or identify objects in the real environment by using only the CAD file associated with the object.
본 발명의 다양한 실시예에서 컴퓨팅 장치는 CAD 파일을 이용하여 물체를 인식함으로써, 산업 현장에 새로운 물체에 대한 작업을 추가하는 경우, 많은 시간과 비용을 단축시킬 수 있으며, 이에 따라 다품종 대량 생산을 위한 산업 현장에서 효과적으로 이용될 수 있다.In various embodiments of the present invention, a computing device recognizes an object using a CAD file, thereby reducing a lot of time and cost when adding work on a new object to an industrial site. Accordingly, it is possible to save a lot of time and money for mass production of various types. It can be used effectively in industrial settings.
본 발명의 다양한 실시예에서 3D 모델 파일이 아닌 STEP 형식의 CAD 파일을 이용함으로써, 적은 컴퓨팅 파워만으로도 간단히 CAD 파일과 연관된 그래프가 생성될 수 있으며, 생성된 그래프를 기초로 타겟 물체와 연관된 CAD 특징 정보가 추출될 수 있다.In various embodiments of the present invention, by using a STEP format CAD file rather than a 3D model file, a graph associated with the CAD file can be simply created with only a small amount of computing power, and CAD feature information associated with the target object is generated based on the generated graph. can be extracted.
본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned are clear to a person skilled in the art (referred to as a “person skilled in the art”) in the technical field to which the present invention pertains from the description of the claims. It will be understandable.
본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 장치가 물체 인식을 수행하는 예시를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 내부 구성을 나타내는 기능적인 블록도이다.
도 3은 본 발명의 일 실시예에 따른 CAD 파일과 연관된 그래프가 생성되는 예시를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 복수의 기계학습 모델이 유사도를 산출하는 예시를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 실환경 물체 인식 방법의 예시를 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 그래프 CAD 특징 정보 추출 방법의 예시를 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 컴퓨팅 장치의 내부 구성을 나타내는 블록도이다.Embodiments of the present invention will be described with reference to the accompanying drawings described below, in which like reference numerals represent like elements, but are not limited thereto.
1 is a diagram illustrating an example of a computing device performing object recognition according to an embodiment of the present invention.
Figure 2 is a functional block diagram showing the internal configuration of a computing device according to an embodiment of the present invention.
Figure 3 is a diagram illustrating an example of generating a graph associated with a CAD file according to an embodiment of the present invention.
Figure 4 is a diagram illustrating an example of calculating similarity between a plurality of machine learning models according to an embodiment of the present invention.
Figure 5 is a flowchart illustrating an example of a method for recognizing objects in a real environment according to an embodiment of the present invention.
Figure 6 is a flowchart showing an example of a method for extracting graph CAD feature information according to an embodiment of the present invention.
Figure 7 is a block diagram showing the internal configuration of a computing device according to an embodiment of the present invention.
이하, 본 발명의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for implementing the present invention will be described in detail with reference to the attached drawings. However, in the following description, detailed descriptions of well-known functions or configurations will be omitted if there is a risk of unnecessarily obscuring the gist of the present invention.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, identical or corresponding components are given the same reference numerals. Additionally, in the description of the following embodiments, overlapping descriptions of identical or corresponding components may be omitted. However, even if descriptions of components are omitted, it is not intended that such components are not included in any embodiment.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명이 완전하도록 하고, 본 발명이 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments and methods for achieving them will become clear by referring to the embodiments described below in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms, but the present embodiments only serve to ensure that the present invention is complete and that the scope of the present invention is conveyed to those skilled in the art. It is provided only for complete information.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. The terms used in this specification are general terms that are currently widely used as much as possible while considering the function in the present invention, but this may vary depending on the intention or precedent of a technician working in the related field, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant invention. Therefore, the terms used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than simply the name of the term.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.In this specification, singular expressions include plural expressions, unless the context clearly specifies the singular. Additionally, plural expressions include singular expressions, unless the context clearly specifies plural expressions. When it is said that a certain part includes a certain element throughout the specification, this does not mean excluding other elements, but may further include other elements, unless specifically stated to the contrary.
본 발명에서, "포함하다", "포함하는" 등의 용어는 특징들, 단계들, 동작들, 요소들 및/또는 구성 요소들이 존재하는 것을 나타낼 수 있으나, 이러한 용어가 하나 이상의 다른 기능들, 단계들, 동작들, 요소들, 구성 요소들 및/또는 이들의 조합이 추가되는 것을 배제하지는 않는다.In the present invention, terms such as "comprise", "comprising", etc. may indicate the presence of features, steps, operations, elements and/or components, but may indicate that such terms include one or more other functions, It does not preclude the addition of steps, operations, elements, components and/or combinations thereof.
본 발명에서, 특정 구성 요소가 임의의 다른 구성 요소에 "결합", "조합", "연결" 되거나, "반응" 하는 것으로 언급된 경우, 특정 구성 요소는 다른 구성 요소에 직접 결합, 조합 및/또는 연결되거나, 반응할 수 있으나, 이에 한정되지 않는다. 예를 들어, 특정 구성 요소와 다른 구성 요소 사이에 하나 이상의 중간 구성 요소가 존재할 수 있다. 또한, 본 발명에서 "및/또는"은 열거된 하나 이상의 항목의 각각 또는 하나 이상의 항목의 적어도 일부의 조합을 포함할 수 있다.In the present invention, when a specific component is referred to as being “coupled,” “combined,” “connected,” or “reacting” with any other component, the specific component is directly bonded, combined, and/or connected to the other component. Alternatively, it may be connected or react, but is not limited thereto. For example, one or more intermediate components may exist between a particular component and another component. Additionally, in the present invention, “and/or” may include each of one or more listed items or a combination of at least a portion of one or more items.
본 발명에서, "제1", "제2" 등의 용어는 특정 구성 요소를 다른 구성 요소와 구별하기 위해 사용되는 것으로, 이러한 용어에 의해 상술된 구성 요소가 제한되진 않는다. 예를 들어, "제1" 구성 요소는 "제2" 구성 요소와 동일하거나 유사한 형태의 요소일 수 있다.In the present invention, terms such as “first” and “second” are used to distinguish specific components from other components, and the components described above are not limited by these terms. For example, the “first” component may be an element of the same or similar form as the “second” component.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 장치(100)가 물체 인식(130)을 수행하는 예시를 나타내는 도면이다. 일 실시예에 따르면, 컴퓨팅 장치(100)는 이미지 및/또는 영상에 포함된 물체를 식별하기 위한 장치일 수 있으며, 이미지 센서(예: 카메라 등)를 포함하거나, 이미지 센서와 연관된 장치일 수 있다. 예를 들어, 컴퓨팅 장치(100)는 주행 로봇(navigating robot)을 포함할 수 있으나, 이에 한정되지 않는다.FIG. 1 is a diagram illustrating an example in which the
도시된 것과 같이, 컴퓨팅 장치(100)는 실환경(real-world) 이미지(110) 및 CAD(computer aided design) 파일(120)을 이용하여 실환경 이미지(110)에 포함된 물체를 인식하거나 식별할 수 있다. 여기서, 실환경 이미지(110)는 하나 이상의 물체를 포함하는 이미지로서, 컴퓨팅 장치(100)와 연관된 이미지 센서에 의해 촬영된 이미지일 수 있다. 또한, CAD 파일(120)은 특정 물체의 특징, 모양, 형태 등에 대한 3D 모델 정보를 포함하는 파일로서, 예를 들어, STEP 형식의 파일일 수 있다. 이 경우, STEP 형식의 파일은 HEADER, DATA로 구성되며, DATA는 다수의 독립체가 서로 참조하는 형태로 구성될 수 있다. 즉, 컴퓨팅 장치(100)는 실환경 이미지(110)에 포함된 물체를 미리 정의된 각각의 CAD 파일(120)의 물체와 비교하여, 실환경 이미지(110)에 포함된 물체를 정의하거나 결정할 수 있다.As shown, the
일 실시예에 따르면, 컴퓨팅 장치(100)는 임의의 물체를 포함하는 실환경 이미지(110)를 수신하고, 실환경 이미지(110)를 기초로, 임의의 물체에 대응하는 실환경 특징(feature) 정보를 추출할 수 있다. 이 경우, 이미지와 연관된 코너(corner), 엣지(edge), 그라디언트(gradient) 등의 특징을 추출하기 위한 임의의 알고리즘, 기계학습 모델 등이 사용될 수 있다. 예를 들어, 컴퓨팅 장치(100)는 실환경 이미지(110)를 학습된 기계학습 모델(예: CNN 모델 등)에 제공하여, 실환경 이미지(110)에 포함된 임의의 물체의 특징을 추출할 수 있다. 예를 들어, 실환경 이미지(110)에 복수의 물체가 포함된 경우, 컴퓨팅 장치(100)는 복수의 물체 각각에 대해 실환경 특징 정보를 추출할 수 있다.According to one embodiment, the
일 실시예에 따르면, 컴퓨팅 장치(100)는 CAD 파일(120)을 기초로, CAD 파일(120)과 연관된 타겟 물체에 대응하는 CAD 특징 정보를 추출할 수 있다. 즉, 각각의 CAD 파일은 서로 다른 타겟 물체와 연관될 수 있으며, 컴퓨팅 장치(100)는 이러한 복수의 CAD 파일의 각각에 대해 타겟 물체와 연관된 CAD 특징 정보를 추출할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 STEP 형식의 CAD 파일(120)을 이용하여 CAD 파일(120)에 포함된 타켓 물체와 대응하는 그래프(graph)를 생성할 수 있으며, 이와 같이 생성된 그래프를 학습된 기계학습 모델(예: GNN 모델 등)에 제공하여 타켓 물체와 연관된 CAD 특징 정보를 추출할 수 있다.According to one embodiment, the
그리고 나서, 컴퓨팅 장치(100)는 이와 같이 추출된 실환경 특징 정보와 복수의 타겟 물체의 각각에 대응하는 복수의 CAD 파일로부터 추출된 복수의 CAD 특징 정보 사이의 유사도를 산출할 수 있다. 예를 들어, 실환경 특징 정보는 임의의 물체에 대한 특징 벡터(feature vector)를 포함할 수 있으며, 복수의 CAD 특징 정보는 복수의 타겟 물체의 각각에 대한 특징 벡터를 포함할 수 있다. 이 경우, 컴퓨팅 장치(100)는 임의의 물체에 대한 특징 벡터 및 복수의 타겟 물체의 각각에 대한 특징 벡터를 학습된 기계학습 모델에 제공하여, 특징 벡터들 사이의 유사도를 산출할 수 있다. 이 경우, 컴퓨팅 장치(100)는 산출된 유사도를 기초로 임의의 물체를 인식하거나 식별할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 CAD 파일(120)의 타겟 물체의 형상과 유사한 실환경 이미지(110)의 물체의 픽셀(pixel)을 인식할 수 있다.Then, the
도 1에서는 컴퓨팅 장치(100)가 CAD 파일(120)로부터 직접 CAD 특징 정보를 추출하는 것으로 상술되었으나, 이에 한정되지 않으며, 컴퓨팅 장치(100)는 임의의 외부 장치 등으로부터, CAD 파일(120)로부터 추출된 CAD 특징 정보를 수신하거나 획득할 수도 있다. 이와 같은 구성에 의해, 컴퓨팅 장치(100)는 이미지로부터 물체를 곧바로 식별할 수 있는 기계학습 모델을 이용하지 않고, CAD 파일을 이용하여 이미지에 포함된 물체를 식별함으로써, 학습되지 않은 새로운 물체가 존재하는 경우에도, 해당 물체와 연관된 CAD 파일만을 이용하여 효과적으로 실환경에서의 물체를 인식하거나 식별할 수 있다.In FIG. 1 , the
도 2는 본 발명의 일 실시예에 따른 컴퓨팅 장치(100)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 컴퓨팅 장치(100)(컴퓨팅 장치(100)에 포함된 적어도 하나의 프로세서 등)는 실환경 특징 추출부(210), CAD 특징 추출부(220), 유사도 산출부(230) 등을 포함할 수 있으나, 이에 한정되지 않는다. 컴퓨팅 장치(100)는 외부 장치 등과 통신하며, 특징 추출 등에 필요한 데이터 및/또는 정보를 주고받을 수 있다.Figure 2 is a functional block diagram showing the internal configuration of the
상술된 바와 같이, 실환경 특징 추출부(210)는 임의의 물체를 포함하는 실환경 이미지를 수신하고, 실환경 이미지를 기초로, 임의의 물체에 대응하는 실환경 특징 정보를 추출할 수 있다. 여기서, 실환경 특징 정보는 임의의 물체에 대한 특징 벡터를 포함할 수 있으나, 이에 한정되지 않는다. 일 실시예에 따르면, 실환경 특징 추출부(210)는 실환경 이미지를 학습된 기계학습 모델에 제공하여, 임의의 물체에 대응하는 실환경 특징 정보를 추출할 수 있다. 예를 들어, 기계학습 모델은 이미지에 포함된 코너, 엣지 등을 기초로 특정 물체에 대한 특징 벡터를 추출하도록 학습된 CNN(convolutional neural network) 모델일 수 있다. 즉, 실환경 특징 추출부(210)는 실환경 이미지가 복수의 물체를 포함하는 경우, 복수의 물체 각각에 대응하는 특징 벡터를 추출할 수 있다.As described above, the real
일 실시예에 따르면, CAD 특징 추출부(220)는 타겟 물체를 포함하는 CAD 파일을 이용하여 CAD 파일에 대응하는 그래프를 생성할 수 있다. 또한, CAD 특징 추출부(220)는 생성된 그래프를 학습된 기계학습 모델에 제공하여, 타겟 물체와 연관된 CAD 특징 정보를 추출할 수 있다. 예를 들어, 기계학습 모델은 그래프를 이용하여, 해당 그래프에 대응하는 특징 벡터를 추출하도록 학습된 GNN(graph neural network) 모델일 수 있다. 여기서, 실환경 이미지로부터 추출된 특징 벡터와 CAD 파일로부터 추출된 특징 벡터는 동일한 차원의 벡터로 구성될 수 있으나, 이에 한정되지 않는다.According to one embodiment, the
일 실시예에 따르면, 유사도 산출부(230)는 추출된 실환경 특징 정보와 복수의 타겟 물체의 각각에 대응하는 복수의 CAD 파일로부터 추출된 복수의 CAD 특징 정보 사이의 유사도를 산출할 수 있다. 예를 들어, 유사도 산출부(230)는 임의의 물체에 대한 특징 벡터 및 복수의 타겟 물체의 각각에 대한 특징 벡터를 학습된 기계학습 모델에 제공하여, 특징 벡터들 사이의 유사도를 산출할 수 있다. 여기서, 기계학습 모델은, 트리플릿 손실 함수(triplet loss function)에 기초하여 특징 벡터들 사이의 유사도를 산출하도록 학습된 모델일 수 있다. 여기서, 트리플릿 손실 함수는 다음의 수학식 1과 같이 결정될 수 있다.According to one embodiment, the
여기서, 는 CAD 파일로부터 추출된 특징 벡터일 수 있으며, 는 실환경 이미지로부터 추출된 특징 벡터로서, 와 유사한 물체의 특징 벡터일 수 있으며, 는 실환경 이미지로부터 추출된 특징 벡터로서, 와 상이한 물체의 특징 벡터일 수 있다. 즉, 기계학습 모델은 트리플릿 손실 함수에 의해, 유사한 특징 벡터의 차이는 줄이고, 상이한 특징 벡터의 차이는 늘리도록 학습될 수 있다.here, may be a feature vector extracted from a CAD file, is a feature vector extracted from a real environment image, It may be a feature vector of an object similar to is a feature vector extracted from a real environment image, It may be a feature vector of a different object. In other words, the machine learning model can be trained to reduce the difference between similar feature vectors and increase the difference between different feature vectors using the triplet loss function.
이와 같이, 유사도가 산출된 경우, 컴퓨팅 장치(100)는 산출된 유사도를 기초로 실환경 이미지에 포함된 임의의 물체를 인식할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 실환경 이미지에서 임의의 물체에 대응하는 영역에 대한 바운딩 박스(bounding box) 좌표를 추출하여, 임의의 물체의 위치를 인식할 수 있으나, 이에 한정되지 않는다.In this way, when the similarity is calculated, the
도 2에서는 컴퓨팅 장치(100)에 포함된 각각의 기능적인 구성이 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것일 뿐이며, 하나의 연산 장치에서 둘 이상의 기능을 수행할 수도 있다. 이와 같은 구성에 의해, 컴퓨팅 장치(100)는 CAD 파일을 이용하여 물체를 인식함으로써, 산업 현장에 새로운 물체에 대한 작업을 추가하는 경우, 많은 시간과 비용을 단축시킬 수 있으며, 이에 따라 다품종 대량 생산을 위한 산업 현장에서 효과적으로 이용될 수 있다.In FIG. 2 , each functional configuration included in the
도 3은 본 발명의 일 실시예에 따른 CAD 파일(310)과 연관된 그래프(320)가 생성되는 예시를 나타내는 도면이다. 상술된 바와 같이, 타겟 물체를 포함하는 STEP 형식의 CAD 파일(310)에 대응하는 그래프(320)가 생성될 수 있으며, 생성된 그래프(320)를 기초로 타겟 물체와 연관된 CAD 특징 정보가 추출될 수 있다.FIG. 3 is a diagram illustrating an example of generating a
도시된 바와 같이, STEP 형식의 CAD 파일(310)은 타겟 물체의 3D 모델에 대한 정보를 포함하는 텍스트 데이터 등으로 구성될 수 있다. 즉, CAD 파일(310)은 HEADER 영역과 DATA 영역을 포함할 수 있으며, DATA 영역은 다수의 독립체(예: #101, #102, #103, #104, #105, #106, #107 등)가 서로 참조하는 형태로 구성될 수 있다. 이 경우, 컴퓨팅 장치(도 1의 100)는 CAD 파일(310)에 포함된 복수의 독립체를 노드(node)로 결정하고, 복수의 독립체 간의 참조 관계를 복수의 엣지(edge)로 결정하여 그래프(320)를 생성할 수 있다. 예를 들어, "#107=CLOSED_SHELL(",(#101, #102, #103, #104, #105, #106));"과 같이 참조 관계가 구성된 경우, 독립체 #107과 다른 독립체 #101, #102, #103, #104, #105 및 #106이 서로 연결되도록 그래프가 구성될 수 있다.As shown, the STEP
이와 같은 구성에 의해, 3D 모델 파일이 아닌 STEP 형식의 CAD 파일(310)을 이용함으로써, 적은 컴퓨팅 파워만으로도 간단히 CAD 파일(310)과 연관된 그래프(320)가 생성될 수 있으며, 생성된 그래프(320)를 기초로 타겟 물체와 연관된 CAD 특징 정보가 추출될 수 있다.With this configuration, by using the
도 4는 본 발명의 일 실시예에 따른 복수의 기계학습 모델(410, 420, 430)이 유사도(432)를 산출하는 예시를 나타내는 도면이다. 도시된 바와 같이, 유사도를 산출하기 위해 3 개의 기계학습 모델(410, 420, 430)이 이용될 수 있다. 예를 들어, 제1 기계학습 모델(410)은 실환경 이미지(412)를 제공받아 특징 정보(414)를 추출하도록 학습된 모델일 수 있고, 제2 기계학습 모델(420)은 CAD 파일로부터 추출된 그래프(422)를 제공받아 특징 정보(424)를 추출하도록 학습된 모델일 수 있다. 또한, 제3 기계학습 모델(430)은 특징 정보들(414, 424)을 비교하여 실환경 이미지(412)에 포함된 물체 및 그래프(422)와 연관된 타켓 물체 사이의 유사도(432)를 산출하도록 학습된 모델일 수 있다.Figure 4 is a diagram illustrating an example of calculating
일 실시예에 따르면, 기계학습 모델(410, 420, 430)은 인공신경망 모델을 포함할 수 있다. 인공신경망 모델은, 기계학습 모델의 일 예로서, 기계학습(Machine Learning) 기술과 인지과학에서, 생물학적 신경망의 구조에 기초하여 구현된 통계학적 학습 알고리즘 또는 그 알고리즘을 실행하는 구조이다.According to one embodiment, the
일 실시예에 따르면, 인공신경망 모델은, 생물학적 신경망에서와 같이 시냅스의 결합으로 네트워크를 형성한 인공 뉴런인 노드(Node)들이 시냅스의 가중치를 반복적으로 조정하여, 특정 입력에 대응한 올바른 출력과 추론된 출력 사이의 오차가 감소되도록 학습함으로써, 문제 해결 능력을 가지는 기계학습 모델을 나타낼 수 있다. 예를 들어, 인공신경망 모델은 기계 학습, 딥러닝 등의 인공지능 학습법에 사용되는 임의의 확률 모델, 뉴럴 네트워크 모델 등을 포함할 수 있다.According to one embodiment, the artificial neural network model has nodes, which are artificial neurons that form a network through the combination of synapses, as in a biological neural network, repeatedly adjusting the weights of the synapses to produce the correct output and inference in response to a specific input. By learning to reduce the error between outputs, a machine learning model with problem-solving capabilities can be expressed. For example, the artificial neural network model may include random probability models, neural network models, etc. used in artificial intelligence learning methods such as machine learning and deep learning.
인공신경망 모델은 다층의 노드들과 이들 사이의 연결로 구성된 다층 퍼셉트론(MLP: multilayer perceptron)으로 구현된다. 본 실시예에 따른 인공신경망 모델은 MLP를 포함하는 다양한 인공신경망 모델 구조들 중의 하나를 이용하여 구현될 수 있다. 인공신경망 모델은, 외부로부터 입력 신호 또는 데이터를 수신하는 입력층, 입력 데이터에 대응한 출력 신호 또는 데이터를 출력하는 출력층, 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달하는 n개(여기서, n은 양의 정수)의 은닉층으로 구성된다. 여기서, 출력층은 은닉층으로부터 신호를 받아 외부로 출력한다. 인공신경망 모델의 학습 방법에는, 교사 신호(정답)의 입력에 의해서 문제의 해결에 최적화되도록 학습하는 지도 학습(Supervised Learning) 방법과, 교사 신호를 필요로 하지 않는 비지도 학습(Unsupervised Learning) 방법이 있을 수 있으나, 이에 한정되지 않는다.The artificial neural network model is implemented as a multilayer perceptron (MLP), which consists of multiple layers of nodes and connections between them. The artificial neural network model according to this embodiment can be implemented using one of various artificial neural network model structures including MLP. The artificial neural network model is located between an input layer that receives input signals or data from the outside, an output layer that outputs output signals or data corresponding to the input data, and an output layer that receives signals from the input layer and extracts characteristics. It consists of n hidden layers (where n is a positive integer) that are transmitted to . Here, the output layer receives a signal from the hidden layer and outputs it to the outside. The learning method of the artificial neural network model includes a supervised learning method that learns to optimize problem solving by inputting teacher signals (correct answers), and an unsupervised learning method that does not require teacher signals. There may be, but it is not limited to this.
도 5는 본 발명의 일 실시예에 따른 실환경 물체 인식 방법(500)의 예시를 나타내는 흐름도이다. 실환경 물체 인식 방법(500)은 프로세서(예를 들어, 컴퓨팅 장치의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 실환경 물체 인식 방법(500)은 프로세서가 임의의 물체를 포함하는 실환경 이미지를 수신함으로써 개시될 수 있다(S510).Figure 5 is a flowchart illustrating an example of a real-environment
프로세서는 실환경 이미지를 기초로, 임의의 물체에 대응하는 실환경 특징 정보를 추출할 수 있다(S520). 여기서, 실환경 특징 정보는 임의의 물체에 대한 특징 벡터를 포함할 수 있다. 예를 들어, 프로세서는 실환경 이미지를 학습된 제1 기계학습 모델에 제공하여, 임의의 물체에 대응하는 실환경 특징 정보를 추출할 수 있다.The processor may extract real environment feature information corresponding to an arbitrary object based on the real environment image (S520). Here, real-world feature information may include feature vectors for arbitrary objects. For example, the processor may provide a real environment image to the learned first machine learning model to extract real environment feature information corresponding to an arbitrary object.
프로세서는 추출된 실환경 특징 정보와 복수의 타겟 물체의 각각에 대응하는 복수의 CAD 파일로부터 추출된 복수의 CAD 특징 정보 사이의 유사도를 산출할 수 있다(S530). 예를 들어, 프로세서는 임의의 물체에 대한 특징 벡터 및 복수의 타겟 물체의 각각에 대한 특징 벡터를 학습된 제3 기계학습 모델에 제공하여, 특징 벡터들 사이의 유사도를 산출할 수 있다. 이 경우, 제3 기계학습 모델은, 트리플릿 손실 함수에 기초하여 특징 벡터들 사이의 유사도를 산출하도록 학습될 수 있다.The processor may calculate the similarity between the extracted real-world feature information and the plurality of CAD feature information extracted from the plurality of CAD files corresponding to each of the plurality of target objects (S530). For example, the processor may provide a feature vector for an arbitrary object and a feature vector for each of a plurality of target objects to the learned third machine learning model to calculate the degree of similarity between the feature vectors. In this case, the third machine learning model can be trained to calculate the similarity between feature vectors based on a triplet loss function.
그리고 나서, 프로세서는 산출된 유사도를 기초로 임의의 물체를 인식할 수 있다(S540). 예를 들어, 프로세서는 실환경 이미지에서 임의의 물체에 대응하는 영역에 대한 바운딩 박스 좌표를 추출하여, 임의의 물체의 위치를 인식할 수 있다. 이 경우, 이미지 내의 특정 영역의 바운딩 박스 좌표를 추출하기 위한 임의의 알고리즘 및/또는 기계학습 모델이 사용될 수 있다.Then, the processor can recognize an arbitrary object based on the calculated similarity (S540). For example, the processor can recognize the location of a random object by extracting bounding box coordinates for an area corresponding to a random object from a real environment image. In this case, any algorithm and/or machine learning model can be used to extract the bounding box coordinates of a specific area in the image.
도 6은 본 발명의 일 실시예에 따른 그래프 CAD 특징 정보 추출 방법(600)의 예시를 나타내는 흐름도이다. CAD 특징 정보 추출 방법(600)은 프로세서(예를 들어, 컴퓨팅 장치의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, CAD 특징 정보 추출 방법(600)은 프로세서가 타겟 물체를 포함하는 CAD 파일을 이용하여 CAD 파일에 대응하는 그래프를 생성할 수 있다(S610). 예를 들어, 프로세서는 CAD 파일에 포함된 복수의 독립체를 노드(node)로 결정하고, 복수의 독립체 간의 참조 관계를 복수의 엣지(edge)로 결정하여 그래프를 생성할 수 있다.Figure 6 is a flowchart showing an example of a
프로세서는 생성된 그래프를 학습된 제2 기계학습 모델에 제공하여, 타겟 물체와 연관된 CAD 특징 정보를 추출할 수 있다(S620). 여기서, CAD 특징 정보는 CAD 파일과 연관된 타겟 물체에 대한 특징 벡터를 포함할 수 있다. 이와 같이 생성된 CAD 특징 정보는 실환경 특징 정보와 함께 실환경 이미지에 포함된 물체를 인식하기 위해 사용될 수 있다.The processor may provide the generated graph to the learned second machine learning model to extract CAD feature information associated with the target object (S620). Here, the CAD feature information may include a feature vector for the target object associated with the CAD file. The CAD feature information generated in this way can be used together with the real environment feature information to recognize objects included in the real environment image.
도 7은 본 발명의 일 실시예에 따른 컴퓨팅 장치(700)의 내부 구성을 나타내는 블록도이다. 컴퓨팅 장치(700)는 메모리(710), 프로세서(720), 통신 모듈(730) 및 입출력 인터페이스(740)를 포함할 수 있다. 도 7에 도시된 바와 같이, 컴퓨팅 장치(700)는 통신 모듈(730)을 이용하여 네트워크를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다.FIG. 7 is a block diagram showing the internal configuration of a
메모리(710)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(710)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 컴퓨팅 장치(700)에 포함될 수 있다. 또한, 메모리(710)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다.
이러한 소프트웨어 구성요소들은 메모리(710)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 이러한 컴퓨팅 장치(700)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(730)을 통해 메모리(710)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(730)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(710)에 로딩될 수 있다.These software components may be loaded from a computer-readable recording medium separate from the
프로세서(720)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(710) 또는 통신 모듈(730)에 의해 사용자 단말(미도시) 또는 다른 외부 시스템으로 제공될 수 있다.The
통신 모듈(730)은 네트워크를 통해 사용자 단말(미도시)과 컴퓨팅 장치(700)가 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 컴퓨팅 장치(700)가 외부 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 컴퓨팅 장치(700)의 프로세서(720)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(730)과 네트워크를 거쳐 사용자 단말 및/또는 외부 시스템의 통신 모듈을 통해 사용자 단말 및/또는 외부 시스템으로 전송될 수 있다.The
또한, 컴퓨팅 장치(700)의 입출력 인터페이스(740)는 컴퓨팅 장치(700)와 연결되거나 컴퓨팅 장치(700)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 7에서는 입출력 인터페이스(740)가 프로세서(720)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(740)가 프로세서(720)에 포함되도록 구성될 수 있다. 컴퓨팅 장치(700)는 도 7의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다.Additionally, the input/
컴퓨팅 장치(700)의 프로세서(720)는 복수의 사용자 단말 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다.The
상술된 방법 및/또는 다양한 실시예들은, 디지털 전자 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 본 발명의 다양한 실시예들은 데이터 처리 장치, 예를 들어, 프로그래밍 가능한 하나 이상의 프로세서 및/또는 하나 이상의 컴퓨팅 장치에 의해 실행되거나, 컴퓨터 판독 가능한 기록 매체 및/또는 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 상술된 컴퓨터 프로그램은 컴파일된 언어 또는 해석된 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램, 모듈, 서브 루틴 등의 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨팅 장치, 동일한 네트워크를 통해 연결된 복수의 컴퓨팅 장치 및/또는 복수의 상이한 네트워크를 통해 연결되도록 분산된 복수의 컴퓨팅 장치를 통해 배포될 수 있다.The above-described method and/or various embodiments may be implemented with digital electronic circuitry, computer hardware, firmware, software, and/or combinations thereof. Various embodiments of the present invention are executed by a data processing device, for example, one or more programmable processors and/or one or more computing devices, or as a computer program stored in a computer-readable recording medium and/or a computer-readable recording medium. It can be implemented. The above-described computer program may be written in any form of programming language, including compiled language or interpreted language, and may be distributed in any form such as a stand-alone program, module, or subroutine. A computer program may be distributed via a single computing device, multiple computing devices connected through the same network, and/or multiple computing devices distributed so as to connect through multiple different networks.
상술된 방법 및/또는 다양한 실시예들은, 입력 데이터를 기초로 동작하거나 출력 데이터를 생성함으로써, 임의의 기능, 함수 등을 처리, 저장 및/또는 관리하는 하나 이상의 컴퓨터 프로그램을 실행하도록 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 예를 들어, 본 발명의 방법 및/또는 다양한 실시예는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있으며, 본 발명의 방법 및/또는 실시예들을 수행하기 위한 장치 및/또는 시스템은 FPGA 또는 ASIC와 같은 특수 목적 논리 회로로서 구현될 수 있다.The above-described method and/or various embodiments may include one or more processors configured to execute one or more computer programs that process, store, and/or manage certain functions, functions, etc., by operating on input data or generating output data. It can be performed by . For example, the method and/or various embodiments of the present invention may be performed by special purpose logic circuits such as a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC), and the method and/or various embodiments of the present invention may An apparatus and/or system for performing embodiments may be implemented as a special purpose logic circuit, such as an FPGA or ASIC.
컴퓨터 프로그램을 실행하는 하나 이상의 프로세서는, 범용 목적 또는 특수 목적의 마이크로 프로세서 및/또는 임의의 종류의 디지털 컴퓨팅 장치의 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 읽기 전용 메모리, 랜덤 액세스 메모리의 각각으로부터 명령 및/또는 데이터를 수신하거나, 읽기 전용 메모리와 랜덤 액세스 메모리로부터 명령 및/또는 데이터를 수신할 수 있다. 본 발명에서, 방법 및/또는 실시예들을 수행하는 컴퓨팅 장치의 구성 요소들은 명령어들을 실행하기 위한 하나 이상의 프로세서, 명령어들 및/또는 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다.The one or more processors executing the computer program may include a general purpose or special purpose microprocessor and/or one or more processors in any type of digital computing device. The processor may receive instructions and/or data from each of read-only memory and random access memory, or may receive instructions and/or data from read-only memory and random access memory. In the present invention, components of a computing device performing methods and/or embodiments may include one or more processors for executing instructions and one or more memory devices for storing instructions and/or data.
일 실시예에 따르면, 컴퓨팅 장치는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치와 데이터를 주고받을 수 있다. 예를 들어, 컴퓨팅 장치는 자기 디스크(magnetic disc) 또는 광 디스크(optical disc)로부터 데이터를 수신하거나/수신하고, 자기 디스크 또는 광 디스크로 데이터를 전송할 수 있다. 컴퓨터 프로그램과 연관된 명령어들 및/또는 데이터를 저장하기에 적합한 컴퓨터 판독 가능한 저장 매체는, EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable PROM), 플래시 메모리 장치 등의 반도체 메모리 장치를 포함하는 임의의 형태의 비 휘발성 메모리를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 컴퓨터 판독 가능한 저장 매체는 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다.According to one embodiment, a computing device may exchange data with one or more mass storage devices for storing data. For example, a computing device can receive/receive data from a magnetic disc or an optical disc and transmit data to the magnetic or optical disc. Computer-readable storage media suitable for storing instructions and/or data associated with a computer program include semiconductor memory devices such as EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable PROM), and flash memory devices. It may include, but is not limited to, any form of non-volatile memory. For example, computer-readable storage media may include magnetic disks such as internal hard disks or removable disks, magneto-optical disks, CD-ROM, and DVD-ROM disks.
사용자와의 상호 작용을 제공하기 위해, 컴퓨팅 장치는 정보를 사용자에게 제공하거나 디스플레이하기 위한 디스플레이 장치(예를 들어, CRT (Cathode Ray Tube), LCD(Liquid Crystal Display) 등) 및 사용자가 컴퓨팅 장치 상에 입력 및/또는 명령 등을 제공할 수 있는 포인팅 장치(예를 들어, 키보드, 마우스, 트랙볼 등)를 포함할 수 있으나, 이에 한정되지 않는다. 즉, 컴퓨팅 장치는 사용자와의 상호 작용을 제공하기 위한 임의의 다른 종류의 장치들을 더 포함할 수 있다. 예를 들어, 컴퓨팅 장치는 사용자와의 상호 작용을 위해, 시각적 피드백, 청각 피드백 및/또는 촉각 피드백 등을 포함하는 임의의 형태의 감각 피드백을 사용자에게 제공할 수 있다. 이에 대해, 사용자는 시각, 음성, 동작 등의 다양한 제스처를 통해 컴퓨팅 장치로 입력을 제공할 수 있다.To provide interaction with a user, the computing device may include a display device (e.g., cathode ray tube (CRT), liquid crystal display (LCD), etc.) for presenting or displaying information to the user and a display device (e.g., cathode ray tube (CRT), liquid crystal display (LCD), etc.) for providing or displaying information to the user. It may include, but is not limited to, a pointing device (e.g., keyboard, mouse, trackball, etc.) capable of providing input and/or commands. That is, the computing device may further include any other types of devices for providing interaction with the user. For example, a computing device may provide any form of sensory feedback to a user for interaction with the user, including visual feedback, auditory feedback, and/or tactile feedback. In response, the user can provide input to the computing device through various gestures such as sight, voice, and movement.
본 발명에서, 다양한 실시예들은 백엔드 구성 요소(예: 데이터 서버), 미들웨어 구성 요소(예: 애플리케이션 서버) 및/또는 프론트 엔드 구성 요소를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 이 경우, 구성 요소들은 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 연결될 수 있다. 예를 들어, 통신 네트워크는 LAN(Local Area Network), WAN(Wide Area Network) 등을 포함할 수 있다.In the present invention, various embodiments may be implemented in a computing system that includes a back-end component (e.g., a data server), a middleware component (e.g., an application server), and/or a front-end component. In this case, the components may be interconnected by any form or medium of digital data communication, such as a communications network. For example, a communication network may include a Local Area Network (LAN), a Wide Area Network (WAN), etc.
본 명세서에서 기술된 예시적인 실시예들에 기반한 컴퓨팅 장치는, 사용자 디바이스, 사용자 인터페이스(UI) 디바이스, 사용자 단말 또는 클라이언트 디바이스를 포함하여 사용자와 상호 작용하도록 구성된 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 예를 들어, 컴퓨팅 장치는 랩톱(laptop) 컴퓨터와 같은 휴대용 컴퓨팅 장치를 포함할 수 있다. 추가적으로 또는 대안적으로, 컴퓨팅 장치는, PDA(Personal Digital Assistants), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등을 포함할 수 있으나, 이에 한정되지 않는다. 컴퓨팅 장치는 사용자와 상호 작용하도록 구성된 다른 유형의 장치를 더 포함할 수 있다. 또한, 컴퓨팅 장치는 이동 통신 네트워크 등의 네트워크를 통한 무선 통신에 적합한 휴대용 통신 디바이스(예를 들어, 이동 전화, 스마트 전화, 무선 셀룰러 전화 등) 등을 포함할 수 있다. 컴퓨팅 장치는, 무선 주파수(RF; Radio Frequency), 마이크로파 주파수(MWF; Microwave Frequency) 및/또는 적외선 주파수(IRF; Infrared Ray Frequency)와 같은 무선 통신 기술들 및/또는 프로토콜들을 사용하여 네트워크 서버와 무선으로 통신하도록 구성될 수 있다.Computing devices based on example embodiments described herein may be implemented using hardware and/or software configured to interact with a user, including a user device, user interface (UI) device, user terminal, or client device. You can. For example, a computing device may include a portable computing device, such as a laptop computer. Additionally or alternatively, computing devices include personal digital assistants (PDAs), tablet PCs, game consoles, wearable devices, internet of things (IoT) devices, virtual reality (VR) devices, AR (augmented reality) devices, etc. may be included, but are not limited thereto. Computing devices may further include other types of devices configured to interact with a user. Additionally, the computing device may include a portable communication device (eg, a mobile phone, smart phone, wireless cellular phone, etc.) suitable for wireless communication over a network, such as a mobile communication network. The computing device may wirelessly connect to a network server using wireless communication technologies and/or protocols, such as radio frequency (RF), microwave frequency (MWF), and/or infrared ray frequency (IRF). It can be configured to communicate with.
본 발명에서 특정 구조적 및 기능적 세부 사항을 포함하는 다양한 실시예들은 예시적인 것이다. 따라서, 본 발명의 실시예들은 상술된 것으로 한정되지 않으며, 여러 가지 다른 형태로 구현될 수 있다. 또한, 본 발명에서 사용된 용어는 일부 실시예를 설명하기 위한 것이며 실시예를 제한하는 것으로 해석되지 않는다. 예를 들어, 단수형 단어 및 상기는 문맥상 달리 명확하게 나타내지 않는 한 복수형도 포함하는 것으로 해석될 수 있다.The various embodiments herein, including specific structural and functional details, are illustrative. Accordingly, embodiments of the present invention are not limited to those described above and may be implemented in various other forms. Additionally, the terms used in the present invention are intended to describe some embodiments and are not to be construed as limiting the embodiments. For example, the singular forms of words and the like may be construed to include the plural, unless the context clearly indicates otherwise.
본 발명에서, 달리 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함하여 본 명세서에서 사용되는 모든 용어는 이러한 개념이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 또한, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 맥락에서의 의미와 일치하는 의미를 갖는 것으로 해석되어야 한다.In the present invention, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which these concepts belong. . Additionally, commonly used terms, such as those defined in dictionaries, should be interpreted as having meanings consistent with their meaning in the context of the relevant technology.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 발명의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present invention has been described in relation to some embodiments in this specification, various modifications and changes may be made without departing from the scope of the present invention as can be understood by a person skilled in the art to which the present invention pertains. Additionally, such modifications and changes should be considered to fall within the scope of the claims appended hereto.
100: 컴퓨팅 장치
110: 실환경 이미지
120: CAD 파일
130: 물체 인식100: computing device
110: Real environment image
120: CAD file
130: Object recognition
Claims (8)
임의의 물체(object)를 포함하는 실환경(real-world) 이미지를 수신하는 단계;
상기 실환경 이미지를 기초로, 상기 임의의 물체에 대응하는 실환경 특징(feature) 정보를 추출하는 단계;
상기 추출된 실환경 특징 정보와 복수의 타겟(target) 물체의 각각에 대응하는 STEP 형식의 복수의 CAD(computer aided design) 파일로부터 추출된 복수의 CAD 특징 정보 사이의 유사도를 산출하는 단계; 및
상기 산출된 유사도를 기초로 상기 임의의 물체를 인식하는 단계;
를 포함하고,
상기 추출된 실환경 특징 정보와 복수의 타겟 물체의 각각에 대응하는 STEP 형식의 복수의 CAD 파일로부터 추출된 복수의 CAD 특징 정보 사이의 유사도를 산출하는 단계는,
상기 복수의 타겟 물체의 각각에 대응하는 STEP 형식의 복수의 CAD 파일의 각각에 대응하는 복수의 그래프(graph)를 생성하는 단계; 및
상기 생성된 복수의 그래프를 학습된 제2 기계학습 모델에 제공하여, 상기 복수의 타겟 물체의 각각에 대응하는 상기 복수의 CAD 특징 정보를 추출하는 단계;
를 포함하는, 실환경 물체 인식 방법.
A real-world object recognition method performed by at least one processor, comprising:
Receiving a real-world image including an arbitrary object;
extracting real environment feature information corresponding to the arbitrary object based on the real environment image;
Calculating a degree of similarity between the extracted real-world feature information and a plurality of CAD feature information extracted from a plurality of computer aided design (CAD) files in STEP format corresponding to each of a plurality of target objects; and
recognizing the arbitrary object based on the calculated similarity;
Including,
The step of calculating the similarity between the extracted real-world feature information and a plurality of CAD feature information extracted from a plurality of CAD files in STEP format corresponding to each of the plurality of target objects,
generating a plurality of graphs corresponding to each of a plurality of CAD files in STEP format corresponding to each of the plurality of target objects; and
providing the plurality of generated graphs to a learned second machine learning model to extract the plurality of CAD feature information corresponding to each of the plurality of target objects;
A method for recognizing objects in a real environment, including:
상기 산출된 유사도를 기초로 상기 임의의 물체를 인식하는 단계는,
상기 실환경 이미지에서 상기 임의의 물체에 대응하는 영역에 대한 바운딩 박스(bounding box) 좌표를 추출하여, 상기 임의의 물체의 위치를 인식하는 단계;
를 포함하는, 실환경 물체 인식 방법.
According to paragraph 1,
The step of recognizing the arbitrary object based on the calculated similarity,
recognizing the location of the random object by extracting bounding box coordinates for an area corresponding to the random object from the real environment image;
A method for recognizing objects in a real environment, including:
상기 임의의 물체에 대응하는 실환경 특징 정보를 추출하는 단계는,
상기 실환경 이미지를 학습된 제1 기계학습 모델에 제공하여, 상기 임의의 물체에 대응하는 실환경 특징 정보를 추출하는 단계;
를 포함하는, 실환경 물체 인식 방법.
According to paragraph 1,
The step of extracting real environment feature information corresponding to the random object includes:
providing the real environment image to a learned first machine learning model to extract real environment feature information corresponding to the random object;
A method for recognizing objects in a real environment, including:
상기 CAD 파일은 복수의 독립체 및 상기 복수의 독립체 간의 참조 관계를 포함하고,
상기 CAD 파일에 대응하는 그래프를 생성하는 단계는,
상기 CAD 파일에 포함된 복수의 독립체를 노드(node)로 결정하고, 상기 복수의 독립체 간의 참조 관계를 복수의 엣지(edge)로 결정하여 상기 그래프를 생성하는 단계;
를 포함하는, 실환경 물체 인식 방법.
According to paragraph 1,
The CAD file includes a plurality of entities and reference relationships between the plurality of entities,
The step of generating a graph corresponding to the CAD file is:
generating the graph by determining a plurality of entities included in the CAD file as nodes and determining reference relationships between the plurality of entities as a plurality of edges;
A method for recognizing objects in a real environment, including:
상기 실환경 특징 정보는 상기 임의의 물체에 대한 특징 벡터(feature vector)를 포함하고,
상기 복수의 CAD 특징 정보는 상기 복수의 타겟 물체의 각각에 대한 특징 벡터를 포함하고,
상기 유사도를 산출하는 단계는,
상기 임의의 물체에 대한 특징 벡터 및 상기 복수의 타겟 물체의 각각에 대한 특징 벡터를 학습된 제3 기계학습 모델에 제공하여, 상기 특징 벡터들 사이의 유사도를 산출하는 단계;
를 포함하는, 실환경 물체 인식 방법.
According to paragraph 1,
The real environment feature information includes a feature vector for the arbitrary object,
The plurality of CAD feature information includes a feature vector for each of the plurality of target objects,
The step of calculating the similarity is,
providing a feature vector for the random object and a feature vector for each of the plurality of target objects to a learned third machine learning model, and calculating a degree of similarity between the feature vectors;
A method for recognizing objects in a real environment, including:
상기 제3 기계학습 모델은, 트리플릿 손실 함수(triplet loss function)에 기초하여 상기 특징 벡터들 사이의 유사도를 산출하도록 학습되는, 실환경 물체 인식 방법.
According to clause 6,
The third machine learning model is learned to calculate similarity between the feature vectors based on a triplet loss function.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210125623A KR102662978B1 (en) | 2021-09-23 | 2021-09-23 | Real-world object recognition method and device |
PCT/KR2022/008146 WO2023048357A1 (en) | 2021-09-23 | 2022-06-09 | Real-world object recognition method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210125623A KR102662978B1 (en) | 2021-09-23 | 2021-09-23 | Real-world object recognition method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230042868A KR20230042868A (en) | 2023-03-30 |
KR102662978B1 true KR102662978B1 (en) | 2024-05-03 |
Family
ID=85719560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210125623A KR102662978B1 (en) | 2021-09-23 | 2021-09-23 | Real-world object recognition method and device |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102662978B1 (en) |
WO (1) | WO2023048357A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120287304A1 (en) * | 2009-12-28 | 2012-11-15 | Cyber Ai Entertainment Inc. | Image recognition system |
KR102210404B1 (en) * | 2019-10-14 | 2021-02-02 | 국방과학연구소 | Location information extraction device and method |
US20210133426A1 (en) * | 2017-09-21 | 2021-05-06 | Lexset.Ai Inc. | Detecting one or more objects in an image, or sequence of images, and determining a category and one or more descriptors for each of the one or more objects, generating synthetic training data, and training a neural network with the synthetic training data |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102400017B1 (en) * | 2017-05-17 | 2022-05-19 | 삼성전자주식회사 | Method and device for identifying an object |
KR102425578B1 (en) * | 2017-08-08 | 2022-07-26 | 삼성전자주식회사 | Method and apparatus for recognizing an object |
-
2021
- 2021-09-23 KR KR1020210125623A patent/KR102662978B1/en active IP Right Grant
-
2022
- 2022-06-09 WO PCT/KR2022/008146 patent/WO2023048357A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120287304A1 (en) * | 2009-12-28 | 2012-11-15 | Cyber Ai Entertainment Inc. | Image recognition system |
US20210133426A1 (en) * | 2017-09-21 | 2021-05-06 | Lexset.Ai Inc. | Detecting one or more objects in an image, or sequence of images, and determining a category and one or more descriptors for each of the one or more objects, generating synthetic training data, and training a neural network with the synthetic training data |
KR102210404B1 (en) * | 2019-10-14 | 2021-02-02 | 국방과학연구소 | Location information extraction device and method |
Non-Patent Citations (2)
Title |
---|
김정민,‘샴 네트워크(Siamese Network), 삼중합 손실(Triplet Loss),’ http://kau-deeperent.tistory.com/47 (2020.03.06.) 1부.* |
박성호, 이규빈 공저‘STEP 파일의 그래프적 표현,’ 제어로봇시스템학회 국내학술대회 논문집, 2021, pp.707-708 (2021.06.23.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
WO2023048357A1 (en) | 2023-03-30 |
KR20230042868A (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210264227A1 (en) | Method for locating image region, model training method, and related apparatus | |
Oliva et al. | A multilevel thresholding algorithm using electromagnetism optimization | |
EP3735625B1 (en) | Method and system for training the navigator of an object tracking robot | |
US20210406609A1 (en) | Meta-learning for multi-task learning for neural networks | |
Tang et al. | Track deformable objects from point clouds with structure preserved registration | |
Huang et al. | Retracted: Jointly network image processing: Multi‐task image semantic segmentation of indoor scene based on CNN | |
US11651214B2 (en) | Multimodal data learning method and device | |
US20190108447A1 (en) | Multifunction perceptrons in machine learning environments | |
JP2022534337A (en) | Video target tracking method and apparatus, computer apparatus, program | |
JP2022505775A (en) | Image classification model training methods, image processing methods and their equipment, and computer programs | |
US10778988B2 (en) | Method, an apparatus and a computer program product for object detection | |
US11960259B2 (en) | Control system using autoencoder | |
CN102640168A (en) | Method and apparatus for local binary pattern based facial feature localization | |
Ljouad et al. | A hybrid mobile object tracker based on the modified Cuckoo Search algorithm and the Kalman Filter | |
CN114677565B (en) | Training method and image processing method and device for feature extraction network | |
CN111652181B (en) | Target tracking method and device and electronic equipment | |
US20230401799A1 (en) | Augmented reality method and related device | |
WO2024083121A1 (en) | Data processing method and apparatus | |
CN115131604A (en) | Multi-label image classification method and device, electronic equipment and storage medium | |
Ding et al. | Simultaneous body part and motion identification for human-following robots | |
US11430137B2 (en) | Electronic device and control method therefor | |
Sanket et al. | Ajna: Generalized deep uncertainty for minimal perception on parsimonious robots | |
WO2024017282A1 (en) | Data processing method and device | |
KR102662978B1 (en) | Real-world object recognition method and device | |
Gaia et al. | Mapping the Landscape of SLAM Research: A Review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |