KR20220168573A - 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법 및 시스템 - Google Patents

머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법 및 시스템 Download PDF

Info

Publication number
KR20220168573A
KR20220168573A KR1020220072954A KR20220072954A KR20220168573A KR 20220168573 A KR20220168573 A KR 20220168573A KR 1020220072954 A KR1020220072954 A KR 1020220072954A KR 20220072954 A KR20220072954 A KR 20220072954A KR 20220168573 A KR20220168573 A KR 20220168573A
Authority
KR
South Korea
Prior art keywords
training
user
data
model
interest
Prior art date
Application number
KR1020220072954A
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 KR20220168573A publication Critical patent/KR20220168573A/ko

Links

Images

Classifications

    • 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
    • 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/72Data preparation, e.g. statistical preprocessing of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • 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/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • 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]

Landscapes

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

Abstract

공간적으로 분해된 센서 데이터가 적어도 하나의 유저 정의 관심 오브젝트와 관련하여 프로세싱 및 평가되는, 적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법으로서, 다음의 것을 포함한다:
- 유저 입력 데이터에 기초하여 유저 정의 관심 오브젝트의 적어도 하나, 특히 2D 또는 3D의 모델(10)을 수신하는 것;
- 유저 입력 데이터에 기초하여 적어도 하나의 렌더 파라미터(60), 바람직하게는 복수의 렌더 파라미터(56, 58, 60, 62, 64, 66)를 결정하는 것;
- 적어도 하나의 렌더 파라미터(60)에 기초하여 관심 오브젝트의 적어도 하나의 모델(10)을 렌더링하는 것에 의해 트레이닝 이미지(I2, I3)의 세트를 생성하는 것;
- 적어도 하나의 관심 오브젝트에 대한 트레이닝 이미지(I1)의 세트에 대한 주석 데이터를 생성하는 것;
- 유저에게 출력되기 위한 및/또는 컴퓨터 비전 모델을 트레이닝시키기 위한 주석 데이터 및 트레이닝 이미지(I2, I3)의 세트를 포함하는 트레이닝 데이터 세트를 제공하는 것.

Description

머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법 및 시스템{COMPUTER-IMPLEMENTED METHOD AND SYSTEM FOR GENERATING A SYNTHETIC TRAINING DATA SET FOR TRAINING A MACHINE LEARNING COMPUTER VISION MODEL}
본 발명은 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법 및 시스템에 관한 것이다.
인공 지능 및 머신 러닝에 의해 다수의 일상의 문제가 매우 빠르게 해결될 수 있다. 그것은 많은 다른 것들 중에서도, 오브젝트의 검출, 오브젝트의 분류, 또는 로봇 트레이닝이다. 데이터를 수동으로 라벨링하는 프로세스를 수반하는 데이터 생성, 데이터 수집 및 데이터 준비의 프로세스만 해도 막대한 양의 시간 및 비용이 소비된다. 카메라를 포함하는 하드웨어의 이용 가능성과 같은 인자 또는 실내에 있는 경우의 조명 또는 실외에 있는 경우의 날씨와 같은 환경적 요인도 또한 중요한 역할을 한다. 이것은 수 일, 수 주 또는 때로는 심지어 여러 달이 걸리는데, 그것은, 그 다음, 컴퓨터 비전 엔지니어에게 전달된다. 컴퓨터 비전 엔지니어는 신경망을 생성하고 트레이닝시키기 위한 방대한 양의 데이터를 생성하고 수집하기 위해 노력하면서 끊임없이 시간을 들이고 있다.
일단 이 데이터가 수집되면, 컴퓨터 비전 엔지니어는 이들 이미지를 트레이닝시키기 위한 머신 러닝 알고리즘을 작성해야만 한다. 이것은 이들 알고리즘을 작성하고 신경망을 트레이닝시키기 위한 컴퓨터 비전에서의 경험 및 지식을 필요로 한다. 이 프로세스에서의 가장 큰 문제는, 시간과 노력 소모 및 머신 러닝 알고리즘을 작성하고 신경망을 트레이닝시키는 높은 요건 및 지식이다.
목표는, 심지어 컴퓨터 비전의 지식을 가지지 않는 개인에 대해서도 신경망을 생성하고 트레이닝시키는 프로세스를 매우 쉽게 만들면서, 이 시간 소모적이고 지루한 프로세스를 최소화하는 것이다. 따라서, 그 도메인에서의 전문 지식이 없어도, 인공 지능에서의 작업을 액세스 가능하고 사용하기 쉽게 만들면서, 더 적은 시간 및 더 적은 수동의 노력을 소모하는 대안이 필요로 되었다.
시장에 나와 있는 현재의 솔루션은 이미지 데이터의 수동 라벨링을 제공한다. 이들 솔루션은 Google(구글)(<https://cloud.google.com/ai-platform/data-labeling/pricing#labeling_costs>로부터 검색됨), Scale.AI(<https://scale.com/>으로부터 검색됨) 또는 Understand.AI(<https://understand.ai/>로부터 검색됨)와 같은 회사로부터 유래한다. 또한, 몇몇 기업은 3D 데이터에 기초하여 합성 데이터를 생성하고 있다. 예를 들면, AI.Reverie(<https://aireverie.com/>으로부터 검색됨) 또는 CVEDIA(<https://www.cvedia.com/>으로부터 검색됨)는 3D 가상 환경에 기초하여 이미지를 생성한다.
이들 솔루션은 시간의 짧은 기간 내에 라벨링된 이미지를 생성할 수 있지만, 그러나 모델링된 3D 환경을 필요로 하는데, 이것도 역시 시간 소모적일 수 있다. 또한, Unity(유니티) 3D는, CAD 파일을 가져와 2D 이미지 - 이들도 역시 라벨링됨 - 를 렌더링하는 클라우드 기반의 솔루션을 생성할 것을 발표하였다(<https://unity.com/de/products/unity-simulation>으로부터 검색되는 것 참조). 다른 한편으로, The Nvidia Dataset Synthesizer(Nvidia 데이터세트 합성기)는 Unreal Engine(언리얼 엔진)용 애드온이다(<https://github.com/NVIDIA/Dataset_Synthesizer>로부터 검색됨). 그것은 CAD 파일의 렌더링을 위해 Unreal Studio(언리얼 스튜디오)를 사용하고 RGB 이미지 외에도 그것은 깊이 맵, 세분화 마스크(segmentation mask) 및 머신 러닝(machine learning; ML) 애플리케이션을 위한 다른 유용한 정보를 생성할 수 있다.
신경망을 트레이닝시키기 위한 공개적으로서 공지되어 있는 솔루션은, 신경망 및 트레이닝 데이터를 작성하는 프로세스를 단순화하는 Tensor flow(텐서 플로우)와 같은 Google로부터의 라이브러리를 사용하는 것을 또한 포함한다. 그러나, 이것은 python(파이썬)과 같은 프로그래밍 언어에 대한 지식을 여전히 필요로 하며 지식 없이는 종종 사용하기 어렵다. 트레이닝을 위해 사용될 공통 데이터세트의 경우, Kaggle와 같은 소스로부터의 차량의 데이터, 지리적 데이터와 같은 일반적으로 필요로 되는 데이터의 이미지 및 주석을 갖는 집약적 데이터세트(intensive dataset)를 제공하는 소스가 꽤 존재한다.
공개적으로서 공지되어 있는 솔루션은, 사진의 수동 생성 및 (부품 검출을 위한) 신경망의 트레이닝을 위해 사용될 수작업의 시간 집약적 라벨링이다. 신경망을 트레이닝시키기 위한 알고리즘을 작성하는 것도 또한 시간과 노력 집약적 프로세스이다. 데이터를 효과적으로 사용하기 위해서는, 컴퓨터 비전 및 신경망에서의 지식 및 경험이 또한 필요로 된다. 500 개 이미지의 사진을 수동으로 촬상하는 데에는 수 시간이 넘게 걸리고 그들을 수동으로 라벨링하는 데에는 수 일이 걸린다. 라벨링 프로세스를 돕는 몇몇 도구가 있지만, 그러나 이것은 필요로 되는 시간을 많이 감소시지 않는 이미지에서 오브젝트를 식별하기 위한 수동 작업을 여전히 필요로 한다. 신경망의 생성 및/또는 신경망을 트레이닝시키기 위한 알고리즘을 작성하는 것을 포함하는 트레이닝 프로세스는 다른 몇 주의 시간의 작업일 것인데, 이것은 전체 프로세스에서 소비될 필요가 있는 엄청난 양의 시간과 노력이다.
심지어 실제 오브젝트의 이미지를 수동으로 생성 및 클릭하고 그들을 수동으로 라벨링하는 시간 소모적인 프로세스의 단점이 NVIDIA 데이터 합성기와 같은 합성 데이터 생성기에 의해 다소 감소되도록 시도되었지만, 이것은 사용을 위해 컴퓨터 비전에서의 광범위한 양의 기술적 지식 및 경험을 여전히 필요로 한다. Unity 및 Unreal(언리얼)과 같은 플랫폼 상에서 구축되는 다른 애플리케이션은, 추가적인 설치를 하는 것 및 플랫폼을 사용하고 Unity/Unreal과 같은 도구에 익숙해지는 방법을 읽을 것을 유저에게 또한 요구한다. 이들 방법은 사용을 위한 사전 지식이 없는 유저에게는 간단하지 않고 복잡하다. 결국에는, 이 프로세스를 행하는 데 필요한 거의 동일한 양의 시간과 노력 및 수년간의 트레이닝 및 지식이 요구된다.
사전 지식 또는 기술이 필요로 되지 않는 가장 쉬운 프로세스는 사진을 수동으로 클릭하는 것에 의해 데이터를 생성하는 것일 것이다. 프로세스를 가속시키는 것을 돕기 위해, 사람들은 종종 Matlab(매트랩), Python(파이썬), 등등 중 어느 하나에서 라벨링의 프로세스를 위한 그들 고유의 도구를 작성하려는 경향이 있다. 사람들은 또한, 데이터를 생성하기 위한 몇몇 라이브러리를 제공하는 Unity 또는 Unreal과 같은 새로운 플랫폼을 설치하여 학습하려고 시도한다. 그러나, 유저가 매우 기본적인 유저 인터페이스를 사용하여 소망되는 이미지 및 라벨링된 데이터를 렌더링할 수 있는 사용하기 쉬운 유명한 솔루션은 없다.
DE 10 2008 057 979 B4로부터, 분석될 이미지에서 미지의 테스트 오브젝트의 위치 파악 및 분류를 위한 오브젝트 검출 시스템을 위한 학습 유닛이 공지되어 있다. 학습 유닛은, 가상 백그라운드 조건의 전방에서 비교 오브젝트의 가상의 3D 모델을 통해 가상의 3D 장면을 생성하는 것에 의해 비교 오브젝트의 트레이닝 이미지를 생성하기 위한 이미지 생성 유닛을 포함한다. 생성된 트레이닝 이미지의 각각의 픽셀은 가상의 3D 장면에서 대응하는 3D 포인트를 할당받는다. 이 할당은 비교 오브젝트 피쳐를 선택하기 위해 사용된다.
US 2020/0167161 A1부터, 3D 모델로부터 렌더링되는 시뮬레이팅된 이미지를 향상시키는 것에 의해 사실적인(realistic) 깊이 이미지를 생성하기 위한 시스템이 공지되어 있다. 그것을 위해, 목표 3D CAD 모델에 대한 다양한 포즈를 렌더링하는 것에 의해 무노이즈(noiseless) 2.5D 이미지를 렌더링하도록 구성되는 렌더링 엔진이 제공된다. 더구나, 무노이즈 2.5D 이미지에 사실적인 노이즈를 적용하도록 구성되는 노이즈 전달 엔진이다. 또한, 노이즈 전달 엔진은, 무노이즈 2.5D 이미지의 제1 생성적 적대 신경망에 의한, 목표로 된 센서에 의해 생성되는 실제 2.5D 스캔에 대한 매핑에 기초하여 노이즈 전달을 학습하도록 구성된다. 더구나, 의사 현실적(pseudorealistic) 장면 종속 백그라운드를 무노이즈 2.5D 이미지에 추가하도록 구성되는 그리고 입력 데이터로서의 제1 생성적 적대 신경망의 출력 데이터 및 목표 데이터로서의 대응하는 실제 2.5D 스캔의 프로세싱에 기초하여 백그라운드 생성을 학습하도록 구성되는 백그라운드 전달 엔진이 제공된다.
US 10,489,683 B1로부터, 모바일 디바이스 카메라를 사용하여 촬상되는 이미지로부터 3D 측정 추출을 위한 딥 러닝 네트워크를 트레이닝시키기 위한 큰 데이터 세트를 생성하기 위한 시스템 및 방법이 공지되어 있다. 그것을 위해, 예를 들면, 피부 증강, 얼굴 증강, 모발 증강, 및/또는 다수의 가상 백그라운드를 더한 단일의 3D 기반 메쉬 모델(3D base-mesh model)(예를 들면, 하나의 신체 스캔을 통해 생성되는 인체 모델)로부터 시작하여, 다수의 데이터세트가 생성된다. 그 다음, 3D 모델로부터의 공간적 피쳐가, 1 차원 신체 측정치로서, 추출된다. 공간적 피쳐 및 복수의 증강된 2D 이미지를 집성하는 것에 의해, 딥 러닝 네트워크가 공간적 피쳐 추출을 위해 트레이닝된다.
따라서, 심지어 더 적은 전문성 또는 사전 지식을 갖는 유저의 경우에도, 트레이닝 데이터를 생성하고 머신 러닝 컴퓨터 비전 모델을 트레이닝시키는 프로세스를 가속시키는 것을 허용할 수도 있는, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한, 뿐만 아니라, 트레이닝된 머신 러닝 컴퓨터 비전 모델을 제공하기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 유저 친화적인 방법 및 시스템을 제공하는 것이 본 발명의 목적이다.
상기에서 언급된 문제는 독립 청구항에 따른 주제에 의해 제거된다. 유리한 실시형태 및 추가적인 개발은 종속 청구항의 주제를 형성한다.
공간적으로 분해된 센서 데이터(spatially resolved sensor data)가 적어도 하나의 유저 정의 관심 오브젝트(user defined object of interest)와 관련하여 프로세싱 및 평가되는, 적어도 하나의 유저 정의(특히 컴퓨터 구현) 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를, 특히 자동적으로, 생성하기 위한 컴퓨터 구현 방법은, 유저 입력 데이터(이것은 바람직하게는 적어도 한 명의 유저에 의해 입력되고 및/또는 이것은 적어도 한 명의 유저에 의해 입력되는 유저 입력 데이터에 기초하여 시스템에 의해 수신됨)에 기초하여 유저 정의 관심 오브젝트의 적어도 하나, 특히 2D 또는 3D의, 모델을 (특히, 하기의 섹션에서 특히 설명되는 프로세서 기반의 시스템에 의해) 수신하는 것을 포함한다.
다시 말하면, 적어도 하나의 유저 정의 컴퓨터 비전 태스크에서, 공간적으로 분해된 센서 데이터는 적어도 하나의 유저 정의 관심 오브젝트와 관련하여 프로세싱되고 평가된다. 바람직하게는, 공간적으로 분해된 센서 데이터는 컴퓨터 비전 태스크에서 프로세싱 및 평가되도록 제공된다. 바람직하게는, 공간적으로 분해된 센서 데이터는, 특히, 예를 들면, 카메라에 의한 환경 인식을 위해, 적어도 하나의 센서 디바이스에 의해 생성된다. 바람직하게는, 공간적으로 분해된 센서 데이터는 (특히 이차원) 이미지(이것은 바람직하게는 카메라에 의해 캡쳐됨)이거나 또는 그 이미지로부터 유도된다. 바람직하게는, 머신 러닝 컴퓨터 비전 모델은 트레이닝 가능한 파라미터의 세트를 포함한다.
바람직하게는, 적어도 한 명의 유저는 적어도 하나의 유저 정의 컴퓨터 비전 태스크를 정의하거나 및/또는 수행하려고 의도하는데, 적어도 하나의 유저 정의 컴퓨터 비전 태스크는, 오브젝트 검출, 오브젝트 분류, 세분화, 이상 검출, (예를 들면, 생산 시설에서의) 품질 제어, 포즈 추정, 목표 인식 태스크, 제스쳐의 검출 및/또는 추적, 및/또는 로봇 공학 또는 등등에서의 컴퓨터 비전 태스크와 같은 임의의 컴퓨터 비전 태스크일 수도 있다.
방법은 (유저에 의해 입력되는) 유저 입력 데이터에 기초하여 적어도 하나의 렌더 파라미터, 바람직하게는 복수의 렌더 파라미터를 (특히 프로세서 기반의 시스템에 의해) 결정하는 것을 더 포함한다.
본 발명에 따른 방법은, 적어도 하나의 렌더 파라미터에 기초하여 관심 오브젝트의 적어도 하나의 모델을 (특히 자동) 렌더링하는 것에 의해, (특히 프로세서 기반의 시스템에 의해 및/또는 특히 컴퓨터 구현 방법 단계에서) 트레이닝 이미지의 세트를, 특히 자동적으로, 생성하는 것을 더 포함한다. 바람직하게는, 관심 오브젝트의 적어도 하나의 모델은 관심 오브젝트의 렌더링된 이미지를 생성하도록 렌더링된다. 바람직하게는, 트레이닝 이미지는 렌더링된 이미지 및 (렌더링된) 백그라운드 이미지를 포함한다.
본 발명에 따른 방법은, (특히 프로세서 기반의 시스템에 의해 및/또는 특히 컴퓨터 구현 방법 단계에서) 적어도 하나의 관심 오브젝트에 대한 트레이닝 이미지의 세트에 대한 주석 데이터를, 특히 자동적으로, 생성하는 것을 더 포함한다. 특히, (장면에서 존재하는 각각의 관심 오브젝트에 대한) 각각의 트레이닝 이미지에 대해 주석 데이터가 생성된다. 특히, 장면에서 및/또는 (트레이닝 이미지)에서 존재하는 각각의 관심 오브젝트에 대해, 주석 데이터가 생성된다(그리고 제공된다). 따라서, 특히 주석 데이터는 장면에서 존재하는 각각의 관심 오브젝트에 대해 존재한다.
본 발명에 따른 방법은, 유저에게 출력되기 위해 그리고/또는 컴퓨터 비전 모델을 트레이닝시키기 위해 트레이닝 이미지의 세트 및 주석 데이터를 포함하는 트레이닝 데이터 세트를 (특히 프로세서 기반의 시스템에 의해 및/또는 특히 컴퓨터 구현 방법 단계에서) (특히 자동적으로) 제공하는 것을 더 포함한다. 바람직하게는, 트레이닝 데이터 세트는 컴퓨터 비전 모델의 트레이닝 프로세스에 대한 입력으로서(트레이닝 데이터 세트로서) 역할을 한다.
바람직하게는, (생성된) 트레이닝 데이터 세트는 유저에게 출력될 유저 인터페이스로 및/또는 (적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위해) 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 (프로세서 기반의) 머신 러닝 유닛으로 (특히 프로세서 기반의 시스템에 의해) 송신된다. 바람직하게는, 유저 및/또는 머신 러닝 유닛은 특히 라벨, 경계 박스 및/또는 카메라 파라미터를 포함하는 (트레이닝) 이미지 및/또는 (주석) 데이터(파일)를 획득하고 및/또는 수신한다.
특히, 그 방법은, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한, 특히 (인공) 신경망을 트레이닝시키기 위한 실사적인(photorealistic) 합성 데이터의 생성에 관한 것이다.
데이터 프로세스가 시간 및 노력 집약적인 - 이 경우, 다양한 각도로부터 오브젝트의 사진을 촬상하는 것 및 그들을 수동으로 라벨링하는 것에 의해 데이터를 수동으로 수집함에 있어서 막대한 양의 시간이 소비됨 - 종래 기술의 종래의 방식과 비교하여, 제안된 방법은 상당한 이점을 제공한다. 이 종래 기술 프로세스는, 일반적으로, 성공적으로 완료되는 데 수 주가 걸리고, 그 다음, 네트워크를 테스트하는 프로세스를 위해 네트워크를 트레이닝시키기 위한 데이터를 테스트하기 위해 수 일이 걸린다. 이 이후, 데이터가 다양한 용례에 대해 사용되기에 충분한지를 체크하기 위해 모델은 여전히 테스트되어야 한다. 그렇지 않다면, 데이터는 다시 수집될 필요가 있고 전체 사이클은 반복되어야 하는데, 이 프로세스는 최대의 정도까지 최적화될 필요가 있다. 데이터 과학자의 경우에도, 보호되고 기밀이며, 따라서, 데이터 수집의 프로세스를 더욱 어렵게 만드는 데이터를 수집하는 것은 또한 어렵다.
대조적으로, 합성 트레이닝 데이터를 생성하는 제안된 방법은, 유리하게는, 종래 기술 방법의 최적화를 제공한다. 제안된 합성 데이터 생성기 도구는, 사람의 노력과 시간을 거의 필요로 하지 않는 자동화된 데이터 발생 및/또는 생성 프로세스를 가능하게 한다. 이것은, 유리하게는, 데이터 생성, 트레이닝 및 테스팅의 프로세스에서 90 퍼센트보다 더 많은 시간을 절약한다.
바람직하게는, 유저 정의 관심 오브젝트는 (바람직하게는, 관심 오브젝트의, 특히 2D 또는 3D의, 모델이 적어도 한 명의 유저에 의해 사전 설정되는 것 및/또는 입력되는 것을 통해) 적어도 한 명의 유저에 의해 정의 및/또는 결정된다.
유저 입력 데이터에 기초하여 유저 정의 관심 오브젝트의 적어도 하나의, 특히 2D 또는 3D의, 모델을 수신하는 것은, 특히, 유선 및/또는 무선 통신 연결 또는 네트워크를 통해 모델을 수신하는 것으로 이해되어야 한다. 수신 이벤트는, 유저 입력 데이터가 가져오기되는(imported) 및/또는 생성되는 및/또는 (유저에 의해) 입력되는 장소로부터 로컬하게 멀리 떨어져 있을 수도 있다.
바람직하게는, 유저 입력 데이터는 관심 오브젝트의 적어도 하나의 모델에 대한 특성이다. 특히, 모델(및 특히 관심 오브젝트의 삼차원 구조 및/또는 형상)은 (모델에 대한 추가적인 저장된 데이터 및/또는 정보 없이) (단지) 유저 입력 데이터로부터 유도될 수도 있다. 모델은, 예를 들면, CAD(Computer Aided Design; 컴퓨터 지원 설계) 포맷 또는 등등으로(타입 .glb, .gltf, .obj, .stp, .fbx 및/또는 가상 제품 개발을 위한 다른 애플리케이션의 다른 데이터 포맷의 데이터 파일로서) 유저에 의해 입력될 수도 있고 및/또는 (시스템으로) 송신될 수도 있다. 바람직하게는, 모델에 대한 입력 포맷은 유연한다.
트레이닝을 위한, 특히 트레이닝 데이터세트를 생성하기 위한 CAD 모델로서 모델을 사용하는 것은, 수동 사진 촬영에서는 때때로 획득하기 어려운 머신 러닝 컴퓨터 비전 모델에 대한 또는 신경망에 대한 데이터세트를 달성함에 있어서 또한 도움이 된다.
이 합성 데이터 생성기 도구는, 유리하게는, 가져오기될 3D 모델의 타입의 관점에서 고도로 모듈식이고, 바람직하게는, 아주 다양한 3D 및 2D 데이터 타입을 지원할 수 있으며, 따라서, 유저를 제한하지 않는다.
그러나, 방법은 (특히 시스템에 의해) 적어도 하나의 (2D 및/또는 3D, 특히 3D) 모델을, 바람직하게는, 예를 들면, 적어도 하나의 모델이 저장되는 메모리 디바이스(이것은 바람직하게는 시스템의 일부임)에 액세스하는 것에 의해 복수의 모델을 제공하는 것을 포함한다는 것이 고려 가능하다. 이 경우, 바람직하게는, 유저는 (시스템에 의해) 제공되는 적어도 하나의 모델을, 바람직하게는 제공되는 복수의 모델(예를 들면, (시스템에 의해) 평가될 수도 있는 스토리지 디바이스 상에 저장되는 및/또는 제공되는 적어도 세 개, 바람직하게는 적어도 네 개, 바람직하게는 적어도 다섯 개, 바람직하게는 적어도 열 개, 바람직하게는 적어도 20 개의 모델)로부터 선택할 수 있다. 이 경우, 유저 입력 데이터에 기초하여 유저 정의 관심 오브젝트의 적어도 하나의 모델을 수신하는 것은, 제공되는 모델 중 적어도 하나를 유저가 선택하는 것에 의해 개시된다.
유저에 의해 선택 가능한 모델을 제공하는 것은, 유저에 의해 빈번하게 요청되는 일반적인 관심 오브젝트 예를 들면 사람 및/또는 건물 및/또는 (예를 들면, 제스쳐를 검출하기 위한) 손 또는 등등이 유저에 의해 구성될 필요가 없지만 그러나 유저가 유저 정의 트레이닝 데이터 세트를 생성하기 위한 매우 시간 효율적인 방식을 초래하면서 선택될 수도 있다는 이점을 제공한다.
온라인에서 이용 가능한 합성 데이터 생성기에 대한 솔루션 중 일부는, 자동차 또는 다른 차량의 검출을 위해 도로 또는 공항과 같은 표준 공통 환경을 제공하는 것과 같이 매우 일반적이다.
바람직하게는, 유저 입력 데이터에 기초한 (특히 쌍 단위의) 상이한 유저 정의 관심 오브젝트의 복수의, 특히 2D 또는 3D의, 모델이 (시스템에 의해) 결정되고 및/또는 수신된다. 이것은, 머신 러닝 컴퓨터 비전 모델이 하나보다 더 많은 관심 오브젝트에 대해 트레이닝될 수도 있고, 따라서, 유리하게는, 더 많은 관심 오브젝트를 갖는 더 복잡한 환경이 시뮬레이팅될 수도 있다는 이점을 제공한다. 바람직하게는, 관심 오브젝트는 물리적 오브젝트이다.
바람직한 실시형태에서, 방법은 유저 인터페이스와 통신하는 것을 포함하는데, 여기서 유저 인터페이스는, 적어도 하나의 모델, 적어도 하나의 렌더 파라미터, 바람직하게는 복수의 렌더 파라미터, 생성될 트레이닝 이미지, 생성된 트레이닝 이미지 및/또는 출력될 트레이닝 이미지의 개수, 및/또는 생성될 주석 데이터(예를 들면, 트레이닝 이미지를 라벨링하기 위해 주어진 관심 오브젝트와 관련하여 어떤 라벨 이름이 사용되는지)와 관련하여 유저 입력 데이터가 유저에 의해 입력되는 유저 입력 디바이스로서 구성된다. 바람직하게는, 유저 인터페이스는 그래픽 인터페이스이다. 바람직하게는, 유저 입력 데이터(유저 입력 디바이스를 통해 유저에 의해 입력됨)는 (시스템의 또는 시스템에 의해 액세스될 수도 있는) 메모리 디바이스에 저장된다. 따라서, 바람직하게는, 라벨 이름 및/또는 이미지 카운트 및 등등은 (유저에 의해 및/또는 인터페이스를 통한 유저 입력 데이터에 기초하여) 설정될 수도 있다.
데이터 수집, 유리하게는 생성 및 트레이닝의 프로세스를 자동화하기 위해 사용하기 쉬운 유저 인터페이스(user interface; UI)를 제공하는 것은, 필요로 되는 임의의 경험, 종속물의 추가적인 설치, 지식 또는 학위 없이 행해질 수도 있다. 유저 인터페이스는 매우 직관적이고 유저 친화적이다. UI가 사용하기 쉬운 것으로 인해, 필요로 되는 특별한 지식 또는 셋업 없이, 누구나 인공 지능 및/또는 머신 러닝 컴퓨터 비전 모델을 사용하여 작업하는 것이 매우 쉽다. 이 UI를 사용하여, 유저는 백엔드에서 무슨 일이 일어나는지에 대해 걱정하지 않고, 데이터 생성, 라벨링 및 신경망 트레이닝의 고급 기능성(functionality)을 사용할 수 있다.
바람직하게는, 유저 인터페이스는 정보 및/또는 생성된 트레이닝 데이터 세트를 유저에게 출력하기 위한 특히 디스플레이하기 위한 출력 디바이스로서 구성된다. 바람직하게는, 유저 인터페이스는, 옵션 사항으로, 트레이닝 이미지를 (바람직하게는 실시간으로) 미리 보도록, 특히 적어도 하나의 렌더 파라미터에 따라 특히 (조명, 회전, 등등과 같은) 복수의 (설정된 및/또는 유저 정의) 렌더 파라미터에 따라, 특히 유저가 유저 인터페이스 상에서 현재 설정하고 있는 복수의 렌더 파라미터에 따라 실시간으로 렌더링될 트레이닝 이미지를 미리 보도록 구성된다.
바람직하게는, 방법 및/또는 시스템은, 백엔드 컴포넌트 및/또는 프론트엔드 컴포넌트를 포함하는 분산형 컴퓨팅 시스템에서 구현된다. 백엔드 컴포넌트는, 예를 들면, 특히 컴퓨터 구현 방법이 실행될 수도 있는 서버, 특히 외부 서버일 수 있다. 외부 서버는, 예를 들면, (예를 들면, 차량) 제조사 또는 서비스 제공자의 백엔드이다. 백엔드 또는 외부 서버의 기능은 (외부) 서버 팜(server farm) 상에서 수행될 수도 있다. (외부) 서버는 분산형 시스템일 수도 있다. 외부 서버 및/또는 백엔드는 클라우드 기반일 수도 있다.
프론트엔드 컴포넌트는, 예를 들면, 특히 그래픽 유저 인터페이스, 유저가 (백엔드 컴포넌트와) 상호 작용할 수 있게 하는 웹 브라우저, 및/또는 송신 디바이스에 대한 다른 그래픽 유저 인터페이스를 구비하는, 태블릿 또는 스마트폰과 같은 유저 단말 및/또는 클라이언트 컴퓨터일 수 있다. 바람직하게는, 백엔드 컴포넌트 및/또는 외부 서버는, 예를 들면, 유럽 연합(European Union)에서와 같이 특정한(바람직하게는 옵션 사항으로 유저 정의) 영역에서 (특히 안전하게) 호스팅될 수 있다.
유리하게는 유저는 복잡한 데이터세트를 생성하고 다양한 종류의 오브젝트를, 그것이 백엔드에서 UI와 어떻게 작동하는지에 대해 걱정할 필요 없이, 트레이닝시킬 수 있다.
바람직하게는, 방법은 단대단(end to end) (트레이닝) 데이터 생성을 허용한다.
또 다른 바람직한 실시형태에서, 유저 입력 데이터에 기초하여 적어도 하나의 렌더 파라미터, 바람직하게는 복수의 렌더 파라미터를 결정하기 위해, 적어도 하나의 렌더 파라미터, 바람직하게는 복수의 렌더 파라미터는 유저 입력 데이터를 고려하여 랜덤하게 결정된다.
합성 데이터 생성 및 트레이닝 유저 인터페이스를 사용하는 것은, 제한된 육체적 및 정신적 노력으로 트레이닝 데이터에서 많은 양의 랜덤성 및 다양성을 제공하는 프로세스를 더 쉽고 더 빠르게 만든다. 이 랜덤화는, 카메라에 의해 수동으로 캡쳐되지 않았던 방식으로 부품이 배치되는 경우에도 또한 도움이 된다. 네트워크를 트레이닝시키기 위해 합성 데이터를 사용하는 경우, 랜덤화는, 인간 관찰에 의해 캡쳐될 수 없었을 수도 있는 상황 및 환경을 네트워크가 학습하는 것을 가능하게 만든다. 이것은, 필요한 데이터 주석을 갖는 많은 양의 트레이닝 데이터가 애플리케이션에서 매우 빠르게 생성될 수 있고 트레이닝될 수 있기 때문이다. 네트워크(또는 머신 러닝 컴퓨터 비전 모델)를 트레이닝시키기 위한 제안된 솔루션 및 자동화된 파이프라인(또는 시스템)을 통해, 한 번의 클릭으로 데이터 렌더링 및 트레이닝 프로세스를 달성하기 위한 목표는 실현되고, 따라서, 누구나 다양한 애플리케이션에 대해 인공 지능을 작업하고 사용할 수 있게 된다.
랜덤 방식으로 결정되는 동안 렌더 파라미터를 유저 고유의 설정으로 조정하는 것의 조합은, 유리하게는, 수행되어야 하는 컴퓨터 비전 태스크 및/또는 트레이닝 데이터의 유저의 의도된 용도에 맞게 조정되는 트레이닝 데이터의 상대적으로 빠르고 고도로 랜덤화된 생성으로 귀결된다.
바람직하게는, 유저는 적어도 하나의 렌더 파라미터에 대해, 적어도 두 개의 렌더 파라미터에 대해, 바람직하게는 복수의 렌더 파라미터에 대해 그리고 특히 바람직하게는 모든 렌더 파라미터에 대해 적어도 하나의 바람직하게는 적어도 두 개의 경계 값을 설정할 수도 있다(그리고 바람직하게는, 그 경계 값의 유저 설정과 관련하여 유저 입력 데이터를 수신하는 것이 (시스템에 의해) 제공된다). 바람직하게는, 방법은 적어도 하나의 (유저 설정) 경계 값을, 각각, 고려하여, 적어도 하나의 파라미터에 대한 랜덤 값을 결정하는 것을 포함한다. 바람직하게는, 방법은 유저에 의해 설정되는 및/또는 결정되는 적어도 하나의 경계 값 및/또는 유저에 의해 설정되는 및/또는 결정되는 적어도 두 개의 경계 값에 의해 정의되는 범위 내의 랜덤 값을 결정하는 것을 포함한다.
바람직하게는, 방법은 (관심 오브젝트의) 회전 및/또는 (관심 오브젝트의) 포지션 및/또는 백그라운드 및/또는 (트레이닝 이미지 및/또는 주석 데이터를 생성하기 위한) 조명과 관련하여 적어도 하나의 렌더 파라미터, 바람직하게는 복수의 렌더 파라미터를 변경시키는 것을 포함한다(및/또는 시스템은 그 변경시키는 것을 제공하도록 구성된다). 바람직하게는, (컴퓨터 구현 방법 단계에서) 적어도 하나의 렌더 파라미터, 바람직하게는 복수의 렌더 파라미터는 유저 입력 데이터에 기초하여 특히 경계 값(들)(이것은 특히 유저에 의해 설정됨)에 기초하여 변경된다. 이것은, 유리하게는, 회전, 포지션, 백그라운드, 조명이 (컴퓨터 구현 방법 단계에서 및/또는 특히 프로세서 기반의 시스템에 의해) 특히 설정된 렌더 파라미터에 의존하여 변경된다는 이점을 제공한다. 바람직하게는, 다수의 렌더 파라미터가 (특히 컴퓨터 구현 방법 단계에서 및/또는 특정한 프로세서 기반의 시스템에 의해) 변경된다.
바람직하게는, 유저 인터페이스는, 적어도 하나의 렌더 파라미터에 대한 바람직하게는 유저 입력 데이터에 의해 결정될 수도 있는 모든 렌더 파라미터에 대한 사전 설정된 (경계) 값을 나타내고 및/또는 출력하고 및/또는 디스플레이하고 및/또는 시각화한다.
바람직하게는, 통신은, 바람직하게는 유저 인터페이스를 제공하기 위해(및/또는 유저 입력 디바이스에 데이터를 제공하기 위해) 및/또는 유저 인터페이스 및/또는 유저 입력 디바이스로부터 (유저 입력) 데이터를 수신하기 위해, 특히 유선 및/또는 무선을 통해 및/또는 바람직하게는 되도록이면 암호화된 통신 연결을 통해, 데이터를 교환하는 것(데이터를 수신하는 것 및/또는 데이터를 송신하는 것)을 포함한다.
바람직하게는, 방법은 (유저에 의해, 특히 유저 인터페이스를 통해) (적어도 하나의 관심 오브젝트의) (특히) 3D 모델 또는 CAD 데이터의 안전한 가져오기(import) 및/또는 업로드를 위한 (유저 인터페이스 및/또는 유저와 시스템 및/또는 트레이닝 데이터 생성 유닛 사이에서 데이터를 교환하기 위한) 유저 인터페이스 및/또는 통신 연결 및/또는 통신 방법을 제공한다.
바람직하게는, 방법(및/또는 시스템)은 생성된 트레이닝 데이터 세트의 안전한 출력을 위한 (유저 인터페이스 및/또는 유저와 시스템 및/또는 트레이닝 데이터 생성 유닛 사이에서 데이터를 교환하기 위한) 유저 인터페이스 및/또는 통신 연결 및/또는 통신 방법을 제공한다. 유리하게는, 방법은, 특히 신경망에 대한, 트레이닝 데이터 (세트)의 안전한 생성을 제공한다.
바람직한 실시형태에서, 트레이닝 이미지의 세트를 생성하기 위해, 적어도 하나의 백그라운드 이미지 및 바람직하게는 복수의(커스텀) 백그라운드 이미지가 유저 입력 데이터에 기초하여 결정된다. 이것은, 트레이닝 데이터의 생성이, 머신 러닝 컴퓨터 비전 모델에 의해 수행되어야 하는 (의도된) 컴퓨터 비전 태스크에서 입력되는 로컬하게 분해된 센서 데이터가 캡쳐되는 환경에 더욱더 정확하게 유저에 의해 적응될 수 있다는 이점을 제공한다. 예를 들면, 컴퓨터 비전 태스크가 실내 영역의 감시인 경우, 유저는 적어도 하나의 또는 복수의 실내 이미지를 가져오기할 수 있다. 따라서, 머신 러닝 컴퓨터 비전 모델의 트레이닝은 (의도된) 컴퓨터 비전 태스크를 수행하기 위해 캡쳐되는 로컬하게 분해된 센서 데이터의 일부인 실제 백그라운드에 백그라운드 이미지를 근사하는 것에 의해 최적화된다.
또 다른 바람직한 실시형태에서, 유저 입력 데이터에 기초하여 적어도 하나의 (커스텀) 백그라운드 이미지 특히 복수의 (커스텀) 백그라운드 이미지가 수신되는데, 여기서 적어도 하나의 백그라운드 이미지는 적어도 하나의 트레이닝 이미지를 생성하기 위해 사용된다. 바람직하게는, 방법은, 특히 바람직하게는 트레이닝 이미지를 생성하기 위한 백그라운드 이미지로서 사용되는 적어도 하나의 그리고 바람직하게는 복수의 (커스텀) 이미지를 유저가 추가할 및/또는 업로드할 및/또는 가져오기할 가능성을 제공하는 것을 포함한다.
다시 말하면, 바람직하게는, 유저는 공장 또는 도로 또는 평범한 흰색 벽과 같은 소정의 환경에 대해 그들 자신의 백그라운드 이미지를 역시 업로드할 가능성을 갖는다. 이들 환경은 2D 및/또는 3D 데이터일 수 있다.
바람직하게는, 유저 인터페이스는, 유저가 적어도 하나의 백그라운드 이미지 및/또는 3D 환경 데이터 및 바람직하게는 복수의 백그라운드 이미지를 가져오기하는 것 및/또는 그들을 추가하는 것을 가능하게 하는 상호 작용 엘리먼트를 포함한다. 바람직하게는, 유저에 의해 가져오기되는 및/또는 추가되는 백그라운드 이미지는 메모리 디바이스 및/또는 백엔드 서버에서 저장된다. 바람직하게는, 트레이닝 이미지는 (특히 트레이닝 이미지의 백그라운드 부분을 생성하기 위해) 백그라운드 이미지에 기초하여 및/또는 3D 환경 데이터를 렌더링하는 것에 기초하여 생성될 수도 있다.
또 다른 바람직한 실시형태에서, 트레이닝 이미지의 세트를 생성하기 위해, 백그라운드 이미지의 세트가 복수의 백그라운드 이미지로부터 (특히 랜덤하게) 선택된다. 바람직하게는, 백그라운드 이미지의 세트는, 유저 입력 데이터 및/또는 유저에 의해 추가되는 및/또는 가져오기되는 백그라운드 이미지의 세트에 기초한, 특히 유저 정의된(user defined), (커스텀) 백그라운드 이미지의 세트이다.
바람직하게는, 방법은 (시스템의 및/또는 시스템에 의해 액세스될 수도 있는) 메모리 디바이스 상에 저장되는 복수의, 특히 유저 독립적인 (디폴트) 백그라운드 이미지를 제공하는 것을 포함한다. 이것은, 필요로 되는 이미지를 제공 및/또는 업로드하지 않고도 유저가 트레이닝 데이터 세트의 생성을 (특히 자동적으로) 개시할 수 있다는 이점을 제공한다. 바람직하게는, 랜덤하게 선택되는 트레이닝 이미지의 세트는 복수의 (디폴트) 백그라운드 이미지에 기초하여 선택된다.
바람직하게는, 유저는, (랜덤하게) 선택된 백그라운드 이미지의 세트가, 특히 유저 정의된, (커스텀) 백그라운드 이미지(이들은 유저에 의해 업로드되고 및/또는 가져오기됨)의 세트로부터 선택되는지 및/또는 특히 유저 독립적인 (디폴트) 백그라운드 이미지(이들은 시스템에 의해 제공됨)의 세트로부터 선택되는지의 여부를 (유저 인터페이스를 통해) 선택할 수도 있다.
바람직하게는, 트레이닝 이미지는 5 개보다 더 많은, 바람직하게는 10 개보다 더 많은, 바람직하게는 100 개보다 더 많은, 바람직하게는 500 개보다 더 많은, 바람직하게는 800 개보다 더 많은, 바람직하게는 1000 개보다 더 많은 그리고 특히 바람직하게는 2000 개보다 더 많은 백그라운드 이미지의 세트를 사용하여 생성된다. 바람직하게는, 2000 개를 넘는, 특히 유저 독립적인 (커스텀) 백그라운드 이미지의 랜덤 세트가 제공된다.
바람직하게는, 하나보다 더 많은, 바람직하게는 두 개보다 더 많은, 바람직하게는 5 개보다 더 많은, 바람직하게는 20 개보다 더 많은, 바람직하게는 100 개보다 더 많은 트레이닝 이미지를 생성하기 위해, 적어도 하나의 (커스텀 및/또는 디폴트) 백그라운드 이미지가 사용된다. 예를 들면, 백그라운드 이미지가 제공되는 것보다 더 많이 트레이닝 이미지가 렌더링되면, 주어진 백그라운드 이미지는 반복적으로 사용될 수 있다.
바람직하게는, 유저 정의 (커스텀) 백그라운드 이미지 및 유저 독립적인 (디폴트) 백그라운드 이미지는 렌더링된 (트레이닝) 이미지에 사용된다. 이 변형예는 트레이닝 데이터세트를 더욱 다양하게 만들고, 따라서, 트레이닝된 머신 러닝 컴퓨터 비전 모델은 상이한 백그라운드와 관련하여 더욱 강건하다.
그러나, 이 백그라운드 이미지에 기초하여 모든 트레이닝 이미지를 생성하기 위해 단지 하나의 백그라운드 이미지만을 사용하는 것이 또한 고려 가능하다. 예를 들면, 백그라운드가 항상 블랙인 환경에서 (의도된) 사용이 발생하는 경우, 그러면, 단지 하나의(블랙) 백그라운드 이미지만이 필요로 된다.
바람직하게는, 유저는, 트레이닝 이미지를 생성하기 위해 사용되는 (상이한) 백그라운드 이미지의 개수를 나타내고 및/또는 설정한다. 이것은 트레이닝 데이터 세트를 유저 고유의 애플리케이션에 적응시키는 것을 허용한다.
또 다른 바람직한 실시형태에서, 각각의 트레이닝 이미지는 실사적인 백그라운드 이미지에 기초하여 생성된다. 바람직하게는, 실사적인 백그라운드 이미지만이 사용된다. 이것은, 생성된 트레이닝 이미지가 (또한 실사적인) 현실에 더 가깝다는 이점을 제공한다. 이것은 (가상으로부터 현실로의) 모드의 도메인 적응에서 도움이 될 것이다.
또 다른 바람직한 실시형태에서, 적어도 하나의 렌더 파라미터는, 관심 오브젝트의 뷰에 대한, 특히 렌더링 프로세스를 위한 카메라의 시야에 대한, 관심 오브젝트의 사이즈 및/또는 줌 범위에 대한, 트레이닝 이미지 내의 적어도 하나의 렌더링된 관심 오브젝트의 방위 및/또는 포지션에 대한, 뷰 각도에 대한, 렌더링된 모델의 롤에 대한 및/또는 적어도 하나의 관심 오브젝트의 회전 및/또는 병진에 대한, 적어도 하나의 관심 오브젝트의 크롭핑에 대한, 관심 오브젝트의 폐색에 대한, 및/또는 모델 인스턴스의 개수에 대한 특성, 및/또는 등등 및/또는 이들의 조합인 렌더 파라미터의 그룹으로부터 선택된다.
이것은, 모델뿐만 아니라 뷰가 의도된 유저 고유의 트레이닝 태스크(및 로컬하게 분해된 트레이닝 이미지를 생성하기 위해 센서 디바이스에 의해 캡쳐되는 그것의 환경)에 매우 가깝게 적응될 수도 있다는 이점을 제공한다. 예를 들면, 이미지에서 렌더링되는 모델 인스턴스의 개수를 설정하는 것에 의해, 환경은 매우 정밀한 방식으로 모델링될 수도 있다. 예를 들면, 트레이닝된 머신 러닝 컴퓨터 비전 모델에 의해 수행될 (유저 의도된) 컴퓨터 비전 태스크와 관련하여 복잡한 시장의 환경이 주목되는 경우, 트레이닝 결과는, 인간의 하나보다 더 많은 모델이 이미지에서 렌더링되는 경우, 현실에 더 가까울 수도 있다.
바람직하게는, 하나보다 더 많은, 바람직하게는 두 개보다 더 많은, 바람직하게는 5 개보다 더 많은, 바람직하게는 10 개보다 더 많은, 특히 바람직하게는 상기에서 언급된 렌더 파라미터 모두가 (트레이닝 이미지를 생성하기 위해) 유저에 의해 설정 및/또는 수정될 수도 있다.
특히, 시야는 렌더링된 이미지에 대한 카메라의 시야를 (예를 들면, 각도 단위로) 설정한다. 특히, 카메라에 얼마나 가깝게 오브젝트가 렌더링되는지를 조정하기 위해, 줌 파라미터가 제공된다. 바람직하게는, 현재 설정된 줌 범위를 시각화하기 위해, 줌 범위 슬라이더가 유저 인터페이스에 의해 디스플레이될 수도 있다.
바람직하게는, 시야각(view angle)이 (특히 0°와 360° 사이에서) 유저에 의해 제어될 수 있다. 제로의 시야각은, 특히, 렌더링된 이미지의 시야각이 카메라를 향하는 면에 항상 고정되어 있다는 것을 의미하고, 대조적으로, 360°의 시야각은, 특히, 오브젝트 사방으로부터 이미지가 렌더링된다는 것을 의미한다. 이것은, 유리하게는, 카메라에 대한 관심 오브젝트의 (유저에 의해 정의되는) 적어도 삼차원 모델의 방위(이것에 기초하여 이미지가 렌더링됨)를, (로컬하게 분해된 센서 데이터를 캡쳐하는 센서 디바이스와 관련하여) 실제로 발생하는 관심 오브젝트의 방위에 적응시킬 가능성을 제공한다. 따라서, 컴퓨터 비전 태스크의 유저 고유의 애플리케이션은 더욱 정확한 방식으로 모델링될 수도 있다.
바람직하게는, (렌더링된 모델의) 롤 및 바람직하게는 롤 각도가 특히 유저 인터페이스를 통해 (유저에 의해) 제어될 수도 있다.
바람직하게는, 이미지에서 렌더링되는 모델의 백분율에 대한 특성인 크롭핑 파라미터가 특히 유저 인터페이스를 통해 (유저에 의해) 제어될 수도 있다. 바람직하게는, (모델을 렌더링하기 위한) 크롭핑 백분율은 0과 설정되는 크롭핑 값 내에서 (랜덤하게) 선택된다.
바람직하게는, 렌더링된 이미지에서 폐색 효과를 도입하기 위한 특성인 폐색 파라미터는 특히 UI를 통해 (유저에 의해) 결정될 수도 있다.
다른 많은 파라미터 중에서 실내 및 실외 환경에 대한 조명 및 다른 환경적 조건을 사용하여 렌더 환경을 셋업하는 능력은, 따라서, 날씨 조건에 의해 영향을 받지 않는다.
또 다른 바람직한 실시형태에서, 적어도 하나의 렌더 파라미터는, 주의 분산 오브젝트(distraction object)의 개수, 특히 최대 개수에 대한, 트레이닝 이미지의 조명 조건에 대한, 트레이닝 이미지에서의 오브젝트 및/또는 백그라운드의 조명에 대한, 광원의 개수에 대한, 광 강도의 변동에 대한, 컬러 변동의 변동에 대한, 렌더링된 이미지 및/또는 트레이닝 이미지에서의, 그림자, 블러 및/또는 노이즈의 포함에 대한, 특히, 노이즈 강도(및/또는 노이즈 강도 변동) 및/또는 노이즈 사이즈(및/또는 노이즈 사이즈 변동)에 대한 파라미터 특성, 및 등등 및/또는 이들의 조합을 포함하는 렌더 파라미터의 그룹으로부터 선택된다.
또 다른 바람직한 실시형태에서, 복수의 주의 분산 오브젝트로부터 특히 랜덤하게 선택되는 적어도 하나의 주의 분산 오브젝트는 적어도 하나의 트레이닝 이미지, 바람직하게는 복수의 트레이닝 이미지에서 포함된다. 바람직하게는, 트레이닝 이미지의 각각의 생성에 대해, (0과 특히 유저에 의해 설정되는 또는 설정될 수도 있는 최대 값 사이의) 주의 분산 오브젝트의 랜덤 개수가 결정되고, 결정된 랜덤 개수의 주의 분산 오브젝트가 (트레이닝 이미지에서) 렌더링된다. 특히, 이들 주의 분산 오브젝트 중 임의의 것과 관련하여 주석 데이터는 생성되지 않는다. 이것은, 머신 러닝 컴퓨터 비전 모델의 트레이닝 프로시져 동안 이 모델이 (랜덤하게 발생하는 주의 분산 오브젝트 대신) 적어도 하나의 관심 오브젝트의 세부 사항에 초점을 맞출 수 있게 된다는 이점을 제공한다.
바람직하게는, 유저 인터페이스는, 폐색 파라미터의 핸들링, 주의 분산 오브젝트의 추가, 커스텀 백그라운드와 같은 렌더 파라미터를 랜덤화하기 위한 하나보다 더 많은 옵션, 바람직하게는 많은(또는 복수의) 옵션을 포함한다.
바람직하게는, (1과 특히 유저에 의해 조정 가능한 및/또는 설정되는 최대 값 사이의) 랜덤 개수의 광원이 렌더링된다.
바람직하게는, 적어도 하나의 관심 오브젝트 및/또는 트레이닝 이미지의 백그라운드의 조명을 위한 적어도 하나의 관심 오브젝트의 및/또는 백그라운드 이미지 및/또는 백그라운드 장면의 조명 조건은 유저에 의해 변경될 수도 있고 및/또는 조정될 수도 있고 및/또는 제어될 수도 있다.
바람직하게는, 최대 백분율의 설정을 통해 유저에 의해 제어될 수도 있는 광 강도의 특히 랜덤 변동이 트레이닝 이미지에서 도입될 수도 있다.
바람직하게는, 렌더링된 이미지에서 0과 (유저에 의해 설정되는) 백분율 사이의 노이즈의 특히 랜덤 변동이 도입된다.
또 다른 바람직한 실시형태에서, 유저 정의 관심 오브젝트의 텍스쳐에 대한 특성인 적어도 하나의 텍스쳐 파라미터가 결정되고, 적어도 하나의 트레이닝 이미지에서 포함될 적어도 하나의 주의 분산 오브젝트는(특히 그것의 텍스쳐는) 적어도 하나의 결정된 텍스쳐 파라미터에 기초하여 조정된다. 특히, 적어도 하나의 주의 분산 오브젝트의 시각적 외관은, 적어도 하나의 관심 오브젝트의 시각적 외관 및/또는 관심 오브젝트의 (렌더링된) 모델로 조정된다.
이것은, 머신 러닝 컴퓨터 비전 모델의 트레이닝 프로시져 동안, 컴퓨터 비전 모델이 관심 오브젝트의 형태 및/또는 형상 및/또는 사이즈에 더 많이 집중한다는 이점을 제공한다. 이것은, 유리하게는, 컴퓨터 비전 태스크의 결과를 더욱 정확하게 만든다.
바람직하게는, 생성된 (트레이닝) 이미지는 렌더링된 이미지 및/또는 세분화 맵(들), 및/또는 UVW 맵을 포함한다.
바람직하게는, 주석 데이터(이것은 모든 (트레이닝) 이미지에 대한 주석 XML 파일일 수도 있음)는, 경계 박스, 카메라 파라미터, 시야(field of view; FOV), 6DOF 값(6 자유도 값), 이미지 라벨 및 등등 및 조합을 포함하는 파라미터의 그룹으로부터 선택되는 적어도 하나의 파라미터를 포함할 수도 있다.
바람직하게는, 유저는, 특히 유저 인터페이스를 통해, (애플리케이션의) 하나 이상의 3D 모델을 가져오기할 수 있고, 특히 유저에 의해 필요로 되는 및/또는 소망되는 경우, 각각의 모델을 개별적으로 제어할 수 있다.
바람직하게는, 주석 데이터는 유저 입력 데이터에 기초하여 생성된다. 예를 들면, 유저는 입력된 유저 데이터를 통해, 세분화가 시스템에 의해 수행되어야 하는지의 여부 및/또는 세분화 맵이 (특히 유저 인터페이스를 통해 유저에게) 출력되어야 하는지의 여부를 결정할 수도 있다.
본 발명은 또한, 특히 실내 및/또는 실외의 환경 인식을 위해, 특히 적어도 하나의 센서 디바이스에 의해 생성되는 공간적으로 분해된 센서 데이터가 적어도 하나의 유저 정의 관심 오브젝트와 관련하여 프로세싱 및 평가되는, 적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 (특히 자동적으로) 트레이닝시키기 위한 컴퓨터 구현 방법에 관한 것인데, 여기서 머신 러닝 컴퓨터 비전 모델은 트레이닝 가능한 파라미터의 세트를 포함한다.
본 발명에 따르면, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 방법은, 상기에서 설명되는 (적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한) 방법(및/또는 바람직하게는 설명된 바람직한 실시형태 중 하나)에 따라 트레이닝 데이터 세트를 생성하는 것 및/또는 상기에서 설명되는 (적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한) 이 방법(및/또는 바람직하게는 설명된 바람직한 실시형태 중 하나)에 의해 생성되는 트레이닝 데이터 세트를 수신하는 것을 포함한다. 바람직하게는, 방법은 트레이닝 데이터 세트에 기초하여 머신 러닝 컴퓨터 비전 모델을 트레이닝시키는 것을 포함한다.
바람직하게는, 트레이닝을 위한 방법은, 라벨 및/또는 경계 박스 및/또는 카메라 파라미터(이들은 이미지를 특히 자동적으로 렌더링하기 위해 사용되었음)를 포함하는(comprising) 및/또는 포함하는(containing) (트레이닝) 데이터 파일 및/또는 (트레이닝) 이미지를 수신하는 것 및/또는 획득하는 것을 포함한다.
바람직하게는, 머신 러닝 컴퓨터 비전 모델의 트레이닝은, (특히 후속하는 트레이닝 단계의 각각에서) 트레이닝 가능한 파라미터의 세트의 트레이닝 가능한 파라미터(의 각각)에 대한 값을 결정하는 것을 포함하는데, 여기서 이들 값(바람직하게는 모든 트레이닝 가능한 파라미터의 값)은 (트레이닝 데이터 생성 유닛에 의해 생성되는) 트레이닝 데이터 세트에 기초하여 결정된다.
머신 러닝 컴퓨터 비전 모델의 타입은 머신 러닝 컴퓨터 비전 모델에 의해 수행될 컴퓨터 비전 태스크에 대한 유저 입력 데이터에 기초하여 선택된다는 것이 고려 가능하다.
바람직하게는, UI 상에서, 특히 한 번의 클릭으로, 선택하도록, 적어도 하나의 (사전 작성된) 사용 사례 고유의 머신 러닝 컴퓨터 비전 모델, 특히 신경망이 제공될 수도 있다.
바람직한 실시형태에서, 적어도 하나의 유저 고유의 사용 파라미터가 유저 입력 데이터에 기초하여 결정되는데, 적어도 하나의 사용 파라미터는 유저 정의 컴퓨터 비전 태스크에 대한 특성인데, 여기서 머신 러닝 컴퓨터 비전 모델은 유저 고유의 사용 파라미터에 기초하여 결정된다.
바람직하게는, 머신 러닝 컴퓨터 비전 모델은 (인공) 신경망으로서 설계된다. 바람직하게는, (인공) 신경망은, 특히 파라미터화 가능한 프로세싱 체인이 복수의 프로세싱 계층을 갖는 심층 인공 신경망으로서 설계된다.
바람직하게는, (인공) 신경망은 컨볼루션 신경망(convolutional neural network; CNN) 및/또는 순환 신경망(recurrent neural network; RNN) 및/또는 (고속) RCNN(recurrent convolutional neural network; 순환 컨볼루션 신경망)으로서 설계된다.
바람직하게는, 1000 개보다 많은, 바람직하게는 1400 개보다 많은, 바람직하게는 적어도 1500 개, 그리고 특히 바람직하게는 2000 개보다 많은 트레이닝 이미지 및 주석 데이터가 생성되고 특히 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위해 사용된다.
바람직하게는, (카메라에 의해 캡쳐되는) 실제 이미지와 합성 생성된 트레이닝 이미지의 혼합이 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위해 사용된다. 바람직하게는, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위해 적어도 800 개의 이미지(실제 이미지와 합성 트레이닝 이미지의 혼합을 포함함)가 사용된다.
바람직하게는, 방법은 자동화된 결과 평가를 제공한다.
또 다른 바람직한 실시형태에서, (적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한) 방법은, 제공된 트레이닝 데이터 세트를 사용하여 트레이닝되는 컴퓨터 구현 비전 모델을 평가하는 것 및 컴퓨터 구현 비전 모델의 정확도에 대한 특성인 평가 파라미터를 결정하는 것을 포함한다.
바람직하게는, 평가 파라미터의 결정을 위해, 머신 러닝 컴퓨터 비전 모델, 특히 신경망의 (주어진 파라미터화에 대한) 출력의, (생성되는 주석 데이터에 기초한) 실측 자료(ground truth)로부터의 편차가 측정된다(소위 손실). 사용되는 손실 함수는, 바람직하게는, 파라미터가 미분 가능한 방식으로 손실 함수에 의존하는 방식으로 선택된다. 최적화 프로세스의 일부로서, 신경망의 파라미터는, 손실이 최소화되도록, (여러 예에서 결정되는) 손실의 미분 계수에 따라 각각의 트레이닝 단계에서 적응된다. 이들 트레이닝 단계는 손실이 더 이상 감소되지 않을 때까지 자주 반복된다.
또 다른 바람직한 실시형태에서, (적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한) 방법은 평가 파라미터에 따라 트레이닝 데이터의 추가적인 세트를 생성 및 제공하는 것을 포함한다. 특히, 트레이닝 데이터는 평가 파라미터에 따라 재생성된다. 바람직하게는, 평가 파라미터는 사전 설정된 정밀도 값 및/또는 유저에 의해 설정될 수도 있는 정밀도 값에 비교된다.
바람직하게는, 머신 러닝 컴퓨터 비전 모델의 트레이닝은 (따라서) 폐루프에서 수행된다(특히 평가 파라미터인 머신 러닝 컴퓨터 비전 모델의 정밀도까지
오브젝트는 또한, 공간적으로 분해된 센서 데이터가 특히 적어도 하나의 유저 정의 관심 오브젝트와 관련하여 프로세싱 및 평가되는, 적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 특히 프로세서 기반의 시스템에 의해 도달되는데, 시스템은, 적어도 하나의 렌더 파라미터에 기초하여 관심 오브젝트의 적어도 하나의, 특히 2D 또는 3D의, 모델을 렌더링하는 것에 의해 트레이닝 이미지의 세트를 생성하도록 그리고 적어도 하나의 관심 오브젝트와 관련하여 트레이닝 이미지의 세트에 대한 주석 데이터를 생성하도록 구성되는 트레이닝 데이터 생성 유닛을 포함한다.
본 발명에 따르면, 트레이닝 데이터 생성 유닛은, 관심 오브젝트의 및/또는 유저 입력 데이터에 기초하여 (특히 유저 정의) 관심 오브젝트의 적어도 하나의 (특히 2D 또는 3D) 모델을 수신하도록 구성된다.
바람직하게는, 트레이닝 데이터 생성 유닛은, (트레이닝 이미지의 세트를 생성하기 위해) 관심 오브젝트의 적어도 하나의, 특히 2D 또는 3D의, 모델을 렌더링하기 위한 유저 입력 데이터에 기초하여 수신되는 관심 오브젝트의 모델을 사용하도록 및/또는 트레이닝 이미지의 세트에 대한 주석 데이터를 생성하도록 구성된다. 바람직하게는, 트레이닝 데이터 생성 유닛은, 합성 트레이닝 데이터 세트를 생성하기 위해 유저 입력 데이터에 기초하여 수신되는 관심 오브젝트의 모델을 사용하도록 구성된다. 특히, 머신 러닝 컴퓨터 비전 모델이 공간적으로 분해된 센서 데이터를 관련하여 프로세싱하고 평가하는 관심 오브젝트는, 트레이닝 데이터 생성 유닛이 유저 입력 데이터에 기초하여 관심 오브젝트의 모델을 수신했던 오브젝트에 대응하고 및/또는 그 오브젝트이다.
특히, 트레이닝 데이터 생성 유닛 및/또는 합성 트레이닝 데이터 세트를 생성하기 위한 시스템은 (트레이닝 데이터 생성 유닛에 의해) 수신되는 관심 오브젝트의 모델과 관련하여 합성 트레이닝 데이터 세트(특히 주석 데이터 및/또는 트레이닝 이미지의 세트)를 생성하도록 구성된다. 유저 정의 컴퓨터 비전 태스크는, 트레이닝 데이터 생성 유닛에 의해 수신되는 관심 오브젝트의 모델에 기초하여 트레이닝 데이터 생성 유닛에 의해 생성되는 합성 트레이닝 데이터 세트를 사용하여 머신 러닝 컴퓨터 비전 모델이 트레이닝된다는 의미에서, 특히 (적어도 또한) 유저 정의된다.
더구나, 트레이닝 데이터 생성 유닛은 유저 입력 데이터에 기초하여 적어도 하나의 렌더 파라미터, 바람직하게는 복수의 렌더 파라미터를 결정하도록 구성되고, 트레이닝 데이터 생성 유닛은, 유저에게 출력되기 위한 및/또는 컴퓨터 비전 모델을 트레이닝시키기 위한 주석 데이터 및 트레이닝 이미지의 세트를 포함하는 트레이닝 데이터 세트를 제공하도록 구성된다.
바람직하게는, 시스템은, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 방법의 맥락에서 상기에서 설명된 방법 단계를, 개별적으로 또는 서로 조합하여, 실행하는 것 및/또는 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 방법의 맥락에서 상기에서 설명된 방법 단계를, 개별적으로 또는 서로 조합하여, 실행하는 것을 하도록 구성되고, 그들에 적절하고 및/또는 그들을 하도록 의도된다. 반대로, 방법은, 시스템의 맥락에서 설명되는 모든 피쳐를, 개별적으로 또는 서로 조합하여, 구비할 수도 있다. 더구나, 상기에서 설명된 방법의 맥락에서 언급되는 (특히 프로세서 기반의) 시스템은 시스템의 맥락에서 설명되는 모든 피쳐를, 개별적으로 또는 서로 조합하여, 구비할 수도 있다.
바람직하게는, 트레이닝 데이터 생성 유닛은, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 방법의 맥락에서 상기에서 설명된 방법 단계를, 개별적으로 또는 서로 조합하여, 실행하도록 구성되고, 그 실행에 적절하고 및/또는 그 실행을 하도록 의도된다. 역으로, 방법 및 특히 이 방법과의 맥락에서 설명되는 트레이닝 데이터 생성 유닛은 트레이닝 데이터 생성 유닛의 맥락에서 설명되는 모든 피쳐를, 개별적으로 또는 서로 조합하여, 구비할 수도 있다.
바람직하게는, 시스템은 유저 상호 작용을 제공하기 위한 수단 및/또는 유저 상호 작용을 제공하기 위한 디바이스를 포함한다. 예를 들면, 시스템은 (예를 들면, 시스템의 일부일 수도 있는 또는 유저 단말에 의해 제공될 수도 있는 유저 인터페이스와의 통신을 가능하게 하는) 유저 인터페이스를 제공하기 위한 디바이스를 포함할 수도 있다.
바람직하게는, 시스템은, 특히 유저 인터페이스를 포함하고, 유저에 의해 동작 가능한 상호 작용 엘리먼트를 포함하고 및/또는 제공한다. 바람직하게는, 상호 작용 엘리먼트를 동작시키는 것에 의해 및/또는 유저 인터페이스를 통해 데이터를 입력하는 것에 의해, 유저는 (합성) 트레이닝 데이터 세트의 자동화된 생성 및/또는 머신 러닝 컴퓨터 비전 모델의 자동 트레이닝을 (특히 클릭 및/또는 적어도 한 번의 클릭 및/또는 한 번의 클릭을 통해) 개시 및/또는 트리거할 수도 있다.
바람직하게는, 시스템은, 트레이닝 이미지를 생성하기(generate) 위해 및/또는 생성하기(produce) 위해, 관심 오브젝트의 적어도 하나의 모델 및 바람직하게는 관심 오브젝트의 복수의 모델 및/또는 (디폴트 및/또는 커스텀) 백그라운드 이미지를 저장하기 위한 메모리 디바이스를 포함한다. 바람직하게는, 시스템은 생성된 트레이닝 이미지 및/또는 주석 데이터를 저장하기 위한 메모리 디바이스를 포함한다.
본 발명에 따르면, 시스템이 오브젝트 검출, 분류 또는 세분화를 위한 상이한 타입의 용례에 대한 데이터를 생성하는 것을 가능하게 만드는 것이 또한 제안된다. 따라서, 유저를 제한하지 않으며 UI를 사용하는 하나의 도구를 가지고 더 많은 유연성을 제공한다.
제안된 시스템은, 사용하기 쉬운 인터페이스 및 컴퓨터 비전을 위한 합성 트레이닝 데이터 생성 시스템을 제공한다는 이점을 제공한다. 그것은 폐루프에서 단대단 데이터 생성 및 트레이닝을 위한 컴퓨터 비전 플랫폼을 갖는 프론트엔드 유저 인터페이스를 갖는 통합 솔루션이다. 이 시스템은, 최소의 노력으로, 매우 짧은 시간의 기간 내에 소망되는 대로 이미지를 렌더링하기 위해 사용될 수 있는 하나 이상의 3D 또는 2D 데이터의 가져오기를 가능하게 하고, 그리고 또한, 오브젝트 분류, 검출 또는 세분화의 분야에서 다양한 용례를 위해 이 데이터를 추가로 트레이닝시킨다. 시스템의 간단하고 사용하기 쉬운 직관적인 UI는, 데이터 생성의 사전 지식 없이 유저가 데이터를 생성하고 트레이닝시키는 것을 가능하게 한다. 이 데이터는, 유저가 단지 한 번의 클릭 내에서 신경망의 트레이닝을 진행할 수 있는 컴퓨터 비전 플랫폼 상으로 추가로 전달된다. 데이터 생성 및 트레이닝의 이 전체 프로세스는 유저 인터페이스를 사용하여 유저에 의해 트리거될 수 있다.
시스템 및 특히 트레이닝 데이터 생성 유닛 및/또는 머신 러닝 유닛 및/또는 합성 데이터 생성기 UI는, 컴퓨터 비전, 자동차, 항공 우주, 운송, 생산, 로봇 공학, 의료, 전자기기, 제조, 농업, 통신, 교육, 제약, 식품 산업, 건강 관리, 엔터테인먼트, 등등과 같은 임의의 종류의 산업에서 사용될 수 있다. 유저에 의해 임의의 종류의 데이터가 사용될 수 있기 때문에, 이 합성 데이터 생성기 도구 UI는 유저를 임의의 특정한 산업으로 제한하지 않으며 그러므로 매우 유연하다.
본 발명은 또한, 프로그램 수단, 특히 프로그램 코드를 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품에 관한 것인데, 이 프로그램 코드는, 적어도, 본 발명 및 바람직하게는 설명된 바람직한 실시형태 중 하나에 따른 두 개의 컴퓨터 구현 방법(합성 트레이닝 데이터 세트를 생성하기 위한 방법 및 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 방법) 각각의 방법 단계를 나타내거나 또는 코딩하고 프로세서 디바이스에 의한 실행을 위해 설계된다.
본 발명은 또한, 본 발명에 따른 컴퓨터 프로그램의 또는 컴퓨터 프로그램의 바람직한 실시형태의 적어도 하나의 실시형태가 저장되는 데이터 메모리에 관한 것이다.
본 발명의 추가적인 이점, 목적 및 피쳐는 첨부의 도면을 참조하여 다음의 설명에서, 단지 예로서, 설명될 것이다. 도면에서, 상이한 실시형태에서의 유사한 컴포넌트는 동일한 참조 심볼을 나타낼 수 있다.
도면은 다음의 것을 나타낸다:
도 1은 본 발명의 한 실시형태에 따른 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 방법 및 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 방법의 개략적인 예시이다;
도 2는 본 발명의 한 실시형태에 따른 시스템의 및/또는 그 시스템에 대한 유저 인터페이스의 개략적인 예시이다; 그리고
도 3 내지 도 6은 상이한 유저 설정을 갖는 도 2에 따른 유저 인터페이스이다.
도 1은 본 발명의 한 실시형태에 따른 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 방법 및 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 방법의 개략적인 예시를 도시한다.
참조 부호 M은, 여기서는 3D인 모델(10)이, 특히 (특히 프로세서 기반의) 시스템으로 및/또는 트레이닝 데이터 생성 유닛(12)으로 가져오기되는 방법의 (특히 제1) 단계를 나타낸다. 유저는, 예를 들면, 여기서는 신경망인 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 특히 실사적인 합성 데이터를 생성하기 위해 (시스템 및/또는 트레이닝 데이터 생성 유닛(12)에 의해) 사용될 하나 이상의 3D 모델을 가져오기할(8) 수도 있다.
바람직하게는, 유저는, 유저와의 상호 작용을 위해 (특히 시스템 및/또는 트레이닝 데이터 생성 유닛(12)에 의해) 제공될 수도 있는 유저 인터페이스(UI)를 사용하여 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 (실사적인) 합성 데이터를 생성하기 위해 사용되어야 하는 적어도 하나의 (3D) 모델 및 바람직하게는 모든 (3D) 모델을 가져오기할 수도 있다.
트레이닝 데이터 생성 유닛(12)은 유저 입력 데이터(또는 유저 입력 데이터로부터 유도되는 데이터) 및 특히 (가져오기된) (3D) 모델 및 바람직하게는 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 (실사적인) 합성 데이터를 생성하기 위해 사용될 유저에 의해 가져오기된 모든(3D) 모델을 수신한다.
트레이닝 데이터 생성 유닛(12)은, 도 1에서 참조 부호 G에 의해 나타내어지는 트레이닝 데이터 세트의 자동화된 생성을 위해 구성되고 의도된다.
트레이닝 데이터세트(참조 부호 G에 의해 나타내어짐)의 자동화된 생성을 위해, 이미지는 (특히 트레이닝 데이터 생성 유닛(12) 및/또는 시스템에 의해) 특히 다양한 회전, 포지션, 백그라운드, 조명 및/또는 해상도를 가지고 자동적으로 렌더링되고 라벨링된다. 이 단계는 도 1에서 참조 부호 61에 의해 나타내어진다.
참조 부호 63에 의해 나타내어지는 방법 단계에서, 머신 러닝(컴퓨터 비전) 모델을 트레이닝시키는 데 필요한 라벨, 경계 박스 및/또는 카메라 파라미터를 포함하는 데이터 파일이 (특히 트레이닝 데이터 생성 유닛(12) 및/또는 시스템에 의해) 생성된다.
참조 부호 14는 머신 러닝 유닛(이것은 시스템의 일부일 수도 있음)을 나타낸다. 방법은 (자동적으로) 생성된 트레이닝 데이터 세트를 머신 러닝 유닛(14) 및/또는 컴퓨터 비전 플랫폼으로 전송하는 것을 포함할 수도 있다. 여기서, 트레이닝 데이터 세트는, 바람직하게는, 예를 들면, 신경망 또는 신경망들(참조 부호 T에 의해 나타내어짐)을 트레이닝시키는 것에 의해, 머신 러닝(컴퓨터 비전) 모델을 트레이닝시키기 위해 사용된다. 바람직하게는, 트레이닝 데이터는 (렌더링 및/또는 라벨링을 통해) 생성된 이미지(단계(61) 참조) 및 특히 주석 데이터 및/또는 라벨, 경계 박스 및/또는 카메라 파라미터를 포함하는 데이터 파일(단계(63) 참조)을 포함한다.
신경망, 특히 (특히 자동적으로 생성된) 이미지를 트레이닝시키는 단계(T)의 경우, (머신 러닝 컴퓨터 비전) 모델을 트레이닝시키기 위해 (주석) 데이터 및 라벨이 사용되는데, 참조 부호 T1에 의해 나타내어진다.
바람직하게는, 소망되는 및/또는 요구되는 정확도가 도달되었는지를 체크하기 위한 (머신 러닝 모델의 트레이닝 프로시져의) 자동화된 결과 평가가 (특히 시스템에 의해 및/또는 평가 유닛(E)에 의해) 제공된다. 만약 그렇지 않다면, 바람직하게는, 유저가 트레이닝 프로세스에서 요구된 정확도 및 출력을 획득할 때까지, 데이터는 (시스템 및/또는 머신 러닝 유닛(14)에 의해) 자동적으로 재생성되어(화살표 P 참조) 트레이닝되고, 따라서, 최소의 컴퓨터 비전 지식 및 개입이 요구되는 폐쇄된 사이클을 지원한다.
필요한 정확도가 달성되는 한, 트레이닝된 머신 러닝 모델은, 예를 들면, 오브젝트 검출(20), (지능형) 로봇 공학, 이상 검출(22) 및/또는 생산 시설에서의 품질 제어(24)로서 용례에 대해 준비가 된다.
바람직하게는, 시스템의 핵심 피쳐는 다음의 것이다:
- (바람직하게는 UI를 사용하여) 하나 이상의 2D 이미지 및/또는 3D 모델을 가져오기함
- 시스템 UI를 사용하여 이미지 및 주석 데이터를 생성함
- 생성된 데이터를 컴퓨터 비전 플랫폼(및/또는 머신 러닝 유닛(14))으로 전송함
- 컴퓨터 비전 플랫폼(및/또는 머신 러닝 유닛(14)) 상에서 데이터를 트레이닝시킴
- 자동화된 결과 평가
- 정확도가 최적이 아닌 경우 데이터를 재생성하고, 따라서, 컴퓨터 비전에서 수동의 개입 또는 지식을 거의 또는 전혀 필요로 하지 않으면서 데이터 생성 및 트레이닝을 위한 자동화된 폐루프를 제공함.
도 2는 본 발명의 한 실시형태에 따른 시스템 및/또는 시스템에 대한 유저 인터페이스(30)의 개략적인 예시를 도시한다. 특히, 도 2는 (머신 러닝(컴퓨터 비전) 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 방법의 및/또는 시스템의) 유저와의 상호 작용을 위한 사용하기 쉬운 직관적인 유저 인터페이스의 예를 도시한다.
시스템은 유저 인터페이스(30)를 제공하기 위한 (프로세서 기반의) 수단 및/또는 (프로세서 기반의) 디바이스를 포함할 수도 있다. 유저 인터페이스(30)를 제공하기 위한 수단 및/또는 디바이스는, 바람직하게는 적어도 하나의 유저 인터페이스(30)와(그리고 바람직하게는 복수의 유저 인터페이스(30)와) 통신하도록 그리고 특히 유저 인터페이스(30)와 데이터를 교환하도록, 각각, 구성된다. 통신은 바람직하게는 유저 입력 데이터를 수신하는 것 및 유저 인터페이스(30)를 통해 유저에 의해 입력되는 유저 입력 데이터(또는 유저 입력 데이터로부터 유도되는 데이터)를 트레이닝 데이터 생성 유닛(12)으로 송신하는 것 및/또는 트레이닝 데이터 생성 유닛(12)에 의해 제공되는 데이터 및/또는 트레이닝 데이터 생성 유닛(12)으로부터의 데이터를 적어도 하나의 유저 인터페이스(30)로 송신하는 것을 포함한다.
유저 인터페이스(30)는 유저가, 바람직하게는 다른 것들 외에도, (유저에 의해 정의되는) 관심 오브젝트의 모델(10)을 가져오기 위해 시스템과 상호 작용할 가능성(참조 부호 32 참조)을 제공한다. 유저 인터페이스(30)는 출력 디바이스, 예를 들면, (시각적) 디스플레이로서 광학적 출력 디바이스를 포함할 수도 있는데, 이것은, 유저가 바람직하게는 (유저 인터페이스를 통해) 시스템으로 및/또는 머신 러닝 유닛(14)으로 송신되는 유저 입력 데이터를 입력할 수 있게 하는 및/또는 입력을 행할 수 있게 하는 상호 작용 엘리먼트 및/또는 입력 엘리먼트, 예를 들면 그래픽 오브젝트(도 2에서 예를 들면, 참조 부호 32, 34, 36, 38, 이들은 버튼 또는 등등으로서 설계될 수도 있음)를 제공한다.
특히, 유저 인터페이스(30)는, 유저가 애플리케이션에서 하나 이상의(3D) 모델을 가져오기할 수 있게 하는 상호 작용 엘리먼트(32)를 제공한다. 더구나, 유저 인터페이스는 필요로 되는 경우 유저가 각각의 모델을 개별적으로 제어하기 위한 상호 작용 엘리먼트를 제공한다.
더구나, 도 2에서 도시되는 유저 인터페이스(30)는, 렌더링 이전에 이미지를 미리 보는 것을 허용하는 상호 작용 엘리먼트(34), 모델이 (이미지의 가장자리와 관련하여) 유저에 의해 다시 중심에 위치될 수도 있게 하는 상호 작용 엘리먼트(36), 및 유저에게 디스플레이되는 장면(예를 들면, 유저 정의 모델 및/또는 유저 정의 모델의 렌더링된 이미지 및/또는 백그라운드 이미지를 포함함)을 지우기(clear) 위한 상호 작용 엘리먼트(38)를 제공한다.
더구나, 유저 인터페이스(30)는 바람직하게는, 트레이닝 데이터 생성 유닛(12) 및/또는 시스템에 의해 생성되는 트레이닝 이미지(I1)의 및/또는 렌더링된 이미지의 미리 보기 및/또는 렌더링 이전에 가져오기된 모델 및/또는 이미지의 미리 보기 및/또는 보기를 제공하도록 구성된다.
이 합성 데이터 생성 애플리케이션은 또한, UI 상에서 유저가 현재 설정하고 있는 조명, 회전, 등등과 같은 렌더링 설정을 가지고 실시간으로 렌더링될 이미지를 미리 보는 가능성을 갖는다.
도 2에서 예시되는 유저 인터페이스(30)는, 한 예로서, 이 경우에서는 자동차인 유저 정의 오브젝트의 모델(10)에 기초한 생성된 트레이닝 이미지(I1)를 도시하는데, 여기서 특히 모델(10)은 유저에 의해 가져오기된다. 트레이닝 이미지(I1)는 자동차의 모델의 렌더링된 이미지(11) 및 (특히) 렌더링된 백그라운드 이미지(11a-11c)를 포함한다. 여기서, 백그라운드 이미지는, 백그라운드 이미지(11b)의 하위 부분에서, 여기서는 자동차인 관심 오브젝트가 배치되는 평면을, 그리고, 백그라운드 이미지(11c)의 상위 부분에서, 백그라운드 이미지의 백그라운드 부분을 묘사한다.
바람직하게는, 관심 오브젝트(여기서는 자동차)뿐만 아니라 백그라운드 이미지 둘 모두는 렌더 파라미터에 기초하여 렌더링된다. 렌더 파라미터는, 렌더링된 모델(11)의 그림자 및 더 밝은 부분으로부터, 뿐만 아니라, 백그라운드 이미지(11b)에서의 자동차의 그림자(11a)로부터 확인될 수도 있는 트레이닝 이미지의 조명 조건을 제어할 수도 있다.
참조 부호(40)는 유저 인터페이스(30)에 의해 제공되는 유저 상호 작용 섹션을 나타내는데, 이를 통해, 유저에 의해 증강이 제어될 수도 있고, 및/또는 이를 통해, 트레이닝 데이터 생성 유닛(12) 및/또는 시스템에 의해 제공되는 출력 및/또는 트레이닝 데이터의 생성이 유저에 의해 제어될 수도 있다.
예를 들면, 증강을 위해, 렌더 파라미터는 유저에 의해 설정(및/또는 재설정)될 수도 있는데, 이것은 참조 부호 42에 의해 나타내어진다.
렌더 파라미터는, 인스턴스의 개수, 시야(56), 크롭핑(64)(예를 들면, 도 3 참조), 폐색(66)(예를 들면, 도 3 참조), 주의 분산 오브젝트의 추가(68)(예를 들면, 도 3 참조), 조명 조건의 조정(72), 이미지에서의 컬러 색조(color tint)(82)와 같은 사후 프로세싱 파라미터(80)(예를 들면, 도 5 참조), 노이즈 강도(변동)(86), 이미지에서의 노이즈 사이즈(변동)(88), 이미지에서의 블러(84)(예를 들면, 도 5 참조), 2000 개가 넘는 백그라운드 이미지(90)의 랜덤 세트(예를 들면, 도 5 참조) 및 커스텀 이미지를 추가할 가능성과 같은 상이한 옵션을 역시 포함한다.
초점이 맞는 가져오기된 오브젝트의 유사한 텍스쳐를 갖는 랜덤 주의 분산 합성 오브젝트를 도입할 가능성이 또한 존재한다. 이것은 신경망의 트레이닝을 더욱 강건하게 만든다. 자동차의 앞 부분의 이미지만을 필요로 하는 경우와 같은 특정한 용례에 대한 렌더링된 이미지에서의 모델 회전의 랜덤성을 제어하기 위해, 이것은 UI로 가져오기된 각각의 개개의 모델에 대해서도 또한 제어될 수 있다.
도 2는, 여기서는, 모델 설정(50)을 제어하기 위해 유저 인터페이스(30)가 유저에 대한 상호 작용 엘리먼트를 시각화하는 것을 예시한다. 예를 들면, 유저는 파라미터(52, "Max Instance Count(최대 인스턴스 카운트)"에 대한 값을 입력할 수도 있고, 그에 의해, 선택되는 모델 인스턴스의 랜덤 개수에 대한 상부 경계 값을 제공하는 최대 값을 설정할 수도 있다. 파라미터 "Max Instance Count"를 설정하는 것은, 1과 설정된 최대 값 사이의 랜덤 개수의 모델 인스턴스가 렌더링되는 것으로 귀결된다.
더구나, 증강을 위해, 파라미터는, 뷰 랜덤화(view randomization)(54)와 관련하여 및/또는 주의 분산 오브젝트와 관련하여 및/또는 광과 관련하여 및/또는 사후 프로세싱과 관련하여 및/또는 백그라운드와 관련하여 유저에 의해 설정될 수도 있다.
렌더 파라미터의 설정시, 렌더링될 필요가 있는 이미지의 개수, 필요 이미지 해상도 및 데이터에 대한 라벨을 입력하기 위해 이용 가능한 출력 섹션이 또한 존재한다. 또한, 로봇 공학 및 포즈 추정과 같은 애플리케이션에서 도움이 되는 세분화 이미지 및 UVW 맵의 생성을 위한 옵션도 존재한다.
게다가, 유저 인터페이스(30)는, 유저가 이미지 카운트를 제어 및/또는 설정 및/또는 입력할 수 있게 하는 상호 작용 및/또는 입력 엘리먼트를 제공한다. 이것은 참조 부호 44에 의해 나타내어진다.
참조 부호 46은, 유저가 라벨을 추가할 수도 있게 하는, 그리고 특히 (주어진 및/또는 특정한 관심 오브젝트에 대해) 라벨로서 사용되어야 하는 표현 또는 부호 또는 이름을 입력할 수도 있게 하는 상호 작용 엘리먼트를 나타낸다.
더구나, 도 2에서 예시되는 유저 인터페이스(30)는, 이미지가 (시스템 및/또는 트레이닝 데이터 생성 유닛(12)에 의해) (자동적으로) 렌더링되는 것을 유저가 개시하는 것을 허용하는 상호 작용 엘리먼트 및/또는 입력 엘리먼트(48)를 제공한다.
이미지 및 주석 파일이 생성된 이후, 이 데이터는, 검출, 세분화, 분류, 등등과 같은 다양한 애플리케이션으로부터 선택하기 위해 유저가 UI를 사용할 수 있는 컴퓨터 비전 플랫폼 상으로 전달된다(및/또는 데이터는 머신 러닝 유닛(14) 상으로 전달된다). 이것은 간단한 드랍다운 메뉴를 사용하여 행해질 수 있고 트레이닝이 시작되어, 심지어 기술자가 아닌 사람도 합성 데이터 생성기 도구 UI를 사용하여 최소의 시간과 노력으로 데이터를 생성하고, 그것을 라벨링하고 트레이닝을 시작하는 것을 매우 쉽게 만든다.
도 3 내지 도 6은, 예를 들면, 상이한 관심 오브젝트 및/또는 유저에 의해 설정되는 상이한 (렌더) 파라미터에 대한 상이한 유저 설정을 갖는 도 2로부터의 유저 인터페이스(30)를 도시한다. 동일한 참조 부호는 기술적으로 동일한 또는 동일한 효과를 갖는 엘리먼트를 가리킨다.
도 3은, 유저가 트레이닝을 위해 소정의 각도로부터만 오브젝트를 캡쳐하기를 원하는 경우, 렌더링된 이미지(I2)에서 모델의 롤 및 피치를 제어할 가능성을 (유저에게) 제공하는 시스템(및/또는 유저 인터페이스를 제공하기 위한 수단 및/또는 디바이스)에 의해 제공되는 피쳐를 예시한다.
여기에서, 관심 오브젝트에 대해, 십자 형상의 삼차원 오브젝트가 사용된다. 참조 부호 13은 이 관심 오브젝트의 렌더링된 모델을 나타낸다. 여기에서, 3 개의 광원이 25 %의 강도 변동(참조 부호 75 참조)을 가지고 유저에 의해 설정된다(참조 부호 74 참조). 이들 선택된 조명 조건은 백그라운드 섹션(13b)에서의 그림자(13a) 및 상부 백그라운드 섹션(13c)에서의 밝기 변동을 초래한다.
동일한 모델이 렌더링되지만 그러나 상이한 렌더 파라미터를 갖는 도 3 및 도 4의 비교로부터 알 수도 있는 바와 같이, 줌 파라미터(58)는 도 3에서 예시되는 유저 설정에 따라 범위 90 내지 100 %로 설정되고, 한편, 도 4에서 예시되는 유저 인터페이스(30)에서 묘사되는 유저 설정에 따른 줌 파라미터(58)는 상이한 범위 51 내지 57 %로 설정된다.
여기에서, 주어진 줌 값은 카메라에 얼마나 가깝게 오브젝트가 렌더링되는지를 정의한다. 렌더링된 이미지에서 더 작은 사이즈의 모델이 필요로 되는 경우, 줌 범위를 감소시킨다. 특히, 90 내지 100 %의 최대 줌 범위도 가능하다.
더구나, 도 3 및 도 4의 비교로부터 알 수도 있는 바와 같이, 도 3의 유저 인터페이스(30)에서 입력되는 유저 설정에서, 롤 각도(62)는, 도 4에서의 5°의 롤 각도(62)와 비교하여 도 3의 설정에서 더 큰 360°의 값을 가지며, 한편, 시야각(60)에 대한 입력 값은 도 4(43°)와 비교하여 도 3(23°)에서 더 작다.
롤 각도(62)에 대한 유저 입력은, 유저가 렌더링된 모델의 롤을 0°와 360° 사이에서 제어하는 것을 허용한다.
바람직하게는, 시야각(60)은 (유저에 의한 유저 입력을 통해) 0°와 360° 사이에서 제어될 수 있다. 제로의 시야각(60)은, 특히, 렌더링된 이미지의 시야각이 카메라를 향하는 면에 항상 고정된다는 것을 의미한다. 360°의 시야각(60)은, (관심) 오브젝트 사방으로부터 이미지가 렌더링된다는 것을 의미한다.
예를 들면, 도 4로부터 알 수도 있는 바와 같이, (다른 도면 도 2, 도 3, 도 5, 도 6에서와 같이) 여기에서 예시되는 유저 인터페이스는 유저 인터페이스에서 텍스쳐화된 주의 분산 오브젝트의 개수 또는 양(70)을 추가하고 제어하기 위한 (시스템에 의해 제공되는 및/또는 유저 인터페이스를 제공하기 위한 디바이스 및/또는 수단에 의해 제공되는) 피쳐를 시각화한다. 참조 부호(68)는 주의 분산 오브젝트를 추가하기 위해 선택될 수도 있는 파라미터를 나타낸다.
주의 분산 오브젝트(17)(도 5 참조)는 데이터세트에 랜덤성을 제공하는 것을 가능하게 한다. 합성 트레이닝 데이터 세트를 생성하기 위한 제안된 방법 및/또는 시스템은, 바람직하게는, 로딩된 모델과 유사한 텍스쳐를 갖는 랜덤 개수의 오브젝트를, 필요로 되는 주의 분산 오브젝트의 개수에 대한 설정된 최대 개수의 입력 값(70)에 따라, 렌더링된 파라미터 세트에 추가하는 능력을 가지고 있다.
도 5는 합성 트레이닝 데이터 세트를 생성하기 위한, 즉, (UI와 함께) 참조 부호 92에 의해 나타내어지는 커스텀 백그라운드 및 랜덤 백그라운드를 가지기 위한 시스템 및/또는 방법의 다른 바람직한 피쳐를 예시한다. 참조 부호 90은 상호 작용 섹션(40)의 한 섹션을 나타내는데, 여기서 유저는 트레이닝 이미지(I4)에서 관심 오브젝트(여기서는 비행 헬멧)의 렌더링된 모델(15)의 백그라운드(19)와 관련하여 파라미터를 설정할 수도 있다.
바람직하게는, 전체 데이터세트에 대해 랜덤하게 선택되는 특히 내장된 백그라운드 이미지의 대규모 콜렉션이 (바람직하게는 시스템 및/또는 트레이닝 데이터 생성 유닛(12)에 의해) 제공된다. 유저가 커스텀 이미지를 사용하기 위한 옵션은 참조 부호 94에 의해 나타내어진다. 바람직하게는, 유저는 렌더링 데이터세트에 대한 자체 커스텀 백그라운드를 업로드하기 위한 능력을 갖는다. 이미지 업로드를 위해 제공되는 상호 작용 엘리먼트는 참조 부호 96에 의해 나타내어진다.
도 6은,트레이닝 이미지(I4)(백그라운드(19) 참조)와 비교하여 백그라운드(21)로서 상이한 백그라운드 이미지가 (내장된 백그라운드 이미지의 큰 콜렉션으로부터) (특히 랜덤하게) 선택되는 트레이닝 데이터 생성 유닛(12) 및/또는 합성 트레이닝 데이터 세트를 생성하기 위한 시스템 및/또는 방법에 의해 생성되는 트레이닝 이미지(I5)를 도시한다.
도 5에서와 같이, UI의 미리 보기 모드에서 디스플레이되는 생성된 트레이닝 이미지는 동일한 관심 오브젝트(비행 헬멧)의 렌더링된 모델을 포함하지만, 그러나, 상이한 롤 및 피치 파라미터를 갖는다.
여기에서, (도 5의 결과적으로 나타나는 트레이닝 이미지(I4)와는 대조적으로) 결과적으로 나타나는 트레이닝 이미지(I5)에서는 주의 분산 오브젝트가 포함되지 않는다.
유저는 트레이닝을 위해 필요로 되는 44 개의 이미지 및 주석 파일, 필요한 이미지 해상도 및 또한 사용될 라벨(또한 도 2의 참조 부호 46 참조)을 입력하는 능력을 갖는다.
본 출원인은, 종래 기술을 고려하여, 출원 문서에 개시되는 모든 피쳐가, 개별적으로 또는 조합하여, 새로운 것인 한, 그들을 본 발명의 필수 피쳐인 것으로 주장할 권리를 유보한다. 더구나, 도면에서는, 개별적으로 유리할 수 있는 피쳐가 설명된다는 것을 유의한다. 기술 분야에서 숙련된 누군가는, 도면에 개시되고 있는 특정한 피쳐가, 이 도면으로부터의 추가적인 피쳐의 채택이 없어도, 또한 유리할 수 있다는 것을 직접적으로 인식할 것이다. 더구나, 기술 분야에서 숙련된 누군가는, 하나의 또는 다양한 도면에 개시되고 있는 다양한 피쳐의 조합으로부터 이점이 진화할 수 있다는 것을 인식할 것이다.
10 모델
8 트레이닝 데이터 생성을 위해 사용될 3D 모델
11, 13 관심 오브젝트의 렌더링된 모델
11a, 13a 그림자
11b, c, 13a, b 백그라운드 섹션
13d 백그라운드
12 트레이닝 데이터 생성 유닛
13a 그림자
14 머신 러닝 유닛
15 관심 오브젝트의 렌더링된 모델
17 주의 분산 오브젝트
19 트레이닝 이미지의 백그라운드
20 오브젝트 검출
21 백그라운드
22 이상 검출
24 생산 시설에서의 품질 제어
30 유저 인터페이스
32, 34, 36, 38, 44, 46, 48 상호 작용 엘리먼트, 입력 엘리먼트
40 상호 작용 섹션
50 모델 설정
52 최대 인스턴스 카운트
54 뷰 랜덤화
56 시야
58 줌 파라미터
60 시야각
61 이미지의 렌더링 및 라벨링의 단계
62 롤 각도
63 데이터 파일의 생성
64, 66, 68 파라미터
70 주의 분산 오브젝트의 양
72 조명 조건
74 광원의 개수
76 광 세기
80, 82, 84, 86, 88 사후 프로세싱 파라미터
90 백그라운드
92 디폴트 이미지의 사용
94 커스텀 이미지의 사용
96 이미지의 업로드
E 평가 유닛
G 트레이닝 데이터 세트의 자동화된 생성
I1 - I5 렌더링 이미지, 트레이닝 이미지
M 모델 가져오기의 단계
P 화살표
T 신경망의 트레이닝
T1 트레이닝을 위한 이미지, 주석 데이터의 사용

Claims (15)

  1. 공간적으로 분해된 센서 데이터(spatially resolved sensor data)가 적어도 하나의 유저 정의 관심 오브젝트(user defined object of interest)와 관련하여 프로세싱 및 평가되는, 적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법으로서,
    - 유저 입력 데이터에 기초하여 유저 정의 관심 오브젝트의 적어도 하나의 모델(10)을 수신하는 단계;
    - 유저 입력 데이터에 기초하여 적어도 하나의 렌더 파라미터(60), 및 복수의 렌더 파라미터(56, 58, 60, 62, 64, 66)를 결정하는 단계;
    - 상기 적어도 하나의 렌더 파라미터(60)에 기초하여 상기 관심 오브젝트의 상기 적어도 하나의 모델(10)을 렌더링하는 것에 의해 트레이닝 이미지(I2, I3)의 세트를 생성하는 단계;
    - 상기 적어도 하나의 관심 오브젝트에 대한 상기 트레이닝 이미지(I1)의 세트에 대한 주석 데이터를 생성하는 단계;
    - 상기 유저에게 출력되는 것 및 상기 컴퓨터 비전 모델을 트레이닝시키는 것 중 적어도 하나를 위해 상기 트레이닝 이미지(I2, I3)의 세트 및 상기 주석 데이터를 포함하는 트레이닝 데이터 세트를 제공하는 단계
    를 포함하는, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    유저 인터페이스(30)와 통신하는 단계를 포함하되,
    상기 유저 인터페이스(30)는 상기 적어도 하나의 모델(10), 상기 적어도 하나의 렌더 파라미터(60), 및 복수의 렌더 파라미터(56, 58, 60, 62, 64, 66), 생성된 트레이닝 이미지 및 출력될 트레이닝 이미지 중 적어도 한 트레이닝 이미지의 개수, 및 생성될 상기 주석 데이터 중 적어도 하나와 관련하여 유저 입력 데이터가 상기 유저에 의해 입력되는 유저 입력 디바이스로서 구성되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  3. 제1항 또는 제2항에 있어서,
    유저 입력 데이터에 기초하여 적어도 하나의 렌더 파라미터, 및 복수의 렌더 파라미터를 결정하기 위해, 상기 적어도 하나의 렌더 파라미터, 및 상기 복수의 렌더 파라미터는 상기 유저 입력 데이터를 고려하여 랜덤하게 결정되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 트레이닝 이미지(I2, I3)의 세트를 생성하기 위해, 적어도 하나의 백그라운드 이미지(13b, 13c), 및 복수의 백그라운드 이미지(13b, 13c; 13d)가 유저 입력 데이터에 기초하여 결정되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    적어도 하나의 백그라운드 이미지(21)가 유저 입력 데이터(94, 96)에 기초하여 수신되되, 상기 적어도 하나의 백그라운드 이미지는 적어도 하나의 트레이닝 이미지(I2, I3)를 생성하기 위해 사용되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  6. 제1항 또는 제2항에 있어서,
    상기 트레이닝 이미지(I2, I3)의 세트를 생성하기 위해, 백그라운드 이미지(13d)의 세트가 복수의 백그라운드 이미지(92)로부터 랜덤하게 선택되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  7. 제1항 또는 제2항에 있어서,
    각 트레이닝 이미지(I2, I3)는 실사적인(photorealistic) 백그라운드 이미지(13a, 13b, 13d)에 기초하여 생성되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  8. 제1항 또는 제2항에 있어서,
    상기 적어도 하나의 렌더 파라미터는, 상기 관심 오브젝트의 뷰에 대한 특성, 시야(56)에 대한 특성, 상기 관심 오브젝트의 사이즈 및 줌 범위(58) 중 적어도 하나에 대한 특성, 상기 트레이닝 이미지 내의 상기 적어도 하나의 렌더링된 관심 오브젝트의 방위 및 포지션 중 적어도 하나에 대한 특성, 뷰 각도(60)에 대한 특성, 렌더링된 모델의 롤(62)에 대한 특성 또는 상기 적어도 하나의 관심 오브젝트의 회전 및 병진 중 적어도 하나에 대한 특성, 상기 적어도 하나의 관심 오브젝트의 크롭핑(64)에 대한 특성, 상기 관심 오브젝트의 폐색(66)에 대한 특성, 또는 모델 인스턴스의 개수(52)에 대한 특성, 또는 이들의 조합인 렌더 파라미터의 그룹으로부터 선택되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  9. 제1항 또는 제2항에 있어서,
    상기 적어도 하나의 렌더 파라미터는, 주의 분산 오브젝트(distraction object)(70)의 개수에 대한 파라미터 특성, 상기 트레이닝 이미지의 조명 조건(72)에 대한 파라미터 특성, 상기 트레이닝 이미지에서의 상기 오브젝트 및 백그라운드 중 적어도 하나의 조명에 대한 파라미터 특성, 광원의 개수(74)에 대한 파라미터 특성, 광 강도의 변동(76)에 대한 파라미터 특성, 컬러 변동의 변동에 대한 파라미터 특성, 상기 렌더링된 이미지 및 상기 트레이닝 이미지 중 적어도 하나에서의 그림자, 블러(84), 및 노이즈(88) 중 적어도 하나의 포함에 대한 파라미터 특성, 또는 이들의 조합을 포함하는 렌더 파라미터의 그룹으로부터 선택되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    복수의 주의 분산 오브젝트로부터 랜덤하게 선택되는 적어도 하나의 주의 분산 오브젝트(17)는 적어도 하나의 트레이닝 이미지, 및 복수의 트레이닝 이미지에서 포함되는 것인, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  11. 제10항에 있어서,
    상기 유저 정의 관심 오브젝트의 텍스쳐에 대한 특성인 적어도 하나의 텍스쳐 파라미터를 결정하는 단계 및
    상기 적어도 하나의 트레이닝 이미지에서 포함될 적어도 하나의 주의 분산 오브젝트(17)를 상기 적어도 하나의 결정된 텍스쳐 파라미터에 기초하여 조정하는 단계
    를 포함하는, 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법.
  12. 적어도 하나의 센서 디바이스에 의해 생성되는 공간적으로 분해된 센서 데이터가 적어도 하나의 유저 정의 관심 오브젝트와 관련하여 프로세싱 및 평가되는, 적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 컴퓨터 구현 방법으로서,
    상기 머신 러닝 컴퓨터 비전 모델은 트레이닝 가능한 파라미터의 세트를 포함하되,
    상기 방법은,
    제1항 또는 제2항에 따른 트레이닝 데이터 세트를 생성하는 단계 및
    상기 트레이닝 데이터 세트에 기초하여 상기 머신 러닝 컴퓨터 비전 모델을 트레이닝시키는 단계
    를 포함하는 것을 특징으로 하는, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 컴퓨터 구현 방법.
  13. 제12항에 있어서,
    제공된 상기 트레이닝 데이터 세트를 사용하여 트레이닝된 상기 컴퓨터 구현 비전 모델을 평가하는 단계 및
    상기 컴퓨터 구현 비전 모델의 정확도에 대한 특성인 평가 파라미터를 결정하는 단계
    를 포함하는, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 컴퓨터 구현 방법.
  14. 제13항에 있어서,
    상기 평가 파라미터에 의존하여 트레이닝 데이터의 또 다른 세트를 생성하고 제공하는 단계
    를 포함하는, 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 컴퓨터 구현 방법.
  15. 공간적으로 분해된 센서 데이터가 적어도 하나의 유저 정의 관심 오브젝트와 관련하여 프로세싱 및 평가되는, 적어도 하나의 유저 정의 컴퓨터 비전 태스크를 수행하기 위한 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 시스템으로서,
    상기 시스템은,
    적어도 하나의 렌더 파라미터(60)에 기초하여 관심 오브젝트의 적어도 하나의 모델(10)을 렌더링하는 것에 의해 트레이닝 이미지(I2, I3)의 세트를 생성하도록, 그리고
    상기 적어도 하나의 관심 오브젝트와 관련하여 상기 트레이닝 이미지(I2, I3)의 세트에 대한 주석 데이터를 생성하도록
    구성된 트레이닝 데이터 생성 유닛(12)을 포함하되,
    상기 트레이닝 데이터 생성 유닛(12)은 유저 입력 데이터에 기초하여 상기 관심 오브젝트의 적어도 하나의 모델(10)을 수신하도록 구성되고,
    상기 트레이닝 데이터 생성 유닛(12)은 유저 입력 데이터에 기초하여 상기 적어도 하나의 렌더 파라미터(60), 및 복수의 렌더 파라미터를 결정하도록 구성되며,
    상기 트레이닝 데이터 생성 유닛(12)은 상기 유저에게 출력되는 것 및 상기 컴퓨터 비전 모델을 트레이닝시키는 것 중 적어도 하나를 위해 상기 트레이닝 이미지(I2, I3)의 세트 및 상기 주석 데이터를 포함하는 트레이닝 데이터 세트를 제공하도록 구성되는 것
    을 특징으로 하는, 합성 트레이닝 데이터 세트를 생성하기 위한 시스템.
KR1020220072954A 2021-06-16 2022-06-15 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법 및 시스템 KR20220168573A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21179758.4A EP4105826A1 (en) 2021-06-16 2021-06-16 Computer-implemented method and system for generating a synthetic training data set for training a machine learning computer vision model
EP21179758.4 2021-06-16

Publications (1)

Publication Number Publication Date
KR20220168573A true KR20220168573A (ko) 2022-12-23

Family

ID=76483219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220072954A KR20220168573A (ko) 2021-06-16 2022-06-15 머신 러닝 컴퓨터 비전 모델을 트레이닝시키기 위한 합성 트레이닝 데이터 세트를 생성하기 위한 컴퓨터 구현 방법 및 시스템

Country Status (4)

Country Link
US (1) US20220405587A1 (ko)
EP (1) EP4105826A1 (ko)
KR (1) KR20220168573A (ko)
CN (1) CN115482322A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102600092B1 (ko) 2022-10-13 2023-11-09 주식회사 심투리얼 합성 데이터의 생성 품질 향상을 위한 도메인 적응을 통한 실제 데이터와 합성 데이터의 분류 시스템 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230092514A (ko) * 2021-12-17 2023-06-26 삼성전자주식회사 렌더링 방법 및 장치
CN117036571B (zh) * 2023-09-28 2024-01-26 光轮智能(北京)科技有限公司 图像数据生成、视觉算法模型训练、评测方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008057979B4 (de) 2008-11-19 2018-10-31 Airbus Defence and Space GmbH Lerneinheit für ein Objekterkennungssystem und Objekterkennungssytem
CN111512344A (zh) 2017-08-08 2020-08-07 西门子股份公司 使用增强用生成式对抗神经网络从cad数据生成合成深度图像
EP3841517A1 (en) * 2018-08-20 2021-06-30 Yield Systems Oy Method and system for generating annotated training data
US10489683B1 (en) 2018-12-17 2019-11-26 Bodygram, Inc. Methods and systems for automatic generation of massive training data sets from 3D models for training deep learning networks
US10909349B1 (en) * 2019-06-24 2021-02-02 Amazon Technologies, Inc. Generation of synthetic image data using three-dimensional models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102600092B1 (ko) 2022-10-13 2023-11-09 주식회사 심투리얼 합성 데이터의 생성 품질 향상을 위한 도메인 적응을 통한 실제 데이터와 합성 데이터의 분류 시스템 및 그 방법

Also Published As

Publication number Publication date
CN115482322A (zh) 2022-12-16
EP4105826A1 (en) 2022-12-21
US20220405587A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
US10740694B2 (en) System and method for capture and adaptive data generation for training for machine vision
CN108875633B (zh) 表情检测与表情驱动方法、装置和系统及存储介质
US20220405587A1 (en) Computer-implemented method and system for generating a synthetic training data set for training a machine learning computer vision model
CN104732585B (zh) 一种人体体型重构的方法及装置
CN108961369B (zh) 生成3d动画的方法和装置
CA3150045A1 (en) Dynamically estimating light-source-specific parameters for digital images using a neural network
US20180144237A1 (en) System and method for body scanning and avatar creation
Wong et al. Synthetic dataset generation for object-to-model deep learning in industrial applications
CN108701352A (zh) 使用基于三维对象模型的识别的图像修改与增强
US11256958B1 (en) Training with simulated images
US20140056476A1 (en) Incorporating video meta-data in 3d models
CN106169082A (zh) 训练分类器以检测目标环境图像中的对象的方法和系统
KR20180082170A (ko) 3차원 얼굴 모델 획득 방법 및 시스템
CN106797458A (zh) 真实对象的虚拟改变
US20180204387A1 (en) Image generation device, image generation system, and image generation method
CN117083640A (zh) 使用对面部表情的选择在线上社区的内容中的面部合成
US10079966B2 (en) Systems and techniques for capturing images for use in determining reflectance properties of physical objects
Arents et al. Synthetic data of randomly piled, similar objects for deep learning-based object detection
Englert et al. Enhancing the ar experience with machine learning services
CN112634439B (zh) 一种3d信息展示方法及装置
Pomaska Monitoring the deterioration of stone at Mindener Museum's Lapidarium
Pucihar et al. FUSE: Towards AI-Based Future Services for Generating Augmented Reality Experiences
Hempe Bridging the gap between rendering and simulation frameworks: concepts, approaches and applications for modern multi-domain VR simulation systems
Klomann et al. Improving mobile MR applications using a cloud-based image segmentation approach with synthetic training data
Porral et al. Iso photographic rendering