KR20210057943A - 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램 - Google Patents

자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR20210057943A
KR20210057943A KR1020190144770A KR20190144770A KR20210057943A KR 20210057943 A KR20210057943 A KR 20210057943A KR 1020190144770 A KR1020190144770 A KR 1020190144770A KR 20190144770 A KR20190144770 A KR 20190144770A KR 20210057943 A KR20210057943 A KR 20210057943A
Authority
KR
South Korea
Prior art keywords
data
labeling
sensor data
bounding box
computing device
Prior art date
Application number
KR1020190144770A
Other languages
English (en)
Other versions
KR102325367B1 (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 KR1020190144770A priority Critical patent/KR102325367B1/ko
Publication of KR20210057943A publication Critical patent/KR20210057943A/ko
Priority to KR1020210151623A priority patent/KR20210135206A/ko
Application granted granted Critical
Publication of KR102325367B1 publication Critical patent/KR102325367B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06K9/00624
    • G06T3/0031
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 자율 주행 데이터의 데이터 레이블링 방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 3D 포인트 클라우드 데이터(Point Cloud Data)를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계, 상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계 및 상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함한다.

Description

자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR CONDUCTING AUTOMATIC DRIVING DATA LABELING}
본 발명의 다양한 실시예는 지도 학습(Supervised Learning)을 위하여 자율 주행 데이터를 레이블링 하기위한, 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램에 관한 것이다.
차량을 운전하는 사용자들의 편의를 위하여, 각종 센서와 전자 장치 등(예: 차량 운전자 보조 시스템(ADAS: Advanced Driver Assistance System)이 구비되고 있는 추세이며, 특히, 차량의 자율 주행 시스템(Autonomous driving System)에 대한 기술 개발이 활발하게 이루어지고 있다.
여기서, 자율 주행 시스템이란 운전자의 개입 없이 주변 환경을 인식하고, 인식된 주변 환경에 따라 스스로 주어진 목적지까지 자동으로 주행하는 차량을 말한다.
일반적으로 자율 주행 시스템의 경우, 자율 주행 데이터(예: 도로의 상황이나 주행 경로 등에 대한 데이터)를 학습 데이터로 이용하여 모델을 학습시키고, 학습된 모델을 이용하여 차량이 목적지까지 주행할 수 있는 주행 경로를 제공한다.
자율 주행 데이터를 학습 데이터로써 이용하여 모델을 지도 학습시키기 위해서는 수많은 센서 데이터(예: 레이저 스캔 센서로부터 획득되는 레이저 스캔 데이터 및 카메라 센서를 통해 감지되는 영상(동영상 또는 이미지) 데이터)와 센서 데이터 상에서 차량의 위치를 가리키는 정답(ground truth)이 필요하다. 따라서, 각각의 센서 데이터 상에 정답을 제공하기 위해 자율 주행 데이터에 대한 레이블링(Labeling)이 필수적이다.
한편, 종래에는 자율 주행 데이터에 대한 레이블링을 하기 위하여, 사람이 각각의 센서 데이터마다 직접 레이블링을 해주어야 하기 때문에, 레이블링 작업을 하는데 있어서 많은 시간이 소요된다는 문제가 있다. 또한, 시간을 단축시키기 위해서는 더 많은 인력이 투입해야 하기 때문에, 인건비와 같은 비용이 많이 필요하다는 문제가 있다.
한국공개특허 제10-2017-0118501호(2017.10.25)
본 발명이 해결하고자 하는 과제는 레이블링 작업을 수행할 수 있는 사용자 인터페이스(User interface, UI)를 제공하고, UI를 통해 출력된 2D 형태의 데이터 상에 간단한 입력(예: 레이블링 대상 선택)을 입력함으로써 복수의 센서 데이터에 대한 레이블링을 수행할 수 있는 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 데이터 레이블링 방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 3D 포인트 클라우드 데이터(Point Cloud Data)를 X-Y 평면상에 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계, 상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계 및 상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 데이터 레이블링 장치는, 하나 이상의 인스트럭션(instruction)을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함할 수 있고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 3D 포인트 클라우드 데이터(Point Cloud Data)를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계, 상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계 및 상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함하는 데이터 레이블링 방법을 수행할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 데이터 레이블링 컴퓨터프로그램은, 하드웨어인 컴퓨터(또는 컴퓨팅 장치)와 결합되어, 3D 포인트 클라우드 데이터(Point Cloud Data)를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계, 상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계 및 상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함하는 데이터 레이블링 방법을 수행할 수 있도록 컴퓨터(또는 컴퓨팅 장치)에서 판독가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 레이블링 작업을 수행할 수 있는 UI를 제공하고, UI를 통해 출력된 2D 형태의 데이터 상에 간단한 동작(예: 터치, 클릭 및 드래그 입력으로 레이블링 대상을 선택하는 동작)을 입력하여 복수의 센서 데이터에 대한 레이블링을 수행함으로써, 복수의 센서 데이터를 개별적으로 레이블링을 수행하는데 소요되는 시간과 비용을 줄일 수 있다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터 레이블링 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 다양한 실시예에 따른 데이터 레이블링 장치의 하드웨어 구성도이다.
도 3은 본 발명의 다양한 실시예에 따른 데이터 레이블링 방법을 설명하기 위한 순서도이다.
도 4는 다양한 실시예에서, 데이터 레이블링 장치가 사용자 단말로 제공하는 UI를 예시적으로 도시한 도면이다.
도 5는 다양한 실시예에서, 데이터 레이블링 장치가 제공하는 UI를 통해 출력되는 2D 형태의 데이터를 도시한 도면이다.
도 6은 다양한 실시예에서, 데이터 레이블링 장치가 제공하는 UI를 통해 출력된 2D 형태의 데이터 상에 레이블링 대상을 가리키는 사용자 입력이 입력된 형태를 도시한 도면이다.
도 7은 다양한 실시예에서, 센서 데이터가 3D 데이터인 경우에 사용자 입력에 따라 UI 상에 출력되는 3D 도형 형태의 경계 박스를 도시한 도면이다.
도 8은 다양한 실시예에서, 센서 데이터가 2D 데이터인 경우에 사용자 입력에 따라 UI 상에 출력되는 2D 도형 형태의 경계 박스를 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 레이블링 시스템의 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 데이터 레이블링 시스템은 데이터 레이블링 장치(100), 사용자 단말(200) 및 외부 서버(300)를 포함할 수 있다.
여기서, 도 1에 도시된 데이터 레이블링 시스템은 일 실시예에 따른 것이고, 그 구성요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 데이터 레이블링 장치(100)는 외부 서버(300)로부터 3D 포인트 클라우드 데이터 및 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)를 얻을 수 있고, 3D 포인트 클라우드 데이터의 좌표 값과 센서 데이터의 좌표 값을 매칭하여 3D 포인트 클라우드 데이터와 센서 데이터를 캘리브레이션(calibration)할 수 있다.
일 실시예에서, 데이터 레이블링 장치(100)는 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)와 매칭된 3D 포인트 클라우드 데이터를 2D로 변환하여 2D 형태의 데이터를 생성할 수 있다. 예를 들어, 데이터 레이블링 장치(100)는 X축 및 Y축을 기준으로 센서 데이터와 매칭된 3D 포인트 클라우드 데이터를 2D로 변환하여 2D 형태의 데이터를 생성(3D 포인트 클라우드 데이터를 조감도(Brid-eye-view, BEV) 형태로 X-Y평면상에 출력되도록 변환하여 2D 형태의 데이터를 생성)할 수 있다.
일 실시예에서, 데이터 레이블링 장치(100)는 2D 형태의 데이터 및 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)를 포함하는 UI를 사용자 단말(200)로 제공함으로써, 사용자 단말(200)로부터 레이블링 대상을 가리키는 사용자 입력을 얻을 수 있다.
다양한 실시예에서, 데이터 레이블링 장치(100)는 별도의 통신 모듈(미도시)를 포함할 수 있으며, 통신 모듈이 네트워크(400)를 통해 사용자 단말(200)과 연결되어 사용자 단말(200)로 UI(예: 도 4)를 제공하거나, 제공된 UI를 통해 입력된 사용자 입력을 얻을 수 있다. 또한, 통신 모듈이 네트워크(400)를 통해 외부 서버(300)와 연결되어 외부 서버(300)로부터 포인트 클라우드 데이터 및 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)를 수신할 수 있다.
일 실시예에서, 데이터 레이블링 장치(100)는 사용자 단말(200)로부터 얻은 레이블링 대상을 가리키는 사용자 입력을 이용하여 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값을 추출할 수 있고, 추출된 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값(예: 카메라로부터 촬영된 영상 데이터 상의 좌표 값)을 선택할 수 있으며, 선택한 센서 데이터 좌표 값을 이용하여 센서 데이터 상에 레이블링을 수행할 수 있다.
일 실시예에서, 사용자 단말(200)은 사용자 단말(200)의 적어도 일부분에 디스플레이를 포함할 수 있으며, 디스플레이를 통해 데이터 레이블링 장치(100)로부터 제공되는 UI를 출력할 수 있다. 예를 들어, 사용자 단말(200)는 스마트폰, 태블릿 PC, 노트북 및 데스크탑 중 적어도 하나를 포함할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 사용자 단말(200)은 데이터 레이블링 장치(100)와 유무선으로 연결되어, 데이터 레이블링 장치(100)로부터 UI를 제공받을 수 있고, UI를 통해 입력한 레이블링 대상을 가리키는 사용자 입력을 데이터 레이블링 장치(100)로 제공할 수 있다. 예를 들어, 사용자는 자신의 스마트폰에 포함된 통신 모듈을 이용하여 데이터 레이블링 장치(100)와 무선 연결될 수 있고, 데이터 레이블링 장치(100)로부터 제공된 UI를 스마트폰 화면에 출력할 수 있으며, 스마트폰에 출력된 UI를 통해 제공되는 2D 형태의 데이터 상에서 레이블링 대상을 터치 입력함으로써, 레이블링 대상을 선택할 수 있다. 이후, 스마트폰에 포함된 통신 모듈을 이용하여 레이블링 대상에 대한 정보(예: 레이블링 대상의 라벨 이름, 좌표 값 등)를 데이터 레이블링 장치(100)로 제공할 수 있다. 그러나, 이에 한정되지 않는다.
일 실시예에서, 외부 서버(300)는 복수의 센서로부터 감지된 센서 데이터(예: 레이저 스캔 센서로부터 획득되는 레이저 스캔 데이터 및 카메라 센서를 통해 감지되는 영상(동영상 또는 이미지) 데이터) 및 3D 포인트 클라우드 데이터를 저장할 수 있다. 예를 들어, 외부 서버(300)는 복수의 센서를 구비한 정보 제공 차량이 소정의 지역을 이동하면서 감지한 센서 데이터(예: 카메라의 영상(동영상 및 이미지) 데이터 및 레이저 스캔 데이터)를 수신하여 저장할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 데이터 레이블링 장치(100)로부터 소정의 지역에 대한 센서 데이터의 송신 요청을 수신할 수 있으며, 복수의 센서 데이터 중 소정의 지역에 대한 센서 데이터만을 추출하여 데이터 레이블링 장치(100)로 제공할 수 있다.
다양한 실시예에서, 외부 서버(300)는 센서 데이터가 감지된 시점에 따라 동일한 시점에 감지된 센서 데이터들을 그룹화하고, 그룹화된 센서 데이터를 데이터 레이블링 장치(100)로 제공할 수 있다. 예를 들어, 복수의 센서 데이터를 제1 시점에서의 센서 데이터, 제2 시점에서의 센서 데이터 및 제3 시점에서의 센서 데이터로 그룹화하고, 그룹화한 센서 데이터를 데이터 레이블링 장치(100)로 제공할 수 있다.
여기서, 데이터 레이블링 장치(100)는 외부 서버(300)로부터 각종 데이터를 제공받고, 제공된 데이터를 가공, 분석하여 센서 데이터에 대한 레이블링을 수행하는 것으로 설명하고 있으나, 이에 한정되지 않고, 데이터 레이블링 장치(100)는 외부 서버(300)로 센서 데이터의 레이블링 작업을 수행하기 위한 제어 신호(예: 소정의 지역에 대한 동시점의 센서 데이터 추출 신호, 3D 포인트 클라우드 데이터와 센서 데이터를 매칭하는 것을 지시하는 제어 신호 및 2D 형태의 데이터 생성 신호 등)를 송신하는 기능만을 수행할 수 있고, 외부 서버(300)가 데이터 레이블링 장치(100)로부터 수신한 제어 신호를 이용하여 제어 신호에 따른 레이블링 작업 동작을 수행할 수 있다.
도 2는 본 발명의 다양한 실시예에 따른 데이터 레이블링 장치의 하드웨어 구성도이다.
도 2를 참조하면, 본 발명의 다른 실시예에 따른 데이터 레이블링 장치(100)(이하, "컴퓨팅 장치(100)")는 프로세서(110) 및 메모리(120)를 포함할 수 있다. 다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크 인터페이스(또는 통신 인터페이스)(미도시), 스토리지(미도시), 버스(bus)(미도시)를 더 포함할 수 있다.
일 실시예에서, 프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
다양한 실시예에서, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 다양한 실시예에서, 프로세서(110)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예: 버스(bus) 등)를 포함할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
일 실시예에서, 프로세서(110)는 메모리(120)에 저장된 하나 이상의 인스트럭션(instruction)을 실행함으로써, 도 3 내지 8과 관련하여 설명될 방법(예: 데이터 레이블링 방법)을 수행할 수 있다. 예를 들어, 프로세서(110)는 메모리(120)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 3D 포인트 클라우드 데이터를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링 대상을 가리키는 사용자 입력을 얻는 동작, 2D 형태의 데이터와 기 매칭된 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)에서 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 동작 및 센서 데이터 좌표 값을 이용하여 센서 데이터 상에 레이블링을 수행하는 동작을 포함하는 데이터 레이블링 방법을 수행할 수 있다.
일 실시예에서, 메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(120)에는 프로세서(110)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(120)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
다양한 실시예에서, 본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수 있다. 이하, 도 3 내지 8을 참조하여, 컴퓨팅 장치(100)가 수행하는 데이터 레이블링 방법에 대하여 설명하도록 한다.
도 3은 본 발명의 다양한 실시예에 따른 데이터 레이블링 방법을 설명하기 위한 순서도이다.
일 실시예에서, 컴퓨팅 장치(100)는 본 발명의 다양한 실시예에 따른 데이터 레이블링 방법은 2D 형태의 데이터 상에서 레이블링 대상을 가리키는 사용자 입력을 얻고, 2D 형태의 데이터와 기 매칭된 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)에서 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하며, 선택한 센서 데이터 좌표 값을 이용하여 센서 데이터 상에 레이블링을 수행할 수 있다. 이를 위해, 컴퓨팅 장치(100)는 본 발명의 또 다른 실시예에 따른 데이터 레이블링 방법을 수행하기에 앞서, 센서 데이터와 매칭된 2D 형태의 데이터를 생성할 수 있다.
여기서, 2D 형태의 데이터는 도 5에 도시된 바와 같이 3D 포인트 클라우드 데이터를 2D 화면(예: 사용자 단말(200)의 디스플레이)에 출력될 수 있는 형태로 변환된 데이터를 의미할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 외부 서버(300)로부터 얻은 복수의 센서 데이터 중 동일한 시점에서의 센서 데이터만을 선택하고, 선택한 센서 데이터의 좌표 값과 3D 포인트 클라우드 데이터의 좌표 값을 매칭할 수 있다. 이후, 컴퓨팅 장치(100)는 3D 포인트 클라우드 데이터를 조감도(Bird-eye-view, BEV) 형태로 X-Y평면상에 투사(projection)함으로써, UI를 통해 출력될 때 2D 형태로 출력될 수 있는 2D 형태의 데이터를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 3D 포인트 클라우드 데이터를 2D 격자 지도(Grid map) 상에 양자화하여 2D 형태의 데이터를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 3D 포인트 클라우드 데이터를 조감도 형태로 2D 격자 지도(Grid map)상에 양자화(quantization)하고, 평균 값, 최대 값 및 밀도 값 중 적어도 하나의 값을 대표 값으로 표현함으로써, 2D 형태의 데이터를 생성할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)의 시점별로 2D 형태의 데이터를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 제1 시점의 센서 데이터에 대한 2D 형태의 데이터와 제1 시점과 다른 제2 시점에 대한 2D 형태의 데이터를 생성할 수 있다. 그러나, 이에 한정되지 않는다.
도 3을 참조하면, S110 단계에서, 컴퓨팅 장치(100)는 사용자 단말(200)로 2D 형태의 데이터 및 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)를 출력하고, 2D 형태의 데이터 상에서 레이블링 대상을 가리키는 사용자 입력을 얻으며, 사용자 입력에 대응하는 제1 경계 박스 및 제2 경계 박스를 출력하는 UI를 제공할 수 있다. 이하, 도 4를 참조하여, 컴퓨팅 장치(100)에서 제공하는 UI에 대하여 설명하도록 한다.
도 4는 다양한 실시예에서, 데이터 레이블링 장치가 사용자 단말로 제공하는 UI를 예시적으로 도시한 도면이다.
도 4를 참조하면, 다양한 실시예에서, UI(40)는 제1 UI(41), 제2 UI(42) 및 제3 UI(43)를 포함하 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 제1 UI(41)를 통해 2D 형태의 데이터(10)를 출력할 수 있고, 사용자로부터 레이블링 대상을 가리키는 사용자 입력을 얻을 수 있다. 이후, 사용자 입력을 분석하여, 레이블링 대상의 종류(또는 라벨 네임) 및 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 같은 레이블링 대상에 대한 정보를 얻을 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 UI(41)를 통해 2D 형태의 데이터(10)를 확대 또는 축소하는 기능을 제공할 수 있다. 다양한 실시예에서, 컴퓨팅 장치(100)는 제1 UI(41)를 통해 소정의 지역에 대한 2D 형태의 데이터(10)를 하나의 화면에 출력할 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 제2 UI(42)를 통해 센서 데이터(20) (예: 복수의 카메라로부터 촬영된 복수의 영상 데이터)를 출력할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 제1 UI(41)를 통해 출력되는 2D 형태의 데이터와 기 매칭된 센서 데이터(20)를 제2 UI(42)에 출력할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 UI(41) 및 제3 UI(43)만을 출력 UI(40)를 제공할 수 있고, 제1 UI(41)를 통해 레이블링 대상을 가리키는 사용자 입력을 얻는 경우, 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표를 가지는 센서 데이터(20)(예: 영상 데이터)를 출력하는 제2 UI(42)를 팝업(Pop-up) 창형태로 출력할 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 제3 UI(43)를 통해 제1 UI(41) 및 제2 UI(42)를 조작하기 위한 다양한 툴(tool)을 출력할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 제3 UI(43)를 통해, 레이블링 대상에 따른 경계 박스(예: 도 6의 11, 12)의 크기, 형태를 선택하는 툴, 기 생성된 경계 박스의 속성을 변경하는 툴 및 제1 UI(41), 제2 UI(42) 및 제3 UI(43)의 설정을 변경하는 툴을 제공할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 제1 UI(41) 및 제2 UI(42)만을 출력하는 UI(40)를 제공하고, 기 설정된 조건이 만족하는 경우에 한하여 제3 UI(43)를 출력할 수 있다(예: 사용자가 UI(40) 상에서 특정 위치에 대한 터치 입력을 하는 경우, 제3 UI(43)를 출력).
다시 도 3을 참조하면, S120 단계에서, 컴퓨팅 장치(100)는 S110 단계에서 사용자 단말(200)로 제공한 UI를 통해 레이블링 대상을 가리키는 사용자 입력을 수신할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 UI에 출력되는 2D 형태의 데이터 상에서 레이블링 대상을 터치 입력함으로써 생성되는 사용자 입력 또는 마우스를 이용하여 마우스 포인터로 레이블링 대상을 클릭 입력함으로써 생성되는 사용자 입력을 수신할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 레이블링 대상의 종류 및 크기에 기초하여 레이블링 대상에 대한 2D 도형 형태의 제1 경계 박스를 생성하고, 생성된 제1 경계 박스를 UI 상에서 사용자 입력이 입력된 위치(예: 2D 형태의 데이터 상에서 사용자 입력이 입력된 위치)에 출력할 수 있다. 이하, 도 6을 참조하여 설명하도록 한다.
도 6은 다양한 실시예에서, 데이터 레이블링 장치가 제공하는 UI를 통해 출력된 2D 형태의 데이터 상에 레이블링 대상을 가리키는 사용자 입력이 입력된 형태를 도시한 도면이다.
도 6을 참조하면, 일 실시예에서, 사용자가 레이블링을 수행하고자 하는 레이블링 대상의 종류가 자동차인 경우, 컴퓨팅 장치(100)는 자동차의 크기에 기초하여 직사각형 형태의 제1 경계 박스(11, 12)를 생성할 수 있다. 컴퓨팅 장치(100)는 2D 형태의 데이터 상에서 사용자 입력(예: 마우스 포인터(13)를 통한 클릭 입력 및 키보드 입력)에 대응되는 위치에 직사각형 형태의 제1 경계 박스(11, 12)를 출력할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자 입력(예: 키보드 입력 등)에 따라 UI를 통해 제1 경계 박스를 생성하는 경계 박스 추가 모드, 기 생성된 제1 경계 박스의 속성을 변경하는 경계 박스 수정 모드 및 특정 영역을 학습을 위한 데이터에서 제외하기 위한 ROU(Region of Uninterest) 모드 중 어느 하나의 모드를 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 레이블링 대상의 종류에 기초하여 사용자 입력에 따라 생성되는 제1 경계 박스(11, 12)의 크기 및 형태를 미리 설정할 수 있고, UI가 경계 박스 추가 모드인 경우, 2D 형태의 데이터 상에서 사용자 입력에 대응되는 위치에 미리 설정된 크기 및 형태의 제1 경계 박스(11, 12)를 출력할 수 있다. 예를 들어, 레이블링 대상의 종류가 자동차인 경우, 자동차의 크기 및 형태(예: 경차, 오토바이, 소형차, 중형차, 트럭 및 버스 등)의 크기 및 형태)에 따라 소정의 크기를 가지는 2D 도형 형태(예: 직사각형 형태)의 제1 경계 박스(11, 12)를 템플릿(template)을 미리 설정할 수 있다.
이후, 컴퓨팅 장치(100)는 UI를 통해 레이블링 대상의 위치 및 레이블링 대상의 종류에 대한 정보를 포함하는 사용자 입력을 얻는 경우, 사용자 입력에 대응되는 위치에 미리 설정된 직사각형 제1 경계 박스(11, 12)의 템플릿을 출력할 수 있다. 예를 들어, 사용자로부터 입력된 레이블 대상의 종류가 40인승 버스인 경우, 미리 생성된 제1 경계 박스(11, 12)의 템플릿 중 40인승 버스에 대응되는 크기 및 형태의 제1 경계 박스(11, 12)를 사용자 입력에 대응되는 레이블링 대상의 위치에 출력할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 레이블링 대상의 종류가 사람, 공사 현장과 같은 고정된 장애물, 가드레일 및 표지판 등과 같은 경우에도 상기와 같은 방법을 적용하여 제1 경계 박스(11, 12)의 템플릿을 생성할 수 있고, 사용자 입력에 대응되는 레이블 대상의 종류에 따라 기 생성된 제1 경계 박스(11, 12)의 템플릿을 출력할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI가 경계 박스 추가 모드인 경우, 사용자 입력(경계 박스 추가를 가리키는 입력 및 레이블링 대상의 종류를 가리키는 입력)에 대응되는 제1 경계 박스(11, 12)의 템플릿을 선택할 수 있고, 선택한 제1 경계 박스(11, 12)의 템플릿과 동일한 형태로 마우스 포인터의 형태를 설정할 수 있다 (예: 직사각형 형태의 마우스 포인터). 컴퓨팅 장치(100)는 사용자의 마우스 움직임에 응답하여, 제1 경계 박스(11, 12)의 템플릿과 동일한 형태의 마우스 포인터를 화면상에서 이동시킬 수 있고, 2D 형태의 데이터 상의 사용자의 클릭 입력된 위치에 마우스 포인터와 동일한 형태의 제1 경계 박스(11, 12)를 추가할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 경계 박스(11, 12)의 생성을 가리키는 입력 외에 추가적인 사용자 입력(예: 키보드 입력)이 수신되는 경우, 추가적인 사용자 입력에 따라 제1 경계 박스(11, 12)의 템플릿과 동일한 형태를 가지는 마우스 포인터의 형태(예: 마우스 포인터의 길이, 너비 및 각도)를 변경할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 사용자로부터 소형차에 대한 제1 경계 박스 생성 요청을 수신하는 경우, 소형차에 대응되는 제1 경계 박스(11, 12)의 템플릿과 동일한 형태로 마우스 포인터를 설정할 수 있다. 이때, 컴퓨팅 장치(100)가 사용자로부터 레이블링 대상이 소형차에서 오토바이로 변경됨을 가리키는 제1 키보드 입력을 수신하는 경우, 소형차에 대응되는 제1 경계 박스(11, 12)의 템플릿과 동일한 형태로 설정된 마우스 포인터의 길이, 너비 및 각도를 변경하여 오토바이에 대응되는 제1 경계 박스(11, 12)의 템플릿과 동일한 형태로 마우스 포인터를 변경할 수 있다.다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 서로 상이한 형태(예: 크기, 모양, 각도 등)를 가지는 복수의 제1 경계 박스(11, 12)의 템플릿을 제공할 수 있고, 사용자의 입력에 따라 복수의 제1 경계 박스(11, 12)의 템플릿 중 적어도 하나의 템플릿을 생성할 수 있다. 이후, 컴퓨팅 장치(100)는 생성된 템플릿의 형태(크기, 모양)에 따라 자동적으로 제1 경계 박스가 가리키는 레이블링 대상의 종류를 판단할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 제1 경계 박스(11, 12)를 직접 입력(예: 마우스 포인터의 드래그 입력)받을 수 있으며, 직접 입력된 제1 경계 박스(11, 12)의 크기 및 형태를 이용하여, 레이블링 대상의 종류를 판단할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 직접 입력된 제1 경계 박스(11, 12)의 크기 및 형태와 기 저장된 레이블링 대상별 제1 경계 박스(11, 12)의 템플릿을 이용하여 제1 경계 박스(11, 12)가 입력된 레이블링 대상의 종류를 판단할 수 있다. 이를 통해, 컴퓨팅 장치(100)는 UI를 통해 사용자가 별도로 레이블링 대상의 종류를 입력하지 않고도, 레이블링 대상의 종류를 파악할 수 있다는 이점이 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 레이블링 대상의 종류 및 크기와 관계 없이 소정의 크기를 가지는 2D 도형 형태의 제1 경계 박스(11, 12)의 템플릿을 미리 생성할 수 있고, 사용자 입력에 대응되는 위치에 미리 생성된 소정의 크기를 가지는 2D 도형 형태의 제1 경계 박스(11, 12)의 템플릿을 출력할 수 있으며, UI를 통해 사용자로부터 입력된 수정 내용에 따라 소정의 크기를 가지는 2D 도형 형태의 제1 경계 박스(11, 12)의 크기, 형태 및 위치를 수정할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 UI를 통해 출력된 제1 경계 박스(11, 12)에 대하여, 사용자로부터 크기 조절 요청(예: 마우스 포인터(13)를 이용하여 제1 경계 박스(11, 12)의 모서리 또는 꼭지점 부분을 클릭 한 상태에서 드래그 입력을 하는 경우), 형태 변경 요청(예: 제1 경계 박스(11, 12)을 선택(또는 활성화)한 상태에서 변경하고자 하는 도형의 형태를 선택하는 경우) 및 위치 조정 요청(예: 제1 경계 박스(11, 12)을 선택(또는 활성화)한 상태에서 이동하고자 하는 위치로 드래그 입력을 하는 경우)을 포함하는 수정 내용을 입력 받을 수 있다.
이후, 컴퓨팅 장치(100)는 UI가 경계 박스 수정 모드인 경우, 크기 조절 요청, 형태 변경 요청 및 위치 조정 요청 중 적어도 하나를 포함하는 수정 내용에 따라 소정의 크기를 가지는 2D 도형 형태의 제1 경계 박스(11, 12)의 형태를 변경할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 수정 내용이 입력되지 않은 제1 경계 박스(11)와 수정 내용이 입력되거나 또는 입력 중인 제1 경계 박스(12)의 색상을 서로 다르게 하여 출력할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 수정 내용이 입력되지 않은 제1 경계 박스(11)를 빨간색으로 표시하고, 수정 내용이 입력되거나 또는 입력 중인 제1 경계 박스(12)를 파란색으로 표시할 수 있다. 이를 통해, UI를 이용하는 사용자가 레이블링 작업이 완료된 레이블링 대상(예: 수정 내용이 입력되지 않은 제1 경계 박스(11))과 레이블링 작업이 수행중인 레이블링 대상(예: 수정 내용이 입력되거나 또는 입력 중인 제1 경계 박스(12))을 직관적으로 구분할 수 있도록 할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI에 포함된 복수의 제1 경계 박스(11, 12)에 대하여, 사용자로부터 선택되어 활성화된 제1 경계 박스(12)와 사용자로부터 선택되지 않아 활성화되지 않은 제1 경계 박스(11)의 색상을 서로 다르게 하여 출력할 수 있다. 예를 들어, 사용자로부터 선택되지 않아 활성화되지 않은 제1 경계 박스(11)를 빨간색으로 표시하고, 사용자로부터 선택되어 활성화된 제1 경계 박스(12)를 파란색으로 표시함으로써, 사용자가 현재 어느 위치의 레이블링 대상에 대한 레이블링 작업을 수행하고 있는지를 직관적으로 확인 가능하도록 할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 제1 경계 박스(11, 12)에 대한 수정 내용(예: 키보드 입력을 통한 길이, 너비, 각도, 높이, 지면의 증가 및 감소 등)을 입력받는 경우, 사용자로부터 입력된 수정 내용에 따라 복수의 제1 경계 박스(11, 12) 중 사용자로부터 선택되어 활성화된 제1 경계 박스(12)를 수정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI가 ROU 모드인 경우, 사용자로부터 입력된 임의의 크기의 영역 설정을 입력 받을 수 있으며, 입력 받은 임의의 크기의 영역을 학습을 위한 데이터에서 제외할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 UI가 ROU모드인 상태에서, 마우스를 클릭한 상태를 유지한 상태에서 드래그 동작으로 통해 임의의 크기의 영역을 지정하고, 영역 지정이 완료된 시점에 마우스 클릭을 떼는 동작을 통해 임의의 크기의 영역을 입력 받을 수 있으며, 입력 받은 임의의 크기의 영역을 학습을 위한 데이터에서 제외할 수 있다.
다시 도 3을 참조하면, S130 단계에서, 컴퓨팅 장치(100)는 레이블링 대상에 대한 센서 데이터 좌표(예: 영상 데이터 상의 좌표)를 선택할 수 있다. 예를 들어, 컴퓨팅 장치(100)가 2D 형태의 데이터 상에서 레이블링 대상에 대한 사용자 입력을 수신하는 경우, 사용자 입력에 대응되는 레이블링 대상에 대한 3D 포인트 클라우드 데이터 좌표를 추출할 수 있다.
이후, 컴퓨팅 장치(100)는 2D 형태의 데이터와 기 매칭된 센서 데이터에서 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표를 선택할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 조감도 형태로 XY평면상에 투사된 2D 형태의 데이터와 매칭되는 3D 포인트 클라우드 데이터의 좌표(x, y, z의 3차원 좌표)를 이용하여, 3D 포인트 클라우드 데이터와 투영된 센서 데이터(예: 영상 데이터)의 좌표 값을 선택할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 2D 형태의 데이터 상에 생성된 제1 경계 박스를 이용하여 센서 데이터 상에 출력할 제2 경계 박스를 생성할 수 있다. 이후, 컴퓨팅 장치(100)는 제2 경계 박스의 3D 좌표 값(X, Y, Z)과 센서 데이터 좌표 값을 매핑(mapping)할 수 있는 매트릭스(matrix)를 이용하여 센서 데이터 좌표를 선택할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 S120 단계에서 생성된 제1 경계 박스(예: 도 6의 11, 12)에 기초하여, 센서 데이터(예: 영상 데이터) 상에서 2D 도형 형태 또는 3D 도형 형태의 제2 경계 박스를 생성할 수 있다. 이하, 도 7 및 8을 참조하여 설명하도록 한다.
도 7은 다양한 실시예에서, 센서 데이터가 3D 데이터인 경우에 사용자 입력에 따라 UI 상에 출력되는 3D 도형 형태의 경계 박스를 도시한 도면이다.
도 7을 참조하여, 컴퓨팅 장치(100)는 센서 데이터가 3D 데이터인 경우, S120 단계에서 생성된 제1 경계 박스(11a, 11b, 11c)에 기초하여 3D 도형 형태의 제2 경계 박스(31a, 31b, 31c)를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 센서 데이터가 3D 데이터(예: 3D 레이저 스캔 데이터)인 경우, 제1 경계 박스(11a, 11b, 11c) 내부의 적어도 하나의 포인트에 대한 높이 정보를 이용하여 레이블링 대상의 바닥면 및 높이를 산출하고, 산출된 레이블링 대상의 바닥면 및 높이를 이용하여 3D 센서 데이터(30) 상에서 센서 데이터 좌표 값과 대응되는 위치에 3D 도형 형태의 제2 경계 박스(31a, 31b, 31c)를 생성할 수 있다.
일례로, 레이블링 대상의 종류가 자동차이고, 제1 경계 박스(11a, 11b, 11c)가 직사각형 형태인 경우, 컴퓨팅 장치(100)는 직사각형 형태의 제1 경계 박스(11a, 11b, 11c) 내부에 포함된 포인트들의 평균 높이, 최소 높이 및 최대 높이를 산출하고, 산출된 평균 높이, 최소 높이 및 최대 높이를 이용하여 레이블링 대상인 자동차의 바닥면과 높이를 산출할 수 있다.
이후, 컴퓨팅 장치(100)는 레이블링 대상인 자동차의 바닥면과 높이를 이용하여 중심점(x, y, z), 각도(yaw), 크기(길이(length), 너비(width), 높이(height))를 계산하고, 계산된 중심점, 각도 및 크기를 특징으로 가지는 직육면체 형태의 제2 경계 박스(31a, 31b, 31c)를 생성할 수 있다. 또한, 컴퓨팅 장치(100)는 생성된 직육면체 형태의 제2 경계 박스(31a, 31b, 31c)를 3D 센서 데이터(30) 상 레이블링 대상의 센서 데이터 좌표 값과 대응되는 위치에 출력할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 산출된 레이블링 대상인 자동차의 바닥면과 높이를 이용하여 생성된 제2 경계 박스(31a, 31b, 31c)의 주변부를 단면(예: X-Z평면 및 Y-Z평면)으로 잘라 팝업창 형태로 UI상에 출력할 수 있다. 이를 통해, 컴퓨팅 장치(100)에서 산출한 자동차의 바닥면과 높이가 정확하지 않더라도, 사용자가 팝업창 형태로 출력된 제2 경계 박스(31a, 31b, 31c)의 단면을 확인하여 보다 세밀하게 수정 및 변경하도록 할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 제2 경계 박스의 중심점, 각도 및 크기를 조정하는 사용자 입력(예: 키보드를 통하여 중심점, 각도 및 크기의 값을 직접 입력)을 수신하여 계산된 중심점, 각도 및 크기 값을 수정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 제1 경계 박스(11a, 11b, 11c)의 크기 및 형태를 직접 입력 받을 수 있고, 사용자가 레이블링 대상의 종류를 직접 입력하지 않더라도, UI를 통해 직접 입력된 제1 경계 박스(11a, 11b, 11c)의 크기 및 형태를 이용하여 제1 경계 박스(11a, 11b, 11c) 각각이 가리키는 레이블링 대상의 종류를 판단할 수 있다.
예를 들어, 레이블링 대상의 종류는 도로상을 주행하는 차량의 종류(예를 들어, 경차, 오토바이, 소형차, 중형차, 트럭 및 버스 등)뿐 아니라, 실시 예에 따라 사람, 공사 현장과 같은 고정된 장애물, 가드레일 및 표지판 등을 포함할 수 있으며, 이에 제한되는 것은 아니다. 이러한 레이블링 대상의 종류는 상술한 바와 같이 사용자의 입력에 기반하여 획득될 수도 있고, 제1 경계 박스의 형태, 크기 및 제1 경계 박스에 포함된 데이터 중 적어도 일부에 기반하여 판단될 수도 있다. 레이블링 대상의 종류에 대한 정보가 기 저장되어 있는 경우, 컴퓨팅 장치(100)는 해당 레이블링 대상의 3차원 형태 및 크기에 대한 정보를 획득할 수 있으며, 실시 예에 따라 종류가 저장되지 않은 레이블링 대상의 경우에도 제1 경계 박스의 크기에 기반하여 소정의 비율로 해당 레이블링 대상의 3차원 형태 및 크기를 추정할 수도 있다.
이후, 컴퓨팅 장치(100)는 제1 경계 박스(11a, 11b, 11c) 각각이 가리키는 레이블링 대상의 종류에 기초하여, 미리 생성된 제2 경계 박스(31a, 31b, 31c)의 템플릿을 중 레이블링 대상의 종류에 대응되는 제2 경계 박스(31a, 31b, 31c)의 템플릿을 선택하고, 선택한 제2 경계 박스(31a, 31b, 31c)의 템플릿을 3D 센서 데이터(30) 상 레이블링 대상의 센서 데이터 좌표 값과 대응되는 위치에 출력할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 제2 경계 박스(31a, 31b, 31c)에 대한 수정 내용을 입력 받을 수 있으며, 수정 내용에 따라 제2 경계 박스(31a, 31b, 31c)를 수정함과 동시에 제2 경계 박스(31a, 31b, 31c)와 대응되는 제1 경계 박스(11a, 11b, 11c)도 함께 수정할 수 있다.
도 8은 다양한 실시예에서, 센서 데이터가 2D 데이터인 경우에 사용자 입력에 따라 UI 상에 출력되는 2D 도형 형태의 경계 박스를 도시한 도면이다.
도 8을 참조하면, 센서 데이터가 2D 데이터인 경우, S120 단계에서 생성된 제1 경계 박스(11a, 11b, 11c)에 기초하여 2D 도형 형태의 제2 경계 박스(21a, 21b, 21c)를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 센서 데이터가 2D 데이터(예: 카메라로부터 촬영된 영상 데이터)인 경우, 상기의 방법(예: 센서 데이터가 3D 데이터인 경우에 제2 경계 박스를 생성하는 방법)으로 생성된 3D 도형 형태의 제2 경계 박스(예: 도 7의 31a, 31b, 31c)의 좌표 값을 매트릭스 형태의 카메라 파라미터를 통해 이미지 좌표계로 변환하고, 2D 센서 데이터(20) 상에서 센서 데이터 좌표 값과 대응되는 위치에 이미지 좌표계로 변환된 2D 도형 형태의 제2 경계 박스(21a, 21b, 21c)를 생성할 수 있다.
일례로, 레이블링 대상의 종류가 자동차이고, 제1 경계 박스(11a, 11b, 11c)가 직사각형 형태인 경우, 컴퓨팅 장치(100)는 직사각형 형태의 제1 경계 박스(11a, 11b, 11c) 내부에 포함된 포인트들의 평균 높이, 최소 높이 및 최대 높이를 산출하고, 산출된 평균 높이, 최소 높이 및 최대 높이를 이용하여 레이블링 대상인 자동차의 바닥면과 높이를 산출할 수 있다.
이후, 컴퓨팅 장치(100)는 레이블링 대상인 자동차의 바닥면과 높이를 이용하여 중심점, 각도, 크기를 계산하고, 계산된 중심점, 각도 및 크기를 특징으로 가지는 직육면체 형태의 제2 경계 박스(예: 도 7의 31a, 31b, 31c)를 생성할 수 있다.
이후, 컴퓨팅 장치(100)는 직육면체 형태의 제2 경계 박스(예: 도 7의 31a, 31b, 31c)의 꼭지점 좌표 이미지 좌표계로 변환하여 직사각형 형태의 제2 경계 박스(21a, 21b, 21c)를 생성할 수 있고, 생성한 직사각형 형태의 제2 경계 박스(21a, 21b, 21c)를 2D 센서 데이터(20)에서 레이블링 대상의 센서 데이터 좌표 값과 대응되는 위치에 출력할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 기 생성된 제1 경계 박스에 대한 수정 내용(예: 제1 경계 박스에 대한 크기 조절 요청, 형태 변경 요청 및 위치 변경 요청 등)을 입력 받는 경우, 수정 내용에 따라 제1 경계 박스를 변경하고, 변경된 제1 경계 박스의 변경 내용에 따라 제2 경계 박스를 변경할 수 있다. 예를 들어, UI를 통해 제1 경계 박스의 형태가 직사각형에서 정사각형으로 변경할 것을 요청하는 수정 내용이 입력되는 경우, 컴퓨팅 장치(100)는 변경된 수정 내용에 따라 제1 경계 박스의 형태를 직사각형에서 정사각형으로 변경할 수 있으며, 제1 경계 박스의 형태가 변경되는 것에 기초하여 제2 경계 박스의 형태를 직육면체에서 정육면체로 변경할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 기 생성된 제1 경계 박스에 대한 수정 내용이 입력되는 경우, 수정 내용에 따라 제1 경계 박스와 제2 경계 박스의 형태를 동시에 변경할 수 있다. 예를 들어, UI를 통해 입력된 제1 수정 내용이 크기 변경 요청인 경우, 컴퓨팅 장치(100)는 크기 변경 요청에 따라 제1 경계 박스 및 제2 경계 박스의 크기를 순차적으로 변경할 수 있다. 또한, UI를 통해 위치 변경을 요청하는 제2 수정 내용이 입력되는 경우, 제2 수정 내용에 따라 제1 경계 박스 및 제2 경계 박스의 위치를 순차적으로 변경할 수 있다. 이를 통해, 사용자는 제1 UI(예: 도 4의 41)를 통해 제1 경계 박스의 형태를 수정한 내용에 따라 제2 경계 박스가 어떻게 달라지는지는 제2 UI(예: 도 4의 42)를 통해 즉각적으로 확인할 수 있다는 이점이 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 기 생성된 제1 경계 박스에 대한 수정 내용이 입력되는 경우, 모든 수정 내용이 완료되는 시점에 모든 수정 내용을 적용하여 제2 경계 박스의 형태를 변경할 수 있다. 예를 들어, 제1 경계 박스에 수정 내용이 입력되고 있는 상태(예: 도 6의 12)에서, 제1 수정 내용 및 제2 수정 내용이 순차적으로 입력되는 경우, 컴퓨팅 장치(100)는 제1 수정 내용 및 제2 수정 내용을 순차적으로 반영하여 제1 경계 박스의 형태를 변경할 수 있고, 제1 경계 박스에 대한 수정 내용 입력이 완료된 상태(예: 도 6의 11)가 되면, 제1 수정 내용 및 제2 수정 내용을 일괄적으로 반영하여 제2 경계 박스의 형태를 변경할 수 있다. 사용자가 제1 경계 박스에 대하여 반복적으로 수정 내용을 입력할 경우, 반복적으로 입력되는 수정 내용에 따라 제2 경계 박스도 함께 반복적으로 변경하게 되면 연산량이 증가하게 된다. 이때, 컴퓨팅 장치(100)는 상기와 같이 반복적으로 입력되는 제1 경계 박스에 대한 수정 내용을 종합하여 일괄적으로 제2 경계 박스에 반영함으로써, 제2 경계 박스를 반복적으로 수정함으로써 연산량이 증가하는 것을 방지할 수 있다는 이점이 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 기 생성된 제1 경계 박스에 대한 수정 내용이 입력되는 경우, 수정 내용에 따라 수정된 제1 경계 박스의 크기 및 형태에 기초하여 제1 경계 박스에 대응되는 레이블링 대상의 종류를 변경할 수 있다. 또한, 컴퓨팅 장치(100)는 레이블링 대상의 종류가 변경됨에 따라 제2 경계 박스의 크기 및 형태를 변경할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 제2 경계 박스(21a, 21b, 21c)에 대한 수정 내용을 입력 받을 수 있으며, 수정 내용에 따라 제2 경계 박스(21a, 21b, 21c)를 수정함과 동시에 제2 경계 박스(21a, 21b, 21c)와 대응되는 제1 경계 박스(11a, 11b, 11c)도 함께 수정할 수 있다.
다시 도 3을 참조하면, S140 단계에서, 컴퓨팅 장치(100)는 S130 단계에서 선택한 센서 데이터 좌표 값을 이용하여 센서 데이터 상에 레이블링을 수행할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 센서 데이터, 레이블링 대상의 종류(또는 라벨 네임)(예: 자동차, 사람 등)를 가리키는 데이터(예: 사용자로부터 직접 입력 받은 레이블링 대상의 종류 또는 제1 경계 박스의 크기 및 형태에 따라 판단된 레이블링 대상의 종류를 가리키는 데이터), 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값 및 레이블링 대상의 센서 데이터 좌표 값을 포함하는 데이터 셋(data set)을 구성할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 하나의 2D 형태의 데이터와 복수의 센서 데이터가 매칭된 경우, 복수의 센서 데이터 각각에 대하여 데이터 셋을 구성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 센서 데이터 중 제1 시점에서의 센서 데이터에 대한 레이블링 작업이 완료되는 경우, 제1 시점 이후의 제2 시점에서의 센서 데이터와 기 매칭된 2D 형태의 데이터를 자동적으로 로드(Load)할 수 있다. 예를 들어, 제1 시점에서의 센서 데이터와 기 매칭된 제1 2D 형태의 데이터에 대한 레이블링 작업이 완료되는 경우(예: UI를 통해 레이블링 완료를 가리키는 사용자 입력이 수신되는 경우), 제1 시점 이후의 제2 시점에서의 센서 데이터와 기 매칭된 제2 2D 형태의 데이터를 자동적으로 로드할 수 있다. 이를 통해, 센서 데이터에 대한 레이블링을 수행하는 사용자가 별도의 동작을 취하지 않고도 작업 완료된 센서 데이터 이후의 센서 데이터에 대한 레이블링 작업을 수행할 수 있다는 점에서, 사용자가 작업의 연속성을 유지할 수 있다는 이점이 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 레이블링 작업이 완료된 복수의 2D 형태의 데이터 중 적어도 하나의 2D 형태의 데이터에 대한 로드를 요청받을 수 있다. 컴퓨팅 장치(100)는 사용자로부터 요청받은 적어도 하나의 2D 형태의 데이터와 적어도 하나의 2D 형태의 데이터 상에서 작업된 레이블링에 대한 정보(예: 레이블링 작업으로 생성된 데이터 셋 및 감지(detection) 알고리즘의 결과 데이터(2D 형태의 데이터 및 센서 데이터에 대하여 감지 알고리즘을 통해 자동적으로 레이블링 동작이 수행된 결과를 나타내는 데이터) 등)를 포함하는 UI를 사용자 단말(200)로 제공함으로써, 적어도 하나의 2D 형태의 데이터 상에 신규 경계 박스 생성을 입력 받거나, 기 생성된 경계 박스에 대한 수정 내용을 입력 받을 수 있다.
전술된 데이터 레이블링 방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 데이터 레이블링 방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 데이터 레이블링 장치(또는 컴퓨팅 장치)
200 : 사용자 단말
300 : 외부 서버

