KR102403169B1 - 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102403169B1
KR102403169B1 KR1020210183377A KR20210183377A KR102403169B1 KR 102403169 B1 KR102403169 B1 KR 102403169B1 KR 1020210183377 A KR1020210183377 A KR 1020210183377A KR 20210183377 A KR20210183377 A KR 20210183377A KR 102403169 B1 KR102403169 B1 KR 102403169B1
Authority
KR
South Korea
Prior art keywords
images
collected
image
learning
singularity
Prior art date
Application number
KR1020210183377A
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 주식회사 인피닉
Priority to KR1020210183377A priority Critical patent/KR102403169B1/ko
Application granted granted Critical
Publication of KR102403169B1 publication Critical patent/KR102403169B1/ko

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업에 도움이 될 수 있는 가이드 정보를 2D 이미지들과 함께 제공할 수 있는 이미지 분석을 통한 가이드 제공 방법을 제안한다. 상기 방법은 학습 데이터 생성 장치가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지들을 분석하여 특이점을 추출하는 단계 및 상기 학습 데이터 생성 장치가, 상기 추출된 특이점을 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 상기 2D 이미지들과 함께 제공하는 단계를 포함할 수 있다. 이와 같은 본 발명에 따르면 수집된 2D 이미지들을 분석하여 특이점을 추출하고, 추출된 특이점을 어노테이션 장치가 어노테이션 작업을 수행하기 위한 가이드 정보로 가공하여, 2D 이미지들과 함께 제공함으로써, 어노테이션 작업을 수행하는 작업자들의 편의성 및 집중도를 향상시킬 수 있다.

Description

