Vineyard Mapping With Oblique Imagery

Hello! I’m undertaking a new project and I’m looking for some guidance on where to start. A little background:

My ultimate goal is to count the number of plants in vineyards spanning approx 1000 acres. This is a long term project that I’ll be doing approximately 10-20 acres at a time. I’m using a DJI Matrice 210 paired with a Flir Duo Pro R. I’m building a deep learning model in ArcGIS Pro to distinguish between plant trunks and other vineyard infrastructure. All of my image processing is going to be done in Pix4D Mapper.

The problem I’m running into is that Nadir images - even flown at low elevation (15m) - don’t show enough detail of the vine trunks to be recognized in the model. You can imagine that looking down on a bare stick poking out of the ground from directly above, you can’t really see anything. I did notice that in each image the plants that are a few rows adjacent to the drone position are quite easy to count. Below is an image for reference! This is why I’m wondering about using oblique imagery. So here are my questions:

  1. Lets say I’m using a right-looking camera angle; do I have to acquire all images flying in the same direction, or can I fly a normal grid pattern?

  2. What is the process in Pix4D Mapper for creating orthoimages from Oblique imagery, preserving the 3D nature of the plants? Using the individual nadir images is fine for model training but obviously when merged together I lose the side-looking view at the edges of each image.

  3. What is the recommended process for ground control points when using oblique imagery?

Thanks in advance for any help!
Dave

Hey Dave, I’d be happy to talk with you about this if you want to shoot me an email. I’ve been flying a lot of vineyards since 2015 with photogrammetry, and we also just got into lidar last year.
I have someone out flying a vineyard in Oregon right now with a P1/L1. derrick.westoby@pbsusa.com

  1. A normal grid pattern with a forward looking camera and -65deg gimbal angle is fairly standard for something like this. I prefer to do a flight like that, then another nadir-only flight. In Pix4d, I put the oblique images in “group 2” before completing step 3. (point cloud for both groups is created and can be merged to create a better DSM, then the ortho that’s built on top of the DSM uses NADIR only imagery). For what you’re after, I’d consider using the point cloud and maybe generate a raster from it using something like height above ground for display, then feed that into your model? I believe John Sulik was working on something similar around 2017. https://www.linkedin.com/in/john-sulik-3487867/
  2. Oblique imagery will be included in the ortho, unless you put them in a different group like I stated above. I think you’re going to have a tough time showing this in a 2D ortho the way that you’re hoping, consistently. It’s at odds with the purpose of the orthophoto in the first place.
  3. Same as with Nadir imagery, for the most part. Pix4d handles oblique imagery well, especially if it’s collected using a programmed flight plan, from any one of the many apps.

Hi Jeremy,

This is an interesting topic. I’ll add to the discussion that Derrick started.

  1. When flying with a Nadir double grid with an oblique camera there is no expectation you will acquire the images in the same direction. “The drone facing forward throughout the flight, the dataset will contain images with four different orientations.
  2. The oblique images help reconstruct vertical features and facades in the point cloud and mesh. The orthomosaic is a top down view and presents vertical features as seen from directly above. “Orthomosaic (similar to satellite imagery, facades are not visible, roofs have the correct size).
  3. Ground control points work well with oblique images but take a little more time to mark in the images. The best practice is to mark 3 GCPs in 2 images each with the Basic GCP/MTP Editor before running Step 1. Depending on how oblique of a camera angle used you may have to look through more of the image list to find images that contain a given GCP target. This is because while the drone may be directly over a target the camera is looking at an angle to the side and may not capture the target. You will need to find images where the camera captured a given target and mark those images. Once Step 1 is completed only those images that contain a given GCP will be shown when marking in the rayCloud.

I personally fly highly oblique, manual flights of quarry high walls and cliff faces and use GCPs at the base of these features.

PIX4Dmapper works well with varied oblique camera angles (sub-vertical to slightly oblique - to capture GCPs on the ground, horizontal, and even slightly upward to resolve overhangs) all in one project.

I hope this answers you questions about processing oblique images with PIX4Dmapper.

Cheers,
William