Claims (11)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    3D 포인트 클라우드 데이터(Point Cloud Data)를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계;
    상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계; 및
    상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함하는, 데이터 레이블링 방법.
  2. 제1항에 있어서,
    상기 사용자 입력을 얻는 단계는,
    상기 레이블링 대상의 크기에 기초하여 상기 레이블링 대상에 대한 2D 도형 형태의 제1 경계 박스(Bounding box)를 생성하는 단계를 포함하고,
    상기 센서 데이터 좌표 값을 선택하는 단계는,
    상기 제1 경계 박스를 이용하여 상기 센서 데이터 상에 2D 또는 3D 도형 형태의 제2 경계 박스를 생성하는 단계를 포함하는, 데이터 레이블링 방법.
  3. 제2항에 있어서,
    상기 제2 경계 박스를 생성하는 단계는,
    상기 센서 데이터가 3D 데이터인 경우, 상기 제1 경계 박스 내부의 적어도 하나의 포인트에 대한 높이 정보를 이용하여 상기 레이블링 대상의 바닥면 및 높이를 산출하고, 상기 산출된 레이블링 대상의 바닥면 및 높이를 이용하여 상기 센서 데이터 상에서 상기 센서 데이터 좌표 값과 대응되는 위치에 3D 도형 형태의 제2 경계 박스를 생성하는 단계; 및
    상기 센서 데이터가 2D 데이터인 경우, 상기 3D 도형 형태의 제2 경계 박스의 좌표 값을 이미지 좌표계로 변환하고, 상기 센서 데이터 상에서 센서 데이터 좌표 값과 대응되는 위치에 상기 이미지 좌표계로 변환된 제2 경계 박스를 생성하는 단계를 포함하는, 데이터 레이블링 방법.
  4. 제2항에 있어서,
    상기 사용자 입력을 얻는 단계는,
    상기 2D 형태의 데이터 및 상기 센서 데이터를 출력하고, 상기 2D 형태의 데이터 상에서 상기 레이블링 대상을 가리키는 사용자 입력을 얻으며, 상기 사용자 입력에 대응하는 상기 제1 경계 박스 및 상기 제2 경계 박스를 출력하는 사용자 인터페이스(User interface, UI)를 제공하는 단계를 더 포함하는, 데이터 레이블링 방법.
  5. 제4항에 있어서,
    상기 사용자 입력을 얻는 단계는,
    상기 UI를 통해 기 생성된 제1 경계 박스에 대한 수정을 입력 받는 단계를 더 포함하며,
    상기 센서 데이터 좌표 값을 선택하는 단계는,
    상기 기 생성된 제1 경계 박스의 수정 내용에 따라 상기 제2 경계 박스의 형태를 변경하는 단계를 더 포함하는, 데이터 레이블링 방법.
  6. 제4항에 있어서,
    상기 사용자 입력을 얻는 단계는,
    상기 사용자 입력에 따라 기 생성된 서로 다른 형태를 가지는 복수의 제1 경계 박스의 템플릿 중 어느 하나의 템플릿을 상기 UI상에 출력하는 단계를 더 포함하며,
    상기 레이블링을 수행하는 단계는,
    상기 출력된 어느 하나의 템플릿의 형태에 따라 상기 레이블링 대상의 종류를 판단하는 단계를 더 포함하는, 데이터 레이블링 방법.
  7. 제1항에 있어서,
    상기 데이터 레이블링 방법은,
    상기 센서 데이터 중 동일한 시점에서의 센서 데이터의 좌표 값과 3D 포인트 클라우드 데이터의 좌표 값을 매칭하는 단계; 및
    X축 및 Y축을 기준으로 상기 3D 포인트 클라우드 데이터를 조감도(Bird-eye-view, BEV) 형태로 투사(projection)하는 방법 및 상기 3D 포인트 클라우드 데이터를 2D 격자 지도 상에 양자화하는 방법 중 적어도 하나의 방법을 이용하여 상기 2D 형태의 데이터를 생성하는 단계를 더 포함하는, 데이터 레이블링 방법.
  8. 제7항에 있어서,
    상기 데이터 레이블링 방법은,
    상기 센서 데이터 중 제1 시점에서의 센서 데이터에 대한 레이블링 작업이 완료되는 경우, 상기 제1 시점 이후의 제2 시점에서의 센서 데이터와 기 매칭된 2D 형태의 데이터를 자동적으로 로드하는 단계를 더 포함하는, 데이터 레이블링 방법.
  9. 제1항에 있어서,
    상기 센서 데이터는,
    레이저 스캔 센서로부터 획득되는 레이저 스캔 데이터 및 카메라 센서를 통해 감지되는 영상 데이터 중 적어도 하나를 포함하는, 데이터 레이블링 방법.
  10. 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    제1 항의 방법을 수행하는, 장치.
  11. 하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 판독가능한 기록매체에 저장된 컴퓨터프로그램.
