System and method for quantifying reflection e.g. when analyzing laminated documents
11055523 · 2021-07-06
Assignee
Inventors
- Ron ATZMON (Tel Aviv, IL)
- Sergey MARKIN (Herzeliya, IL)
- Benjamin NEEMAN (Raanana, IL)
- Yael MOSCOVITZ (Mevaseret Zion, IL)
Cpc classification
G06V10/60
PHYSICS
International classification
Abstract
A system for computerized authentication of a laminated object, the system comprising a digital medium storing a digital image of at least a portion of the laminated object in a computer-implemented memory; a shininess analyzer operative, using a processor, to generate shininess data quantifying shininess of the digital image; and a parameterized computerized authentication sub-system operative to differentially perform at least one laminated object authentication operation based on the shininess data.
Claims
1. A method for computerized authentication of a laminated object, the method comprising: generating shininess data quantifying shininess of a digital image of at least a portion of the laminated object stored in a computer-implemented memory; and differentially performing at least one laminated object authentication operation based on the shininess data including using an electronic output device for generating output/s characterizing the image of the at least portion of the laminated object; wherein the authentication operation comprises authenticating a flow of laminated objects image based on information derived from fields of interest of known location within digital images representing the objects, according to at least one pre-defined parameter governing handling of each of the fields, and wherein the differentially performing includes adjusting the pre-defined parameter for each individual instance within the flow to reflect: a lower level of confidence in information derived from an individual field to the extent that the individual field is found by the generating to be shiny, and a higher level of confidence in information derived from that individual field, to the extent that the individual field is found by the generating not to be shiny wherein the authentication operation includes at least one forgery test and wherein the parameter is used by a processor to determine whether or not to perform the forgery test based on the individual field, as opposed to performing at least one forgery test based on at least one field other than the individual field.
2. A system for computerized authentication of a laminated object, the system comprising: a shininess analyzer operative, using a processor, to generate shininess data quantifying shininess of a digital image of at least a portion of the laminated object stored in a computer-implemented memory; and a parameterized computerized authentication processor, operative to differentially perform at least one laminated object authentication operation based on the shininess data including using an electronic output device for generating output/s characterizing the image of the at least portion of the laminated object, wherein the authentication operation comprises authenticating a flow of laminated objects based on information derived from fields of interest of known location within digital images representing the objects, according to at least one pre-defined parameter governing handling of each of the fields, wherein the authentication processor is operative to differentially perform the authenticating by adjusting the pre-defined parameter for each individual instance within the flow to reflect: a lower level of confidence in information derived from an individual field to the extent that the individual field is found by the shininess analyzer to be shiny, and a higher level of confidence in information derived from that individual field, to the extent that the individual field is found by the shininess analyzer not to be shiny, and wherein the authentication processor performs differentially at least one authentication operation by carrying out the authentication operation and reporting its result accompanied by a “level of confidence” indication stipulating that the results enjoy a low level of confidence, only if the shininess data indicates that shininess capable of adversely affecting the results has been detected.
3. The system according to claim 2, wherein the laminated object comprises a physical document.
4. The system according to claim 3, wherein the physical document comprises an instance of a known type of physical ID documents and wherein the system also comprises a data-base storing computerized data characterizing a plurality of known types of physical ID documents.
5. The system according to claim 4, wherein the data characterizing a plurality of known types of physical ID documents comprises data indicating locations of pre-defined fields of interest within each of the plurality of known types of physical ID documents.
6. The system according to claim 2, wherein the authentication processor is operative to differentially perform at least one authentication operation by determining, based on the shininess data, whether or not to fix the image, by computationally adjusting pixel values to remove estimated shininess effects, before executing a forgery test.
7. The system according to claim 2, wherein the authentication processor is operative to differentially perform at least one authentication operation by aggregating information about shininess of various instances of each of at least first and second document types, handling all instances of the first document type using a first forgery test whose parameters are selected given a first level of shininess that appears to characterize the first document type; and handling all instances of the second document type using a second forgery test whose parameters are selected given a second level of shininess that appears to characterize the second document type.
8. The method according to claim 1, wherein the authentication processor differentially performs at least one authentication operation by carrying out the authentication operation and reporting its result accompanied by a “level of confidence” indication stipulating that the results enjoy a low level of confidence, only if the shininess data indicates that shininess capable of adversely affecting the results has been detected.
9. A computer program product, comprising a non-transitory tangible computer readable medium having computer readable program code embodied therein, the computer readable program code adapted to be executed to implement a method for computerized authentication of a laminated object, the method comprising: generating shininess data quantifying shininess of a digital image of at least a portion of the laminated object stored in a computer-implemented memory; and differentially performing at least one laminated object authentication operation based on the shininess data including using an electronic output device for generating output/s characterizing the image of the at least portion of the laminated object, wherein the authentication operation comprises authenticating a flow of laminated objects based on information derived from fields of interest of known location within digital images representing the objects, according to at least one pre-defined parameter governing handling of each of the fields, and wherein the differentially performing includes adjusting the pre-defined parameter for each individual instance within the flow to reflect: a lower level of confidence in information derived from an individual field to the extent that the individual field is found by the generating to be shiny, and a higher level of confidence in information derived from that individual field, to the extent that the individual field is found by the generating not to be shiny wherein the differentially performing includes carrying out the authentication operation and reporting its result accompanied by a “level of confidence” indication stipulating that the results enjoy a low level of confidence, only if the shininess data indicates that shininess capable of adversely affecting the results has been detected.
10. The system according to claim 2, wherein the authentication operation includes at least one forgery test and wherein the parameter is used by a processor to determine whether or not to perform the forgery test based on the individual field, as opposed to performing at least one forgery test based on at least one field other than the individual field.
11. The method according to claim 1, wherein the laminated object comprises a physical document.
12. The method according to claim 11, wherein the physical document comprises an instance of a known type of physical ID documents and wherein the system also comprises a data-base storing computerized data characterizing a plurality of known types of physical ID documents.
13. The method according to claim 12, wherein the data characterizing a plurality of known types of physical ID documents comprises data indicating locations of pre-defined fields of interest within each of the plurality of known types of physical ID documents.
14. The method according to claim 1, wherein the differentially performing comprises differentially performing at least one authentication operation by aggregating information about shininess of various instances of each of at least first and second document types, handling all instances of the first document type using a first forgery test whose parameters are selected given a first level of shininess that appears to characterize the first document type; and handling all instances of the second document type using a second forgery test whose parameters are selected given a second level of shininess that appears to characterize the second document type.
15. The method according to claim 1, wherein the differentially performing comprises differentially performing at least one authentication operation by carrying out the authentication operation and reporting its result accompanied by a “level of confidence” indication stipulating that the results enjoy a low level of confidence, only if the shininess data indicates that shininess capable of adversely affecting the results has been detected.
16. The method according to claim 1, wherein the authentication operation includes at least one forgery test and wherein the parameter is used by a processor to determine whether or not to perform the forgery test based on the individual field, as opposed to performing at least one forgery test based on at least one field other than the individual field.
17. The computer program product according to claim 9, wherein the laminated object comprises a physical document and wherein the physical document comprises an instance of a known type of physical ID documents and wherein the system also comprises a data-base storing computerized data characterizing a plurality of known types of physical ID documents.
18. The computer program product according to claim 17, wherein the data characterizing a plurality of known types of physical ID documents comprises data indicating locations of pre-defined fields of interest within each of the plurality of known types of physical ID documents.
19. The computer program product according to claim 9, wherein the differentially performing comprises differentially performing at least one authentication operation by aggregating information about shininess of various instances of each of at least first and second document types, handling all instances of the first document type using a first forgery test whose parameters are selected given a first level of shininess that appears to characterize the first document type; and handling all instances of the second document type using a second forgery test whose parameters are selected given a second level of shininess that appears to characterize the second document type.
20. The computer program product according to claim 9, wherein the differentially performing comprises performing, differentially, at least one authentication operation by carrying out the authentication operation and reporting its result accompanied by a “level of confidence” indication stipulating that the results enjoy a low level of confidence, only if the shininess data indicates that shininess capable of adversely affecting the results has been detected.
21. The computer program product according to claim 9, wherein the authentication operation includes at least one forgery test and wherein the parameter is used by a processor to determine whether or not to perform the forgery test based on the individual field, as opposed to performing at least one forgery test based on at least one field other than the individual field.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Certain embodiments of the present invention are illustrated in the following drawings:
(2)
(3)
(4)
(5)
(6)
(7) Methods and systems included in the scope of the present invention may include some (e.g. any suitable subset) or all of the functional blocks shown in the specifically illustrated implementations by way of example, in any suitable order e.g. as shown.
(8) Computational components described and illustrated herein can be implemented in various forms, for example, as hardware circuits such as but not limited to custom VLSI circuits or gate arrays or programmable hardware devices such as but not limited to FPGAs, or as software program code stored on at least one tangible or intangible computer readable medium and executable by at least one processor, or any suitable combination thereof. A specific functional component may be formed by one particular sequence of software code, or by a plurality of such, which collectively act or behave or act as described herein with reference to the functional component in question. For example, the component may be distributed over several code sequences such as but not limited to objects, procedures, functions, routines and programs and may originate from several computer files which typically operate synergistically.
(9) Data can be stored on one or more tangible or intangible computer readable media stored at one or more different locations, different network nodes or different storage devices at a single node or location.
(10) It is appreciated that any computer data storage technology, including any type of storage or memory and any type of computer components and recording media that retain digital data used for computing for an interval of time, and any type of information retention technology, may be used to store the various data provided and employed herein. Suitable computer data storage or information retention apparatus may include apparatus which is primary, secondary, tertiary or off-line; which is of any type or level or amount or category of volatility, differentiation, mutability, accessibility, addressability, capacity, performance and energy use; and which is based on any suitable technologies such as semiconductor, magnetic, optical, paper and others.
DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
(11)
(12) Step 10: Generating a 2-dimensional histogram array representing frequency of occurrence of each of a plurality of n-tuplets of color component values, in the image.
(13) Step 20: for each individual diagonal from among a plurality of diagonals covering the histogram array, identifying a maximum array element corresponding to an n-tuplet of color component values which occurs more frequently than other color component values within the same individual diagonal
(14) Step 30: determining a shininess value for each individual pixel, defining an individual n-tuplet of color component values, from among the multiplicity of pixels, by finding said individual n-tuplet of color component values in said 2-dimensional histogram array, thereby to identify a specific diagonal from among the plurality of diagonals to which said individual n-tuplet belongs, and computing a distance between said individual n-tuplet of color component values and the maximum array element defined for said specific diagonal
(15) Step 40: Outputting a function of the distance (e.g. the unity function thereof i.e. the distance itself).
(16)
(17) Step 210: Providing a digital medium storing a digital image of at least a portion of the laminated object
(18) Step 220: Providing a shininess analyzer operative to generate shininess data quantifying shininess of said digital image e.g. using the method of
(19) Step 230: differentially perform at least one authentication operation based on said shininess data.
(20) Referring now to
(21) Shiny pixels are typically characterized by a linear increase of all 3 (r.g.b) values (e.g. each component increases by the same x %), relative, say, to the same image when un-laminated.
(22) The method of
(23)
Where && signifies a (logical AND or) a conditional-AND operator which performs a logical-AND of its Boolean operands, but only evaluates the second operand if necessary; if operand1 is false, operand2 may not be evaluated.
Typically, S(i,j)=1 iff the pixel C(i,j) in the input image was detected as exceeding a predetermined shininess threshold e.g. 40, or, alternatively, any other suitable value e.g. in the range between 30 and 60, assuming 256 color levels. Step 350: Output binary image S (Shiny map image), white on the reflection, otherwise black.
(24) Reference is now made to
(25) The method of
(26) It is appreciated that since the (m,n) ordered pairs all lie along the diagonal, the two indices increment simultaneously as the method proceeds along the diagonal.
(27)
(28) It is appreciated that the constants used in the methods of
(29) For example, a set of representative images may be analyzed in a set-up stage—such as a set of laminated identity documents of the type a particular identity document authentication system is expected to authenticate.
(30) In each member of the set, a “reflected area” is identified, namely a region within the laminated image of each document which is determined, e.g. by visual inspection, to be compromised by reflected light. The reflected area is a region whose pixels' color levels are lighter than pixels surrounding the reflected area and are not continuous compared to the surrounding pixel. For example, a person's face or clothing may be distinguishable e.g. by visual inspection. If first portions of the face or clothing are included in a reflected area and other, second, portions are not, then the skin color or clothing color will be observed to be brighter in the first portions relative to the second portions.
(31) To find a suitable criterion II threshold, identify a value, e.g. the smallest possible value, which exceeds all or almost all pixel color component values r, g, b in the reflected area.
(32) To find a suitable criterion III threshold, shiny values may be analyzed for at least one image or typically a representative set of images of laminated objects. Shiny values are values that describe extents or levels of shininess for a given color component combination (R, G) (or any other combination of color components). Typically the “shiny value” of an individual color component combination (R, G) occurring along an individual diagonal is the Euclidean distance between that color component combination (R, G) and the (R, G) values of the maximum found along the individual diagonal. To set a criterion III threshold, identify a value which exceeds (e.g. the smallest value which exceeds) some or all of the shiny values of an image or representative set of images.
(33) To determine a suitable shininess threshold, binary shiny maps may be generated during a set-up phase, e.g. using the method of
(34) It is appreciated that any other suitable method, other than those described herein in the methods of
(35) Alternatively or in addition, contours of shiny areas may be identified by finding “edges” along which colors suddenly become much whiter e.g. several r, g, b pixels are found right next to pixels whose values are (100+p)/100×r, (100+p)/100×b, (100+p)/100×g for some p. A sudden linear drop in all 3 color component values, along a curve or line, may be considered an edge of a “shiny” region.
(36) Alternatively or in addition, laminated images of a known 2d object e.g. known ID document may be compared to the 2d object itself to identify shininess which appears only in the image and not (at least under certain lighting conditions) in the 2d object itself.
(37) Alternatively or in addition, image pixels may be divided into sets where each set has the same basic color component values, plus or minus a fixed added number of levels to all 3 components. So for example, (3,8,9); (103, 108, 109); and (223, 228, 229) would be in the same set. For each such set, the pixel with the lowest color component values in the set ((3, 8, 9) in the above example) is assumed to be a non-shiny pixel whose shininess is zero and a suitable distance metric e.g. Euclidean is used to compute the distance of each other pixel in the set from the non-shiny pixel. The shininess map includes, for each pixel, the distance thus computed or a binarized value thereof, using any suitable threshold for binarizing the distances depending on the application.
(38) It is appreciated that a shininess map, which may or may not be binarized, may have a wide variety of uses, for example in accordance with the method of
(39) It is appreciated that the above uses may be combined in any suitable manner, depending on the application. For example, shiny regions in an image may be fixed if suitable tests or accumulated past results for similar images indicate that this is feasible. Then, image processing operations, such as but not limited to segmentation or edge detection, may be performed. If shininess is detected but is deemed not fixable, suitable pre-defined control parameters can avoid such operations, generally or in affected regions. Alternatively or in addition, the operations may be performed, but suitable pre-defined control parameters can generate suitable warnings to users, about non-reliability of the operations. For example, outputs based on image processing operations adversely affected by shininess may be accompanied by a “level of confidence” indication stipulating whether the outputs enjoy a high or low level of confidence, based on shininess data.
(40) It is appreciated that terminology such as “mandatory”, “required”, “need” and “must” refer to implementation choices made within the context of a particular implementation or application described herewithin for clarity and are not intended to be limiting since in an alternative implementation, the same elements might be defined as not mandatory and not required or might even be eliminated altogether.
(41) It is appreciated that software components of the present invention including programs and data may, if desired, be implemented in ROM (read only memory) form including CD-ROMs, EPROMs and EEPROMs, or may be stored in any other suitable typically non-transitory computer-readable medium such as but not limited to disks of various kinds, cards of various kinds and RAMs. Components described herein as software may, alternatively, be implemented wholly or partly in hardware and/or firmware, if desired, using conventional techniques, and vice-versa. Each module or component may be centralized in a single location or distributed over several locations.
(42) Included in the scope of the present invention, inter alia, are electromagnetic signals carrying computer-readable instructions for performing any or all of the steps or operations of any of the methods shown and described herein, in any suitable order including simultaneous performance of suitable groups of steps as appropriate; machine-readable instructions for performing any or all of the steps of any of the methods shown and described herein, in any suitable order; program storage devices readable by machine, tangibly embodying a program of instructions executable by the machine to perform any or all of the steps of any of the methods shown and described herein, in any suitable order; a computer program product comprising a computer useable medium having computer readable program code, such as executable code, having embodied therein, and/or including computer readable program code for performing, any or all of the steps of any of the methods shown and described herein, in any suitable order; any technical effects brought about by any or all of the steps of any of the methods shown and described herein, when performed in any suitable order; any suitable apparatus or device or combination of such, programmed to perform, alone or in combination, any or all of the steps of any of the methods shown and described herein, in any suitable order; electronic devices each including at least one processor and/or cooperating input device and/or output device and operative to perform e.g. in software any steps shown and described herein; information storage devices or physical records, such as disks or hard drives, causing at least one computer or other device to be configured so as to carry out any or all of the steps of any of the methods shown and described herein, in any suitable order; at least one program pre-stored e.g. in memory or on an information network such as the Internet, before or after being downloaded, which embodies any or all of the steps of any of the methods shown and described herein, in any suitable order, and the method of uploading or downloading such, and a system including server/s and/or client/s for using such; at least one processor configured to perform any combination of the described steps or to execute any combination of the described modules; and hardware which performs any or all of the steps of any of the methods shown and described herein, in any suitable order, either alone or in conjunction with software. Any computer-readable or machine-readable media described herein is intended to include non-transitory computer- or machine-readable media.
(43) Any computations or other forms of analysis described herein may be performed by a suitable computerized method. Any step or functionality described herein may be wholly or partially computer-implemented e.g. by one or more processors. The invention shown and described herein may include (a) using a computerized method to identify a solution to any of the problems or for any of the objectives described herein, the solution optionally includes at least one of a decision, an action, a product, a service or any other information described herein that impacts, in a positive manner, a problem or objectives described herein; and (b) outputting the solution.
(44) The system may, if desired, be implemented as a web-based system employing software, computers, routers and telecommunications equipment as appropriate.
(45) Any suitable deployment may be employed to provide functionalities e.g. software functionalities shown and described herein. For example, a server may store certain applications, for download to clients, which are executed at the client side, the server side serving only as a storehouse. Some or all functionalities e.g. software functionalities shown and described herein may be deployed in a cloud environment. Clients e.g. mobile communication devices such as smartphones may be operatively associated with but external to the cloud.
(46) The scope of the present invention is not limited to structures and functions specifically described herein and is also intended to include devices which have the capacity to yield a structure, or perform a function, described herein, such that even though users of the device may not use the capacity, they are, if they so desire, able to modify the device to obtain the structure or function.
(47) Features of the present invention, including method steps, which are described in the context of separate embodiments may also be provided in combination in a single embodiment. For example, a system embodiment is intended to include a corresponding process embodiment. Also, each system embodiment is intended to include a server-centered “view” or client centered “view”, or “view” from any other node of the system, of the entire functionality of the system, computer-readable medium, apparatus, including only those functionalities performed at that server or client or node. Features may also be combined with features known in the art and particularly, although not limited to, those described in the Background section or in publications mentioned therein.
(48) Conversely, features of the invention, including method steps, which are described for brevity in the context of a single embodiment or in a certain order may be provided separately or in any suitable subcombination, including with features known in the art (particularly, although not limited, to those described in the Background section or in publications mentioned therein) or in a different order. “e.g.” is used herein in the sense of a specific example which is not intended to be limiting. Each method may comprise some or all of the steps illustrated or described, suitably ordered e.g. as illustrated or described herein.
(49) Devices, apparatus or systems shown coupled in any of the drawings may in fact be integrated into a single platform in certain embodiments or may be coupled via any appropriate wired or wireless coupling such as but not limited to optical fiber, Ethernet, Wireless LAN, HomePNA, power line communication, cell phone, PDA, Blackberry GPRS, Satellite including GPS, or other mobile delivery. It is appreciated that in the description and drawings shown and described herein, functionalities described or illustrated as systems and sub-units thereof can also be provided as methods and steps therewithin, and functionalities described or illustrated as methods and steps therewithin can also be provided as systems and sub-units thereof. The scale used to illustrate various elements in the drawings is merely exemplary and/or appropriate for clarity of presentation and is not intended to be limiting.