Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - ilia

Pages: [1] 2
General / Re: How to merge tiled models
« on: December 22, 2022, 08:44:30 PM »
It seems that there is no option to merge tiled models, which was separetely computed, but only "merge" option when you calculate a new Tiled part.

So if splitted assets are needed but also a big glued one than the way to go is to merge all of them into single tiled model and later split them during exporting phase as it was written here using shape with outer boundary as it was written here:

Guess it is a closed topic to me.

General / How to merge tiled models
« on: December 21, 2022, 10:41:16 PM »
Hi all!

Because of the size of dataset I was reconstructing I've splitted the whole dataset (mesh, to be specific) on smaller subparts each of them was Tiled individually with their own cameras.

I would like to merge them back. So far it is not clear how I can potentially merge them in a single tiled model but for some reason I thought it can be done quite easy. But it seems like it is doable only if you keep working on the same Tiled model and select "merge" checkmark during new tiling process.

My goal is the merge 4 big Tiled models in a single bigger one somehow in Metashape without spending much time on running tiling again for this parts. Is it doable?

Random guess -- Metashape voxelize reconstruction region. And when texture precision goes 2 times higher it means that taking into account 3 axes it will have 8 times more voxels in Tiled model.
Voxel here is just the way to describe tiled wrapping.

Hi all,

I'm playing around with Tiled model generation for a big project.
And I've noticed that having for an example 3mm precision instead of 5mm precision significantly increase the computation time. Like it makes it 4 times slower.

I generate Tiled Model from mesh. And from what I observe most of the time Metashape spends selecting cameras. At this stage:
Processing window [144, 48, 16] - [160, 64, 32]
filtered 2812 cameras by frustrum and 549 by depth out of 3446
selected 85 cameras in 359.183 sec
And during this stage it loads CPU on 100%

Are there any ways to speed up the process? Or maybe to get a sense how long it will take? Maybe by making tiled model less granular I will have it faster (with different Tile size, for an example)?

Maybe there are some jump in complexity if you select texture precision below some value when you have scene with objects at various distance from the camera (I have ground data and areal data merged in the same model)?

Bug Reports / Re: FBX export ultra slow on Windows !!
« on: December 09, 2022, 06:37:36 PM »
Hi Alexey,
Actually when I recently was working on .fbx export I have it done in a reasonable time.
But yesterday my 10mln export went quite well in .fbx format. It got stuck at 50% progress as usual, but when I've got back to machine I saw it was done and it didn't take more than 20 mins I think.
Before I had issues export in .fbx models with 100mln triangles. I have a couple models under hand and I will try to play with it a bit and .fbx exports.

Bug Reports / Re: FBX export ultra slow on Windows !!
« on: December 08, 2022, 12:39:24 PM »
I keep having the same difficulties.
.fbx exports always take infinite amount of time even when we speak about models with 20mln triangles. It gets stuck at 50%.
I'm not sure what causes this.

Hi Audun,

I remember having the same difficulties. This may be connected to the order of these fields set to True. Anyway, here is the code which works:

sen -- specific slave sensor, T -- transformation matrix between slave and master.

Code: [Select]
t = T[:3,3]
R = T[:3,:3]
omega, phi, kappa = rotmat2opk(R)

#These 2 options in GUI: Slave Offset -> switch off "Adjust location/rotation"
sen.fixed_location = False
sen.fixed_rotation = False

ref = sen.reference
ref.enabled = True
ref.location_enabled = True
ref.rotation_enabled = True

ref.location = ms.Vector(t.tolist())
ref.rotation = ms.Vector([omega, phi, kappa])

ref.location_accuracy = ms.Vector([LOC_ACCURACY_METERS] * 3)
ref.rotation_accuracy = ms.Vector([ROT_ACCURACY_DEGREES] * 3)

sen.location = ms.Vector(ref.location)
sen.rotation = ms.Matrix(R.tolist())

There could be some redundancy, but I was glad that I finally got it working, so I left it as it is :)