KR1020190144770A 2019-11-13 2019-11-13 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램 KR102325367B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190144770A KR102325367B1 (ko) 2019-11-13 2019-11-13 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램
KR1020210151623A KR20210135206A (ko) 2019-11-13 2021-11-05 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190144770A KR102325367B1 (ko) 2019-11-13 2019-11-13 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210151623A Division KR20210135206A (ko) 2019-11-13 2021-11-05 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램

Publications (2)

Publication Number Publication Date
KR20210057943A true KR20210057943A (ko) 2021-05-24
KR102325367B1 KR102325367B1 (ko) 2021-11-11

Family

ID=76153110

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190144770A KR102325367B1 (ko) 2019-11-13 2019-11-13 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램
KR1020210151623A KR20210135206A (ko) 2019-11-13 2021-11-05 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210151623A KR20210135206A (ko) 2019-11-13 2021-11-05 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램

Country Status (1)

Country Link
KR (2) KR102325367B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376397B1 (ko) 2021-09-27 2022-03-21 국방과학연구소 Ai 자율주행 모방학습 데이터 증강 방법
KR102591078B1 (ko) * 2023-05-02 2023-10-19 주식회사 렛서 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230141103A (ko) 2022-03-31 2023-10-10 주식회사 비솔 Ai 학습을 위한 배경 데이터의 실사 기반 오브젝트 생성 시스템
KR20230146272A (ko) 2022-04-12 2023-10-19 주식회사 비솔 AI 학습을 위한 배경 데이터의 3d 그래픽 기반 캐릭터 생성 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100010011A (ko) * 2008-07-21 2010-01-29 충북대학교 산학협력단 영상 센서 터치스크린의 이중 터치 판별 방법
KR20170118501A (ko) 2016-04-15 2017-10-25 현대자동차주식회사 자율주행차량의 주행경로 생성장치 및 방법
KR20190001668A (ko) * 2017-06-28 2019-01-07 현대모비스 주식회사 차량의 주행 환경 인식 장치, 방법 및 시스템
KR20190110073A (ko) * 2019-09-09 2019-09-27 엘지전자 주식회사 인공 지능 모델을 갱신하는 인공 지능 장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100010011A (ko) * 2008-07-21 2010-01-29 충북대학교 산학협력단 영상 센서 터치스크린의 이중 터치 판별 방법
KR20170118501A (ko) 2016-04-15 2017-10-25 현대자동차주식회사 자율주행차량의 주행경로 생성장치 및 방법
KR20190001668A (ko) * 2017-06-28 2019-01-07 현대모비스 주식회사 차량의 주행 환경 인식 장치, 방법 및 시스템
KR20190110073A (ko) * 2019-09-09 2019-09-27 엘지전자 주식회사 인공 지능 모델을 갱신하는 인공 지능 장치 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K. Lerhinphonphan et al., '2D to 3D Label Propagation For Object Detection in Point Cloud,' 2018 IEEE ICMEW, San Diego, CA, USA, 2018, pp. 1-6 (2018.7.23.) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376397B1 (ko) 2021-09-27 2022-03-21 국방과학연구소 Ai 자율주행 모방학습 데이터 증강 방법
KR102591078B1 (ko) * 2023-05-02 2023-10-19 주식회사 렛서 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
KR102325367B1 (ko) 2021-11-11
KR20210135206A (ko) 2021-11-12

