Method and apparatus for improved location decisions based on surroundings
A system includes a processor configured to request capture of image data of an environment surrounding the user, responsive to a margin of error of a detected location of a user being above a predefined threshold. The processor is also configured to process the image data to determine an actual user location relative to a plurality of objects, having known positions, identifiable in the image data and replace the detected location with the determined actual user location.
1. A system comprising:
a first processor configured to:
responsive to a margin of error of a detected location of a user being above a predefined threshold, request capture of image data of an environment surrounding the user;
process the image data to determine an actual user location relative to a plurality of objects, having known positions, identifiable in the image data; and
replace the detected location with the determined actual user location; and
a user device, including a second processor, the second processor configured to:
capture the image data;
pre-process the image data using a structure-from-motion algorithm to generate a 3D point cloud;
filter data of the 3D point cloud and imaging data to remove temporal varying objects;
convert the 3D point cloud to a voxel map;
identify key voxel features on the voxel map;
hash the key features and estimate a user position relative to the key voxel features; and
upload estimated relative position vectors representing the relative position and hashed key voxel features to the first processor.
2. The system of claim 1 , wherein the margin of error is determined based on historical data associated with the detected location.
3. The system of claim 1 , wherein the margin of error is determined based on a user interaction with a device indicating that the detected location is more than a threshold distance from an actual position.
4. The system of claim 1 , wherein the margin of error is determined based on current weather data for the detected location.
5. The system of claim 1 , wherein the image data includes a plurality of still images or video.
6. The system of claim 1 , wherein the user device is configured to process the image data to identify a pickup location.
7. The system of claim 6 , wherein the user device is configured to identify the pickup location based on identification of a low-traffic area as indicated by a lack of traffic being identified in the image data.
8. The system of claim 6 , wherein the user device is configured to identify the pickup location based on identification of an unoccupied parking space viewable in the image data.
9. The system of claim 1 , wherein the first processor is configured to search a database of object data to identify the objects, the object data specifying real-world positions of the objects and the search parameterized based on position data and constrained by the margin of error in an area around the detected location.