KR20240032954A - 타겟 객체의 위치를 지정하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 저장 매체 - Google Patents

타겟 객체의 위치를 지정하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 저장 매체 Download PDF

Info

Publication number
KR20240032954A
KR20240032954A KR1020247004349A KR20247004349A KR20240032954A KR 20240032954 A KR20240032954 A KR 20240032954A KR 1020247004349 A KR1020247004349 A KR 1020247004349A KR 20247004349 A KR20247004349 A KR 20247004349A KR 20240032954 A KR20240032954 A KR 20240032954A
Authority
KR
South Korea
Prior art keywords
target object
image
target
coordinate system
feature
Prior art date
Application number
KR1020247004349A
Other languages
English (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 저지앙 화레이 테크놀로지 컴퍼니., 리미티드.
Publication of KR20240032954A publication Critical patent/KR20240032954A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07CPOSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
    • B07C5/00Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
    • B07C5/34Sorting according to other particular properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

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

Abstract

본 개시의 실시예들은 타겟 객체의 위치 지정을 위한 방법을 제공한다. 방법은: 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하는 단계로서, 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함하는, 상기 식별 결과를 결정하는 단계; 제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 상기 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하는 단계; 및 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하는 단계로서, 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성되는, 상기 제2 위치를 결정하는 단계를 포함한다.

Description

타겟 객체의 위치를 지정하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 저장 매체
관련 출원의 상호 참조
본 출원은 2021년 8월 09일에 출원된 중국 특허 출원 번호 202110905411.5의 우선권을 주장하며, 그 내용이 전체적으로 여기에 참조로서 통합된다.
기술 분야
본 개시는 데이터 프로세싱 분야에 관한 것이며, 특히 타겟 객체의 위치를 지정하기(positioning) 위한 방법, 시스템, 및 컴퓨터 판독 가능한 저장 매체에 관한 것이다.
현대 생산 기술의 발달로 자동화 생산은 피할 수 없는 흐름이 되었다. 현재의 자동화된 생산에서는 생산 라인의 컨베이어 벨트 위에 있는 제품들이 식별되고 위치가 결정되어(positioned), 조작 디바이스(예컨대, 로봇 팔)가 제품들을 조작할 수 있다. 그러나, 현재의 타겟 객체 식별 및 위치 지정 방법들은 복수의 타겟 객체들이 적층된 장면들을 식별하는 데 있어 성능이 떨어진다.
따라서, 복수의 타겟 객체들이 적층된 장면에서 타겟 객체의 위치를 지정하는 방법들, 시스템들, 및 매체들로서, 이후에 조작 디바이스가 용이하게 조작할 수 있도록 하는 방법들, 시스템들, 및 매체들을 제공하는 것이 바람직하다.
본 개시의 실시예들 중 하나는 타겟 객체의 위치 지정을 위한 방법을 제공한다. 방법은: 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하는 단계로서, 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함하는, 상기 식별 결과를 결정하는 단계; 제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하는 단계; 및 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하는 단계로서, 제2 위치는 조작 디바이스의 동작 파라미터들(operation parameters)을 결정하도록 구성되는, 상기 제2 위치를 결정하는 단계를 포함한다.
본 개시의 실시예들 중 하나는 타겟 객체의 위치 지정을 위한 시스템을 제공한다. 시스템은: 타겟 객체의 위치 지정을 위한 명령들의 세트를 포함하는 적어도 하나의 컴퓨터 판독 가능한 저장 매체; 및 컴퓨터 판독 가능한 저장 매체와 통신하는 적어도 하나의 프로세서를 포함하며, 적어도 하나의 프로세서는 명령들의 세트를 실행할 때: 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하고 - 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함함 -; 제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하고; 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하도록 구성되며, 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성된다.
본 개시의 실시예들 중 하나는 타겟 객체에 대한 시스템을 제공한다. 시스템은: 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하도록 구성된 결과 결정 모듈로서, 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함하는, 상기 결과 결정 모듈; 제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하도록 구성된 이미지 결정 모듈; 및 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하도록 구성된 위치 결정 모듈로서, 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성되는, 상기 위치 결정 모듈을 포함한다.
본 개시의 실시예들 중 하나는 컴퓨터 명령들의 세트를 저장하는 컴퓨터 판독 가능한 저장 매체를 제공한다. 적어도 하나의 프로세서에 의해 실행될 때, 명령들의 세트는 적어도 하나의 프로세서로 하여금 방법을 실행하게 하도록 지시하고, 상기 방법은: 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하는 단계로서, 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함하는, 상기 식별 결과를 결정하는 단계; 제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하는 단계; 및 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하는 단계로서, 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성되는, 상기 제2 위치를 결정하는 단계를 포함한다.
본 개시는 예시적인 실시예들을 통해 더욱 자세히 설명된다. 이들 예시적인 실시예들은 도면들을 참조하여 상세하게 설명된다. 이들 실시예들은 비제한적인 예시적인 실시예들이며, 여기에서 유사한 숫자들은 유사한 구조들을 나타낸다:
도 1은 본 개시의 일부 실시예들에 따른 예시적인 타겟 객체 위치 지정 시스템을 도시하는 개략도이다;
도 2는 본 개시의 일부 실시예들에 따른 컴퓨팅 디바이스의 예시적인 하드웨어 및/또는 소프트웨어 구성요소들을 도시하는 개략도이다;
도 3은 본 개시의 일부 실시예들에 따른 모바일 디바이스의 예시적인 하드웨어 및/또는 소프트웨어 구성요소들을 도시하는 개략도이다;
도 4는 본 개시의 일부 실시예들에 따른 예시적인 타겟 객체 위치 지정 시스템을 도시하는 블록도이다;
도 5는 본 개시의 일부 실시예들에 따라 타겟 객체의 위치를 지정하기 위한 예시적인 프로세스를 도시하는 흐름도이다;
도 6은 본 개시의 일부 실시예들에 따른 예시적인 식별 모델을 도시하는 개략도이다;
도 7은 본 개시의 일부 실시예들에 따라 조작 디바이스가 타겟 객체에 대해 작업하는 조작 순서를 결정하는 예시적인 프로세스를 도시하는 흐름도이다;
도 8은 본 개시의 일부 실시예들에 따라 제2 좌표계에서 적어도 하나의 타겟 객체의 제2 위치를 결정하는 예시적인 프로세스를 도시하는 흐름도이다;
도 9a는 본 개시의 일부 실시예들에 따른 예시적인 이미지를 도시하는 개략도이다;
도 9b는 본 개시의 일부 실시예들에 따라 이미지 내의 복수의 타겟 객체들이 위치하는 제1 좌표계에서의 예시적인 객체 프레임을 도시하는 개략도이다;
도 9c는 본 개시의 일부 실시예들에 따른 타겟 객체의 예시적인 타겟 이미지를 도시하는 개략도이다;
도 10은 본 개시의 일부 실시예들에 따라 복수의 타겟 객체들을 식별하고 위치를 지정하는 예시적인 프로세스를 도시하는 흐름도이다.
본 개시의 실시예들과 관련된 기술적 솔루션들을 더욱 명확히 설명하기 위해, 실시예들의 상세한 설명에서 언급된 도면들의 간략한 소개가 하기에 제공된다. 명백하게, 하기에서 설명되는 도면들은 본 개시의 일부 예들 또는 실시예들일 뿐이다. 추가적인 창의적 노력없이도 통상의 지식을 가진 당업자들은 본 개시를 이들 도면들에 따른 다른 유사한 시나리오들에 적용할 수 있다. 문맥으로부터 명백하게 얻어지지 않는 한, 또는 문맥에서 그렇지 않다고 설명하지 않는 한, 도면들에서 동일한 숫자는 동일한 구조 또는 동작을 지칭한다.
본 명세서에서 사용되는 "시스템", "디바이스", "유닛" 및/또는 "모듈"은 상이한 수준들의 상이한 구성요소들, 요소들, 부분들, 섹션들 또는 어셈블리들을 구별하기 위한 하나의 방법이라는 것을 이해해야 한다. 그러나, 다른 단어들이 동일한 목적을 달성할 수 있는 경우, 해당 단어들은 다른 표현들로 대체될 수 있다.
본 개시 및 첨부된 청구 범위에 사용된 바와 같이, 단수 형태의 표현들("a", "an" 및 "the")은 내용이 명확하게 달리 지시하지 않는 한 복수의 대상들을 포함한다. 일반적으로, 단수 또는 복수에 대한 "구비하다" 및/또는 "구비하는, 단수 또는 복수에 대한 "포함하다" 및/또는 "포함하는"이라는 용어들은 단지 명확하게 식별된 단계들 및 요소들을 포함한다는 것을 알려주는 것일뿐이고, 이들 단계들 및 요소들이 배타적 목록을 구성하지 않는다. 방법들 또는 디바이스들은 또한 다른 단계들 또는 요소들을 포함할 수 있다.
본 개시에서 사용된 흐름도들은 본 개시의 실시예에 따라 시스템이 구현하는 동작들을 설명한다. 선행하는 또는 후속하는 동작들은 반드시 정확하게 순서대로 수행되는 것은 아니라는 점을 이해해야 한다. 대신에, 동작들은 역순으로 또는 동시에 처리될 수 있다. 또한, 하나 이상의 다른 동작들이 이들 프로세스에 추가되거나 또는 하나 이상의 동작들이 이들 프로세스로부터 제거될 수 있다.
도 1은 본 개시의 일부 실시예들에 따른 예시적인 타겟 객체 위치 지정 시스템(100)을 도시하는 개략도이다.
도 1에 도시된 바와 같이, 타겟 객체 위치 지정 시스템(100)은 샘플 트레이닝 디바이스(110), 제1 컴퓨팅 시스템(120), 제2 컴퓨팅 시스템(130), 타겟 객체(140-1), 타겟 객체(140-2), 타겟 객체(140-3), 컨베이어 벨트(150), 이미지 획득 디바이스(160), 및 조작 디바이스(170)를 포함할 수 있다.
제1 컴퓨팅 시스템(120) 및 제2 컴퓨팅 시스템(130)은 서버, 개인용 컴퓨터, 또는 다양한 구조들의 복수의 컴퓨터들을 포함하는 컴퓨팅 플랫폼과 같은 컴퓨팅 능력을 갖는 시스템들을 지칭할 수 있다. 제1 컴퓨팅 시스템(120)과 제2 컴퓨팅 시스템(130)은 동일하거나 상이할 수 있다.
제1 컴퓨팅 시스템(120) 및 제2 컴퓨팅 시스템(130)은 적어도 하나의 컴퓨터 판독 가능한 저장 매체를 포함할 수 있다. 컴퓨터 판독 가능한 저장 매체는 명령들을 저장할 수 있다. 예를 들어, 저장된 명령들은 타겟 객체의 위치 지정을 위한 명령들의 세트일 수 있다. 컴퓨터 판독 가능한 저장 매체는 또한 데이터를 저장할 수도 있다. 예를 들어, 컴퓨터 판독 가능한 저장 매체는 제1 기준 이미지 및 제2 기준 이미지를 저장할 수 있다. 컴퓨터 판독 가능한 저장 매체는 대용량 저장 디바이스, 이동식 저장 디바이스, 휘발성 읽기 및 쓰기 메모리, 읽기 전용 메모리(ROM), 또는 이와 유사한 것, 또는 이들의 임의의 조합을 포함할 수 있다.
제1 컴퓨팅 시스템(120) 및 제2 컴퓨팅 시스템(130)은 컴퓨터 판독 가능한 저장 매체와 통신하는 적어도 하나의 프로세서를 포함할 수 있다. 명령들의 세트를 실행할 때, 적어도 하나의 프로세서는 본 개시의 실시예들에 설명된 타겟 객체의 위치 지정을 위한 방법을 구현할 수 있다. 적어도 하나의 프로세서는 다양한 공통 중앙 처리 유닛, 그래픽 처리 유닛, 마이크로 프로세싱 유닛 등을 포함할 수 있다.
제1 컴퓨팅 시스템(120)은 모델(122)을 포함할 수 있다. 제1 컴퓨팅 시스템(120)은 샘플 트레이닝 디바이스(110)를 획득하고, 샘플 트레이닝 디바이스(110)에 기초하여 모델(122)의 파라미터들을 업데이트하여 트레이닝된 모델을 획득할 수 있다. 샘플 트레이닝 디바이스(110)는 트레이닝 샘플과 함께 라벨들을 포함할 수 있다. 샘플 트레이닝 디바이스(110)는 다양한 통상의 방법으로 제1 컴퓨팅 시스템(120)에 들어갈 수 있다.
제2 컴퓨팅 시스템(130)은 모델(132)을 포함할 수 있고, 모델(132)의 파라미터들은 트레이닝된 모델(122)로부터 도출될 수 있다. 파라미터들은 임의의 통상의 방식으로 전송될 수 있다. 제2 컴퓨팅 시스템(130)은 모델(132)에 기초하여 결과(180)를 생성할 수 있고, 결과(180)는 모델(132)이 입력 데이터를 처리한 후에 얻어지는 결과일 수 있다. 트레이닝에 사용되는 데이터는 식별 결과를 결정하기 위해 제2 컴퓨팅 시스템(130)에 의해 사용되는 데이터와 동일하거나 다를 수 있다.
모델(예컨대, 모델(122) 및/또는 모델(132))은 프로세싱 디바이스에 기초하여 수행되는 여러 방법들의 집합을 지칭할 수 있다. 방법들은 다수의 파라미터들을 포함할 수 있다. 모델이 실행될 때, 파라미터들은 사전 설정되거나 동적으로 조정될 수 있다. 일부 파라미터들은 트레이닝을 통해 획득될 수 있다. 일부 파라미터들은 실행 중에 획득될 수 있다. 본 개시에 수반되는 모델에 관한 구체적인 설명은 본 개시의 관련 부분들을 참조하기 바란다.
타겟 객체들(140-1, 140-2, 140-3)은 생산 라인의 컨베이어 벨트(150) 상에 위치되어야 하는 객체들을 지칭할 수 있다.
컨베이어 벨트(150)는 지정된 방향으로 타겟 객체를 이송하도록 구성된 디바이스를 지칭할 수 있다. 컨베이어 벨트(150) 상에는 하나 이상의 타겟 객체들이 포함될 수 있다. 도 1에 도시된 바와 같이, 타겟 객체(140-1), 타겟 객체(140-2) 및 타겟 객체(140-3)가 컨베이어 벨트(150) 상에 포함될 수 있다.
이미지 획득 디바이스(160)는 이미지를 획득하도록 구성된 디바이스일 수 있다. 예를 들어, 이미지 획득 디바이스는 카메라일 수 있다.
조작 디바이스(170)는 타겟 객체에 대해 작업하는 디바이스일 수 있다. 예를 들어, 조작 디바이스(170)는 로봇 팔일 수 있다. 타겟 객체들(140-1, 140-2, 140-3)은 컨베이어 벨트(150) 상에서 이송되는 화장품 포장 상자들일 수 있다. 로봇 팔은 각각의 화장품 포장 상자를 잡아서 각각의 화장품 포장 상자를 포장 케이스로 이송하도록 구성될 수 있다.
제1 컴퓨팅 시스템(120), 제2 컴퓨팅 시스템(130), 이미지 획득 디바이스(160), 및 조작 디바이스(170)는 데이터 상호 작용을 수행할 수 있다. 예를 들어, 제1 컴퓨팅 시스템(120), 제2 컴퓨팅 시스템(130), 이미지 획득 디바이스(160), 및 조작 디바이스(170)는 데이터 교환을 용이하게 하기 위해 다양한 실현 가능한 방식들(예컨대, 네트워크)에 의해 서로 통신할 수 있다. 일부 실시예들에서, 제2 컴퓨팅 시스템(130)은 이미지 획득 디바이스(160)의 관련 데이터를 획득할 수 있고, 그 데이터를 처리함으로써 결과(180)를 얻을 수 있다. 일부 실시예들에서, 제2 컴퓨팅 시스템(130)은 결과(180)에 기초하여 조작 디바이스(170)의 동작 파라미터를 결정할 수 있고, 동작 파라미터에 기초하여 조작 디바이스(170)가 작업하도록 제어할 수 있다. 동작 파라미터의 결정에 관한 보다 자세한 설명은 도 5 및 그에 대한 관련 설명에서 확인할 수 있다. 일부 실시예들에서, 제2 컴퓨팅 시스템(130)은 또한 이미지에 기초하여 적어도 하나의 타겟 객체에 대한 작업을 수행하기 위한 조작 순서를 결정할 수 있다. 제2 컴퓨팅 시스템(130)은 조작 순서에 기초하여 적어도 하나의 타겟 객체에 대한 작업을 수행하도록 조작 디바이스(170)를 제어할 수 있다. 적어도 하나의 타겟 객체에 대해 작업을 수행하기 위한 조작 순서를 결정하는 것과 관련한 보다 상세한 설명은 도 7 및 그에 대한 관련 설명에서 확인할 수 있다.
도 2는 본 개시의 일부 실시예들에 따른 전형적인 컴퓨팅 디바이스의 하드웨어 및/또는 소프트웨어 구성요소들을 도시하는 개략도이다. 도 2에 도시된 바와 같이, 컴퓨팅 디바이스(200)는 프로세서(210), 저장 장치(220), 입력/출력(I/O)(230), 및 통신 포트(240)를 포함할 수 있다. 일부 실시예들에서, 컴퓨팅 디바이스(200)는 본 개시에 개시된 하나 이상의 기능들을 수행하는 타겟 객체 위치지정 시스템(100)의 임의의 구성요소(예컨대, 제1 컴퓨팅 시스템(120), 제2 컴퓨팅 시스템(130), 이미지 획득 디바이스(160), 조작 디바이스(170))를 구현하는 데 사용될 수 있다.
프로세서(210)는 컴퓨터 명령들(프로그램 코드)을 실행할 수 있으며, 명령들을 실행할 때, 제1 컴퓨팅 시스템(120) 및/또는 제2 컴퓨팅 시스템(130)으로 하여금 본원에 설명된 기술들에 따라 제1 컴퓨팅 시스템(120) 및/또는 제2 컴퓨팅 시스템(130)의 기능들을 수행하도록 할 수 있다. 컴퓨터 명령들은, 예를 들어, 본원에 설명된 특정한 기능들을 수행하는, 루틴들, 프로그램들, 객체들, 구성요소들, 신호들, 데이터 구조들, 절차들, 모듈들, 및 함수들을 포함할 수 있다. 일부 실시예들에서, 프로세서(210)는 마이크로 컨트롤러, 마이크로프로세서, 축소 명령 세트 컴퓨터(RISC), 애플리케이션 특정 집적 회로들(ASIC들), 애플리케이션-특정 명령-세트 프로세서(ASIP), 중앙 프로세싱 유닛(CPU), 그래픽스 프로세싱 유닛(GPU), 물리 프로세싱 유닛(PPU), 마이크로 컨트롤러 유닛, 디지털 신호 프로세서(DSP), 필드 프로그래머블 게이트 어레이(FPGA), 고급 RISC 머신(ARM), 프로그래머블 로직 디바이스(PLD), 하나 이상의 기능들을 실행할 수 있는 임의의 회로 또는 프로세서 등, 또는 이들의 임의의 조합들과 같은, 하나 이상의 하드웨어 프로세서들을 포함할 수 있다.
단지 설명을 위해, 단지 하나의 프로세서만이 컴퓨팅 디바이스(200)에서 기술된다. 그러나, 본 개시에서의 컴퓨팅 디바이스(200)는 또한 다수의 프로세서들을 포함할 수 있다는 것을 유의해야 한다. 따라서 본 개시에서 설명된 바와 같이 하나의 프로세서에 의해 수행되는 동작들 및/또는 방법 단계들은 또한 다수의 프로세서들에 의해 공동으로 또는 개별적으로 수행될 수 있다. 예를 들어, 본 개시에서 컴퓨팅 디바이스(200)의 프로세서가 프로세스 A 및 프로세스 B 양쪽 모두를 실행한다면, 프로세스 A 및 프로세스 B는 또한 컴퓨팅 디바이스(200)에서 둘 이상의 상이한 프로세서들에 의해 공동으로 또는 개별적으로 수행될 수 있다는 것이 이해되어야 한다(예컨대, 제 1 프로세서는 프로세스 A를 실행하며 제 2 프로세서는 프로세스 B를 실행하거나, 또는 제 1 및 제 2 프로세서들은 프로세스 A 및 B를 공동으로 실행한다).
저장 장치(220)는 본 개시에 개시된 하나 이상의 기능들과 관련된 데이터/정보를 저장할 수 있다. 일부 실시예들에서, 저장 장치(220)는 대용량 저장 디바이스, 이동식 저장 디바이스, 휘발성 읽기 및 쓰기 메모리, 읽기 전용 메모리(ROM), 또는 이와 유사한 것, 또는 이들의 임의의 조합을 포함할 수 있다. 예를 들어, 대용량 저장 디바이스는 자기 디스크, 광 디스크, 솔리드 스테이트 드라이브 등을 포함할 수 있다. 이동식 저장 장치는 플래시 드라이브, 플로피 디스크, 광 디스크, 메모리 카드, 집 디스크, 자기 테이프 등을 포함할 수 있다. 휘발성 읽기 및 쓰기 메모리는 랜덤 액세스 메모리(RAM)를 포함할 수 있다. RAM은 동적 RAM(DRAM), 이중 데이트 레이트 동기식 동적 RAM(DDR SDRAM), 정적 RAM(SRAM), 사이리스터 RAM(T-RAM), 및 제로-커패시터 RAM(Z-RAM) 등을 포함할 수 있다. ROM은 마스크 ROM(MROM), 프로그래머블 ROM(PROM), 삭제 가능한 프로그래머블 ROM(PEROM), 전기적으로 삭제 가능한 프로그래머블 ROM(EEPROM), 컴팩트 디스크 ROM(CD-ROM), 및 디지털 다목적 디스크 ROM 등을 포함할 수 있다. 일부 실시예들에서, 저장 장치(220)는 본 개시에 설명된 예시적인 방법들을 수행하기 위한 하나 이상의 프로그램들 및/또는 명령들을 저장할 수 있다. 예를 들어, 저장 장치(220)는 타겟 객체의 위치지정을 위해 제1 컴퓨팅 시스템(120) 및/또는 제2 컴퓨팅 시스템(130)을 위한 프로그램(예컨대, 컴퓨터 실행 가능한 명령들의 형태)을 저장할 수 있다.
I/O(230)는 신호, 데이터, 및/또는 정보를 입력 또는 출력할 수 있다. 일부 실시예들에서, I/O(230)는 컴퓨팅 디바이스(200)와 외부 디바이스 사이에 사용자 상호작용을 가능하게 할 수 있다. 일부 실시예들에서, I/O(230)는 입력 디바이스 및 출력 디바이스를 포함할 수 있다. 예시적인 입력 디바이스들은 키보드, 마우스, 터치 스크린, 마이크로폰 등, 또는 이들의 조합을 포함할 수 있다. 예시적인 출력 디바이스들은 디스플레이 디바이스, 라우드스피커, 프린터, 프로젝터 등, 또는 이들의 조합을 포함할 수 있다. 예시적인 디스플레이 디바이스들은 액정 디스플레이(LCD), 발광 다이오드(LED) 기반 디스플레이, 평판 디스플레이, 곡면 스크린, 텔레비전 디바이스, 음극선관(CRT) 등, 또는 이들의 조합을 포함할 수 있다.
통신 포트(240)는 데이터 통신들을 가능하게 하기 위해 네트워크(예컨대, 네트워크(160))에 연결될 수 있다. 통신 포트(240)는 컴퓨팅 디바이스(200)와 외부 디바이스 사이의 연결들을 확립할 수 있다. 연결은 유선 연결, 무선 연결, 또는 데이터 송수신을 가능하게 하는 이 둘의 조합일 수 있다. 유선 연결은 전기 케이블, 광 케이블, 전화선 등, 또는 이들의 임의의 조합을 포함할 수 있다. 무선 연결은 블루투스, 와이파이, 와이맥스, 무선랜, 지그비, 모바일 네트워크(예컨대, 3G, 4G, 5G 등), 또는 이와 유사한 것, 또는 이들의 조합을 포함할 수 있다. 일부 실시예들에서, 통신 포트(240)는 RS232, RS485 등과 같은 표준화된 통신 포트일 수 있다. 일부 실시예들에서, 통신 포트(240)는 특별히 설계된 통신 포트일 수 있다. 예를 들어, 통신 포트(240)는 의료용 디지털 영상 및 통신(DICOM) 프로토콜에 따라 설계될 수 있다.
도 3은 본 개시의 일부 실시예들에 따른 모바일 디바이스의 하드웨어 및/또는 소프트웨어 구성요소들을 도시하는 개략도이다. 일부 실시예들에서, 제1 컴퓨팅 시스템(120), 제2 컴퓨팅 시스템(130) 및/또는 이미지 획득 디바이스(160)는 모바일 디바이스(300) 상에 구현될 수 있다. 도 3에서 예시된 바와 같이, 모바일 디바이스(300)는 통신 플랫폼(310), 디스플레이(320), 그래픽스 프로세싱 유닛(GPU)(330), 중앙 프로세싱 유닛(CPU)(340), I/O(350), 메모리(360), 및 저장 장치(390)를 포함할 수 있다. 일부 실시예들에서, 이에 제한되지 않지만, 시스템 버스 또는 컨트롤러(도시되지 않음)를 포함한, 임의의 다른 적절한 구성요소가 또한 모바일 디바이스(300)에 포함될 수 있다. 일부 실시예들에서, 모바일 운영 시스템(370)(예컨대, iOS, 안드로이드, 윈도우 폰 등) 및 하나 이상의 애플리케이션들(380)은 CPU(340)에 의해 실행되기 위해 저장 장치(390)로부터 메모리(360)로 로딩될 수 있다. 애플리케이션들(380)은 이미지 프로세싱과 관련된 정보 또는 제1 컴퓨팅 시스템(120), 제2 컴퓨팅 시스템(130)으로부터의 다른 정보를 수신 및 렌더링하기 위한 브라우저 또는 다른 적합한 모바일 앱들을 포함할 수 있다. 정보 스트림과의 사용자 상호작용들은 I/O(350)를 통해 달성될 수 있고, 네트워크(160)를 통해 제1 컴퓨팅 시스템(120), 제2 컴퓨팅 시스템(130) 및/또는 타겟 객체 위치지정 시스템(100)의 다른 구성요소들에 제공될 수 있다.
본 개시에서 설명된 다양한 모듈들, 유닛들, 및 기능들을 구현하기 위해, 컴퓨터 하드웨어 플랫폼들이 여기에서 설명된 요소들 중 하나 이상에 대한 하드웨어 플랫폼(들)으로서 사용될 수 있다. 이러한 컴퓨터들의 하드웨어 요소들, 운영 시스템들 및 프로그래밍 언어들은 전적으로 통상적인 것들이며, 당업자들은 본원에 설명된 바와 같이 스캔된 객체의 고품질 이미지를 생성하기 위해 이러한 기술들을 적응시키는 데 적절히 숙지하고 있을 것으로 추정된다. 사용자 인터페이스 요소들을 갖는 컴퓨터는 개인용 컴퓨터(PC) 또는 다른 유형들의 워크 스테이션 또는 단말 디바이스를 구현하는 데 사용될 수 있지만, 적절하게 프로그래밍된 경우 컴퓨터가 서버 역할을 할 수도 있다. 당업자들은 이러한 컴퓨터 장비의 구조, 프로그래밍 및 일반적인 동작에 익숙할 것이며 결과적으로 도면들은 자체적으로 자명할 것이라고 믿어진다.
도 4는 본 개시의 일부 실시예들에 따른 예시적인 타겟 객체 위치지정 시스템(400)을 도시하는 블록도이다.
도 4에 도시된 바와 같이, 타겟 객체 위치지정 시스템(400)은 결과 결정 모듈(410), 이미지 결정 모듈(420) 및 위치 결정 모듈(430)을 포함할 수 있다.
결과 결정 모듈(410)은 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정할 수 있다. 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함할 수 있다. 식별 결과를 결정하는 것과 관련한 보다 자세한 설명은 도 5 및 관련 설명에서 확인할 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 타겟 객체의 제1 위치의 표현 파라미터는 타겟 객체가 위치하는 객체 프레임의 방향 파라미터 및/또는 객체 프레임의 복수의 키 포인트들의 복수의 위치 파라미터 등을 포함할 수 있다. 객체 프레임의 복수의 키 포인트들의 표현 파라미터들에 관한 보다 자세한 설명은 도 5 및 이에 대한 관련 설명에서 확인할 수 있다.
일부 실시예들에서, 식별 모델은 트레이닝 프로세스에 의해 획득될 수 있다. 일부 실시예들에서, 식별 모델은 피처 추출 층, 피처 융합 층 및 출력 층을 포함할 수 있다. 식별 모델의 트레이닝 및 구조에 관한 보다 자세한 설명은 도 6 및 그에 대한 관련 설명에서 확인할 수 있다.
이미지 결정 모듈(420)은 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정할 수 있다. 타겟 이미지에 관한 보다 자세한 설명은 도 5 및 그에 대한 관련 설명에서 확인할 수 있다.
위치 결정 모듈(430)은 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여, 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정할 수 있다. 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성될 수 있다. 제2 위치의 결정에 관한 보다 상세한 설명은 도 5 및 그에 대한 관련 설명에서 확인할 수 있다. 일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 위치 결정 모듈(430)은 변환 모델 및 제1 기준 이미지에 기초하여 제2 위치를 결정할 수 있다. 변환 모델 및 변환 모델에 기초하여 제2 위치를 결정하는 것에 관한 보다 상세한 설명은 도 8 및 그에 대한 관련 설명에서 확인할 수 있다.
도 4에 도시된 바와 같이, 타겟 위치지정 시스템(400)은 또한 조작 순서 결정 모듈(440)을 포함할 수 있다.
조작 순서 결정 모듈(440)은 타겟 이미지의 제1 피처와 제2 기준 이미지의 제2 피처 사이의 유사도에 기초하여, 조작 디바이스가 적어도 하나의 타겟 객체에 대해 작업하는 조작 순서를 결정할 수 있다. 타겟 이미지 및 제2 기준 이미지의 피처들에 관한 보다 상세한 설명은 도 7 및 그에 대한 관련 설명에서 확인할 수 있다.
타겟 객체 위치지정 시스템 및 그 모듈들에 대한 상기한 설명들은 단지 설명의 편의를 위한 것이며, 본 개시를 실시예들의 범위로 한정하려는 의도가 아님을 유의해야 한다. 당업자들은 시스템의 원리를 이해한 후 다양한 모듈들을 임의로 조합하거나, 원리를 벗어나지 않고서 다른 모듈들과 연결하기 위해 하위 시스템을 형성하는 것이 가능하다는 것을 이해할 것이다. 일부 실시예들에서, 도 4에 개시된 결과 결정 모듈(410), 이미지 결정 모듈(420), 및 위치 결정 모듈(430)은 시스템 내에서 서로 다른 모듈들일 수도 있고, 둘 이상의 모듈들의 기능들을 구현하는 하나의 모듈일 수도 있다. 예를 들어, 각 모듈은 저장 모듈을 공유할 수도 있고, 각 모듈은 또한 그 자신의 저장 모듈을 가질 수도 있다. 이러한 모든 변경들은 본 개시의 보호 범위 내에 있다.
도 5는 본 개시의 일부 실시예들에 따라 타겟 객체의 위치를 지정하기 위한 예시적인 프로세스(500)를 도시하는 흐름도이다. 도 5에 도시된 바와 같이, 프로세스(500)는 다음의 동작들을 포함할 수 있다.
510에서, 프로세서는 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정할 수 있다.
이미지는 위치지정될 필요가 있는 객체를 포함하는 이미지를 지칭할 수 있다. 이미지는 적어도 하나의 타겟 객체를 포함할 수 있다. 타겟 객체는 위치지정될 필요가 있는 객체를 지칭할 수 있다. 예를 들어, 타겟 객체는 위치지정될 필요가 있는 생산 라인에 있는 제품일 수 있다. 이에 대응하여, 이미지는 생산 라인에 있는 제품을 포함하는 이미지일 수 있다. 프로세서는 이미지 획득 디바이스(예컨대, 이미지 획득 디바이스(460))로부터 적어도 하나의 타겟 객체의 이미지를 획득할 수 있다.
식별 결과는 이미지에서 적어도 하나의 타겟 객체가 식별된 후 얻어진 결과를 지칭할 수 있다. 식별 결과는 적어도 하나의 타겟 객체 각각에 대한 정보를 포함할 수 있다. 일부 실시예들에서, 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함할 수 있다.
각 타겟 객체는 해당되는 제1 위치를 가질 수 있다. 각 타겟 객체에 대해, 타겟 객체의 제1 위치는 제1 좌표계에서 타겟 객체의 위치를 지칭할 수 있다.
제1 좌표계는 이미지에 기초하여 구성된 좌표계를 지칭할 수 있다. 프로세서는 복수의 방식들로 제1 좌표계를 구성할 수 있다. 예를 들어, 프로세서는 이미지의 좌측 하단 모서리를 제1 좌표계의 원점으로, 이미지의 하단 가장자리를 x축으로, 좌측 가장자리를 y축으로 결정할 수 있고, 픽셀 위치와 좌표 위치 사이의 미리 결정된 비례 관계에 기초하여 제1 좌표계를 구성할 수 있다. 제1 좌표계는 2차원 좌표계, 3차원 좌표계 등일 수 있다. 예를 들어, 이미지가 2차원 이미지인 경우, 제1 좌표계는 2차원 좌표계일 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 타겟 객체의 제1 위치의 표현 파라미터는 타겟 객체가 위치하는 객체 프레임의 방향 파라미터를 포함할 수 있다. 객체 프레임은 식별 모델이 이미지를 처리할 때 적어도 하나의 타겟 객체 각각에 대해 결정되는 프레임일 수 있다. 예를 들어, 객체 프레임은 타겟 객체의 최소 경계 사각형(minimum bounding rectangle)의 프레임일 수 있다. 도 9a에 도시된 바와 같이, 이미지(910)는 타겟 객체(920), 타겟 객체(930), 및 타겟 객체(940)를 포함할 수 있다. 도 9b에 도시된 바와 같이, 타겟 객체(920), 타겟 객체(930), 및 타겟 객체(940)가 위치하는 객체 프레임들은 객체 프레임(950), 객체 프레임(960), 및 객체 프레임(970)일 수 있다. 일부 실시예들에서, 타겟 객체가 위치하는 객체 프레임의 방향 파라미터는 객체 프레임의 미리 결정된 측면과 제1 좌표계에서의 X축 사이의 각도에 기초하여 결정될 수 있다. 도 9b에 도시된 바와 같이, 객체 프레임(950)의 방향 파라미터는 객체 프레임(950)의 장변과 제1 좌표계의 x축 사이의 각도에 기초하여 0°로 결정될 수 있다. 일부 실시예들에서, 타겟 객체가 위치하는 객체 프레임의 방향 파라미터는 다른 방식들로 결정될 수 있다. 예를 들어, 타겟 객체가 위치하는 객체 프레임의 방향 파라미터는 각 변과 제1 좌표계의 x축에 의해 형성된 각도들을 포함할 수 있다. 각각의 변은 제1 좌표계의 원점과 객체 프레임의 4개의 정점들(vertices)의 정점에 의해 형성될 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 타겟 객체의 제1 위치의 표현 파라미터는 또한 타겟 객체가 위치하는 객체 프레임의 복수의 키 포인트들의 복수의 위치 파라미터들을 포함할 수 있다. 키 포인트는 객체 프레임의 외형(형상, 크기 등)에 영향을 줄 수 있는 포인트일 수 있다. 타겟 객체가 위치하는 객체 프레임에서의 복수의 키 포인트들은 프로세서에 의해 미리 결정될 수 있다. 복수의 키 포인트들의 복수의 위치 파라미터들은 제1 좌표계에서의 키 포인트들의 좌표들에 기초하여 결정될 수 있다. 예를 들어, 타겟 객체가 위치하는 객체 프레임에서의 복수의 키 포인트들은 객체 프레임의 4개의 정점들을 포함할 수 있다. 이에 대응하여, 복수의 키 포인트들의 복수의 위치 파라미터들은 제1 좌표계에서 타겟 객체가 위치하는 객체 프레임에서의 각 정점의 좌표를 포함할 수 있다. 또 다른 예로서, 타겟 객체가 위치하는 객체 프레임에서의 키 포인트들은 객체 프레임의 중심 포인트 등을 포함할 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 타겟 객체의 제1 위치의 프레젠테이션 파라미터는 또한 타겟 객체가 제1 좌표계에서 위치하는 객체 프레임의 크기를 포함할 수 있다. 즉, 타겟 객체의 제1 위치의 프레젠테이션 파라미터는 객체 프레임의 길이 및 너비를 포함할 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 타겟 객체의 제1 위치의 표현 파라미터는 또한 제1 좌표계에서 타겟 객체의 중심 포인트의 위치 파라미터를 포함할 수 있다.
일부 실시예들에서, 식별 결과는 또한 적어도 하나의 타겟 객체 각각의 카테고리를 포함할 수 있다. 예를 들어, 식별 결과는 이미지에 있는 복수의 타겟 객체들이 모두 특정 브랜드의 피클 포장들이라는 것을 포함할 수도 있다.
일부 실시예들에서, 식별 결과는 또한 식별 결과의 신뢰 레벨을 포함할 수 있다. 예를 들어, 식별 결과는 출력 카테고리의 신뢰 레벨을 포함할 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 식별 결과는 제1 좌표계에서 타겟 객체가 위치하는 객체 프레임의 복수의 키 포인트들의 복수의 위치 파라미터들, 제1 좌표계에서 타겟 객체의 중심 포인트의 위치 파라미터, 객체 프레임의 방향 파라미터들, 객체 프레임의 크기, 타겟 객체의 카테고리 및 그 신뢰 레벨 등 또는 이들의 임의의 조합을 포함할 수 있다. 예를 들어, 식별 결과는 타겟 객체의 중심 포인트의 위치, 방향 파라미터, 및 타겟 객체가 위치하는 객체 프레임의 크기를 포함할 수 있다. 또 다른 예로서, 식별 결과는 타겟 객체가 위치하는 객체 프레임의 복수의 키 포인트들의 복수의 위치 파라미터들, 카테고리, 및 그의 신뢰 레벨을 포함할 수 있다.
일부 실시예들에서, 식별 결과는 타겟 벡터에 의해 특징지어질 수 있다. 타겟 벡터의 차원은 식별 결과의 관련 정보의 유형과 관련될 수 있다. 예를 들어, 식별 결과가 좌표, 방향 파라미터, 타겟 객체가 위치하는 객체 프레임의 복수의 키 포인트들 크기, 타겟 객체의 중심 포인트의 위치, 카테고리, 및 식별 결과의 신뢰 레벨 등인 경우, 제1 좌표계에서 특정 타겟 객체의 타겟 벡터는 15차원 벡터(x0,y0,w,h,θ,x1,y1,x2,y2,x3,y3,x4,y4,c,d)일 수 있으며, 여기서 x0,x1,x2,x3,x4는 타겟 객체의 중심 포인트의 x축 좌표 및 제1 좌표계에서 타겟 객체가 위치하는 객체 프레임의 4개의 정점들을 각각 나타낸다. y0,y1,y2,y3,y4는 타겟 객체의 중심 포인트의 y축 좌표 및 제1 좌표계에서 타겟 객체가 위치하는 객체 프레임의 4개의 정점들을 각각 나타낸다. w,h는 제1 좌표계에서 타겟 객체의 길이와 너비를 각각 나타낸다. θ는 제1 좌표계에서 타겟 객체의 방향 파라미터를 나타낸다. c는 타겟 객체의 카테고리를 나타낸다. d는 식별 결과의 신뢰 레벨을 나타낸다. 타겟 벡터의 내용은 식별 결과에 포함된 관련 정보에 따라 적응적으로 변경될 수 있음을 이해해야 한다. 예를 들어, 식별 결과가 제1 좌표계에서 타겟 객체가 위치하는 객체 프레임의 복수의 키 포인트들의 좌표들만을 포함하는 경우, 타겟 벡터는 8차원 벡터((x1,y1,x2,y2,x3,y3,x4,y4)일 수 있다.
일부 실시예들에서, 프로세서는 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정할 수 있다. 프로세서는 이미지를 사전 처리하고 이미지에서 적어도 하나의 타겟 객체와 관련이 없는 배경 콘텐트를 제거할 수 있다. 프로세서는 사전 처리된 이미지를 처리하여 식별 결과를 결정할 수 있다. 본 개시의 일부 실시예들에 따르면, 이미지에서 적어도 하나의 타겟 객체와 관련이 없는 배경 콘텐트가 제거되어, 이미지에서 배경 콘텐츠가 식별 모델에 미치는 영향을 제거하고, 식별 결과의 정확성을 보장할 수 있다.
일부 실시예들에서, 이미지는 식별 모델에 입력될 수 있고, 식별 모델의 출력은 식별 결과일 수 있다. 식별 모델에 기초하여 이미지를 처리하는 프로세스에 관한 보다 자세한 설명은 도 6 및 그에 대한 관련 설명에서 확인할 수 있다.
520에서, 프로세서는 제1 좌표계에서 적어도 하나의 타겟 객체 각각에 대한 제1 위치에 기초하여 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정할 수 있다.
적어도 하나의 타겟 객체 각각에 대해, 타겟 이미지는 이미지 내의 타겟 객체의 이미지를 지칭할 수 있다. 타겟 이미지는 타겟 객체와 일대일 대응 관계에 있을 수 있다.
프로세서는 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하기 위해 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여 이미지를 세그먼트화할 수 있다. 일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 프로세서는 타겟 객체의 타겟 이미지를 획득하기 위해 타겟 객체의 객체 프레임에 기초하여 이미지를 세그먼트화할 수 있다.
일부 실시예들에서, 프로세서는 세그먼트화된 이미지를 타겟 객체의 타겟 이미지로 직접 지정할 수 있다. 일부 실시예들에서, 타겟 객체가 다른 타겟 객체들에 의해 차폐된 경우, 다른 타겟 객체들이 타겟 객체의 타겟 이미지에 나타날 수 있는데, 즉 타겟 이미지 내의 타겟 객체는 차폐된 영역을 가질 수 있고, 타겟 이미지 내의 차폐 영역은 처리될 수 있으며, 처리된 타겟 이미지들이 후속 프로세스의 기초로 사용될 수 있다. 예를 들어, 처리된 타겟 이미지는 타겟 객체의 제2 위치를 결정하기 위해 새로운 타겟 이미지로 결정될 수 있다. 또 다른 예로서, 새로운 타겟 이미지는 새로운 타겟 이미지와 제2 기준 이미지 사이의 유사도를 결정하여 조작 순서를 결정하도록 구성될 수 있다. 일부 실시예들에서, 차폐 영역의 처리는 차폐 영역을 배경으로 대체하는 것을 포함할 수 있다. 배경의 피처들은 타겟 객체의 피처들과 상당히 상이할 수 있다. 도 9b에 도시된 바와 같이, 이미지(910)는 제1 좌표계에서 타겟 객체(930)의 제1 위치에 기초하여 세그먼트화되어 세그먼트화된 이미지를 획득할 수 있다. 타겟 객체(930)는 타겟 객체(920)에 의해 차폐되기 때문에, 세그먼트화된 영역에서 차폐된 영역, 즉 타겟 객체(920)의 일부가 잘릴 수 있다. 도 9c에 도시된 바와 같이 이미지(910)에서 타겟 객체(930)의 타겟 이미지를 얻기 위해 차폐 영역은 미리 결정된 백색 배경으로 채워질 수 있다.
본 개시의 일부 실시예들에서, 타겟 이미지 내의 다른 타겟 객체들은 타겟 이미지의 후속 처리에 대한 다른 타겟 객체들의 영향을 피하기 위해 처리될 수 있으며, 이는 타겟 객체의 위치지정 방법의 정확성을 효과적으로 향상시킬 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 프로세서는 또한 타겟 객체의 카테고리에 기초하여 타겟 객체가 위치하는 객체 프레임을 조정할 수 있으며, 따라서 조정된 객체 프레임이 타겟 객체의 형상과 유사하게 되도록 할 수 있다. 예를 들어, 타겟 객체의 카테고리가 특정 브랜드의 피클 포장이고, 해당 브랜드의 피클 포장이 평행 사변형인 경우, 프로세서는 타겟 객체의 카테고리에 기초하여 타겟 객체가 위치하는 객체 프레임을 미리 결정된 대응 관계에 따라 직사각형으로부터 평행 사변형으로 조정할 수 있다. 또한, 프로세서는 타겟 객체의 타겟 이미지를 획득하기 위해 타겟 객체의 조정된 객체 프레임에 기초하여 이미지를 세그먼트화할 수 있다.
본 개시의 일부 실시예들에서, 타겟 객체가 위치하는 객체 프레임은 타겟 객체의 카테고리에 기초하여 조정될 수 있으며, 따라서 조정된 객체 프레임은 타겟 객체의 형상과 유사할 수 있고, 이는 후속 처리 동안 타겟 이미지에서 타겟 객체와 관련이 없는 콘텐트로 인한 영향을 피할 수 있고, 타겟 객체의 위치지정의 정확도를 향상시킬 수 있다.
일부 실시예들에서, 프로세서는 적어도 하나의 타겟 객체 각각에 대한 타겟 이미지의 제1 피처를 결정할 수 있다. 프로세서는 적어도 하나의 타겟 객체 각각에 대한 타겟 이미지의 제1 피처와 제2 피처 사이의 유사도에 기초하여, 조작 디바이스가 적어도 하나의 타겟 객체에 대해 작업하는 조작 순서를 결정할 수 있다. 타겟 이미지의 제1 피처와 제2 기준 이미지의 제2 피처 사이의 유사도에 기초하여 조작 순서를 결정하는 것에 관한 보다 상세한 설명은 도 7 및 관련 설명에서 확인할 수 있다.
530에서, 프로세서는 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여, 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정할 수 있다. 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성될 수 있다.
제1 기준 이미지는 각 타겟 이미지에서 각 타겟 객체의 위치 좌표들을 동일한 좌표계의 좌표들로 변환하도록 구성된 이미지를 지칭할 수 있다. 동일한 좌표계는 제1 기준 이미지에 의해 결정된 제2 좌표계일 수 있다. 제1 기준 이미지 내의 객체들은 완전하고, 차폐되지 않고, 적층되지 않은 상태일 수 있다. 제1 기준 이미지 내의 객체 카테고리는 타겟 객체의 카테고리와 동일할 수 있다. 프로세서는 복수의 방식들로 제2 좌표계를 구성할 수 있다. 예를 들어, 프로세서는 제1 기준 이미지의 좌측 하단 모서리를 원점으로, 제1 기준 이미지의 하단 가장자리를 x축으로, 좌측 가장자리를 y축으로 설정하고, 픽셀 위치와 좌표 위치 사이의 미리 결정된 비례 관계에 기초하여 제2 좌표계를 구성할 수 있다. 제2 좌표계에서의 좌표축의 방향과 조작 디바이스의 실제 방향은 미리 결정될 수 있다. 제2 좌표계는 2차원 좌표계, 3차원 좌표계 등일 수 있다. 예를 들어, 제1 기준 이미지가 2차원 이미지인 경우, 제2 좌표계는 2차원 좌표계일 수 있다.
객체들의 다른 카테고리들은 다른 제1 기준 이미지들에 대응한다. 객체의 각 유형의 제1 기준 이미지는 획득 이미지 디바이스에 의해 미리 획득되어 저장될 수 있다(예컨대, 컴퓨터 판독 가능한 저장 매체에 저장될 수 있다). 예를 들어, 이미지가 컨베이어 벨트 상의 타겟 객체의 특정 카테고리의 이미지를 포함하는 경우, 프로세서는 해당 카테고리의 객체를 컨베이어 벨트 상에 배치하고 카메라로 촬영하여 해당 카테고리의 타겟 객체의 제1 기준 이미지를 미리 획득하고, 제1 기준 이미지와 제1 기준 이미지에 대응하는 카테고리를 컴퓨터 판독 가능한 저장 매체에 저장할 수 있다. 프로세서는 타겟 객체의 카테고리에 따라 타겟 객체의 카테고리에 대응하는 제1 기준 이미지를 획득할 수 있다.
제2 위치는 제2 좌표계에서의 적어도 하나의 타겟 객체 각각의 위치를 지칭할 수 있다. 일부 실시예들에서, 각각의 타겟 객체에 대해, 프로세서는 제2 좌표계에서 타겟 객체의 제2 위치에 기초하여, 제2 좌표계를 미리 결정된 변경 관계에 따라 조작 디바이스에 기초하여 구축된 좌표계로 변환할 수 있으며, 그에 따라 타겟 객체에 대한 작업을 위해 조작 디바이스의 동작 파라미터를 결정할 수 있다. 조작 디바이스에 기초하여 구축된 좌표계는 3차원 좌표계일 수 있다. 동작 파라미터들은 조작 디바이스에 의해 적어도 하나의 타겟 객체를 처리하기 위한 파라미터들을 지칭할 수 있다. 일부 실시예들에서, 프로세서는 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치에 기초하여, 미리 결정된 프로그램에 따라 조작 디바이스의 동작 파라미터들을 결정할 수 있다.
일부 실시예들에서, 프로세서는 제2 좌표계에서 적어도 하나의 타겟 객체 각각에 대한 제2 위치를 결정하기 위해 모델링을 수행하거나 회귀 분석, 판별 분석 등과 같은 다양한 데이터 분석 알고리즘들을 사용함으로써 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각을 분석 및 처리할 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 프로세서는 변환 모델에 기초하여, 제1 기준 이미지 및 타겟 객체의 타겟 이미지를 처리함으로써 변환 파라미터를 결정할 수 있다. 프로세서는 변환 파라미터에 기초하여 제3 좌표계에서 타겟 객체의 제3 위치를 제2 위치로 변환할 수 있다. 제3 좌표계는 타겟 객체의 타겟 이미지에 기초하여 결정될 수 있다. 상기한 실시예들에 관한 보다 상세한 설명은 도 6 및 그에 대한 관련 설명에서 확인할 수 있다.
일부 실시예들에서, 이미지가 복수의 타겟 객체들을 포함할 때, 프로세서는 조작 디바이스의 동작 파라미터들을 결정하기 위해 프로세스(500)를 한 번만 실행할 수 있다. 일부 실시예들에서, 조작 디바이스가 매번 조작을 수행한 후, 프로세서는 또한 새로운 이미지를 획득하고 프로세스(500)를 다시 실행할 수 있으며, 그에 따라 조작 디바이스가 매번 특정 타겟 객체에 대해 작업할 때 이미지에서 다른 타겟 객체들의 영향(예컨대, 다른 타겟 객체들의 변위) 및 후속 조작들에 대한 간섭을 피할 수 있다.
본 개시의 일부 실시예들에 따르면, 적어도 하나의 타겟 객체를 포함하는 이미지에서 적어도 하나의 타겟 객체가 위치지정될 수 있고, 적어도 하나의 타겟 객체 각각의 제2 위치가 결정될 수 있으며, 따라서 해당 타겟 객체에 대한 조작을 수행하기 위한 조작 디바이스의 동작 파라미터들이 신속하고 정확하게 결정될 수 있고, 그에 의해 적어도 하나의 타겟 객체의 위치의 수동 조정을 피하고 인건비를 절감하며 자동화된 생산을 실현할 수 있다.
도 6은 본 개시의 일부 실시예들에 따른 예시적인 식별 모델을 도시하는 개략도이다.
일부 실시예들에서, 프로세서는 식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정할 수 있다. 도 6에 도시된 바와 같이, 식별 모델(620)의 입력은 이미지(610)를 포함할 수 있고, 출력은 식별 결과를 포함할 수 있다. 식별 모델(620)은 피처 추출 층(621), 피처 융합 층(622) 및 출력 층(623)을 포함할 수 있다.
피처 추출 층은 직렬로 연결된 복수의 컨볼루션 층들을 포함할 수 있다. 복수의 컨볼루션 층들은 이미지를 처리할 수 있다. 복수의 컨볼루션 층들은 복수의 컨볼루션 층들의 출력들과 일대일 대응하여 복수의 그래프 피처들을 출력할 수 있다. 피처 추출 층의 각 컨볼루션 층은 서로 다른 측면들(aspects)(예컨대, 색상, 크기 등)로부터 이미지에 대한 피처 추출을 수행할 수 있다. 각 컨볼루션 층의 파라미터들(예컨대, 컨볼루션 커널의 크기 등)은 동일하거나 상이할 수 있다. 복수의 컨볼루션 층들이 직렬로 연결된 경우, 이전 컨볼루션층의 출력이 후속 컨볼루션층의 입력으로 지정될 수 있다. 예를 들어, 피처 추출 층이 이미지를 처리할 때, 복수의 컨볼루션 층들에 의해 순차적으로 이미지에 대해 피처 추출이 수행될 수 있다. 피처 추출 층의 제1 컨볼루션 층은 이미지에 대해 피처 추출을 수행하여 대응하는 그래프 피처들을 획득할 수 있다. 이때, 제1 컨볼루션 층에 의해 획득된 그래프 피처는 이미지 내의 세부 피처들을 포함할 수 있다. 제2 컨볼루션 층은 제1 컨볼루션 층이 컨볼루션된 후 그래프 피처들에 대해 피처 추출을 수행하여 대응하는 그래프 피처들을 획득할 수 있다. 이때, 제2 컨볼루션 층에 의해 획득된 그래프 피처들은 제1 컨볼루션 층에 의해 획득된 그래프 피처들에 비해 세부적인 피처들이 일부 손실되지만, 이미지의 거시적인 피처들이 획득될 수 있으며, 이는 이미지 내부의 필수 정보를 찾아내는 데 유익할 수 있다. 제3 컨볼루션 층은 제2 컨볼루션 층이 다시 컨볼루션된 후 그래프 피처들에 대해 피처 추출을 수행할 수 있으며, 복수의 그래프 픽처들을 획득하기 위해 피처 추출 층의 모든 컨볼루션 층들이 트래버스될 때까지 행해진다. 도 6에 도시된 바와 같이, 피처 추출 층(621)의 입력은 이미지(610)일 수 있고, 출력은 복수의 그래프 피처들(630)일 수 있다. 피처 추출 층(621)는 컨볼루션 층 1, 컨볼루션 층 2, ..., 컨볼루션 층 n을 포함할 수 있으며, 여기서 n은 양의 정수이다. 컨볼루션 층 1, 컨볼루션 층 2, ..., 컨볼루션 층 n은 입력 이미지(610)를 순차적으로 처리하여 그래프 피처 1, 그래프 피처 2, ..., 그래프 피처 n을 각각 획득한다. 일부 실시예들에서, 피처 추출 층은 사전 트레이닝된 MobileNetV3 네트워크일 수 있다.
일부 실시예들에서, 피처 융합 층은 복수의 그래프 피처들을 융합하여 이미지의 제3 피처를 결정할 수 있다. 제3 피처는 이미지의 복수의 그래프 피처들을 융합함으로써 얻어진 피처를 지칭할 수 있다. 피처 융합 층은 이미지의 제3 피처를 획득하기 위해 복수의 그래프 피처들에 대해 다중 스케일 피처 융합을 수행할 수 있다. 피처 융합 층은 피처 피라미드 네트워크(Feature Pyramid Networks)(FPN)일 수 있다. 도 6에 도시된 바와 같이, 피처 융합 층(622)의 입력들은 복수의 그래프 피처들(630), 즉 그래프 피처 1, 피규어 피처 2, ..., 피규어 퍼처 n을 포함할 수 있으며, 여기서 n은 양의 정수이고, 출력은 제3 피처(640)가 될 수 있다.
일부 실시예들에서, 출력 층은 식별 결과를 결정하기 위해 제3 피처를 처리할 수 있다. 예를 들어, 출력 층은 신경 네트워크일 수 있다. 도 6에 도시된 바와 같이, 출력 층의 입력은 제3 피처(640)가 될 수 있고, 출력은 식별 결과(650)가 될 수 있다. 이미지(610)가 m개의 타겟 객체들을 포함하는 경우, 이에 대응하여, 식별 결과(650)는 타겟 벡터 1, 타겟 벡터 2, ..., 타겟 벡터 m을 포함할 수 있으며, 여기서 m은 양의 정수이다.
일부 실시예들에서, 식별 모델은 트레이닝 프로세스에 의해 획득될 수 있다. 트레이닝 샘플은 적어도 하나의 샘플 이미지를 포함할 수 있고, 적어도 하나의 샘플 이미지 각각은 적어도 하나의 샘플 객체를 포함할 수 있다. 트레이닝 샘플의 라벨들은 적어도 하나의 샘플 객체 각각이 위치하는 샘플 객체 프레임의 샘플 방향 파라미터 및 샘플 객체 프레임의 복수의 샘플 키 포인트들의 복수의 샘플 위치 파라미터들을 포함할 수 있다. 트레이닝 샘플의 라벨들은 샘플 이미지를 수동으로 라벨링함으로써 획득될 수 있다. 복수의 트레이닝 샘플들은 초기 식별 모델에 입력될 수 있으며, 초기 식별 모델의 출력과 라벨들에 기초하여 손실 함수가 결정될 수 있다. 손실 함수에 기초하여, 초기 식별 모델의 각 층의 파라미터들은 미리 결정된 조건들이 충족될 때까지 반복적으로 업데이트될 수 있고, 트레이닝된 식별 모델이 획득될 수 있다. 미리 결정된 조건들은 손실 함수의 컨버젼스, 임계값에 도달하는 트레이닝 기간 등을 포함할 수 있다.
일부 실시예들에서, 손실 함수는 제1 손실 항목 및 제2 손실 항목을 포함할 수 있다. 제1 손실 항목은 샘플 방향 파라미터에 기초하여 결정될 수 있고, 제2 손실 항목은 샘플 위치 파라미터에 기초하여 결정될 수 있다. 일부 실시예들에서, 제2 손실 함수는 윙 손실 함수(Wing Loss function)에 의해 결정될 수 있다. 손실 함수는 방정식 (1)에 표시된 바와 같을 수 있다:
(1)
여기서 Loss는 손실 함수를 나타내고, Lossangle은 제1 손실 항목을 나타내고, WingLoss(vertex)는 제2 손실 항목을 나타낸다.
식별 모델이 트레이닝될 때 각도의 주기성으로 인해 손실 함수가 수렴하기 어려울 수 있음을 이해해야 한다. 동시에, 식별 모델이 미리 결정된 각도를 가진 앵커를 통해 직접 트레이닝되면, 계산량이 크게 증가될 수 있다. 본 개시의 일부 실시예들에서, 손실 함수의 계산을 지원하기 위해 객체 프레임의 복수의 키 포인트들의 복수의 위치 파라미터들을 사용하는 것은 생성된 객체 프레임이 회귀 후 형상이 직사각형을 유지하도록 제어하도록 제한할 수 있다.
일부 실시예들에서, 식별 결과가 또한 적어도 하나의 타겟 객체 각각의 카테고리를 포함하는 경우, 이에 대응하여, 트레이닝 샘플의 라벨들은 또한 식별 모델이 트레이닝될 때 적어도 하나의 샘플 객체 각각의 카테고리를 포함할 수 있다. 식별 결과가 또한 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 길이 및 너비를 포함하는 경우, 이에 대응하여, 트레이닝 샘플의 라벨들은 또한 식별 모델이 트레이닝될 때 적어도 하나의 샘플 객체 각각의 샘플 좌표계에서 샘플 길이 및 샘플 너비를 포함할 수 있다. 식별 결과가 또한 적어도 하나의 타겟 객체 각각의 중심 포인트의 위치를 포함하는 경우, 이에 대응하여, 트레이닝 샘플의 라벨들은 또한 식별 모델이 트레이닝될 때 적어도 하나의 샘플 객체 각각의 샘플 중심 포인트의 위치를 포함할 수 있다. 손실 함수는 또한 방정식 (2)에 표시된 바와 같을 수 있다:
(2)
여기서 Loss는 손실 함수를 나타내고, Lossangle는 제1 손실 항목을 나타내고, WingLoss(vertex)는 제2 손실 항목을 나타내고, Lossbox는 타겟 객체의 길이, 너비 및 중심 포인트 위치와 관련된 손실 항목을 나타내고, Losscls는 타겟 객체의 카테고리와 관련된 손실 항목을 나타낸다.
일부 실시예들에서, 프로세서는 또한 손실 함수에서 각 손실 항목의 가중치를 설정할 수 있다. 예를 들어, 제1 손실 항목의 가중치는 제2 손실 항목의 가중치보다 작을 수 있으며, 따라서 손실 함수가 더 빨리 수렴할 수 있다.
본 개시의 일부 실시예들에서, 타겟 객체는 신속하고 정확하게 위치지정될 수 있고, 머신 러닝 모델(즉, 식별 모델)에 의해 이미지를 처리함으로써 적어도 하나의 타겟 객체 각각의 제2 위치가 결정될 수 있으며, 그에 의해 프로세싱 효율을 향상시키고, 적어도 하나의 타겟 객체의 위치를 수동으로 조정하는 비용을 감소시킬 수 있다.
도 7은 본 개시의 일부 실시예들에 따라 조작 디바이스가 타겟 객체에 대해 작업하는 조작 순서를 결정하는 예시적인 프로세스를 도시하는 흐름도이다. 도 7에 도시된 바와 같이, 프로세스(700)는 다음의 동작들을 포함할 수 있다.
710에서, 프로세서는 적어도 하나의 타겟 이미지 각각에 대한 타겟 이미지의 제1 피처를 결정할 수 있다.
제1 피처는 적어도 하나의 타겟 이미지 각각의 피처를 지칭할 수 있다. 적어도 하나의 타겟 이미지 각각에 대해, 제1 피처는 타겟 이미지의 색상 피처, 형상 피처, 각도 피처, 가장자리 피처, 텍스처 피처, 또는 이들의 임의의 조합을 포함할 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 이미지 각각에 대해, 프로세서는 타겟 이미지에 기초하여, 피처 추출 모델에 의해 타겟 이미지의 제1 피처를 획득할 수 있다. 피처 추출 모델은 머신 러닝 모델일 수 있다. 피처 추출 모델은 이미지의 피처를 획득하기 위해 이미지의 피처를 추출할 수 있다. 일부 실시예들에서, 피처 추출 모델의 입력은 타겟 이미지를 포함할 수 있고, 출력은 타겟 이미지의 제1 피처를 포함할 수 있다.
일부 실시예들에서, 피처 추출 모델은 사전 트레이닝된 머신 러닝 모델일 수 있다. 예를 들어, 피처 추출 모델은 사전 트레이닝된 컨볼루션 신경 네트워크(CNN) 모델일 수 있다. 예를 들어, 피처 추출 모델은 트레이닝된 이미지 분류 모델에 의해 획득될 수 있다. 이미지 분류 모델의 입력은 이미지를 포함할 수 있고, 출력은 이미지에 있는 객체의 카테고리를 포함할 수 있다. 이미지 분류 모델은 피처 추출 층을 포함할 수 있고, 피처 추출 층은 피처 추출 모델로 지정될 수 있다.
본 개시의 일부 실시예들에서, 사전 트레이닝된 피처 추출 모델을 획득함으로써, 트레이닝 샘플들에 대한 요구 사항들이 감소될 수 있고, 피처 추출 모델이 직접 트레이닝될 때 라벨들을 획득하기 어려운 문제가 해결될 수 있다.
720에서, 프로세서는 적어도 하나의 타겟 객체 각각에 대한 타겟 이미지의 제1 피처와 제2 피처 사이의 유사도에 기초하여, 조작 디바이스가 적어도 하나의 타겟 객체에 대해 작업하는 조작 순서를 결정할 수 있다. 제2 피처는 제2 기준 이미지에 대응할 수 있다.
제2 기준 이미지에 포함된 객체들은 완전하고 선명하며 차폐되지 않은 상태일 수 있다. 제1 기준 이미지와 마찬가지로, 제2 기준 이미지에 있는 객체의 카테고리는 타겟 객체의 카테고리와 동일할 수 있다. 제2 기준 이미지는 제1 기준 이미지와 동일하거나 다를 수 있다. 예를 들어, 제1 기준 이미지는 컨베이어 벨트 위에 단일 객체를 수평으로 배치하여 캡처된 이미지일 수 있다. 제2 기준 이미지는 객체를 임의의 다른 위치에 배치하거나 객체와 컨베이어 벨트 사이에 다른 물품과 함께 배치하여 캡처한 이미지일 수 있다. 제2 기준 이미지를 결정하는 프로세스는 도 5에 도시된 바와 같이 제1 기준 이미지를 결정하는 프로세스와 유사할 수 있다.
제2 피처는 제2 기준 이미지의 피처를 지칭할 수 있다. 제2 피처는 제2 기준 이미지의 색상 피처, 형상 피처, 각도 피처, 가장자리 피처, 텍스처 피처 등을 포함할 수 있다. 일부 실시예들에서, 타겟 객체가 복수의 표면들을 포함하는 객체인 경우, 제2 기준 이미지는 복수의 제2 하위 기준 이미지들을 포함할 수 있다. 각각의 제2 하위 기준 이미지는 각각의 표면에 대응할 수 있다. 도 9a에 도시된 바와 같이, 타겟 객체(920), 타겟 객체(930), 및 타겟 객체(940)는 동일한 카테고리의 제품들일 수 있다. 이 카테고리의 제품은 두 개의 상이한 표면들, 즉 표면 A와 표면 B를 가질 수 있다. 이에 대응하여, 이 카테고리의 제품에 대응하는 제2 기준 이미지는 두 개의 제2 하위 기준 이미지들을 포함할 수 있다. 적어도 하나의 타겟 객체 각각에 대해, 제2 기준 이미지가 복수의 제2 하위 기준 이미지를 포함할 때. 이에 대응하여, 제2 피처는 복수의 제2 하위 피처들에 대응할 수 있다. 각각의 제2 하위 피처는 각각의 하위 기준 이미지에 대응할 수 있다.
일부 실시예들에서, 프로세서는 피처 추출 모델에 제2 기준 이미지를 입력할 수 있다. 피처 추출 모델의 출력은 제2 피처를 포함할 수 있다. 제2 기준 이미지가 복수의 제2 하위 기준 이미지들을 포함하는 경우, 각각의 제2 하위 기준 이미지는 피처 추출 모델에 입력되어 제2 하위 기준 이미지의 제2 하위 피처를 획득할 수 있다.
일부 실시예들에서, 프로세서는 제1 피처와 제2 피처를 처리함으로써 제1 피처와 제2 피처 사이의 유사도를 결정할 수 있다. 제1 피처와 제2 피처 사이의 유사도는 제1 피처와 제2 피처 사이의 벡터 거리에 기초하여 결정될 수 있다. 벡터 거리는 유사도와 음으로(negatively) 상관될 수 있다. 벡터 거리가 클수록 유사도는 작아진다. 예를 들어, 벡터 거리의 역수가 유사도로 지정될 수 있다. 벡터 거리는 맨해튼 거리, 유럽 거리 등을 포함할 수 있다.
일부 실시예들에서, 제2 피처가 복수의 제2 하위 피처들을 포함할 때, 프로세서는 제1 피처와 복수의 제2 하위 피처들 각각 사이의 하위 유사도에 기초하여 제1 피처와 제2 피처 사이의 유사도를 결정할 수 있다. 마찬가지로, 프로세서는 벡터 거리에 기초하여 유사도를 결정할 수 있다. 예를 들어, 프로세서는 복수의 하위 유사도들 중에서 가장 큰 하위 유사도를 선택할 수 있고, 가장 큰 하위 유사도를 제1 피처와 제2 피처 사이의 유사도로 결정할 수 있다. 다른 예로서, 프로세서는 복수의 하위 유사도들의 가중된 합계를 결정하고, 가중된 합계의 결과를 제1 피처와 제2 피처 사이의 유사도로 결정할 수 있다. 각각의 하위 유사도의 가중치는 미리 결정될 수 있다.
본 개시의 일부 실시예들에 따르면, 복수의 제2 하위 기준 객체들을 설정함으로써, 타겟 객체가 복수의 표면들을 가질 때, 타겟 객체의 제1 피처와 제2 피처 사이의 유사도가 또한 정확하게 결정될 수 있고, 그에 따라서 조작 디바이스가 적어도 하나의 타겟 객체에 대해 작업하는 조작 순서를 또한 결정할 수 있다.
일부 실시예들에서, 각각의 타겟 객체에 대해, 타겟 객체의 제1 피처와 제2 피처 사이의 유사도가 클수록, 조작 디바이스가 타겟 객체에 대해 작업하는 조작 순서가 높아진다. 일부 실시예들에서, 프로세서는 이미지 내의 적어도 하나의 타겟 객체 각각에 대한 타겟 이미지의 제1 피처와 제2 피처 사이의 유사도를 미리 결정된 유사도 임계값과 비교할 수 있고, 그 유사도가 미리 결정된 유사도 임계값보다 크거나 같은 타겟 객체를 후보 조작 객체로 결정할 수 있다. 조작 디바이스가 조작 객체에 대해 작업하는 조작 순서가 유사도에 기초하여 결정될 수 있다. 예를 들어, 유사도가 클수록 조작 디바이스의 조작 순서가 높아진다. 일부 실시예들에서, 조작 디바이스가 모든 후보 조작 객체들에 대한 조작을 완료한 경우, 프로세서는 새로운 이미지를 획득하고 새로운 이미지를 처리하여 조작 디바이스의 새로운 라운드의 후보 조작 객체들을 결정하고 조작 디바이스가 새로운 라운드의 후보 조작 객체들에 대해 작업하는 조작 순서를 결정할 수 있다.
일부 실시예들에서, 각각의 타겟 객체에 대해, 프로세서는 식별 결과에서의 타겟 객체의 신뢰 레벨 및 타겟 객체의 제1 피처와 제2 피처 사이의 유사도에 기초하여, 조작 디바이스가 타겟 객체에 대해 작업하는 조작 순서를 결정할 수 있다. 예를 들어, 각각의 타겟 객체에 대해, 인식 결과에서 타겟 객체의 신뢰 레벨과 타겟 객체의 제1 피처와 제2 피처 사이의 유사도 사이의 곱이 클수록, 조작 디바이스가 타겟 객체에 대해 작업하는 조작 순서가 높아진다.
일부 실시예들에서, 복수의 타겟 객체들의 제1 피처들과 제2 피처들 사이의 유사도들이 동일한 경우, 프로세서는 복수의 타겟 객체들을 표시하고, 이미지를 타겟 단말로 전송하고, 수동 주석에 의해 조작 디바이스가 이미지의 복수의 타겟 객체들에 대해 작업하는 조작 순서를 결정할 수 있다. 타겟 단말은 사용자(예컨대, 생산 라인의 작업자)에 의해 사용되는 단말을 지칭할 수 있다.
일부 실시예들에서, 프로세서는 타겟 객체와 타겟 이미지의 기준면 사이의 위치 관계에 기초하여, 제2 기준 이미지를 조정할 수 있고, 또한 조정된 제2 기준 이미지 및 조작 디바이스가 타겟 객체에 대해 작업하는 조작 순서를 결정할 수 있다. 예를 들어, 각각의 타겟 이미지에 대해, 프로세서는 또한 타겟 이미지와 제2 기준 이미지를 방향 결정 모델에 입력할 수 있다. 방향 결정 모델의 출력은 기준면에 대한 타겟 이미지의 타겟 객체의 높이 및 각도일 수 있다. 기준면은 제2 기준 이미지의 객체가 위치하는 평면을 지칭할 수 있다. 예를 들어, 기준면은 생산 라인에서 컨베이어 벨트가 위치하는 평면일 수 있다. 프로세서는 방향 결정 모델에 의해 결정된 높이 및 각도에 기초하여 제2 기준 이미지를 조정하여 새로운 제2 기준 이미지를 획득할 수 있다. 프로세서는 새로운 제2 기준 이미지와 타겟 이미지에 기초하여, 조작 디바이스가 적어도 하나의 타겟 객체에 대해 작업하는 조작 순서를 결정할 수 있다. 새로운 제2 기준 이미지와 타겟 이미지에 기초하여 조작 디바이스가 타겟 객체에 대해 작업하는 조작 순서를 결정하는 것은 도 7 및 이에 대한 관련 설명에서 확인할 수 있다.
방향 결정 모델은 트레이닝을 통해 획득될 수 있다. 트레이닝 샘플은 제2 이력 이미지(historical image)와 제2 이력 이미지의 제1 샘플 기준 이미지를 포함할 수 있다. 제2 이력 이미지와 제1 샘플 기준 이미지 모두는 동일한 카테고리의 객체를 포함할 수 있다. 트레이닝 샘플의 라벨들은 제1 샘플 기준 이미지의 객체가 위치하는 평면에 대한 제2 이력 이미지의 객체의 높이 및 각도를 포함할 수 있다. 트레이닝 샘플의 라벨들은 수동 주석에 의해 획득될 수 있다. 프로세서는 복수의 트레이닝 샘플들을 초기 방향 결정 모델에 입력하고, 초기 방향 결정 모델의 출력 및 라벨들에 기초하여 손실 함수를 결정하고, 트레이닝된 방향 결정 모델을 획득하기 위해 미리 결정된 조건들이 충족될 때까지 손실 함수에 기초하여 초기 방향 결정 모델의 파라미터들을 반복적으로 업데이트할 수 있다.
본 개시의 일부 실시예들에 따르면, 제2 기준 이미지는 새로운 제2 기준 이미지를 획득하기 위해 조정될 수 있다. 새로운 제2 기준 이미지에 기초하여, 타겟 이미지의 제1 피처와 제2 피처 사이의 유사도가 보다 정확하게 결정될 수 있으며, 그에 의해 조작 디바이스가 적어도 하나의 타겟 객체에 대해 작업하는 조작 순서의 정확성을 향상시키고 조작 프로세스의 안정성을 보장할 수 있다.
일부 실시예들에서, 이미지가 복수의 타겟 객체들을 포함하는 경우 프로세스(500)가 한 번 실행되어 조작 디바이스가 복수의 타겟 객체들에 대해 작업하는 조작 순서를 결정할 수 있거나, 또는 조작 디바이스가 매번 조작을 수행할 때 새로운 이미지가 다시 획득될 수 있고 프로세스(500)는 조작 순서의 정확성을 보장하기 위해 다시 실행될 수 있다.
타겟 이미지의 제1 피처와 제2 피처 사이의 유사도가 클수록, 타겟 이미지의 타겟 객체가 제2 기준 이미지의 객체와 더 유사하다는 것, 즉, 타겟 객체의 차폐된 영역이 더 작다는 것을 이해해야 한다. 이미지에 복수의 타겟 객체들이 있고 복수의 타겟 객체들 사이에 중첩이 있는 경우, 차폐된 영역이 가장 작은 타겟 객체가 복수의 타겟 객체들 중 상단에 위치할 수 있다. 따라서, 조작 디바이스는 차폐된 영역이 가장 작은 타겟 객체에 대해 먼저 작업할 수 있다.
본 개시의 일부 실시예들에 따르면, 타겟 이미지의 제1 피처와 제2 피처 사이의 유사도를 계산함으로써, 조작 디바이스가 적어도 하나의 타겟 객체에 대해 작업하는 조작 순서가 결정될 수 있고, 따라서 조작 디바이스가 차폐되지 않은 타겟 객체에 대해 우선적으로 작업할 수 있고, 차폐된 타겟 객체들의 직접 조작으로 인한 다른 타겟 객체들의 스캐터링을 피하기 위해 조작하는 동안에 후속하는 차폐된 타겟 객체들을 지속적으로 조정할 수 있으며, 이는 조작 프로세스의 안정성 및 효율성을 보장할 수 있다.
도 8은 본 개시의 일부 실시예들에 따라 제2 좌표계에서 적어도 하나의 타겟 객체의 제2 위치를 결정하는 예시적인 프로세스(800)를 도시하는 흐름도이다. 도 8에 도시된 바와 같이, 프로세스(800)는 다음의 동작들을 포함할 수 있다.
810에서, 적어도 하나의 타겟 객체 각각에 대해, 프로세서는 변환 모델에 기초하여 제1 기준 이미지 및 적어도 하나의 타겟 객체의 타겟 이미지를 처리함으로써 변환 파라미터를 결정할 수 있다.
변환 파라미터는 제3 좌표계에서의 위치를 제2 좌표계에서의 위치로 변환하는 파라미터를 지칭할 수 있다. 제3 좌표계에 관한 보다 자세한 설명은 동작(820) 및 그에 대한 관련 설명에서 확인할 수 있다. 변환 파라미터는 변환 행렬로 특징지어질 수 있다. 변환 행렬은 다음과 같이 표시되는, 호모그래피 행렬 H일 수 있다:
제3 좌표계의 위치는 변환 행렬에 의해 제2 좌표계의 위치로 변환될 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 변환 모델의 입력들은 제1 기준 이미지 및 적어도 하나의 타겟 객체의 타겟 이미지를 포함할 수 있고, 출력은 변환 파라미터일 수 있다. 변환 모델은 인코딩 층 및 변환 층을 포함할 수 있다. 일부 실시예들에서, 변환 모델은 딥 러닝 네트워크일 수 있다. 예를 들어, 변환 모델은 호모그램 NET일 수 있다. 변환 모델은 3*3 컨볼루션 커널을 사용하고 배치 정규화(Batch-Normalization)(Batch Norm) 및 정류된 선형 유닛(Rectified Linear Unit)(ReLU)을 사용할 수 있다. 변환 모델은 8개의 컨볼루션 층들을 포함할 수 있다. 컨볼루션 층들의 카운트들은 다음과 같을 수 있다: 64, 64, 64, 64, 128, 128, 128, 128. 또한 각 2개의 컨볼루션 층들 뒤에 스트라이드가 2인 2*2 최대 풀링 층(max pooling layer)이 있을 수 있다. 변환 모델은 또한 2개의 전체 연결 층들(full connection layers)을 포함할 수 있다. 입력은 2-채널 이미지일 수 있다. 교차 엔트로피(cross-entropy)는 트레이닝 프로세스에서 비용 함수일 수 있다. 변환 모델의 마지막 층은 소프트맥스 층(softmax layer)일 수 있다. 소프트맥스 층은 각 모서리 지점의 신뢰 레벨들의 8차원 벡터를 생성할 수 있다.
일부 실시예들에서, 인코딩 층은 제1 인코딩 벡터를 결정하기 위해 타겟 이미지를 처리할 수 있다. 제1 인코딩 벡터는 제3 좌표계에서 타겟 이미지 내의 타겟 객체의 제3 위치를 인코딩함으로써 획득된 위치 벡터일 수 있다. 제3 위치는 제3 좌표계에서 타겟 이미지 내의 타겟 객체의 위치를 포함할 수 있다. 제3 좌표계는 적어도 하나의 타겟 객체의 타겟 이미지에 기초하여 결정될 수 있다. 예를 들어, 인코딩 층은 타겟 이미지를 처리함으로써 제3 좌표계에서 타겟 이미지 내의 타겟 객체의 복수의 포인트들(예컨대, 적어도 4개의 포인트들)의 제3 위치들을 결정할 수 있고, 제3 위치들을 인코딩하여 제1 인코딩 벡터를 획득할 수 있다.
일부 실시예들에서, 인코딩 층은 또한 제1 기준 이미지를 처리하여 제2 인코딩 벡터를 결정할 수 있다. 제2 인코딩 벡터는 제2 좌표계에서 제1 기준 이미지 내의 객체의 위치를 인코딩함으로써 획득된 위치 벡터일 수 있다. 예를 들어, 인코딩 층은 제1 기준 이미지를 처리함으로써 제2 좌표계에서 제1 기준 이미지 내의 객체의 복수의 포인트들(예컨대, 적어도 4개의 포인트들)의 위치들을 결정할 수 있고, 그 위치들을 인코딩하여 제2 인코딩 벡터를 획득할 수 있다.
일부 실시예들에서,변환 층은 제1 인코딩 벡터 및 제2 인코딩 벡터를 처리하여 변환 파라미터를 결정할 수 있다. 변환 층의 입력들은 제1 인코딩 벡터 및 제2 인코딩 벡터를 포함할 수 있다. 변환 층의 출력은 변환 파라미터를 포함할 수 있다.
일부 실시예들에서, 변환 모델은 트레이닝에 의해 획득될 수 있다. 트레이닝 샘플은 제3 이력 이미지 및 제2의 샘플 기준 이미지를 포함할 수 있다. 제3 이력 이미지와 제2 샘플 기준 이미지 모두는 동일한 카테고리의 객체를 포함할 수 있다. 트레이닝 라벨들은 제3 이력 이미지의 좌표계에서 제3 이력 이미지 내의 객체의 복수의 포인트들 각각에 대한 위치가 제2 샘플 기준 이미지의 좌표계에서의 위치로 변환될 때 제3 이력 이미지의 좌표계에서의 위치와 제2 샘플 기준 이미지의 좌표계에서의 위치 사이의 차이를 포함할 수 있다. 프로세서는 복수의 트레이닝 샘플들을 초기 변환 모델에 입력하고, 초기 변환 모델의 출력 및 라벨들에 기초하여 손실 함수를 결정하고, 트레이닝된 변환 모델을 획득하기 위해 미리 결정된 조건들이 충족될 때까지 손실 함수에 기초하여 초기 변환 모델의 파라미터들을 반복적으로 업데이트할 수 있다. 미리 결정된 조건들은 손실 함수의 컨버젼스, 임계값에 도달하는 트레이닝 기간 등을 포함할 수 있지만 이에 국한되지는 않는다.
820에서, 프로세서는 변환 파라미터에 기초하여 제3 좌표계에서 적어도 하나의 타겟 객체의 제3 위치를 제2 위치로 변환할 수 있다. 제3 좌표계는 적어도 하나의 타겟 객체의 타겟 이미지에 기초하여 결정될 수 있다.
일부 실시예들에서, 타겟 객체의 제3 위치는 다양한 방식들로 결정될 수 있다. 예를 들어, 각 타겟 객체에 대해, 프로세서는 제1 좌표계에서의 타겟 객체의 제1 위치에 기초하여, 미리 결정된 변환 관계에 따라 제3 좌표에서의 타겟 객체의 제3 위치를 결정할 수 있다. 또 다른 예로서, 변환 모델의 출력은 또한 제3 좌표계에서 타겟 객체의 제3 위치를 포함할 수 있다. 이에 대응하여, 트레이닝 샘플의 라벨들은 또한, 변환 모델이 트레이닝될 때 제3 이력 이미지의 좌표계에서 제3 이력 이미지 내의 객체가 위치하는 객체 프레임에서의 복수의 키 포인트들 각각에 대한 위치를 포함할 수 있다.
각 타겟 객체에 대해, 타겟 객체의 제1 위치에 따라 이미지를 세그먼트화함으로써 타겟 이미지가 획득되고, 이미지에 기초하여 제1 좌표계가 결정되고, 적어도 하나의 타겟 객체의 타겟 이미지에 기초하여 제3 좌표계가 결정된다는 것을 이해해야 한다. 그 결과, 제1 좌표계는 제3 좌표계와 연관될 수 있으며, 그 구체적인 변환 관계가 미리 결정될 수 있다.
일부 실시예들에서, 적어도 하나의 타겟 객체 각각에 대해, 프로세서는 제3 좌표계에서의 타겟 객체의 제3 위치에 기초하여, 변환 파라미터를 통한 프로세싱에 의해 제2 좌표계에서의 타겟 객체의 제2 위치를 결정할 수 있다. 예를 들어, 변환 행렬에 기초하여, 제3 좌표계에서의 특정 위치는 제2 좌표계에서의 위치(x',y')로 변환될 수 있다:
본 개시의 일부 실시예들에 따르면, 변환 파라미터는 변환 모델에 의해 획득될 수 있고, 각 타겟 객체의 제3 위치는 변환 파라미터에 기초하여 제2 위치로 변환될 수 있으며, 그에 의해 조작 디바이스의 동작 파라미터들을 정확하게 결정하고, 지루한 타겟 객체 교정 작업을 피하고, 생산 효율을 향상시킬 수 있다.
본 개시의 다른 부분들에서, 타겟 객체는 또한 검출될 객체라고도 지칭될 수 있다. 제1 기준 이미지는 또한 제1 이미지라고도 지칭될 수 있다. 제1 피처는 또한 기준 피처 포인트 템플릿이라고도 지칭될 수 있다. 이미지는 또한 제2 이미지라고도 지칭될 수 있다. 타겟 이미지는 또한 제2 하위 이미지라고도 지칭될 수 있다. 제2 피처는 또한 추출 피처 포인트라고도 지칭될 수 있다. 피처 추출 모델은 또한 피처 추출 네트워크라고도 지칭될 수 있다. 제2 위치는 기준 좌표를 포함할 수 있다.
도 10은 본 개시의 일부 실시예들에 따라 복수의 타겟 객체들을 식별하고 위치를 지정하는 예시적인 프로세스를 도시하는 흐름도이다. 도 10에 도시된 바와 같이, 본 개시의 일부 실시예들에 따른 복수의 타겟 객체를 식별하고 위치를 지정하는 프로세스는 다음과 같은 프로세싱 동작들을 포함할 수 있다.
1010에서, 검출될 객체의 제1 이미지가 수집될 수 있고, 검출될 객체의 기준 피처 포인트 템플릿을 획득하기 위해 미리 결정된 피처 추출 네트워크를 활용함으로써 제1 이미지로부터 피처 포인트들이 추출될 수 있다.
본 개시의 실시예들에서, 검출될 객체의 제1 이미지는 차폐가 없는 조건의 완전한 이미지일 수 있다. 기준 피처 포인트 템플릿은 검출될 객체의 기준 피처 포인트 템플릿을 신속하게 결정하기 위해 사전 트레이닝된 CNN 피처 포인트 추출 네트워크를 사용함으로써 피처 포인트들을 추출할 수 있다. 기준 피처 포인트 템플릿은 검출될 선호하는 객체를 비교 및 선택하고, 검출될 객체를 신속하게 식별하도록 구성될 수 있다. 기준 피처 포인트 템플릿은 또한, 검출될 객체의 기준 좌표를 결정하고 기준 좌표를 로봇 팔과 같은 조작 디바이스에 제공하여 타겟 객체를 빠르게 잡도록 하기 위해 검출될 객체의 실제 추출된 피처 포인트들을 갖는 변환 행렬을 계산하도록 구성될 수 있다. 본 개시의 실시예들은 대규모 샘플들로 트레이닝된 미리 결정된 CNN을 사용할 수 있으며, 해당 트레이닝을 위한 샘플 데이터를 수집할 필요가 없어 실용성이 높을 수 있다.
본 개시의 실시예들에서, 제1 이미지는 2D 이미지일 수 있고, 검출될 객체는 카메라에 의해 촬영될 수 있다. 먼저, 검출될 객체의 기준 피처 포인트들은 기준 피처 포인트들과 잡게 될 객체의 추출 피처 포인트들 사이의 변환 행렬을 계산하기 위한 기초로서 추출될 수 있다.
1020에서, 제2 이미지가 수집될 수 있다. 제2 이미지는 복수의 제2 하위 이미지들로 세그먼트화될 수 있다. 피처 포인트들은 미리 결정된 피처 포인트 추출 네트워크를 이용함으로써 복수의 제2 하위 이미지들로부터 각각 추출될 수 있다. 추출된 피처 포인트들과 기준 피처 포인트 템플릿 사이의 유사도가 비교될 수 있으며, 유사도가 미리 결정된 임계값 이상인 추출된 피처 포인트들이 후보 타겟 피처 포인트들로 결정될 수 있다.
본 개시에서, 제2 이미지는 소형 상품과 같이 조립 라인에서 검출될 객체의 2D 이미지를 촬영함으로써 획득될 수 있으며, 검출될 객체의 피처 포인트들은 신경 네트워크를 사용함으로써 추출되어 기준 피처 포인트 템플릿과 비교하고 그에 따라 검출될 객체와 기준 피처 포인트 템플릿 사이의 변환 행렬을 결정하고 로봇 팔과 같은 조작 디바이스에 대해 검출될 객체의 기준 좌표를 정확하게 결정할 수 있으며, 이는 로봇 팔이 기준 좌표들에 기초하여 검출될 객체를 잡는 데 편리하게 할 수 있으며 소형 상품들의 분류를 실현할 수 있다.
1030에서, 후보 타겟 피처 포인트들과 대응하는 기준 피처 포인트 템플릿 사이의 변환 행렬이 결정될 수 있고, 제2 이미지에서 검출될 객체의 기준 좌표들이 변환 행렬에 기초하여 결정될 수 있으며, 그 기준 좌표들이 조작 디바이스에 제공될 수 있다. 조작 디바이스는 기준 좌표들에 기초하여 검출될 객체에 대한 동작들을 수행할 수 있다.
본 개시의 실시예들에서, 가상 지오메트리 그룹(VGG) 네트워크가 구성될 수 있다. VGG 네트워크의 컨볼루션 커널은 적어도 M개의 컨볼루션 층들을 갖는 N*N일 수 있다. 최대 풀링과 두 개의 전체 연결 층들이 각각의 두 개의 컨볼루션 층들 뒤에 제공될 수 있다. N은 2보다 큰 정수일 수 있다. M은 3보다 큰 정수일 수 있다. 바람직하게, N은 3일 수 있다. M은 8일 수 있다.
2-채널 이미지가 트레이닝을 위한 입력이 될 있다. 트레이닝 프로세스 동안 교차 엔트로피가 비용 함수로 사용될 수 있다. 마지막 층은 정규화된 지수 함수, 즉 소프트맥스 층일 수 있다. 소프트맥스 층은 각 모서리 지점의 신뢰 레벨들에 대한 M차원 벡터를 생성할 수 있다.
복수의 제2 하위 이미지들은 기준 피처 포인트 템플릿들과 각각 결합되어 이미지들의 쌍들을 형성할 수 있다. 이미지들의 쌍들은 VGG 네트워크에 입력될 수 있고, 기준 피처 포인트 템플릿은 회귀될 수 있다. 후보 타겟 피처 포인트들과 기준 피처 포인트 템플릿들 사이의 변환 행렬은 변위 벡터 행렬에 따라 결정될 수 있다.
본 개시의 실시예에서, 검출될 객체를 설정된 차원들의 벡터로 표현하는 것은: 검출될 객체를 13차원 벡터 {x, y, w, h, θ, x1, y1, x2, y2, x3, y3, x4,y4}로 표현하는 것을 포함하고, 여기서 x, y는 검출될 객체의 중심 포인트의 좌표들을 나타낸다. w는 검출될 객체의 길이를 나타낸다. h는 검출될 객체의 너비를 나타낸다. θ는 검출될 객체의 기울기 각도를 나타낸다. x1, y1, x2, y2, x3, y3, x4 및 y4는 검출될 객체의 회전 직사각형의 시계 방향으로 4개의 정점들을 각각 나타낸다. 기울기 각도는 tanh 활성화 함수를 사용하여 라디안 단위로 결정될 수 있으며 기울기 각도는 [-1,1]의 범위 내에 있을 수 있다. x1,x2,...x4,y4는 회전 직사각형의 시계 방향으로 4개의 정점일 수 있다. 회전 직사각형의 4개의 정점들의 손실은 일반적으로 사용되는 페이스 키 포인트들의 손실 함수, 즉 윙 손실 함수를 사용함으로써 결정될 수 있다. 이에 대응하여, 검출될 객체의 기준 피처 포인트 템플릿은 정점 손실(vertex loss)에 기초하여 획득될 수 있다. 변환 행렬은 정점 손실에 기초하여 결정될 수 있다. 검출될 객체의 상대 좌표들은 손실 함수를 사용하여 보다 정확하게 결정될 수 있다.
본 개시의 실시예들에 따른 기술적 솔루션의 본질은 아래에서 구체적인 예들을 통해 더 설명될 수 있다.
본 개시의 실시예들에서, 딥 러닝 기술을 사용하여 다중 타겟 객체 위치지정 및 타겟 출력 계획을 달성하는 것은 주로: 모든 타겟 객체들의 위치 중심, 각도, 너비, 높이, 최소 경계 사각형과 같은 정보를 획득하기 위해 딥 러닝 검출 네트워크를 사용하여 타겟 위치지정 프레임을 회전시키는 것; 선호하는 차폐되지 않은 타겟 템플릿을 오프라인으로 설정하고 피처 포인트 템플릿을 설정하는 것; 위치지정된 후보 타겟 피처 포인트들을 템플릿 피처 포인트들과 비교하여 실제 필요에 따라 대응하는 타겟 피처 포인트들의 카운트를 선택하고, 계획 및 정렬된 타겟 피처 포인트들을 명확하게 출력하는 것; 및 잡혀질 객체의 타겟 피처들과 대응하는 기준 피처 포인트들 사이의 행렬 관계를 계산하고, 행렬 관계를 로봇 팔에 제공하여 검출될 객체를 잡도록 하는 것을 포함할 수 있다.
검출될 타겟은 13차원 벡터 {x, y, w, h, θ, x1, y1, x2, y2, x3, y3, x4, y4}로 나타낼 수 있으며, 여기서 x, y는 검출될 타겟의 중심 포인트의 좌표들을 나타낸다. w는 검출될 타겟의 길이를 나타낸다. h는 검출될 타겟의 너비를 나타낸다. θ는 검출될 타겟의 기울기 각도를 나타내며, tanh 활성화 함수를 사용하여 라디안 단위로 결정될 수 있으며, 기울기 각도는 [-1,1] 범위 내에 있을 수 있다. x1, y1, x2, y2, x3, y3, x4, 및 y4는 회전 직사각형의 시계 방향으로 4개의 정점들일 수 있다. 본 개시의 실시예들에서, 회전 직사각형의 4개의 정점들의 손실은 일반적으로 사용되는 페이스 키 포인트들의 손실 함수, 즉 윙 손실 함수를 사용함으로써 결정될 수 있다.
검출될 객체의 피처 포인트 템플릿은 사전 트레이닝된 CNN 피처 포인트 추출 네트워크를 사용함으로써 추출될 수 있다. 검출될 객체의 2D 이미지는 출력 좌표들에 따라 복수의 작은 이미지들로 세그먼트화될 수 있다. 복수의 작은 이미지들에서 검출될 객체의 피처 포인트들이 미리 결정된 CNN 피처 포인트 추출 네트워크를 사용하여 추출될 수 있고, 검출될 객체의 피처 포인트들과 기준 피처 포인트 템플릿 사이의 유사도를 결정될 수 있다. 유사도가 예를 들면 70% 등과 같이 설정된 임계값을 초과하는 피처 포인트들이 후보 타겟 피처 포인트들로 결정될 수 있다. 후보 타겟 피처 포인트들은 유사도 내림차순으로 정렬될 수 있다. 설정된 카운트의 후보 타겟 피처 포인트들이 정렬에 따라 출력하기 위해 선택될 수 있다.
현재 타겟 객체와 기준 이미지 사이의 직접적인 행렬 관계는 트레이닝된 호모그래피 네트를 사용함으로써 결정될 수 있다. 구체적인 구현은 다음과 같다:
VGG 네트워크와 유사한 구조를 갖는 네트워크가 구성될 수 있다. 네트워크의 컨볼루션 커널은 Batch Norm 및 ReLU를 갖는 3*3이다. 네트워크는 총 8개의 컨볼루션 층들을 포함할 수 있다. 각 컨볼루션 층의 카운트들은 각각 다음과 같다: 64, 64, 64, 64, 128, 128, 128, 128. 각 2개의 컨볼루션 층들 뒤에 최대 풀링(2*2, 2 스트라이드)이 있을 수 있고, 2개의 전체 연결 층들이 있을 수 있다. 2-채널 이미지가 트레이닝을 위한 입력이 될 있다. 트레이닝 프로세스 동안 교차 엔트로피가 비용 함수로 사용될 수 있다. 마지막 층은 소프트맥스 층일 수 있으며, 이는 각 모서리 지점의 신뢰 레벨들의 8차원 벡터를 생성할 수 있다. 본 개시의 실시예들은 적층형의 소형 컨볼루션 커널들을 사용할 수 있으며, 이는 다층 비선형 층들이 더 복잡한 패턴들의 러닝을 보장하기 위해 네트워크 깊이를 증가시킬 수 있고 비용 파라미터가 상대적으로 작을 수 있기 때문에 대형 컨볼루션 커널들을 사용하는 것보다 훨씬 더 우수할 수 있다.
세그먼트화에 의해 획득된 복수의 작은 이미지들이 기준 피처 포인트 템플릿과 결합되어 한 쌍의 이미지들을 형성할 수 있으며, 이는 딥 호모그래피 네트워크로 전송될 수 있고, 변위 벡터 행렬은 H4 포인트로 회귀될 수 있다. 이러한 변위 벡터들이 획득된 후, 호모그래피가 또한 획득될 수 있으며, 구체적인 변환 행렬은 다음과 같다:
본 개시의 실시예들에서, 2D 이미지는 타겟 객체의 회귀 회전 직사각형을 검출하는 데 사용될 수 있으며, 이는 타겟 객체의 실제 위치를 정확하게 위치지정할 수 있고, 밀집된 객체들이 검출된 후 규칙적인 직사각형 프레임을 억제함으로써 야기된 타겟 객체의 손실을 방지할 수 있다. 사전 설정된 피처 포인트 추출 네트워크를 통해, 기준 피처 포인트 템플릿이 설정될 수 있고, 기준 피처 포인트와 후보 타겟의 피처 포인트 사이의 유사도가 결정될 수 있고, 이후에 로봇 팔이 효과적으로 잡을 수 있게 하도록 비교적 완전한 타겟 객체가 선택될 수 있다. 호모그래피 행렬은 추출된 타겟 객체와 기준 템플릿 피처 포인트들에 의해 교정 없이 간단한 조작으로 결정될 수 있다. 본 개시의 실시예들에서, 검출될 객체는 2D 이미지에 의해 식별 및 위치지정될 수 있으며, 이는 계산량을 크게 줄이고 검출될 객체의 식별 및 위치지정 효율을 향상시킬 수 있다.
상기한 프로세스들의 설명은 단지 예시의 목적들을 위해 제공되며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 주의되어야 한다. 당업자는 본 개시의 지침에 따라 프로세스들에 대해 다양한 변경들과 수정들이 이루어질 수 있다는 것을 이해할 것이다. 그러나, 이들 변경들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다.
이와 같이 기본 개념들을 설명하였지만, 본 상세한 개시를 읽은 당업자들에게는 전술한 상세한 개시가 단지 예시로서만 제시되도록 의도된 것이고 제한되지 않는다는 것이 명백할 것이다. 여기에 명시적으로 언급되지 않았지만, 당업자는 본 개시에 대한 다양한 수정들, 개선들 및 보정들을 행할 수 있다. 이들 변경들, 개선들, 및 수정들은 본 개시에 의해 제안되도록 의도되는 것이며, 본 개시의 전형적인 실시예들의 정신과 범위 내에 있다.
게다가, 특정한 용어는 본 개시의 실시예들을 설명하기 위해 사용되었다. 예를 들어, 용어들("일 실시예", "실시예", 및/또는 "일부 실시예들")은 실시예와 관련되어 설명된 특정한 특징, 구조 또는 특성이 본 개시의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 그러므로, 본 명세서의 다양한 부분들에서 "실시예" 또는 "일 실시예" 또는 "대안적인 실시예"에 대한 두 개 이상의 참조들은 반드시 모두가 동일한 실시예를 참조하는 것은 아니라는 것을 강조하며 이를 이해해야 한다. 더욱이, 특정한 특징들, 구조들 또는 특성들은 본 개시의 하나 이상의 실시예들에서 적절하게 조합될 수 있다.
더욱이, 프로세싱 요소들 또는 시퀀스들의 나열된 순서, 또는 숫자들, 글자들, 또는 다른 지정들의 사용은, 청구범위에서 특정될 수 있는 경우를 제외하고 청구된 프로세스들 및 방법들을 임의의 순서로 제한하도록 의도된 것은 아니다. 상기한 개시는 다양한 예들을 통해 현재 본 개시의 다양한 유용한 실시예들인 것으로 고려되는 것을 논의하지만, 이러한 세부사항은 단지 그 목적을 위한 것이고 첨부된 청구항들은 개시된 실시예들에 제한되지 않으며, 그와 반대로 개시된 실시예들의 정신 및 범위 내에 있는 수정들 및 동등한 배열들을 포함하도록 의도된다는 것을 이해해야 한다. 예를 들어, 상기 설명된 다양한 구성요소들의 구현은 하드웨어 디바이스에서 구현될 수 있지만, 이는 또한 예컨대, 기존의 서버 또는 모바일 디바이스에 설치 등의 소프트웨어 전용 솔루션으로서 구현될 수 있다.
유사하게, 본 개시의 실시예들에 대한 전술한 설명에서, 다양한 특징들이 때때로 다양한 실시예들 중 하나 이상의 이해를 돕기 위해 본 개시를 간소화하기 위한 목적으로 단일 실시예, 도면, 또는 그의 설명에서 함께 그룹화된다는 것을 이해해야 한다. 그라한, 본 개시의 이러한 방법은 청구 대상이 각각의 청구항에서 명확하게 나열된 것보다 많은 특징들을 요구하는 의도를 반영한 것으로 해석되어서는 안 된다. 오히려, 본 발명의 실시예들은 단일의 전술한 개시된 실시예의 모든 특징들보다 적다.
몇몇 실시예들에서, 본 출원의 특정한 실시예들을 설명하고 주장하기 위해 사용된 수량들 또는 특성들을 표현한 숫자들은 경우에 따라 "약", "대략", 또는 "대체로"와 같은 용어로 수정되는 것으로 이해되어야 한다. 예를 들어, "약", "대략", 또는 "실질적으로"는 달리 명시되지 않는 한, 그것이 설명하는 값의 ±20% 변동을 나타낼 수 있다. 따라서, 일부 실시예들에서, 기술된 설명 및 첨부된 청구범위에서 제시된 수치 파라미터들은 특정한 실시예에 의해 얻고자 하는 바람직한 특성들에 따라 달라질 수 있는 근사치들이다. 일부 실시예들에서, 수치 파라미터들은 보고된 유효 자릿수를 고려하여 그리고 통상의 반올림 기법들을 적용하여 해석되어야 한다. 본원의 일부 실시예들의 광범위한 범위를 규정하는 수치 범위들 및 파라미터들은 근사치들임에도 불구하고, 특정 예들에서 제시된 수치 값들은 실행 가능한 한 정확하게 보고된 것이다.
여기에서 참조된, 특허들, 특허 출원들, 특허 출원들의 공보들, 및 논문들, 서적들, 명세서들, 간행물들, 문서들, 물건 등과 같은 기타 자료들 각각은 이와 연관된 임의의 수행 파일 이력, 본 문서와 일치하지 않거나 또는 상충하는 것 중 임의의 것, 또는 지금 또는 나중에 본 문서와 연관된 청구항들의 가장 넓은 범위에 대해 제한적인 영향을 가질 수 있는 것의 임의의 것을 제외하고, 모든 목적들을 위해 전체적으로 참조로서 여기에 통합된다. 예로서, 통합된 자료 중 임의의 것과 연관된 용어의 설명, 정의 및/또는 사용과 본 문서와 연관된 것 간에 임의의 불일치 또는 충돌이 있다면, 본 문서에서의 용어의 설명, 정의, 및/또는 사용이 우선할 것이다.
끝으로, 여기에서 개시된 본 출원의 실시예들은 본 출원의 실시예들의 원리들을 예시하는 것으로 이해해야 한다. 채용될 수 있는 다른 수정들은 본 개시의 범위 내에 있을 수 있다. 따라서, 예를 들어, 본 개시의 실시예들의 대안적인 구성들이 본 명세서의 교시들에 따라 활용될 수 있지만, 이에 한정되지 않는다. 따라서, 본 개시의 실시예들은 도시되고 설명된 것과 같이 정확히 그 자체로 제한되지 않는다.

Claims (20)

  1. 타겟 객체의 위치 지정(positioning) 방법으로서:
    식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하는 단계로서, 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함하는, 상기 식별 결과를 결정하는 단계;
    제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 상기 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하는 단계; 및
    제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하는 단계로서, 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성되는, 상기 제2 위치를 결정하는 단계를 포함하는, 타겟 객체의 위치 지정 방법.
  2. 제1항에 있어서,
    적어도 하나의 타겟 이미지 각각에 대한 타겟 이미지의 제1 피처를 결정하는 단계; 및
    적어도 하나의 타겟 객체 각각에 대한 타겟 이미지의 제1 피처와 제2 피처 사이의 유사도에 기초하여, 조작 디바이스가 적어도 하나의 타겟 객체에서 작업하는 조작 순서를 결정하는 단계로서, 제2 피처는 제2 기준 이미지에 대응하는, 상기 조작 순서를 결정하는 단계를 더 포함하는, 타겟 객체의 위치 지정 방법.
  3. 제2항에 있어서, 제1 피처는 피처 추출 모델을 통해 타겟 이미지에 기초하여 획득되고, 피처 추출 모델은 머신 러닝 모델인, 타겟 객체의 위치 지정 방법.
  4. 제1항에 있어서, 적어도 하나의 타겟 객체 각각에 대해, 타겟 객체의 제1 위치의 표현 파라미터는 타겟 객체가 위치하는 객체 프레임의 방향 파라미터를 포함하는, 타겟 객체의 위치 지정 방법.
  5. 제4항에에 있어서, 표현 파라미터들은 객체 프레임의 복수의 키 포인트들의 복수의 위치 파라미터들을 포함하는, 타겟 객체의 위치 지정 방법.
  6. 제5항에 있어서, 식별 모델은 트레이닝 프로세스에 의해 획득되고, 트레이닝 프로세스의 라벨들은 적어도 하나의 샘플 객체 각각이 위치하는 샘플 객체 프레임의 샘플 방향 파라미터 및 샘플 객체 프레임의 복수의 샘플 키 포인트들의 복수의 샘플 위치 파라미터들을 포함하고;
    손실 함수는 제1 손실 항목 및 제2 손실 항목을 포함하며, 제1 손실 항목은 샘플 방향 파라미터에 기초하여 구성되고, 제2 손실 항목은 윙 손실 함수(Wing Loss function)에 의해 복수의 샘플 위치 파라미터들에 기초하여 구성되는, 타겟 객체의 위치 지정 방법.
  7. 제1항에 있어서, 식별 모델은 피처 추출 층, 피처 융합 층, 및 출력 층을 포함하고;
    피처 추출 층은 직렬로 연결된 복수의 컨볼루션 층을 포함하며, 복수의 컨볼루션 층들은 복수의 그래프 피처들을 출력하고;
    피처 융합 층은 복수의 그래프 피처들을 융합하여 이미지의 제3 피처를 결정하고;
    출력 층은 제3 피처를 처리하여 식별 결과를 결정하는, 타겟 객체의 위치 지정 방법.
  8. 제1항에 있어서, 제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하는 단계는:
    적어도 하나의 타겟 객체 각각에 대해,
    변환 모델에 기초하여 제1 기준 이미지 및 타겟 객체의 타겟 이미지를 처리함으로써 변환 파라미터를 결정하는 단계; 및
    변환 파라미터에 기초하여 제3 좌표계에서의 타겟 객체의 제3 위치를 제2 위치로 변환하는 단계를 포함하며,
    제3 좌표계는 타겟 객체의 타겟 이미지에 기초하여 결정되는, 타겟 객체의 위치 지정 방법.
  9. 제8항에 있어서, 변환 모델은 인코딩 층 및 변환 층을 포함하며,
    인코딩 층은 타겟 이미지를 처리하여 제1 인코딩 벡터를 결정하고, 제1 기준 이미지를 처리하여 제2 코딩 벡터를 결정하고,
    변환 층은 제1 인코딩 벡터 및 제2 인코딩 벡터를 처리하여 변환 파라미터를 결정하는, 타겟 객체의 위치 지정 방법.
  10. 타겟 객체의 위치 지정 시스템으로서:
    타겟 객체의 위치 지정을 위한 명령들의 세트를 포함하는 적어도 하나의 컴퓨터 판독 가능한 저장 매체; 및
    컴퓨터 판독 가능한 저장 매체와 통신하는 적어도 하나의 프로세서를 포함하며, 명령들의 세트를 실행할 때, 적어도 하나의 프로세서는:
    식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하고 - 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함함 -,
    제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 상기 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하고;
    제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하도록 구성되며,
    제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성되는, 타겟 객체의 위치 지정 시스템.
  11. 제10항에 있어서, 적어도 하나의 프로세서는 또한:
    적어도 하나의 타겟 이미지 각각에 대한 타겟 이미지의 제1 피처를 결정하고;
    적어도 하나의 타겟 객체 각각에 대한 타겟 이미지의 제1 피처와 제2 피처 사이의 유사도에 기초하여, 조작 디바이스가 적어도 하나의 타겟 객체에서 작업하는 조작 순서를 결정하도록 구성되고,
    제2 피처는 제2 기준 이미지에 대응하는, 타겟 객체의 위치 지정 시스템.
  12. 제11항에 있어서, 제1 피처는 피처 추출 모델을 통해 타겟 이미지에 기초하여 획득되고, 피처 추출 모델은 머신 러닝 모델인, 타겟 객체의 위치 지정 시스템.
  13. 제10항에 있어서, 적어도 하나의 타겟 객체 각각에 대해, 타겟 객체의 제1 위치의 표현 파라미터는 타겟 객체가 위치하는 객체 프레임의 방향 파라미터를 포함하는, 타겟 객체의 위치 지정 시스템.
  14. 제13항에에 있어서, 표현 파라미터들은 객체 프레임의 복수의 키 포인트들의 복수의 위치 파라미터들을 포함하는, 타겟 객체의 위치 지정 시스템.
  15. 제14항에 있어서, 식별 모델은 트레이닝 프로세스에 의해 획득되고, 트레이닝 프로세스의 라벨들은 적어도 하나의 샘플 객체 각각이 위치하는 샘플 객체 프레임의 샘플 방향 파라미터 및 샘플 객체 프레임의 복수의 샘플 키 포인트들의 복수의 샘플 위치 파라미터들을 포함하고;
    손실 함수는 제1 손실 항목 및 제2 손실 항목을 포함하며, 제1 손실 항목은 샘플 방향 파라미터에 기초하여 구성되고, 제2 손실 항목은 윙 손실 함수에 의해 복수의 샘플 위치 파라미터들에 기초하여 구성되는, 타겟 객체의 위치 지정 시스템.
  16. 제10항에 있어서, 식별 모델은 피처 추출 층, 피처 융합 층, 및 출력 층을 포함하고;
    피처 추출 층은 직렬로 연결된 복수의 컨볼루션 층들을 포함하며, 복수의 컨볼루션 층들은 복수의 그래프 피처들을 출력하고;
    피처 융합 층은 복수의 그래프 피처들을 융합하여 이미지의 제3 피처를 결정하고;
    출력 층은 제3 피처를 처리하여 식별 결과를 결정하는, 타겟 객체의 위치 지정 시스템.
  17. 제10항에 있어서, 적어도 하나의 프로세서는 또한:
    적어도 하나의 타겟 객체 각각에 대해,
    변환 모델에 기초하여 제1 기준 이미지 및 타겟 객체의 타겟 이미지를 처리함으로써 변환 파라미터를 결정하고;
    변환 파라미터에 기초하여 제3 좌표계에서의 타겟 객체의 제3 위치를 제2 위치로 변환하도록 구성되며,
    제3 좌표계는 타겟 객체의 타겟 이미지에 기초하여 결정되는, 타겟 객체의 위치 지정 시스템.
  18. 제17항에 있어서, 변환 모델은 인코딩 층 및 변환 층을 포함하며,
    인코딩 층은 타겟 이미지를 처리하고 제1 인코딩 벡터를 결정하고, 상기 설명의 제1 기준 이미지를 처리하여 제2 코딩 벡터를 결정하고,
    변환 층은 제1 인코딩 벡터 및 제2 인코딩 벡터를 처리하여 변환 파라미터를 결정하는, 타겟 객체의 위치 지정 시스템.
  19. 타겟 객체의 위치 지정 시스템으로서:
    식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하도록 구성된 결과 결정 모듈로서, 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함하는, 상기 결과 결정 모듈;
    제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 상기 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하도록 구성된 이미지 결정 모듈; 및
    제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하도록 구성된 위치 결정 모듈로서, 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성되는, 상기 위치 결정 모듈을 포함하는, 타겟 객체의 위치 지정 시스템.
  20. 명령들의 세트를 저장하는 컴퓨터 판독 가능한 저장 매체로서,
    적어도 하나의 프로세서에 의해 실행될 때, 명령들의 세트는 적어도 하나의 프로세서로 하여금 방법을 실행하게 하도록 지시하고,
    상기 방법은:
    식별 모델에 기초하여 이미지를 처리함으로써 식별 결과를 결정하는 단계로서, 식별 결과는 제1 좌표계에서 적어도 하나의 타겟 객체 각각의 제1 위치를 포함하는, 상기 식별 결과를 결정하는 단계;
    제1 좌표계에서의 적어도 하나의 타겟 객체 각각의 제1 위치에 기초하여, 이미지로부터 적어도 하나의 타겟 객체 각각의 타겟 이미지를 결정하는 단계; 및
    제1 기준 이미지 및 적어도 하나의 타겟 객체 각각의 타겟 이미지에 기초하여 제2 좌표계에서 적어도 하나의 타겟 객체 각각의 제2 위치를 결정하는 단계로서, 제2 위치는 조작 디바이스의 동작 파라미터들을 결정하도록 구성되는, 상기 제2 위치를 결정하는 단계를 포함하는, 컴퓨터 판독 가능한 저장 매체.
KR1020247004349A 2021-08-09 2022-08-04 타겟 객체의 위치를 지정하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 저장 매체 KR20240032954A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202110905411.5 2021-08-09
CN202110905411.5A CN113361527B (zh) 2021-08-09 2021-08-09 多目标对象的识别定位方法及装置、电子设备、存储介质
PCT/CN2022/110284 WO2023016340A1 (en) 2021-08-09 2022-08-04 Methods, systems, and computer-readable storage mediums for positioning target object

Publications (1)

Publication Number Publication Date
KR20240032954A true KR20240032954A (ko) 2024-03-12

Family

ID=77540558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247004349A KR20240032954A (ko) 2021-08-09 2022-08-04 타겟 객체의 위치를 지정하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 저장 매체

Country Status (5)

Country Link
US (1) US20240153138A1 (ko)
EP (1) EP4348584A1 (ko)
KR (1) KR20240032954A (ko)
CN (1) CN113361527B (ko)
WO (1) WO2023016340A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113361527B (zh) * 2021-08-09 2021-11-19 浙江华睿科技股份有限公司 多目标对象的识别定位方法及装置、电子设备、存储介质
CN114022558B (zh) * 2022-01-05 2022-08-26 深圳思谋信息科技有限公司 图像定位方法、装置、计算机设备和存储介质
CN114898320B (zh) * 2022-05-30 2023-07-28 西南交通大学 一种基于YOLO v5的列车定位方法及系统
CN116523888B (zh) * 2023-05-08 2023-11-03 北京天鼎殊同科技有限公司 路面裂缝的检测方法、装置、设备及介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101559600A (zh) * 2009-05-07 2009-10-21 上海交通大学 服务机器人抓取引导系统及其方法
CN103895042A (zh) * 2014-02-28 2014-07-02 华南理工大学 一种基于视觉引导的工业机器人工件定位抓取方法及系统
US10525599B1 (en) * 2017-07-12 2020-01-07 Amazon Technologies, Inc. Automatic detection of screen area and camera assisted movement of robotic arm
CN110660104A (zh) * 2019-09-29 2020-01-07 珠海格力电器股份有限公司 工业机器人视觉识别定位抓取方法、计算机装置以及计算机可读存储介质
CN111421539A (zh) * 2020-04-01 2020-07-17 电子科技大学 一种基于计算机视觉的工业零件智能识别与分拣系统
CN111738261B (zh) * 2020-06-30 2023-08-04 张辉 基于位姿估计和校正的单图像机器人无序目标抓取方法
CN112157657A (zh) * 2020-09-23 2021-01-01 创新奇智(上海)科技有限公司 机械臂定位方法、装置、电子设备及存储介质
CN113361527B (zh) * 2021-08-09 2021-11-19 浙江华睿科技股份有限公司 多目标对象的识别定位方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN113361527A (zh) 2021-09-07
WO2023016340A1 (en) 2023-02-16
CN113361527B (zh) 2021-11-19
US20240153138A1 (en) 2024-05-09
EP4348584A1 (en) 2024-04-10

Similar Documents

Publication Publication Date Title
CN111328396B (zh) 用于图像中的对象的姿态估计和模型检索
US11373332B2 (en) Point-based object localization from images
KR20240032954A (ko) 타겟 객체의 위치를 지정하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 저장 매체
CN109829893B (zh) 一种基于注意力机制的缺陷目标检测方法
US11361505B2 (en) Model retrieval for objects in images using field descriptors
US11514642B2 (en) Method and apparatus for generating two-dimensional image data describing a three-dimensional image
WO2020119661A1 (zh) 一种目标检测方法、装置以及行人检测方法、系统
CN105765624B (zh) 内容感知图像旋转
CN111401266B (zh) 绘本角点定位的方法、设备、计算机设备和可读存储介质
US20170256068A1 (en) Leveraging multi cues for fine-grained object classification
US20180286120A1 (en) Application of convolutional neural networks to object meshes
CN107545263B (zh) 一种物体检测方法及装置
CN111665842A (zh) 一种基于语义信息融合的室内slam建图方法及系统
CN111091123A (zh) 文本区域检测方法及设备
US11562489B2 (en) Pixel-wise hand segmentation of multi-modal hand activity video dataset
CN113420648B (zh) 一种具有旋转适应性的目标检测方法及系统
CN110598647A (zh) 一种基于图像识别的头部姿态识别方法
US20230377160A1 (en) Method and electronic device for achieving accurate point cloud segmentation
CN114972492A (zh) 一种基于鸟瞰图的位姿确定方法、设备和计算机存储介质
US11977979B2 (en) Adaptive bounding for three-dimensional morphable models
CN114549825A (zh) 目标检测方法、装置、电子设备与存储介质
US20230091374A1 (en) Systems and Methods for Improved Computer Vision in On-Device Applications
CN115170854A (zh) 基于端到端的PCANetV2的图像分类方法和系统
CN112001247A (zh) 多目标检测方法、设备及存储装置
Hensel et al. LSTM Architectures for Facade Structure Completion.

Legal Events

Date Code Title Description
A201 Request for examination