IP Library Granted Patent US 7,894,627
Granted Patent B2
US 7,894,627 · App. 12/058,976 · Granted Feb 22, 2011

Methods and apparatus for incremental approximate nearest neighbor searching

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 7,894,627
App. No.
12/058,976
Granted
Feb 22, 2011
Kind
B2
Abstract

Methods and apparatus are provided for incremental approximate nearest neighbor searching. An approximate nearest neighbor is incrementally retrieved from a data set having a plurality of objects and cells of objects in a hierarchical organization based on a query object. The present invention maintains an object priority queue to organize the objects based on a distance to the query object and a cell priority queue to organize the cells of objects based on a distance to the query object. The next approximate nearest neighbor is incrementally retrieved based on a state of one or more of the object priority queue and the cell priority queue.

Claims (31)

1. A method for incrementally retrieving an approximate nearest neighbor from a data set having a plurality of objects and cells of objects in a hierarchical organization based on a query object, comprising:

maintaining an object priority queue to organize said objects based on a distance to said query object;

maintaining a cell priority queue to organize said cells of objects based on a distance to said query object; and

incrementally retrieving a next approximate nearest neighbor based on a state of one or more of said object priority queue and said cell priority queue, wherein one or more of said steps are performed by a processor.

2. The method of claim 1 , further comprising the step of maintaining one or more of said object and cell priority queues based on a requested maximum error.

3. The method of claim 1 , further comprising the step of maintaining one or more of said object and cell priority queues based on cells visited.

4. The method of claim 1 , wherein said objects and cells of objects are maintained in a hierarchical organization.

5. The method of claim 4 , wherein said hierarchical organization comprises said objects at a lowest level and said cells of objects at higher levels.

6. The method of claim 1 , further comprising the step of maintaining a state of said object and cell priority queues for future requests.

7. The method of claim 1 , further comprising the step of determining the next item in said object and cell priority queues that is the next approximate nearest neighbor to said query object.

8. The method of claim 7 , further comprising the step of evaluating whether said next item in said cell priority queue is an object or a cell of objects.

9. A system for incrementally retrieving an approximate nearest neighbor from a data set having a plurality of objects and cells of objects in a hierarchical organization based on a query object, comprising:

a memory to store:

an object priority queue to organize said objects based on a distance to said query object; and

a cell priority queue to organize said cells of objects based on a distance to said query object; and

at least one processor, coupled to the memory, operative to:

incrementally retrieve a next approximate nearest neighbor based on a state of one or more of said object priority queue and said cell priority queue.

10. The system of claim 9 , wherein said processor is further configured to maintain one or more of said object and cell priority queues based on a requested maximum error.

11. The system of claim 9 , wherein said processor is further configured to maintain one or more of said object and cell priority queues based on cells visited.

12. The system of claim 9 , wherein said objects and cells of objects are maintained in a hierarchical organization.

13. The system of claim 12 , wherein said hierarchical organization comprises said objects at a lowest level and said cells of objects at higher levels.

14. The system of claim 9 , wherein said processor is further configured to maintain a state of said object and cell priority queues for future requests.

15. The system of claim 9 , wherein said processor is further configured to determine the next item in said object and cell priority queues that is the next approximate nearest neighbor to said query object.

16. The system of claim 15 , wherein said processor is further configured to evaluate whether said next item in said cell priority queue is an object or a cell of objects.

17. An article of manufacture for incrementally retrieving an approximate nearest neighbor from a data set having a plurality of objects and cells of objects in a hierarchical organization based on a query object, comprising a tangible computer readable storage medium containing one or more programs which when executed implement the steps of:

maintaining an object priority queue to organize said objects based on a distance to said query object;

maintaining a cell priority queue to organize said cells of objects based on a distance to said query object; and

incrementally retrieving a next approximate nearest neighbor based a state of on one or more of said object priority queue and said cell priority queue.

18. The article of manufacture of claim 17 , wherein said one or more programs further comprise the step of maintaining one or more of said object and cell priority queues based on a requested maximum error.

19. The article of manufacture of claim 17 , wherein said one or more programs further comprise the step of maintaining one or more of said object and cell priority queues based on cells visited.

20. The article of manufacture of claim 17 , wherein said one or more programs further comprise the step of maintaining a state of said object and cell priority queues for future requests.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: LANG, CHRISTIAN A.; WANG, MIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053881/0746 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WRP IP MANAGEMENT, LLC
Reel/Frame 049033/0410 →