Empty initial point-cloud - matrice 300 + p1 smart oblique

Hi all, with docker ODM, on Azure, I’ve been trying to process this DJI P1 Smart Oblique sample dataset of about 1250 8192x5460px images using several different configurations. Each one results in the empty initial point cloud error. Here’s a link to two log files with some parameters I’ve tried and the resulting errors.

Wondering if anyone has a good approach to get this working or wants to give it a try?

Cheers!

1 Like

Do you know if your Azure instance has sufficient RAM+SWAP for so many high-resolution images?

Can you retry with upload resizing to 2730px on the short axis?

The Azure VM didn’t seem to have a problem. Used a 20 core machine with 120GB RAM.

1 Like

What is your swap/pagefile? I would not be surprised to see that run out of memory without a significantly large backing of virtual memory.

Let me take a look at that and make it equal to the RAM and see what happens. I was thinking that the processing would just crash and not get to the error file at the end if this was the issue. Stay tuned…

1 Like

Some (many? all?) of the sub-stages can crash and carry on to further stages, though some will cause it to hard-stop with a code.

I’m not sure if this behavior is inconsistent due to the machine(s) being under memory pressure or not.

Ran it again overnight and ended up with the same empty point cloud result. 20 cores, 157G RAM and 157G swap. I’m going back and trying again with some very basic settings. Let me know if you have any suggested parameters that I should be sure to include.

1 Like

Other than starting from full defaults (with maybe including --auto-boundary), I’m not sure. I might need to try locally, but it is far too big a Task for my hardware…

Are you confident in the quality of the dataset in regards to overlap/sidelap?

Yes as I recall it is 80/70 or 80/80

1 Like

So…I’m still trying to get this dataset to process in ODM.

Here’s a link to the same dataset processed in Pix4d: PIX4Dcloud

A link to the Pix4d report: Microsoft OneDrive - Access files anywhere. Create docs with free Office Online.

And a link to the debug log from my latest processing attempt via ODM: Microsoft OneDrive - Access files anywhere. Create docs with free Office Online.

Hoping some of this helps! Cheers!

b.

1 Like

Do you have any further information about this dataset?

Something seems amiss with it as less than half the images were calibrated by Pix4D, and that’s not usually a sign of a good flightplan and dataset.

Here’s a description of how the dataset is captured.

The smart oblique feature allows photos to be taken at multiple angles during a flight by way of payload control. All the ortho- and oblique photos necessary for 3D reconstruction can be acquired through one flight path [ie lawnmower vs needing to fly a grid]. Only photos essential to reconstruction will be taken at the edge of the flight area, minimizing the number of images taken and significantly increasing the efficiency of post-processing. As each flight area corresponds to a different flight path section, which requires a distinct oblique capture strategy, all the photos taken for each flight path section will be based on the target data collection zones demarcated by the user’s measurement area. During a Smart Oblique Capture operation, the aircraft will fly in the mode with the highest operational efficiency. The flying speed will also be adjusted according to the different oblique capture sequence for each flight path section, to maximize the efficiency of the operation. Currently, the function is only supported by Zenmuse P1 as mounted on the M300 RTK. To use the function, enable it in aerial photography settings for flight path navigation on the DJI Pilot app.

The system is mechanical shutter and the oblique photos can be anywhere from 90 to 45 degrees.

Not sure if this helps…

1 Like

Do you have information on the overlap and sidelap of this dataset?

Again, getting less than half of the images calibrated in Pix4D indicates a big problem with the dataset, usually capture-related.

May have found a hint. I was able to get ODM to complete the process with the --use-fixed-camera-params though the outputs were garbage.

So started poking around on the Pix4D side and discovered this issue: DJI Zenmuse P1 “Smart Oblique” orientation issue - PIX4Dmapper / PIX4Dmapper Questions/Troubleshooting - Pix4D Community

This issue now seems to now be resolved on Pix4D with a dedicated camera profile for the DJI P1.

Not sure if this info unlocks any ah-ha moments but thought I’d share.

1 Like

Hmmm… Looks like we’d have to make a custom profile in OpenSFM as well, though I’m not sure whether or not we can use the values they posted in their forum or if we’d have to derive the solution ourselves.

That’s above my pay grade but let me know if there’s anything I can do to help! :slight_smile:

1 Like