Forum

Author Topic: Beta-testing of new texture blending algorithm  (Read 30239 times)

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 15635
    • View Profile
Beta-testing of new texture blending algorithm
« on: July 22, 2025, 02:31:34 PM »
Hello everyone!

We would like to announce the beta-testing of the new texture generation method.

Currently, new method is supported only via Vulkan API. To check if your GPU is compatible, go to the GPU Preferences tab in Metashape and look for the word "Vulkan" in the same line with GPU device (would be likely next to CUDA/OpenCL word).

Main features of the new method:
  • Filtering moving vehicles: Significant improvement is expected in filtering out moving cars on roads when Enable ghosting filter is turned on.
  • Images downscale for photorealistic quality: Setting Images downscale: x1 provides texture detail comparable to the highest-resolution images in your project. This is the reason the blending mode is called Natural.
  • Model - Assigned Camera view for analysis: After the texture is built, you can inspect which parts of the model texture were taken from which photos. Use the dropdown next to the model view button (same location as Confidence and Shaded) and select Model - Assigned Camera.
  • Open Assigned Image for texture inspection: Right-click on any surface point on the model and select Open Assigned Image to view the specific image used for that location.
  • Assign Images for texture editing: Select part of the geometry (e.g., via Rectangle or Free-form Selection), then right-click → Assign Image... — similar to the tool used for Orthomosaic editing. After assinging images for the texture it is recommended to rebuild the texture with "Use assigned images" option enabled to get the highest quality output compared to preview texture quality.


Current limitations of the new method:
  • Only 8-bit RGB images and Frame sensor type are supported.
  • Not yet fully supported for tiled and block models, so recommended to test no single block mesh models.
Note that it is not recommended to use the method for the production, if you are limited in time due to possible unexpected issues, but any feedback is appreciated.


How to enable new option: Set create a new tweak via Advanced Preferences tab -> Tweaks button: main/enable_natural_texturing and set its value to True. It will allow to chose Blending mode - Natural in Build Texture dialog.


Download links to the latest 2.2.2 pre-release version

Standard edition:
https://download.agisoft.com/metashape_2_2_2_x64.msi
https://download.agisoft.com/metashape_2_2_2.dmg
https://download.agisoft.com/metashape_2_2_2_amd64.tar.gz


Professional edition:
https://download.agisoft.com/metashape-pro_2_2_2_x64.msi
https://download.agisoft.com/metashape-pro_2_2_2.dmg
https://download.agisoft.com/metashape-pro_2_2_2_amd64.tar.gz

« Last Edit: July 23, 2025, 08:32:05 AM by Alexey Pasumansky »
Best regards,
Alexey Pasumansky,
Agisoft LLC

Paulo

  • Hero Member
  • *****
  • Posts: 1580
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #1 on: July 22, 2025, 06:57:14 PM »
Hi Alexey,

