This tutorial introduces the script to perform style transfer for 3D models (original implementation, see also an article) in Agisoft Metashape Professional on Linux and Windows platforms. 


Prerequisites 

You need a decent NVidia GPU (TensorFlow is VRAM-hungry) and either Windows 7 or Windows 10 or Ubuntu 16.04 (the instructions are expected to work on other Linux distributives, but they weren't tested).
Lower texture detalization leads to lower VRAM consumption. On GTX 1080 Ti with 11 Gb VRAM, it is possible to process 2048x2048 and even 4096x4096 textures in less than an hour.   


Installation instructions

The style transfer implementation uses the machine learning library TensorFlow, which requires CUDA and cuDNN. Following instructions will guide you on CUDA, cuDNN, and Python packages installation.

  •     Instructions for Windows 7 and 10 Download to This script will add the button with style transfer feature. Alternatively you can add the button manually each time with -> .
  •     Instructions for Ubuntu 16.04 Download (you will need to register for NVidia developer program, then choose -> ) Execute in terminal: Execute in terminal: If you encounter you will need to use this workaround and to try again: If you encounter you will need to use this workaround (because of the bug in Python bundled with PhotoScan 1.4): Execute in terminal: This script will add the button with style transfer feature. Alternatively you can add the button manually each time with -> .
  •     General instructions


How to use the script 

1. Launch Metashape Pro.    


2. Open the project with the textured model (the algorithm is VRAM-hungry, so the smaller the texture - the better. 2048x2048 is recommended for 8Gb VRAM). 


3. Click on the Custom menu (in top menu, near Help) > Model style transfer.    


4. Specify style image (URL or path to a local file).    


5. Click Run (please note that processing can be canceled only with Metashape shutdown).


6. Wait. It can take half an hour on GTX 1080ti for the 2048x2048 texture. Metashape interface will be freezed, but the progress bar will be updated:


7. Check the new model.


8. Save the project and restart the program (this is required because TensorFlow used all VRAM)

If you want to speed up the process you can use 1024x1024 texture and process with: 

  • steps number=400;
  • texture size=1024;
  • rendering size=1024.   


Forum discussion  

Discuss the new style transfer script and share your results on our forum!


Some examples



Monarch butterfly with Munch style transfer by Agisoft on Sketchfab


Super Human with fire style transfer by Agisoft on Sketchfab