이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for providing guide through image analysis, and computer program recorded on record-medium for executing method therefor}
본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터의 가공에 관한 것이다. 보다 상세하게는, 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업에 도움이 될 수 있는 가이드 정보를 2D 이미지들과 함께 제공할 수 있는 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
한편, 차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회가 분류한 6단계에 따르면, 레벨 0단계는 비자동화, 레벨 1단계는 운전자 보조, 레벨 2단계는 부분 자동화, 레벨 3단계는 조건부 자동화, 레벨 4단계는 고도 자동화, 그리고 레벨 5단계는 완전 자동화 단계이다.
차량의 자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 현재 여러 기업체들은 자율주행 메커니즘 중에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다. 그리고, 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수로 이루어진다.
이와 같이, 수집된 인공지능(AI)의 기계 학습에 사용되는 데이터는 일반적으로 카메라에 의해 촬영된 이미지들이기 때문에, 시계열적으로 연속하여 수집된 데이터로 촬영 환경에 따라 유사한 이미지가 연속적으로 존재하는 경우가 많다. 이에 따라, 어노테이션(annotation) 작업을 수행하는 작업자들은 메타 데이터(meta data)를 입력하는 큐레이션(curation) 과정에서 유사한 이미지에 대해서 반복되는 작업을 연속적으로 수행하여야 하기 때문에 작업 집중도가 저하되는 문제점이 있었다.
또한, 수집된 인공지능(AI)의 기계 학습에 사용되는 데이터는 기계 학습에 직접 연관된 객체를 포함하는지 여부, 대상이 되는 날씨 정보, 위치 정보에 따라 중요도가 다르다. 여기서 인공지능(AI)의 기계 학습에 사용되는 데이터에 중요도가 상대적으로 낮은 데이터들이 다수 존재할 경우, 기계 학습의 학습 효율이 떨어지는 문제점이 있었다.
또한 수집된 인공지능(AI)의 기계 학습에 사용되는 데이터 중 차량 번호판, 보행자 얼굴 등의 개인 정보(personal information)를 포함하고 있는 데이터는 개인 정보가 유출되지 않도록 비식별화 처리해야 한다. 대표적으로 비식별화 처리 방법은 블러링(blurring) 처리 또는 딥-페이크(deep fake) 처리가 될 수 있다. 그러나, 이와 같은 비식별화 처리 방법은 개인 정보 유출을 방지할 수는 있으나, 객체가 불분명 해지거나 다른 이미지로 대체되기 때문에 기계 학습의 학습 효율이 떨어지는 문제점이 있었다.
대한민국 공개특허공보 제10-2020-0042629호, ‘인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치’, (2020.04.24. 공개)
본 발명의 일 목적은 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업에 도움이 될 수 있는 가이드 정보를 2D 이미지들과 함께 제공할 수 있는 이미지 분석을 통한 가이드 제공 방법을 제공하는 것이다.
본 발명의 다른 목적은 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업에 도움이 될 수 있는 가이드 정보를 2D 이미지들과 함께 제공할 수 있는 이미지 분석을 통한 가이드 제공 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 학습 데이터 생성 장치가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지들을 분석하여 특이점을 추출하는 단계 및 상기 학습 데이터 생성 장치가, 상기 추출된 특이점을 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 상기 2D 이미지들과 함께 제공하는 단계를 포함할 수 있다.
구체적으로 상기 특이점을 추출하는 단계는 상기 수집된 2D 이미지들 중 연속된 2D 이미지를 분석하여, 촬영 환경이 변화되는 시점을 특이점으로 추출할 수 있다.
상기 상기 특이점을 추출하는 단계는 상기 수집된 2D 이미지들 중 연속된 2D 이미지 사이의 유사도를 평가하고, 유사도가 사전에 설정된 임계 값보다 높은 연속된 2D 이미지를 촬영 환경이 변화되는 시점으로 판단할 수 있다.
상기 특이점을 추출하는 단계는 상기 연속된 2D 이미지에서 픽셀에 대한 RGB(Red, Green, Blue) 히스토그램을 생성하고, 생성된 RGB 히스토그램을 비교하여 유사도를 산출할 수 있다.
상기 2D 이미지들과 함께 제공하는 단계는 상기 수집된 2D 이미지들 중 촬영 환경이 변화되는 시점에 해당하는 구간을 지정하고, 지정된 구간을 가이드 정보로 가공하여 상기 2D 이미지들과 함께 제공할 수 있다.
상기 특이점을 추출하는 단계는 상기 수집된 2D 이미지들 각각을 복수개의 영역으로 분할하고, 분할된 영역 각각을 분석하여 환경 변수를 파악하고, 상기 환경 변수의 변화량을 기준으로 특이점을 추출할 수 있다.
상기 특이점을 추출하는 단계는 상기 분할된 영역의 밝기 또는 RGB(Red, Green, Blue) 값을 기준으로 환경 변수를 산출할 수 있다.
상기 특이점을 추출하는 단계는 상기 수집된 2D 이미지들 각각을 수직 방향으로 두개의 영역으로 분할하고, 연속된 2D 이미지의 상단 영역 환경 변수의 변화량이 사전에 설정된 임계 값보다 높은 경우 날씨가 변화하는 시점으로 인식하고, 하단 영역 환경 변수의 변화량이 사전에 설정된 임계 값보다 높은 경우 도로가 변화하는 시점으로 인식할 수 있다.
상기 2D 이미지들과 함께 제공하는 단계는 상기 수집된 2D 이미지들의 분할된 영역 각각의 환경 변수가 사전에 설정된 임계 값보다 높은 구간을 지정하고, 지정된 구간을 가이드 정보로 가공하여 상기 2D 이미지들과 함께 제공할 수 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업에 도움이 될 수 있는 가이드 정보를 2D 이미지들과 함께 제공할 수 있는 가이드 제공 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory), 송수신기(transceiver) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어, 상기 프로세서가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지들을 분석하여 특이점을 추출하는 단계 및 상기 프로세서가, 상기 추출된 특이점을 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 상기 2D 이미지들과 함께 제공하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 실시 예들에 따르면, 수집된 2D 이미지들을 분석하여 특이점을 추출하고, 추출된 특이점을 어노테이션 장치가 어노테이션 작업을 수행하기 위한 가이드 정보로 가공하여, 2D 이미지들과 함께 제공함으로써, 어노테이션 작업을 수행하는 작업자들의 편의성 및 집중도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 하드웨어 구성도이다.
도 4는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 5는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 하드웨어 구성도이다.
도 6은 본 발명의 일 실시예에 따른 가이드 제공 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 데이터 정제 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 비식별 처리 방법을 설명하기 위한 순서도이다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 가이드 제공 방법을 설명하기 위한 예시도이다.
도 11은 본 발명의 다른 실시예에 따른 가이드 제공 방법을 설명하기 위한 예시도이다.
도 12는 본 발명의 일 실시예에 따른 데이터 정제 방법을 설명하기 위한 예시도이다.
도 13 내지 도 16은 본 발명의 일 실시예에 따른 비식별 처리 방법을 설명하기 위한 예시도이다.
도 17은 본 발명의 일 실시예에 따른 데이터 정제 방법을 설명하기 위한 순서도이다.
도 18은 본 발명의 일 실시예에 따라 데이터를 정제하는 과정을 설명하기 위한 예시도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
상술한 바와 같이, 어노테이션(annotation) 작업을 수행하는 작업자들은 메타 데이터(meta data)를 입력하는 큐레이션(curation) 과정에서 유사한 이미지에 대해서 반복되는 작업을 연속적으로 수행하여야 하기 때문에 작업 집중도가 저하되는 문제점이 있었다. 또한 인공지능(AI)의 기계 학습에 사용되는 데이터에 중요도가 상대적으로 낮은 데이터들이 다수 존재할 경우, 기계 학습의 학습 효율이 떨어지는 문제점이 있었다. 또한 비식별화 처리 방법은 개인 정보 유출을 방지할 수는 있으나, 객체가 불분명 해지거나 다른 이미지로 대체되기 때문에 기계 학습의 학습 효율이 떨어지는 문제점이 있었다.
이러한 한계를 극복하고자, 본 발명은 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업에 도움이 될 수 있는 가이드 정보를 2D 이미지들과 함께 제공하고, 사전에 수집된 2D 이미지를 중요도에 따라 정제하고, 기계 학습용 데이터에서 개인정보를 비식별 처리하는 수단들을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 복수의 학습 데이터 수집 장치(100a, 100b, …, 100n; 100)), 학습 데이터 생성 장치(200), 복수의 어노테이션 장치(300a, 300b, …, 300n; 300) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.
이와 같은, 일 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 학습 데이터 수집 장치(100)는 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 수집하기 위하여, 차량에 설치된 라이다(lidar), 카메라(camera), 레이더(radar), 초음파 센서(ultrasonic sensor), 레인 센서(rain sensor), 위치 측정 센서 및 속도 감지 센서 중 하나 이상으로부터 실시간으로 데이터를 수집하는 장치이다.
특징적으로, 본 발명의 다양한 실시예에 따른 학습 데이터 수집 장치(100)는 수집된 2D 이미지들에 대한 정보를 추출하고, 수집된 2D 이미지들에 대한 정보를 기준으로, 수집된 2D 이미지들의 초당 프레임 수(frame per second)를 결정하고, 결정된 초당 프레임 수에 해당하는 2D 이미지들을 학습 데이터 생성 장치(200)에 전송할 수 있다.
즉 학습 데이터 수집 장치(100)는 수집된 2D 이미지들 중에 연속된 2D 이미지 사이의 유사도를 기준으로 학습 데이터 생성 장치(200)에 전송할 2D 이미지들의 초당 프레임 수를 결정할 수 있다.
또한 학습 데이터 수집 장치(100)는 2D 이미지를 수집하는 시점의 속도 정보, 날씨 정보, 센서 동작 정보 및 GPS 좌표 정보 중 적어도 하나를 포함하는 메타 데이터를 통해 기계 학습에 대한 영향도를 산출하고, 산출된 영향도를 기준으로 학습 데이터 생성 장치(200)에 전송할 2D 이미지들의 초당 프레임 수를 결정할 수 있다.
이러한, 학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서의 종류에는 라이다(lidar), 카메라(camera), 레이더(radar), 초음파 센서(ultrasonic sensor), 레인 센서(rain sensor), 위치 측정 센서 및 속도 감지 센서 중 하나 이상이 포함될 수 있으나, 이에 한정되는 것은 아니다. 또한, 학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서는 종류별로 하나씩 구비되는 것으로 한정되지 아니하며, 동일한 종류의 센서라 할지라도 복수 개로 구비될 수 있다.
다음 구성으로, 학습 데이터 생성 장치(200)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다.
이와 같은, 학습 데이터 생성 장치(200)는 기본적으로 학습 데이터 검증 장치(400)와 구분되는 장치이나, 실제 물리적 환경에서 학습 데이터 생성 장치(200)와 학습 데이터 검증 장치(400)가 하나의 장치로 통합되어 구현될 수도 있다.
특징적으로, 본 발명의 실시예들에 따른 학습 데이터 생성 장치(200)는 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지들을 분석하여 특이점을 추출하고, 추출된 특이점을 어노테이션 장치(300)가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 2D 이미지들과 함께 제공할 수 있다.
또한 본 발명의 실시예들에 따른 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치로부터 인공지능(AI)의 기계 학습을 위해 수집된 2D 이미지와 함께 2D 이미지와 관련한 촬영 정보를 수신하고, 촬영 정보를 분석하여 특이점을 추출하고, 추출된 특이점을 어노테이션 장치(300)가 어노테이션 작업을 수행하기 위한 가이드 정보로 가공하여, 2D 이미지들과 함께 어노테이션 장치(300)에 제공할 수 있다.
또한 본 발명의 실시예들에 따른 학습 데이터 생성 장치(200)는 인공지능(AI)의 기계 학습을 위해 사전에 수집된 2D 이미지들을 분석하여 중요도를 평가하고, 평가된 중요도에 따라 수집된 2D 이미지들 중 적어도 하나의 2D 이미지를 정제할 수 있다.
또한 본 발명의 실시예들에 따른 학습 데이터 생성 장치(200)는 인공지능(AI)의 기계 학습을 위해 사전에 수집된 2D 이미지에 포함된 객체를 식별하고, 식별된 객체의 유형에 대응하여 식별된 객체의 일부를 비식별(de-identify) 처리할 수 있다.
이와 같은 특징을 가지는, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100), 어노테이션 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 생성 장치(200)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)에 의해 배포된 2D 이미지들 또는 3D 점군 데이터에 대하여, 어노테이션(annotation) 작업을 수행하는데 사용될 수 있는 로컬 컴퓨팅 장치이다. 이와 같은, 어노테이션 장치(300)의 전부 또는 일부는 어노테이션 작업자가 클라우딩 서비스(clouding service)를 통해 어노테이션 작업을 수행하는 장치가 될 수도 있다.
구체적으로, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)로부터 수신된 2D 이미지들 또는 3D 점군 데이터 중에서 어노테이션 작업 대상이 되는 하나의 2D 이미지 또는 3D 점군 데이터를 디스플레이에 출력할 수 있다.
어노테이션 장치(300)는 입출력장치를 통해 사용자로부터 입력된 신호에 따라 툴(tool)을 선택할 수 있다. 여기서, 툴은 2D 이미지 또는 3D 점군 데이터 속에 포함되어 있는 하나 이상의 객체(object)를 특정하는 바운딩 박스를 설정하기 위한 도구이다.
어노테이션 장치(300)는 입출력장치를 통해 선택된 툴에 따른 좌표를 입력 받을 수 있다. 그리고, 어노테이션 장치(300)는 입력된 좌표를 기초로 바운딩 박스(bounding box)를 설정하여, 2D 이미지 또는 3D 점군 데이터 속에 포함된 객체를 특정할 수 있다. 여기서, 바운딩 박스는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 정육면체(cube)의 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.
예를 들어, 어노테이션 장치(300)는 입출력장치를 통해 두 개의 좌표를 입력 받고, 입력된 두 좌표를 2D 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정하여, 2D 이미지 속에 포함된 객체를 특정할 수 있다. 이 경우, 두 개의 좌표는 사용자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 사용자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.
어노테이션 장치(300)는 입출력장치를 통해 사용자로부터 입력된 신호에 따라, 어노테이션 작업의 대상이 되는 2D 이미지 또는 3D 점군 데이터, 또는 설정된 객체에 대한 메타데이터(metadata)를 생성할 수 있다. 여기서, 메타데이터는 3D 점군 데이터 또는 2D 이미지와, 3D 점군 데이터 또는 2D 이미지로부터 특정된 객체를 설명하기 위한 데이터이다. 이와 같은, 메타데이터에는 3D 점군 데이터 또는 2D 이미지로부터 특정된 객체의 카테고리, 객체가 화각에 의해 잘려진 비율, 객체가 다른 객체 또는 물체에 의해 가려진 비율, 객체의 트래킹 아이디, 이미지가 촬영된 시각, 이미지가 촬영된 날의 기상 조건 등이 포함될 수 있으며, 이에 한정되지 아니하고, 파일 크기, 이미지 크기, 저작권자, 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이, 클래스 명, 태그, 촬영 장소, 도로의 유형, 도로 표면 정보 또는 교통 체증 정보가 더 포함될 수도 있다.
어노테이션 장치(300)는 2D 이미지 또는 3D 점군 데이터로부터 설정된 객체와 생성된 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다. 이 경우, 어노테이션 작업 결과물을 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다. 어노테이션 장치(300)는 생성된 어노테이션 작업 결과물을 학습 데이터 생성 장치(200)에 전송할 수 있다. 그리고, 어노테이션 장치(300)는 생성된 어노테이션 작업 결과물 외에도, 검증을 위하여 객체가 설정된 2D 이미지 또는 3D 점군 데이터를 학습 데이터 생성 장치(200)에 전송할 수 있다.
특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(300)는 입출력장치를 통해 사용자로부터 입력된 신호에 따라, 어노테이션 작업의 대상이 되는 2D 이미지 또는 3D 점군 데이터, 또는 설정된 객체에 대한 메타데이터(metadata)를 생성할 때, 학습 데이터 생성 장치(200)로부터 제공되는 가이드 정보를 함께 출력할 수 있다.
여기서 가이드 정보는 2D 이미지들 중 촬영 환경이 변화되는 시점에 해당하는 구간이 될 수 있으며, 어노테이션 작업을 수행하는 작업자가 식별할 수 있도록 2D 이미지들과 함께 표시될 수 있다.
본 발명을 일 실시예에 따른 어노테이션 장치(300)는 어노테이션 작업 결과물과 객체가 설정된 2D 이미지 또는 3D 점군 데이터를 학습 데이터 생성 장치(200)에 전송하지 아니하고, 어노테이션 장치(300)를 구성하고 있는 입출력장치의 제어 데이터를 학습 데이터 생성 장치(200)에 전송할 수도 있다.
여기서, 입출력장치의 제어 데이터는 어노테이션 장치(300)가 2D 이미지 또는 3D 점군 데이터에 대하여 어노테이션 작업을 수행하는 과정에서 사용자가 입출력장치를 제어하기 위하여 입력한 하나 이상의 신호를 시계열적으로 저장한 데이터가 될 수 있다. 여기서, 사용자는 작업자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.
예를 들어, 어노테이션 장치(300)가 이벤트-주도 아키텍처(event-driven architecture)에 따른 운영체제(operating system)에 의해 구동되는 경우, 입출력장치의 제어 데이터에 포함된 하나 이상의 신호는 어노테이션 장치(200)의 입출력장치의 제어에 대응하여 운영체제에 의해 생성된 이벤트 메시지(event message)가 될 수 있다. 그리고, 어노테이션 장치(300)는 운영체제에 의해 생성된 이벤트 메시지가 선입선출(first-in first-out) 구조로 저장된 시스템 큐(system queue)를 복제하여 입출력장치의 제어 데이터를 생성할 수도 있다.
보다 구체적인 예로, 어노테이션 장치(300)의 운영체제가 윈도우즈(windows)에 해당하는 경우, 입출력장치의 제어 데이터에는 마우스의 왼쪽 버튼 클릭에 대응하여 생성된 WM_LBUUTONDOWN, 키보드의 입력에 대응하여 생성된 WM_KEYDOWN 등의 이벤트 메시지가 포함될 수 있다.
상술한 바와 같은 특징을 가지는, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 어노테이션 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone), 랩탑(laptap), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있다.
다음 구성으로, 인공지능 학습 장치(400)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키는데 사용될 수 있는 장치이다.
구체적으로, 인공지능 학습 장치(400)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 목적 달성을 위한 요구 사항을 학습 데이터 생성 장치(200)에 전송할 수 있다. 인공지능 학습 장치(400)는 학습 데이터 생성 장치(200)로부터 인공지능(AI) 학습용 데이터를 수신할 수 있다. 그리고, 인공지능 학습 장치(400)는 수신된 인공지능(AI) 학습용 데이터를 이용하여, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습할 수 있다.
이와 같은, 인공지능 학습 장치(400)는 학습 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(400)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
지금까지 상술한 바와 같은, 학습 데이터 수집 장치(100), 학습 데이터 생성 장치(200), 다수 개의 어노테이션 장치(300) 및 인공지능 학습 장치(400)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
도 2는 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 논리적 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 통신부(105), 입출력부(110), 유사도 산출부(115), 영향도 산출부(120), 프레임 결정부(125), 데이터 제공부(130) 및 저장부(135)를 포함하여 구성될 수 있다.
이와 같은, 학습 데이터 수집 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(105)는 차량에 설치된 다중 센서들과 학습 데이터 생성 장치(200)와 데이터를 송수신할 수 있다.
구체적으로, 통신부(105)는 차량에 설치된 라이다(lidar), 카메라(camera), 레이더(radar), 초음파 센서(ultrasonic sensor), 레인 센서(rain sensor), 위치 측정 센서 및 속도 감지 센서로부터 감지 데이터, 3D 점군 데이터, 2D 이미지, 거리 정보, 날씨 정보, 위치 정보 및 속도 정보 등을 수신할 수 있다.
또한 통신부(105)는 데이터 제공부(130)의 제어에 따라, 감지 데이터, 3D 점군 데이터, 2D 이미지, 거리 정보, 날씨 정보, 위치 정보 및 속도 정보를 학습 데이터 생성 장치(200)에 전송할 수 있다.
여기서 통신부(105)는 프레임 결정부(125)에 의해 결정된 2D 이미지들의 초당 프레임 수(frame per second)에 따라 2D 이미지들을 학습 데이터 생성 장치(200)에 전송할 수 있다.
다음 구성으로, 입출력부(110)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(110)는 감지 데이터, 3D 점군 데이터, 2D 이미지, 거리 정보, 날씨 정보, 위치 정보 및 속도 정보를 저장하기 위한 버퍼(buffer)의 기본 크기 및 버퍼에 우선적으로 저장할 데이터의 우선순위를 사용자로부터 입력 받을 수 있다.
또한 입출력부(110)는 2D 이미지들 중에서 학습 데이터 생성 장치(200)로 전송하기 위한 2D 이미지들의 초당 프레임 수(frame per second)를 결정하기 위한 크기 범위인 임계 범위를 사용자로부터 입력 받을 수 있다. 즉 입출력부(110)는 유사도 산출부(115) 또는 영향도 산출부(120)에 의해 산출된 유사도 또는 영향도에 매칭되는 학습 데이터 생성 장치(200)에 전송할 2D 이미지들의 초당 프레임 수를 사용자로부터 입력 받을 수 있다.
다음 구성으로, 유사도 산출부(115)는 수집된 2D 이미지들 중 연속된 2D 이미지 사이의 유사도를 산출할 수 있다. 특히 유사도 산출부(115)는 연속된 2D 이미지에서 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 히스토그램을 생성하고, 생성된 RGB 히스토그램을 비교하여 유사도를 산출할 수 있다. 여기서 RGB 히스토그램은 이미지에서 각 원색(RGB)의 밝기 분포를 나타내는 그래프이다. 예를 들어, RGB 히스토그램은 가로축이 컬러의 밝기 레벨을 표시하며, 세로축이 컬러의 밝기 레벨에 할당된 픽셀 수로 표시되고, 좌측으로 치우친 픽셀 수가 많을수록 색상이 어둡고 덜 선명하게 표현되며, 우측으로 치운 친 픽셀 수가 많을수록 색상이 더 밝고 진하게 표현될 수 있다. 이와 같이, 유사도 산출부(115)는 RGB 히스토그램을 통해 연속된 2D 이미지의 색상의 채도와 계조 상태, 화이트 밸런스의 성향 등을 비교하여 유사도를 산출할 수 있다.
또한 유사도 산출부(115)는 연속된 2D 이미지 각각의 엣지(Edge)를 추출하고, 연속된 2D 이미지 사이의 엣지 변화량을 기준으로 연속된 2D 이미지 사이의 유사도를 산출할 수 있다. 여기서 유사도 산출부(115)는 식별된 객체 영역에 대하여 엣지를 추출하거나, 2D 이미지 전체에 포함된 객체에 대한 엣지를 추출할 수 있다. 이때 유사도 산출부(115)는 추출된 엣지의 모멘트(moment)를 비교하여 유사도를 산출할 수 있다.
영향도 산출부(120)는 수집된 2D 이미지와 함께 수집된 메타 데이터(meta data)를 통해 기계 학습에 대한 영향도를 산출할 수 있다.
구체적으로, 영향도 산출부(120)는 2D 이미지를 수집하는 시점의 속도 정보, 날씨 정보, 센서 동작 정보 및 GPS 좌표 정보 중 적어도 하나를 포함하는 메타 데이터를 통해 기계 학습에 대한 영향도를 산출할 수 있다.
즉 영향도 산출부(120)는 학습 데이터를 수집하는 차량의 이동 속도가 사전에 설정된 임계 값보다 높은 경우, 제1 영향도로 결정하고, 학습 데이터 수집 장치의 이동 속도가 사전에 설정된 임계 값보다 낮은 경우, 제1 영향도보다 높은 제2 영향도로 결정할 수 있다.
예를 들어 영향도 산출부(120)는 속도 정보를 통해 학습 데이터를 수집하는 차량의 속도가 고속인 경우, 연속된 2D 이미지 사이의 변화량이 적을 가능성이 높기 때문에 영향도를 낮게 산출하고, 이동 속도가 저속인 경우, 2D 이미지 사이의 변화량이 클 가능성이 높으므로 영향도를 높게 산출할 수 있다.
프레임 결정부(125)는 전술한 유사도 산출부(115)와 영향도 산출부(120)에 의해 산출된 유사도 또는 영향도를 바탕으로 학습 데이터 생성 장치에(200)에 전송할 2D 이미지들의 초당 프레임 수(frame per second)를 결정할 수 있다.
여기서, 프레임 결정부(125)는 2D 이미지들을 구간 별로 초당 프레임 수를 결정할 수 있다. 즉, 프레임 결정부(125)는 연속된 2D 이미지들 사이의 유사도에 따라 2D 이미지들을 그룹핑(grouping)하고, 각 그룹의 유사도에 사전에 설정된 초당 프레임 수를 적용할 수 있다.
또한, 프레임 결정부(125)는 연속된 2D 이미지들 사이의 영향도에 따라 2D 이미지들을 그룹핑(grouping)하고, 각 그룹에 사전에 설정된 초당 프레임 수를 적용할 수 있다.
또한 프레임 결정부(125)는 2D 이미지들 전체에 대한 초당 프레임 수를 결정할 수 있다. 즉, 학습 데이터 생성 장치(200)에 수집된 2D 이미지들 중 연속된 2D 이미지들의 유사도 평균 값을 계산하고, 계산된 유사도 평균 값에 매칭되는 사전에 설정된 초당 프레임 수를 적용할 수 있다.
또한 프레임 결정부(125)는 학습 데이터 생성 장치(200)에 수집된 2D 이미지들 중 연속된 2D 이미지들의 영향도 평균 값을 계산하고, 계산된 영향도 평균 값에 매칭되는 사전에 설정된 초당 프레임 수를 적용할 수 있다.
데이터 제공부(130)는 프레임 결정부(125)에 의해 결정된 초당 프레임 수에 해당하는 2D 이미지들을 통신부(105)를 통해 학습 데이터 생성 장치(200)에 제공할 수 있다. 즉 데이터 제공부(130)는 수집된 2D 이미지들에 프레임 결정부(125)에 의해 결정된 초당 프레임 수를 적용하여, 적용된 2D 이미지들을 학습 데이터 생성 장치(200)에 전송할 수 있다.
저장부(135)는 학습 데이터 수집 장치(100)의 동작에 필요한 데이터를 저장할 수 있다.
구체적으로 저장부(135)는 감지 데이터, 3D 점군 데이터, 2D 이미지, 거리 정보, 날씨 정보, 위치 정보 및 속도 정보를 저장하기 버퍼(buffer)를 포함하여 구성될 수 있다. 그리고, 저장부(135)는 유사도 또는 영향도를 산출하고, 초당 프레임 수를 결정하기 위한 규칙 및 기초 데이터를 저장하기 위한 데이터베이스(database)를 포함하여 구성될 수 있다.
이하, 상술한 바와 같은 학습 데이터 수집 장치(100)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 하드웨어 구성도이다.
도 3에 도시된 바와 같이, 학습 데이터 수집 장치(100)는 프로세서(Processor, 150), 메모리(Memory, 155), 송수신기(Transceiver, 160), 입출력장치(Input/output device, 165), 데이터 버스(Bus, 170) 및 스토리지(Storage, 175)를 포함하여 구성될 수 있다.
프로세서(150)는 메모리(155)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)에 따른 명령어를 기초로, 학습 데이터 수집 장치(100)의 동작 및 기능을 구현할 수 있다. 메모리(155)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)가 상주(loading)될 수 있다.
송수신기(160)는 라이다(lidar), 카메라(camera), 레이더(radar), 초음파 센서(ultrasonic sensor), 레인 센서(rain sensor), 위치 측정 센서, 속도 감지 센서 및 학습 데이터 생성 장치(200)와 데이터를 송수신할 수 있다. 입출력장치(165)는 학습 데이터 수집 장치(100)의 동작에 필요한 데이터를 입력 받고, 감지 데이터, 3D 점군 데이터, 2D 이미지, 거리 정보, 날씨 정보, 위치 정보 및 속도 정보 등을 출력할 수 있다. 데이터 버스(170)는 프로세서(150), 메모리(155), 송수신기(160), 입출력장치(165) 및 스토리지(175)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(175)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(175)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180b) 및 데이터베이스(185)를 저장할 수 있다.
데이터베이스(185)에는 유사도 또는 영향도를 산출하고, 유사도 또는 영향도에 따라 2D 이미지들의 초당 프레임 수를 결정하기 위한 규칙 및 기초 데이터가 저장될 수 있다.
본 발명의 일 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 센서들의 제어 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 2D 이미지를 수집하는 단계, 수집된 2D 이미지에 대한 정보를 추출하는 단계 및 수집된 2D 이미지에 대한 정보를 기준으로 수집된 2D 이미지들의 초당 프레임 수(frame per second)를 결정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(150)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(155)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(160)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(165)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(155)에 상주되고, 프로세서(150)에 의해 실행될 수 있다. 메모리(155)는 프로세서(150)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(150)와 연결될 수 있다.
도 3에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 상술한 바와 같은, 학습 데이터 생성 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 4에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 통신부(205), 입출력부(210), 특이점 추출부(215), 가이드 정보 가공부(220), 중요도 평가부(225), 이미지 정제부(230), 객체 식별부(235), 비식별 처리부(240) 및 저장부(245)를 포함하여 구성될 수 있다.
이와 같은, 학습 데이터 생성 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(205)는 학습 데이터 수집 장치(100), 어노테이션 장치(300) 및 인공지능 학습 장치(400) 중 하나 이상과 데이터를 송수신할 수 있다.
구체적으로, 통신부(205)는 학습 데이터 수집 장치(100)로부터 2D 이미지들 및 3D 점군 데이터를 수신할 수 있다. 여기서, 2D 이미지들은 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여, 차량에 고정 설치된 카메라를 통해 촬영된 이미지들이 될 수 있다. 그리고, 3D 점군 데이터들은 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여, 차량에 고정 설치된 라이다를 통해 획득된 점군 데이터들이 될 수 있다.
통신부(205)는 어노테이션 작업의 대상이 되는 복수 개의 2D 이미지들 또는 3D 점군 데이터들을 복수 개의 어노테이션 장치(300)에 배포 전송할 수 있다. 통신부(205)는 복수 개의 어노테이션 장치(300) 각각으로부터 어노테이션 작업 결과물을 수신할 수 있다. 또한, 통신부(205)는 복수 개의 어노테이션 장치(300) 각각으로부터 입출력장치의 제어 데이터를 수신할 수도 있다. 여기서, 입출력장치의 제어 데이터는 2D 이미지들 또는 3D 점군 데이터들 중 하나 이상을 수신한 어노테이션 장치(300)가 수신한 2D 이미지 또는 3D 점군 데이터에 대하여 어노테이션 작업을 수행하는 과정에서, 사용자가 어노테이션 장치(300)를 구성하고 있는 입출력장치를 제어하기 위하여 입력한 하나 이상의 신호를 시계열적으로 저장한 데이터가 될 수 있다.
그리고, 통신부(205)는 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(300)에 전송할 수 있다.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(210)는 사용자로부터 인공지능(AI) 학습을 위한 데이터 구조를 설계하기 위한 제어 신호를 입력 받을 수 있다. 입출력부(210)는 사용자로부터 복수 개의 어노테이션 장치(300)에 대하여 어노테이션 작업을 분배하기 위한 할당량 등을 입력 받을 수 있다.
다음 구성으로, 특이점 추출부(215)는 수집된 2D 이미지들 중 연속된 2D 이미지를 분석하여, 촬영 환경이 변화되는 시점을 특이점으로 추출할 수 있다. 구체적으로 특이점 추출부(215)는 수집된 2D 이미지들 중 연속된 2D 이미지 사이의 유사도를 평가하고, 유사도가 사전에 설정된 임계 값보다 낮은 연속된 2D 이미지를 촬영 환경이 변화되는 시점으로 판단할 수 있다. 이때 특이점 추출부(215)는 연속된 2D 이미지에서 픽셀에 대한 RGB(Red, Green, Blue) 히스토그램을 생성하고, 생성된 RGB 히스토그램을 비교하여 유사도를 산출할 수 있다. 여기서 RGB 히스토그램은 이미지에서 각 원색(RGB)의 밝기 분포를 나타내는 그래프이다. 예를 들어, RGB 히스토그램은 가로축이 컬러의 밝기 레벨을 표시하며, 세로축이 컬러의 밝기 레벨에 할당된 픽셀 수로 표시되고, 좌측으로 치우친 픽셀 수가 많을수록 색상이 어둡고 덜 선명하게 표현되며, 우측으로 치운 친 픽셀 수가 많을수록 색상이 더 밝고 진하게 표현될 수 있다. 이와 같이, 특이점 추출부(215)는 RGB 히스토그램을 통해 연속된 2D 이미지의 색상의 채도와 계조 상태, 화이트 밸런스의 성향 등을 비교하여 유사도를 산출할 수 있다.
또한 특이점 추출부(215)는 수집된 2D 이미지들 각각을 복수개의 영역으로 분할하고, 분할된 영역 각각을 분석하여 밝기 또는 RGB 값을 파악하고, 밝기 또는 RGB 값의 변화량을 기준으로 특이점을 추출할 수 있다. 예를 들어, 특이점 추출부(215)는 수집된 2D 이미지들 각각을 수직 방향으로 두개의 영역으로 분할하고, 연속된 2D 이미지의 상단 영역 환경 변수의 변화량이 사전에 설정된 임계 값보다 높은 경우 날씨가 변화하는 시점으로 인식하고, 하단 영역 환경 변수의 변화량이 사전에 설정된 임계 값보다 높은 경우 도로가 변화하는 시점으로 인식할 수 있다.
또한 특이점 추출부(215)는 촬영 정보를 분석하여 촬영 환경이 변화되는 시점을 특이점으로 추출할 수 있다. 여기서 촬영 정보는 학습 데이터 수집 장치(100)에 설치된 센서들의 센싱 값이 될 수 있다. 구체적으로, 특이점 추출부(215)는 학습 데이터 수집 장치(100)에 설치된 조도 센서를 통해 학습 데이터 수집 장치(100)에 설치된 조명 장치가 점등 또는 소등 유무를 판단하고, 조명 장치의 점등 또는 소등 유무를 통해 2D 이미지를 촬영한 시점을 판단하거나, 장소 변화 시점을 판단할 수 있다. 예를 들어, 특이점 추출부(215)는 조명 장치가 점등 또는 소등되는 시점을 밤과 낮이 변화되는 시점으로 인식하거나, 터널 진입 시점으로 인식할 수 있다. 또한 특이점 추출부(215)는 학습 데이터 수집 장치(100)에 설치된 레인 센서(rain sensor)를 통해 2D 이미지의 기상 조건이 변화되는 시점을 판단할 수 있다. 또한 특이점 추출부(215)는 학습 데이터 수집 장치(100)에 설치된 카메라(camera)의 포커스(focus)변화량을 통해 2D 이미지의 기상 조건이 변화되는 시점을 판단할 수 있다.
다음 구성으로, 가이드 정보 가공부(220)는 수집된 2D 이미지들 중 촬영 환경이 변화되는 시점에 해당하는 구간을 지정하고, 지정된 구간을 가이드 정보로 가공하여 2D 이미지들과 함께 어노테이션 장치(300)에 제공할 수 있다. 또한 가이드 정보 가공부(220)는 수집된 2D 이미지들의 분할된 영역 각각의 환경 변수가 사전에 설정된 임계 값보다 높은 구간을 지정하고, 지정된 구간을 가이드 정보로 가공하여 2D 이미지들과 함께 어노테이션 장치(300)에 제공할 수 있다. 또한 가이드 정보 가공부(220)는 촬영 환경이 변화되는 구간을 지정하고, 지정된 구간을 가이드 정보로 가공하여 2D 이미지들과 함께 어노테이션 장치(300)에 제공할 수 있다. 예를 들어 가이드 정보 가공부(220)는 어노테이션 작업 대상이 되는 하나의 2D 이미지 또는 3D 점군 데이터를 디스플레이에 출력할 때 시점 또는 촬영 환경이 변하는 구간에 해당하는 2D 이미지에 시점이 변하는 2D 이미지임을 식별할 수 있는 표시를 함께 출력하도록 할 수 있다.
다음 구성으로, 중요도 평가부(225)는 수집된 2D 이미지들 각각에 포함된 객체(object)를 추출하고, 추출된 객체와 사전에 설정된 요구 유형(type require)에 해당하는 개체의 유사도를 산출하여 중요도를 평가할 수 있다. 즉, 기계 학습에서 각 2D 이미지의 중요도는 실제로 기계 학습에 연관된 객체를 포함하고 있는지 여부에 따라 결정될 수 있다. 따라서, 중요도 평가부(225)는 수집된 2D 이미지들에 포함된 객체를 추출하고, 추출된 객체를 실제 기계 학습에 필요한 객체와 비교하여 중요도를 평가할 수 있다.
또한 중요도 평가부(225)는 2D 이미지들과 함께 수집되는 각각의 2D 이미지와 촬영된 시점의 환경 요인(environmental factor)을 기준으로 중요도를 평가할 수 있다. 즉 중요도 평가부(225)는 2D 이미지들 중 기계 학습의 대상이 되는 기상 정보와 상이한 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다. 또한 중요도 평가부(225)는 2D 이미지들 중 기계 학습의 대상이 되는 촬영 시점과 상이한 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다. 또한 중요도 평가부(225)는 기계 학습의 대상이 되는 GPS(Global Positioning System) 좌표로부터 사전에 미리 설정된 임계 거리 내에 위치한 GPS 좌표를 갖는 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다. 또한 중요도 평가부(225)는 수집된 2D 이미지들 각각에 포함된 객체(object)를 추출하고, 추출된 객체의 개수가 사전에 설정된 임계 개수보다 낮은 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다. 또한 중요도 평가부(225)는 2D 이미지들 중에서 사전에 설정된 요구 유형(type require)에 대응되는 객체를 사전에 설정된 요구 개수(required number) 이하로 포함하고 있는 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다.
이미지 정제부(230)는 중요도 평가부(225)에 의해 평가된 중요도에 따라 수집된 2D 이미지들 중 적어도 하나의 2D 이미지를 정제할 수 있다. 구체적으로 이미지 정제부(230)는 수집된 2D 이미지에 포함된 객체와 설정된 요구 유형에 해당하는 객체의 유사도가 사전에 설정된 임계 값보다 낮은 2D 이미지를 정제할 수 있다. 또한 이미지 정제부(230)는 2D 이미지가 촬영된 시점의 환경 요인 즉, 기상 정보, 촬영 시점, GPS 좌표, 객체의 수를 기준으로 중요도가 사전에 설정된 임계 값보다 낮은 2D 이미지를 정제할 수 있다.
다음 구성으로, 객체 식별부(235)는 학습 데이터 수집 장치(100)에 의해 수집된 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보로부터 객체를 식별할 수 있다.
기본적으로, 본 발명의 일 실시예에 따른 객체 식별부(235)는 3D 점군 데이터에 포함된 점들(points)의 3차원 좌표를 기초로, 2D 이미지 내에서 객체가 존재할 것으로 예측되는 객체 영역을 설정할 수 있다. 이 경우, 객체 영역은 정점들(vertices)과 정점들을 서로 연결한 간선들(edges)로 구성된 2차원 영역일 수 있다.
객체 영역을 구성하는 정점들은 기본적으로 연산 능력(computing power)에 대응하여 학습 데이터 생성 장치(200)에 의해 사전에 설정된 개수로 구성될 수 있다.
그러나, 객체 식별부(235)는 카메라에 의해 촬영된 2D 이미지의 중요도가 변화되는 경우, 객체 영역을 구성하는 정점들의 개수를 조절할 수 있다.
일 예로, 객체 식별부(235)는 차량에 설치된 카메라가 2D 이미지를 촬영하는 주기(period)의 크기에 비례하여, 객체 영역을 구성하는 정점들의 개수를 증가시킬 수 있다.
다른 예로, 객체 식별부(235)는 카메라가 설치된 차량의 이동 속도에 비례하여, 객체 영역을 구성하는 정점들의 개수를 증가시킬 수도 있다.
한편, 3D 점군 데이터로부터 2D 이미지 내의 객체를 식별하기 위하여, 객체 식별부(235)는 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집을 형성하고 있는 점들을 식별할 수 있다.
객체 식별부(235)는 식별된 군집의 X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)를 기초로, 객체의 유형을 식별할 수 있다. 보다 상세하게, 객체 식별부(235)는 데이터베이스 내에 객체의 유형별로 사전에 구비된 폭, 높이 및 깊이의 비율 관계(rate relation)를 기초로, 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이에 대응하는 객체의 유형을 식별할 수 있다.
객체 식별부(235)는 식별된 객체의 유형에 따라 데이터베이스 내에 사전에 구비된 3D 모델을 해당 2D 이미지를 촬영한 카메라의 광축(optical axis) 방향에 따라 3차원 회전시킬 수 있다. 그리고, 객체 식별부(235)는 3차원 회전된 3D 모델을 카메라의 광축 방향에서 바라본 2차원 형상을 객체 영역으로 식별할 수 있다.
그리고, 객체 식별부(235)는 객체 영역으로 식별된 2차원 형상을 2D 이미지에 반영하여 정점들과 간선들을 구성함으로써, 2D 이미지 내에서 객체가 존재할 것으로 예측되는 객체 영역을 설정할 수 있다.
한편, 객체 식별부(235)는 식별된 객체 영역에 대하여 엣지를 추출(edge detection)하고, 데이터베이스로부터 객체의 유형 및 추출된 엣지의 패턴(edge pattern)에 대응하는 객체 검출 규칙이 존재하는 여부를 기초로 식별된 객체 영역을 검증할 수 있다. 이 경우, 객체 검출 규칙은 학습 데이터 생성 장치(200)에 의해 배포되며, 2D 이미지 내에서 식별된 객체를 검증할 수 있도록 객체의 유형별로 분류된 엣지의 패턴들을 열거한 규칙이다.
또한, 객체 식별부(235)는 2D 이미지 내에서 어떠한 객체도 식별되지 않은 경우, 객체가 식별되지 않은 2D 이미지가 촬영된 시점과 동시에 획득된 3D 점군 데이터를 저장부(245)로부터 제거할 수 있다.
비식별 처리부(240)는 객체 식별부(235)가 3D 모델을 이용하여 객체 영역을 설정하면, 3D 모델에 사전에 부여된 비식별 처리 영역에 대응하는 영역에 대하여 비식별 처리를 수행할 수 있다.
구체적으로, 비식별 처리부(240)는 식별된 객체의 일부를 블러링(blurring) 처리하여 비식별 처리를 수행하되, 식별된 객체에서 랜드 마크(land mark)를 추출하고, 추출된 랜드 마크에 블러링 처리를 수행할 수 있다. 예를 들어, 비식별 처리부(240)는 식별된 객체가 사람일 경우, 사람의 랜드 마크에 해당하는 눈, 코, 입을 추출하고, 추출된 눈, 코, 입만 선택적으로 블러링 처리함으로써, 얼굴 전체를 블러링 처리하는 것과 대비하여 학습 효율을 높일 수 있다.
또한 비식별 처리부(240)는 식별된 객체의 일부를 블러링(blurring) 처리하여 비식별 처리를 수행하되, 식별된 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기반으로 블러링 처리를 수행할 수 있다. 한편 식별된 객체 전체를 블러링 처리할 경우, 객체의 엣지가 불분명해지기 때문에 어노테이션 작업에 영향을 미치게 된다. 이에 따라, 비식별 처리부(240)는 객체의 엣지를 추출하고, 추출된 엣지로부터 사전에 설정된 임계 픽셀(pixel)의 개수만큼 이격되도록 블러링 처리를 수행할 수 있다. 예를 들어, 비식별 처리부(240)는 식별된 객체가 사람일 경우, 사람의 얼굴 형상에 대응하는 엣지를 추출하고, 엣지로부터 내부로 사전에 설정된 임계 픽셀의 개수만큼 이격되도록 블러링 처리함으로써, 사람의 형상을 헤치지 않는 선에서 비식별 처리를 수행할 수 있다.
또한 비식별 처리부(240)는 식별된 객체의 일부를 비식별 처리하되, 식별된 객체의 엣지(edge)를 추출하고, 추출된 엣지의 패턴을 변경할 수 있다. 구체적으로 비식별 처리부(240)는 추출된 엣지를 기계 학습의 대상이 되는 지역의 체형, 얼굴형 중 적어도 하나를 고려하여 추출된 엣지의 패턴을 변경할 수 있다. 예를 들어, 비식별 처리부(240)는 기계 학습의 대상이 되는 지역이 한국일 경우, 식별된 객체의 추출된 엣지 패턴을 한국의 평균 체형, 평균 얼굴형으로 변경하여 적용할 수 있다.
또한, 비식별 처리부(240)는 식별된 객체의 일부를 딥-페이크(deep-fake) 처리하여 비식별 처리를 수행하되, 식별된 객체에서 랜드 마크(land mark)를 추출하여, 추출된 랜드 마크를 해당 랜드 마크 유형에 맞는 다른 이미지로 대체할 수 있다. 구체적으로, 비식별 처리부(240)는 추출된 랜드 마크를 해당 랜드 마크 유형에 맞게 사전에 저장된 랜드 마크 이미지 중 유사도가 사전에 설정된 임계 값보다 높은 랜드 마크 이미지로 대체할 수 있다. 예를 들어, 비식별 처리부(240)는 식별된 객체가 얼굴일 경우, 눈, 코, 입을 추출하고, 추출된 눈, 코, 입과 사전에 저장된 눈, 코, 입 이미지와 비교하여 유사도가 높은 눈, 코, 입 이미지를 추출된 눈, 코, 입 이미지와 대체할 수 있다.
또한, 비식별 처리부(240)는 식별된 객체의 일부를 딥-페이크(deep-fake) 처리하여 1차 비식별 처리를 수행한 후에, 1차 비식별 처리된 객체의 일부를 블러링(blurring) 처리하여 2차 비식별 처리를 수행할 수 있다.
이하, 상술한 바와 같은 학습 데이터 생성 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 5에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.
프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 학습 데이터 생성 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 수집 장치(100), 어노테이션 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신할 수 있다. 입출력장치(265)는 학습 데이터 생성 장치(200)의 동작에 필요한 데이터를 입력 받고, 수집 및 전처리된 2D 이미지들, 3D 점군 데이터들, 어노테이션 작업 결과물을 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보들을 저장할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된, 가이드 제공 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지들을 분석하여 특이점을 추출하는 단계 및 상기 추출된 특이점을 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 상기 2D 이미지들과 함께 제공하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된, 가이드 제공 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 학습 데이터 수집 장치로부터 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 수집된 2D 이미지와 함께 상기 수집된 2D 이미지와 관련한 촬영 정보를 수신하는 단계, 상기 촬영 정보를 분석하여 특이점을 추출하는 단계 및 상기 추출된 특이점을 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 상기 2D 이미지들과 함께 제공하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된, 데이터 정제 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지들을 분석하여 중요도를 평가하는 단계 및 평가된 중요도에 따라 상기 수집된 2D 이미지들 중 적어도 하나의 2D 이미지를 정제하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된, 비식별 처리 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지에 포함된 객체를 식별하는 단계 및 상기 식별된 객체의 유형에 대응하여 상기 식별된 객체의 일부를 비식별(de-identify) 처리하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.
도 5에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 6은 본 발명의 일 실시예에 따른 가이드 제공 방법을 설명하기 위한 순서도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 수집된 2D 이미지들 중 연속된 2D 이미지를 분석하여, 촬영 환경이 변화되는 시점을 특이점으로 추출할 수 있다(S110). 구체적으로 학습 데이터 생성 장치(200)는 수집된 2D 이미지들 중 연속된 2D 이미지 사이의 유사도를 평가하고, 유사도가 사전에 설정된 임계 값보다 낮은 연속된 2D 이미지를 촬영 환경이 변화되는 시점으로 판단할 수 있다. 또한 학습 데이터 생성 장치(200)는 수집된 2D 이미지들 각각을 복수개의 영역으로 분할하고, 분할된 영역 각각을 분석하여 밝기 또는 RGB 값을 파악하고, 밝기 또는 RGB 값의 변화량을 기준으로 특이점을 추출할 수 있다. 또한 학습 데이터 생성 장치(200)는 촬영 정보를 분석하여 촬영 환경이 변화되는 시점을 특이점으로 추출할 수 있다. 여기서 촬영 정보는 학습 데이터 수집 장치(100)에 설치된 센서들의 센싱 값이 될 수 있다. 구체적으로, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)에 설치된 조도 센서를 통해 학습 데이터 수집 장치(100)에 설치된 조명 장치가 점등 또는 소등 유무를 판단하고, 조명 장치의 점등 또는 소등 유무를 통해 2D 이미지를 촬영한 시점을 판단하거나, 장소 변화 시점을 판단할 수 있다.
다음으로, 학습 데이터 생성 장치(200)는 수집된 2D 이미지들 중 촬영 환경이 변화되는 시점에 해당하는 구간을 지정하고, 지정된 구간을 가이드 정보로 가공하여 2D 이미지들과 함께 어노테이션 장치(300)에 제공할 수 있다(S120). 또한 학습 데이터 생성 장치(200)는 수집된 2D 이미지들의 분할된 영역 각각의 환경 변수가 사전에 설정된 임계 값보다 높은 구간을 지정하고, 지정된 구간을 가이드 정보로 가공할 수 있다. 또한 학습 데이터 생성 장치(200)는 촬영 환경이 변화되는 구간을 지정하고, 지정된 구간을 가이드 정보로 가공할 수 있다.
다음으로, 학습 데이터 생성 장치(200)는 S120 단계에서 가공된 가이드 정보를 2D 이미지와 함께 어노테이션 장치(300)에 제공할 수 있다(S130).
도 7은 본 발명의 일 실시예에 따른 데이터 정제 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 학습 데이터 생성 장치(200)는 수집된 2D 이미지들 각각에 포함된 객체(object)를 추출하고, 추출된 객체와 사전에 설정된 요구 유형(type require)에 해당하는 개체의 유사도를 산출하여 중요도를 평가할 수 있다(S210). 또한 학습 데이터 생성 장치(200)는 2D 이미지들과 함께 수집되는 각각의 2D 이미지와 촬영된 시점의 환경 요인(environmental factor)을 기준으로 중요도를 평가할 수 있다. 또한 학습 데이터 생성 장치(200)는 2D 이미지들 중 기계 학습의 대상이 되는 촬영 시점과 상이한 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다. 또한 학습 데이터 생성 장치(200)는 기계 학습의 대상이 되는 GPS(Global Positioning System) 좌표로부터 사전에 미리 설정된 임계 거리 내에 위치한 GPS 좌표를 갖는 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다. 또한 학습 데이터 생성 장치(200)는 수집된 2D 이미지들 각각에 포함된 객체(object)를 추출하고, 추출된 객체의 개수가 사전에 설정된 임계 개수보다 낮은 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다. 또한 학습 데이터 생성 장치(200)는 2D 이미지들 중에서 사전에 설정된 요구 유형(type require)에 대응되는 객체를 사전에 설정된 요구 개수(required number) 이하로 포함하고 있는 2D 이미지를 정제 대상이 되는 중요도가 낮은 이미지로 평가할 수 있다.
다음으로, 학습 데이터 생성 장치(200)는 S210 단계에서 평가된 중요도에 따라 수집된 2D 이미지들 중 적어도 하나의 2D 이미지를 정제할 수 있다(S220). 구체적으로 학습 데이터 생성 장치(200)는 수집된 2D 이미지에 포함된 객체와 설정된 요구 유형에 해당하는 객체의 유사도가 사전에 설정된 임계 값보다 낮은 2D 이미지를 정제할 수 있다. 또한 학습 데이터 생성 장치(200)는 2D 이미지가 촬영된 시점의 환경 요인 즉, 기상 정보, 촬영 시점, GPS 좌표, 객체의 수를 기준으로 중요도가 사전에 설정된 임계 값보다 낮은 2D 이미지를 정제할 수 있다.
다음으로, 학습 데이터 생성 장치(200)는 S220 단계에서 정제된 2D 이미지를 어노테이션 장치(300)에 제공할 수 있다(S230).
도 8은 본 발명의 일 실시예에 따른 비식별 처리 방법을 설명하기 위한 순서도이다.
도 8을 참조하면, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)에 의해 수집된 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보로부터 객체를 식별할 수 있다(S310). 학습 데이터 생성 장치(200)는 식별된 군집의 X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)를 기초로, 객체의 유형을 식별할 수 있다. 보다 상세하게, 학습 데이터 생성 장치(200)는 데이터베이스 내에 객체의 유형별로 사전에 구비된 폭, 높이 및 깊이의 비율 관계(rate relation)를 기초로, 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이에 대응하는 객체의 유형을 식별할 수 있다.
다음으로, 학습 데이터 생성 장치(200)는 S310 단계에서 3D 모델을 이용하여 객체 영역을 설정하면, 3D 모델에 사전에 부여된 비식별 처리 영역에 대응하는 영역에 대하여 비식별 처리를 수행할 수 있다. 구체적으로, 학습 데이터 생성 장치(200)는 식별된 객체의 일부를 블러링(blurring) 처리하여 비식별 처리를 수행하되, 식별된 객체에서 랜드 마크(land mark)를 추출하고, 추출된 랜드 마크에 블러링 처리를 수행할 수 있다. 학습 데이터 생성 장치(200)는 식별된 객체의 일부를 블러링(blurring) 처리하여 비식별 처리를 수행하되, 식별된 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기반으로 블러링 처리를 수행할 수 있다. 또한 학습 데이터 생성 장치(200)는 식별된 객체의 일부를 비식별 처리하되, 식별된 객체의 엣지(edge)를 추출하고, 추출된 엣지의 패턴을 변경할 수 있다. 구체적으로 학습 데이터 생성 장치(200)는 추출된 엣지를 기계 학습의 대상이 되는 지역의 체형, 얼굴형 중 적어도 하나를 고려하여 추출된 엣지의 패턴을 변경할 수 있다. 또한 학습 데이터 생성 장치(200)는 식별된 객체의 일부를 딥-페이크(deep-fake) 처리하여 비식별 처리를 수행하되, 식별된 객체에서 랜드 마크(land mark)를 추출하여, 추출된 랜드 마크를 해당 랜드 마크 유형에 맞는 다른 이미지로 대체할 수 있다. 구체적으로, 학습 데이터 생성 장치(200)는 추출된 랜드 마크를 해당 랜드 마크 유형에 맞게 사전에 저장된 랜드 마크 이미지 중 유사도가 사전에 설정된 임계 값보다 높은 랜드 마크 이미지로 대체할 수 있다.
다음으로, 학습 데이터 생성 장치(200)는 S320 단계에서 비식별 처리된 2D 이미지를 어노테이션 장치(300)에 제공할 수 있다(S330).
도 9 및 도 10은 본 발명의 일 실시예에 따른 가이드 제공 방법을 설명하기 위한 예시도이다.
도 9 및 도 10을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 수집된 2D 이미지들을 분석하여 특이점을 추출하고, 추출된 특이점을 어노테이션 장치(300)가 어노테이션 작업을 수행하기 위한 가이드 정보로 가공하여, 2D 이미지들과 함께 제공함으로써, 어노테이션 작업을 수행하는 작업자들의 편의성 및 집중도를 향상시킬 수 있다.
예를 들어, 도 9과 같이, 학습 데이터 생성 장치(200)는 연속된 2D 이미지 (a), (b) 각각에 대하여 수직 방향으로 두개의 영역으로 분할할 수 있다. 즉 학습 데이터 생성 장치(200)는 상단 영역(A1, B1)을 날씨 변화 시점을 인식할 수 있는 영역으로, 하단 영역(A2, B2)를 도로 변화 시점을 인식할 수 있는 영역으로 분할할 수 있다.
이후 도 10의 (a)와 같이, 학습 데이터 생성 장치(200)는 상단 영역 즉, 날씨 변화 시점을 인식하기 위하여, 연속된 두개 이미지에 대한 상단 영역의 RGB 히스토그램을 생성하고, RGB 히스토그램을 비교할 수 있다.
그리고 도 10의 (b)와 같이, 학습 데이터 생성 장치(200)는 RGB 히스토그램의 변화량이 사전 설정된 임계값 보다 높은 지점(T)을 날씨가 변화하는 시점으로 인식하고, 날씨가 변화하는 시점을 특이점으로 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 2D 이미지들과 함께 어노테이션 장치(300)에 제공할 수 있다.
도 11은 본 발명의 다른 실시예에 따른 가이드 제공 방법을 설명하기 위한 예시도이다.
도 11을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 수집된 2D 이미지와 함께 수신하는 촬영 정보를 분석하여 특이점을 추출하고, 추출된 특이점을 어노테이션 장치(300)가 어노테이션 작업을 수행하기 위한 가이드 정보로 가공하여, 2D 이미지들과 함께 제공함으로써, 어노테이션 작업을 수행하는 작업자들의 편의성 및 집중도를 향상시킬 수 있다.
구체적으로, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)에 설치된 조도 센서를 통해 학습 데이터 수집 장치(100)에 설치된 조명 장치의 점등 또는 소등 유무를 판단하고, 조명 장치의 점등 또는 소등 유무를 통해 2D 이미지를 촬영한 시점을 판단할 수 있다.
예를 들어, 도 11의 (a)에 도시된 바와 같이 학습 데이터 수집 장치(100)가 촬영하고 있는 시점이 낮인 경우 조명 장치가 소등(off)된 상태이고, (b)와 같이 학습 데이터 수집 장치(100)가 촬영하고 있는 시점이 밤인 경우 조명 장치가 점등(on)된 상태인 것을 확인할 수 있다.
이와 같이, 학습 데이터 생성 장치(200)는 학습 데이터를 수집하는 학습 데이터 수집 장치(100)에 설치된 조명 장치의 점등 또는 소등 유무를 통해 해당 2D 이미지의 촬영 시점을 확인할 수 있으며, 촬영 시점을 특이점으로 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 2D 이미지들과 함께 어노테이션 장치(300)에 제공할 수 있다.
도 12는 본 발명의 일 실시예에 따른 데이터 정제 방법을 설명하기 위한 예시도이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 수집된 2D 이미지들을 분석하여 중요도를 평가하고, 평가된 중요도에 따라 수집된 2D 이미지들 중 적어도 하나의 2D 이미지를 정제함으로써, 중요도가 상대적으로 낮은 2D 이미지를 정제함에 따라 기계 학습의 학습 효율을 향상시킬 수 있다.
예를 들어, (a)에 도시된 바와 같이, 기계 학습에 대상이 되는 객체가 자동차(object1)인 경우, 학습 데이터 생성 장치(200)는 수집된 2D 이미지들 각각에 포함된 객체를 추출하고, 추출된 객체와 사전에 설정된 요구 유형 즉, 자동차에 해당하는 객체의 유사도를 산출하여 중요도를 평가할 수 있다.
이때, 학습 데이터 생성 장치(200)는 (b)에 도시된 바와 같이, 추출된 객체가 사람인 경우, 설정된 유구 유형에 해당하는 객체의 유사도가 사전에 설정된 임계 값보다 낮기 때문에, 해당 2D 이미지를 정제할 수 있다.
도 13 내지 도 16는 본 발명의 일 실시예에 따른 비식별 처리 방법을 설명하기 위한 예시도이다.
도 13 내지 도 16을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 수집된 2D 이미지에 포함된 객체를 식별하고, 식별된 객체의 유형에 대응하여 식별된 객체의 일부를 비식별(de-identify) 처리할 수 있다. 즉 식별된 객체의 전체를 비식별 처리하지 않고, 식별된 객체 중 일부 영역만을 선택적으로 비식별 처리함으로써, 개인 정보 유출을 방지하면서 기계 학습의 학습 효율을 향상시킬 수 있다.
예를 들어, 도 13에 도시된 바와 같이, 2D 이미지에서 얼굴이 객체(object)로 인식된 경우, 인식된 객체를 블러링(blurring) 처리하게 되면, 얼굴 형상 자체가 불분명해지기 때문에 학습 데이터로 사용할 경우, 학습 효율이 떨어지는 문제점이 생길 수 있다.
따라서 도 14에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 식별된 객체의 일부를 블러링(blurring) 처리하여 비식별 처리를 수행하되, 식별된 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기반으로 블러링 처리를 수행할 수 있다. 즉 학습 데이터 생성 장치(200)는 추출된 엣지로부터 사전에 설정된 임계 픽셀(pixel)의 개수만큼 이격되도록 블러링 처리를 수행하여 인식된 객체의 엣지가 불분명해지는 것을 방지하여 학습 효율을 높일 수 있다.
또한 도 15 및 도 16에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 식별된 객체에서 랜드 마크(land mark)를 추출할 수 있다. 그리고 학습 데이터 생성 장치(200)는 추출된 랜드 마크에 블러링 처리를 수행하여 인식된 객체의 엣지가 불분명해지는 것을 방지하여 학습 효율을 높일 수 있다.
도 17은 본 발명의 일 실시예에 따른 데이터 정제 방법을 설명하기 위한 순서도이다.
도 17을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 2D 이미지들을 수집할 수 있다(S100). 뿐만 아니라, 학습 데이터 수집 장치(100)는 감지 데이터, 3D 점군 데이터, 거리 정보, 날씨 정보, 위치 정보 및 속도 정보 등을 수집할 수 있다.
다음으로, 학습 데이터 수집 장치(100)는 수집된 2D 이미지들에 대한 정보를 추출할 수 있다(S200). 즉, 학습 데이터 수집 장치(100)는 수집된 2D 이미지들 중 연속된 2D 이미지 사이의 유사도를 산출할 수 있다. 특히, 유사도 산출부(115)는 연속된 2D 이미지에서 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 히스토그램을 생성하고, 생성된 RGB 히스토그램을 비교하여 유사도를 산출할 수 있다. 또한 학습 데이터 수집 장치(100)는 연속된 2D 이미지 각각의 엣지(Edge)를 추출하고, 연속된 2D 이미지 사이의 엣지 변화량을 기준으로 연속된 2D 이미지 사이의 유사도를 산출할 수 있다. 여기서 유사도 산출부(115)는 식별된 객체 영역에 대하여 엣지를 추출하거나, 2D 이미지 전체에 포함된 객체에 대한 엣지를 추출할 수 있다. 이때 유사도 산출부(115)는 추출된 엣지의 모멘트(moment)를 비교하여 유사도를 산출할 수 있다. 또한 학습 데이터 수집 장치(100)는 수집된 2D 이미지와 함께 수집된 메타 데이터(meta data)를 통해 기계 학습에 대한 영향도를 산출할 수 있다. 구체적으로, 학습 데이터 수집 장치(100)는 2D 이미지를 수집하는 시점의 속도 정보, 날씨 정보, 센서 동작 정보 및 GPS 좌표 정보 중 적어도 하나를 포함하는 메타 데이터를 통해 기계 학습에 대한 영향도를 산출할 수 있다.
다음으로, 학습 데이터 수집 장치(100)는 산출된 유사도 또는 영향도를 바탕으로 2D 이미지들의 초당 프레임 수(frame per second)를 결정할 수 있다. 여기서, 학습 데이터 수집 장치(100)는 2D 이미지들을 구간 별로 초당 프레임 수를 결정할 수 있다. 즉, 프레임 결정부(125)는 연속된 2D 이미지들 사이의 유사도에 따라 2D 이미지들을 그룹핑(grouping)하고, 해당 그룹에 사전에 설정된 초당 프레임 수를 적용할 수 있다. 또한 학습 데이터 수집 장치(100)는 2D 이미지들 전체에 대한 초당 프레임 수를 결정할 수 있다. 즉, 학습 데이터 생성 장치(200)에 수집된 2D 이미지들 중 연속된 2D 이미지들의 유사도 평균 값을 계산하고, 유사도 평균 값에 매칭되는 사전에 설정된 초당 프레임 수를 적용할 수 있다.
다음으로, 학습 데이터 수집 장치(100)는 결정된 초당 프레임 수에 해당하는 2D 이미지들을 학습 데이터 생성 장치(200)에 제공할 수 있다. 즉 학습 데이터 수집 장치(100)는 수집된 2D 이미지들 중 결정된 초당 프레임 수를 적용하여, 적용된 2D 이미지들을 학습 데이터 생성 장치(200)에 전송할 수 있다.
도 18은 본 발명의 일 실시예에 따라 데이터를 정제하는 과정을 설명하기 위한 예시도이다.
도 18을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 수집된 2D 이미지들에 대한 정보를 기준으로 수집된 2D 이미지들의 초당 프레임 수(frame per second)를 결정함으로써, 수집된 데이터 중 불필요한 데이터를 정제하여 학습 효율을 높이도록 할 수 있다.
보다 구체적으로, 학습 데이터 수집 장치(100)는 수집된 2D 이미지들 중 연속된 두개의 2D 이미지 사이의 유사도를 산출하거나, 수집된 2D 이미지와 함께 수집된 메타 데이터(meta data)를 통해 기계 학습에 대한 영향도를 산출하여 영향도를 기준으로 2D 이미지들의 초당 프레임 수를 결정할 수 있다.
예를 들어 도 18의 (a)에 도시된 바와 같이, 학습 데이터 수집 장치(100)는 수집된 2D 이미지들 중 연속된 두개의 2D 이미지 사이의 유사도를 산출할 수 있다. 이때 유사도의 산출은 연속된 2D 이미지에서 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 히스토그램을 생성하고, 생성된 RGB 히스토그램을 비교하여 유사도를 산출할 수 있다.
그리고 (b)와 같이 학습 데이터 수집 장치(100)는 연속된 두개의 2D 이미지 사이의 유사도에 따라 학습 데이터 생성 장치(200)에 제공할 2D 이미지들의 초당 프레임 수를 제어할 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
학습 데이터 수집 장치: 100 학습 데이터 생성 장치: 200
어노테이션 장치: 300 인공지능 학습 장치: 400
통신부: 105, 205 입출력부: 110, 210
유사도 산출부: 115 영향도 산출부: 120
프레임 결정부: 125 데이터 제공부: 130
특이점 추출부: 215 가이드 정보 제공부: 220
중요도 평가부: 225 이미지 정제부: 230
객체 식별부: 235 비식별 처리부: 240
저장부: 135, 245

