KR20220140947A - 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템 - Google Patents

이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템 Download PDF

Info

Publication number
KR20220140947A
KR20220140947A KR1020210046864A KR20210046864A KR20220140947A KR 20220140947 A KR20220140947 A KR 20220140947A KR 1020210046864 A KR1020210046864 A KR 1020210046864A KR 20210046864 A KR20210046864 A KR 20210046864A KR 20220140947 A KR20220140947 A KR 20220140947A
Authority
KR
South Korea
Prior art keywords
image
bounding box
data set
training data
shape
Prior art date
Application number
KR1020210046864A
Other languages
English (en)
Other versions
KR102591222B1 (ko
Inventor
강민석
Original Assignee
엔에이치엔클라우드 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔클라우드 주식회사 filed Critical 엔에이치엔클라우드 주식회사
Priority to KR1020210046864A priority Critical patent/KR102591222B1/ko
Publication of KR20220140947A publication Critical patent/KR20220140947A/ko
Application granted granted Critical
Publication of KR102591222B1 publication Critical patent/KR102591222B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

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

Abstract

본 발명의 실시예에 따른 이미지 기반 트레이닝 데이터 셋 생성 방법은, 컴퓨팅 장치의 적어도 하나 이상의 프로세서에 의하여 실행되는 트레이닝 데이터 셋 생성 애플리케이션이 이미지 기반의 트레이닝 데이터 셋을 생성하는 방법으로서, 제1 오브젝트 디텍터(Object detector)를 기초로 제1 이미지 내 오브젝트를 검출하는 단계; 상기 검출된 제1 이미지 내 오브젝트에 대한 바운딩 박스(Bounding box)를 상기 제1 이미지 상에 표시하는 제2 이미지를 생성하는 단계; 상기 생성된 제2 이미지 내 바운딩 박스를 변경 가능한 사용자 편집 인터페이스를 제공하는 단계; 상기 사용자 편집 인터페이스를 기초로 확정된 바운딩 박스를 상기 제1 이미지 상에 표시하는 제3 이미지를 생성하는 단계; 상기 생성된 제3 이미지에 기반한 트레이닝 데이터 셋(Training data set)을 생성하는 단계; 및 상기 생성된 트레이닝 데이터 셋을 기초로 타겟 오브젝트 디텍터(Target object detectior)를 학습시키는 단계를 포함한다.

Description

이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템{METHOD AND SYSTEM FOR GENERATING IMAGE-BASED TRAINING DATA SET}
본 발명은 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템에 관한 것이다. 보다 상세하게는, 오브젝트 디텍터(Object detector)를 이용하여 이미지 기반의 트레이닝 데이터 셋을 생성하는 방법 및 시스템에 관한 것이다.
컴퓨터 비전(CV, Computer Vision) 분야는, 인간이 시각을 통해 수행할 수 있는 작업을 공학적으로 해석하여 기계로 하여금 동일한 처리를 할 수 있도록 자율적인 시스템을 구축하는 것을 목표로 하는 연구 분야이다.
최근 딥러닝(Deep learning)의 적용으로 성능의 비약적인 향상을 이루었으며 합성곱 신경망(Convolutional Neural Network, 이하 CNN) 알고리즘의 사용이 대표적인 예이다.
특히, 상기 합성곱 신경망(CNN)은, 이미지나 영상 인식, 자연어 처리 및/또는 게임 등의 많은 분야에 적용되어 우수한 결과를 보여주고 있다.
예를 들면, 상기 합성곱 신경망(CNN) 모델은, 이미지 분류(Image Classification) 기술을 적용하는데 많이 활용되고 있다.
여기서, 상기 이미지 분류란, 주어진 영상 또는 영상 내 오브젝트가 무엇인지를 분류하는 기술이며, 사람의 눈으로 보고 있는 객체가 무엇인지에 대한 판단을 내리는 작업을 인공지능으로 구현하는 기술로서 다양한 분야에서 활발한 연구 및 상용화를 진행하고 있다.
이때, 위와 같은 딥러닝 인공 신경망을 학습시키기 위해서는 상당히 많은 양의 학습 데이터가 필요하다.
자세히, 상기 딥러닝 인공 신경망(대표적으로, CNN 등)을 학습시키기 위한 이미지 기반의 트레이닝 데이터 셋(Training data set)은, 일반적으로 학습에 활용하는 이미지-정답 쌍으로 구성되어 있다.
구체적으로, 상기 이미지 기반의 트레이닝 데이터 셋은, 소정의 이미지와, 해당 이미지에 대한 정답 데이터를 포함하여야 한다.
그러나 상기 CNN 모델 등과 같은 딥러닝 인공 신경망의 학습에 필요한 트레이닝 데이터 셋은, 트레이닝을 위해 필요시 되는 이미지-정답 쌍의 데이터가 상당히 방대한 양임에도 불구하고, 해당하는 이미지 별 정답 데이터를 사람이 일일이 수동으로 직접 만들어 주어야 한다는 어려움이 있다.
자세히, 종래에 트레이닝 데이터 셋의 정답 데이터(예컨대, 이미지 내 오브젝트의 위치 정답 데이터 셋(VGG Image Annotator) 등)를 생성하기 위해서는, 사람이 주어진 이미지를 보고 해당 이미지에서 발견되는 물체의 위치 및/또는 종류를 일일이 지정하고 표기하여 해당하는 딥러닝 인공 신경망의 학습을 위한 정답 데이터를 수동으로 생성해 주어야 한다.
즉, 일례로 소정의 오브젝트 디텍터(Object detector)를 학습시키려는 경우, 상기 오브젝트 디텍터가 소정의 이미지로부터 검출해야하는 정답 오브젝트를 포함하는 적어도 하나 이상의 바운딩 박스(Bounding Box)를 사람이 일일이 지정하여 주는 공수가 해당하는 바운딩 박스의 개수만큼 필요시 된다.
이 때문에, 위와 같은 딥러닝 인공 신경망의 학습에 필요한 트레이닝 데이터 셋을 구축하는데 상당한 시간과 비용이 소모된다는 문제점이 있어, 이를 해결하기 위한 기술의 개발 및 도입이 필요한 실정이다.
KR 10-2020-0055841 A
본 발명은, 상술된 바와 같은 문제점들을 해결하기 위하여 안출된 것으로서, 소정의 오브젝트 디텍터(Object detector)를 이용하여 이미지 기반의 트레이닝 데이터 셋(Training data set)을 생성하는 방법 및 시스템에 관한 것이다.
다만, 본 발명 및 본 발명의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 실시예에 따른 이미지 기반 트레이닝 데이터 셋 생성 방법은, 컴퓨팅 장치의 적어도 하나 이상의 프로세서에 의하여 실행되는 트레이닝 데이터 셋 생성 애플리케이션이 이미지 기반의 트레이닝 데이터 셋을 생성하는 방법으로서, 제1 오브젝트 디텍터(Object detector)를 기초로 제1 이미지 내 오브젝트를 검출하는 단계; 상기 검출된 제1 이미지 내 오브젝트에 대한 바운딩 박스(Bounding box)를 상기 제1 이미지 상에 표시하는 제2 이미지를 생성하는 단계; 상기 생성된 제2 이미지 내 바운딩 박스를 변경 가능한 사용자 편집 인터페이스를 제공하는 단계; 상기 사용자 편집 인터페이스를 기초로 확정된 바운딩 박스를 상기 제1 이미지 상에 표시하는 제3 이미지를 생성하는 단계; 상기 생성된 제3 이미지에 기반한 트레이닝 데이터 셋(Training data set)을 생성하는 단계; 및 상기 생성된 트레이닝 데이터 셋을 기초로 타겟 오브젝트 디텍터(Target object detectior)를 학습시키는 단계를 포함한다.
이때, 상기 사용자 편집 인터페이스를 제공하는 단계는, 상기 바운딩 박스의 형상을 변경하는 형상 변경 인터페이스를 제공하는 단계를 포함한다.
또한, 상기 형상 변경 인터페이스를 제공하는 단계는, 상기 타겟 오브젝트 디텍터가 감지하고자 하는 오브젝트에 대하여 기설정된 형상의 바운딩 박스인 목표 바운딩 박스를 설정하는 인터페이스를 제공하는 단계를 포함한다.
여기서, 상기 목표 바운딩 박스는, 소정의 n각형(n>2), 상기 n값이 별도로 설정되지 않은 상태의 다각형 또는 자유형태의 도형 중 적어도 하나의 형상으로 설정되는 바운딩 박스이다.
또한, 상기 형상 변경 인터페이스를 제공하는 단계는, 상기 바운딩 박스에 대한 변경 포인트를 제공하는 단계를 더 포함하고, 상기 변경 포인트는, 상기 목표 바운딩 박스의 형상에 따른 소정의 개수만큼 생성되고, 변경하고자 하는 상기 바운딩 박스의 꼭지점 영역 및 선분 영역 중 적어도 하나의 영역 상에 위치되며, 소정의 사용자 입력을 따라서 상기 바운딩 박스의 형상을 변경하는 소정의 지점(point)이다.
또한, 상기 변경 포인트를 제공하는 단계는, 상기 변경 포인트에 대한 상기 사용자 입력에 따라서 상기 바운딩 박스의 형상을 변경하는 단계를 포함하고, 상기 바운딩 박스의 형상을 변경하는 단계는, 상기 목표 바운딩 박스의 형상에 따라서 상기 변경 포인트에 기반한 상기 바운딩 박스의 형태 변경 기준을 다르게 적용하여 상기 바운딩 박스의 형상을 변경하는 단계를 포함한다.
또한, 상기 사용자 편집 인터페이스를 제공하는 단계는, 상기 바운딩 박스의 위치를 변경하는 위치조정 인터페이스를 제공하는 단계와, 상기 바운딩 박스를 제거하는 삭제 인터페이스를 제공하는 단계와, 상기 바운딩 박스를 추가 생성하는 생성 인터페이스를 제공하는 단계 중 적어도 하나 이상의 단계를 더 포함한다.
또한, 상기 사용자 편집 인터페이스를 제공하는 단계는, 상기 바운딩 박스 내 오브젝트를 특정하거나 소정의 카테고리로 분류하는 라벨(Label)을 설정하는 라벨 지정 인터페이스를 제공하는 단계를 더 포함하고, 상기 제3 이미지를 생성하는 단계는, 상기 라벨을 상기 제3 이미지 상에 더 표시하여 생성하는 단계를 포함한다.
또한, 상기 제3 이미지를 생성하는 단계는, 상기 제3 이미지 내 바운딩 박스에 대한 딥러닝 기반의 오브젝트 세그멘테이션(Object segmentation)을 수행하여 상기 라벨을 획득하는 단계와, 상기 획득된 라벨을 상기 제3 이미지 상에 더 표시하여 생성하는 단계를 포함한다.
또한, 상기 트레이닝 데이터 셋(Training data set)을 생성하는 단계는, 상기 제3 이미지를 정답 데이터로 설정하는 단계와, 상기 제3 이미지 및 상기 제3 이미지에 매칭되는 상기 제1 이미지를 쌍으로 하는 이미지-정답 데이터를 생성하는 단계와, 상기 생성된 이미지-정답 데이터를 상기 트레이닝 데이터 셋에 포함시키는 단계를 포함한다.
한편, 본 발명의 실시예에 따른 이미지 기반 트레이닝 데이터 셋 생성 시스템은, 소정의 이미지를 출력하는 적어도 하나 이상의 디스플레이; 적어도 하나 이상의 프로세서; 및 적어도 하나 이상의 메모리; 를 포함하고, 상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 이미지 기반의 트레이닝 데이터 셋을 생성하는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은, 제1 오브젝트 디텍터(Object detector)를 기초로 제1 이미지 내 오브젝트를 검출하고, 상기 검출된 제1 이미지 내 오브젝트에 대한 바운딩 박스(Bounding box)를 상기 제1 이미지 상에 표시하는 제2 이미지를 생성하고, 상기 생성된 제2 이미지 내 바운딩 박스를 변경 가능한 사용자 편집 인터페이스를 제공하고, 상기 사용자 편집 인터페이스를 기초로 확정된 바운딩 박스를 상기 제1 이미지 상에 표시하는 제3 이미지를 생성하고, 상기 생성된 제3 이미지에 기반한 트레이닝 데이터 셋(Training data set)을 생성하고, 상기 생성된 트레이닝 데이터 셋을 기초로 타겟 오브젝트 디텍터(Target object detectior)를 학습시킨다.
본 발명의 실시예에 따른 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템은, 소정의 기존 오브젝트 디텍터(Object detector)를 이용하여 이미지 기반의 트레이닝 데이터 셋(Training data set)을 생성함으로써, 상기 오브젝트 디텍터 및/또는 타 오브젝트 디텍터의 학습에 필요한 트레이닝 데이터 셋의 모든 정답 데이터를 사용자가 일일이 수동으로 생성하지 않더라도, 기존의 오브젝트 디텍터를 활용하여 상기 트레이닝 데이터 셋의 생성에 소요되는 시간과 비용을 현저하게 절감할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템은, 위와 같이 기존의 오브젝트 디텍터를 이용하여 이미지 기반의 트레이닝 데이터 셋을 구축함으로써, 상기 기존 오브젝트 디텍터의 성능이 향상될수록 상기 트레이닝 데이터 셋을 생성하는데 드는 공수를 보다 절감시킬 수 있는 효과가 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 명확하게 이해될 수 있다.
도 1은 본 발명의 실시예에 따른 컴퓨팅 장치의 내부 블록도이다.
도 2는 본 발명의 실시예에 따른 이미지 기반 트레이닝 데이터 셋 생성 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시예에 따른 제2 이미지를 나타내는 모습의 일례이다.
도 4는 본 발명의 실시예에 따른 위치조정 인터페이스를 설명하기 위한 도면의 일례이다.
도 5는 본 발명의 실시예에 따른 삭제 인터페이스를 설명하기 위한 도면의 일례이다.
도 6은 본 발명의 실시예에 따른 생성 인터페이스를 설명하기 위한 도면의 일례이다.
도 7은 본 발명의 실시예에 따른 라벨 지정 인터페이스를 설명하기 위한 도면의 일례이다.
도 8은 본 발명의 실시예에 따른 형상 변경 인터페이스를 설명하기 위한 도면의 일례이다.
도 9는 본 발명의 실시예에 따른 변경 포인트를 생성하는 방법을 설명하기 위한 도면의 일례이다.
도 10은 본 발명의 실시예에 따른 변경 포인트를 이용하여 바운딩 박스의 형상을 변경하는 방법을 설명하기 위한 도면의 일례이다.
도 11은 본 발명의 실시예에 따른 제3 이미지를 나타내는 모습의 일례이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
- 컴퓨팅 장치(Computing Device: 100)
본 발명의 실시예에 따른 컴퓨팅 장치(100)는, 소정의 오브젝트 디텍터(Object detector)를 이용하여 이미지 기반의 트레이닝 데이터 셋(Training data set)을 생성하는 이미지 기반 트레이닝 데이터 셋 생성 서비스(이하, 트레이닝 데이터 셋 생성 서비스)를 제공할 수 있다.
자세히, 본 발명의 실시예에서 컴퓨팅 장치(100)는, 트레이닝 데이터 셋 생성 서비스를 제공하는 트레이닝 데이터 셋 생성 애플리케이션(111: 이하, 트레이닝 애플리케이션)이 설치된 소정의 컴퓨팅 디바이스일 수 있다.
자세히, 하드웨어적 관점에서 컴퓨팅 장치(100)는, 트레이닝 애플리케이션(111)이 설치된 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등을 포함할 수 있다.
여기서, 모바일 타입 컴퓨팅 장치(100-1)는, 트레이닝 애플리케이션(111)이 설치된 스마트 폰이나 테블릿 PC와 같은 모바일 장치일 수 있다.
예를 들어, 모바일 타입 컴퓨팅 장치(100-1)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다.
또한, 데스크탑 타입 컴퓨팅 장치(100-2)는, 트레이닝 애플리케이션(111)이 설치된 고정형 데스크탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 유/무선 통신을 기반으로 트레이닝 데이터 셋 생성 서비스를 실행하기 위한 프로그램이 설치된 장치 등을 포함할 수 있다.
또한, 실시예에 따라서 컴퓨팅 장치(100)는, 트레이닝 데이터 셋 생성 서비스 환경을 제공하는 소정의 서버(Server) 컴퓨팅 디바이스를 더 포함할 수도 있다.
도 1은 본 발명의 실시예에 따른 컴퓨팅 장치(100)의 내부 블록도이다.
한편, 도 1을 참조하면, 기능적 관점에서 컴퓨팅 장치(100)는, 메모리(110), 프로세서 어셈블리(120), 통신 모듈(130), 인터페이스 모듈(140), 입력 시스템(150), 센서 시스템(160) 및 디스플레이 시스템(170)을 포함할 수 있다. 이러한 구성요소들은 컴퓨팅 장치(100)의 하우징 내에 포함되도록 구성될 수 있다.
자세히, 메모리(110)에는, 트레이닝 애플리케이션(111)이 저장되며, 트레이닝 애플리케이션(111)은 트레이닝 데이터 셋 생성 서비스 환경을 제공하기 위한 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
즉, 메모리(110)는, 트레이닝 데이터 셋 생성 서비스 환경을 생성하기 위하여 사용될 수 있는 명령 및 데이터를 저장할 수 있다.
또한, 상기 메모리(110)는, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 컴퓨팅 장치(100)를 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 컴퓨팅 장치(100)의 사용에 따라 발생하는 데이터가 저장될 수 있다.
또한, 메모리(110)는, 적어도 하나 이상의 비일시적 컴퓨터 판독 가능 저장매체와, 일시적 컴퓨터 판독 가능 저장매체를 포함할 수 있다.
예를 들어, 메모리(110)는, ROM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 메모리(110)의 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수 있다.
프로세서 어셈블리(120)는, 트레이닝 데이터 셋 생성 서비스 환경을 생성하기 위한 다양한 작업을 수행하기 위해, 메모리(110)에 저장된 트레이닝 애플리케이션(111)의 명령들을 실행할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다.
실시예에서 프로세서 어셈블리(120)는, 트레이닝 데이터 셋 생성 서비스를 제공하기 위하여 메모리(110)의 트레이닝 애플리케이션(111)을 통해 구성요소의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서 어셈블리(120)는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 컴퓨팅 장치(100)에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리(110)에 저장된 운영체제(OS) 및/또는 애플리케이션 프로그램 등을 실행할 수 있고, 컴퓨팅 장치(100)에 탑재된 각 구성요소들을 제어할 수 있다.
또한, 프로세서 어셈블리(120)는, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서 어셈블리(120)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 포함하여 구현될 수 있다.
통신 모듈(130)은, 외부의 장치와 통신하기 위한 하나 이상의 장치를 포함할 수 있다. 이러한 통신 모듈(130)은, 무선 네트워크를 통해 통신할 수 있다.
자세히, 통신 모듈(130)은, 트레이닝 데이터 셋 생성 서비스 환경을 구현하기 위한 콘텐츠 소스를 저장한 컴퓨팅 장치(100)와 통신할 수 있으며, 사용자 입력을 받은 컨트롤러와 같은 다양한 사용자 입력 컴포넌트와 통신할 수 있다.
실시예에서, 통신 모듈(130)은, 트레이닝 데이터 셋 생성 서비스와 관련된 각종 데이터를 타 컴퓨팅 장치(100) 및/또는 외부의 서버 등과 송수신할 수 있다.
이러한 통신 모듈(130)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced),5G NR(New Radio), WIFI) 또는 근거리 통신방식 등을 수행할 수 있는 통신장치를 통해 구축된 이동 통신망 상에서 기지국, 외부의 단말, 임의의 서버 중 적어도 하나와 무선으로 데이터를 송수신할 수 있다.
센서 시스템(160)은, 이미지 센서(161), 위치 센서(IMU, 163), 오디오 센서(165), 거리 센서, 근접 센서, 접촉 센서 등 다양한 센서를 포함할 수 있다.
여기서, 이미지 센서(161)는, 컴퓨팅 장치(100) 주위의 물리적 공간에 대한 이미지 및/또는 영상을 캡처할 수 있다.
실시예에서, 이미지 센서(161)는, 트레이닝 데이터 셋 생성 서비스와 관련된 영상(실시예로, 답안 이미지 등)을 촬영하여 획득할 수 있다.
또한, 이미지 센서(161)는, 컴퓨팅 장치(100)의 전면 또는/및 후면에 배치되어 배치된 방향측을 촬영하여 영상을 획득할 수 있으며, 컴퓨팅 장치(100)의 외부를 향해 배치된 카메라를 통해 물리적 공간을 촬영할 수 있다.
이러한 이미지 센서(161)는, 이미지 센서장치와 영상 처리 모듈을 포함할 수 있다. 자세히, 이미지 센서(161)는, 이미지 센서장치(예를 들면, CMOS 또는 CCD)에 의해 얻어지는 정지영상 또는 동영상을 처리할 수 있다.
또한, 이미지 센서(161)는, 영상 처리 모듈을 이용하여 이미지 센서장치를 통해 획득된 정지영상 또는 동영상을 가공해 필요한 정보를 추출하고, 추출된 정보를 프로세서에 전달할 수 있다.
이러한 이미지 센서(161)는, 적어도 하나 이상의 카메라를 포함하는 카메라 어셈블리일 수 있다. 카메라 어셈블리는, 가시광선 대역을 촬영하는 일반 카메라를 포함할 수 있으며, 적외선 카메라, 스테레오 카메라 등의 특수 카메라를 더 포함할 수 있다.
또한, 위와 같은 이미지 센서(161)는, 실시예에 따라서 컴퓨팅 장치(100)에 포함되어 동작할 수도 있고, 외부의 장치(예컨대, 외부의 서버 등)에 포함되어 상술된 통신 모듈 및/또는 인터페이스 모듈에 기초한 연동을 통하여 동작할 수도 있다.
위치 센서(IMU, 163)는, 컴퓨팅 장치(100)의 움직임 및 가속도 중 적어도 하나 이상을 감지할 수 있다. 예를 들어, 가속도계, 자이로스코프, 자력계와 같은 다양한 위치 센서의 조합으로 이루어질 수 있다.
또한, 위치 센서(IMU, 163)는, 통신 모듈(130)의 GPS와 같은 위치 통신 모듈(130)과 연동하여, 컴퓨팅 장치(100) 주변의 물리적 공간에 대한 공간 정보를 인식할 수 있다.
오디오 센서(165)는, 컴퓨팅 장치(100) 주변의 소리를 인식할 수 있다.
자세히, 오디오 센서(165)는, 컴퓨팅 장치(100)를 사용하는 사용자의 음성 입력을 감지할 수 있는 마이크로폰을 포함할 수 있다.
실시예에서 오디오 센서(165)는 트레이닝 데이터 셋 생성 서비스를 위해 필요한 음성 데이터를 사용자로부터 입력 받을 수 있다.
인터페이스 모듈(140)은, 컴퓨팅 장치(100)를 하나 이상의 다른 장치와 통신 가능하게 연결할 수 있다. 자세히, 인터페이스 모듈(140)은, 하나 이상의 상이한 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 장치를 포함할 수 있다.
이러한 인터페이스 모듈(140)을 통해 컴퓨팅 장치(100)는, 여러 입출력 장치들과 연결될 수 있다.
예를 들어, 인터페이스 모듈(140)은, 헤드셋 포트나 스피커와 같은 오디오 출력장치와 연결되어, 오디오를 출력할 수 있다.
예시적으로 오디오 출력장치가 인터페이스 모듈(140)을 통해 연결되는 것으로 설명하였으나, 컴퓨팅 장치(100) 내부에 설치되는 실시예도 포함될 수 있다.
이러한 인터페이스 모듈(140)은, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port), 전력 증폭기, RF 회로, 송수신기 및 기타 통신 회로 중 적어도 하나를 포함하여 구성될 수 있다.
입력 시스템(150)은 트레이닝 데이터 셋 생성 서비스와 관련된 사용자의 입력(예를 들어, 제스처, 음성 명령, 버튼의 작동 또는 다른 유형의 입력)을 감지할 수 있다.
자세히, 입력 시스템(150)은 버튼, 터치 센서 및 사용자 모션 입력을 수신하는 이미지 센서(161)를 포함할 수 있다.
또한, 입력 시스템(150)은, 인터페이스 모듈(140)을 통해 외부 컨트롤러와 연결되어, 사용자의 입력을 수신할 수 있다.
디스플레이 시스템(170)은, 트레이닝 데이터 셋 생성 서비스와 관련된 다양한 정보를 그래픽 이미지로 출력할 수 있다.
실시예에서, 디스플레이 시스템(170)은, 답안 처리 프로세스 인터페이스, 이미지 센서(161)로부터 센싱된 시험지 이미지 및/또는 테스트 결과정보 등을 표시할 수 있다.
이러한 디스플레이는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
이러한 컴퓨팅 장치(100)의 하우징 내에는 상기 구성요소들이 배치될 수 있으며, 사용자 인터페이스는 사용자 터치 입력을 수신하도록 구성된 디스플레이(171) 상에 터치 센서(173)를 포함할 수 있다.
자세히, 디스플레이 시스템(170)은, 이미지를 출력하는 디스플레이(171)와, 사용자의 터치 입력을 감지하는 터치 센서(173)를 포함할 수 있다.
예시적으로 디스플레이(171)는 터치 센서(173)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린으로 구현될 수 있다. 이러한 터치 스크린은, 컴퓨팅 장치(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 컴퓨팅 장치(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
- 이미지 기반 트레이닝 데이터 셋 생성 방법
이하, 본 발명의 실시예에 따른 컴퓨팅 장치(100)의 적어도 하나 이상의 프로세서에 의하여 실행되는 트레이닝 애플리케이션(111)이 이미지 기반의 트레이닝 데이터 셋을 생성하는 방법을 첨부된 도 2 내지 도 11을 참조하여 상세히 설명한다.
본 발명의 실시예에서 상기 컴퓨팅 장치(100)의 적어도 하나 이상의 프로세서는, 적어도 하나 이상의 메모리(110)에 저장된 적어도 하나 이상의 트레이닝 애플리케이션(111)을 실행하거나 백그라운드 상태로 동작하게 할 수 있다.
이하, 상기 적어도 하나 이상의 프로세서가, 상기 트레이닝 애플리케이션(111)의 명령어를 실행하기 위해 동작하여 상술된 트레이닝 데이터 셋 생성 서비스를 제공하는 방법을 수행하는 것을 상기 트레이닝 애플리케이션(111)이 수행하는 것으로 단축하여 설명한다.
도 2는 본 발명의 실시예에 따른 이미지 기반 트레이닝 데이터 셋 생성 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 실시예에서 상기 컴퓨팅 장치(100)의 적어도 하나 이상의 프로세서에 의하여 실행되거나 백그라운드 상태로 동작하는 트레이닝 애플리케이션(111)은, 제1 오브젝트 디텍터(Object detector)를 이용하여 제1 이미지 내 오브젝트(Object)를 검출할 수 있다. (S101)
여기서, 실시예에 따른 상기 오브젝트 디텍터란, 이미지 내 적어도 하나 이상의 오브젝트에 대한 존재 유무를 감지하는 오브젝트 디텍션(Object detection)을 구현하는 딥러닝 뉴럴 네트워크일 수 있다.
이때, 상기 딥러닝 뉴럴 네트워크는, 컨볼루션 뉴럴 네트워크(CNN, Convolution Neural Network, 예컨대, 유-넷 컨볼루션 뉴럴 네트워크(U-net Convolution Neural Network)) 및 Mask R-CNN 중 적어도 하나의 딥러닝 뉴럴 네트워크를 포함할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 소정의 딥러닝 뉴럴 네트워크 기반의 제1 오브젝트 디텍터(예컨대, YOLO Object Detector 등)와 연동하여, 상기 제1 이미지 내 적어도 하나 이상의 오브젝트를 검출할 수 있다.
이를 통해, 실시예에서 트레이닝 애플리케이션(111)은, 사용자가 소정의 오브젝트 디텍터를 학습시키기 위한 트레이닝 데이터 셋을 구축할 시, 해당 트레이닝 데이터 셋 내 각 이미지에 대하여 학습에 필요한 적어도 하나 이상의 오브젝트를 일일이 선택하거나 지정하여 주지 않더라도, 기존의 오브젝트 디텍터를 활용하여 신속하고 간편하게 해당 오브젝트들을 자동으로 검출해낼 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 검출된 제1 이미지 내 오브젝트에 대한 바운딩 박스를 표시하는 제2 이미지를 생성할 수 있다. (S103)
도 3은 본 발명의 실시예에 따른 제2 이미지를 나타내는 모습의 일례이다.
자세히, 도 3을 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 상기 검출된 제1 이미지 내 적어도 하나 이상의 오브젝트에 대한 바운딩 박스(bounding box)를 상기 제1 이미지 상에 표시하여 제공하는 제2 이미지를 생성할 수 있다.
여기서, 실시예에 따른 상기 바운딩 박스란, 상기 제1 이미지에 포함되는 적어도 하나 이상의 오브젝트 각각에 기준하여 설정된 소정의 영역에 대한 경계를 표시하는 박스일 수 있다.
보다 상세히, 실시예에서 트레이닝 애플리케이션(111)은, 제1 오브젝트 디텍터를 이용하여 상기 제1 이미지로부터 검출된 적어도 하나 이상의 오브젝트 각각에 대한 바운딩 박스를 획득할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 획득된 적어도 하나 이상의 바운딩 박스를 상기 제1 이미지 상에 표시하여 제공하는 제2 이미지를 생성할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 생성된 제2 이미지에 내 바운딩 박스에 대한 사용자 편집 인터페이스를 제공할 수 있다. (S105)
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 상기 생성된 제2 이미지 내 적어도 하나 이상의 바운딩 박스에 대한 변경을 수행할 수 있는 사용자 편집 인터페이스를 제공할 수 있다.
도 4는 본 발명의 실시예에 따른 위치조정 인터페이스를 설명하기 위한 도면의 일례이다.
자세히, 도 4를 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 1) 상기 바운딩 박스에 대한 위치조정 인터페이스를 제공할 수 있다.
즉, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제2 이미지 상의 소정의 바운딩 박스에 대한 위치를 상기 위치조정 인터페이스에 기반한 사용자 입력(예컨대, 드래그 입력 등)에 따라서 이동시키는 변경을 수행할 수 있다.
도 5는 본 발명의 실시예에 따른 삭제 인터페이스를 설명하기 위한 도면의 일례이다.
또한, 도 5를 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 2) 상기 바운딩 박스에 대한 삭제 인터페이스를 제공할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제공되는 삭제 인터페이스를 이용한 사용자 입력(예컨대, 삭제하고자 하는 바운딩 박스에 대한 선택 입력 등)에 기초하여, 상기 제2 이미지 상의 소정의 바운딩 박스에 대한 삭제 프로세스를 수행할 수 있다.
도 6은 본 발명의 실시예에 따른 생성 인터페이스를 설명하기 위한 도면의 일례이다.
또한, 도 6을 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 3) 새로운 바운딩 박스를 생성할 수 있는 생성 인터페이스를 제공할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 상술된 제1 오브젝트 디텍터에 의하여 검출된 바운딩 박스 이외에 새로운 바운딩 박스(이하, 사용자 지정 바운딩 박스)를, 상기 제2 이미지 상에 추가적으로 생성하여 표시할 수 있는 생성 인터페이스를 제공할 수 있다.
실시예에서, 트레이닝 애플리케이션(111)은, 상기 생성 인터페이스에 기초한 사용자 입력(예컨대, 선택 및 드래그 입력 등)에 따라서 상기 제2 이미지 상에 적어도 하나 이상의 사용자 지정 바운딩 박스를 생성할 수 있다.
이를 통해, 트레이닝 애플리케이션(111)은, 상기 제1 오브젝트 디텍터가 상기 제1 이미지로부터 검출하지 못한 오브젝트가 존재하는 경우, 사용자가 해당하는 누락 오브젝트에 대한 바운딩 박스를 직접 지정 및 생성하게 할 수 있고, 이를 통하여 추후 해당 제1 이미지를 기반으로 생성되는 트레이닝 데이터 셋에 대한 신뢰성과 정확도를 향상시킬 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 4) 상기 제2 이미지 상의 바운딩 박스에 대한 라벨(label)을 설정할 수 있는 라벨 지정 인터페이스를 제공할 수 있다.
도 7은 본 발명의 실시예에 따른 라벨 지정 인터페이스를 설명하기 위한 도면의 일례이다.
자세히, 도 7을 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제2 이미지 상에 존재하는 적어도 하나 이상의 바운딩 박스 각각에 대하여 매칭되는 라벨을 변경 또는 생성할 수 있다.
여기서, 실시예에 따른 상기 라벨이란, 상기 바운딩 박스 별로 포함하는 오브젝트를 특정하거나 소정의 카테고리로 분류할 수 있는 표식(예컨대, 소정의 텍스트 등)을 의미할 수 있다.
보다 상세히, 실시예에서 트레이닝 애플리케이션(111)은, 상술된 제1 오브젝트 디텍터를 기반으로 상기 제2 이미지 상의 바운딩 박스 각각에 대하여 기설정되어 있는 라벨을, 상기 제공되는 라벨 지정 인터페이스를 이용한 사용자 입력(예컨대, 텍스트 입력 등)에 기반하여 수정할 수 있다.
예를 들면, 트레이닝 애플리케이션(111)은, 상기 제2 이미지 내 갈매기 오브젝트에 대한 바운딩 박스에 매칭되는 라벨이 상술된 제1 오브젝트 디텍터에 의하여 '새'로 설정되어 있는 경우, 상기 라벨 지정 인터페이스에 기초한 사용자 입력에 따라서 상기 '새'로 설정되어 있는 라벨을 '갈매기'로 변경할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제2 이미지 상의 바운딩 박스 중에서 라벨이 미지정된 바운딩 박스가 존재하는 경우, 해당 바운딩 박스에 대한 라벨을 상기 라벨 지정 인터페이스에 기초한 사용자 입력을 따라서 새롭게 설정하여 줄 수 있다.
실시예로, 트레이닝 애플리케이션(111)은, 상기 제2 이미지 상에 생성된 사용자 지정 바운딩 박스에 대한 라벨을 상기 라벨 지정 인터페이스에 대한 사용자 입력을 토대로 새롭게 설정하여 줄 수 있다.
이와 같이, 트레이닝 애플리케이션(111)은, 상기 제2 이미지가 포함하는 각 바운딩 박스 내 오브젝트를 특정하거나 분류할 수 있는 라벨을 기존의 오브젝트 디텍터를 기초로 초기 설정하여 제공함과 동시에, 상기 라벨에 대한 변경이나 추가 생성을 사용자가 원하는대로 수행 가능하게 함으로써, 추후 학습시키고자 하는 오브젝트 디텍터의 트레이닝에 필요한 정답 데이터를 보다 쉽고 정확하게 구축할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 5) 상기 제2 이미지 상의 바운딩 박스에 대한 형상을 변경할 수 있는 형상 변경 인터페이스를 제공할 수 있다.
도 8은 본 발명의 실시예에 따른 형상 변경 인터페이스를 설명하기 위한 도면의 일례이다.
자세히, 도 8을 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제2 이미지 상의 소정의 바운딩 박스(이하, 제2 이미지 바운딩 박스)의 크기, 회전각 및/또는 경계선 형태 등을 포함하는 바운딩 박스 형상을 변경할 수 있는 형상 변경 인터페이스를 제공할 수 있다.
보다 상세히, 실시예에서 트레이닝 애플리케이션(111)은, 상기 형상 변경 인터페이스에 기반한 사용자 입력(예컨대, 선택 입력 및/또는 드래그 입력 등)에 따라서 상기 제2 이미지 바운딩 박스의 형상을 자유롭게 변경할 수 있다.
즉, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제1 오브젝트 디텍터에 의하여 형성된 바운딩 박스의 형상에 제한되지 않고 사용자의 인지적인 판단에 따라서 더욱 올바르다고 판단되는 다양한 형상(예컨대, 이미지 내 타겟 오브젝트의 적어도 일부가 손실되지 않으며 온전하게 포함되는 형상 등)으로 상기 바운딩 박스를 변경하게 할 수 있으며, 이를 통해 상기 제1 오브젝트 디텍터의 품질에 따라서 발생할 수 있는 성능의 저하를 최소화하여 추후 생성되는 트레이닝 데이터 셋의 퀄리티를 증진시킬 수 있다.
이때, 실시예에 따라서 트레이닝 애플리케이션(111)은, 학습시키고자 하는 대상 오브젝트 디텍터인 타겟 오브젝트 디텍터(Target object detector)에 대한 목표 바운딩 박스의 형상에 따라서, 상기 제2 이미지 바운딩 박스의 형상을 변경할 수 있다.
여기서, 실시예에 따른 상기 목표 바운딩 박스란, 상기 타겟 오브젝트 디텍터가 소정의 이미지 내에서 감지하고자 하는 오브젝트에 대하여 기설정된 형상의 바운딩 박스를 의미할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 상기 타겟 오브젝트 디텍터에 대한 목표 바운딩 박스를 설정할 수 있다.
보다 상세히, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스를 사용자가 원하는 형상대로 설정할 수 있는 목표형상 설정 인터페이스를 제공할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제공된 목표형상 설정 인터페이스에 대한 사용자의 입력에 따른 형상을 기반으로 하여 상기 목표 바운딩 박스를 설정할 수 있다.
실시예로, 트레이닝 애플리케이션(111)은, 상기 목표형상 설정 인터페이스에 기초하여 n각형(n>2), 상기 n값이 별도로 설정되지 않은 상태의 다각형 또는 자유형태의 도형(즉, 소정의 곡선을 포함하는 도형) 중 적어도 하나의 형상을 가지도록 상기 목표 바운딩 박스를 설정할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 설정된 목표 바운딩 박스를 기초로 상기 제2 이미지 바운딩 박스를 변경할 수 있는 인터페이스를 상술된 형상 변경 인터페이스에 기초하여 제공할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 1] 상기 설정된 목표 바운딩 박스의 형상을 기반으로, 상기 제2 이미지 바운딩 박스에 대한 형상 변경을 보조할 수 있는 변경 포인트를 제공할 수 있다.
여기서, 실시예에 따른 상기 변경 포인트란, 상기 목표 바운딩 박스의 형상을 기초로 상기 제2 이미지 바운딩 박스를 형성하는 경계선 및/또는 꼭지점 상에 생성되어, 상기 변경 포인트에 대한 사용자 입력(예컨대, 선택, 드래그 및/또는 드래그 앤 드롭 입력 등)을 따라 인접한 경계선의 형상을 변경할 수 있는 소정의 지점(point)을 의미할 수 있다.
실시예에 따라서, 이러한 변경 포인트는, 해당 변경 포인트가 위치하고 있는 바운딩 박스의 꼭지점 역할을 수행할 수 있다.
도 9는 본 발명의 실시예에 따른 변경 포인트를 생성하는 방법을 설명하기 위한 도면의 일례이다.
보다 상세히, 도 9를 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스가 포함하는 꼭지점 개수를 기반으로, 상기 제2 이미지 바운딩 박스(10)에 대한 형상 변경을 보조할 수 있는 변경 포인트(20)를 생성할 수 있다.
구체적으로, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스의 꼭지점 개수에 비례하는 개수만큼 상기 변경 포인트(20)를 생성할 수 있다.
예를 들면, 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스가 사각형 형상이고 4개의 꼭지점을 가지는 경우, 상기 꼭지점 개수에 비례하여 4개의 변경 포인트(20)를 생성할 수 있다.
여기서, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스가 상기 n값이 별도로 설정되지 않은 상태의 다각형(이하, 다각형)으로서 상기 목표형상 설정 인터페이스에 기초하여 설정된 경우, 랜덤한 개수의 변경 포인트(20)를 생성할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스가 상기 자유형태의 도형(이하, 자유도형)으로서 설정된 경우, 무한 개로 수렴하는 개수의 변경 포인트(20)를 생성할 수 있다. 이에 대한 설명은 이하에서 후술하기로 한다.
이때, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스의 형상에 기초하여 생성된 변경 포인트(20)를, 상기 목표 바운딩 박스의 형상에 따라서 상기 제2 이미지 바운딩 박스(10)를 형성하는 경계선(즉, 선분) 및/또는 꼭지점 상에 생성할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 1) 상기 목표 바운딩 박스의 형상이 n각형(n>2)인 경우, 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분 상에 상기 n개의 변경 포인트(20)를 위치시켜 생성할 수 있다.
여기서, 실시예에서 트레이닝 애플리케이션(111)은, 상기 생성된 변경 포인트(20)를 상기 제2 이미지 바운딩 박스(10)의 꼭지점 상에 우선적으로 배치시키고, 이후 상기 제2 이미지 바운딩 박스(10)의 모든 꼭지점 상에 변경 포인트(20)를 배치시켰음에도 잔여 변경 포인트(20)가 존재하면, 해당하는 잔여 변경 포인트(20)를 상기 제2 이미지 바운딩 박스(10)의 소정의 선분 상에 배치시킬 수 있다.
예를 들어, 도 9의 (a)를 참조하면, 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스가 4각형 형상임에 따라서 4개의 변경 포인트(20)가 생성되고, 상기 제2 이미지 바운딩 박스(10)가 소정의 직사각형 형태를 가지는 경우, 상기 직사각형 형태의 제2 이미지 바운딩 박스(10)가 가지는 4개의 꼭지점 상에 상기 생성된 4개의 변경 포인트(20)를 위치시켜 생성할 수 있다.
다른 예시로, 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스가 5각형 형상임에 따라서 5개의 변경 포인트(20)가 생성되고, 상기 제2 이미지 바운딩 박스(10)가 소정의 직사각형 형태를 가지는 경우, 상기 제2 이미지 바운딩 박스(10)가 가지는 4개의 꼭지점 상에 4개의 변경 포인트(20)를 위치시키고, 상기 제2 이미지 바운딩 박스(10)가 가지는 4개의 선분 중 어느 하나의 선분 상에 1개의 변경 포인트(20)를 위치시켜 생성할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 2) 상기 목표 바운딩 박스의 형상이 다각형인 경우, 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분 상에 랜덤한 위치에, 상술된 바와 같이 랜덤한 개수로 생성된 적어도 하나 이상의 변경 포인트(20)를 위치시켜 생성할 수 있다.
예를 들어, 도 9의 (b)를 참조하면, 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스가 다각형 형상임에 따라서 랜덤한 개수(예컨대, 5개 등)의 변경 포인트(20)가 생성되고, 상기 제2 이미지 바운딩 박스(10)가 소정의 직사각형 형태를 가지는 경우, 상기 제2 이미지 바운딩 박스(10)가 가지는 4개의 꼭지점 및/또는 4개의 선분 상에 랜덤한 위치에 상기 생성된 랜덤한 개수(예컨대, 5개 등)의 변경 포인트(20)를 위치시켜 생성할 수 있다.
또한, 도 9의 (c)를 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 3-1) 상기 목표 바운딩 박스의 형상이 자유도형인 경우, 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분 상에 상술된 바와 같이 무한 개로 수렴하는 개수의 변경 포인트(20)들을 위치시켜 생성할 수 있다.
즉, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분 상의 어느 지점에서도, 해당 지점에 대한 사용자 입력(예컨대, 선택, 드래그 및/또는 드래그 앤 드롭 입력 등)을 따라서 인접한 경계선의 형상을 변경하게 할 수 있다.
그리하여 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스의 형상이 자유도형인 경우 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분을 사용자가 원하는 어떠한 형태로도 자유롭게 변경하도록 할 수 있다. 이에 대한 자세한 설명은 후술하기로 한다.
또는, 실시예에 따라서 트레이닝 애플리케이션(111)은, 3-2) 상기 목표 바운딩 박스의 형상이 자유도형인 경우, 상기 제2 이미지 바운딩 박스(10)를 사용자가 원하는 형상대로 드로잉(drawing) 할 수 있는 드로잉 인터페이스를 제공할 수도 있다.
또한, 본 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 제공된 드로잉 인터페이스에 대한 사용자 입력을 따라서 소정의 형상(예컨대, 제2 이미지 내 소정의 오브젝트의 윤곽에 따른 형상 등)을 가지는 제2 이미지 바운딩 박스(10)를 설정할 수 있다.
예를 들면, 트레이닝 애플리케이션(111)은, 상기 변경 포인트(20) 및/또는 드로잉 인터페이스에 대한 사용자 입력에 기초하여, 상기 제2 이미지 바운딩 박스(10)를 상기 제2 이미지 바운딩 박스(10) 내 '갈매기' 오브젝트의 윤곽에 따른 형상으로 변경하게 할 수 있다.
이와 같이, 트레이닝 애플리케이션(111)은, 목표로 하는 바운딩 박스 형상을 구현하는데 필요한 만큼의 변경 포인트(20)를 생성하고, 상기 생성된 변경 포인트(20)를 변경하고자 하는 바운딩 박스(실시예에서, 제2 이미지 바운딩 박스(10))의 꼭지점 및/또는 선분 상에 위치시켜 상기 바운딩 박스에 대한 형상 변경을 수행하게 함으로써, 학습시키고자 하는 타겟 오브젝트 디텍터를 위한 트레이닝 데이터 셋을 구축하는데 보다 최적화된 형상의 바운딩 박스를 보다 쉽고 편리하게 생성하도록 할 수 있다.
한편, 실시예에 따라서 트레이닝 애플리케이션(111)은, 위와 같이 생성된 변경 포인트(20)에 대한 변경을 수행할 수 있는 변경 포인트(20) 편집 인터페이스를 제공할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 상기 생성된 변경 포인트(20)에 대한 추가, 삭제 및/또는 위치이동 등을 수행할 수 있는 사용자 인터페이스인 변경 포인트(20) 편집 인터페이스를 제공할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제공된 변경 포인트(20) 편집 인터페이스에 대한 사용자 입력(예컨대, 선택 입력 등)을 획득할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 획득된 사용자 입력을 토대로 상기 변경 포인트(20)에 대한 추가, 삭제 및/또는 위치이동 등을 수행하는 변경 포인트(20) 편집 프로세스를 수행할 수 있다.
이와 같이, 트레이닝 애플리케이션(111)은, 목표 바운딩 박스의 형상에 따라서 변경하고자 하는 바운딩 박스(실시예에서 제2 이미지 바운딩 박스(10)) 상에 자동으로 생성된 변경 포인트(20)에 대한 사용자 편집을 가능하게 하여, 바운딩 박스의 형상 변경에 대한 사용자 자유도를 보다 높일 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 2] 상술된 바와 같이 제공된 변경 포인트(20)에 대한 사용자 입력(예컨대, 선택, 드래그 및/또는 드래그 앤 드롭 입력 등)에 따라서, 상기 제2 이미지 바운딩 박스(10)의 형상을 변경할 수 있다.
도 10은 본 발명의 실시예에 따른 변경 포인트(20)를 이용하여 바운딩 박스의 형상을 변경하는 방법을 설명하기 위한 도면의 일례이다.
이때, 도 10을 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스의 형상 속성에 따라서 상기 변경 포인트(20)에 기반한 상기 제2 이미지 바운딩 박스(10)의 형태 변경 기준을 달리할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 1) 상기 목표 바운딩 박스의 형상이 n각형(n>2)인 경우, 상기 변경 포인트(20)에 대한 사용자 입력에 기초하여, 상기 제2 이미지 바운딩 박스(10)를 형성하는 선분 간 비율은 그대로 유지하면서 상기 제2 이미지 바운딩 박스(10)의 크기, 회전각 및/또는 경계선 형태 등을 포함하는 형상을 변경할 수 있다.
예시적으로, 도 10의 (a)를 참조하면, 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스의 형상이 n각형(n>2)이고, 상기 제2 이미지 바운딩 박스(10) 상의 일 꼭지점에 대한 변경 포인트(20)가 선택 및 드래그(즉, 선택된 변경 포인트(20)의 위치이동 입력이 수행)된 경우, 해당 선택 및 드래그 입력에 따른 위치로 상기 변경 포인트(20)를 위치이동하며 상기 제2 이미지 바운딩 박스(10)의 크기를 조정할 수 있다.
이때, 본 예시에서 트레이닝 애플리케이션(111)은, 상기 크기 조정 시 해당 제2 이미지 바운딩 박스(10)의 선분(즉, 경계선) 간 비율은 그대로 유지하여, 상기 제2 이미지 바운딩 박스(10)의 초기 모양을 그대로 유지한 채 크기만을 변경할 수 있다.
또한, 도 10의 (b)를 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 2) 상기 목표 바운딩 박스의 형상이 다각형인 경우, 상기 제2 이미지 바운딩 박스(10) 상에 생성된 소정의 변경 포인트(20)에 기초하여 상기 제2 이미지 바운딩 박스(10)의 크기, 회전각 및/또는 경계선 형태 등을 포함하는 형상을 자유롭게 변경하도록 할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스의 형상이 다각형인 경우, 상기 제2 이미지 바운딩 박스(10)의 형상을 상기 제2 이미지 바운딩 박스(10)에 대한 소정의 변경 포인트(20)를 이용하여 자유롭게 변경해 사용자가 원하는 형상의 목표도형을 생성할 수 있는 목표도형 제작 인터페이스를 제공할 수 있다.
보다 상세히, 실시예로 트레이닝 애플리케이션(111)은, 상기 목표도형 제작 인터페이스에 대한 사용자 입력에 기초하여, 상기 변경 포인트(20)의 위치이동을 수행할 수 있다.
이때, 실시예에서 트레이닝 애플리케이션(111)은, 상기 목표도형 제작 인터페이스에 기반하여, 상기 변경 포인트(20)의 위치이동에 따라 상기 제2 이미지 바운딩 박스(10)의 선분 간 비율을 선택적으로 유지 또는 미유지하도록 설정할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 변경 포인트(20)의 위치이동에 따라서 상기 제2 이미지 바운딩 박스(10)의 경계선 형태, 크기 및/또는 회전각 등을 포함하는 형상 변경을 수행할 수 있다.
또한, 실시예에 따라서 트레이닝 애플리케이션(111)은, 상기 목표도형 제작 인터페이스를 기초로 상기 제2 이미지 바운딩 박스(10)의 인접한 선분 간의 각도를 조정할 수 있다.
실시예로, 트레이닝 애플리케이션(111)은, 상기 목표도형 제작 인터페이스를 기초로 상기 제2 이미지 바운딩 박스(10)의 인접한 선분 간 형성되는 각도를 조정할 수 있는 각도 변경 포인트(20)를 더 제공할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제공된 각도 변경 포인트(20)에 대한 사용자 입력(예컨대, 선택 및 드래그 입력 등)에 따라서, 상기 제2 이미지 바운딩 박스(10)의 선분 간 각도를 조정하게 할 수 있다.
또한, 도 10의 (c)를 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 3) 상기 목표 바운딩 박스의 형상이 자유도형인 경우, 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분 상에 상술된 바와 같이 무한 개로 수렴하는 개수만큼 생성된 변경 포인트(20) 중 적어도 하나에 대한 사용자 입력에 기초하여, 상기 제2 이미지 바운딩 박스(10)의 크기, 회전각 및/또는 경계선 형태 등을 포함하는 형상을 자유롭게 변경하도록 할 수 있다.
즉, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분 상의 어느 지점에서도, 해당 지점에 대한 사용자 입력(예컨대, 선택, 드래그 및/또는 드래그 앤 드롭 입력 등)을 따라서 해당하는 경계선의 형상을 변경하게 할 수 있다.
다시 말해서, 정리하면 트레이닝 애플리케이션(111)은, 상기 목표 바운딩 박스가 자유도형인 경우 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분 상에 상기 무한 개로 수렴하는 개수의 변경 포인트(20)들을 생성하여 상기 제2 이미지 바운딩 박스(10)의 꼭지점 및/또는 선분 상의 어느 지점에서도 소정의 사용자 입력(예컨대, 선택 및/또는 드래그 입력 등)을 수용하게 할 수 있고, 상기 사용자 입력에 기초한 상기 제2 이미지 바운딩 박스(10)의 경계선 형상 변경에 따라서 상기 제2 이미지 바운딩 박스(10)의 크기, 회전각 및/또는 경계선 형태 등을 포함하는 형상을 변경하게 할 수 있다.
예를 들면, 트레이닝 애플리케이션(111)은, 상기 제2 이미지 바운딩 박스(10)의 변경 포인트(20)에 대한 사용자 입력에 기초하여 상기 제2 이미지 바운딩 박스(10) 내 오브젝트(예컨대, 갈매기 오브젝트 등)의 윤곽에 따른 형상으로 상기 제2 이미지 바운딩 박스(10)의 형상을 자유롭게 변경하도록 할 수 있다.
이와 같이, 트레이닝 애플리케이션(111)은, 목표로 하는 바운딩 박스의 형태에 따라서 변경하고자 하는 바운딩 박스(실시예에서, 제2 이미지 바운딩 박스(10))에 대한 형태 변경 기준을 서로 달리함으로써, 해당하는 목표 바운딩 박스의 형상을 벗어나지 않는 범위 내에서 상기 바운딩 박스에 대한 사용자 변경을 수행하게 할 수 있고, 이를 통해 타겟 오브젝트 디텍터의 학습에 필요한 트레이닝 데이터 셋을 보다 효율적으로 생성함과 동시에 그 정확도를 향상시킬 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상술된 바와 같이 상기 제2 이미지 바운딩 박스(10)의 형상을 변경하면, 변경된 형상의 제2 이미지 바운딩 박스(10)를 확정 바운딩 박스로 결정할 수 있다.
한편, 다른 실시예에서 트레이닝 애플리케이션(111)은, 상기 제2 이미지 상에 표시된 적어도 하나 이상의 제2 이미지 바운딩 박스(10) 중에서, 상술된 목표 바운딩 박스의 형상과 매칭되는 형상을 가지는 매칭 바운딩 박스를 적어도 하나 이상 추출할 수 있다.
그리고 본 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 추출된 적어도 하나 이상의 매칭 바운딩 박스를 확정 바운딩 박스로 결정할 수 있다.
이때, 본 실시예에서 트레이닝 애플리케이션(111)은, 상기 결정된 확정 바운딩 박스에 대한 변경을 수행할 수 있는 사용자 편집 인터페이스를 상술된 바와 동일한 방식으로 제공할 수 있다.
이를 통해, 트레이닝 애플리케이션(111)은, 상기 확정 바운딩 박스를 결정하기까지의 프로세스 단계를 감축하여 상술된 목표 바운딩 박스에 기초한 상기 확정 바운딩 박스를 보다 빠르고 간편하게 결정할 수 있다.
다시 돌아와서, 또한 실시예에서 트레이닝 애플리케이션(111)은, 상술된 바와 같이 사용자 편집 인터페이스를 기초로 확정된 바운딩 박스(즉, 실시예에서 확정 바운딩 박스)를 표시하는 제3 이미지를 생성할 수 있다. (S107)
도 11은 본 발명의 실시예에 따른 제3 이미지를 나타내는 모습의 일례이다.
즉, 도 11을 참조하면, 실시예에서 트레이닝 애플리케이션(111)은, 상기 사용자 편집 인터페이스에 기반하여 결정된 적어도 하나 이상의 확정 바운딩 박스를 상기 제1 이미지 상에 표시하여 제공하는 제3 이미지를 생성할 수 있다.
이때, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제3 이미지 상의 바운딩 박스(이하, 제3 이미지 바운딩 박스) 별로 매칭되는 라벨을 더 포함하여 상기 제3 이미지를 생성할 수 있다.
자세히, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제3 이미지 바운딩 박스에 대하여 상술된 바와 같이 기매칭되어 있는 라벨 정보를 메모리(110)로부터 독출할 수 있다.
그리고 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 독출된 라벨 정보를 상기 제3 이미지 바운딩 박스와 소정의 방식(예컨대, 상기 제3 이미지 바운딩 박스의 일 선분 상에 출력하는 방식 등)으로 매칭하여 상기 제3 이미지 상에 표시할 수 있다.
이와 같이, 트레이닝 애플리케이션(111)은, 생성하고자 하는 트레이닝 데이터 셋의 정답 데이터를 결정할 수 있는 상기 확정 바운딩 박스와, 상기 확정 바운딩 박스 내 오브젝트를 특정할 수 있는 라벨 정보를 제공함으로써, 상기 제3 이미지에 기초하여 생성되는 트레이닝 데이터 셋의 정확도와 품질을 증진시킬 수 있다.
다른 실시예에서, 트레이닝 애플리케이션(111)은, 상기 제3 이미지 바운딩 박스에 기반한 오브젝트 세그멘테이션(Object segmentation)에 기반하여 상기 라벨 정보를 포함하는 제3 이미지를 생성할 수 있다.
자세히, 본 실시예에서 트레이닝 애플리케이션(111)은, 딥러닝 뉴럴 네트워크와 연동하여 상기 제3 이미지 바운딩 박스에 대한 오브젝트 세그멘테이션을 수행할 수 있다.
또한, 본 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 수행된 오브젝트 세그멘테이션을 기초로 상기 제3 이미지 바운딩 박스 내 오브젝트에 대한 라벨 정보를 획득할 수 있다.
예를 들면, 트레이닝 애플리케이션(111)은, 소정의 '갈매기' 오브젝트를 포함하는 제3 이미지 바운딩 박스에 대한 오브젝트 세그멘테이션을 수행하여, 상기 제3 이미지 바운딩 박스에 대한 라벨 정보를 '갈매기'로 획득할 수 있다.
또한, 본 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 획득된 라벨 정보를 상기 제3 이미지 바운딩 박스와 소정의 방식(예컨대, 상기 제3 이미지 바운딩 박스의 일 선분 상에 출력하는 방식 등)으로 매칭하여 상기 제3 이미지 상에 표시할 수 있다.
이와 같이, 실시예에 따라서 트레이닝 애플리케이션(111)은, 상기 제3 이미지 바운딩 박스에 기반한 별도의 오브젝트 세그멘테이션을 수행하여 해당 제3 이미지 바운딩 박스 내 오브젝트의 라벨 정보를 획득해 제공함으로써, 상술된 제1 오브젝트 디텍터 뿐만 아니라 다양한 딥러닝 알고리즘을 활용하여 상기 제3 이미지 바운딩 박스 별 라벨 정보를 보다 정확하게 결정해 제공할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상술된 바와 같은 제3 이미지에 기반한 트레이닝 데이터 셋(Training data set)을 생성할 수 있다. (S109)
즉, 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 생성된 제3 이미지를 상기 학습시키고자 하는 대상인 타겟 오브젝트 디텍터에 대한 트레이닝 데이터 셋으로 포함시킬 수 있다.
자세히, 실시에예서 트레이닝 애플리케이션(111)은, 상술된 확정 바운딩 박스와 그에 매칭되는 라벨 정보를 포함하는 제3 이미지를 상기 트레이닝 데이터 셋에 대한 정답 데이터로 설정할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 정답 데이터로 설정된 제3 이미지와, 상기 제3 이미지에 대응되는 제1 이미지를 쌍으로 하는 이미지-정답 데이터를 생성할 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 상기 생성된 이미지-정답 데이터를 상기 타겟 오브젝트 디텍터를 학습시기기 위한 트레이닝 데이터 셋에 포함시킬 수 있다.
또한, 실시예에서 트레이닝 애플리케이션(111)은, 위와 같이 생성된 트레이닝 데이터 셋을 기초로 상기 타겟 오브젝트 디텍터를 학습시킬 수 있다. (S111)
즉, 실시예에서 트레이닝 애플리케이션(111)은, 상기 제3 이미지를 포함하여 생성된 트레이닝 데이터 셋을 이용하여 상기 타겟 오브젝트 디텍터를 학습시킬 수 있다.
여기서, 실시예에 따른 상기 타겟 오브젝트 디텍터는, 상기 제1 오브젝트 디텍터일 수도 있고, 상기 제1 오브젝트 디텍터와는 다른 제2 오브젝트 디텍터일 수도 있다.
이와 같이, 트레이닝 애플리케이션(111)은, 소정의 기존 오브젝트 디텍터(실시예에서, 제1 오브젝트 디텍터)를 이용하여 이미지 기반의 트레이닝 데이터 셋을 생성하고, 상기 생성된 트레이닝 데이터 셋을 기초로 상기 기존 오브젝트 디텍터 및/또는 다양한 타 오브젝트 디텍터(실시예에서, 제2 오브젝트 디텍터)를 학습시킴으로써, 상기 기존 오브젝트 디텍터 및/또는 다양한 타 오브젝트 디텍터의 학습에 필요한 트레이닝 데이터 셋의 모든 정답 데이터를 사용자가 일일이 수동으로 생성하지 않더라도 상기 트레이닝 데이터 셋을 효율적으로 구축할 수 있고, 이를 통해 상기 트레이닝 데이터 셋의 생성에 소요되는 시간과 비용을 현저하게 절감할 수 있는 효과가 있다.
또한, 트레이닝 애플릴케이션은, 위와 같이 기존의 오브젝트 디텍터를 이용하여 이미지 기반의 트레이닝 데이터 셋을 구축함으로써, 상기 기존 오브젝트 디텍터의 성능이 향상될수록 상기 트레이닝 데이터 셋을 생성하는데 드는 공수를 보다 절감시킬 수 있는 효과가 있다.
이상, 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.

