Skip to main content
QUICK REVIEW

[논문 리뷰] Kubric: A scalable dataset generator

Klaus Greff, Francois Belletti|arXiv (Cornell University)|2022. 03. 07.
Remote Sensing and LiDAR Applications인용 수 4
한 줄 요약

Kubric는 PyBullet와 Blender를 통합하여 사진처럼 사실적인 합성 데이터셋을 생성하고 풍부한 애너테이션을 제공하는 오픈소스이자 확장 가능한 파이썬 프레임워크입니다. 이는 수천 대의 머신에서 분산 학습을 가능하게 하며 테라바이트 단위의 데이터를 생성합니다. 3D NeRF에서 광학 흐름에 이르기까지 다양한 시각 작업을 위해 시나리오의 복잡도를 세밀하게 제어하고 자동으로 진짜 레이블을 생성할 수 있습니다.

ABSTRACT

Data is the driving force of machine learning, with the amount and quality of training data often being more important for the performance of a system than architecture and training details. But collecting, processing and annotating real data at scale is difficult, expensive, and frequently raises additional privacy, fairness and legal concerns. Synthetic data is a powerful tool with the potential to address these shortcomings: 1) it is cheap 2) supports rich ground-truth annotations 3) offers full control over data and 4) can circumvent or mitigate problems regarding bias, privacy and licensing. Unfortunately, software tools for effective data generation are less mature than those for architecture design and training, which leads to fragmented generation efforts. To address these problems we introduce Kubric, an open-source Python framework that interfaces with PyBullet and Blender to generate photo-realistic scenes, with rich annotations, and seamlessly scales to large jobs distributed over thousands of machines, and generating TBs of data. We demonstrate the effectiveness of Kubric by presenting a series of 13 different generated datasets for tasks ranging from studying 3D NeRF models to optical flow estimation. We release Kubric, the used assets, all of the generation code, as well as the rendered datasets for reuse and modification.

연구 동기 및 목표

  • 비용, 개인정보 보호, 공정성, 라이선스 문제로 인해 실세계 데이터를 대규모로 수집, 정제, 애너테이션하는 데 점점 더 어려워지는 문제를 해결하기 위해.
  • 풍부한 애너테이션과 시나리오 파라미터에 대한 세밀한 제어를 지원하는 일반 목적의 재사용 가능한 합성 데이터 생성 프레임워크를 개발하기 위해.
  • 수천 대의 머신에서 분산되어 실행되는 대규모 데이터 생성을 가능하게 하여 효율적으로 테라바이트 단위의 고품질 데이터를 생성하기 위해.
  • 13개의 다양한 데이터셋을 생성하여 다양한 작업에서 시각 모델을 벤치마킹할 수 있도록 프레임워크의 유연성을 입증하기 위해.
  • 오픈소스 코드, 자산, 표준화된 데이터 포맷을 제공하여 재현 가능성, 공유 가능한 자산, 윤리적인 데이터셋 설계를 촉진하기 위해.

제안 방법

  • Kubric는 물리 시뮬레이션을 위해 PyBullet와 고해상도 렌더링을 위해 Blender를 통합하여 사진처럼 사실적인 시나리오를 생성합니다.
  • 간단한 파이썬 API를 사용하여 객체, 카메라, 조명, 시나리오 파라미터를 정의함으로써 프로그래밍 방식의 제어를 가능하게 합니다.
  • 프레임워크는 인스턴스 세그멘테이션 마스크, 깊이 맵, 광학 흐름, 카메라 자세와 같은 풍부한 애너테이션을 자동으로 생성합니다.
  • 확장 가능한 작업 오케스트레이션을 통해 Kubric는 수천 대의 머신에서 분산된 데이터 생성을 지원하며, 테라바이트 규모의 데이터셋 생성이 가능합니다.
  • 기존 학습 파이프라인과 후속 시각 작업에 대한 호환성을 보장하기 위해 표준화된 데이터 내보내기 포맷을 사용합니다.
  • 3D 객체, 재질, 텍스처 등의 자산은 여러 저장소에서 가져와 통합된 재사용 가능한 라이브러리로 통합됩니다.
Figure 1 : Example scene created and rendered with Kubric along with some of the automatically generated annotations.
Figure 1 : Example scene created and rendered with Kubric along with some of the automatically generated annotations.

실험 결과

연구 질문

  • RQ1일반 목적의 합성 데이터 생성 프레임워크를 구축할 수 있을까? 이는 대규모로 확장 가능하고 분산되며 재현 가능한 데이터셋 생성을 지원해야 한다.
  • RQ2풍부한 애너테이션을 가진 합성 데이터가 광학 흐름 및 3D 시나리오 복원과 같은 시각 작업에서 시뮬레이션에서 실제 환경으로의 일반화 갭을 얼마나 잘 줄일 수 있을까?
  • RQ3통합된 프레임워크가 다양한 시각 작업을 위해 다양성을 유지하면서도 사진처럼 사실적인 품질과 애너테이션의 정확성을 유지할 수 있을까?
  • RQ4대규모 합성 데이터셋을 생성함에 있어 환경적, 윤리적 상충 요소는 무엇이며, 이를 어떻게 완화할 수 있을까?
  • RQ5합성 데이터 생성 도구는 자율 주행과 같은 안전이 중요한 애플리케이션에서 모델의 편향과 실패 요소를 조기에 탐지하는 데 기여할 수 있을까?

주요 결과

  • Kubric는 3D NeRF 모델링에서 광학 흐름 추정에 이르기까지 다양한 작업을 위한 13개의 다양한 고품질 데이터셋을 성공적으로 생성하여 광범위한 적용 가능성을 입증했습니다.
  • 수천 대의 머신에서 실행되는 분산 작업을 통해 테라바이트 단위의 데이터를 생성함으로써 높은 확장성과 효율성을 달성했습니다.
  • 모든 생성된 데이터셋은 인스턴스 세그멘테이션 마스크, 깊이 맵, 광학 흐름, 카메라 자세와 같은 풍부한 자동 애너테이션을 포함하고 있어 다중 작업 학습을 지원합니다.
  • Kubric에서 사용된 합성 데이터 덕분에 데이터 복잡도, 조명, 시점에 대한 완전한 제어가 가능하여 실세계 데이터셋에서 흔히 발생하는 편향을 줄일 수 있습니다.
  • 프레임워크의 오픈소스 배포에는 모든 코드, 자산, 데이터셋이 포함되어 있어 연구 커뮤니티가 이를 재사용, 재현, 수정할 수 있습니다.
  • 높은 계산 비용(예: 광학 흐름 데이터셋의 경우 약 3 CPU년)이 있음에도 불구하고, 프레임워크는 스케일업하기 전에 더 작은, 제어 가능한 실험을 가능하게 하여 에너지 효율성을 높입니다.
Figure 2 : Overview – a typical Kubric worker randomly populates a scene with assets loaded from an external source, possibly runs a physics simulation, renders the resulting frames, and finally exports the images, annotation layers, and other metadata.
Figure 2 : Overview – a typical Kubric worker randomly populates a scene with assets loaded from an external source, possibly runs a physics simulation, renders the resulting frames, and finally exports the images, annotation layers, and other metadata.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.