O PartCrafter é um projeto inovador de código aberto voltado para a geração de modelos de peças 3D editáveis a partir de uma única imagem RGB. Ele usa técnicas avançadas de geração 3D estruturada para gerar simultaneamente várias peças 3D semanticamente significativas a partir de uma única imagem, o que é adequado para o desenvolvimento de jogos, design de produtos e outros campos. O projeto baseia-se em um transformador de difusão de malha 3D (DiT) pré-treinado, que introduz um espaço latente combinatório e mecanismos de atenção hierárquica para garantir que o modelo 3D gerado mantenha a consistência geral e, ao mesmo tempo, preserve os detalhes das peças. O partCrafter fornece dados de treinamento para 130.000 objetos 3D integrando grandes conjuntos de dados de objetos 3D, 100.000 dos quais contêm anotações de várias partes. O projeto planeja lançar scripts de inferência e modelos pré-treinados até 15 de julho de 2025, com uma demonstração do HuggingFace para facilitar a experiência e o desenvolvimento do usuário.
Lista de funções
- Gere vários modelos de peças 3D editáveis a partir de uma única imagem RGB.
- Suporte para geração de malhas 3D para cenas complexas com vários objetos.
- Fornece espaço latente combinatório para representar cada parte 3D de forma independente.
- Mecanismos de atenção hierárquica são usados para garantir a consistência global e a retenção de detalhes entre as peças.
- Compatível com grandes conjuntos de dados 3D e suporta treinamento supervisionado em nível parcial.
- Há planos para lançar scripts de inferência, modelos pré-treinados e demonstrações do HuggingFace.
Usando a Ajuda
Processo de instalação
Em junho de 2025, o código completo e os modelos pré-treinados do PartCrafter ainda não haviam sido totalmente lançados. Espera-se que os scripts de inferência e os pontos de verificação de pré-treinamento sejam lançados até 15 de julho de 2025, de acordo com a página oficial do GitHub. A seguir, um processo especulativo de instalação e uso com base nas informações atuais, que pode ser ajustado no futuro com base em atualizações oficiais.
- Preparação ambiental
O PartCrafter é baseado em Python, sendo recomendado o Python 3.8 ou superior. É necessário que os usuários instalem as seguintes dependências (aguarde a liberação oficial da lista de dependências):pip install torch numpy opencv-python
Certifique-se de que o sistema seja compatível com a aceleração de GPU (por exemplo, CUDA) para melhorar a inferência do modelo. Recomenda-se um sistema Linux ou Windows com pelo menos 16 GB de RAM e uma GPU NVIDIA.
- armazém de clones
Visite o repositório oficial do GitHubhttps://github.com/wgsxm/PartCrafter
clone o projeto localmente:git clone https://github.com/wgsxm/PartCrafter.git cd PartCrafter
- Instalação de modelos pré-treinados
O plano oficial é liberar pontos de verificação pré-treinamento. Os usuários podem fazer download dos arquivos de ponto de verificação e colocá-los em um diretório específico no repositório (por exemplocheckpoints/
). O caminho exato e o link de download precisam aguardar a atualização oficial. - Execução de scripts de inferência
Depois que o script de inferência é publicado, o usuário pode executar o modelo a partir da linha de comando. Por exemplo, suponha que o script tenha o nomeinfer.py
A operação pode ser a seguinte:python infer.py --image_path <input_image.jpg> --output_dir <output_folder>
Entre eles.
--image_path
Especifique o caminho da imagem RGB de entrada.--output_dir
Especifica o caminho onde o modelo 3D gerado é salvo.
Funções principais
A função principal do PartCrafter é gerar modelos de peças 3D editáveis a partir de uma única imagem RGB. Abaixo estão as etapas detalhadas:
- Preparando-se para inserir uma imagem
Os usuários devem fornecer uma imagem RGB nítida que contenha o objeto ou a cena de destino. Recomenda-se uma resolução de imagem de 512 x 512 ou superior para garantir que o modelo capture detalhes suficientes. Por exemplo, tire uma foto de uma cadeira que contenha partes como o assento, o encosto e as pernas. - raciocínio de execução
As imagens são processadas usando scripts de inferência. O modelo analisará o conteúdo da imagem para gerar vários modelos de peças 3D. Por exemplo, depois de inserir uma imagem de uma cadeira, o PartCrafter pode gerar malhas 3D separadas para o assento, o encosto e as quatro pernas. O formato de saída geralmente é um arquivo OBJ ou PLY, que é compatível com o Blender, Unity e outros softwares. - Edição de modelos 3D
O modelo 3D gerado suporta edição em nível de peça. Os usuários podem abrir o modelo no Blender e ajustar a geometria, a textura ou a posição de peças individuais. Por exemplo, modifique o ângulo do encosto de uma cadeira ou o comprimento de suas pernas sem afetar outras partes. - Geração de cenas com vários objetos
Para cenas complexas (por exemplo, imagens com mesas e cadeiras), o PartCrafter pode gerar modelos de peças para vários objetos simultaneamente. O modelo garante a consistência semântica entre as peças por meio de um mecanismo de atenção hierárquica, por exemplo, uniformidade estilística entre as pernas da mesa e as pernas da cadeira. - Demonstração de uso do HuggingFace
As autoridades planejam lançar uma demonstração do HuggingFace, que permitirá aos usuários fazer upload de imagens e acessar modelos 3D por meio de uma interface on-line. As operações específicas incluem:- Visite a página do PartCrafter na plataforma HuggingFace.
- Faça o upload da imagem RGB e defina os parâmetros de geração (por exemplo, número de partes ou resolução).
- Faça o download do arquivo do modelo 3D gerado.
Operação da função em destaque
- Espaço latente combinadoCada parte 3D consiste em um conjunto de dados latentes independentes tokens indicou que os usuários podem modificar peças específicas ajustando os tokens. Por exemplo, a alteração dos tokens do encosto de uma cadeira pode gerar um encosto com formato diferente.
- Mecanismos de atenção hierárquicaO modelo equilibra automaticamente a consistência global e os detalhes locais entre as peças durante a geração. Não há necessidade de o usuário ajustar manualmente as relações entre as peças; o modelo garante que as pernas da cadeira gerada sejam coordenadas estilisticamente com o assento.
- supervisão em nível de peçasPartCrafter: Graças a um conjunto de dados de 130.000 objetos 3D, o PartCrafter pode gerar peças que não são diretamente visíveis na imagem. Por exemplo, insira uma imagem da parte frontal de uma cadeira e o modelo poderá inferir e gerar a parte traseira.
advertência
- Certifique-se de que as imagens de entrada estejam bem iluminadas e tenham um fundo simples para melhorar a qualidade da geração.
- As malhas 3D geradas são adequadas para renderização e desenvolvimento de jogos, mas a conversão para modelos sólidos de nível industrial pode exigir processamento adicional (por exemplo, conversão usando software especializado).
- A documentação oficial e o suporte da comunidade (por exemplo, problemas do GitHub) podem fornecer mais ajuda.
cenário do aplicativo
- desenvolvimento de jogos
Os desenvolvedores podem usar o Cognitive PartCrafter para gerar rapidamente modelos 3D de ativos de jogos. Por exemplo, a geração de modelos 3D editáveis a partir de uma única imagem de suporte acelera o processo de design de níveis. - design de produtos
Os projetistas podem usar o PartCrafter para converter desenhos de conceitos de produtos em modelos de peças 3D editáveis para prototipagem e modificação rápidas. - Educação e pesquisa
Os pesquisadores podem usar o PartCrafter para gerar modelos 3D complexos para visualização 3D de ensino ou validação experimental.
QA
- Quais formatos são compatíveis com os modelos 3D gerados pelo PartCrafter?
Atualmente, suporta os formatos OBJ e PLY, compatíveis com o Blender, Unity e outros softwares 3D convencionais. - Preciso de conhecimento especializado para usar o PartCrafter?
Não é necessário, mas os usuários familiarizados com Python e software de modelagem 3D podem usar as ferramentas com mais eficiência. - Qual é a complexidade do modelo que o PartCrafter pode gerar?
Ele gera modelos 3D de objetos com várias partes e cenas complexas, com a complexidade exata dependendo da qualidade da imagem de entrada e dos dados de treinamento do modelo. - O projeto é totalmente de código aberto?
O projeto é de código aberto, os scripts de inferência e os dados de treinamento serão liberados gradualmente, sujeitos a atualizações oficiais.