Claims (11)

  1. 컴퓨팅 장치의 적어도 하나 이상의 프로세서에 의하여 실행되는 트레이닝 데이터 셋 생성 애플리케이션이 이미지 기반의 트레이닝 데이터 셋을 생성하는 방법으로서,
    제1 오브젝트 디텍터(Object detector)를 기초로 제1 이미지 내 오브젝트를 검출하는 단계;
    상기 검출된 제1 이미지 내 오브젝트에 대한 바운딩 박스(Bounding box)를 상기 제1 이미지 상에 표시하는 제2 이미지를 생성하는 단계;
    상기 생성된 제2 이미지 내 바운딩 박스를 변경 가능한 사용자 편집 인터페이스를 제공하는 단계;
    상기 사용자 편집 인터페이스를 기초로 확정된 바운딩 박스를 상기 제1 이미지 상에 표시하는 제3 이미지를 생성하는 단계;
    상기 생성된 제3 이미지에 기반한 트레이닝 데이터 셋(Training data set)을 생성하는 단계; 및
    상기 생성된 트레이닝 데이터 셋을 기초로 타겟 오브젝트 디텍터(Target object detectior)를 학습시키는 단계를 포함하는
    이미지 기반 트레이닝 데이터 셋 생성방법.
  2. 제1 항에 있어서,
    상기 사용자 편집 인터페이스를 제공하는 단계는,
    상기 바운딩 박스의 형상을 변경하는 형상 변경 인터페이스를 제공하는 단계를 포함하는
    이미지 기반 트레이닝 데이터 셋 생성방법.
  3. 제2 항에 있어서,
    상기 형상 변경 인터페이스를 제공하는 단계는,
    상기 타겟 오브젝트 디텍터가 감지하고자 하는 오브젝트에 대하여 기설정된 형상의 바운딩 박스인 목표 바운딩 박스를 설정하는 인터페이스를 제공하는 단계를 포함하는
    이미지 기반 트레이닝 데이터 셋 생성방법.
  4. 제3 항에 있어서,
    상기 목표 바운딩 박스는,
    소정의 n각형(n>2), 상기 n값이 별도로 설정되지 않은 상태의 다각형 또는 자유형태의 도형 중 적어도 하나의 형상으로 설정되는 바운딩 박스인
    이미지 기반 트레이닝 데이터 셋 생성방법.
  5. 제4 항에 있어서,
    상기 형상 변경 인터페이스를 제공하는 단계는,
    상기 바운딩 박스에 대한 변경 포인트를 제공하는 단계를 더 포함하고,
    상기 변경 포인트는,
    상기 목표 바운딩 박스의 형상에 따른 소정의 개수만큼 생성되고, 변경하고자 하는 상기 바운딩 박스의 꼭지점 영역 및 선분 영역 중 적어도 하나의 영역 상에 위치되며, 소정의 사용자 입력을 따라서 상기 바운딩 박스의 형상을 변경하는 소정의 지점(point)인
    이미지 기반 트레이닝 데이터 셋 생성방법.
  6. 제5 항에 있어서,
    상기 변경 포인트를 제공하는 단계는,
    상기 변경 포인트에 대한 상기 사용자 입력에 따라서 상기 바운딩 박스의 형상을 변경하는 단계를 포함하고,
    상기 바운딩 박스의 형상을 변경하는 단계는,
    상기 목표 바운딩 박스의 형상에 따라서 상기 변경 포인트에 기반한 상기 바운딩 박스의 형태 변경 기준을 다르게 적용하여 상기 바운딩 박스의 형상을 변경하는 단계를 포함하는
    이미지 기반 트레이닝 데이터 셋 생성방법.
  7. 제2 항에 있어서,
    상기 사용자 편집 인터페이스를 제공하는 단계는,
    상기 바운딩 박스의 위치를 변경하는 위치조정 인터페이스를 제공하는 단계와, 상기 바운딩 박스를 제거하는 삭제 인터페이스를 제공하는 단계와, 상기 바운딩 박스를 추가 생성하는 생성 인터페이스를 제공하는 단계 중 적어도 하나 이상의 단계를 더 포함하는
    이미지 기반 트레이닝 데이터 셋 생성방법.
  8. 제2 항에 있어서,
    상기 사용자 편집 인터페이스를 제공하는 단계는,
    상기 바운딩 박스 내 오브젝트를 특정하거나 소정의 카테고리로 분류하는 라벨(Label)을 설정하는 라벨 지정 인터페이스를 제공하는 단계를 더 포함하고,
    상기 제3 이미지를 생성하는 단계는,
    상기 라벨을 상기 제3 이미지 상에 더 표시하여 생성하는 단계를 포함하는
    이미지 기반 트레이닝 데이터 셋 생성방법.
  9. 제2 항에 있어서,
    상기 제3 이미지를 생성하는 단계는,
    상기 제3 이미지 내 바운딩 박스에 대한 딥러닝 기반의 오브젝트 세그멘테이션(Object segmentation)을 수행하여 상기 라벨을 획득하는 단계와,
    상기 획득된 라벨을 상기 제3 이미지 상에 더 표시하여 생성하는 단계를 포함하는
    이미지 기반 트레이닝 데이터 셋 생성방법.
  10. 제1 항에 있어서,
    상기 트레이닝 데이터 셋(Training data set)을 생성하는 단계는,
    상기 제3 이미지를 정답 데이터로 설정하는 단계와, 상기 제3 이미지 및 상기 제3 이미지에 매칭되는 상기 제1 이미지를 쌍으로 하는 이미지-정답 데이터를 생성하는 단계와, 상기 생성된 이미지-정답 데이터를 상기 트레이닝 데이터 셋에 포함시키는 단계를 포함하는
    이미지 기반 트레이닝 데이터 셋 생성방법.
  11. 소정의 이미지를 출력하는 적어도 하나 이상의 디스플레이;
    적어도 하나 이상의 프로세서; 및
    적어도 하나 이상의 메모리; 를 포함하고,
    상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 이미지 기반의 트레이닝 데이터 셋을 생성하는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은,
    제1 오브젝트 디텍터(Object detector)를 기초로 제1 이미지 내 오브젝트를 검출하고,
    상기 검출된 제1 이미지 내 오브젝트에 대한 바운딩 박스(Bounding box)를 상기 제1 이미지 상에 표시하는 제2 이미지를 생성하고,
    상기 생성된 제2 이미지 내 바운딩 박스를 변경 가능한 사용자 편집 인터페이스를 제공하고,
    상기 사용자 편집 인터페이스를 기초로 확정된 바운딩 박스를 상기 제1 이미지 상에 표시하는 제3 이미지를 생성하고,
    상기 생성된 제3 이미지에 기반한 트레이닝 데이터 셋(Training data set)을 생성하고,
    상기 생성된 트레이닝 데이터 셋을 기초로 타겟 오브젝트 디텍터(Target object detectior)를 학습시키는
    이미지 기반 트레이닝 데이터 셋 생성 시스템.
