All Projects → zfergus → Seam Erasure

zfergus / Seam Erasure

Licence: mit
Seamlessly erase seams from your favorite 3D models.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Seam Erasure

Bfm to flame
Convert from Basel Face Model (BFM) to the FLAME head model
Stars: ✭ 55 (-31.25%)
Mutual labels:  computer-graphics, 3d-models
Tf flame
Tensorflow framework for the FLAME 3D head model. The code demonstrates how to sample 3D heads from the model, fit the model to 2D or 3D keypoints, and how to generate textured head meshes from Images.
Stars: ✭ 193 (+141.25%)
Mutual labels:  computer-graphics, 3d-models
Tree Gen
Procedural generation of tree models in blender
Stars: ✭ 465 (+481.25%)
Mutual labels:  computer-graphics, 3d-models
Flame pytorch
This is a implementation of the 3D FLAME model in PyTorch
Stars: ✭ 153 (+91.25%)
Mutual labels:  computer-graphics, 3d-models
Voca
This codebase demonstrates how to synthesize realistic 3D character animations given an arbitrary speech signal and a static character mesh.
Stars: ✭ 513 (+541.25%)
Mutual labels:  computer-graphics, 3d-models
Meshcnn
Convolutional Neural Network for 3D meshes in PyTorch
Stars: ✭ 1,032 (+1190%)
Mutual labels:  computer-graphics
Modelmod
A system for modifying art in games.
Stars: ✭ 62 (-22.5%)
Mutual labels:  3d-models
Melo
melo is mesh loader for OBJ, glTF2 and PLY
Stars: ✭ 41 (-48.75%)
Mutual labels:  3d-models
Metatrace
Stars: ✭ 67 (-16.25%)
Mutual labels:  computer-graphics
Unet 3d
3D Unet Equipped with Advanced Deep Learning Methods
Stars: ✭ 57 (-28.75%)
Mutual labels:  3d-models
Blender Flip Fluids
FLIP Fluids is a powerful liquid simulation plugin that gives you the ability to create high quality fluid effects all within Blender, the free and open source 3D creation suite.
Stars: ✭ 983 (+1128.75%)
Mutual labels:  computer-graphics
Solarsys
Realistic Solar System simulation with three.js
Stars: ✭ 49 (-38.75%)
Mutual labels:  computer-graphics
Noneuclidgraphics
非欧几何世界中的渲染引擎
Stars: ✭ 65 (-18.75%)
Mutual labels:  computer-graphics
Pifu
This repository contains the code for the paper "PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization"
Stars: ✭ 1,021 (+1176.25%)
Mutual labels:  computer-graphics
Imath
Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics
Stars: ✭ 70 (-12.5%)
Mutual labels:  computer-graphics
Fluid Engine Dev
Fluid simulation engine for computer graphics applications
Stars: ✭ 1,007 (+1158.75%)
Mutual labels:  computer-graphics
Control 3d Character Using Python
Controlling 3D character's Face Movements using OpenCV and pyhton
Stars: ✭ 55 (-31.25%)
Mutual labels:  3d-models
Graphics Algorithm
3D图形学算法Code。包括软渲染、光线追踪、PBR等等~
Stars: ✭ 67 (-16.25%)
Mutual labels:  computer-graphics
Gloom
A minimalistic boilerplate for OpenGL with C++.
Stars: ✭ 54 (-32.5%)
Mutual labels:  computer-graphics
Graphics Snippets
Shading techniques and GLSL snippets
Stars: ✭ 53 (-33.75%)
Mutual labels:  computer-graphics

Seam Erasure

Build Status

Seamlessly erase seams from your favorite 3D models.

Textures seams often produce errors when bi-linearly interpolated. This results in a visible seam line or other undesired artifacts. The goal of this project is to devise a numerical solution to this problem by minimizing the difference between interpolated values of edge pairs. Works for various texture maps regardless of useage (e.g. color maps, normal maps, displacement maps, ambient occlusion, geometry images, and skinning weight textures).

Read more:

Installation

To install Seam Erasure use the following command in your terminal:

pip install seam-erasure

This is the preferred method to install Seam Erasure.

If you perfer to use Seam Erasure without installing it, you can clone the repo:

git clone https://github.com/zfergus/seam-erasure.git

Dependencies

If you install Seam Erasure using pip all dependencies will be installed. If you choose to use Seam Erasure without installing, you can install all required dependencies using pip install -r requirements.txt.

Dependencies include:

  • numpy: linear algebra
  • scipy: sparse matrix operations
  • pillow: saving/loading texture image files
  • recordclass: simple data objects
  • tqdm: fancy progressbars

Usage

If you install using pip a seam-erasure tool will be installed. You can use Seam Erase from the command line using the following command:

seam-erasure path/to/input_model path/to/input_texture [-h] [-o path/to/output_texture] [-g] [--sv {none,texture,lerp}] [-d]

Positional arguments:

  • path/to/input_model: Path to input mesh file.
  • path/to/input_texture: Path to input texture image or directory to load all textures from.

Optional arguments:

  • -o path/to/output_texture, --output path/to/output_texture: Name of output texture or directory to save batch textures.
  • -g, --global: Should the minimization have global effects? (default: False)
    • This should be used if the texture has global discontinuities. This will propagate changes from the seam inward (see the teaser image for a example of global discontinties).
  • --sv {none,texture,lerp}: What method should be used to compute the seam value energy? (default: none)
    • none: do not use a seam value term
    • texture: use difference in original texture
    • lerp: use linearly interpolated values along the edge
      • Values are provided at the vertices in the .obj as additional entries after the xyz triplet (e.g. v <x> <y> <z> [<r>] [<g>] [<b>] [<a>] ... where the additional channels are optional and must match the number of channels in the texture image).
  • -d, --data: Should the input texture(s) be loaded as a .data files? (default: False)

Note: if you did not install the code replace seam-erasure in the above command with python main.py.

Files

  • seam_erasure/: Python package for Seam-Erasure
  • main.py: Command-line interface for seam erasure.
  • server.py: Flask based Python code for handling web inputs.
  • examples/: examples 3D model and texture files for testing
  • static/: Static web page content including style sheets
  • templates/: HTML template pages

Web Browser UI

This repository also includes a Flask based server implementation that can be run locally. This provides a simple webpage interface to provide model/texture input and select options. To get this user interface run:

python server.py

This will start a server on the localhost. Navigate to the outputted address in your choice of web browser to view the interface.

Examples

Diffuse Textures

Before After

Normal Maps

Before After

Ambient Occlusion

Before After

Geometry Images

Before After
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].