본 포스팅은 NVIDIA의 OMNIVERSE 플랫폼을 사용해보면서 정리한 내용이며 대부분이 NVIDIA의 공식 documents를 reference하였습니다. 저작권 등에 문제가 된다면 알려주세요, 글을 내리도록 하겠습니다.
NVIDIA OMNIVERSE의 정의
- 옴니버스는 Pixar의 Universal Scene Description(USD) 및 NVIDIA RTX를 기반으로 3D 프로덕션 파이프라인을 위한 강력한 실시간 시뮬레이션/협업 지원 플랫폼
출처 : https://docs.omniverse.nvidia.com/plat_omniverse/plat_omniverse/overview.html
- Omniverse는 다양한 애플리케이션과 3D 에코시스템 벤더들 간의 universal한 상호운용성을 목표로 함(open standards와 protocol을 기반으로)
- Omniverse 플랫폼은 hub의 역할을 수행하도록 설계되어, 연결된 모든 클라이언트 및 애플리케이션에 새로운 기능을 micro-services로서 expose할 수 있음
Omniverse를 간단히 이해하기 위한 참조 영상 : https://youtu.be/xC6cho2VL6c
Omniverse 플랫폼 Overview
Omniverse는 NVIDIA Omniverse Nucleus, NVIDIA Omniverse Connect, NVIDIA Omniverse Kit, NVIDIA Omniverse RTX Renderer, NVIDIA Omniverse Simulation의 5가지 key parts로 구성됨
- Omniverse Nucleus
Omniverse Nucleus는 Omniverse Network의 핵심으로, 다양한 Omniverse 지원 클라이언트 애플리케이션들이 가상 공간에서 공유될 수 있도록 지원 (즉, 메타버스를 실현하기 위한 핵심이자 클라이언트를 연결해주는 매개체)
Nucleus는 라이브 동기화를 허용하며 Pub-Sub 모델을 통해서 클라이언트 중 하나가 변경 사항을 publish하면 다른 모든 클라이언트들이 subscribe하여 해당 변경 사항을 즉시 수신할 수 있음
메타버스를 위한 클라우드/엣지 서버 + 통신 미들웨어 느낌임..
- NVIDIA Omniverse Connect
DCC(Digital Content Creation) 도구와 컴퓨팅 서비스가 Omniverse Nucleus DB를 통해 오픈 소스 USD를 기반으로 서로 쉽게 통신할 수 있도록 지원하는 확장 및 추가 소프트웨어 계층을 구축. 이러한 확장 및 추가 기능을 사용하는 애플리케이션 플러그인을 총칭함
쉽게 말해서 Omniverse 플랫폼을 사용하는 third party 애플리케이션들을 연결해주는 플러그인이라고 생각하면 좋음
현재(2021.09) Launcher에서 확인해보면 14개의 Connector(이 중에서 버전이 다른 Unreal Engine이 4개)를 지원하는 것을 확인할 수 있음
- Omniverse Kit
NVIDIA Omniverse Kit는 native Omniverse 애플리케이션 및 마이크로서비스를 구축하기 위한 툴킷
Omniverse Kit는 USD inspector, 편집기, layout 도구 및 viewer로 작동할 수 있는 기본 UI와 함께 제공됨
다시말해서, Omniverse 애플리케이션과 마이크로서비스 모두를 위한 유연하고 확장 가능한 개발 플랫폼
USD Library Integration, Pixar Hydra Viewport, UI Framework, SDK Integrations의 4가지 Features를 제공
- NVIDIA Omniverse RTX Renderer
Materials와 Rendering은 Omniverse Kit 기반의 애플리케이션에서 공통임
--> Omniverse Platform이 그래픽적인 부분에서 powerful한 이유. 하지만 고성능의 그래픽카드들을 요구한다...
Materials는 Nvidia가 개발한 오픈 소스 재료 정의 언어(Material definition language)인 MDL을 사용하여 지원됨
glass, skin, hair, liquids 등 다양한 재료 type들을 지원하고 있음
Rendering은 장면 형상, 조명, 톤, 색상 등에 영향을 미치는 모든 rendering 관련 설정을 지원
- NVIDIA Omniverse Simulation
Omniverse simulation은 Omniverse Kit의 플러그인 또는 microservice로 제공됨
주요 시뮬레이션 tool 중 하나는 Nvidia 오픈소스 시뮬레이터인 PhysX
Simulation에 참여하는 object들의 property, constraint, 및 solver 매개변수는 custom USD schema에 정의됨
--> 시뮬레이션을 위한 매개변수들 또한 USD format화. 공통 format, 플랫폼으로서의 가치를 현실화할 수 있다는 것.
OMNIVERSE의 장점?
ISAAC SIM
- 정의
Robotics Simulator & Synthetic Data Generation Tool
ISAAC SIM은 OMNIVERSE 위에서 실행되는 (Robotics)어플리케이션
홈페이지에서의 정의
The NVIDIA® Isaac™ 소프트웨어 개발자 키트(SDK)는 로봇에 지능을 선사합니다. 이 플랫폼에는 로봇 애플리케이션의 개발 워크플로우를 가속화할 수 있는 포괄적인 툴, 애플리케이션 프레임워크, GPU 지원 알고리즘, 레퍼런스 디자인 및 사전 훈련된 기능들이 있습니다.
참조 : https://www.nvidia.com/ko-kr/deep-learning-ai/industries/robotics/
- 장점 및 필요성
미래 모든 Thing들은 모니터링 및 최적화 등을 위해 디지털 트윈을 가질 것이며, 자율 이동할 것이고, 고도의 Intelligent 부여를 위해 사전 시뮬레이션 될 것임
이를 위한 솔루션이 NVIDIA ISAAC SIM
또한, 학습을 위한 Synthetic Data 생성과 Domain Randomization 기능 지원
* Domain Randomization : systematic approach to data generation process that aims to enhance generalization of the machine learning algorithms to new environments
출처 : https://towardsdatascience.com/domain-randomization-c7942ed66583
Sim2Real의 gap을 줄이기 위한 랜덤한 학습 환경을 생성하는 기술로 생각해볼 수 있을 듯
'Technology Trends' 카테고리의 다른 글
스마트제조와 인공지능 (0) | 2021.06.19 |
---|