KR1020210046864A 2021-04-12 2021-04-12 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템 KR102591222B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210046864A KR102591222B1 (ko) 2021-04-12 2021-04-12 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210046864A KR102591222B1 (ko) 2021-04-12 2021-04-12 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20220140947A true KR20220140947A (ko) 2022-10-19
KR102591222B1 KR102591222B1 (ko) 2023-10-19

Family

ID=83804335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210046864A KR102591222B1 (ko) 2021-04-12 2021-04-12 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102591222B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160059632A (ko) * 2014-11-19 2016-05-27 주식회사 픽스 영역 지정 방법
KR101916832B1 (ko) * 2017-07-11 2018-11-08 강경수 어노테이션 바운딩 박스를 이용한 오브젝트 감지 방법 및 장치
US20190197778A1 (en) * 2017-12-21 2019-06-27 Luminar Technologies, Inc. Object identification and labeling tool for training autonomous vehicle controllers
US20190362186A1 (en) * 2018-05-09 2019-11-28 Figure Eight Technologies, Inc. Assisted image annotation
KR20200021626A (ko) * 2018-08-21 2020-03-02 삼성전자주식회사 객체 검출 모델 트레이닝 장치 및 방법
KR20200055841A (ko) 2018-11-12 2020-05-22 한국전자통신연구원 기계 학습을 위한 학습 데이터 셋 생성 장치 및 방법
KR20200075072A (ko) * 2018-12-07 2020-06-26 한국전자통신연구원 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160059632A (ko) * 2014-11-19 2016-05-27 주식회사 픽스 영역 지정 방법
KR101916832B1 (ko) * 2017-07-11 2018-11-08 강경수 어노테이션 바운딩 박스를 이용한 오브젝트 감지 방법 및 장치
US20190197778A1 (en) * 2017-12-21 2019-06-27 Luminar Technologies, Inc. Object identification and labeling tool for training autonomous vehicle controllers
US20190362186A1 (en) * 2018-05-09 2019-11-28 Figure Eight Technologies, Inc. Assisted image annotation
KR20200021626A (ko) * 2018-08-21 2020-03-02 삼성전자주식회사 객체 검출 모델 트레이닝 장치 및 방법
KR20200055841A (ko) 2018-11-12 2020-05-22 한국전자통신연구원 기계 학습을 위한 학습 데이터 셋 생성 장치 및 방법
KR20200075072A (ko) * 2018-12-07 2020-06-26 한국전자통신연구원 바운딩 박스를 시공간상으로 매칭하여 영상 내 객체를 검출하는 방법 및 장치

