결론: text 로 shark 입력했더니 이거 나옴 (블렌더. ply 확장 파일)



Shap-E

https://github.com/openai/shap-e

세팅 방법

개요

git clone https://github.com/openai/shap-e.git

cd shap-e


conda create -n textto3d python=3.10

conda activate textto3d


pip install -e .

pip install pyyaml


nvcc --version

# cuda_11.8 이면 다음 수행

pip uninstall torch torchaudio torchvision

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# cuda 버전이 다른 경우 https://pytorch.org/get-started/locally/ 참고


pip install jupyterlab

pip install ipywidgets


jupyter-lab

좌측에서 shap_e/examples/ 폴더를 차례로 들어간 뒤

sample_text_to_3d.ipynb 더블클릭


# 맨 앞에 이 코드를 추가하여 cpu가 아닌 cuda를 인식하는 지 확인하기

import torch

print(torch.__version__)

print(torch.version.cuda)

print(torch.cuda.is_available())

        2.0.1+cu118

        11.8

        True

        

import torchvision

print(torchvision.__version__)

        0.15.2+cu118

주의사항
- minicoda 가 설치되어있다고 가정 ( 누르면 다운로드 Miniconda3 Windows 64-bit)
- cpu 만 있다면 몹시 느리니 gpu 있는 pc로 시도해봐

- cmd 에서 nvcc --version 입력했을 때 cuda_11.8 일 경우에 세팅하는 방법. cuda 버전이 다르면 다른 버전으로 설치해줘.

- VRAM 12GB (3060 이면 됨)


쥬피터 랩에서 각 셀 실행 (상단 ▶ 클릭. 혹은 shift Enter)


쥬피터 랩 실행 결과 (shap_e/examples/sample_text_to_3d.ipynb)


생성된 ply 파일 열기 (블렌더)




example_mesh_0.ply, example_mesh_1.ply, example_mesh_2.ply, example_mesh_3.ply 다 불러옴




+ 심화

관련 논문: https://arxiv.org/abs/2305.02463

Shap-E: Generating Conditional 3D Implicit Functions by Heewoo Jun, Alex Nichol


설명

3D 자산을 위한 조건부 생성 모델인 Shap-E를 제시합니다. 

단일 출력 표현을 생성하는 3D 생성 모델에 대한 최근 작업과 달리 Shap-E는 텍스처 메시와 신경 방사 필드로 렌더링할 수 있는 암시적 함수의 매개변수를 직접 생성합니다. 

우리는 Shap-E를 두 단계로 교육합니다. 

첫째, 우리는 3D 자산을 암시적 함수의 매개변수로 확정적으로 매핑하는 인코더를 교육합니다. 

둘째, 인코더 출력에 대한 조건부 확산 모델을 훈련합니다. 

쌍을 이룬 3D 및 텍스트 데이터의 대규모 데이터 세트에서 교육을 받으면 결과 모델은 몇 초 만에 복잡하고 다양한 3D 자산을 생성할 수 있습니다. 

포인트 클라우드에 대한 명시적 생성 모델인 Point-E와 비교할 때 Shap-E는 더 빠르게 수렴하고 더 높은 차원의 모델링에도 불구하고 비슷하거나 더 나은 샘플 품질에 도달합니다. 

다중 표현 출력 공간. 

모델 가중치, 추론 코드 및 샘플을 다음에서 릴리스합니다

목차

1. 소개

2 배경

    2.1 신경 방사장(NeRF)

    2.2 부호 있는 거리 함수 및 텍스처 필드(STF)

    2.3 확산 모델

    2.4 잠재 확산

3 관련 업무

4 방법

    4.1 데이터세트

    4.2 3D 인코더

    4.2.1 NeRF 렌더링으로 디코딩

    4.2.2 STF 렌더링으로 디코딩

    4.3 잠재 확산

5 결과

    5.1 인코더 평가

    5.2 Point-E와 비교

    5.3 다른 방법과의 비교

6 제한 사항 및 향후 작업

7 결론

8 감사의 말


하이퍼파라미터

A.1 인코더 아키텍처

A.2 인코더 교육

A.3 암시적 표현

A.4 확산 모델

A.5 평가

B 텍스트 조건부 모델의 과적합

C 바이어스 및 오용

D 이미지 공간의 지침

Figure 1
Shap E에서 생성한 선택된 텍스트 조건부 메시. 각 샘플은 단일 NVIDIA V100 GPU에서 생성하는 데 약 13초가 걸리며 별도의 텍스트-이미지 모델이 필요하지 않습니다.
chatPDF

수렴 속도 및 샘플 품질 측면에서 Shap·E는 다른 3D 생성 모델과 어떻게 비교됩니까?


