IP Library Granted Patent US 10,936,766
Granted Patent B2
US 10,936,766 · App. 15/129,816 · Granted Mar 2, 2021

Techniques for parallel execution of RANSAC algorithm

Inventors: Liu Yang (Beijing, CN); Qiang Li (Beijing, CN); Bin Wang (Beijing, CN); Xianchao Xu (Beijing, CN); Bing Niu (Beijing, CN)
Assignee: Intel Corporation
G06F30/20G06F17/18G06F30/00G06T7/35G06F2111/10
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 10,936,766
App. No.
15/129,816
Granted
Mar 2, 2021
Kind
B2
Abstract

Various embodiments are generally directed to techniques for employing a hybrid of sequential and parallel processing to perform random sample and consensus (RANSAC). A device to perform RANSAC includes a derivation component to derive a first set of proposed models in parallel from a first set of minimal sample sets of a data set; and a comparison component to recalculate a required quantity of proposed models to derive an accurate model if a proposed model of the first set of proposed models better fits the data set than any proposed model derived prior to derivation of the first set of proposed models, and to determine whether to derive a second set of proposed models following derivation of the first set of proposed models based on a comparison of the required quantity to a quantity of previously derived proposed models that includes the first set. Other embodiments are described and claimed.

Claims (59)

1. A system comprising:

one or more first processor cores configured to:

generate a first set of minimal sample sets (MSSs), each MSS of the first set to include a random selection of data elements of a data set;

interface circuitry to:

transmit a signal from the one or more first processor cores to one or more second processor cores to cause the one or more second processor cores to derive a first set of proposed models in parallel from the first set of MSSs, each model of the first set of proposed models corresponding to an MSS of the first set of MSSs;

wherein the one or more first processor cores are further configured to:

generate a second set of MSSs in parallel with the derivation of the first set of proposed models by the one or more second processor cores,

if a proposed model of the first set of proposed models better fits the data set than a previous best fit model:

store a specification of the proposed model with better fit, and

recalculate a quantity of proposed models to derive; and

determine whether to derive a second set of proposed models from the second set of MSSs following derivation of the first set of proposed models based on a comparison of the quantity to a quantity of previously derived proposed models, wherein the quantity of previously derived proposed models includes the first set of proposed models.

2. The system of claim 1 , wherein the one or more second processor cores are configured to determine a degree of fit of each proposed model of the first set of proposed models to the data set in parallel, the degree of fit based on how many data elements of the data set fit each proposed model of the first set of proposed models within a selected fit threshold.

3. The system of claim 1 , comprising:

a cache to store the first set of MSSs, wherein the cache is accessible by the one or more first processor cores and the one or more second processor cores.

4. The system of claim 3 , wherein the cache is configurable to serve as a buffer between the one or more first processor cores and the one or more second processor cores.

5. The system of claim 1 , further comprising:

the one or more second processor cores.

6. The system of claim 1 , further comprising:

a shared memory to store the first set of MSSs and the second set of MSSs, the shared memory accessible by the one or more first processor cores and the one or more second processor cores.

7. The system of claim 1 , wherein:

the one or more first processor cores include a central processing unit (CPU) core; and

the one or more second processor cores include multiple graphics processing unit (GPU) cores.

8. A computer-implemented method for performing random sample and consensus (RANSAC) comprising:

generating a first set of minimal sample sets (MSSs) from a data set with one or more first processor cores, each MSS of the first set to include a random selection of data elements of the data set;

transmitting a signal from the one or more first processor cores to one or more second processor cores to cause the one or more second processor cores to derive a first set of proposed models in parallel from the first set of MSSs;

generating a second set of MSSs in parallel with the derivation of the first set of proposed models by the one or more second processor cores;

in response to a determination that a proposed model of the first set of proposed models better fits the data set than a previous best fit model:

storing a specification of the proposed model with better fit, and

recalculating a quantity of proposed models to derive; and

determining whether to derive a second set of proposed models from the second set of MSSs following derivation of the first set of proposed models based on a comparison of the quantity to a quantity of previously derived proposed models, wherein the quantity of previously derived proposed models includes the first set of proposed models.

9. The computer-implemented method of claim 8 , comprising determining how many data elements of the data set are inliers of a consensus set of each proposed model of the first set based on how many data elements of the data set fit each proposed model of the first set within a selected fit threshold.

10. The computer-implemented method of claim 9 , comprising recalculating the quantity based on a quantity of inliers in a consensus set of a proposed model of the first set of proposed models exceeding a quantity of inliers in a consensus of any proposed model derived prior to derivation of the first set of proposed models.

11. The computer-implemented method of claim 8 , comprising:

randomly selecting data elements of the data set to generate each MSS of the first set of MSSs; and

randomly selecting data elements of the data set to generate each MSS of the second set of MSSs.

12. The computer-implemented method of claim 8 , comprising at least one of visually presenting an image based on the specification of the proposed model with the better fit or transmitting data associated with the proposed model with the better fit to another device.

13. The computer-implemented method of claim 8 , further comprising:

storing the first set of MSSs and the second set of MSSs to a shared memory, the shared memory accessible by the one or more first processor cores and the one or more second processor cores.

14. The computer-implemented method of claim 8 , wherein:

the one or more first processor cores include a central processing unit (CPU) core; and

the one or more second processor cores include multiple graphics processing unit (GPU) cores.

15. At least one machine-readable non-transitory storage medium comprising instructions that when executed by a computing device, cause the computing device to:

generate a first set of minimal sample sets (MSSs from a data set, each MSS of the first set to include a random selection of data elements of the data set;

transmit a signal from one or more first processor cores to one or more second processor cores to cause the one or more second processor cores to derive a first set of proposed models in parallel from the first set of MSSs;

generate a second set of MSSs in parallel with the derivation of the first set of proposed models by the one or more second processor cores;

in response to a determination that a proposed model of the first set of proposed models better fits the data set than a previous best fit model:

store a specification of the proposed model with better fit, and

recalculate a quantity of proposed models to derive; and

determine whether to derive a second set of proposed models from the second set of MSSs following derivation of the first set of proposed models based on a comparison of the quantity to a quantity of previously derived proposed models, wherein the quantity of previously derived proposed models includes the first set of proposed models.

16. The at least one machine-readable storage medium of claim 15 , the instructions to cause the computing device to: determine how many data elements of the data set are inliers of a consensus set of each proposed model of the first set based on how many data elements of the data set fit each proposed model of the first set within a selected fit threshold.

17. The at least one machine-readable storage medium of claim 15 , the instructions to cause the computing device to: recalculate the quantity based on a quantity of inliers in a consensus set of a proposed model of the first set of proposed models exceeding a quantity of inliers in a consensus of any proposed model derived prior to derivation of the first set of proposed models.

18. The at least one machine-readable storage medium of claim 15 , the instructions to cause the computing device to: configure a cache of the computing device to serve as a buffer between the one or more first processor cores and the one or more second processor cores.

19. The at least one machine-readable storage medium of claim 15 , the instructions to cause the computing device to:

define a shared storage space in a storage accessible to the one or more first processor cores and to the one or more second processor cores;

configure a cache to at least partly cache the shared storage space; and

store the first set of MSSs and the second set of MSSs in the shared storage space.

20. The at least one machine-readable storage medium of claim 15 , wherein:

the one or more first processor cores include a central processing unit (CPU) core; and

the one or more second processor cores include multiple graphics processing unit (GPU) cores.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072890/0340 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2016
From: YANG, LIU; LI, QIANG; WANG, BIN; XU, XIANCHAO; NIU, BING
To: INTEL CORPORATION
Reel/Frame 040590/0401 →
Continuity (1)
Related Publication 20170140078A1 · May 18, 2017