Claims (10)

  1. 학습 데이터 생성 장치가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지들을 분석하여 특이점을 추출하는 단계; 및
    상기 학습 데이터 생성 장치가, 상기 추출된 특이점을 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 상기 2D 이미지들과 함께 제공하는 단계를 포함하고,
    상기 특이점을 추출하는 단계는
    상기 수집된 2D 이미지들 각각을 수직 방향으로 두개의 영역으로 분할하고, 연속된 2D 이미지의 상단 영역 밝기 또는 RGB 값의 변화량이 사전에 설정된 임계 값보다 높은 경우 날씨가 변화하는 시점으로 인식하고, 하단 영역 밝기 또는 RGB 값의 변화량이 사전에 설정된 임계 값보다 높은 경우 도로가 변화하는 시점으로 인식하는 것을 특징으로 하는, 가이드 제공 방법.
  2. 제1항에 있어서, 상기 특이점을 추출하는 단계에서,
    상기 수집된 2D 이미지들은 학습 데이터 수집 장치에 의해 2D 이미지들 중 연속된 2D 이미지 사이의 유사도가 산출되고, 상기 유사도를 기준으로 2D 이미지들의 초당 프레임 수가 결정되는 것을 특징으로 하는, 가이드 제공 방법.
  3. 제2항에 있어서, 상기 특이점을 추출하는 단계는
    상기 수집된 2D 이미지들 중 연속된 2D 이미지 사이의 유사도를 평가하고, 유사도가 사전에 설정된 임계 값보다 낮은 연속된 2D 이미지를 촬영 환경이 변화되는 시점으로 판단하고, 상기 촬영 환경이 변화되는 시점을 특이점으로 추출하는 것을 특징으로 하는, 가이드 제공 방법.
  4. 제3항에 있어서, 상기 특이점을 추출하는 단계는
    상기 연속된 2D 이미지에서 픽셀에 대한 RGB(Red, Green, Blue) 히스토그램을 생성하고, 생성된 RGB 히스토그램을 비교하여 유사도를 산출하는 것을 특징으로 하는, 가이드 제공 방법.
  5. 제4항에 있어서, 상기 2D 이미지들과 함께 제공하는 단계는
    상기 수집된 2D 이미지들 중 촬영 환경이 변화되는 시점에 해당하는 구간을 특이점으로 지정하고, 상기 특이점을 가이드 정보로 가공하여 상기 2D 이미지들과 함께 제공하는 것을 특징으로 하는, 가이드 제공 방법.
  6. 제1항에 있어서, 상기 특이점을 추출하는 단계는
    상기 수집된 2D 이미지들 각각을 복수개의 영역으로 분할하고, 분할된 영역 각각을 분석하여 밝기 또는 RGB 값을 파악하고, 상기 밝기 또는 RGB 값의 변화량을 기준으로 특이점을 추출하는 것을 특징으로 하는, 가이드 제공 방법.
  7. 삭제
  8. 삭제
  9. 제6항에 있어서, 상기 2D 이미지들과 함께 제공하는 단계는
    상기 수집된 2D 이미지들의 분할된 영역 각각의 밝기 또는 RGB 값의 변화량이 사전에 설정된 임계 값보다 높은 구간을 지정하고, 지정된 구간을 가이드 정보로 가공하여 상기 2D 이미지들과 함께 제공하는 것을 특징으로 하는, 가이드 제공 방법.
  10. 메모리(memory);
    송수신기(transceiver); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위해 사전에 수집된 2D 이미지들을 분석하여 특이점을 추출하는 단계; 및
    상기 프로세서가, 상기 추출된 특이점을 어노테이션 장치가 어노테이션(annotation) 작업을 수행하기 위한 가이드 정보로 가공하여, 상기 2D 이미지들과 함께 제공하는 단계를 포함하고,
    상기 특이점을 추출하는 단계는
    상기 수집된 2D 이미지들 각각을 수직 방향으로 두개의 영역으로 분할하고, 연속된 2D 이미지의 상단 영역 밝기 또는 RGB 값의 변화량이 사전에 설정된 임계 값보다 높은 경우 날씨가 변화하는 시점으로 인식하고, 하단 영역 밝기 또는 RGB 값의 변화량이 사전에 설정된 임계 값보다 높은 경우 도로가 변화하는 시점으로 인식하는 것을 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.
