Banknote crack detection method and apparatus

10319172 ยท 2019-06-11

Assignee

Inventors

Cpc classification

International classification

Abstract

A banknote crack detection method and a banknote crack detection apparatus are provided. The banknote crack detection apparatus includes an image collection unit, configured to collect an optical transmission image of an inputted banknote, a pre-processing unit, configured to receive a banknote image signal collected by the image collection unit, and perform foreground region positioning and cutting on the banknote image signal; a crack detection unit, configured to detect whether a crack exists; and a determining unit, configured to determine whether the banknote is qualified according to a detection result of the crack detection unit; and a control unit, configured to control operation of each of the above units.

Claims

1. A banknote crack detection method, comprising: inputting a to-be-detected banknote; collecting an optical transmission image of the inputted banknote; detecting a foreground region of the inputted banknote, cutting the foreground region, and placing the foreground region in a pixel coordinate system; determining whether there is a crack at an edge of the foreground region; when it is determined that there is a crack at an edge of the foreground region, accumulating a crack edge length CL and a crack depth CH; determining whether the crack edge length CL is greater than a preset threshold and whether the crack depth CH is greater than the preset threshold, determining that the inputted banknote has a crack and rejecting the inputted banknote in a case that the crack edge length CL is greater than the preset threshold or the crack depth CH is greater than the preset threshold; and receiving, the inputted banknote in a case that the crack edge length CL is not greater than the preset threshold and the crack depth CH is not greater than the preset threshold, wherein determining whether there is a crack at an edge of the foreground region comprises: a first step of performing an initialization setting to set a starting edge point of the crack as P.sub.S, an end edge point of the crack as P.sub.E, a crack width as Cw=0, the crack edge length as Cl=0, and the crack depth as Ch=0; a second step of searching for a crack starting edge point and a crack end edge point in pixels in an edge of the foreground region, and updating P.sub.S=P(x.sub.01, y.sub.01), P.sub.E=P(x.sub.02, y.sub.01), CL=Cl+2 and CH=Ch+1 in a case that points P(x.sub.01, y.sub.01) and P(x.sub.02, y.sub.01) meet: { x 02 - x 01 - 1 <= 2 GrayP ( x 01 , y 01 ) < gth max GrayP ( x 02 , y 01 ) < gth max GrayP M > gth min , wherein P(x.sub.01, y.sub.01) indicates a pixel point at a coordinate (x.sub.01, y.sub.01) of the banknote foreground region image, GrayP (x.sub.01, y.sub.01) indicates a gray value of the pixel point at the coordinate (x.sub.01, y.sub.01), x.sub.02x.sub.011<=2 indicates that a width of a crack region on the foreground region image is no more than 2 pixels, gth max denotes a maximum gray value of an optical transmission image when there is no crack in medium, and is generally set to 200, gth min denotes a minimum gray value of a crack region in the optical transmission image, and is generally set to 250, and P.sub.M denotes a point between P(x.sub.01, y.sub.01) and P(x.sub.02, y.sub.01); a third step of determining that { x 02 = x 01 + 2 GrayP ( x 01 - 1 , y 01 + 1 ) < gth max GrayP ( x 02 + 1 , y 01 + 1 ) < gth max , when Cw=1, that is there is one pixel point between P(x.sub.01, y.sub.01) and P(x.sub.02, y.sub.01), (1) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.011, y.sub.01+1), the end point to P.sub.E=P(x.sub.01+1, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=1, in a case that { GrayP ( x 01 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) < gth max ; (2) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.01+1, y.sub.01+1), the end point to P.sub.E=P(x.sub.02+1, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=1, in a case that { GrayP ( x 02 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) < gth max ; (3) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.011, y.sub.01+1), the end point to P.sub.E=P(x.sub.02, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=2, in a case that { GrayP ( x 01 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 02 , y 01 + 1 ) < gth max ; and and (4) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.01, y.sub.01+1), the end point to P.sub.E=P(x.sub.02+1, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=2, in a case that { GrayP ( x 01 , y 01 + 1 ) < gth max GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 02 , y 01 + 1 ) > gth min ; a fourth step of determining that { x 02 = x 01 + 3 GrayP ( x 01 - 1 , y 01 + 1 ) < gth max GrayP ( x 02 + 1 , y 01 + 1 ) < gth max , when Cw=2, that is there are two pixels between P.sub.S and P.sub.E, (1) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.011, y.sub.01+1), the end point to P.sub.E=P(x.sub.011, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=1, in a case that { GrayP ( x 01 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) < gth max ; (2) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.01, y.sub.01+1), the end point to P.sub.E=P(x.sub.01+2, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=1, in a case that { GrayP ( x 01 , y 01 + 1 ) < gth max GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 01 + 2 , y 01 + 1 ) < gth max ; (3) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.01+1, y.sub.01+1), the end point to P.sub.E=P(x.sub.01+3, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=1, in a case that { GrayP ( x 01 + 1 , y 01 + 1 ) < gth max GrayP ( x 01 + 2 , y 01 + 1 ) > gth min GrayP ( x 01 + 3 , y 01 + 1 ) < gth max ; (4) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.01+2, y.sub.01+1), the end point to P.sub.E=P(x.sub.02+1, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=1, in a case that { GrayP ( x 01 + 2 , y 01 + 1 ) < gth max GrayP ( x 02 , y 01 + 1 ) > gth min ; (5) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.011, y.sub.01+1), the end point to P.sub.E=P(x.sub.01+2, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=2, in a case that { GrayP ( x 01 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 01 + 2 , y 01 + 1 ) < gth max ; (6) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.01, y.sub.01+1), the end point to P.sub.E=P(x.sub.01+3, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=2, in a case that { GrayP ( x 01 , y 01 + 1 ) < gth max GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 01 + 2 , y 01 + 1 ) > gth min GrayP ( x 01 + 3 , y 01 + 1 ) < gth max ; (7) updating, for the crack in the line, the starting point to P.sub.S=P(x.sub.01+1, y.sub.01+1), the end point to P.sub.E=P(x.sub.02+1, y.sub.01+1), the crack edge length to CL=Cl+2, the crack depth to CH=Ch+1, and the crack width to Cw=2, in a case that { GrayP ( x 01 + 1 , y 01 + 1 ) < gth max GrayP ( x 01 + 2 , y 01 + 1 ) > gth min GrayP ( x 01 + 3 , y 01 + 1 ) > gth min ; and determining that the crack does not extend to the line in other cases, and ending the crack detection; and a fifth step of performing an iterative computation, repeatedly performing the third step in a case that Cw=1, and repeatedly performing the fourth step in a case that Cw=2 until a complete detection for a crack is finished.

2. The banknote crack detection method according to claim 1, wherein the determining whether there is a crack at an edge of the foreground region comprises: sequentially determining, for each of adjacent pixel segments of a step length at upper, lower, left and right edges, whether a gray level of each pixel in the pixel segment exceeds a preset gray level threshold, and whether pixel gray gradients at two end points of each of the pixel segments both exceed a preset gradient threshold; and determining that there is a crack at the edges of the foreground region if the gray level of each pixel in each of the pixel segments exceeds the preset gray level threshold and the pixel gray gradients at two end points of each of the pixel segments both exceed the preset gradient threshold, otherwise, determining that there is no crack at the edges of the foreground region.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a schematic diagram of a logical structure of a banknote crack detection apparatus according to an embodiment of the present disclosure;

(2) FIG. 2 is a flow chart of a banknote crack detection method according to an embodiment of the present disclosure;

(3) FIG. 3 is an optical transmission image of a banknote having a crack;

(4) FIG. 4 is an original image collected by an optical sensor;

(5) FIG. 5 is a banknote foreground region image placed in a coordinate system;

(6) FIG. 6 is a schematic diagram illustrating that a crack width of a previous line is one pixel; and

(7) FIG. 7 is a schematic diagram illustrating that a crack width of a previous line is two pixels.

DETAILED DESCRIPTION OF THE EMBODIMENTS

(8) In order to further explain the banknote crack detection apparatus and the banknote crack detection method according to the present disclosure, embodiments will be described in detail with reference to the drawings.

(9) As shown in FIG. 1, the banknote crack detection apparatus according to an embodiment of the present disclosure includes: a control unit 10, an image collection unit 20, a pre-processing unit 30, a crack detection unit 40 and a determining unit 50. The image collection unit 20 is configured to collect an optical transmission image of an inputted banknote. The pre-processing unit 30 is configured to receive a banknote image signal collected by the image collection unit 20, and perform foreground region positioning and cutting on the banknote image signal. The crack detection unit 40 is configured to receive a banknote foreground region image from the pre-processing unit 30, and determine whether there is a pixel segment with a crack feature at an edge of a foreground region. If there is the pixel segment with the crack feature, there is a crack at the edge of the foreground region, and the crack detection unit 40 continues to detect whether the crack is extended to a deeper row or column than the edge in the manner of detecting whether there is a crack at an edge, and accumulate a crack edge length and a crack depth. The determining unit 50 is configured to determine whether the inputted banknote is qualified according to a detection result of the crack detection unit. The determining rule is that if there is no crack at any of four edges of the inputted banknote, the inputted banknote is qualified and received; if the inputted banknote has an edge, and the crack edge length is greater than a preset threshold or the crack depth is greater than the preset threshold, the inputted banknote is unqualified and rejected; and if the inputted banknote has an edge, and the crack edge length is less than the preset threshold and the crack depth is less than the preset threshold, the inputted banknote is qualified and received. The control unit 10 is configured to control operation of each of the above units. The pixel segment with the crack feature is an adjacent pixel segment with a certain step in which a gray level of each pixel exceeds a preset gray level threshold, and pixel gray gradients at two end points of the pixel segment both exceed a preset gradient threshold.

(10) As shown in FIG. 2, the banknote crack detection method according to an embodiment of the present disclosure includes step 1 to step 8. In step 1, a to-be-detected banknote is inputted to start a process. In step 2, an optical transmission image of the inputted banknote is collected. In step 3, a foreground region of the inputted banknote is detected and cut, and then the foreground region is placed in a pixel coordinate system. In step 4, it is determined whether there is a crack at an edge of the foreground region. If there is a crack, step 5 is performed, otherwise, step 8 is performed. In step 5, a crack edge length CL and a crack depth CH are accumulated. In step 6, it is determined whether the crack edge length CL is greater than a preset threshold or the crack depth CH is greater than the preset threshold. If the crack edge length CL is greater than the preset threshold or the crack depth CH is greater than the preset threshold, step 7 is performed, otherwise, step 8 is performed. In step 7, it is determined that the inputted banknote has a crack, the inputted banknote is rejected, and the process ends. In step 8, the inputted banknote is received, and the process ends.

(11) Principles and steps of the banknote crack detection method are described in detail below.

(12) For the process of imaging a banknote through an optional transmission sensor, there is an energy equation as follows:
E=E.sub.0+E.sub.1+E.sub.2+(formula 1).

(13) E denotes energy of light source, E.sub.0 denotes energy absorbed by a medium, E.sub.1 denotes energy reflected by the medium, E.sub.2 denotes energy passing through the medium and is directly reflected by a gray value of a transmission image, and denotes inherent energy loss of the optical transmission imaging system. If a light passes through a crack, then:

(14) { E 0 = 0 E 1 = 0 E = E 2 + .Math. . ( formula 2 )

(15) It is indicated that, in the crack region, energy passing through the medium increases significantly, which is reflected as that an image gray value in the transmission image is close to 255, the entire banknote crack region is presented as a white connected region with a width of one to two pixels, as shown in FIG. 3. A crack detection scheme of the banknote crack detection apparatus according to the embodiment is to search for such white connected region, and calculate an edge length of the connected region and a depth of the connected region, to determine whether to receive the inputted banknote based on a preset threshold. A specific process of the banknote crack detection method is described in detail below.

(16) 1, an initialization setting is performed as follows. A starting edge point of the crack is set as P.sub.S, an end edge point of the crack is set as P.sub.E, a crack width is set as Cw=0, a crack edge length is set as Cl=0, and a crack depth is set as Ch=0.

(17) 2, the process starts. A banknote is inputted and an optical transmission image of the banknote is collected. A resolution ratio of an image sensor is set to w dpi. Variables CL and CH are respectively set to represent a crack edge length and a crack depth. The collected banknote transmission image is shown in FIG. 4.

(18) 3, Image cutting is performed. Foreground region edges are detected and a foreground region is cut, and then the cut foreground region is placed in a pixel coordinate system xoy. And as shown in FIG. 5, a bottom-left point of the foreground region is located at an ordinate origin of the coordinate system, a height of the foreground region is denoted as H, a width is denoted as W.

(19) 4, the crack detection is performed for an upper edge of the foreground region as follows.

(20) (1) A crack starting edge point and a crack end edge point are searched for in pixels of the upper edge of the foreground region. If points P(x.sub.01, y.sub.01) and P(x.sub.02, y.sub.01) meet:

(21) { x 02 - x 01 - 1 <= 2 GrayP ( x 01 , y 01 ) < gth max GrayP ( x 02 , y 01 ) < gth max GrayP M > gth min , ( formula 3 )
P.sub.S=P(x.sub.01, y.sub.01), P.sub.E=P(x.sub.02, y.sub.01), CL=Cl+2 and CH=Ch+1 are updated. In the formula 3, x.sub.02x.sub.011<=2 indicates that a width of the crack region on the foreground region image is no more than 2 pixels, gth max denotes a maximum gray value of an optical transmission image when there is no crack in medium, and is generally set to 200, gth min denotes a minimum gray value of a crack region in the optical transmission image, and is generally set to 250, and P.sub.M denotes a point between P(x.sub.01, y.sub.01) and P(x.sub.02, y.sub.01).

(22) (2) If Cw=1, that is there is one pixel point between P(x.sub.01, y.sub.01) and P(x.sub.02, y.sub.01), then

(23) { x 02 = x 01 + 2 GrayP ( x 01 - 1 , y 01 + 1 ) < gth max GrayP ( x 02 + 1 , y 01 + 1 ) < gth max . ( formula 4 )

(24) 1) If

(25) { GrayP ( x 01 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) < gth max , ( formula 5 )
then for the crack in the line, the starting point of is updated to P.sub.S=P(x.sub.011, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.01+1, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=1.

(26) 2) If

(27) { GrayP ( x 02 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) < gth max , ( formula 6 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.01+1, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.02+1, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=1.

(28) 3) If

(29) 0 { GrayP ( x 01 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 02 , y 01 + 1 ) < gth max , ( formula 7 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.011, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.02, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=2.

(30) 4) If

(31) { GrayP ( x 01 , y 01 + 1 ) > gth max GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 02 , y 01 + 1 ) < gth min , ( formula 8 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.01, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.02+1, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=2.

(32) (3) If Cw=2, that is there are two pixels between P.sub.S and P.sub.E, then

(33) { x 02 = x 01 + 3 GrayP ( x 01 - 1 , y 01 + 1 ) < gth max GrayP ( x 02 + 1 , y 01 + 1 ) < gth max . ( formula 9 )

(34) 1) If

(35) { GrayP ( x 01 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) < gth max , ( formula 10 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.011, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.01+1, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=1.

(36) 2) If

(37) { GrayP ( x 01 , y 01 + 1 ) < gth max GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 02 + 2 , y 01 + 1 ) < gth min , ( formula 11 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.01, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.01+2, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=1.

(38) 3) If

(39) { GrayP ( x 01 + 1 , y 01 + 1 ) < gth max GrayP ( x 01 + 2 , y 01 + 1 ) > gth min GrayP ( x 01 + 3 , y 01 + 1 ) < gth min , ( formula 12 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.01+1, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.01+3, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=1.

(40) 4) If

(41) { GrayP ( x 01 + 2 , y 01 + 1 ) < gth max GrayP ( x 02 , y 01 + 1 ) > gth min , ( formula 13 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.01+2, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.02+1, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=1.

(42) 5) If

(43) { GrayP ( x 01 , y 01 + 1 ) > gth min GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 01 + 2 , y 01 + 1 ) < gth max , ( formula 14 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.011, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.01+2, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=2.

(44) 6) If

(45) { GrayP ( x 01 , y 01 + 1 ) < gth max GrayP ( x 01 + 1 , y 01 + 1 ) > gth min GrayP ( x 01 + 2 , y 01 + 1 ) > gth min GrayP ( x 01 + 3 , y 01 + 1 ) < gth max , ( formula 15 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.01, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.01+3, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=2.

(46) 7) If

(47) { GrayP ( x 01 + 1 , y 01 + 1 ) < gth max GrayP ( x 01 + 2 , y 01 + 1 ) > gth min GrayP ( x 01 + 3 , y 01 + 1 ) > gth min , ( formula 16 )
then for the crack in the line, the starting point is updated to P.sub.S=P(x.sub.01+1, y.sub.01+1), the end point is updated to P.sub.E=P(x.sub.02+1, y.sub.01+1), the crack edge length is updated to CL=Cl+2, the crack depth is updated to CH=Ch+1, the crack width is updated to Cw=2.

(48) In other cases, it is determined that the crack does not extend to the line and the crack detection ends.

(49) (4) An iterative computation is performed. If Cw=1, step (2) is performed repeatedly, and if Cw=2, step (3) is performed repeatedly, until a complete detection for a crack is finished.

(50) If CH>CHth or CL>CLth, that is CH is greater than a preset depth threshold, or CL is greater than a preset length threshold, the inputted banknote is rejected, otherwise, the inputted banknote is received.

(51) For a crack at a left edge, a right edge or a lower edge of the inputted banknote, a similar search method may be performed to detect the crack edge length and width. A final determination is made to receive or reject the inputted banknote, which is described herein.

(52) The banknote crack detection method according to the present disclosure is based on an imaging principle of a banknote optical transmission image. The gray level of the banknote transmission image is closely related to an intensity of a sensor light source and light transmittance of the banknote. In a case that the intensity of the light source is constant, there is a huge difference between a transmittance of a crack region and a transmittance of a non-crack region. Furthermore, image gray levels in the crack region are the same, and thus the crack region is expressed as a connected region starting from an edge of the banknote where gray levels of all pixel points are close to 255. If the above connected region exists on the banknote transmission image, whether to reject or receive the banknote can be determined by calculating an edge length and a depth of the connected region and comparing them with the preset threshold.

(53) The above description is only preferred embodiments of the present disclosure. It should be noted that, the above preferred embodiments should not be understood as a limitation to the present disclosure, and the scope of the present disclosure is defined by the claims of the present disclosure. For the person skilled in the art, several improvements and modifications may be made to the present disclosure without departing from the spirit and scope of the present disclosure, and these improvements and modifications also fall into the scope of the present disclosure.