Produce indentifier using barcode scanner and wavelet image processing and having compensation for dirt accumulated on viewing window
First Claim
1. An identification system for classifying an image defined by data stored in a computer memory and having respective physical surface properties, said system including:
- an optical scanner responsive to said computer, a window exposed to the environment through which a beam of light projects on to a surface of an object to be scanned, said scanner directing said beam oflight over said surface and receiving light reflected from said surface, said reflected light being converted by said scanner to a data signal representative of said surface, said scanner further including;
a detector which determines scattered light data for said window by acquiring at least one scan of said window in the absence of said object to be scanned; and
a conditioner which conditions said data signal representative of said object surface based on recording 3 or more levels of brightness for said window scan to compensate for said scattered light data;
a wavelet processor receiving the data signal from said optical scanner and extracting a feature vector signal therefrom that includes a plurality of vector components having respective coefficients corresponding to at least one physical property representative ofsaid surface; and
a comparator receiving the extracted feature vector signal from said wavelet processor, said comparator comparing said extracted feature vector signal with a set of predetermined feature vector signals stored in said memory and representing a plurality of object types, said comparator determining whether said object has a surface similar to the surface represented by any one of the predetermined vector signals included in said set based on the comparison.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method identify objects, such as fruits, vegetables, and images through the recognition of unique surface features represented by signals from a scanner that pass over the objects. The scanner signals are processed by applying a modified wavelet transform to them and comparing the results to previously stored data. The system uses an optical scanner, a processor that transforms the data acquired by the scanner to extract a translation invariant feature vector, and a comparator which compares the transformed signal to a predetermined set of vectors for a corresponding identification based upon the comparison set.
-
Citations
41 Claims
-
1. An identification system for classifying an image defined by data stored in a computer memory and having respective physical surface properties, said system including:
-
an optical scanner responsive to said computer, a window exposed to the environment through which a beam of light projects on to a surface of an object to be scanned, said scanner directing said beam oflight over said surface and receiving light reflected from said surface, said reflected light being converted by said scanner to a data signal representative of said surface, said scanner further including;
a detector which determines scattered light data for said window by acquiring at least one scan of said window in the absence of said object to be scanned; and
a conditioner which conditions said data signal representative of said object surface based on recording 3 or more levels of brightness for said window scan to compensate for said scattered light data;
a wavelet processor receiving the data signal from said optical scanner and extracting a feature vector signal therefrom that includes a plurality of vector components having respective coefficients corresponding to at least one physical property representative ofsaid surface; and
a comparator receiving the extracted feature vector signal from said wavelet processor, said comparator comparing said extracted feature vector signal with a set of predetermined feature vector signals stored in said memory and representing a plurality of object types, said comparator determining whether said object has a surface similar to the surface represented by any one of the predetermined vector signals included in said set based on the comparison. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
said optical scanner includes an optical source to generate a laser beam of a predetermined wavelength for scanning over said surface and producing reflected intensity data representative of said surface; and
an optical signal detector for sensing the reflections of said beam incident on said surface.
-
-
3. An identification system according to claim 2 wherein said physical surface properties include surface texture.
-
4. An identification system according to claim 2 wherein said physical surface properties include at least one of curvature, color, mechanical roughness, and reflectivity in one or more directions.
-
5. An identification system according to claim 1 wherein said predetermined vector signals represent one of the color and condition of a single type of object.
-
6. An identification system according to claim 2 and further including means for generating multiple polarizations of said laser beam.
-
7. An identification system according to claim 2 wherein:
-
said laser beam generating optical source is of the switchable type;
said detector is operable in response to said switchable source to scan across said surface with said beam turned on to collect composite intensity data defining a first scan, and to scan across said surface with said beam turned off to collect ambient intensity data defining a second scan; and
said scanner includes a subtraction circuit which receives said ambient intensity data and subtracts it from said composite intensity data to generate filtered spectral reflectivity data.
-
-
8. An identification system according to claim 7 wherein said scanner includes a conditioner circuit which conditions said filtered data to compensate for scattering and attenuation of said laser beam by defects in said window.
-
9. A produce identification system according to claim 8 wherein said conditioner circuit includes:
-
a detector which determines scattered light data in said filtered data resulting from said defects;
a subtraction circuit which subtracts said scattered light data from said filtered data;
an estimator which estimates an attenuation factor from said subtracted scattered light data; and
a divider which divides said filtered data by said attenuation factor.
-
-
10. An identification system according to claim 1 further including a phase lock loop circuit to adjust said scanner frequency to a power line frequency so as to minimize power line interference.
-
11. An identification system according to claim 1 wherein said light has a wavelength of at least one of approximately 575 and 775 nanometers.
-
12. An identification system according to claim 1 wherein said optical scanner comprises a digital camera.
-
13. An identification system according to claim 12 and further including a plurality of switchable illumination sources.
-
14. A produce identification system for classifying an article of produce having respective physical textured surface properties, said system including:
-
a computer having a memory;
a bar code scanner responsive to said computer, said scanner having an optical source to generate a laser beam of a predetermined wavelength for scanning at a predetermined frequency over said textured surface and producing a one-dimensional stripe of reflected intensity data representative of the surface of an article of produce, and an optical signal detector for sensing the reflections of said beam incident on said surface;
a phase locking circuit to adjust said predetermined scanner frequency to a predetermined power line frequency;
a wavelet processor disposed at the output of said optical scanner to receive said one-dimensional stripe of reflected intensity data and extract a translation invariant feature vector comprising a plurality of vector components having respective coefficients corresponding to at least one physical property representative of a texture of the surface; and
a comparator coupled to the output of said wavelet processor for comparing said extracted feature vector to a set of predetermined feature vectors stored in said memory and representing the textures of a plurality of produce types to determine whether the article has a texture similar to any one or more of the textures represented by the predetermined vectors included in said set.
-
-
15. A method of classifying image data representing particular physical surface properties of a surface of an object, said method including the steps of:
-
acquiring data representative of said surface with a scanner having an output coupled to a computer;
acquiring at least one scan by said scanner by means of a window exposed to the environment through which a beam of light from said scanner projects in the absence of said object;
determining scattered light data from said window based on said scan;
conditioning said data based on recording 3 or more levels of brightness for said window scan to compensate for said scattered light data;
transforming said data to extract a physical feature vector comprising a plurality of vector components having respective coefficients corresponding to at least one physical property representative of said surface; and
comparing said extracted feature vector to a set of predetermined feature vectors representing a plurality of objects to determine whether said article has a surface similar to the surface represented by any one of said predetermined vectors included in said set. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
first scanning said textured surface with said laser beam source to generate reflections from said textured surface;
second scanning said textured surface with an optical signal detector substantially coincident with said laser beam source and sensing reflected optical signals, including reflections; and
generating data representative of said reflections.
-
-
19. A method according to claim 18 wherein:
-
said first scanning step includes sweeping said laser beam source across said textured surface with said beam turned on to define a first scan, then directing said signal detector across said textured surface with said beam turned off to define a second scan which defines ambient optical signals;
said sensing step includes detecting a composite optical signal from said first scan including said reflections and said ambient optical signals and identifying an isolated background signal from said second scan including said ambient signal; and
said generating step includes subtracting said background signal from said composite signal to form an unscaled reflection signal.
-
-
20. A method according to claim 19 wherein said generating step includes the step of:
-
conditioning said unscaled reflection signal by a final attenuation factor to compensate for dirt attenuation; and
storing said conditioned signal.
-
-
21. A method according to claim 20 wherein said conditioning step includes the steps of:
-
maintaining a database history of scattered light datasets including a plurality of previously measured scattered light values and an oldest dataset;
calculating a real-time value of scattered light data resulting from said dirt;
replacing the oldest scattered light dataset with said real-time dataset in said database;
creating a modified scattered light dataset by considering said database history of scattered light datasets;
convolving said modified dataset by a predetermined kernel to generate a first attenuation factor; and
modifying said first attenuation factor by a predetermined attenuation factor to derive a final attenuation factor.
-
-
22. A method according to claim 21 wherein said creating step includes calculating a median scattered light dataset from said plurality of datasets in said database.
-
23. A method according to claim 21 wherein said creating step includes the steps of calculating an average scattered light dataset from said plurality of datasets in said database.
-
24. A method according to claim 19 wherein said subtracting step includes:
-
identifying a power line having a power line frequency; and
locking said scanner frequency to said power line frequency to synchronize the respective phases between said scanner frequency and said power line frequency.
-
-
25. A method according to claim 15 wherein said transforming step includes applying a modified wavelet transform to said data through respective iterative convolutions of a zero-mean even wiggly function whose mean is zero, and which has the property f(−
- x)=f(+x), where f(x) is nonzero at one or more points and a smoothing function derived from said wiggly function and orthogonal thereto, and wherein all of said convolutions with said wiggly function are retained to extract said feature vector and to provide translational invariance and reflection invariance.
-
26. A method according to claim 17 wherein said laser beam has a wavelength of at least one of approximately 575 and 775 nanometers.
-
27. A method according to claim 15 wherein said transforming step includes analyzing statistically said plurality of vector components to determine robust estimates of the physical surface properties.
-
28. A method according to claim 27 wherein said analyzing step includes determining the robust estimate for the curvature of at least one vector component using a median operation.
-
29. A method according to claim 27 wherein said analyzing step includes determining the robust estimate for the roughness of at least one vector component using a median operation.
-
30. A method according to claim 27 wherein said analyzing step includes determining one or more correlations between said respective physical properties.
-
31. A method according to claim 15 wherein said comparing step includes:
-
determining the closest predetermined vector to said extracted feature vector; and
identifying said article as an item of produce represented by said closest predetermined vector.
-
-
32. A method according to claim 15 wherein said comparing step includes:
-
determining a plurality of similar predetermined vectors to said extracted feature vector; and
identifying said article as similar to the group of articles represented by said plurality of similar predetermined vectors.
-
-
33. A method of using a bar code scanner to classify an article of produce in a grocery checkout line, said produce having an identifiable surface texture including a plurality of physical texture properties, said bar code scanner having an optical beam and a photodetector for sensing reflected components of said beam, said method including the steps of:
-
scanning said surface texture with said optical beam to generate reflections from said textured surface;
sensing optical signals including said reflections with said detector;
generating data representative of said reflections;
applying a modified wave let transform to said data through respective iterative convolutions of a zero-mean wiggly function whose mean is zero, and which has the property f(−
x)=f(+x), where f(x) is nonzero at one or more points and a smoothing function derived from said wiggly function and orthogonal thereto, and wherein all of said convolutions with said wiggly function are retained to extract a feature vector having a plurality of vector components with respective coefficients and to provide translation invariance and reflection invariance;
analyzing statistically said plurality of vector components to determine median values of said physical texture properties;
determining a plurality of similar predetermined vectors to said extracted vector, and identifying said article of produce as similar to the group of articles represented by said plurality of similar vectors.
-
-
34. A method of extracting a translation invariant physical feature vector through application of a wavelet transform on data representing a physical image, said method for use with a computer having memory and including the steps of:
-
selecting an even zero-mean wiggly function whose mean is zero, and which has the property f(−
x)=f(+x), where f(x) is nonzero at one or more points;
deriving a smoothing function S, said smoothing function being orthogonal to F;
convolving a first copy of said intensity data with F to generate respective component vector coefficients;
dropping alternate points;
storing said component coefficients in said memory;
convolving a second copy of said intensity data with S to generate a smoothed set of said data;
dropping alternate points;
determining whether said reduced output data is longer than S; and
iterating said convolving, storing, and determining steps until said reduced data is shorter than S, whereby said component vectors collectively comprise said physical feature vector. - View Dependent Claims (35, 36, 37, 38, 39)
analyzing statistically said plurality of vector components to determine robust estimates of the physical surface properties.
-
-
36. A method according to claim 35 wherein said analyzing step includes determining the robust estimate for the curvature of at least one vector component using a median operation.
-
37. A method according to claim 35 wherein said analyzing step includes determining the robust estimate for the roughness of at least one vector component using a median operation.
-
38. A method as in claim 37 wherein image data defines a photograph, fingerprint or retinal image.
-
39. A method as in claim 38 wherein said set of predetermined feature vectors represent one of the color and condition of a type of produce.
-
40. A method of classifying a physical image defined by data stored in a computer memory, said data representing particular physical surface properties of a surface of an object, said method including the steps of:
-
acquiring data representative of said surface with a scanner having an output coupled to a computer;
acquiring at least one scan by said scanner by means of a window exposed to the environment through which a beam of light from said scanner projects in the absence of said object;
determining scattered light data from said window based on said scan;
conditioning said data based on recording 3 or more levels of brightness for said window scan to compensate for said scattered light data;
applying a wavelet transform to said data to extract a translation invariant and reflection invariant physical feature vector comprising a plurality of vector components having respective coefficients corresponding to at least one physical property of the surface; and
comparing said extracted feature vector to a set of predetermined feature vectors representing a plurality of image types to determine whether said image has a similar vector to any one of said predetermined vectors included in said set. - View Dependent Claims (41)
-
Specification