Dave sent me an a while ago, see below, about how to improve the quality of deprojection. We should probably look at implementing this.
From: David Cleaver
Sent: 12 September 2019 15:52
To: Freddie Sherratt
Cc: Pejman Iravani
Subject: RE: Stereo-Sensor Interpolation
Hi Freddie,
You probably don’t have time to implement this but new version attached. It now has a third (better) method:
3) DENSITY DISTRIBUTION
Like nearest neighbour except it allocates a proportion of each detection to the 8 surrounding nodes based on the inverse of distance to each node. Can be thought of as nearest neighbour = 3D histogram binning, whereas this is interpolation to produce a 3D density distribution. Try:
ERL_test([0 20 0 20 0 5], 0.2, 0, 3, 0.1, 0.5)
For hi-resolution (>0.1) it makes a small difference but at significant cost (x10). However, for collision avoidance with a low resolution (>0.25) it can really matter because it preserves the gradients in the data (see word file attached). With the point-shoot path planning, on a coarse grid, this makes a big difference (used the same method with the air traffic density and it massively improved behaviour).
The operational cost scales, primarily, with the pixel resolution of the camera. So downsampling on the camera brings the frame loop time down from 0.4s (x1) to 0.06s (x0.5) or 0.02s (x0.25). Moderate downsampling also improves the data quality. Initially it removes noise but go too far and it begins to remove features, also in attached. Around 0.5 is best. This makes it cheaper than nearest neighbour binning and produces a better result.
The best resolution for preserving features is ~0.2m.
Having played with this data now, and knowing how the path planner works I think long term we need to switch to something more than a Pi (Jetson Nano?), using the density distribution method with the sampling record.
David
DR DAVID CLEAVER
Senior Lecturer (Associate Professor)
Dave sent me an a while ago, see below, about how to improve the quality of deprojection. We should probably look at implementing this.
The file attached are below.
Comparison of the different methods he tried Method_Comparison.docx
Matlab Code to implement this method, ERL_test.txt, FYI it's a Dave special.