Feature Requests / Re: AprilTag
« on: November 22, 2022, 06:44:38 PM »
But wait. As far as I know Metashape supports ArUco markers. And some of them are compatible with some AprilTags families.
Would be nice if Metashape will support calibration through AplirGrids which is more suitable for calibration and you don't need to fit the whole grid into image.

Feature Requests / Re: AprilTag
« on: November 21, 2022, 02:59:19 PM »
+1 for sure

Thank you a lot Alexey.

This helped out.

I'm trying to predefine reconstruction region on the map by selecting some rectangular area on the map. From this area I have two corner diagonal points in format (lat0, lon0, alt0) and (lat1, lon1, alt1).

Based on this I would like to define some projection which on the next step will give a region if I also give some height for BBox. Idea is the get reconstruction region on the map, without running Metashape's GUI for it. I've tried to find possible solutions for this, but haven't found anything suitable for me. The closest topic I found so far is here:

But I would like to understand better this conversion from (lat, lon, height) into local coordinates (x,y,z) for selected model like WGS 84 or something. Is there any guide about such transforms in Metashape?

For an example I know that Metashape is capable quite fast calculate ruler's endpoints into (lat, lon, height). I would like to know how it does this transformation, which functions are applied and but most important how to do reverse this transform, if it not obvious to derive it from knowing transform in the opposite direction.

Hi Alexey,

Thank you for the quick reaction.  Updating to the
Driver Version: 516.94
helped me to solve it.

Hi! Just encountered the same issue with updated NVidia drivers:

Failed to initialize context. Reason: vkCreateInstance: ErrorIncompatibleDriver:

2022-08-23 15:51:20 Found 1 GPUs in 0.001 sec (CUDA: 0 sec, OpenCL: 0.001 sec)
2022-08-23 15:51:40 checking for missing images...Checking for missing images...
2022-08-23 15:51:40  done in 0.015 sec
2022-08-23 15:51:40 Finished processing in 0.015 sec (exit code 1)
2022-08-23 15:51:40 BuildTexture: mapping mode = Keep uv, page count = 5, texture size = 8192, texture type = Diffuse map, source data = Images, blending mode = Mosaic, fill holes = 1, ghosting filter = 1, enable_gpu = 1, relaxed_precision = 1
2022-08-23 15:51:40 Blending textures...
2022-08-23 15:51:40 Found 1 GPUs in 0 sec (CUDA: 0 sec, OpenCL: 0 sec)
2022-08-23 15:51:40 Using device: NVIDIA GeForce RTX 3060, 28 compute units, free memory: 11143/12287 MB, compute capability 8.6
2022-08-23 15:51:40   driver/runtime CUDA: 11060/10010
2022-08-23 15:51:40   max work group size 1024
2022-08-23 15:51:40   max work item sizes [1024, 1024, 64]
2022-08-23 15:51:40 Failed to initialize context. Reason: vkCreateInstance: ErrorIncompatibleDriver
2022-08-23 15:51:40 Done "load_model" in 0
2022-08-23 15:51:40 rendering 5 pages
2022-08-23 15:51:42 calculating mesh connectivity... done in 0.565 sec
2022-08-23 15:51:43 detecting outliers... ****************************************************************Finished processing in 323.891 sec (exit code 0)

nvidia-smi output:

| NVIDIA-SMI 512.95       Driver Version: 512.95       CUDA Version: 11.6     |

System: Win10, RTX 3060 12GB
Metashape version: 1.8.4 14671

I didn't have this problem with 1.8.4 and older drivers. Should I roll back?

Feature Requests / Re: Import of gltf/glb v1/2
« on: July 22, 2022, 09:01:09 PM »
Sometimes I have to do model merges in Metashape after exporting them and this is so far the quickest format to operate on.

Python and Java API / Re: add Folder
« on: July 07, 2022, 06:58:40 PM »
On the page 17th of the Python API reference 1.8.3 document there are an example where .addPhotos is used without filegroups with rig-like setup (two cameras by position). Is it a mistake there?

Pages: [1] 2