
Point2Mesh é uma técnica para reconstruir uma malha de superfície a partir de uma nuvem de pontos de entrada. Essa abordagem "aprende" a partir de um único objeto, otimizando os pesos de uma CNN para deformar alguma malha inicial para encolher a nuvem de pontos de entrada. O argumento para seguir esta rota é: Como os grãos convolucionais (locais) são otimizados globalmente em toda a forma, isso incentiva a auto-similaridade geométrica em escala local em toda a superfície da forma reconstruída.

O código foi escrito por Rana Hanocka e Gal Metzer.
git clone https://github.com/ranahanocka/point2mesh.git
cd point2meshconda env create -f environment.yml (cria um ambiente chamado Point2Mesh) Este código depende do software robusto do coletor estanque. Primeiro cd no local que você deseja instalar o software. Por exemplo, usamos cd ~/code . Em seguida, siga as instruções de instalação no readme estanque. Se você instalou o coletor em um caminho diferente de ~/code/Manifold/build , atualize options.py de acordo (consulte esta linha)
Baixe nossos dados de exemplo
bash ./scripts/get_data.sh Primeiro, se o uso do CONA ENV primeiro ativar source activate point2mesh . Todos os scripts podem ser encontrados em ./scripts/examples . Aqui estão alguns exemplos:
bash ./scripts/examples/giraffe.shbash ./scripts/examples/bull.shbash ./scripts/examples/tiki.shbash ./scripts/examples/noisy_guitar.sh... e mais.
Para executar todos os exemplos neste repositório:
bash ./scripts/run_all_examples.sh Você deve fornecer um arquivo de malha inicial. Se a forma tiver o gênero 0, você pode usar o script do Hull Convex fornecido em ./scripts/process_data/convex_hull.py
Se você achar esse código útil, considere citar nosso artigo
@article{Hanocka2020p2m,
title = {Point2Mesh: A Self-Prior for Deformable Meshes},
author = {Hanocka, Rana and Metzer, Gal and Giryes, Raja and Cohen-Or, Daniel},
year = {2020},
issue_date = {July 2020},
publisher = {Association for Computing Machinery},
volume = {39},
number = {4},
issn = {0730-0301},
url = {https://doi.org/10.1145/3386569.3392415},
doi = {10.1145/3386569.3392415},
journal = {ACM Trans. Graph.},
}
Se você tiver dúvidas ou problemas executando este código, abra um problema.