Also Published As

Publication number Publication date
KR102591222B1 (ko) 2023-10-19

Similar Documents

Publication Publication Date Title
US11836859B2 (en) Textured mesh building
US11557075B2 (en) Body pose estimation
US11151360B2 (en) Facial attribute recognition method, electronic device, and storage medium
US10719968B2 (en) Augmented expression system
US9965895B1 (en) Augmented reality Camera Lucida
US11734894B2 (en) Real-time motion transfer for prosthetic limbs
US11810316B2 (en) 3D reconstruction using wide-angle imaging devices
US10776943B2 (en) System and method for 3D association of detected objects
WO2021218121A1 (zh) 图像处理方法、装置、电子设备及存储介质
US10614633B2 (en) Projecting a two-dimensional image onto a three-dimensional graphical object
KR102442637B1 (ko) 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템
US11645415B2 (en) Augmented reality remote communication method and system for providing security function for 3D space
US20220198753A1 (en) Aligning input image data with model input data to generate image annotations
US11954595B2 (en) Electronic device for recognizing object in image, and operation method thereof
US11769293B2 (en) Camera motion estimation method for augmented reality tracking algorithm and system therefor
KR102591222B1 (ko) 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템
US20230082420A1 (en) Display of digital media content on physical surface
KR102570009B1 (ko) Ar 객체 생성 방법 및 전자 장치
KR102646684B1 (ko) 전자 장치 및 컨텐츠를 생성하는 방법
US20230215098A1 (en) Method and system for creating and storing map target
US20190138261A1 (en) Information processing device, information processing method, and program
KR102595385B1 (ko) 식별코드 기반의 ar 객체 제공 방법 및 시스템
US12002175B2 (en) Real-time motion transfer for prosthetic limbs
KR102429297B1 (ko) 딥러닝 기반 이미지 채색 방법 및 시스템
WO2022205259A1 (zh) 人脸属性检测方法及装置、存储介质及电子设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant