Visual-based ID Verification by Signature Tracking Mario E. Munich and Pietro Perona California Institute of Technology www.vision.caltech.edu/mariomu
Outline Biometric ID Visual Signature Acquisition Description of the system Tracking results Signature Verification Dynamic Time Warping Experimental Results Conclusions and further work AVBPA99 - March 3rd, 999
Biometric ID Identification based on measurements of human biological characteristics Vision-based: Face Recognition [Taylor et. al.,turk & Pentland, Wiskott et.al.] Fingerprint Recognition [Jain et. al.] Other: Voice Recognition Signature Verification Iris Scanning [Daugman] Retina Scanning... AVBPA99 - March 3rd, 999 3
Why visual signature acquisition? Current I/O computer interfaces have limitations for decreasing their size. tablet digitizer screen keyboard Cell phone + PDA Future new I/O computer interfaces will involve Audio and Visual techniques. PDA camera mouse microphone Advantages: smaller size implementing them in VLSI. more natural way for people to communicate with computers. AVBPA99 - March 3rd, 999 4
Visual signature acquisition AVBPA99 - March 3rd, 999 5
Visual signature acquisition Preprocessing Pen Tip Tracker Ballpoint Detector Filter Signature Verification True! AVBPA99 - March 3rd, 999 6
Preprocessing Get the template of the pen tip Mouse-clicking (manual) Pen familiar to the system Unknown pen (size = 5x5 pixels) Get the portion of image where the pen tracker looks for the pen tip (size = 3x3 pixels) AVBPA99 - March 3rd, 999 7
Pen tip tracker Portion of the image extracted in order to compute correlation Predicted position of the pen tip Pen tip template Location of maximum correlation Predicted position of the pen tip The most likely position of the pen tip is given by the location of maximum correlation AVBPA99 - March 3rd, 999 8
Filter Predicts the position of the pen tip in the following image Speeds up computations Smoothes out the trajectory Estimates the position of the pen tip for missing frames Model of pen tip s dynamics dx dt dv dt da dt y(t) = = = = v(t) a(t) n a (t) x(t) + n y (t) where: x(t): D pen tip s position v(t): D pen tip s velocity a(t): D pen tip s acceleration y(t): location of max. correlation AVBPA99 - March 3rd, 999 9
Real Time Implementation Camera Pentium 30 Frame grabber PCI Bus The frame grabber is a PXC00 from Imagination. The system runs at 60 Hz with a total processing time of 5ms per frame. No calibration needed. AVBPA99 - March 3rd, 999 0
Acquired signatures Example signature Prototype Forgery AVBPA99 - March 3rd, 999
Signature Verification Off-line Signature Verification Works on a static image of the signature, i.e., the result of the act of signing. On-line Signature Verification Works on the dynamic process of generation of the signature, i.e., the action of signing itself. ( Automatic signature verification and writer identification, the state of the art, by M.Parizeau and R. Plamondon is a good survey paper) AVBPA99 - March 3rd, 999
Signature Verification New signature Comparison True signature or forgery? Prototype Training set AVBPA99 - March 3rd, 999 3
Signature Verification Previous work on Signature Verification using Dynamical Time Warping: Sato and Kogure, 98 Parizeau and Plamondon, 990 Huang and Yang, 995 Wirtz, 995 Nalwa, 997 Munich and Perona 98, 99... AVBPA99 - March 3rd, 999 4
Signature Verification P (φ (t-)) v(t-) Signature (C ) Comparison of two signatures P (φ (t)) P (φ (t-)) Signature (C ) v(t) P (φ (t)) Similarity measure ( distance between C and C ) C = ( P D( C, C (),..., P ) d(( P = = Elementary distance of matching P (φ (t-)) with P (φ (t-)) and P (φ (t)) with P (φ (t)). P ( φ ( t)) T t= ( φ ( t )), ( φ ( t )) ),( ( φ ( t)), ( φ ( t)) )) ( T ) P ), C ( φ P ( φ ( t)) ( t)) P [ ] φ ( t) AVBPA99 - March 3rd, 999 5 P = P ( P ( φ P () ( t)) P ( φ ( t )),..., P ( φ ( T ) P ( φ ( t )) ), φ ( t )) P P Matching function = ( φ φ ( t) ( t )) =
Dynamical Time Warping(DTW) Given C = (P (),,P (T )), C = (P (),,P (T )) and the distance function D(C,C ), DTW finds a warping function φ = [φ, φ ] T that minimizes the dissimilarity between C and C : φ = arg min D(C,C) φ with the following recursion [Bellman et.al.,957, Sakoe & Shiba,978]: D(t) = min {D(t ) + d((p( φ (t )),P ( φ (t )) ),(P ( φ (t)),p ( φ (t))))} φ(t ), φ (t ) Cumulated distance up to step t Cumulated distance up to step (t-) Elementary distance added by matching P (φ (t-)) with P (φ (t-)) and P (φ (t)) with P (φ (t)). AVBPA99 - March 3rd, 999 6
Dynamical Time Warping φ φ (t) = j Recursion (for the discrete case): D(t) = D(i,j) = d((p ( φ (t )),P min φ(t ), φ (t ) ( φ (t )) ),(P {D(t ) + (i),p (j) ))} φ (t) = i Warping plane φ φ (t) = j φ (t) = i Local slope constraints D(i,j) = D(i,j) min D(i,j ) D(i,j ) + + + d((i,j),(i,j)) d((i,j ),(i,j)) d((i,j ),(i,j)) AVBPA99 - March 3rd, 999 7
Dynamical Time Warping φ Maximum deviation from linear warping constraint Dynamical Time Warping solution φ (t) Global slope constraint φ (t) φ The algorithm is O(N) both in time and spatial complexity. Constraints could be used in order to reduce the complexity since they will reduce the number of nodes to be explored. AVBPA99 - March 3rd, 999 8
Dynamical Time Warping x(t) y(t) examples from s05 x(t) after DTW y(t) after DTW Alignment path AVBPA99 - March 3rd, 999 9
Dynamical Time Warping x(t) y(t) examples from s030 x(t) after DTW y(t) after DTW Correspondence AVBPA99 - March 3rd, 999 0
Signature alignment Main inertia axis of the signature In order to obtain some degree of invariance w.r.t. rotations, align the main inertia axis of the signature with the horizontal axis before performing DTW. AVBPA99 - March 3rd, 999
Evaluation of the SV system There are two types of errors to evaluate in order to asses the performance of the system: FAR (False Acceptance Rate): percentage of false signatures classified as true. FRR (False Rejection Rate): percentage of real signatures classified as false. AVBPA99 - March 3rd, 999
Evaluation of the SV system Error rate FRR FAR FRR Equal error rate (Indicator of the perf. of the system) Classif. Thres. Error trade-off curve FAR Ideal case: FAR = FRR = 0% AVBPA99 - March 3rd, 999 3
Experiments Collected a database of signatures 56 subjects 5-30 sample signatures per subject 0 signatures were collected per session, and each session took place on a different day 0 forgeries per subject each signature acquired with the real-time pen tracking system AVBPA99 - March 3rd, 999 4
Experiments The algorithm was tested as follows: Training set: 0 signatures per subject. Test set (true): remaining 5 signatures per subject. Test set (false): all 375 signatures from all other subjects ( random forgeries ). Test set (false): 0 intentional forgeries. AVBPA99 - March 3rd, 999 5
Experiments examples references False rejects False accepts AVBPA99 - March 3rd, 999 6
Results FRR FRR FAR FAR AVBPA99 - March 3rd, 999 7
Conclusions Presented the performance of a vision-based technique for personal identification. Demonstrated the feasibility of having such a system working in real-time with high performance in verification. AVBPA99 - March 3rd, 999 8
Future Work Evaluate different representations of the signature and different similarity measures in order to improve performance and achieve scale invariance. Overcome the lack of examples in order to extract more meaningful estimates of the generalization error. AVBPA99 - March 3rd, 999 9
Future Work Match all examples in a way such that the prototype would be a more robust representative of its class. Once we have the matching function, devise other similarity measures that improve performance. Collect a new, clean and bigger database of examples. AVBPA99 - March 3rd, 999 30