IP Library Granted Patent US 9,177,404
Granted Patent B2
US 9,177,404 · App. 13/830,664 · Granted Nov 3, 2015

Systems and methods of merging multiple maps for computer vision based tracking

Inventors: Mahesh Ramachandran (San Diego, CA); Abhishek Tyagi (San Diego, CA); Serafin Diaz Spindola (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06T11/60G06K9/3241G06K9/38G06T7/0071
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,177,404
App. No.
13/830,664
Granted
Nov 3, 2015
Kind
B2
Abstract

Method, apparatus, and computer program product for merging multiple maps for computer vision based tracking are disclosed. In one embodiment, a method of merging multiple maps for computer vision based tracking comprises receiving a plurality of maps of a scene in a venue from at least one mobile device, identifying multiple keyframes of the plurality of maps of the scene, and merging the multiple keyframes to generate a global map of the scene.

Claims (125)

1. A method of merging multiple maps for computer vision based tracking, comprising:

receiving a plurality of maps of a scene in a venue from at least one mobile device;

identifying multiple keyframes of the plurality of maps of the scene; and

merging the multiple keyframes to generate a global map of the scene, wherein merging the multiple keyframes to generate the global map of the scene comprises:

for each keyframe of the multiple keyframes,

determining a contribution score based on angular diversity of the keyframe and scale diversity of the keyframe, and

eliminating the keyframe in response to the contribution score being below a predetermined threshold.

2. The method of claim 1 , wherein receiving a plurality of maps of a scene in a venue comprises:

receiving the plurality of maps of the scene from multiple mobile devices.

3. The method of claim 2 further comprises:

evaluating the multiple keyframes from the plurality of maps of the scene from multiple mobile devices for redundancy; and

eliminating redundant keyframes.

4. The method of claim 2 , further comprising:

generating a simultaneous localization and mapping (SLAM) map using the plurality of maps of the scene from multiple mobile devices; and

sharing the SLAM map among the multiple mobile devices.

5. The method of claim 1 , wherein identifying the multiple keyframes of the plurality of maps of the scene comprises at least one of:

identifying the multiple keyframes representing multiple viewpoints of the scene from multiple angles; and

identifying the multiple keyframes representing multiple viewpoints of the scene with multiple scales;

wherein the multiple keyframes include common features, location coordinates, and appearances of the plurality of maps.

6. The method of claim 5 , wherein multiple scales comprise at least one of:

multiple distances between the at least one mobile device and the scene; and

multiple aspect ratios of the scene from the at least one mobile device.

7. The method of claim 1 , wherein determining a contribution score based on angular diversity and scale diversity of the keyframe comprises:

computing an angular diversity scoring metric by applying a first weight factor to the angular diversity of the keyframe;

computing a scale diversity scoring metric by applying a second weight factor to the scale diversity of the keyframe; and

combining the angular diversity scoring metric and the scale diversity scoring metric to generate the contribution score.

8. The method of claim 1 , wherein merging the multiple keyframes to generate a global map of the scene comprises:

for each keyframe of the multiple keyframes,

determining a contribution score based on angular diversity of the keyframe; and

eliminating the keyframe in response to the contribution score being below a predetermined threshold.

9. The method of claim 1 , wherein merging the multiple keyframes to generate a global map of the scene comprises:

for each keyframe of the multiple keyframes,

determining a contribution score based on scale diversity of the keyframe; and

eliminating the keyframe in response to the contribution score being below a predetermined threshold.

10. The method of claim 1 , wherein merging the multiple keyframes to generate a global map of the scene comprises:

tallying the multiple keyframes in an angular histogram, wherein the angular histogram includes a plurality of bins representing different viewing angles of the scene, and each bin in the plurality of bins includes a plurality of sections representing different viewing scales of the scene;

for each keyframe of the multiple keyframes in the angular histogram,

determining a contribution score based on angular diversity of the keyframe and scale diversity of the keyframe, and

eliminating the keyframe in response to the contribution score being below a predetermined threshold.

11. The method of claim 10 , wherein determining a contribution score based on angular diversity and scale diversity of the keyframe comprises:

computing an angular diversity scoring metric by applying a first weight factor to the angular diversity of the keyframe, wherein the first weight factor is based on number of keyframes in a bin the keyframe is in;

computing a scale diversity scoring metric by applying a second weight factor to the scale diversity of the keyframe, wherein the second weight factor is based on number of keyframes in a section the keyframe is in; and

combining the angular diversity scoring metric and the scale diversity scoring metric to generate the contribution score.

12. The method of claim 1 further comprises:

tracking location of the at least one mobile device in the venue.

13. An apparatus, comprising:

logic configured to receive a plurality of maps of a scene in a venue from at least one mobile device;

logic configured to identify multiple keyframes of the plurality of maps of the scene; and

logic configured to merge the multiple keyframes to generate a global map of the scene, wherein the logic configured to merge the multiple keyframes to generate the global map of the scene comprises:

for each keyframe of the multiple keyframes,

logic configured to determine a contribution score based on angular diversity of the keyframe and scale diversity of the keyframe, and

logic configured to eliminate the keyframe in response to the contribution score being below a predetermined threshold.

14. The apparatus of claim 13 , wherein logic configured to receive a plurality of maps of a scene in a venue comprises:

logic configured to receive the plurality of maps of the scene from multiple mobile devices.

15. The apparatus of claim 14 further comprises:

logic configured to evaluate the multiple keyframes from the plurality of maps of the scene from multiple mobile devices for redundancy; and

logic configured to eliminate redundant keyframes.

16. The apparatus of claim 14 , further comprising:

logic configured to generate a simultaneous localization and mapping (SLAM) map using the plurality of maps of the scene from multiple mobile devices; and

logic configured to share the SLAM map among the multiple mobile devices.

17. The apparatus of claim 13 , wherein logic configured to identify the multiple keyframes of the plurality of maps of the scene comprises at least one of:

logic configured to identify the multiple keyframes representing multiple viewpoints of the scene from multiple angles; and

logic configured to identify the multiple keyframes representing multiple viewpoints of the scene with multiple scales;

wherein the multiple keyframes include common features, location coordinates, and appearances of the plurality of maps.

18. The apparatus of claim 17 , wherein multiple scales comprise at least one of:

multiple distances between the at least one mobile device and the scene; and

multiple aspect ratios of the scene from the at least one mobile device.

19. The apparatus of claim 13 , wherein logic configured to determine a contribution score based on angular diversity and scale diversity of the keyframe comprises:

logic configured to compute an angular diversity scoring metric by applying a first weight factor to the angular diversity of the keyframe;

logic configured to compute a scale diversity scoring metric by applying a second weight factor to the scale diversity of the keyframe; and

logic configured to combine the angular diversity scoring metric and the scale diversity scoring metric to generate the contribution score.

20. The apparatus of claim 13 , wherein logic configured to merge the multiple keyframes to generate a global map of the scene comprises:

for each keyframe of the multiple keyframes,

logic configured to determine a contribution score based on angular diversity of the keyframe; and

logic configured to eliminate the keyframe in response to the contribution score being below a predetermined threshold.

21. The apparatus of claim 13 , wherein logic configured to merge the multiple keyframes to generate a global map of the scene comprises:

for each keyframe of the multiple keyframes,

logic configured to determine a contribution score based on scale diversity of the keyframe; and

logic configured to eliminate the keyframe in response to the contribution score being below a predetermined threshold.

22. The apparatus of claim 13 , wherein logic configured to merge the multiple keyframes to generate a global map of the scene comprises:

logic configured to tally the multiple keyframes in an angular histogram, wherein the angular histogram includes a plurality of bins representing different viewing angles of the scene, and each bin in the plurality of bins includes a plurality of sections representing different viewing scales of the scene;

for each keyframe of the multiple keyframes in the angular histogram,

logic configured to determine a contribution score based on angular diversity of the keyframe and scale diversity of the keyframe, and

logic configured to eliminate the keyframe in response to the contribution score being below a predetermined threshold.

23. The apparatus of claim 22 , wherein logic configured to determine a contribution score based on angular diversity and scale diversity of the keyframe comprises:

logic configured to compute an angular diversity scoring metric by applying a first weight factor to the angular diversity of the keyframe, wherein the first weight factor is based on number of keyframes in a bin the keyframe is in;

logic configured to compute a scale diversity scoring metric by applying a second weight factor to the scale diversity of the keyframe, wherein the second weight factor is based on number of keyframes in a section the keyframe is in; and

logic configured to combine the angular diversity scoring metric and the scale diversity scoring metric to generate the contribution score.

24. The apparatus of claim 13 further comprises:

logic configured to track location of the at least one mobile device in the venue.

25. A computer program product comprising a non-transitory medium storing instructions for execution by one or more computer systems, the instructions comprising:

instructions for receiving a plurality of maps of a scene in a venue from at least one mobile device;

instructions for identifying multiple keyframes of the plurality of maps of the scene; and

instructions for merging the multiple keyframes to generate a global map of the scene, wherein the instructions for merging the multiple keyframes to generate the global map of the scene comprises:

for each keyframe of the multiple keyframes,

instructions for determining a contribution score based on angular diversity of the keyframe and scale diversity of the keyframe, and

instructions for eliminating the keyframe in response to the contribution score being below a predetermined threshold.

26. The computer program product of claim 25 , wherein instructions for receiving a plurality of maps of a scene in a venue comprises:

instructions for receiving the plurality of maps of the scene from multiple mobile devices.

27. The computer program product of claim 26 further comprises:

instructions for evaluating the multiple keyframes from the plurality of maps of the scene from multiple mobile devices for redundancy; and

instructions for eliminating redundant keyframes.

28. The computer program product of claim 26 further comprising:

instructions for generating a simultaneous localization and mapping (SLAM) map using the plurality of maps of the scene from multiple mobile devices; and

instructions for sharing the SLAM map among the multiple mobile devices.

29. The computer program product of claim 25 , wherein instructions for identifying the multiple keyframes of the plurality of maps of the scene comprises at least one of:

instructions for identifying the multiple keyframes representing multiple viewpoints of the scene from multiple angles; and

instructions for identifying the multiple keyframes representing multiple viewpoints of the scene with multiple scales;

wherein the multiple keyframes include common features, location coordinates, and appearances of the plurality of maps.

30. The computer program product of claim 25 , wherein multiple scales comprise at least one of:

multiple distances between the at least one mobile device and the scene; and

multiple aspect ratios of the scene from the at least one mobile device.

31. The computer program product of claim 25 , wherein instructions for determining a contribution score based on angular diversity and scale diversity of the keyframe comprises:

instructions for computing an angular diversity scoring metric by applying a first weight factor to the angular diversity of the keyframe;

instructions for computing a scale diversity scoring metric by applying a second weight factor to the scale diversity of the keyframe; and

instructions for combining the angular diversity scoring metric and the scale diversity scoring metric to generate the contribution score.

32. The computer program product of claim 25 further comprises:

instructions for tracking location of the at least one mobile device in the venue.

33. A system, comprising:

means for receiving a plurality of maps of a scene in a venue from at least one mobile device;

means for identifying multiple keyframes of the plurality of maps of the scene; and

means for merging the multiple keyframes to generate a global map of the scene, wherein the means for merging the multiple keyframes to generate the global map of the scene comprises:

for each keyframe of the multiple keyframes,

means for determining a contribution score based on angular diversity of the keyframe and scale diversity of the keyframe, and

means for eliminating the keyframe in response to the contribution score being below a predetermined threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2013
From: RAMACHANDRAN, MAHESH; TYAGI, ABHISHEK; DIAZ SPINDOLA, SERAFIN
To: QUALCOMM INCORPORATED
Reel/Frame 031357/0645 →
Continuity (2)
Provisional Application 61720804 · Oct 31, 2012
Related Publication 20140119598A1 · May 1, 2014