레플리케이터란 무엇인가?
옴니버스 리플리케이터는 물리적으로 정확한 3D 합성 데이터 생성을 가능하게 하는 확장성이 높은 옴니버스 플랫폼을 기반으로 구축된 프레임워크로 AI 인식 네트워크의 학습과 성능을 가속화할 수 있습니다.
Omniverse Replicator는 딥 러닝 엔지니어 및 연구자에게 데이터 세트 또는 필수 주석 부족으로 인해 불가능했던 기존 모델의 성능을 향상시키거나 새로운 유형의 모델을 개발할 수 있는 일련의 도구와 워크플로우를 제공한다. 사용자는 시뮬레이션 준비 자산을 쉽게 가져와 상황별 인식 3D 장면을 구축할 수 있으며, 이전에는 사용할 수 없었던 새로운 유형의 데이터 세트와 주석을 생성하여 데이터 중심 접근 방식을 활용할 수 있습니다.
USD(Universal Scene Description), PhysX, MDL(Material Definition Language)과 같은 오픈 소스 표준을 기반으로 구축된 옴니버스 리플리케이터는 확장 가능한 파이썬 API를 통해 기존 파이프라인에 쉽게 통합하거나 연결할 수 있습니다.
Omniverse Replicator는 확장성이 높은 OmniGraph 아키텍처를 기반으로 구축되었으며, 이를 통해 사용자는 기본 제공 기능을 쉽게 확장하여 자신의 요구에 맞는 데이터 세트를 생성할 수 있습니다. 그것은 AI 모델을 학습하는 데 필요한 주석 유형 및 출력 형식에 대한 사용자 지정 요구 사항을 해결하기 위해 주석 및 작성자의 확장 가능한 레지스트리를 제공한다. 또한 확장 가능한 랜덤화기를 사용하면 이러한 모델을 학습하기 위한 데이터 중심 접근 방식을 가능하게 하는 프로그래밍 가능한 데이터 세트를 생성할 수 있습니다.
옴니버스 리플리케이터는 옴니버스 코드에서 확장, 콘텐츠 및 예제 집합으로 노출된다. 복제자에 대한 자세한 프레젠테이션을 보려면 이 항목을 참조하십시오.
합성데이터를 사용한 학습 뒤에 이론
인지을 위한 심층 신경망을 학습시키는 일반적인 프로세스에는 데이터(대부분의 경우 이미지)의 수동 수집과 이러한 이미지에 주석을 다는 수동 프로세스가 포함된다. 그런 다음 이러한 이미지는 DNN이 사용할 수 있는 형식으로 변환된다. 그런 다음 DNN은 인식 작업을 위해 학습된다. 하이퍼 파라미터 조정 또는 네트워크 아키텍처 변경은 네트워크 성능을 최적화하기 위한 일반적인 단계입니다. 모델 성능을 분석하면 데이터 세트의 잠재적 변경으로 이어질 수 있지만, 수동 데이터 수집 및 주석의 또 다른 사이클이 필요할 수 있다. 이것은 비용이 많이 드는 수동 프로세스입니다.
합성 데이터 생성을 통해 비용 효율적인 방식으로 정확한 주석을 사용하여 대규모 교육 데이터를 생성할 수 있습니다. 또한 합성 데이터 생성은 롱 테일 이상 법칙, 교육 데이터가 없는 부트스트랩 모델 교육 및 온라인 강화 학습과 관련된 문제도 해결합니다.
일부 더 어려운 인식 작업에서는 수동으로 수행하기가 매우 어려운 이미지(예: 폐색된 개체가 있는 이미지)에 대한 주석이 필요합니다. 프로그래밍 방식으로 생성된 합성 데이터는 생성된 모든 데이터에 완벽하게 레이블이 지정되어 있으므로 이를 매우 효과적으로 해결할 수 있습니다. 또한 데이터 생성의 프로그래밍적 특성으로 인해 DNN 성능에 도움이 될 수 있는 비표준 주석 및 간접 기능을 생성할 수 있습니다.
위에서 설명한 바와 같이, 합성 데이터 생성에는 많은 이점이 있지만, 이를 효과적으로 수행하기 위해서는 해결해야 할 여러 가지 과제가 있습니다.
합성 데이터 세트는 시뮬레이션을 사용하여 생성되므로 시뮬레이션과 실제 세계 사이의 격차를 줄이는 것이 중요합니다. 이 갭을 도메인 갭이라고 하며, 두 부분으로 나눌 수 있습니다.
- appearance gap은 실제 이미지와 합성 이미지 사이의 픽셀 수준 차이 집합입니다. 이러한 차이는 객체 세부 정보, 재료의 차이 또는 합성 데이터의 경우 사용된 렌더링 시스템의 기능 차이 때문일 수 있습니다.
- content gap는 도메인 간의 차이를 나타냅니다. 여기에는 씬(scene)에 있는 객체의 수, 유형 및 배치의 다양성 및 유사한 상황 정보와 같은 요인이 포함됩니다.
이러한 도메인 갭를 극복하기 위한 중요한 도구는 도메인 무작위화입니다. 도메인 랜덤화는 합성 데이터 세트에 대해 생성하는 도메인의 크기를 증가시켜 롱테일 이상 징후를 포함하여 현실에 가장 적합한 범위를 포함하도록 합니다. 우리가 현실에서 찾을 수 있는 것보다 더 넓은 데이터 분포를 생성함으로써, 신경망은 문제의 전체 범위에 걸쳐 더 잘 일반화하는 방법을 배울 수 있습니다.
MDL 재료 언어로 정의된 것과 같은 물리적 기반 재료를 사용하여 고화질 3D 자산 및 광선 추적 또는 경로 추적 기반 렌더링을 통해 외관 갭를 더욱 해결할 수 있습니다. 검증된 센서 모델과 매개 변수의 도메인 랜덤화도 여기에 도움이 될 수 있습니다.
콘텐츠 측면에서는 현장과 관련된 대규모 자산 모음이 필요합니다. 옴니버스는 다른 3D 애플리케이션에서 사용할 수 있는 다양한 커넥터를 제공합니다. 개발자는 특정 도메인에 적용할 수 있는 다양한 도메인 장면을 생성하는 도구를 작성할 수도 있습니다.
이러한 과제는 합성 데이터 세트에서 수행된 무작위화가 실제 도메인을 캡슐화할 수 있었는지 여부를 알 수 없기 때문에 합성 데이터를 사용한 학습에 복잡성의 계층을 도입합니다. 합성 데이터로 네트워크를 성공적으로 교육하려면 실제 데이터 세트에서 네트워크를 테스트해야 합니다. 모델 성능 문제를 해결하기 위해 모델 아키텍처 또는 하이퍼 매개 변수를 변경하기 전에 데이터 세트를 조정하는 첫 번째 단계로 데이터 중심 접근 방식을 채택합니다.
이는 합성 데이터를 사용한 학습 프로세스가 매우 반복적이라는 것을 의미합니다. 레플리케이터는 시뮬레이션된 세계를 학습 가능한 매개 변수 집합으로 변환하여 이러한 종류의 데이터 중심 AI 학습을 허용합니다. 교육 내내 장면을 수정하고 랜덤화하며 자산의 분포를 반복적으로 변경할 수 있습니다.
레플리케이터의 핵심 구성 요소
레플리케이터는 합성 데이터를 생성할 수 있는 여섯 가지 구성 요소로 구성됩니다.
- Semantic Schema Editor : 시맨틱 주석(특정 메시와 관련된 "관심 있는" 데이터)은 합성 데이터 확장을 적절하게 사용하기 위해 필요합니다. 이러한 주석은 씬(scene)에서 경계 상자, 포즈 추정 등이 필요한 개체에 대한 확장 정보를 제공합니다. 시맨틱 스키마 편집기는 UI를 통해 이러한 주석을 스테이지의 프림에 적용할 수 있는 방법을 제공합니다.
- Visualizer : 레플리케이터 시각화 도구를 사용하면 2D/3D 경계 상자, 정규 분포, 깊이 등에 대한 의미 레이블을 시각화할 수 있습니다.
- Randomizers: 레플리케이터의 랜덤화 도구를 사용하여 개발자는 도메인 랜덤화 장면을 쉽게 만들 수 있으며, 자산, 재료, 조명 및 카메라 위치에서 빠르게 샘플링할 수 있습니다.
- Omni.syntheticdata: Omni.syntheticdata는 Replicator 소프트웨어 스택의 가장 낮은 수준의 구성 요소이며, Omniverse Kit SDK의 향후 모든 버전에서 기본 제공 확장으로 제공됩니다. 합성 데이터 확장은 RTX 렌더러와 OmniGraph 계산 그래프 시스템과의 낮은 수준의 통합을 제공합니다.이 구성 요소는 복제자의 실측 정보 추출 주석의 계산 그래프를 구동하여 임의 출력 변수 또는 AOV를 렌더러에서 주석자로 전달합니다.
- Annotators: 주석 시스템 자체는 omni.syntheticdata 확장으로부터 AOV 및 기타 출력을 수집하여 DNN 학습을 위해 정확하게 레이블이 지정된 주석을 생성합니다.
- Writers: 작성자는 주석자의 이미지와 기타 주석을 처리하고 학습을 위한 DNN 특정 데이터 형식을 생성합니다.작성자는 네트워크를 통해 로컬 스토리지로, 네트워크를 통해 SwiftStack과 같은 클라우드 기반 스토리지 백엔드로 출력할 수 있습니다. 앞으로는 라이브 온 GPU 교육을 위한 백엔드를 제공하여 생성된 데이터를 GPU에 보관하고 추가적인 IO를 방지할 예정입니다.
데이터 셋을 생성하는 동안 가장 일반적인 워크플로는 씬(scene)을 랜덤화하고 주석을 선택한 다음 원하는 형식으로 쓰는 것입니다. 그러나 추가 사용자 지정을 위해 필요한 경우omni.synthetic data에 액세스할 수 있습니다.
API 문서
옴니버스 레플리케이터를 위한 파이썬 API 문서는 여기서 찾을 수 있습니다.
'omniverse > replicator' 카테고리의 다른 글
옴니버스 레플리케이터 예제 5탄 (0) | 2022.05.26 |
---|---|
옴니버스 레플리케이터 예제 4탄 (0) | 2022.05.25 |
옴니버스 레플리케이터 예제 3탄 (0) | 2022.05.24 |
옴니버스 레플리케이터 예제 2탄 (0) | 2022.05.23 |
옴니버스 레플리케이터 예제 1탄 (0) | 2022.05.22 |