1페이지와 14페이지의 정보에 따르면 포인트 클라우드에 대한 명시적 생성 모델인 Point·E와 비교할 때 Shap·E는 더 빠르게 수렴하고 더 높은 차원의 다중 표현 출력 공간을 모델링함에도 불구하고 비슷하거나 더 나은 샘플 품질에 도달합니다. . 또한 저자는 Shap·E가 동일한 데이터 세트, 모델 아키텍처 및 훈련 컴퓨팅이 주어진 유사한 명시적 생성 모델과 일치하거나 능가한다는 사실을 발견했습니다. 따라서 Shap·E는 다른 3D 생성 모델에 비해 수렴 속도와 샘플 품질 모두에서 좋은 성능을 발휘하는 것으로 보인다.


Shap·E는 조건부 입력을 기반으로 특정 텍스처 또는 기타 기능으로 3D 자산을 생성할 수 있습니까?


예, Shap·E는 조건부 입력을 기반으로 특정 텍스처 또는 기타 기능으로 3D 자산을 생성할 수 있습니다. 1페이지에서 언급한 바와 같이 Shap·E는 텍스처 메시와 신경 방사 필드로 렌더링할 수 있는 암시적 함수의 매개변수를 직접 생성합니다. 이 모델은 두 단계로 학습됩니다. 첫째, 인코더는 3D 자산을 암시적 함수의 매개 변수에 결정적으로 매핑합니다. 둘째, 인코더의 출력에 대해 조건부 확산 모델이 훈련됩니다. 쌍을 이루는 3D 및 텍스트 데이터를 조건으로 할 때 결과 모델은 몇 초 만에 복잡하고 다양한 3D 자산을 생성할 수 있습니다. 따라서 텍스트 캡션 또는 이미지와 같은 특정 입력에 대해 모델을 조정하여 해당 텍스처 또는 기타 기능이 있는 3D 자산을 생성할 수 있습니다.


게임, 영화 또는 건축과 같은 산업에서 Shap·E의 잠재적인 응용 분야는 무엇입니까?


Shap·E는 게임, 영화 또는 건축과 같은 다양한 산업 분야에서 잠재적인 응용 프로그램을 보유하고 있습니다. 14페이지에서 언급했듯이 암시적 표현을 생성하는 기능은 3D와 같은 도메인의 명시적 표현보다 더 많은 유연성을 제공합니다. 게임과 영화에서 Shap·E는 가상 환경이나 특수 효과를 위한 다양하고 복잡한 3D 자산을 생성하는 데 사용될 수 있습니다. 건축에서는 텍스트 설명 또는 기타 입력을 기반으로 건물 또는 기타 구조의 3D 모델을 빠르게 생성하는 데 사용할 수 있습니다. 또한 텍스처 메쉬와 신경 복사 필드를 모두 렌더링하는 기능은 이러한 산업에서 사실적인 조명 및 음영 효과를 만드는 데 유용할 수 있습니다. 전반적으로 Shap·E는 다양한 애플리케이션을 위한 3D 자산 생성 프로세스를 간소화할 수 있는 잠재력을 가지고 있습니다.


Introduction

최근 암시적 신경 표현(INR)은 3D 자산을 인코딩하는 데 널리 사용됩니다. 3D 자산을 나타내기 위해 INR은 일반적으로 3D 좌표를 밀도 및 색상과 같은 위치별 정보에 매핑합니다. 일반적으로 INR은 고정 그리드 또는 시퀀스로 정보를 인코딩하는 대신 임의의 입력 지점에서 쿼리할 수 있기 때문에 해상도 독립적인 것으로 생각할 수 있습니다. end-to-end 미분 가능하기 때문에 INR은 스타일 전송[ 72] 및 미분 가능한 모양 편집[ 3] 과 같은 다양한 다운스트림 애플리케이션도 가능하게 합니다 . 이 작업에서는 3D 표현을 위한 두 가지 유형의 INR에 중점을 둡니다.


• NeRF(Neural Radiance Field) [ 38]는 3D 장면을 밀도 및 RGB 색상에 대한 좌표 및 보기 방향을 매핑하는 함수로 나타내는 INR입니다. NeRF는 카메라 광선을 따라 밀도와 색상을 쿼리하여 임의의 보기에서 렌더링할 수 있으며 3D 장면의 실제 렌더링과 일치하도록 훈련됩니다.


• DMTet [ 56] 및 그 확장자 GET3D [ 18]는 질감이 있는 3D 메쉬를 색상, 부호 있는 거리 및 꼭지점 오프셋에 좌표를 매핑하는 함수로 나타냅니다. 이 INR은 차별화 가능한 방식으로 3D 삼각형 메쉬를 구성하는 데 사용할 수 있으며 결과 메쉬는 차별화 가능한 래스터화 라이브러리를 사용하여 효율적으로 렌더링할 수 있습니다 [32].