3D 머신러닝은 최근 큰 인기를 얻고 있다. 이는 자율 로봇,무인 운전, 증강 현실 및 라이다가 장착된 아이폰 등 대중화된 제품에 기인한다. 여기에 사용하기 쉬운 PyTorch 기반 유명한 3D 가시화 및 딥러닝 프레임웍을 소개한다.
PyTorch3D는 모듈화되어 있으며, 3D 딥러닝을 쉽게 만들 수 있도록, PyTorch 텐서를 사용하여 구현되어 있다. Facebook AI Research는 이 라이브러리를 사용하여 Mesh R-CNN과 같은 연구를 진행하고 있다. 이 라이브러리의 기능은 다음과 같다.
Open3D는 3D데이터를 다루는 오픈 소스 라이브러리이다. 이 라이브러리의 프런트엔드는 C ++ 및 Python 언어로 개발된 데이터 구조 및 알고리즘을 제공한다.
- 3D 데이터 구조
- 3D 데이터 처리 알고리즘
- 장면 재구성
- 3D 시각화
- 물리 기반 렌더링
Panda3D는 실시간 3D 게임, 시각화, 시뮬레이션 등을 위한 오픈 소스 라이브러리이다. 라이브러리는 Python 바인딩 세트와 함께 C ++로 개발되었다. 노멀 매핑, 광택 매핑, HDR, 카툰 쉐이딩 및 잉크 입력 등에 대한 편리한 지원을 제공한다.
- Panda3D는 C ++의 속도와 Python 의 사용 용이성을 결합하여 성능 저하 없이 빠른 개발 속도를 제공
- 모든 플랫폼에 쉽게 배포 할 수 있도록 도와주는 크로스 플랫폼 엔진
- 소스 관리를 위한 명령 줄 도구가 포함
Kaolin(코올린)
Kaolin은 3D 딥 러닝 애플리케이션 구축 시 필요한 3D모듈을 구현하여, 3D 딥러닝 연구 지원을 목표로 한다.
- 앱 개발을 위한 Python 도구
- 인기있는 3D 데이터 세트 로드. 전처리하는 기능을 제공
- 포인트 클라우드, 메시, 복셀 그리드, 거리 함수, RGB-D 이미지 3D 신경망 아키텍처, 손실 함수 제공
- 렌더러 구현. 모듈 방식으로 여러 셰이더를 지원
- 평가 3D 메트릭 제공
Mayavi는 Python 언어로 작성된 3D 과학 데이터 시각화 오픈 소스 크로스 플랫폼 도구이다. Mayavi는 객체 지향 프로그래밍 인터페이스 및 기능을 포함하여, 스크립팅 인터페이스를 통해 3D 데이터 대화형 시각화를 제공한다.
- Python 기반 손쉬운 스크립팅
- 맞춤형 소스, 모듈 및 데이터 필터를 통한 손쉬운 확장성
- 다양한 이미지 형식으로 렌더링 된 시각화 저장
- VTK, PLOT3D 등과 같은 여러 파일 형식 읽기
pi3d는 Python에서 Raspberry Pi GPU를 사용해, 3D 및 2D 렌더링을 지원한다. 텍스처 또는 애니메이션 모델을 로드하고, 프랙탈, 셰이더 등을 생성 할 수 있다.
- Pygame을 사용하는 Window X 서버 지원
레퍼런스
- AMBIKA CHOUDHURY, 2020.7, Top Python Libraries For 3D Machine Learning
- 3D object detection classifier in 6 steps using kaolin and Colab
댓글 없음:
댓글 쓰기