U.S. patent number 5,101,437 [Application Number 07/653,656] was granted by the patent office on 1992-03-31 for method and apparatus for comparing a test handwritten signature with a reference signature by using information relative to curvilinear and angular velocities of the signature.
This patent grant is currently assigned to Ecole Polytechnique. Invention is credited to Rejean Plamondon.
United States Patent |
5,101,437 |
Plamondon |
March 31, 1992 |
Method and apparatus for comparing a test handwritten signature
with a reference signature by using information relative to
curvilinear and angular velocities of the signature
Abstract
Apparatus and method for comparing a test handwriting signature
with a reference signature where each of the test and reference
signatures have been acquired by generating three electrical
digital position signals characterizing a trajectory of a
handwriting signature. The apparatus comprises a device for
calculating variations of simple dynamic parameters of the test
signature with respect to the simple dynamic parameters of the
reference signature, by calculating a first evaluating function C1;
a device for comparing C1 with a first threshold value, and
rejecting said test signature if C1 passes the first threshold
value; a device for calculating local intrinsic correlations of
V.sub..sigma. and V.sub..theta. values of the test and reference
signatures for each pair of characteristic segments, by calculating
a second evaluating function C2; a device for comparing C2 with a
third threshold value, and rejecting the test signature if C2
passes the third threshold value; a device for calculating a
classifying function C.sub.b ; and a device for comparing the
classifying function C.sub.b with a fourth threshold value, and
rejecting the test signature if C.sub.b passes the fourth threshold
value.
Inventors: |
Plamondon; Rejean (Ste-Julie,
CA) |
Assignee: |
Ecole Polytechnique (Montreal,
CA)
|
Family
ID: |
24621797 |
Appl.
No.: |
07/653,656 |
Filed: |
February 11, 1991 |
Current U.S.
Class: |
382/122 |
Current CPC
Class: |
G06V
40/30 (20220101); G07C 9/35 (20200101) |
Current International
Class: |
G06K
9/00 (20060101); G07C 9/00 (20060101); G06K
009/00 () |
Field of
Search: |
;382/3,13 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Boudreau; Leo H.
Assistant Examiner: Stellrecht; Barry
Attorney, Agent or Firm: Collard, Roe & Galgano
Claims
The embodiments of the invention in which an exclusive property or
privilege is claimed are defined as follows:
1. Apparatus for comparing a test handwritten signature with a
reference signature where each of said test and reference
signatures have been acquired by:
means for generating three electrical digital position signals
characterizing a trajectory of a handwritten signature by means of
a pencil provided with a point and an analog-to-digital tablet,
said three signals being D.sub.x (t), D.sub.y (t) and D.sub.z (t),
where D.sub.x (t) and D.sub.y (t) are respectively position signals
according to X and Y axes of a cartesian reference with respect to
time, and D.sub.x (t) is a discrete signal indicating whether or
not said point is contacting said tablet;
means for low-pass filtering said D.sub.x (t) and D.sub.y (t)
electrical signals;
means for taking the derivative of said D.sub.x (t) and D.sub.y (t)
electrical signals for generating V.sub.x and V.sub.y electrical
components which represent respectively speeds of said point
according to X and Y axes of a cartesian reference;
means for calculating V.sub..sigma. and V.sub..theta. values from
V.sub.x and V.sub.y components where: ##EQU39## where V.sub..theta.
has a sign determined by: ##EQU40## means for calculating
handwritten components and handwritten strings, where each of said
handwritten components is delimited by two successive liftings of
said point along said trajectory, and each of said handwritten
strings is delimited by two successive portions of said trajectory
where said V.sub..theta. value is higher than a predetermined
angular speed value and where said V.sub..sigma. value is lower
than a predetermined curvilinear speed value, said handwritten
strings and components having beginnings and ends defining temporal
marks along said trajectory by which duration of said handwriting
signature is determined;
means for calculating simple dynamic parameters characterizing said
test and reference signatures;
means for applying respectively a first predetermined rotating
operator and a second predetermined rotating operator to said
D.sub.x (t) and D.sub.y (t) signals for correcting inclination of
said trajectory and aligning a base line of said trajectory with a
horizontal base line; and
means for scaling said D.sub.x (t) signal according to said X
cartesian axis, and scaling said D.sub.y (t) signal according to
said Y cartesian axis, said apparatus comprises:
means for calculating variations of said simple dynamic parameters
of said test signature with respect to said simple dynamic
parameters of said reference signature, by calculating a first
evaluating function C1 where: ##EQU41## FC1.sub.i (RC1.sub.i) is a
function representative of the variations of a particular dynamic
parameter where i indicates the parameter in question, and p.sub.i
is a weight given to a particular parameter of said simple dynamic
parameters;
means for comparing C1 with a first threshold value, and rejecting
said test signature if C1 passes said first threshold value;
means for calculating a classifying function C.sub.a where:
where a1 is a weight given to said first evaluating function
C1;
means for comparing said classifying function C.sub.a with a second
threshold value, and rejecting said test signature if C.sub.a
passes said second threshold value;
first means for comparing durations of said test and reference
signatures, and effectuating temporal expansion of the temporal
marks of the signature having the shortest duration so that its
duration matches the duration of the other signature;
second marks for comparing sequences of said temporal marks of said
test and reference signatures and for coupling temporal marks of
said test and reference signatures if and only if two corresponding
temporal marks have between them a minimal temporal distance which
is reciprocally the shortest between the sequences in question, and
said minimal distance is shorter than a predetermined distance so
that coupled temporal marks form a pair of characteristic segments
of said test and reference signatures;
means for processing in an iterative manner remaining temporal
marks, that have not been coupled, of said test and reference
signatures for forming additional pairs of characteristic segments
by means of said first and second means for comparing until not
characteristic segment is coupled;
means for calculating local intrinsic correlations of said
V.sub..sigma. and V.sub..theta. values of said test and reference
signatures for each of said pairs of characteristic segments, by
calculating a second evaluating function C2 where: ##EQU42## where
FC2.sub.i (RC2.sub.i) is a function representative of the local
intrinsic correlation of either said V.sub..sigma. or V.sub..theta.
values for said pairs of characteristic segments where i indicates
the component in question, and p.sub.i is a weight given to the
particular component in question;
means for comparing C2 with a third threshold value, and rejecting
said test signature if C2 passes said third threshold value;
means for calculating a classifying function C.sub.b where:
where a.sub.2 is a weight given to said second evaluating function
C2; and
means for comparing said classifying function C.sub.b with a fourth
threshold value, and rejecting said test signature if C.sub.b
passes said fourth threshold value.
2. Apparatus according to claim 1, wherein said simple dynamic
parameters consist of:
a first simple dynamic parameter P.sub.1 consisting of a period of
time of said trajectory during which said point of said pencil is
contacting said tablet;
a second simple dynamic parameter P.sub.2 consisting of a
percentage representative of a period of time of said trajectory
during which said point is lifted;
a third simple dynamic parameter P.sub.3 consisting of a percentage
representative of a period of time of said trajectory during which
said point is stopped; and
a fourth simple dynamic parameter P.sub.4 consisting of a
percentage representative of a period of time of said trajectory
during which said V.sub..theta. value is positive.
3. Apparatus according to claim 2, comprising means for comparing
said simple dynamic parameters of said test signature with the
corresponding simple dynamic parameters of the reference signature,
and rejecting said test signature if said simple dynamic parameters
are the same.
4. Apparatus according to claim 1, further comprising:
means for calculating variations of D.sub.x and D.sub.y components
of said test and reference signatures for each of said pairs of
characteristic segment, by calculating a third evaluating function
C3 where:
where FC3(RC3) is a function representative of variations of
D.sub.x and Dy components for said pairs of characteristic
segments:
means for comparing C3 with a fifth threshold value, and rejecting
said test signature if C3 passes said fifth threshold value;
means for calculating a classifying function C.sub.c where:
where a.sub.3 is a weight given to said third evaluating function
C3; and
means for comparing said classifying function C.sub.c with a sixth
threshold value REJ, and either rejecting said test signature if
C.sub.c is higher than said sixth threshold value REJ, or emitting
a signal indicating that no conclusive result has been achieved if
C.sub.c is within a range of values limited by REJ and a threshold
value UNC, or accepting said test signature if C.sub.c is lower
than UNC.
5. Apparatus according to claim 4, comprising means for calculating
RC1.sub.1, RC1.sub.2, RC1.sub.3 and RC1.sub.4 where:
RC1.sub.1 =(P.sub.1 of said test signature P.sub.1 of said
reference signature)/P.sub.1 of said reference signature;
RC1.sub.2 =P.sub.2 of said test signature-P.sub.2 of said reference
signature;
RC1.sub.3 =P.sub.3 of said test signature-P.sub.3 of said reference
signature; and
RC1.sub.4 =P.sub.4 of said test signature-P.sub.4 of said reference
signature.
6. Apparatus according to claim 5, comprising:
means for calculating FC1.sub.i (RC1.sub.i) for each of said four
dynamic parameters where RC1.sub.i is the variation of a particular
dynamic parameter, where:
FC1.sub.i (RC1.sub.i)=0 if RC1.sub.i <SC1.sub.Ei where
SC1.sub.Ei is a seventh predetermined threshold value for a
particular dynamic parameter,
FC1.sub.i (RC1.sub.i)=((e.sup.h(RC 1.sub.i)-1)/(e-1)).sup.Ni
if SC1.sub.Ei <RC1.sub.i <SC1.sub.Ri where SC1.sub.Ri is an
eighth predetermined threshold value for a particular dynamic
paramater, or
FC1.sub.i (RC1.sub.i)=1 if SC1.sub.Ri .ltoreq.RC1.sub.i ; where
h(RC1.sub.i) =(RC1.sub.i -SC1.sub.Ei)/(SC1.sub.Ri -SC1.sub.Ei), and
where Ni is a growth factor for a particular dynamic parameter;
and
means for generating a signal indicative of a rejection of said
test signature if FC1.sub.i (RC1.sub.i)=1.
7. Apparatus according to claim 6, comprising means for calculating
RC2.sub.1 and RC2.sub.2 where: ##EQU43## where N is the number of
pairs of characteristic segments, l.sub.r is the number of samples
used for acquiring said reference signature, j identifies a
particular pair of said pairs of characteristic segments, l.sub.j
is the number of samples used for acquiring a particular segment of
said reference signature, CV.sub..sigma.j is a partial intrinsic
local correlation of said V.sub..sigma. value for a particular pair
of said pairs of characteristic segments, and CV.sub..theta.j is a
partial intrinsic local correlation of said V.sub..theta. component
for a particular pair of said pairs of characteristic segments.
8. Apparatus according to claim 7, comprising:
means for calculating FC2.sub.i (RC2.sub. i) for each of said
V.sub..theta. and V.sub..theta. values of said pairs of
characteristic segments where RC2.sub. i is an intrinsic local
correlation of either said V.sub..sigma. or V.sub..theta. value for
said pairs of characteristic segments, where:
FC2.sub.i (RC2.sub. i)=1 if RC2.sub.i <SC2.sub.Ri where
SC2.sub.Ri is a ninth predetermined threshold value,
if SC2.sub.Ri <RC2.sub.i <SC2.sub.Ei where SC2.sub.Ei is a
tenth predetermined threshold value,
if SC2.sub.Ei .ltoreq.RC2.sub. i, or
FC2i(RC2.sub. i)=0 if SC2.sub.Ai RC2.sub.i where SC2.sub.Ai is an
eleventh threshold value; where h1(RC2.sub.i)=(SC2.sub.Ei
-RC2.sub.i)/(SC2.sub.Ei -SC2.sub.Ri), h2(RC2.sub.i)=(SC2.sub.Ai
-RC2.sub.i)/(SC2.sub.Ai -SC2.sub.Ei), and N1i and N2i are
predetermined growth factors;
means for generating a signal indicative of a rejection of said
test signature if FC2.sub.i (RC2.sub.i)=1; and
means for generating a signal indicative of an acceptation of said
test signature if FC2.sub.i (RC2.sub.i)=0.
9. Apparatus according to claim 8, comprising means for calculating
RC3 where: ##EQU44## where RC3.sub.ii is a minimal residual
distance of said D.sub.x and D.sub.y components between the
characteristic segments of a particular pair of said pairs of
characteristic segments ##EQU45## where ##EQU46## q(1,1)=d(1,1);
D.sub.xT and D.sub.xR are respectively said D.sub.x component of
said test and reference signatures of a particular pair of
characteristic segments;
D.sub.yT and D.sub.yR are respectively said Dy components of said
test and reference signatures of a particular pair of
characteristic segments; and
.DELTA. is a linear operator of difference.
10. Apparatus according to claim 9, comprising: means for
calculating FC3(RC3) for each of said D.sub.x and D.sub.y
components of said pairs of characteristic segments where RC3 is
representative of a minimal residual distance of said D.sub.x and
D.sub.y components between said characteristic segments of each of
said pairs of characteristic segments, where:
FC3(RC3)=1 if RC3>SC3R where SC3R is a twelfth threshold
value,
if SC3.sub.E <RC3<SC3.sub.R where SC3.sub.E is a thirteenth
threshold value,
if SC3.sub.A <RC3<SC3.sub.E where SC3.sub.A is a fourteenth
threshold value, or
FC3(RC3)=0 if RC3<SC3.sub.A ; where
h1(RC3)=(RC3-SC3.sub.E)/(SC3.sub.R -SC3.sub.E), h2(RC3)=(SC3.sub.A
-RC3)/(SC3.sub.A -SC3.sub.E), and N1 and N2 are predetermined
growth factors;
means for generating a signal indicative of a rejection of said
test signature if FC3(RC3)=1; and
means for generating a signal indicative of an acceptation of said
test signature if FC3(RC3)=0.
11. Apparatus according to claim 10, wherein more than one
reference signatures are acquired, and compared among themselves,
taken two by two, to obtain several groups of RC1.sub.1, RC1.sub.2,
RC1.sub.3, RC1.sub.4, RC2.sub.1, RC2.sub.2 and RC3 values, said
apparatus further comprising:
means for comparing each of said RC1.sub.1, RC1.sub.2, RC1.sub.3,
RC1.sub.4 and RC3 values with other corresponding values of its own
group, and determining maximum values of each group which
constitutes respectively personalized threshold values SP1.sub.1,
SP1.sub.2, SP1.sub.3, SP1.sub.4 and SP3; and
means for comparing each of said RC2.sub.1 and RC2.sub.2 values
with other corresponding values of its own group, and determining
minimum values of each group which constitutes respectively
personalized threshold values SP2.sub.1 and SP2.sub.2 ;
means for calculating SC1.sub.Ei =MAX (cte,p(SC1.sub.pi))
.epsilon.[ 0%,SC1.sub.Ri [, and SC1.sub.Ri `MAX (cte,q(SC1.sub.pi))
.epsilon.]SC1.sub.Ei,.infin.], where p(SC1.sub.pi) and
q(SC1.sub.pi) are linear functions of the type
y=a.multidot.SC1.sub.pi +b, where SC1.sub.pi is the personalized
threshold value "i" which is respectively SP1.sub.1, SP1.sub.2,
SP1.sub.3 or SP1.sub.4, a, b and cte being predetermined
constants;
means for calculating SC2.sub.Ei =MAX (cte,p(SC2.sub.pi))
.epsilon.]SC2.sub.Ri, SC2.sub.Ai [, SC2.sub.Ri =MIN
(cte,q(SC2.sub.pi)).epsilon.[8%,SC2.sub.Ei [, and SC2.sub.Ai =MIN
(cte,r(SC2.sub.pi)) .epsilon.]SC2.sub.Ei, 100%], where
p(SC2.sub.pi), q(SC2.sub.pi) and r(SC2.sub.pi) are linear functions
of the type y=a.SC2.sub.pi +b, where SC2.sub.pi is the personalized
threshold value "i" which is respectively SP2.sub.1 or SP2.sub.2,
a, b and cte being predetermined constants; and
means for calculating SC3.sub.E =MIN (cte,p(SC3.sub.p))
.epsilon.]SC3.sub.A, SC3.sub.R [, SC3.sub.R =MAX (cte,q(SC3.sub.p))
.epsilon.]SC3.sub.E, .infin.], and SC3.sub.A =MAX
(cte,r(SC3.sub.p)) .epsilon.[0, SC3.sub.E [, where p(SC3.sub.p),
q(SC3.sub.p) and r(SC3.sub.p) are linear functions of the type
y=a.multidot.SC3p+b, where SC3.sub.p is the personalized threshold
value SP3, a, b and cte being predetermined constants.
12. Apparatus according to claim 1, comprising means for rejecting
said test signature when said first evaluating function C1 equals
zero and said second evaluating function C2 equals 1.
13. Apparatus according to claim 4, comprising means for rejecting
said test signature when said first evaluating function C1 equals
zero and said third evaluating function C3 equals zero.
14. Method for comparing a test handwritten signature with a
reference signature where each of said test and reference
signatures have been acquired by:
generating three electrical digital position signals characterizing
a trajectory of a handwritten signature by means of a pencil
provided with a point and an analog-to-digital tablet, said three
signals being D.sub.x (t), D.sub.y (t) and D.sub.z (t) where
D.sub.x (t) and D.sub.y (t) are respectively position signals
according to X and Y axes of a cartesian reference with respect to
time, and D.sub.z (t) is a discrete signal indicating whether or
not said point is contacting said table;
low-pass filtering said D.sub.x (t) and D.sub.y (t) electrical
signals;
taking the derivative of said D.sub.x (t) and D.sub.y (t)
electrical signals for generating V.sub.x and V.sub.y electrical
components which represent respectively speeds of said point
according to X and Y axes of a cartesian reference;
calculating V.sub..sigma. and V.sub..theta. values from V.sub.x and
V.sub.y components where: ##EQU47## where V.sub..theta. has a sign
determined by: ##EQU48## calculating handwritten components and
handwritten strings, where each of said handwritten components is
delimited by two successive liftings of said point along said
trajectory, and each of said handwritten strings is delimited by
two successive portions of said trajectory where said V.sub..theta.
value is higher than a predetermined angular speed value and where
said V.sub..sigma. value is lower than a predetermined curvilinear
speed value, said handwritten strings and components having
beginnings and ends defining temporal marks along said trajectory
by which duration of said handwriting signature is determined;
calculating simple dynamic parameters characterizing said test and
reference signatures;
applying respectively a first predetermined rotating operator and a
second predetermined rotating operator to said D.sub.x (t) and
D.sub.y (t) signals for correcting inclination of said trajectory
and aligning a base line of said trajectory with a horizontal base
line; and
scaling said D.sub.x (t) signal according to said X cartesian axis,
and scaling said D.sub.y (t) signal according to said Y cartesian
axis, said apparatus comprises steps of:
calculating variations of said simple dynamic parameters of said
test signature with respect to said simple dynamic parameters of
said reference signature, by calculating a first evaluating
function C1 where: ##EQU49## FC1.sub.i (RC1.sub.i) is a function
representative of the variations of a particular dynamic parameter
where i indicates the parameter in question, and p.sub.i is a
weight given to a particular parameter of said simple dynamic
parameters;
comparing C1 with a first threshold value, and rejecting said test
signature if C1 passes said first threshold value;
calculating a classifying function C.sub.a where:
where a1 is a weight given to said first evaluating function
C1;
comparing said classifying function C.sub.a with a second threshold
value, and rejecting said test signature if C.sub.a passes said
second threshold value;
comparing durations of said test and reference signatures, and
effectuating temporal expansion of the temporal marks of the
signature having the shortest duration so that its duration matches
the duration of the other signature;
comparing sequences of said temporal marks of said test and
reference signatures and coupling temporal marks of said test and
reference signatures if and only if two corresponding temporal
marks have between them a minimal temporal distance which is
reciprocally the shortest between the sequences in question, and
said minimal distance is shorter than a predetermined distance so
that coupled temporal marks form a pair of characteristic segments
of said test and reference signatures;
processing in an iterative manner remaining temporal marks, that
have not been coupled, of said test and reference signatures for
forming additional pairs of characteristic segments by repeating
said steps of comparing durations and comparing until not
characteristic segment is coupled;
calculating local intrinsic correlations of said V.sub..sigma. and
V.sub..theta. values of said test and reference signatures for each
of said pairs of characteristic segments, by calculating a second
evaluating function C2 where: ##EQU50## where FC2.sub.i (RC2.sub.i)
is a function representative of the local intrinsic correlation of
either said V.sub..sigma. or V.sub..theta. values for said pairs of
characteristic segments where i indicates the component in
question, and p.sub.i is a weight given to the particular component
in question;
comparing C2 with a third threshold value, and rejecting said test
signature if C2 passes said third threshold value;
calculating a classifying function C.sub.b where:
where a.sub.2 is a weight given to said second evaluating function
C2; and
comparing said classifying function C.sub.b with a fourth threshold
value, and rejecting said test signature if C.sub.b passes said
fourth threshold value.
15. Method according to claim 14, wherein said simple dynamic
parameters consist of:
a first simple dynamic parameter P.sub.1 consisting of a period of
time of said trajectory during which said point of said pencil is
contacting said tablet;
a second simple dynamic parameter P.sub.2 consisting of a
percentage representative of a period of time of said trajectory
during which said point is lifted;
a third simple dynamic parameter P.sub.3 consisting of a percentage
representative of a period of time of said trajectory during which
said point is stopped; and
a fourth simple dynamic parameter P.sub.4 consisting of a
percentage representative of a period of time of said trajectory
during which said V.sub..theta. l value is positive;
16. Method according to claim 15, comprising steps of comparing
said simple dynamic parameters of said test signature with the
corresponding simple dynamic parameters of the reference signature,
and rejecting said test signature if said simple dynamic parameters
are the same.
17. Method according to claim 14, further comprising steps of:
calculating variations of D.sub.x and D.sub.y components of said
test and reference signatures for each of said pairs of
characteristic segment, by .calculating a third evaluating function
C3 where:
where FC3(RC3) is a function representative of variations of
D.sub.x and D.sub.y components for said pairs of characteristic
segments;
comparing C3 with a fifth threshold value, and rejecting said test
signature if C3 passes said fifth threshold value;
calculating a classifying function C.sub.c where:
where a.sub.3 is a weight given to said third evaluating function
C3; and
comparing said classifying function C.sub.c with a sixth threshold
value REJ, and either rejecting said test signature if C.sub.c is
higher than said sixth threshold value REJ, or emitting a signal
indicating that no conclusive result has been achieved if C.sub.c
is within a range of values limited by REJ and a threshold value
UNC, or accepting said test signature if C.sub.c is lower than
UNC.
18. Method according to claim 17, comprising a step of calculating
RC1.sub.1, RC1.sub.2, RC1.sub.3 and RC1.sub.4 where:
RC1.sub.1 =(P.sub.1 of said test signature-P.sub.1 of said
reference signature)/P.sub.1 of said reference signature;
RC1.sub.2 =P.sub.2 of said test signature-P.sub.2 of said reference
signature;
RC1.sub.3 =P.sub.3 of said test signature-P.sub.3 of said reference
signature; and
RC1.sub.4 =P.sub.4 of said test signature-P.sub.4 of said reference
signature.
19. Method according to claim 18, comprising steps of: calculating
FC1.sub.i (RC1.sub.i) for each of said four dynamic parameters
where RC1.sub.i is the variation of a particular dynamic parameter,
where:
FC1.sub.i (RC1.sub.i (=0 if RC1.sub.i <SC1.sub.Ei where
SC1.sub.Ei is a seventh predetermined threshold value for a
particular dynamic parameter,
FC1.sub.i (RC1.sub.i)=((e.sup.h(RC1.sbsp.i.sup.)
-1)/(e-1)).sup.Ni
if SC1.sub.Ei <RC1.sub.i <SC1.sub.Ri where SC1.sub.Ri is an
eighth predetermined threshold value for a particular dynamic
paramater, or
FC1.sub.i (RC1.sub.i)=1 if SC1.sub.Ri .ltoreq.RC1.sub.i ; where
h(RC1.sub.i)=(RC1.sub.i -SC1.sub.Ei)/(SC1.sub.Ri -SC1.sub.Ei), and
where Ni is a growth factor for a particular dynamic parameter;
and
means for generating a signal indicative of a rejection of said
test signature if FC1.sub.i (RC1.sub.i)=1.
20. Method according to claim 19, comprising a step of calculating
RC2.sub.1 and RC2.sub.2 where: ##EQU51## where N is the number of
pairs of characteristic segments, l.sub.r is the number of samples
used for acquiring said reference signature, j identifies a
particular pair of said pairs of characteristic segments, l.sub.j
is the number of samples used for acquiring a particular segment of
said reference signature, CV.sub..sigma.j is a partial intrinsic
local correlation of said V.sub..sigma. component for a particular
pair of said pairs of characteristic segments, and CV.sub..theta. j
is a partial intrinsic local correlation of said V.sub..theta.
value for a particular pair of said pairs of characteristic
segments.
21. Apparatus according to claim 20, comprising steps of:
calculating FC2.sub.i (RC2.sub. i) for each of said V.sub..sigma.
and V.sub..theta. values of said pairs of characteristic segments
where RC2.sub. i is an intrinsic local correlation of either said
V.sub..sigma. or V.sub..theta. value for said pairs of
characteristic segments, where:
FC2.sub.i (RC2.sub. i)=1 if RC2.sub.i <SC2.sub.Ri where
SC2.sub.Ri is a ninth predetermined threshold value,
if SC2.sub.Ri <RC2.sub.i <SC2.sub.Ei where SC2.sub.Ei is a
tenth predetermined threshold value,
if SC2.sub.Ei .ltoreq.RC2.sub.i, or
FC2i(RC2.sub. i)=0 if SC2.sub.Ai RC2.sub.i where SC2.sub.Ai is an
eleventh threshold value; where h1(RC2.sub.i)=(SC2.sub.Ei
-RC2.sub.i)/(SC2.sub.Ei -SC2.sub.Ri), h2(RC2.sub.i)=(SC2.sub.Ai
-RC2.sub.i)/(SC2.sub.Ai -SC2.sub.Ei), and N1i and N2i are
predetermined growth factors;
generating a signal indicative of a rejection of said test
signature if FC2.sub.i (RC2.sub.i)=1; and
generating a signal indicative of an acceptation of said test
signature if FC2.sub.i (RC2.sub.i)=0.
22. Apparatus according to claim 21, comprising means for
calculating RC3 where:
where RC3.sub.ii is a minimal residual distance of said D.sub.x and
D.sub.y components between the characteristic segments of a
particular pair of said pairs of characteristic segments where:
##EQU52## where ##EQU53## q(1,1)=d(1,1); D.sub.xT and D.sub.xR are
respectively said D.sub.x component of said test and reference
signatures of a particular pair of characteristic segments;
D.sub.yT and D.sub.yR are respectively said Dy components of said
test and reference signatures of a particular pair of
characteristic segments; and
.DELTA. is a linear operator of difference.
23. Apparatus according to claim 22, comprising: means for
calculating FC3(RC3) for each of said D.sub.x and D.sub.y
components of said pairs of characteristic segments where RC3 is
representative of a minimal residual distance of said D.sub.x and
D.sub.y components between said characteristic segments of each of
said pairs of characteristic segments, where:
FC3(RC3)=1 if RC3>SC3R where SC3R is a twelfth threshold
value,
if SC3.sub.E <RC3<SC3.sub.R where SC3.sub.E is a thirteenth
threshold value,
if SC3.sub.A <RC3<SC3.sub.E where SC3.sub.A is a fourteenth
threshold value, or
FC3(RC3)=0 if RC3<SC3.sub.A ; where
h1(RC3)=(RC3-SC3.sub.E)/(SC3.sub.R -SC3.sub.E), h2(RC3)=(SC3.sub.A
-RC3)/(SC3.sub.A -SC3.sub.E), and N1 and N2 are predetermined
growth factors;
generating a signal indicative of a rejection of said test
signature if FC3(RC3)=1; and
means for generating a signal indicative of an acceptation of said
test signature if FC3(RC3)=0.
24. Apparatus according to claim 23, wherein more than one
reference signatures are acquired, and compared among themselves,
taken two by two, to obtain several groups of RC1.sub.1, RC1.sub.2,
RC1.sub.3, RC1.sub.4, RC2.sub.1, RC2.sub.2 and RC3 values, said
apparatus further comprising:
comparing each of said RC1.sub.1, RC1.sub.2, RC1.sub.3, RC1.sub.4
and RC3 values with other corresponding values of its own group,
and determining maximum values of each group which constitutes
respectively personalized threshold values SP1.sub.1, SP1.sub.2,
SP1.sub.3, SP1.sub.4 and SP3; and
comparing each of said RC2.sub.1 and RC2.sub.2 values with other
corresponding values of its own group, and determining minimum
values of each group which constitutes respectively personalized
threshold values SP2.sub.1 and SP2.sub.2 ;
calculating SC1.sub.Ei =MAX (cte,p(SC1.sub.pi)) .epsilon.[
0%,SC1.sub.Ri [, and SC1.sub.Ri `MAX (cte,q(SC1.sub.pi))
.epsilon.]SC1.sub.Ei,.infin.], where p(SC1.sub.pi) and
q(SC1.sub.pi) are linear functions of the type
y=a.multidot.SC1.sub.pi +b, where SC1.sub.pi is the personalized
threshold value "i" which is respectively SP1.sub.1, SP1.sub.2,
SP1.sub.3 or SP1.sub.4, a, b and cte being predetermined
constants;
calculating SC2.sub.Ei =MAX (cte,p(SC2.sub.pi))
.epsilon.]SC2.sub.Ri, SC2.sub.Ai [, SC2.sub.Ri =MIN
(cte,q(SC2.sub.pi)).epsilon.[8%,SC2.sub.Ei [, and SC2.sub.Ai =MIN
(cte,r(SC2.sub.pi)) .epsilon.]SC2.sub.Ei, 100%], where
p(SC2.sub.pi), q(SC2.sub.pi) and r(SC2.sub.pi) are linear functions
of the type y=a.SC2.sub.pi +b, where SC2.sub.pi is the personalized
threshold value "i" which is respectively SP2.sub.1 or SP2.sub.2,
a, b and cte being predetermined constants; and
means for calculating SC3.sub.E =MIN (cte,p(SC3.sub.p))
.epsilon.]SC3.sub.A, SC3.sub.R [, SC3.sub.R =MAX (cte,q(SC3.sub.p))
.epsilon.]SC3.sub.E, .infin.], and SC3.sub.A =MAX
(cte,r(SC3.sub.p)) .epsilon.[0, SC3.sub.E [, where p(SC3.sub.p),
q(SC3.sub.p) and r(SC3.sub.p) are linear functions of the type
y=a.multidot.SC3p+b, where SC3.sub.p is the personalized threshold
value SP3, a, b and cte being predetermined constants.
25. Method according to claim 17, comprising a step of rejecting
said test signature when said first evaluating function C1 equals
zero and said third evaluating function C3 equals zero.
26. Method according to claim 14, comprising a step of rejecting
said test signature when said first evaluating function C1 equals
zero and said second evaluating function C2 equals 1.
Description
FIELD OF THE INVENTION
The present invention is concerned with an apparatus and a method
for comparing a test handwriting signature with a reference
signature to verify a signature.
BACKGROUND OF THE INVENTION
Known in the art, there is the U.S. Pat. No. 3,699,517 of James W.
Dyche granted on Oct. 17, 1972, and the U.S. Pat. No. 4,028,674 of
Ping-Chien Chuang, granted on June 7, 1977, in which there are
described the basic principle for verifying a signature.
Also known in the art, there is the U.S. Pat. No. 4,190,820 of
Hewitt D. Crane et al., granted on Feb. 26, 1980, in which there is
described a method for verifying a signature. This method consists
in breaking into segments test and reference signatures according
to landmarks. A series of correlation calculations is made between
the analogue segments of each signature in order to verify said
test signature. It can be noted that the segments of each signature
are normalized before the correlation calculations.
Also known in the art, there are the following U.S. Patents that
describe different apparatuses and methods for verifying a
signature: U.S. Pat. Nos. 3,955,178; 3,962,679; 4,040,010;
4,078,226; 4,128,829; 4,286,255; 4,475,235; 4,495,644; 4,553,258;
4,703,511; 4,736,445; 4,789,934; and 4,856,077.
An object of the present invention is to provide an apparatus and
method for verifying a signature with more precision than the
apparatuses and methods known in the art.
SUMMARY OF THE INVENTION
According to the present invention, there is provided an apparatus
for comparing a test, handwritten signature with a reference
signature where each of said test and reference signatures have
been acquired by: generating three electrical digital position
signals characterizing a trajectory of a handwritten signature by
means of a pencil provided with a point and an analogue-to-digital
tablet, said three signals being D.sub.x (t), D.sub.y (t) and
D.sub.z (t), where D.sub.x (t) and D.sub.y (t) are respectively
position signals according to X and Y axes of a cartesian reference
with respect to time, and D.sub.z (t) is a discrete signal
indicating whether or not said point is contacting said tablet;
low-pass filtering said D.sub.x (t) and D.sub.x (t) electrical
signals;
taking the derivative of said D.sub.x (t) and D.sub.y (t)
electrical signals for generating V.sub.x and V.sub.y electrical
components which represent respectively speeds of said point
according to X and Y axes of a cartesian reference;
calculating V.sub..sigma. and V.sub..theta. values from V.sub.x and
V.sub.y components where: ##EQU1## where V.sub..theta. has a sign
determined by: ##EQU2##
calculating handwritten components and handwritten strings, where
each of said handwritten components is delimited by two successive
liftings of said point along said trajectory, and each of said
handwritten strings is delimited by two successive portions of said
trajectory where said V.sub..theta. value is higher than a
predetermined angular speed value and where said V.sub..sigma.
value is lower than a predetermined curvilinear speed value, said
handwritten strings and components having beginnings and ends
defining temporal marks along said trajectory by which duration of
said handwritten signature is determined;
calculating simple dynamic parameters characterizing said test and
reference signatures;
applying respectively a first predetermined rotating operator and a
second predetermined rotating operator to said D.sub.x (t) and
D.sub.y (t) signals for correcting inclination of said trajectory
and aligning a base line of said trajectory with a horizontal base
line; and
scaling said D.sub.x (t) signal according to said X cartesian axis,
and scaling said D.sub.y (t) according to said Y cartesian
axis;
said apparatus comprises:
means for calculating variations of said simple dynamic parameters
of said test signature with respect to said simple dynamic
parameters of said reference signature, by calculating a first
evaluating function C1 where: ##EQU3## where FC1.sub.i (RC1.sub.i)
is a function representative of the variations of a particular
dynamic parameter where i indicates the parameter in question, and
p.sub.i is a weight given to a particular parameter of said simple
dynamic parameters;
means for comparing C1 with a first threshold value, and rejecting
said test signature if C1 passes said first threshold value;
means for calculating a classifying function C.sub.a where:
where al is a weight given to said first evaluating function
C1;
means for comparing said classifying function C.sub.a with a second
threshold value, and rejecting said test signature if C.sub.a
passes said second threshold value;
first means for comparing durations of said test and reference
signatures, and effectuating temporal expansion of the temporal
marks of the signature having the shortest duration so that its
duration matches the duration of the other signature;
second means for comparing sequences of said temporal marks of said
test and reference signatures and for coupling temporal marks of
said test and reference signatures if and only if two corresponding
temporal marks have between them a minimal temporal distance which
is reciprocally the shortest between the sequences in question, and
said minimal distance is shorter than a predetermined distance so
that coupled temporal marks form a pair of characteristic segments
of said test and reference signatures;
means for processing in an iterative manner remaining temporal
marks, that have not been coupled, of said test and reference
signatures by means of said first and second means for comparing
until no characteristic segment is coupled; means for calculating
local intrinsic correlations of V.sub..sigma. and V.sub..theta.
values of said test and reference signatures for each of said pairs
of characteristic segments, by calculating a second evaluating
function C2 where: ##EQU4## where FC2.sub.i (RC2.sub.i) is a
function representative of the local intrinsic correlation of
either said V.sub..sigma. or V.sub..theta. values for said pairs of
characteristic segments where i indicates the component in
question, and p.sub.i is a weight given to the particular component
in question;
means for comparing C2 with a third threshold value, and rejecting
said test signature if C2 passes said third threshold value;
means for calculating a classifying function C.sub.b where:
where a.sub.2 is a weight given to said second evaluating function
C2; and
means for comparing said classifying function C.sub.b with a fourth
threshold value, and rejecting said test signature if C.sub.b
passes said fourth threshold value.
The symbol ".epsilon." means that the result of the precedent sum
to the following interval defined by the numbers in square
brackets. When either of the square brackets are turned toward the
inside of the interval, it means the limit adjacent to the bracket
is included in that interval. A square bracket turned away from the
inside of the interval means the limit adjacent to the bracket is
not included in that interval. For example, [0,1[ indicates an
interval of 0 to 1, inclusive of zero and exclusive of one.
Also according to the present invention, there is provided a method
for comparing a test handwritten signature with a reference
signature where each of said test and reference signatures have
been acquired by:
generating three electrical digital position signals characterizing
a trajectory of a handwritten signature by means of a pencil
provided with a point and an analogue-to-digital tablet, said three
signals being D.sub.x (t), D.sub.x (t) and D.sub.z (t), where
D.sub.x (t) and D.sub.y (t) are respectively position signals
according to X and Y axes of a cartesian reference with respect to
time, and D.sub.z (t) is a discrete signal indicating whether or
not said point is contacting said tablet;
low-pass filtering said D.sub.x (t) and D.sub.y (t) electrical
signals;
taking the derivative of said D.sub.x (t) and D.sub.y (t)
electrical signals for generating V.sub.x and V.sub.y electrical
components which represent respectively speeds of said point
according to X and Y axes of a cartesian reference;
calculating V.sub..sigma. and V.sub..theta. values from V.sub.x and
V.sub.y components where: ##EQU5## where V.sub..theta. has a sign
determined by: ##EQU6##
calculating handwritten components and handwritten strings, where
each of said handwritten components is delimited by two successive
liftings of said point along said trajectory, and each of said
handwritten strings is delimited by two successive portions of said
trajectory where said V.sub..theta. value is higher than a
predetermined angular speed value and where said V.sub..sigma.
value is lower than a predetermined curvilinear speed value, said
handwritten strings and components having beginnings and ends
defining temporal marks along said trajectory by which duration of
said handwritten signature is determined;
calculating simple dynamic parameters characterizing said test and
reference signatures;
applying respectively a first predetermined rotating operator and a
second predetermined rotating operator to said D.sub.x (t) and
D.sub.y (t) signals for correcting inclination of said trajectory
and aligning a base line of said trajectory with a horizontal base
line; and
scaling said D.sub.x (t) signal according to said X cartesian axis,
and scaling said D.sub.y (t) according to said Y cartesian
axis;
said method comprises steps of:
calculating variations of said simple dynamic parameters of said
test signature with respect to said simple dynamic parameters of
said reference signature, by calculating a first evaluating
function C1 where: ##EQU7## where FC1.sub.i (RC1.sub.i) is a
function representative of the variations of a particular dynamic
parameter where i indicates the parameter in question, and p.sub.i
is a weight given to a particular parameter of said simple dynamic
parameters;
comparing C1 with a first threshold value, and rejecting said test
signature if C1 passes said first threshold value;
calculating a classifying function C.sub.a where:
where a1 is a weight given to said first evaluating function
C1;
comparing said classifying function C.sub.a with a second threshold
value, and rejecting said test signature if C.sub.a passes said
second threshold value;
comparing durations of said test and reference signatures, and
effectuating temporal expansion of the temporal marks of the
signature having the shortest duration so that its duration matches
the duration of the other signature;
comparing sequences of said temporal marks of said test and
reference signatures and coupling temporal marks of said test and
reference signatures if and only if two corresponding temporal
marks have between them a minimal temporal distance which is
reciprocally the shortest between the sequences in question, and
said minimal distance is shorter than a predetermined distance so
that coupled temporal marks form a pair of characteristic segments
of said test and reference signatures;
processing in an iterative manner remaining temporal marks, that
have not been coupled, of said test and reference signatures by
repeating said steps of comparing durations and comparing sequences
until no characteristic segment is coupled;
calculating local intrinsic correlations of said V.sub..sigma. and
V.sub..theta. values of said test and reference signatures for each
of said pairs of characteristic segments, by calculating a second
evaluating function C2 where: ##EQU8## where FC2.sub.i (RC2.sub.i)
is a function representative of the local intrinsic correlation of
either said V.sub..sigma. or V.sub..theta. values for said pairs of
characteristic segments where i indicates the component in
question, and p.sub.i is a weight given to the particular component
in question;
comparing C2 with a third threshold value, and rejecting said test
signature if C2 passes said third threshold value;
calculating a classifying function C.sub.b where:
where a.sub.2 is a weight given to said second evaluating function
C2; and
comparing said classifying function C.sub.b with a fourth threshold
value, and rejecting said test signature if C.sub.b passes said
fourth threshold value.
The objects, advantages and other features of the present invention
will become more apparent upon reading of the following non
restrictive description of preferred embodiments thereof, given for
the purpose of examplification only with reference to the
accompanying drawings.
DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic bloc diagram illustrating different elements
of an apparatus for comparing a test signature with a reference
signature to verify the test signature according to the present
invention;
FIGS. 1A through 1F are a flowchart showing the various steps
according to the invention.
FIG. 2 is a diagram illustrating the frequency response of a
low-pass filter that can be used in the present apparatus;
FIG. 3 is a table illustrating the characteristics of two
analogue-to-digital tablets that can be used with the present
invention;
FIG. 4 is a table illustrating the transmission format of the
output of one of the analogue-to-digital tablet presented in FIG.
3;
FIG. 5 is a table illustrating the transmission format of the
output of the other analogue-to-digital tablet presented in FIG.
3;
FIG. 6 is a diagram illustrating the trajectory of a movement after
that it has been filtered;
FIG. 7 is a diagram illustrating the trajectory of a movement after
that it has been filtered and normalized;
FIG. 8 is a diagram illustrating the displacement according to the
X axis of the movement shown in FIG. 6, versus time;
FIG. 9 is a diagram illustrating the displacement according to the
X axis of the movement shown in FIG. 7, versus time;
FIG. 10 is a diagram illustrating the displacement along the Y axis
of the movement shown on FIG. 6, versus time;
FIG. 11 is a diagram illustrating the displacement along the Y axis
of the movement shown on FIG. 7, versus time;
FIG. 12 is a diagram illustrating the cartesian speed V.sub.x of
the movement shown on FIG. 6, versus time;
FIG. 13 is a diagram illustrating the cartesian speed V.sub.y of
the movement shown on FIG. 6, versus time;
FIG. 14 is a diagram illustrating the curvilinear speed
V.sub..sigma. of the movement shown on FIG. 6, versus time;
FIG. 15 is a diagram illustrating the angular speed V.sub..theta.
of the movement shown on FIG. 6, versus time;
FIG. 16 is a diagram illustrating the signal representative of the
lifting of the pen of the analogue-to-digital tablet shown on FIG.
1;
FIG. 17 is a diagram illustrating dynamic segmentation according to
the present invention;
FIG. 18 is a diagram illustrating an exponential function F(X) with
respect to X for different values of the growth factor n;
FIG. 19 is a diagram illustrating a function FC(RC) with respect to
RC;
FIG. 20 is three tables illustrating how personalized threshold
values are determined from three reference signatures;
FIG. 21 is a table illustrating the parameters of the function
FC(RC) that have been found preferable for a particular case;
FIG. 22 is a table illustrating preliminary test results for a
first group of signers;
FIG. 23 is a table illustrating preliminary test results for a
second group of signers;
FIG. 24 is a diagram illustrating a general model of rapid-aimed
movement; and
FIG. 25 is a log-normal velocity profile v(t) versus time.
DETAILED DESCRIPTION OF THE DRAWINGS
First we will describe how a signature is acquired, and then after
we will describe how a test signature is verified with respect to a
reference signature.
The acquisition and the processing of data relating to a
handwritten movement, can be divided in two parts. The first part
is concerned with acquisition, filtering and derivation of the data
provided by the tablet, and the second part is concerned with
pre-processing of the data obtained from the first part. The
acquisition of the coordinates can be made from two different types
of input devices. First, they can be provided from the tablet, and
second they can be provided from the disc unit which contains data
relating to the acquisition of previous movements. The processing
of the data comprises the following operation: converting from a
cartesian reference to an intrinsic reference, dynamic
segmentation, extraction of simple dynamic parameters, and
pre-processing of the image formed by the movement.
During the acquisition of a handwritten movement, the data
transmitted by the tablet characterize the trajectory of the point
of the pencil by means of a sampling. This sampling is done
according to fixed frequency and resolution and with respect to a
cartesian reference oriented with respect to the positioning of the
tablet. Also, the acquisition mode of the tablet is set to
"proximity" as it will be explained in the description of FIG.
3.
Validation of the acquisition is done when the point of the pencil
has moved along a minimal of 0.025 cms with an acquisition time
superior to 0.5 second. The maximal duration of an acquisition is
9.9 seconds. It is essential to know the sampling frequency and the
resolution of the tablet for each acquisition so that the signature
can be properly classified. Different studies have shown that the
frequency spectrum of a signature has a bandwith of 0 to 20 Hz.
Thus, a sampling frequency of at least 100 Hz would be sufficient.
A stop is characterized by a displacement inferior to 0.008 cm.
Even if we use a resolution of 393.7.times.1/cm, it is necessary to
filter the signal by a low-pass filter to reduce the acquisition
noise. This low-pass filter should have a bandwidth of 20 to 50
Hz.
Referring now to FIG. 1, there is shown the apparatus for
digitizing and segmenting a handwritten movement, and for comparing
a test signature with a reference signature. This apparatus
comprises an electrical transducer for generating three electrical
digital positions signals characterizing a trajectory of the
handwritten movement. The transducer includes a pencil (not shown)
provided with a point and an analogue-to-digital tablet 2. The
three signals are D.sub.x (t), D.sub.y (t) and D.sub.z (t), where
D.sub.x (t) and D.sub.y (t) are respectively position signals
according to X and Y axes of a cartesian reference with respect to
time, and D.sub.z (t) is a discrete signal indicating whether or
not the point is contacting the tablet. The tablet 2 has a sampling
frequency of 119.5 Hz and a resolution of 393.7 l/cm.
The apparatus also comprises means for low-pass filtering the
D.sub.x (t) and D.sub.y (t) electrical signals, this means for
low-pass filtering being performed by the processing unit 4. This
means for low-pass filtering is a low-pass filter having a
bandwidth of 20 to 50 Hz.
FIGS. 1A through 1F are a flowchart showing the various steps
according to the invention.
Referring now to FIG. 2, there is shown the low-pass filter which
has been found preferable. This low-pass filter is of the GAUSSIAN
type. The low-pass filter has a predetermined time function F.sub.2
(ti) where: ##EQU9##
This low-pass filter has also a predetermined transfer function
H.sub.2 (.omega.) where: ##EQU10##
The present apparatus also comprises means for deriving the D.sub.x
(t) and D.sub.y (t) electrical signals by predetermined time and
transfer functions for generating V.sub.x and V.sub.y electrical
components which represent respectively speeds of the point
according to X and Y axes of a cartesian reference. This means for
deriving being performed by the processing unit 4. Derivation
allows the calculation of cartesian speeds from the cartesian
coordinates that have been sampled. These speeds provide more
information about the dynamic aspects of the signature. This means
for deriving is a filter having a predetermined time function
F.sub.5 '(t.sub.i) where: ##EQU11## where ##EQU12## and N=9.
This means for deriving has also a predetermined transfer function
H.sub.5 (.omega.) where: ##EQU13## where ##EQU14## and N=9
F.sub.c is a cut off frequency of 20 Hz, and F.sub.s is a sampling
frequency of 100 Hz.
The apparatus also comprises means for calculating V.sub..sigma.
and V.sub..theta. values from the V.sub.x and V.sub.y components
where: ##EQU15##
The sign of V.sub..theta. is determined by: ##EQU16##
The next step is the dynamic segmentation step which consists in
calculating handwritten components and handwritten strings. In
order to calculate these handwritten components and handwritten
strings, four threshold values have to be set. The first of these
threshold values is the predetermined angular speed value which is
preferably 50 rad/s. The second of these values is the
predetermined curvilinear speed value which is preferably
V.sub..sigma. /2 cm/s where V.sub..sigma. is the average
curvilinear speed of the pencil point during the trajectory. The
third of these values is the minimal period of time of a
handwritten string which is preferably 0.05 s. The fourth of these
values is the minimal period of time of a lifting of the pencil
point which is preferably 0,03 s.
To this effect, the apparatus comprises means for calculating
handwritten components and handwritten strings where each of the
handwritten components is delimited by two successive liftings of
the point along the trajectory of the movement, and each of the
handwritten strings is delimited by two successive portions of the
trajectory of the movement where the V.sub..theta. value is higher
than the predetermined angular speed value and the V.sub..sigma.
value is lower than the predetermined curvilinear speed value. This
means for calculating is performed by the processing unit 4.
The next step is the calculation of four simple dynamic parameters.
These parameters allow a better classification of the signature.
The percentages of the second, third and fourth dynamic parameters
are normalized according to the duration of the whole duration of
acquisition of a signature with liftings of the pencil point. The
stops are characterized by a displacement inferior to a
predetermined threshold value which can be preferably of 0.008 cms
by sampling period. This means that the pencil point is considered
as being immobile if the displacement speed is inferior to 0.8
cms/seconds. These threshold values have been fixed to the
above-mentioned values because of the noise generated by the
tablet. Of course, these threshold values can vary with the use of
another tablet having different characteristics.
To this effect, the apparatus comprises means for calculating, by
means of the D.sub.z (t), the first simple dynamic parameter
consisting of a period of time of the trajectory during which the
point of the pencil is contacting the tablet 2; means for
calculating, by means of D.sub.z (t), the second simple dynamic
parameter consisting of a percentage representative of a period of
time of the trajectory during which the point is lifted; means for
calculating, by means of the D.sub.x (t) and D.sub.y (t), the third
simple dynamic parameter consisting of a percentage representative
of a period of time of the trajectory during which the point is
stopped; and means for calculating, by means of the V.sub..theta.
value, the fourth simple dynamic parameter consisting of a
percentage representative of a period of time of the trajectory
during which the V.sub..theta. value is positive. All the
above-mentioned means for calculating are performed by the
processing unit 4.
The next step is concerned with the processing of the image formed
by the trajectory of the movement. This processing of the image of
the movement consists of a rotation of the trajectory according to
its base line, and a normalization of the dimensions of the
trajectory by a scaling. The rotation of the trajectory is needed
to correct the effects of the orientation of a trajectory according
to the cartesian reference of the tablet. The base line of a
trajectory is estimated by establishing a straight line of
regression applied to local minimums according to the Y cartesian
axis. The straight line indicates the orientation of the trajectory
with respect to the cartesian reference. A first rotation is made
by applying a rotating operator to correct the inclination of the
trajectory, and a second iteration is made so that the base line of
the trajectory is aligned with a horizontal base line.
It has been noted that the dimensions of the signature of one
person vary with a great magnitude from time to time. A
normalization of the dimensions of the movement by means of a
scaling can correct these variations. The dimensions of the
normalized trajectories will be from 0 to 10,000 along the X
cartesian axis, and have a value of 0 at the base line of the
trajectory along the Y cartesian axis.
To this effect, the apparatus comprises calculating means for
applying respectively a first predetermined rotating operator and a
second predetermined rotating operator to the D.sub.x (t) and
D.sub.y (t) signals for correcting inclination of the trajectory
and aligning a base line of the trajectory with a horizontal base
line; and calculating means for scaling the D.sub.x (t) signal
according to the X cartesian axis with values varying from 0 to
10,000 and for scaling the D.sub.y (t) according to the Y cartesian
axis with a value of 0 when D.sub.y (t) signal crosses the base
line of the trajectory. Again, all these calculating means are
performed by the processing unit 4.
To complete this processing unit 4, there is provided a keyboard 6,
a monitor 8 and a disc unit 10. The processing unit 4, the keyboard
6, the monitor 8 and the disc unit 10 form a microcomputer 12.
The analogue-to-digital tablet 2 is of the electromagnetic type.
This tablet 2 comprises a receiving surface and an emitting pencil
(not shown) provided with a point detector and a command button.
The function of this tablet 2 is to sample according to a constant
frequency the handwriting movement of a user. The frequency of the
tablet must be very stable to allow extraction of dynamic
characteristics such as, for example, displacement speeds according
to a cartesian reference.
The interface device forming the communication link between the
tablet 2 and the microcomputer 10 is of the serial type.
Accordingly, it is important to know the format of the output
signal of the tablet 2. It has to be noted that this format is
variable, thus allowing several modes of operation in which
different parameters can be modified, such as the resolution of the
tablet, the sampling frequency of the tablet, the transmission
speed of the information generated by the tablet to the
microprocessor, and the presence of parity.
The keyboard 6 is an input device comprising several control and
alphanumeric keys. The keyboard allows a selection of different
commands available with the possibility to enter personal
information concerning the person under test. The keyboard
associated with its serial controller can be of the IBM PC, AT, or
extended type.
The monitor 8 is a video display allowing the display of the
commands that are available, instructions and results associated
with operations that have been performed. The display can be of the
Monochrome Adapter, Color Graphic Adapter, Enhanced Graphic Adapter
or Video Graphic Array type.
The disc unit 10 is of the magnetic type. This unit 10 allows the
storage of the software as well as the different data associated
with the system. The disc unit 10 has a minimum capacity of 20 Mb.
Each acquisition index includes the information relating to the
previous acquisition of a movement by the same user. The disc unit
10 is connected to its controller in a regular manner known in the
art.
The processing unit 4 allows the operation of the software. This
operation can be divided in three parts. The first part is
concerned with the control of the inputs which are provided by the
tablet 2, the keyboard 6, and the disc unit 10. The second part is
concerned with the processing of the information itself. And the
third part is concerned with the command outputs for the monitor 8
and the disc unit 10.
The microprocessor of the processing unit is an INTEL 80286 or
80386.TM. having an internal clock of at least 12 MHz. This
microprocessor which constitutes the central microprocessor is
connected to a mathematical processor which is an INTEL 80287 with
a fast RAM memory (100 ns) and a serial port RS-232 for the
connection of the tablet 2. The exploitation system for this
microcomputer 12 is a MS-DOS Version 3.0 or a more recent
version.
For example, the present system can be implemented with the
following material: a central microprocessor 80286(12 MHz), an
additional mathematical microprocessor 80287(8 MHz), a RAM memory
of 512 Kb (100 ns), a serial port RS-232, an internal clock with a
calendar, a keyboard of the IBM PC.TM. type, a hard disc of 20 Mb
and its controller (80 ms), a monitor with a video controller
Monochrome Adapter, a SUMMAGRAPHIC MM1201.TM. or PENCEPT 300.TM.
tablet, and a MS-DOS Version 3.0.TM. system.
The present system can be also implemented with the following
material: central microprocessor 80386 (16 MHz), an additional
mathematical microprocessor 80287(8 MHz), a RAM memory of 640
Kb+256 Kb (100 ns), two serial ports RS-232 one parallel port,
internal calendar and clock, a keyboard of the extended type, a
hard disc of 40Mb and its controller (28 ms), a monitor with a
video controller Enhanced Graphic Adapter, a SUMMAGRAPHIC MM1201
and PENCEPT 300 tablets, a MS-DOS Version 3.10 exploitation system,
an C microsoft version 5.10 compiler, and a CODE EXPERT Version
1.11.TM. software.
Among the different acquisition modes available, it has been
decided to use the proximity acquisition mode, which means that the
sampling and the transmission of the information from the tablet to
the microcomputer 12 is done only if the position of the pencil
point is below 2.5 cms of the surface of the tablet 2.
The present system can be used with two types of tablets which are
the "SUMMAGRAPHIC MM1201" (Trade Mark) tablet and the "PENCEPT 300"
(Trade Mark) tablet. These tablets have several characteristics,
which comprise, among others, the proximity which is the maximal
distance below which the information is considered valid, this
distance being measured perpendicularly to the surface of the
tablet; the precision which relates to the error associated with
the difference of position between the measured position and the
actual position of the pencil; the noise which relates to the error
associated with fluctuations of position, measured during
successive acquisition of the same position when the pencil is
maintained at this position; and the constancy which relates to the
error associated with the difference of position measured during
the repetition of the same experience.
Referring now to FIG. 3, there are shown the principal
characteristics of the "SUMMAGRAPHIC MM1201" and "PENCEPT 300"
tablets in view of the characteristics discussed above.
Referring now to FIG. 4, there is shown the transmission format of
the output of the "SUMMAGRAPHIC MM1201" tablet. The X13-X0
represents the X co-ordinates, where X0 is the least significant
bit. The Y13-Y0 represents the Y co-ordinates where Y0 is the least
significant bit. When DWN=1, this means that the point of the
pencil is in a position to operate. When SID=1, this means that the
command button of the pen has been pressed. When Prx=0, this means
that the point of the pencil is out of the operative proximity, and
when this value equals 1, this means that the point of the pencil
is inside the operative proximity.
Referring now to FIG. 5, there is shown the transmission format of
the "PENCEPT 300" tablet. The X13-X0 represent the X co-ordinates
where X0 is the least significant bit, and the Y13-Y0 represents
the Y coordinates where Y0 is the least significant bit. The
Ax9-Ax0 represents the X angle where Ax0 is the least significant
bit, and the Ay9-Ay0 represents the Y angle where Ay0 is the least
significant bit, the value of 512 being representative of a
vertical position.
The values of Dwn, Sid and Prx have the same meaning that the one
described for the FIG. 4.
Referring now to FIG. 6, there is shown a handwriting movement
detected by the tablet ad filtered by the low-pass filter of the
GAUSSIAN type which has the frequency spectrum shown on FIG. 2. The
X axis is representative of the Dx value, and the Y axis is
representative of the Dy value. This movement has not been
normalized.
Referring now to FIG. 7, there is shown the trajectory presented on
FIG. 6 after that it has been normalized. As described earlier,
this normalization consists of a rotation of the trajectory with a
scaling.
Referring now to FIG. 8, there is shown the variations of the Dx
value shown on FIG. 6, with respect to time.
Referring now to FIG. 9, there is shown the variations of Dx value
shown on FIG. 7, with respect to time.
Referring now to FIG. 10, there is shown the variations of Dy value
of FIG. 6, with respect to time.
Referring now to FIG. 11, there is shown the variations of Dy value
of FIG. 7, with respect to time.
When comparing FIG. 10 and FIG. 11, it can be noted that there is
an important variation of the value of Dy along the Y axis.
Referring now to FIG. 12, there is shown the cartesian speed Vx of
the trajectory shown on FIG. 6, with respect to time. As explained
earlier, this V.sub.x is obtained by means of a derivation
filter.
Referring now to FIG. 13, there is shown the cartesian speed Vy of
the trajectory shown on FIG. 6, with respect to time.
Referring now to FIG. 14, there is shown the curvilinear speed
V.sub..sigma. of the trajectory shown on FIG. 6, with respect to
time.
Referring now to FIG. 15, there is shown the angular speed
V.sub..theta. of the trajectory shown on FIG. 6, with respect to
time.
Referring now to FIG. 16, there is shown an example of the signal
indicating the state of the pencil point with respect to time. When
the pencil point is contacting the tablet, the amplitude of the
signal is equal to 4.
Referring now to FIG. 17, there is shown, as an example, the result
of dynamic segmentation with respect to time. In this example, the
trajectory has been divided in four handwritten strings HS1, HS2,
HS3 and HS4, and two handwritten components HC1 and HC2. The
handwritten components HC1 and HC2 are separated by a lifting of
the pen Lp. The first handwritten component is composed of three
handwritten strings HS1, HS2 and HS3 which terminate at T.sub.1,
T.sub.2 and T.sub.3 The second handwritten component HC2 is
constituted of only one handwritten string HS4 which terminates at
T.sub.5.
Now concerning the verification of a signature, it consists of the
acquisition of a test handwritten signature, and the verification
of this test signature. This verification is made over three
distinct levels. A first level consists in calculating the
variations of the simple dynamic parameters of the test signature
with respect to the corresponding parameters of the reference
signature. The second level of verification consists in calculating
intrinsic local correlation between portions of the test signature
velocity with corresponding portions of the reference signature
velocity. The third level of verification consists in calculating
distances between the test signature image and the reference
signature image by dynamic pattern matching. These levels of
verification are based on a discriminating function determined by
threshold values which are preferably personalized threshold values
that are calculated from the acquisition of more than one reference
signatures. If necessary, a correction of the segmentation of the
test signature is done to improve its classification.
Referring now again to FIG. 1, there is shown the apparatus for
comparing a test signature with a reference signature where each of
the test and reference signatures have been acquired, as described
earlier, by generating three electrical digital position signals
characterizing a trajectory of a handwritten signature by means of
a pencil provided with a point and an analogue-to-digital tablet,
the three signals being D.sub.x (t), D.sub.y (t) and D.sub.z
(t);
low-pass filtering the D.sub.x (t) and D.sub.y (t) electrical
signals;
taking the derivative of the D.sub.x (t) and D.sub.y (t) electrical
signals for generating V.sub.x and V.sub.y electrical
components;
calculating V.sub..sigma. and V.sub..theta. values from V.sub.x and
V.sub.y components where: ##EQU17## where V.sub..theta. has a sign
determined by: ##EQU18##
calculating handwritten components and handwritten strings, the
handwritten strings and components having beginnings and ends
determining temporal marks along the trajectory by which duration
of the handwritten signature is
calculating, by means of the D.sub.z (t), a first simple dynamic
parameter P.sub.1 consisting of a period of time of the trajectory
during which the point of the pencil is contacting the tablet;
calculating, by means of D.sub.z (t), a second simple dynamic
parameter P.sub.2 consisting of a percentage representative of a
period of time of the trajectory during which the point is
lifted;
calculating, by means of the D.sub.x (t) and D.sub.y (t), a third
simple dynamic parameter P3 consisting of a percentage
representative of a period of time of the trajectory during which
the point is stopped;
calculating, by means of the V.sub..theta. value, a fourth simple
dynamic parameter P4 consisting of a percentage representative of a
period of time of the trajectory during which the V.sub..theta.
value is positive;
applying respectively a first predetermined rotating operator and a
second predetermined rotating operator to the D.sub.x (t) and
D.sub.y (t) signals for correcting inclination of the trajectory
and aligning a base line of the trajectory with a horizontal base
line; and
scaling the D.sub.x (t) signal according to the X cartesian axis,
and scaling the D.sub.y (t) according to the Y cartesian axis.
The apparatus for comparing a test signature with a reference
signature comprises means for calculating variations of the simple
dynamic parameters of the test signature with respect to the simple
dynamic parameters of the reference signature, by calculating a
first evaluating function C1 where: ##EQU19## where FC1.sub.i
(RC1.sub.i) is a function representative of the variations of a
particular dynamic parameter where i indicates the parameter in
question, and p.sub.i is a weight given to a particular parameter
of the simple dynamic parameters; means for comparing C1 with a
first threshold value, and rejecting the test signature if C1
passes the first threshold value; means for calculating a
classifying function C.sub.a where:
where a1 is a weight given to the first evaluating function C1; and
means for comparing the classifying function C.sub.a with a second
threshold value, and rejecting the test signature if C.sub.a passes
the second threshold value. All of the abovementioned means for
calculating and means for comparing are performed by the processing
unit 4.
To compare a reference signature with a test signature, the
temporal marks of each signature have to be adapted. A correction
of the temporal marks of each signature is done by deleting
temporal marks that are not shared with the corresponding
signature. Thus, concatenation of certain temporal marks will be
done to form a group of characteristic segments of the test and
reference signatures. This coupling is made by dynamic pattern
matching by effectuating temporal expansion of the temporal marks
of the signature having the shortest duration so that its duration
matches the duration of the other signature, and by concatenating
characteristic segments by rejecting liftings of the pen that are
not shared by both signatures. These characteristic segments are
determined by dynamic pattern matching which consists in
calculating a distance d based on the position and the duration of
the characteristic segments, where: ##EQU20## where d.sub.POS is
the temporal position difference of the beginning of the
corresponding pen liftings, and d.sub.DUR is the duration
difference of the corresponding pen liftings
To this effect, the apparatus comprises first means for comparing
durations of the test and reference signatures, and effectuating
temporal expansion of the temporal marks of the signature having
the shortest duration so that its duration matches the duration of
the other signature; second means for comparing sequences of the
temporal marks of the test and reference signatures and for
coupling temporal marks of the test and reference signatures if and
only if two corresponding temporal marks have between them a
minimal temporal distance which is reciprocally the shortest
between the sequences in question, and said minimal distance is
shorter than a predetermined distance so that coupled temporal
marks form a pair of characteristic segments of the test and
reference signatures; and means for processing in an iterative
manner remaining temporal marks, that have not been coupled, of the
test and reference signatures by means of the first and second
means for comparing until no characteristic segment is coupled. The
above-mentioned first and second means for comparing, and the means
for processing are performed by the processing unit 4.
The apparatus also comprises means for calculating local intrinsic
correlations of the V.sub..sigma. and V.sub..theta. values of the
test and reference signatures for each of the pairs of
characteristic segments, by calculating a second evaluating
function C2 where: ##EQU21## where FC2.sub.i (RC2.sub.i) is a
function representative of the local intrinsic correlation of
either the V.sub..sigma. or V.sub..theta. values for the pairs of
characteristic segments where i indicates the component in
question, and p.sub.i is a weight given to the particular component
in question; means for comparing C2 with a third threshold value,
and rejecting the test signature if C2 passes the third threshold
value; means for calculating a classifying function C.sub.b
where:
where a.sub.2 is a weight given to the second evaluating function
C2; and means for comparing the classifying function C.sub.b with a
fourth threshold value, and rejecting the test signature if C.sub.b
passes the fourth threshold value. Again, the abovementioned means
for comparing and means for calculating are performed by the
processing unit 4.
The apparatus also comprises means for calculating variations of
D.sub.x and D.sub.y components of the test and reference signatures
for each of the pairs of characteristic segment, by calculating a
third evaluating function C3 where:
where FC3(RC3) is a function representative of variations of
D.sub.x and D.sub.y components for the pairs of characteristic
segments; means for comparing C3 with a fifth threshold value, and
rejecting the test signature if C3 passes the fifth threshold
value; means for calculating a classifying function C.sub.c
where:
where a.sub.3 is a weight given to the third evaluating function
C3; and means for comparing the classifying function C.sub.c with a
sixth threshold value REJ, and either rejecting the test signature
if C.sub.c is higher than the sixth threshold value REJ, or
emitting a signal indicating that no conclusive result has been
achieved if C.sub.c is within a first range of values limited by
REJ and a threshold value UNC, or accepting the test signature if
C.sub.c is lower than UNC. Again, the above-mentioned means for
calculating and means for comparing are performed by the processing
unit 4. The processing unit 4 rejects the test signature when the
first evaluating function C1 equals zero and the second evaluating
function C2 equals 1, because it is known that two signatures
cannot be exactly the same. Also, for the same reason, the
processing unit 4 rejects the test signature when the first
evaluating function C1 equals zero and the third evaluating
function C3 equals zero.
Each of the classifying functions C.sub.a, C.sub.b and C.sub.c is
formed by the linear combination of weighed functions C1, C2 and C3
associated respectively with the levels of verification. This
classifying function is: ##EQU22##
These functions C.sub.i are discriminating functions based on an
exponential function which is: ##EQU23## where h(x) is a linear
function with respect to x which is comprised in the interval
[0,1], N is a growth factor, and cte is a shift.
Referring now to FIG. 18, there is shown an example of this
function where h(x)=1-x, cte=0, and N=0, 1, 2, 3, 0.5. The
variation effect of the factor "N" on the level of growth is
clearly shown.
Referring now to FIG. 19, there is shown four ranges of possible
results associated with the functions C.sub.i. Firstly, if
F(x).ltoreq.SC.sub.R, then the test signature is immediately
rejected; secondly, if SC.sub.R <F(x)<SC.sub.E, then a
penalty weight is associated with this result; thirdly, if SC.sub.E
.ltoreq.F(x).ltoreq.SC.sub.A, then a compensation weight is
associated with this result; and fourthly, if SC.sub.A <F(x),
then the test signature is immediately accepted. SC.sub.R is a
rejection threshold value, SC.sub.E is an equilibrium threshold
value, and SC.sub.A is an acceptation threshold value. The
evaluation of these threshold values SC.sub.R, SC.sub.E and
SC.sub.A are based on experimentation.
Preferably, these threshold values SC.sub.R, SC.sub.E and SC.sub.A
can be based on personalized threshold values determined from
several reference signatures. To determine these personalized
threshold values, the acquisition of a group of three reference
signatures is done. The acquisition of each of these reference
signatures is done in the regular manner as described earlier in
the disclosure. An acquisition index is created for each of these
reference signatures, allowing an analysis of the variations
between each of these reference signatures.
Then, personalized threshold values are determined from this
analysis. These personalized threshold values allow an
auto-adaptation of the discriminating functions C.sub.i with
respect to the stability of the reference signatures that are
provided.
The determination of these personalized threshold values is based
on the worst results of verifications obtained by comparing the
three reference signatures among themselves, taken two by two. Each
of these reference signatures is considered, at one time of the
comparison, as a reference signature, and at another time, as a
test signature. Seven personalized threshold values SP1.sub.1,
SP1.sub.2, SP1.sub.3. SP1.sub.4, SP2.sub.1, SP2.sub.2 and SP3 can
be determined. SP1.sub.1 represents a maximum variation of the
duration of the acquisition of a signature without lifting of the
pen, SP1.sub.2 is a maximum variation of the normalized percentage
of the duration of the stops of the pen, SP1.sub.3 is a maximum
variation of the normalized percentage of the duration of the
liftings of the pen, SP1.sub.4 is a maximum variation of the
normalized percentage of the duration during which V is positive,
SP2.sub.1 is the lower intrinsic local correlation of the
curvilinear speed V.sub..sigma., SP2.sub.2 is the lower intrinsic
local correlation of the angular speed V.sub..theta., and SP3 is
the greater distance between two compared signatures, obtained by
dynamic pattern matching.
Referring now to FIG. 20, there is shown in the upper table, the
average values of P.sub.1, P.sub.2, P.sub.3 and P.sub.4. In the
middle table, there is shown the variations of the parameters. The
upper array indicates the level of verification where these
variations are determined. The first column indicates the six
permutations possible as there are three reference signatures. In
the lower table, there is shown the personalized threshold values
that are determined from the middle table. As it can be seen, these
personalized threshold values are determined from the worst results
obtained in the middle table.
Now, there will be described the means for calculating RC1.sub.i
and FC1.sub.i (RC1.sub.i). As there are four simple dynamic
parameters, the term "i" of the expression RC1.sub.i varies from 1
to 4.
The apparatus comprises means for calculating RC1.sub.1, RC1.sub.2,
RC1.sub.3 and RC1.sub.4 where:
RC1.sub.1 =(P.sub.1 of the test signature-P.sub.1 of the reference
signature)/P.sub.1 of the reference signature;
RC1.sub.2 =P.sub.2 of the test signature-P of the reference
signature;
RC1.sub.3 =P.sub.3 of the test signature-P of the reference
signature; and
RC1.sub.4 =P.sub.4 of the test signature-P of the reference
signature. The above-mentioned means for calculating is also
performed by the processing unit 4.
The apparatus also comprises means for calculating FC1.sub.i
(RC1.sub.i) for each of the four dynamic parameters where RC1.sub.i
is the variation of a particular dynamic parameter, where:
FC1.sub.i (RC1.sub.i)=0 if RC1.sub.i <SC1.sub.Ei where
SC1.sub.Ei is a seventh predetermined threshold value for a
particular dynamic parameter,
FC1.sub.i (RC1.sub.i)=((e.sup.h(RC 1.sub.i)-1)/(e-1)).sup.Ni
if SC1.sub.Ei <RC1.sub.i <SC1.sub.Ri where SC1.sub.Ri is an
eighth predetermined threshold value for a particular dynamic
paramater, or
FC1.sub.i (RC1.sub.i)=1 if SC1.sub.Ri .ltoreq.RC1.sub.i ; where
h(RC1.sub.i)=(RC1.sub.i -SC1.sub.Ei)/(SC1.sub.Ri -SC1.sub.Ei), and
where Ni is a growth factor for a particular dynamic parameter; and
means for generating a signal indicative of a rejection of the test
signature if FC1.sub.i (RC1.sub.i)=1. The above-mentioned means for
calculating and means for generating are performed by the
processing unit 4.
In the case where the equilibrium threshold value SC1.sub.Ei and
the rejection threshold value SC1.sub.Ri are determined by
personalized threshold values, SC1.sub.Ei =MAX(cte, p(SC1.sub.pi))
.epsilon.[0%,SC1.sub.Ri ], and SC1.sub.Ri =MAX(cte,q(SC1.sub.pi))
.epsilon.]SC1.sub.Ei, .infin.]. p(SC1.sub.pi) and q(SC1.sub.pi) are
linear functions of the type y=a.multidot.SC1.sub.pi +b, where
SC1.sub.pi is the personalized threshold value "i" which is
respectively SP1.sub.1, SP1.sub.2, SP1.sub.3 or SP1.sub.4. a, b and
cte are predetermined constants. The threshold values SC.sub.Ei and
SC.sub.Ri can also be set from precedent experiences.
The local correlation is an algorithm that measures the similarity
between two signals with respect to their coefficient of linear
correlation. This local correlation is applied to V.sub..sigma. and
V.sub..theta. values for each pair of characteristic segments. The
wanted result is the weighed summation of its application:
##EQU24## where RC2.sub.1 is the intrinsic local correlation of the
curvilinear speed V.sub..sigma., RC2.sub.2 is the intrinsic local
correlation of the angular speed V.sub..theta., N is the number of
characteristic segments, l.sub.r is the total number of samples for
obtaining the reference signature, l.sub.j is the number of samples
for obtaining a particular characteristic segment identified by
"j", CV.sub..sigma.j is the partial intrinsic local correlation of
the curvilinear speed V.sub..sigma., and CV.sub..theta.j is the
partial intrinsic local correlation of the angular speed
V.sub..theta., where: ##EQU25## where K is a phase shifting between
the signals, L(K) is a shared portion of the signals with respect
to the phase shifting K, V.sub..sigma.R (t) and V.sub..sigma.T (t)
are respectively the curvilinear speeds of the reference and test
signatures, V.sub..sigma.R and V.sub..sigma.T are respectively the
average curvilinear speeds of the reference and test signatures,
and VAR.sub..sigma.Ri and VAR.sub..sigma.Ti are respectively the
variances of the curvilinear speed of the reference and test
signatures, where: ##EQU26##
Similar calculations can be done for calculating CV.sub..theta.R
with respect to intrinsic angular speeds V.sub..theta.R and
V.sub..theta.T.
Now, there will be described the means for calculating RC2.sub.i
and FC2.sub.i (RC2.sub.i) where "i" varies from 1 to 2. The
apparatus comprises means for calculating RC2.sub.1 and RC2.sub.2
where: ##EQU27## where N is the number of pairs of characteristic
segments, l.sub.r is the number of samples used for acquiring the
reference signature, j identifies a particular pair of the pairs of
characteristic segments, l.sub.j is the number of samples used for
acquiring a particular segment of the reference signature,
CV.sub..sigma.j is a partial intrinsic local correlation of the
V.sub..sigma. value for a particular pair of the pairs of
characteristic segments, and CV.sub..theta.j is a partial intrinsic
local correlation of the V.sub..theta. value for a particular pair
of the pairs of characteristic segments. The above-mentioned means
for calculating is performed by the processing unit 4.
The apparatus also comprises means for calculating FC2.sub.i
(RC2.sub.i) for each of the V.sub..sigma. and V.sub..theta. values
of the pairs of characteristic segments where RC2.sub.i is an
intrinsic local correlation of either the V.sub..sigma. or
V.sub..theta. value for the pairs of characteristic segments,
where:
FC2.sub.i (RC2.sub.i)=1 if RC2.sub.i <SC2.sub.Ri where
SC2.sub.Ri is a ninth predetermined threshold value,
if SC2.sub.Ri <RC2.sub.i <SC2.sub.Ei where SC2.sub.Ei is a
tenth predetermined threshold value,
if SC2.sub.Ei .ltoreq.RC2.sub.i, or
FC2.sub.i (RC2.sub.i)=0 if SC2.sub.Ai .ltoreq.RC2.sub.i where
SC2.sub.Ai is an eleventh threshold value; where
In the case where the equilibrium threshold value SC2.sub.Ei, the
rejection threshold value SC2.sub.Ri and the acceptation threshold
value SC2.sub.Ai are determined by personalized threshold values,
SC2.sub.Ei =MAX(cte,p(SC2.sub.pi)) .epsilon.[SC2.sub.Ri,SC2.sub.Ai
[,SC2.sub.Ri =MIN(cte,q(SC2.sub.pi)) .epsilon.[0%,SC2.sub.Ei [, and
SC2.sub.Ai =MIN(cte,r(SC2.sub.pi)) .epsilon.]SC2.sub.Ei,100%].
p(SC2.sub.pi), q(SC2.sub.pi) and r(SC2.sub.pi) are linear functions
of the type y=a.SC2.sub.pi +b, where SC2.sub.pi is the personalized
threshold value "i" which is SP2.sub.1 or SP2.sub.2. a, b and cte
are predetermined constants. The threshold values SC2.sub.Ei,
SC2.sub.Ri and SC2.sub.Ai can also be set from precedent
experiences.
Now, there will be described the third level of verification in
which a distance is calculated by dynamic pattern matching, and a
minimal residual distance RC3 is determined between two signals by
means of a function distorting the temporal scale. This function is
applied to the signals of the D.sub.x and D.sub.y values for each
pair of characteristic segments. The wanted result is the weighed
summation of its application: ##EQU28## where RC3 is the minimal
residual distance obtained by dynamic pattern matching. ##EQU29##
where ##EQU30## D.sub.xT and D.sub.xR are respectively the D.sub.x
components of the test and reference signatures of a particular
pair of characteristic segments;
D.sub.yT and D.sub.yR are respectively the D.sub.y components of
the test and reference signatures of a particular pair of
characteristic segments; and
.DELTA. is a linear operator of difference.
To this effect, the apparatus comprises means for calculating RC3
where: ##EQU31## where RC3.sub.ii is the minimal residual distance
of the D.sub.x and D.sub.y components between the characteristic
segments of a particular pair of the pairs of characteristic
segments.
The above-mentioned means for calculating is performed by the
processing unit 4.
The apparatus also comprises means for calculating FC3(RC3) for
each of the D.sub.x and D.sub.y components of the pairs of
characteristic segments where RC3 is representative of the minimal
residual distance of the D.sub.x and D.sub.y components between the
characteristic segments of each of the pairs of characteristic
segments, where:
FC3(RC3)=1 if RC3>SC3.sub.R where SC3.sub.R is a twelfth
threshold value,
if SC3.sub.E <RC3<SC3.sub.R where SC3.sub.E is a thirteenth
threshold value,
if SC3.sub.A <RC3<SC3.sub.E where SC3.sub.A is a fourteenth
threshold value, or
FC3(RC3)=0 if RC3.ltoreq.SC3.sub.A ; where
h1(RC3)=(RC3-SC3.sub.E)/(SC 3.sub.R -SC3.sub.E), h2(RC3)=(SC3.sub.A
-RC3)/(SC3.sub.A -SC3.sub.E), and N1 and N2 are predetermined
growth factors; means for generating a signal indicative of a
rejection of the test signature if FC3(RC3)=1; and means for
generating a signal indicative of an acceptation of the test
signature if FC3(RC3)=0. The above-mentioned means for calculating
and means for generating are performed by the processing unit
4.
In the case where the equilibrium threshold value SC3.sub.E, the
rejection threshold value SC3.sub.R and the acceptation threshold
value SC3.sub.A are determined by personalized threshold values,
SC3.sub.E =MIN(cte,p )) e SC3.sub.p)) .epsilon.]SC3.sub.A,SC3.sub.R
[, SC3.sub.R =MAX(cte,q(SC3.sub.p))
.epsilon.]SC3.sub.E,.sup..infin., and SC3.sub.A
=MAX(cte,r(SC3.sub.p)) .epsilon.[0,SC3.sub.E [. p(SC3.sub.p),
q(SC3.sub.p) and r(SC3.sub.p) are linear functions of the type
y=a.SC.sub.p +b where SC3.sub.p is the personalized threshold value
SP3. a, b and cte are predetermined constants. The personalized
threshold values can also be set from precedent experiences.
To determine the personalized threshold values, more than one
reference signatures are acquired, and compared among themselves,
taken two by two, to obtain several groups of RC1.sub.1, RC1.sub.2,
RC1.sub.3, RC1.sub.4, RC2.sub.1, RC2.sub.2 and RC3 values. To this
effect, the apparatus further comprises means for comparing each of
said RC1.sub.1, RC1.sub.2, RC1.sub.3, RC1.sub.4 and RC3 values with
other corresponding values of its own group, and determining
maximum values of each group which constitutes respectively
personalized threshold values SP1.sub.1, SP1.sub.2, SP1.sub.3,
SP1.sub.4 and SP3; and means for comparing each of said RC2.sub.1
and RC2.sub.2 values with other corresponding values of its own
group, and determining minimum values of each group which
constitutes respectively personalized threshold values SP2.sub.1
and SP2.sub.2 ; means for calculating SC1.sub.Ei =MAX (cte,
p(SC1.sub.pi)) .epsilon. [0%,SC1.sub.Ri [, and SC1.sub.Ri =MAX
(cte,q(SC1.sub.pi)) .epsilon.]SC1.sub.Ei, .sup..infin., where p(SC
1.sub.pi) and q(SC1.sub.pi) are linear functions of the type
y=a.SC1.sub.pi +b, where SC1.sub.pi is the personalized threshold
value "i" which is respectively SP1.sub.1, SP.sub.1.sub.2,
SP1.sub.3 or SP1.sub.4, a, b and cte being predetermined constants;
means for calculating SC2.sub.Ei =MAX (cte,p(SC2.sub.pi))
.epsilon.]SC2.sub.Ri, SC2.sub.Ai [, SC2.sub.Ri =MIN
(cte,q(SC2.sub.pi)) .epsilon.[0%,SC2.sub.Ei [, and SC2.sub.Ai =MIN
(cte,r(SC2.sub.pi)) .epsilon.]SC2.sub.Ei, 100%], where
p(SC2.sub.pi), q(SC2.sub.pi) and r(SC2.sub.pi) are linear functions
of the type y=a.SC2.sub.pi +b, where SC2.sub.pi is the personalized
threshold value "i" which is respectively SP2.sub.1 or SP2.sub.2,
a, b and cte being predetermined constants; and means for
calculating SC3.sub.E =MIN (cte,p(SC3.sub.p))
.epsilon.]SC3.sub.A,SC3.sub.R [, SC3.sub.R =MAX(cte, q(SC3.sub.p))
.epsilon.]SC3.sub.E,.sup..infin., and SC3.sub.A
=MAX(cte,r(SC3.sub.p)) .epsilon.[0,SC3.sub.E [, where p(SC3.sub.p),
q(SC3.sub.p) and r(SC3.sub.p) are linear functions of the type
y=a,SC3.sub.p +b, where SC3.sub.p is the personalized threshold
value SP3, a, b and cte being predetermined constants. All of the
above-mentioned means for comparing and means for calculating are
performed by the processing unit 4.
The present apparatus and method have been preliminarily tested
with two groups of signatures which are the IM and IN groups. The
IM group has been created during examination of plagiarism, and is
characterized by containing excellent false signatures. This group
comprises eight right-handed signers consisting of one European,
one Asian and six North Americans; and eight right-handed imitators
consisting of eight right-handed North Americans. Each signer has
provided three signatures which have been stored in 24 acquisition
indexes. Each imitator has provided three signatures for each
signature of the signers, which have been stored in 192 acquisition
indexes.
The IN group comprises six right-handed signers consisting in one
European and five North Americans. Each signer has provided nine
signatures that have been stored in 54 acquisition indexes. Several
tests have been done for adjusting the discriminating function to
minimize errors.
Referring now to FIG. 21, there is shown the discriminating
function that has been found preferable.
Referring now to FIGS. 22 and 23, there are illustrated the results
obtained for each group of signatures.
It can be noted that in the IN group, all of the true signatures
have been recognized as such. In the IM group, false signatures
have been accepted in 0,5% of the cases, which is relatively low.
Those false acceptations can be explained by the fact that the
reference signatures were from an Asian signer, which were quite
unstable since he was not familiar with occidental way of signing.
This instability has provided a group of very permissive
personalized threshold values.
Other preliminary tests with different data base show that the
performances are dependent on the data base and that accordingly,
it is important to adjust the discriminating functions to prevent
rejection of good signatures at the exception of those resulting
from a bad manipulation of the system.
In the case where no decision can be made (uncertain result), the
signer can be invited to sign again for verification.
The strings shown on FIG. 17 can be subdivided into subunits called
strokes. A general way to look at the origin of the strokes of a
movement is depicted in FIG. 24. The overall sets of neural and
muscle networks involved in the generation of a single
aimed-movement is assumed to result from the sequential actions of
a set of n stochastic
The internal description of these processing units is irrelevant to
the model only their global statistical behavior is of interest.
Some of them might be composed of networks, others of muscle fiber
networks, some might incorporate internal feedback, etc. As long as
they are in sufficient number, the theory holds. Assuming the ideal
output for such a system to be a constant mean velocity V that
would result in a displacement D when applied for a time interval
(t.sub.1 -t.sub.0):
one can then consider the real output v(t) to reflect the total
probability P(t) of having produced such an ideal output in a given
time interval. In this context, one can write:
where f(P(t)) is the probability density function of P(t).
If one assumes that all these processes are independent, in a sense
that the jth subsystem does not load down the jth-1, the
probability P(t) of producing a specific velocity at a given time
will be the product of the probabilities p.sub.i (t) that each
subsystem produces a response during that specific time interval:
##EQU32## By taking the natural logarithm of this product,
##EQU33## and assuming that the density function of each p.sub.i
(t) satisfies the weak condition of having a finite variance, then,
if n is large, the central-limit theorem applies. The probability
density function of ln P(t) is thus normally distributed around its
mean .mu. with a variance .sigma..sup.2 and P(t) is distributed
according to a log-normal density function: ##EQU34##
If one assumes that P(t) increases linearly with time, up to a
certain limit t.sub.1 : ##EQU35## where
t.sub.0 =time when the probability of having produced V starts
increasing from 0 (initiation time of the system)
t.sub.1 =time when the probability of having produced V is equal to
1(termination time), that is: t.sub.1 -t.sub.0 =stroke duration
time,
then, by combining the equations (5), (6) and (2), one obtains a
mathematical description for the velocity profiles: ##EQU36##
Equation (7) constitutes a mathematical description of an
asymmetric bell-shaped velocity profile where the shape of the
profile can be theoretically affected by five parameters: V,
t.sub.0, t.sub.1, .mu. and .sigma.. These parameters can be easily
combined to rescale the velocity profiles under different changes
of experimental conditions, keeping the general appearance of the
profile invariant under these conditions. The following parameter
values were used in the bell-shaped velocity profile shown on FIG.
25: v=2.0 cm/s; t.sub.0 =0.0s, t.sub.1 =1.0s, .mu.=-1.0,
.sigma.=0.25.
A rapid-aimed movement described by a log-normal velocity profile
can be seen as the fundamental unit of a learned movement or a
stroke. Because of the direct relationship between the distance and
some velocity control parameters, there is an equivalence between
spatial and timing representation of movement through the
log-normal velocity profile. More complex movements or strings can
be planned and generated by summing up these bell-shaped velocity
profiles This immediately suggests two types of execution
processes: an anticipation process, where complex velocity profiles
can be described in terms of superimposed log-normal curves and a
correction process where velocity can be reproduced by a sequence
of independent log-normal curves without superimposition
The asymmetric bell-shaped velocity profiles result from the global
stochastical behavior of the large number of processes involved in
the velocity control, in other words the invariance of these
profiles can be interpreted as resulting from the global
self-organization of the system. In the same context, it is shown
that the previously reported relationship between movement time and
spatial or timing accuracy are no conflicting observations of
different independent phenomena but results from the intrinsic
properties of the log-normal velocity profiles.
Asymmetric bell-shaped velocity profiles can be used as fundamental
units for representing a signature. Accordingly, the curvilinear
speed V.sub..sigma. and the angular speed V.sub..theta. along the
trajectory of a handwritten movement can be represented by
asymmetric bell-shaped curvilinear velocity profiles v.sub..sigma.
(t) (curvilinear strokes) and asymmetric bell-shaped angular
velocity profiles v.sub..sigma. (t) (angular strokes)
respectively.
By means of the processing unit 4, the following parameter values:
V.sub..sigma., t.sub.0.sigma., t.sub.1.sigma., .mu..sub..sigma. and
.sigma..sub..sigma. are calculated so that v.sub..sigma. (t)
matches with the V.sub..sigma. values along the trajectory of the
curvilinear stroke where: ##EQU37##
Also, by means of the processing unit 4, the following parameter
values V.sub..theta., t.sub.0.theta., t.sub.1.theta.,
.mu..sub..theta. and .sigma..sub..theta. are calculated so that
v.sub..theta. (t) matches with the V.sub..theta. values along the
trajectory of the angular stroke where: ##EQU38##
An approximate model by means of v.sub..sigma. (t) and
v.sub..theta. (t) offers an advantage for data compression since
only a few parameter values are needed for characterizing the
trajectory of a handwritten stroke. Accordingly, the microcomputer
12 comprises a memory for registering the parameter values
V.sub..sigma., t.sub.0.sigma., t.sub.1.sigma., .mu..sub..sigma.,
.sigma..sub..sigma., V.sub..sigma., t.sub.0.sigma., t.sub.1.sigma.,
.mu..sub..sigma. and .sigma..sub..theta. whereby said handwritten
movement is memorized and data compression is achieved.
As previously noted, the data processing of the present method for
digitizing and segmenting a handwriting movement is performed by
the processing unit which operates according to a proper
programming stored in the disc unit 10. A set of programs have been
written to perform this task for use with the computer equipment
previously described.
The following brief description of these programs follows before an
explicit listing of the actual program statements:
/*Listing file vds.h*/: defines and initializes different
variables, parameters and procedures that are used in the other
programs;
/*Listing file vds.c*/: registers a user;
/*Listing abonne.c*/: presents the results obtained after
digitizing and segmenting of a handwriting movement;
/*Listing file acqui.c*/: performs all the data processing
necessary for digitizing and segmenting a handwriting movement;
/*Listing file verifi.c*/: performs all the data processing
necessary for comparing a test handwriting signature with a
reference signature, where each of the test and reference
signatures has been acquired by the /*Listing file acqui.c*/
program. ##SPC1##
Although the present invention has been explained hereinabove by
way of a preferred embodiment thereof, it should be pointed out
that any modifications to this preferred embodiment, within the
scope of the appended claims is not deemed to alter or change the
nature and scope of the present invention.
* * * * *