KR1020210183377A 2021-12-21 2021-12-21 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102403169B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210183377A KR102403169B1 (ko) 2021-12-21 2021-12-21 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210183377A KR102403169B1 (ko) 2021-12-21 2021-12-21 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102403169B1 true KR102403169B1 (ko) 2022-05-30

Family

ID=81800131

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210183377A KR102403169B1 (ko) 2021-12-21 2021-12-21 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102403169B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102546198B1 (ko) * 2022-11-30 2023-06-22 주식회사 인피닉 물리적 요인 기반 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102546193B1 (ko) * 2022-11-30 2023-06-22 주식회사 인피닉 컬러 정보를 이용한 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102546195B1 (ko) * 2022-11-30 2023-06-23 주식회사 인피닉 수집 환경 기반 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013210844A (ja) * 2012-03-30 2013-10-10 Secom Co Ltd 画像照合装置
JP2019185487A (ja) * 2018-04-12 2019-10-24 日本電信電話株式会社 学習データ生成装置、変化領域検出方法及びコンピュータプログラム
KR20200042629A (ko) 2018-10-16 2020-04-24 주식회사 키센스 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치
KR102310592B1 (ko) * 2021-02-10 2021-10-13 주식회사 인피닉 작업 규칙의 변경을 안내할 수 있는 어노테이션 방법
KR102313922B1 (ko) * 2021-07-08 2021-10-18 주식회사 인피닉 연속되는 3d 점군 데이터의 품질 향상 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013210844A (ja) * 2012-03-30 2013-10-10 Secom Co Ltd 画像照合装置
JP2019185487A (ja) * 2018-04-12 2019-10-24 日本電信電話株式会社 学習データ生成装置、変化領域検出方法及びコンピュータプログラム
KR20200042629A (ko) 2018-10-16 2020-04-24 주식회사 키센스 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치
KR102310592B1 (ko) * 2021-02-10 2021-10-13 주식회사 인피닉 작업 규칙의 변경을 안내할 수 있는 어노테이션 방법
KR102313922B1 (ko) * 2021-07-08 2021-10-18 주식회사 인피닉 연속되는 3d 점군 데이터의 품질 향상 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102546198B1 (ko) * 2022-11-30 2023-06-22 주식회사 인피닉 물리적 요인 기반 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102546193B1 (ko) * 2022-11-30 2023-06-22 주식회사 인피닉 컬러 정보를 이용한 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102546195B1 (ko) * 2022-11-30 2023-06-23 주식회사 인피닉 수집 환경 기반 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
KR102403169B1 (ko) 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102389998B1 (ko) 비식별 처리 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102356910B1 (ko) 객체의 선제 검출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN111767831B (zh) 用于处理图像的方法、装置、设备及存储介质
KR102343059B1 (ko) 인공지능 기계 학습용 데이터 수집 시스템 및 이를 위한 장치
KR102310585B1 (ko) 용이하게 객체를 지정할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102356909B1 (ko) 인공지능 학습용 데이터의 객체를 지정하고 속성을 설정하는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343056B1 (ko) 어노테이션을 위한 이미지의 데이터 로드를 감축시키는 방법
CN111598065A (zh) 深度图像获取方法及活体识别方法、设备、电路和介质
CN114830177A (zh) 电子设备和用于控制该电子设备的方法
KR102310608B1 (ko) 레이더 및 라이다를 기반으로 하는 자율주행 학습 데이터의 처리 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310602B1 (ko) 다중 센서의 오차 보정 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN114419603A (zh) 一种自动驾驶车辆控制方法、系统和自动驾驶车辆
KR102310595B1 (ko) 제안된 정보를 이용하여 객체 속성을 설정할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102395393B1 (ko) 센싱 환경 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102403174B1 (ko) 중요도에 따른 데이터 정제 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102485099B1 (ko) 메타 데이터를 이용한 데이터 정제 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343061B1 (ko) 개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310604B1 (ko) 다중 센서에 의해 수집된 데이터의 처리 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310601B1 (ko) 레이저 프리뷰를 이용한 학습 데이터 수집 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102439429B1 (ko) 객체 추출이 용이한 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN115953744A (zh) 一种基于深度学习的车辆识别追踪方法
KR102313947B1 (ko) 트래킹 아이디 부여 및 검수 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102546198B1 (ko) 물리적 요인 기반 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102531917B1 (ko) 경계선 이식을 통한 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant