IP Library Granted Patent US 7,194,114
Granted Patent B2
US 7,194,114 · App. 10/266,139 · Granted Mar 20, 2007

Object finder for two-dimensional images, and system for determining a set of sub-classifiers composing an object finder

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,194,114
App. No.
10/266,139
Granted
Mar 20, 2007
Kind
B2
Abstract

Systems and methods for determining a set of sub-classifiers for a detector of an object detection program are presented. According to one embodiment, the system may include a candidate coefficient-subset creation module, a training module in communication with the candidate coefficient-subset creation module, and a sub-classifier selection module in communication with the training module. The candidate coefficient-subset creation module may create a plurality of candidate subsets of coefficients. The coefficients are the result of a transform operation performed on a two-dimensional (2D) digitized image, and represent corresponding visual information from the 2D image that is localized in space, frequency, and orientation. The training module may train a sub-classifier for each of the plurality of candidate subsets of coefficients. The sub-classifier selection module may select certain of the plurality of sub-classifiers. The selected sub-classifiers may comprise the components of the detector. Also presented are systems and methods for detecting instances of an object in a 2D (two-dimensional) image.

Claims (177)

1. A system for determining a set of sub-classifiers for a detector of an object detection program, comprising:

a candidate coefficient-subset creation module for creating a plurality of candidate subsets of coefficients that are statistically related through a selection process using object and non-object training examples based on the statistical dependencies within each of the plurality of candidate subsets;

a training module in communication with the candidate coefficient-subset creation module for training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

a sub-classifier selection module in communication with the training module for selecting certain of the plurality of sub-classifiers.

2. The system of claim 1 , wherein the plurality of candidate subsets of coefficients comprise a plurality of candidate subsets of wavelet coefficients that are statistically related.

3. The system of claim 1 , wherein the candidate coefficient-subset creation module is for creating a plurality of candidate subsets of coefficients by:

selecting a plurality of subsets of statistically related coefficients based on a statistical relationship between groups of two coefficients in the subsets;

selecting a first subset of coefficients from the plurality of subsets of coefficients based on a first criterion;

computing a second criterion based on the first criterion and the first subset; and

selecting a second subset of coefficients from the plurality of subsets of coefficients based on the second criterion.

4. The system of claim 1 , wherein the sub-classifier selection module is for selecting certain of the plurality of sub-classifiers by:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

5. The system of claim 4 , wherein the first test is less computationally intensive than the second set.

6. The system of claim 1 , wherein the non-object training examples include non-object training examples selected by bootstrapping and non-object training examples selected randomly.

7. A system for determining a set of sub-classifiers for a detector of an object detection program, comprising:

means for creating a plurality of candidate subsets of coefficients that are statistically related through a selection process using object and non-object training examples based on the statistical dependencies within each of the plurality of candidate subsets;

means for training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

means for selecting certain of the plurality of sub-classifiers.

8. The system of claim 7 , wherein the plurality of candidate subsets of coefficients includes a plurality of candidate subsets of wavelet coefficients that are statistically related.

9. The system of claim 7 , wherein the means for selecting certain of the plurality of candidate subsets of coefficients includes means for:

selecting a plurality of subsets of statistically related coefficients based on a statistical relationship between groups of two coefficients in the subsets;

selecting a first subset of coefficients from the plurality of subsets of coefficients based on a first criterion;

computing a second criterion based on the first criterion and the first subset; and

selecting a second subset of coefficients from the plurality of subsets of coefficients based on the second criterion.

10. The system of claim 7 , wherein the means for selecting certain of the plurality of candidate sub-classifiers of coefficients includes means for:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

11. The system of claim 10 , wherein the first test is less computationally intensive than the second test.

12. The system of claim 7 , wherein the non-object training examples include non-object training examples selected by bootstrapping and non-object training examples selected randomly.

13. A computer readable medium having stored thereon instructions, which, when executed by a processor, cause the processor to:

create a plurality of candidate subsets of coefficients that are statistically related through a selection process using object and non-object training examples based on the statistical dependencies within each of the plurality of candidate subsets;

train a sub-classifier for a detector of an object detection program for each of the plurality of candidate subsets of coefficients; and

select certain of the plurality of sub-classifiers.

14. The medium of claim 13 , wherein the plurality of candidate subsets of coefficients comprise a plurality of candidate subsets of wavelet coefficients that are statistically related.

15. The medium of claim 13 , having further stored thereon instructions which when executed by the processor, cause the processor to create a plurality of candidate subsets of coefficients by:

selecting a plurality of subsets of statistically related coefficients based on a statistical relationship between groups of two coefficients in the subsets;

selecting a first subset of coefficients from the plurality of subsets of coefficients based on a first criterion;

computing a second criterion based on the first criterion and the first subset; and

selecting a second subset of coefficients from the plurality of subsets of coefficients based on the second criterion.

16. The medium of claim 13 , having further stored thereon instructions which when executed by the processor, cause the processor to select certain of the plurality of sub-classifiers by:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

17. The medium of claim 16 , wherein the first test is less computationally intensive than the second set.

18. The medium of claim 13 , having further stored thereon instructions which when executed by the processor cause the processor to select the non-object training examples by bootstrapping and randomly.

19. A method for determining a set of sub-classifiers for a detector of an object detection program, comprising:

creating a plurality of candidate subsets of coefficients that are statistically related through a selection process using object and non-object training examples based on the statistical dependencies within each of the plurality of candidate subsets;

training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

selecting certain of the plurality of sub-classifiers.

20. The method of claim 19 , wherein the plurality of candidate subset of coefficients includes a plurality of candidate subsets of wavelet coefficients that are statistically related.

21. The method of claim 19 , wherein creating a plurality of candidate subset of coefficients includes:

selecting a plurality of subsets of statistically related coefficients based on a statistical relationship between groups of two coefficients in the subsets;

selecting a first subset of coefficients from the plurality of subsets of coefficients based on a first criterion;

computing a second criterion based on the first criterion and the first subset; and

selecting a second subset of coefficients from the plurality of subsets of coefficients based on the second criterion.

22. The method of claim 19 , wherein selecting certain of the plurality of sub-classifiers includes:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

23. The method of claim 22 , wherein the first test is less computationally intensive than the second set.

24. The method of claim 19 , wherein training a sub-classifier for each of the plurality of candidate subsets of coefficients includes providing lighting correction after evaluation of an overcomplete wavelet transformation.

25. The method of claim 19 , wherein the non-object training examples include non-object training examples selected by bootstrapping and non-object training examples selected randomly.

26. A system for determining a set of sub-classifiers for a detector of an object detection program, comprising:

a candidate coefficient-subset creation module for creating a plurality of candidate subsets of coefficients;

a training module in communication with the candidate coefficient-subset creation module for training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

a sub-classifier selection module in communication with the training module for selecting certain of the plurality of sub-classifiers,

wherein the candidate coefficient-subset creation module is for creating a plurality of candidate subsets of coefficients by:

selecting a plurality of subsets of statistically related coefficients based on a statistical relationship between groups of two coefficients in the subsets;

selecting a first subset of coefficients from the plurality of subsets of coefficients based on a first criterion;

computing a second criterion based on the first criterion and the first subset; and

selecting a second subset of coefficients from the plurality of subsets of coefficients based on the second criterion.

27. The system of claim 26 , wherein the sub-classifier selection module is for selecting certain of the plurality of sub-classifiers by:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

28. The system of claim 27 , wherein the first test is less computationally intensive than the second set.

29. The system of claim 27 , wherein the training module is for training the set of sub-classifiers based on non-object training examples.

30. The system of claim 29 , wherein the non-object training examples include non-object training examples selected by bootstrapping and non-object training examples selected randomly.

31. A system for determining a set of sub-classifiers for a detector of an object detection program, comprising:

a candidate coefficient-subset creation module for creating a plurality of candidate subsets of coefficients;

a training module in communication with the candidate coefficient-subset creation module for training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

a sub-classifier selection module in communication with the training module for selecting certain of the plurality of sub-classifiers,

wherein the sub-classifier selection module is for selecting certain of the plurality of sub-classifiers by:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

32. A system for determining a set of sub-classifiers for a detector of an object detection program, comprising:

a candidate coefficient-subset creation module for creating a plurality of candidate subsets of coefficients;

a training module in communication with the candidate coefficient-subset creation module for training a sub-classifier for each of the plurality of candidate subsets of coefficients based on non-object training examples that include non-object training examples selected by bootstrapping and non-object training examples selected randomly; and

a sub-classifier selection module in communication with the training module for selecting certain of the plurality of sub-classifiers.

33. A system for determining a set of sub-classifiers for a detector of an object detection program, comprising:

means for creating a plurality of candidate subsets of coefficients;

means for training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

means for selecting certain of the plurality of sub-classifiers,

wherein the means for selecting certain of the plurality of candidate subsets of coefficients includes means for:

selecting a plurality of subsets of statistically related coefficients based on a statistical relationship between groups of two coefficients in the subsets;

selecting a first subset of coefficients from the plurality of subsets of coefficients based on a first criterion;

computing a second criterion based on the first criterion and the first subset; and

selecting a second subset of coefficients from the plurality of subsets of coefficients based on the second criterion.

34. A system for determining a set of sub-classifiers for a detector of an object detection program, comprising:

means for creating a plurality of candidate subsets of coefficients;

means for training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

means for selecting certain of the plurality of sub-classifiers,

wherein the means for selecting certain of the plurality of candidate sub-classifiers of coefficients includes means for:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

35. A system for determining a set of sub-classifiers for a detector of an object detection program, comprising:

means for creating a plurality of candidate subsets of coefficients;

means for training a sub-classifier for each of the plurality of candidate subsets of coefficients based on non-object training examples, wherein the non-object training examples include non-object training examples selected by bootstrapping and non-object training examples selected randomly; and

means for selecting certain of the plurality of sub-classifiers.

36. A computer readable medium having stored thereon instructions, which, when executed by a processor, cause the processor to:

create a plurality of candidate subsets of coefficients by:

selecting a plurality of subsets of statistically related coefficients based on a statistical relationship between groups of two coefficients in the subsets;

selecting a first subset of coefficients from the plurality of subsets of coefficients based on a first criterion;

computing a second criterion based on the first criterion and the first subset; and

selecting a second subset of coefficients from the plurality of subsets of coefficients based on the second criterion;

train a sub-classifier for a detector of an object detection program for each of the plurality of candidate subsets of coefficients; and

select certain of the plurality of sub-classifiers.

37. A computer readable medium having stored thereon instructions, which, when executed by a processor, cause the processor to:

create a plurality of candidate subsets of coefficients;

train a sub-classifier for a detector of an object detection program for each of the plurality of candidate subsets of coefficients; and

select certain of the plurality of sub-classifiers by:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

38. A computer readable medium having stored thereon instructions, which, when executed by a processor, cause the processor to:

create a plurality of candidate subsets of coefficients;

train a sub-classifier for a detector of an object detection program for each of the plurality of candidate subsets of coefficients based on non-object training examples;

select the non-object training examples by bootstrapping and randomly; and

select certain of the plurality of sub-classifiers.

39. A method for determining a set of sub-classifiers for a detector of an object detection program, comprising:

creating a plurality of candidate subsets of coefficients;

training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

selecting certain of the plurality of sub-classifiers,

wherein creating a plurality of candidate subset of coefficients includes:

selecting a plurality of subsets of statistically related coefficients based on a statistical relationship between groups of two coefficients in the subsets;

selecting a first subset of coefficients from the plurality of subsets of coefficients based on a first criterion;

computing a second criterion based on the first criterion and the first subset; and

selecting a second subset of coefficients from the plurality of subsets of coefficients based on the second criterion.

40. The method of claim 39 , wherein selecting certain of the plurality of sub-classifiers includes:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

41. The method of claim 40 , wherein the first test is less computationally intensive than the second set.

42. The method of claim 41 , wherein training a sub-classifier for each of the plurality of candidate subsets of coefficients includes providing lighting correction after evaluation of an overcomplete wavelet transformation.

43. The method of claim 42 , wherein training includes training the set of sub-classifiers based on non-object training examples.

44. The method of claim 43 , wherein the non-object training examples include non-object training examples selected by bootstrapping and non-object training examples selected randomly.

45. A method for determining a set of sub-classifiers for a detector of an object detection program, comprising:

creating a plurality of candidate subsets of coefficients;

training a sub-classifier for each of the plurality of candidate subsets of coefficients; and

selecting certain of the plurality of sub-classifiers,

wherein selecting certain of the plurality of sub-classifiers includes:

performing a first test on the plurality of sub-classifiers;

selecting a first set of sub-classifiers based on the first test;

performing a second test on the first set of sub-classifiers; and

selecting a second set of sub-classifiers from the first set based on the second test.

46. A method for determining a set of sub-classifiers for a detector of an object detection program, comprising:

creating a plurality of candidate subsets of coefficients;

training a sub-classifier for each of the plurality of candidate subsets of coefficients, wherein training a sub-classifier for each of the plurality of candidate subsets of coefficients includes providing lighting correction after evaluation of an overcomplete wavelet transformation; and

selecting certain of the plurality of sub-classifiers.

47. A method for determining a set of sub-classifiers for a detector of an object detection program, comprising:

creating a plurality of candidate subsets of coefficients;

training a sub-classifier for each of the plurality of candidate subsets of coefficients based on non-object training examples, wherein the non-object training examples include non-object training examples selected by bootstrapping and non-object training examples selected randomly; and

selecting certain of the plurality of sub-classifiers.

Assignments (2)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2002
From: SCHNEIDERMAN, HENRY
To: CARNEGIE MELLON UNIVERSITY
Reel/Frame 013585/0189 →