thanks for the exciting new features. I tried on a 88 Sony 60 Mpix image dataset and got Bad allocation error with not enough memory:
Code: [Select]
2025-07-22 09:53:08 BuildTexture.prepairImagesPart (1/1): blending_mode = 5, subtask = prepairImagesPart, texture_size = 8192, downscale = 2, sharpening = 1, fill_holes = on, ghosting_filter = on, out_of_focus_filter = on, texture_type = Diffuse map, transfer_texture = off, enable_gpu = on, relaxed_precision = on, working_folder = C:/Users/Admin/Downloads/85mm_jpg/85mm_Sony.files/0/0/texture.tmp.2
2025-07-22 09:53:08 preparing 88 images (group #1/1)...
2025-07-22 09:53:19 Error: bad allocation
2025-07-22 09:53:19 preparing 88 images (group #1/1)...
2025-07-22 09:53:31 Finished processing in 23.898 sec (exit code 0)
2025-07-22 09:53:31 Error: bad allocation

Even with downscale of 8 and texture size of 1024, I get error:
Code: [Select]
2025-07-22 10:00:37 BuildTexture.prepairImagesPart (1/1): blending_mode = 5, subtask = prepairImagesPart, texture_size = 1024, downscale = 8, sharpening = 1, fill_holes = on, ghosting_filter = on, out_of_focus_filter = off, texture_type = Diffuse map, transfer_texture = off, enable_gpu = on, relaxed_precision = on, working_folder = C:/Users/Admin/Downloads/85mm_jpg/85mm_Sony.files/0/0/texture.tmp.6
2025-07-22 10:00:37 preparing 88 images (group #1/1)...
2025-07-22 10:00:53 Finished processing in 16.894 sec (exit code 0)
2025-07-22 10:00:53 Error: bad allocation

My  GPU set up is:
Code: [Select]
NVIDIA GeForce RTX 4050 Laptop GPU (6140 MB, 20 compute units, 2370 MHz)
Intel(R) RaptorLake-S Mobile Graphics Controller (14771 MB, 16 compute units, 1550 MHz)
« Last Edit: July 22, 2025, 07:02:20 PM by Paulo »
Best Regards,
Paul Pelletier,
Surveyor

Mak11

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #2 on: July 23, 2025, 12:34:35 AM »
Hi Alexey,

Is this available in the Standard version? You only posted links to the Pro builds.

EDIT: I'm guessing that this is the standard version : https://download.agisoft.com/metashape_2_2_2_x64.msi

Just did a quick test. No crashes  so far but obviously a lot slower than Mosaic.

Cheers

Mak
« Last Edit: July 23, 2025, 12:55:10 AM by Mak11 »

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 15635
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #3 on: July 23, 2025, 08:32:40 AM »
Is this available in the Standard version? You only posted links to the Pro builds.

Hello Mak,

I have added Standard edition links to the original post.
Best regards,
Alexey Pasumansky,
Agisoft LLC

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 15635
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #4 on: July 23, 2025, 08:34:15 AM »
thanks for the exciting new features. I tried on a 88 Sony 60 Mpix image dataset and got Bad allocation error with not enough memory:

Hello Paul,

Thanks for the feedback, will try to reproduce it on similar project and hardware configuration.
Best regards,
Alexey Pasumansky,
Agisoft LLC

Mak11

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #5 on: July 23, 2025, 12:56:00 PM »
Is this available in the Standard version? You only posted links to the Pro builds.

Hello Mak,

I have added Standard edition links to the original post.

Alexey,

Is this new blending technique suited for all photogrammetry scenarios (turntables, facial scans) or is it primary for orthomosaics?

Mak

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 15635
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #6 on: July 23, 2025, 01:48:50 PM »
Hello Mak,

Should be a general purpose algorithm suitable for different kinds of projects, not only aerial photogrammetry, but also close range.

We are testing it for different scenarios, including underwater photogrammetry, etc.
Best regards,
Alexey Pasumansky,
Agisoft LLC

creasedpixels

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #7 on: July 23, 2025, 09:01:18 PM »
Hey Alexey. Can you please explain more (or share a link to more info) about the higher resolution texture that can be achieved with the natural blend mode?

ferengi

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #8 on: July 24, 2025, 11:17:22 AM »
Unfortunately, I get an error saying that my graphics card does not have enough VRAM. It would be great if multiple GPUs were supported. The model requires 21,072 MB of memory. My PC has three RTX 2080 Ti cards, each with 11 GB of VRAM. The model is too large for a single GPU, but if it could be split across all three, it should work.

loggie24

  • Newbie
  • *
  • Posts: 43
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #9 on: July 24, 2025, 01:11:06 PM »
I would also be curious how this works, and if it for instance can solve the inconsistent resolution/sharpness caused by mosaic blending.

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 15635
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #10 on: July 24, 2025, 02:04:27 PM »
Unfortunately, I get an error saying that my graphics card does not have enough VRAM. It would be great if multiple GPUs were supported. The model requires 21,072 MB of memory. My PC has three RTX 2080 Ti cards, each with 11 GB of VRAM. The model is too large for a single GPU, but if it could be split across all three, it should work.

Hello ferengi,

Can you please share the complete log corresponding to the texture generation process (either as attachment here or by sending it to support@agisoft.com)?
Also specify the number of faces in the mesh model, number of images and their resolution.
Best regards,
Alexey Pasumansky,
Agisoft LLC

Paulo

  • Hero Member
  • *****
  • Posts: 1580
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #11 on: July 24, 2025, 07:36:58 PM »
Hi Alexey,

tried the texturing on another computer with NVDIA RTX 3050 but also got error Not enough VRAM and proper Vulkan support. Same 88 image 60 Mpix dataset...

Code: [Select]
2025-07-23 21:02:57 BuildTexture: mapping_mode = 0, page_count = 1, texture_size = 8192, pixel_size = 0.00025890395287675715, blending_mode = 5, texture_size = 8192, downscale = 2, sharpening = 1, fill_holes = on, ghosting_filter = on, out_of_focus_filter = off, texture_type = Diffuse map, transfer_texture = off, enable_gpu = on, relaxed_precision = on
2025-07-23 21:02:57 BuildUV: mapping_mode = 0, page_count = 1, texture_size = 8192, pixel_size = 0.00025890395287675715
2025-07-23 21:02:58 BuildTexture: blending_mode = 5, texture_size = 8192, downscale = 2, sharpening = 1, fill_holes = on, ghosting_filter = on, out_of_focus_filter = off, texture_type = Diffuse map, transfer_texture = off, enable_gpu = on, relaxed_precision = on
2025-07-23 21:02:58 BuildTexture.prepairModelAndCameras (1/1): blending_mode = 5, subtask = prepairModelAndCameras, texture_size = 8192, downscale = 2, sharpening = 1, fill_holes = on, ghosting_filter = on, out_of_focus_filter = off, texture_type = Diffuse map, transfer_texture = off, enable_gpu = on, relaxed_precision = on, working_folder = C:/Users/kiwis/Downloads/85mm_jpg/85mm_Sony.files/0/0/texture.tmp
2025-07-23 21:02:58 preparing model...
2025-07-23 21:02:58 1015270 vertices, 2028183 faces
2025-07-23 21:02:58 done in 0.059 sec
2025-07-23 21:02:58 downscales: x2 images, x4 ghosting, additional x2 for depth
2025-07-23 21:02:58 88/88 checked: 1 cases = 88 (3xuint8)
2025-07-23 21:02:58 most popular type: 3xuint8
2025-07-23 21:02:58 88/88 cameras left after 0 cameras were filtered w.r.t. type and layout
2025-07-23 21:02:58 1 resolutions: 9504x6336 (88 cameras)
2025-07-23 21:02:58 creating 1 temp image dirs for 88 keys...
2025-07-23 21:02:58 1015270 vertices, 2028183 faces, 8192 atlas size
2025-07-23 21:02:58 estimated vram usages: 292.17 MB 640.55 MB 610.82 MB 469.74 MB 5.51 GB
2025-07-23 21:02:58 required available vram: 6.12 GB
2025-07-23 21:02:58 Found 2 GPUs in 0.122 sec (CUDA: 0.024 sec, OpenCL: 0.044 sec, Vulkan: 0.054 sec)
2025-07-23 21:02:58 Vulkan device AMD Radeon(TM) Graphics: no pci bus info extension
2025-07-23 21:02:58 Vulkan device AMD Radeon(TM) Graphics skipped: too small memory size - 256 MB
2025-07-23 21:02:58 Found 2 GPUs in 0.01 sec (CUDA: 0 sec, OpenCL: 0 sec, Vulkan: 0.01 sec)
2025-07-23 21:03:06 Using device: NVIDIA GeForce RTX 3050 Laptop GPU, 16 compute units, free memory: 2901/4095 MB, compute capability 8.6
2025-07-23 21:03:06   driver/runtime CUDA: 12070/10010
2025-07-23 21:03:06   max work group size 1024
2025-07-23 21:03:06   max work item sizes [1024, 1024, 64]
2025-07-23 21:03:06   got device properties in 0.001 sec, free memory in 8.135 sec
2025-07-23 21:03:06 Warning: Device NVIDIA GeForce RTX 3050 Laptop GPU ignored because it has 2948/4095 MB available, but 5641 MB required
2025-07-23 21:03:39 Error: No GPU with proper Vulkan support and enough VRAM found
2025-07-23 21:03:39 preparing model...
2025-07-23 21:03:39 1015270 vertices, 2028183 faces
2025-07-23 21:03:39 done in 0.051 sec
2025-07-23 21:03:39 downscales: x2 images, x4 ghosting, additional x2 for depth
2025-07-23 21:03:39 88/88 checked: 1 cases = 88 (3xuint8)
2025-07-23 21:03:39 most popular type: 3xuint8
2025-07-23 21:03:39 88/88 cameras left after 0 cameras were filtered w.r.t. type and layout
2025-07-23 21:03:39 1 resolutions: 9504x6336 (88 cameras)
2025-07-23 21:03:39 creating 1 temp image dirs for 88 keys...
2025-07-23 21:03:39 1015270 vertices, 2028183 faces, 8192 atlas size
2025-07-23 21:03:39 estimated vram usages: 292.17 MB 640.55 MB 610.82 MB 469.74 MB 5.51 GB
2025-07-23 21:03:39 required available vram: 6.12 GB
2025-07-23 21:03:39 Found 2 GPUs in 0.012 sec (CUDA: 0 sec, OpenCL: 0 sec, Vulkan: 0.012 sec)
2025-07-23 21:03:39 Vulkan device AMD Radeon(TM) Graphics: no pci bus info extension
2025-07-23 21:03:39 Vulkan device AMD Radeon(TM) Graphics skipped: too small memory size - 256 MB
2025-07-23 21:03:39 Found 2 GPUs in 0.013 sec (CUDA: 0 sec, OpenCL: 0.001 sec, Vulkan: 0.012 sec)
2025-07-23 21:03:40 Using device: NVIDIA GeForce RTX 3050 Laptop GPU, 16 compute units, free memory: 2901/4095 MB, compute capability 8.6
2025-07-23 21:03:40   driver/runtime CUDA: 12070/10010
2025-07-23 21:03:40   max work group size 1024
2025-07-23 21:03:40   max work item sizes [1024, 1024, 64]
2025-07-23 21:03:40   got device properties in 0 sec, free memory in 0.92 sec
2025-07-23 21:03:40 Warning: Device NVIDIA GeForce RTX 3050 Laptop GPU ignored because it has 2948/4095 MB available, but 5641 MB required
2025-07-23 21:03:44 Finished processing in 46.57 sec (exit code 0)
2025-07-23 21:03:44 Error: No GPU with proper Vulkan support and enough VRAM found
2025-07-23 21:03:59 AMD Radeon(TM) Graphics: no SPIR support
2025-07-23 21:03:59 Vulkan device AMD Radeon(TM) Graphics: no pci bus info extension
2025-07-23 21:03:59 Vulkan device AMD Radeon(TM) Graphics skipped: too small memory size - 256 MB
2025-07-23 21:03:59 Found 2 GPUs in 0.009 sec (CUDA: 0 sec, OpenCL: 0 sec, Vulkan: 0.009 sec)

Process seems to rerquire a lot of VRAM
Best Regards,
Paul Pelletier,
Surveyor

johnnokomis

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #12 on: July 25, 2025, 06:25:08 AM »
I tried using this and received an error after only 20 seconds. I have plenty of Vram left:
Using device: NVIDIA GeForce RTX 5090 Laptop GPU, free memory: 23283/24051 MB, Vulkan API 1.4.303, driver version: 577.0.0.0

I have submitted the error report to review.

ferengi

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #13 on: July 25, 2025, 08:52:03 AM »

Hello ferengi,

Can you please share the complete log corresponding to the texture generation process (either as attachment here or by sending it to support@agisoft.com)?
Also specify the number of faces in the mesh model, number of images and their resolution.

Hi,

the images where Taken with a DJI Matrice 4 Enterprise (Wide angle Lens), 5280x3956 pixel.
2161 images, 600.000 faces, 303,174 vertices

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 15635
    • View Profile
Re: Beta-testing of new texture blending algorithm
« Reply #14 on: July 25, 2025, 12:37:12 PM »
Thanks to everyone for sharing the additional information about the problems, we will analyze it and will try to fix.
Best regards,
Alexey Pasumansky,
Agisoft LLC