Forum

Author Topic: Performance on Mac devices  (Read 6690 times)

beldridg

  • Newbie
  • *
  • Posts: 20
    • View Profile
Performance on Mac devices
« on: November 10, 2022, 06:07:42 PM »
I've been using Metashape for about two years now and build models of wrecks (https://sketchfab.com/beldridg), mostly in Southern California. I build most of models on an iMac Pro with a 3.2GHz 8-Core Intel Xeon W, 32G of RAM, and a Radeon Pro Vega 56 with 8GB of memory.

For most of my models, it might take some time to build, but it is "manageable."

I've recently been working on building a model of the HCMS Yukon which is a 366 foot long destroyer. I've done 4 dives so far and have taken about 5,000 photos. The build process has become unmanageable on this computer. For example, to add about 1,000 photos to and already aligned 2,000 photos and run alignment on Medium has taken 24 hours and counting.

I know there is likely quite a bit of photo overlap so I'm going to try next to build a dense cloud and then reduce the overlap before alignment. However, I think the ultimate solution involves buying newer / faster hardware and that is where my questions come in.

1) I have a MacBook Pro from 2021 with a M1 Pro and 16GM of memory. I'm running a couple models on it to compare and I thin it is a bit faster, but not a ton. I'm using the latest 1.8.4 software to take advantage of the GPU. Theoretically, should it be faster than my iMac Pro?

2) I'm thinking about buying a Mac Studio and trying to figure out if the extra cost of the Ultra vs the Max would be worth it. Will the software be able to take advantage of the extra resources available on the Ultra or would I be wasting money? More importantly, should I see a relatively big improvement over what I have today?

3) My wife has a new MacBook Pro with the M2 chip. Will that be any faster than my laptop?

Thanks for any advice or suggestions.

PS - I've been a Unix user for my entire life and I've never owned a Windows machine so that really isn't an option.

Regards,

- brett

Bzuco

  • Full Member
  • ***
  • Posts: 213
    • View Profile
Re: Performance on Mac devices
« Reply #1 on: November 11, 2022, 11:55:11 AM »
Hi, what alignment parameters are you using?
You need to figure out what phase of alignment is the slowest....then it will be easier to advice if you need more CPU or GPU performance.
1. - detecting points is gpu accelerated, but sadly single threaded on CPU side...so almost no benefit from GPU acceleration
2. - selecting pairs is good gpu accelerated
3. - matching points is heavily GPU accelerated
4. - estimate camera locations is pure CPU only task
...can you measure the times of each of this task?

You can also adjust key point limit and tie point limit to speed up matching points and estimate camera locations tasks.

beldridg

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Performance on Mac devices
« Reply #2 on: November 11, 2022, 05:49:51 PM »
Hi, what alignment parameters are you using?
You need to figure out what phase of alignment is the slowest....then it will be easier to advice if you need more CPU or GPU performance.
1. - detecting points is gpu accelerated, but sadly single threaded on CPU side...so almost no benefit from GPU acceleration
2. - selecting pairs is good gpu accelerated
3. - matching points is heavily GPU accelerated
4. - estimate camera locations is pure CPU only task
...can you measure the times of each of this task?

You can also adjust key point limit and tie point limit to speed up matching points and estimate camera locations tasks.

Thanks so much for the response.

The longest part, by far, is matching points. For example, on the latest task on the iMac Pro, I added 733 photos to an already aligned dataset of 1926 photos.

1. I'm not sure how long it took to detect points, but it was (relatively) fast.
2. Matching points, according to the summary, was 15 hours and 36 minutes. This was definitely the longest part.
3. Estimating locations was less than an hour

In terms of settings, I don't know why it was changed from the default, but Key point limit was 40,000, key point limit per Mpx was 1,000 (the photos are all ~ 20MB), and Tie point limit is 10,000.

If you could provide any thoughts on hardware or changes in the settings to accelerate the process of alignment, it would be greatly appreciated.

Thanks!

- brett


beldridg

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Performance on Mac devices
« Reply #3 on: November 11, 2022, 06:25:39 PM »
PS - As an example of time to run Detect Points, I added 864 photos and that phase took less than 10 minutes.

Regards,

- brett

Bzuco

  • Full Member
  • ***
  • Posts: 213
    • View Profile
Re: Performance on Mac devices
« Reply #4 on: November 11, 2022, 06:40:09 PM »
If you are not using some preselection option, then each image is compared against each other image during matching points and 40,000 key points is overkill value. For 5,000 images it means 5,000x5,000x40,000 point to compare...huge number.
Try set 10,000 key points limit and 4000 or even less(3,000/2,000) for tie point limit. If some images will be not aligned, try 15,000 key point limit.

From GPU utilization perspective it is good to have more key points for matching, because your GPU will be longer time computing and less time transfering data to and from GPU...have more performant GPU(e.g. RTX3080) make sense. If 10,000 key limit would work for you, no need to have  high performance GPU(RTX3060ti would be enough).

You can check my test in this post https://www.agisoft.com/forum/index.php?topic=14622.msg64275#msg64275   to see what is the difference in GPU utilization when different number of key points needs to be matched.

The good is, that estimating location does not take long.

Your detect points 10min. time for 864 photos...you can speed up this phase on CPU with high single core frequency, because it is single threaded task.
I am using RTX 2060 super, intel 11700f@4.4GHz and 18Mpix JPEG files, each ~ 10MB big. My CPU can feed GPU at speed ~ 3-4 JPEGs/s. Time of detect point on one photo by GPU does not care much, because it is quick process, the bottleneck is CPU single core boost frequency.

Try make changes in alignment settings and if it does not help you much, then we will try to change hardware.

beldridg

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Performance on Mac devices
« Reply #5 on: November 11, 2022, 10:12:11 PM »
If you are not using some preselection option, then each image is compared against each other image during matching points and 40,000 key points is overkill value. For 5,000 images it means 5,000x5,000x40,000 point to compare...huge number.
Try set 10,000 key points limit and 4000 or even less(3,000/2,000) for tie point limit. If some images will be not aligned, try 15,000 key point limit.

From GPU utilization perspective it is good to have more key points for matching, because your GPU will be longer time computing and less time transfering data to and from GPU...have more performant GPU(e.g. RTX3080) make sense. If 10,000 key limit would work for you, no need to have  high performance GPU(RTX3060ti would be enough).

You can check my test in this post https://www.agisoft.com/forum/index.php?topic=14622.msg64275#msg64275   to see what is the difference in GPU utilization when different number of key points needs to be matched.

The good is, that estimating location does not take long.

Your detect points 10min. time for 864 photos...you can speed up this phase on CPU with high single core frequency, because it is single threaded task.
I am using RTX 2060 super, intel 11700f@4.4GHz and 18Mpix JPEG files, each ~ 10MB big. My CPU can feed GPU at speed ~ 3-4 JPEGs/s. Time of detect point on one photo by GPU does not care much, because it is quick process, the bottleneck is CPU single core boost frequency.

Try make changes in alignment settings and if it does not help you much, then we will try to change hardware.

Thanks for the help. Reducing the parameters to 10,000 / 4,000 totally helped. The alignment process for the additional 864 photos took 2 hrs 21 minutes for Matching and 52 minutes for Alignment.

Regards,

- brett