Similar Documents

Publication Publication Date Title
KR102325367B1 (ko) 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램
EP3955158A1 (en) Object detection method and apparatus, electronic device, and storage medium
JP6364049B2 (ja) 点群データに基づく車両輪郭検出方法、装置、記憶媒体およびコンピュータプログラム
US9495802B2 (en) Position identification method and system
CN111797650B (zh) 障碍物的识别方法、装置、计算机设备和存储介质
US20210383096A1 (en) Techniques for training machine learning
KR102363501B1 (ko) 3차원 포인트 클라우드 데이터로부터 지표면 데이터를 생성하는 방법, 장치 및 컴퓨터프로그램
KR102114496B1 (ko) 혼합 현실에서 작업 지원 정보를 제공하는 방법, 단말 및 작업 지원 서버
EP2871612A2 (en) Structure model creation from a three dimensional surface
US11748998B1 (en) Three-dimensional object estimation using two-dimensional annotations
US11209277B2 (en) Systems and methods for electronic mapping and localization within a facility
US8194066B2 (en) Cross-sectional image display apparatus, cross-sectional image display method, and computer readable recording medium storing cross-sectional image display program
EP3330928A1 (en) Image generation device, image generation system, and image generation method
WO2019138597A1 (en) System and method for assigning semantic label to three-dimensional point of point cloud
JP2021177144A (ja) 情報処理装置、情報処理方法及びープログラム
US20230215146A1 (en) Method and apparatus for generating and providing data video for generating training data of artificial intelligence model and recording medium on which program for the same is recorded
JP7267068B2 (ja) 学習済みモデル生成装置、プログラム及び学習済みモデル生成システム
KR20210063637A (ko) 도로 이미지에 기반한 포트홀 탐지 시스템 및 방법
US10921950B1 (en) Pointing and interaction control devices for large scale tabletop models
CN115082648A (zh) 一种基于标志物模型绑定的ar场景布置方法及系统
CN114299271A (zh) 三维建模方法、三维建模装置、电子设备和可读存储介质
KR20210023663A (ko) 2d 이미지를 활용하여 3d 컨텐츠를 생성하는 영상 처리 방법 및 영상 처리 장치
US20220284667A1 (en) Image processing method and image processing device for generating 3d content by means of 2d images
US11829595B1 (en) Augmented-reality-based facility semantic mapping
US20230377164A1 (en) Object labeling for three-dimensional data

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent