# Tesina ## Introduccion y antecedentes "Según [] han aumentado los problemas de coble de autentificación "" - Poner estadisticas para justificar la relevancia del proyecto "Previamente se obtuvieron estos resultados "" - Mostrar resultados previos en caso de ver ## Planteamiento del Problema y justificación - Quien ha hecholo que busco hacer (Leer mucho, 10-15 articulos, espacio para añadir mi contribución) - Pequeña de la reseña de los articulos - Problema de investigación de mejor forma de la que ya existe ## Objetivo (general y especifico) SMART - Secuencia de objetivos cuya suma me de el objetivo general ## Metodología y Planificación - Sirve para documentar si ya es una propuesta valida ![](https://i.imgur.com/CNzcwtX.png) ## Diseño de la solucion ## Implementación del prototipo de solución ## Puebas, evaluación y análisis de resultados ## Conclusiones y trabajos futuros - Que se puede mejorar - Concluir aprtir de la investigación ## Marco Teorico - Toda la información que necesita para hacer la tesina - Cosas muy conocidas no(No que es python, conceptos más avanzados) ## Estado del arte ## Sitios para investiggar [TEC Login](https://biblioteca.tec.mx/az.php?s=154286&t=40962) [Scopus](https://www.webofscience.com/wos/woscc/summary/b58082b9-cd6f-4dca-91aa-df1461c7e8ae-48038435/relevance/1) [Web Of Science](https://0-www-scopus-com.biblioteca-ils.tec.mx/search/form.uri?display=basic#basic) ### Papers interesantes [Different mobile autentication techniques](https://www.sciencedirect.com/science/article/abs/pii/S1389128618312799?via%3Dihub) [Online signature Authentication on MOBSIG finger drawn signature corpus](https://www.hindawi.com/journals/misy/2018/3127042/) ## Gantt Diagram [Gantt Link](https://online.officetimeline.com/shareable-link?token=%2fMePWY76nqtw%2fErBGCa8okYWUa1uopbJ6a0HaMUyZJqk%2b2qd0AcFjBBxbSvnpDHSo0l3QdiNA5NDbUCk0vb2%2bTPJv4oZrbYEiPksOEaKFLuUADs4U6FkofA94qGrvPOu) ## online signature/draw-a-signature-online [Kaggle online dataset](https://www.kaggle.com/code/divyanshrai/different-triplet-loss-function-on-signature/notebook) ## CoreML Keras en iOS [keras](https://pyimagesearch.com/2018/04/23/running-keras-models-on-ios-with-coreml/) ## New State of the art ### Online signature Authentication on MOBSIG finger drawn signature corpus [Online signature Authentication on MOBSIG finger drawn signature corpus](https://www.hindawi.com/journals/misy/2018/3127042/) The results of the competition showed that the performance of classifiers varied significantly with respect to the good and bad quality signatures. Categorized the users of MCYT database using the Personal Entropy quality measure. Kahindo et al. [19] proposed a novel signature complexity measure to select reference signatures for online signature verification systems. They concluded that predicting the utility of a signature sample using a multifeature vector was possible. #### Methods Both a function-based [4.1] and a feature-based[4.2] verification system were implemented. Features used by signature verification systems can be local and global ones: * Local features correspond to sample points along the signature’s trajectory (e.g.,point-wise pressure) * Global features are computed from the signature as a whole (e.g.,duration) Function-based systems use local features and feature-based systems use global features. ##### 4.1. Function-Based Verification The first system is based on **DTW** (dynamic time warping) * compares the captured time sequences In this work, the following local features were employed: * x, y coordinates * the x1, y1 first-order differences * the x2, y2 second-order differences * the p, p1 pressure and its first-order difference Before computations, the features of time sequences were *standardized* the **mean** and **standard** **deviation** for the ith local feature computed over all sampling points of the signature) The **Euclidean distance** function was used to compute the distance between two elements of the time sequences Finally, the obtained **DTW** *distance was divided by the sum of the time sequence length*s . ###### Verification Process A set of **N** reference signatures are selected * the **DTW** distances between the *test signature* and all the reference signatures are computed * the final score results as the average of these distances Finally,this **distance-based score** ![](https://i.imgur.com/L9U3LHc.png) is transformed into a similarity **score** using ![](https://i.imgur.com/4YaxHe7.png) ##### 4.2. Feature-Based Verification The second type of verification system is a **feature-based** or a **global system**. Computes a *fixed size feature vector* from each signature Each feature is a **global feature** related to the signature as a whole The components of our feature-based system are the following: * feature extractor * user template creation * matcher 15 ```No preprocessing was applied. However, before computations, features were scaled (separately for each user). ``` ![Fig 1. ](https://i.imgur.com/eDm9eT8.png) Our feature extractor computed position- and time-based features: * duration * different types of velocity * different types of sign change * few sensor-related features (touchscreen pressure and finger area) * 2 types of histogram-based features. ###### Verification Process 1. **Coordinates of a signature** the **x, y** and the pressure attribute were computed as the first- and second-order differences in these sequences ![](https://i.imgur.com/OiCIdOo.png) 2. **Angles** Were computed in order to derive a uniform-width histogram from this sequence ![](https://i.imgur.com/sJJOCyk.png) The **tan 2 (-1)** trigonometric function is a common variation of the standard **arctan** function, which produces results in the range **-pi**,**pi** . Angles characterize the shape of the signature. This interval of angles was divided into 8 equal bins in order to compute the histogram ![reference link](https://i.imgur.com/VTzxw87.png) This part of the function captures the speed distribution This interval was divided into 16 equal bins for the histogram computation In feature-based methods, each signature is representedby a D-dimensional feature vector User-based scaling of the data meets real biometric verification systems, because **the system does not take into account the data of other users** The performance of the system is increased significantly by normalizing all users’ data in a single step. This type of normalization was already evaluated for the DooDB database ### OSVFuseNet: Online Signature Verification by feature fusion and depth-wise separable convolution based deep learning [Link](https://www.sciencedirect.com/science/article/pii/S0925231220309231) These two entities are the scope of action to address the above requirements: * To address requirement 1, a feature-level fusion [21] is implemented, where in a **representation feature vector** is formed **using handcrafted features** and **deep features** returned by a **convolution auto encoder** * To address the requirement 2, we propose a Depth-wise separable convolution neural network based OSV framework called OSVFuseNet, which uses depth-wise separable convolutions **Depth-wise** separable convolution requires fewer parameters and is computationally effective and still performs equally with the standard convolution operation **Hence, Depth-wise separable** CNNs are more suitable for vision and classification applications in limited memory and computational power scenarios An online signature is described as an agglomeration of stroke points, where each stroke point represents a set of properties like *pressure, azimuthal angle* etc, which are called as **local features** **Global features**, which represents the whole signature are extracted by applying statistical methods on all local features Similarly, recent deep learning-based models has made great advancements in pattern recognition and machine learning tasksç For example, a neural network based autoencoder is utilized to extract the constrained relevant representational features from given input source like image, video and online signature samples, to minimize the reconstruction error for content representation **neural network based autoencoder***extract the constrained relevant representational features*** to minimize the reconstruction error for content representation** Furthermore, the Convolution Neural Network (CNN) is capable of learning the universal representations and function approximation from the original source· #### How CNN works **is capable of learning the universal representations and function approximation from the original source** ## How CNN works is evaluated In literature, to evaluate the classification accuracies of OSV frameworks, the metric called Equal Error Rate (ERR) is used, which represents an intersection point of False Acceptance rate (FAR) and the False Rejection Rate (FRR) in receiver operating characteristic (ROC) curve. The lower is the EER, the higher is the efficiency of the framework ### Revolutionize forensic handwriting analysis [Link](https://www.kaggle.com/code/suriyachayatummagoon/revolutionize-forensic-handwriting-analysis) #### GANs Generative Adversarial Networks, or GANs, are deep learning architecture generative models that have seen wide success.There are thousands of papers on GANs and many hundreds of named-GANs, that is, models with a defined name that often includes “GAN“, such as DCGAN, as opposed to a minor extension to the method. Given the vast size of the GAN literature and number of models, it can be, at the very least, confusing and frustrating as to know what GAN models to focus on. In this post, you will discover the Generative Adversarial Network models that you need to know to establish a useful and productive foundation in the field. ### How CNN works [CNN Tutorial](https://www.kaggle.com/code/kanncaa1/convolutional-neural-network-cnn-tutorial) Normalization, Reshape and Label Encoding Normalization We perform a grayscale normalization to reduce the effect of illumination's differences. If we perform normalization, CNN works faster. Reshape Train and test images (28 x 28) We reshape all data to 28x28x1 3D matrices. Keras needs an extra dimension in the end which correspond to channels. Our images are gray scaled so it use only one channel. Label Encoding Encode labels to one hot vectors 2 => [0,0,1,0,0,0,0,0,0,0] 4 => [0,0,0,0,1,0,0,0,0,0] In [8]: # Normalize the data X_train = X_train / 255.0 test = test / 255.0 print("x_train shape: ",X_train.shape) print("test shape: ",test.shape) x_train shape: (42000, 784) test shape: (28000, 784) In [9]: # Reshape X_train = X_train.values.reshape(-1,28,28,1) test = test.values.reshape(-1,28,28,1) print("x_train shape: ",X_train.shape) print("test shape: ",test.shape) x_train shape: (42000, 28, 28, 1) test shape: (28000, 28, 28, 1) In [10]: # Label Encoding `` from keras.utils.np_utils import to_categorical # convert to one-hot-encoding Y_train = to_categorical(Y_train, num_classes = 10) Using TensorFlow backend`` ### COMPOSV: compound feature extraction and depthwise separable convolution-based online signature verification ### Siamese Neural Network [Link](https://innovationincubator.com/siamese-neural-network-with-pytorch-code-example/) #### Contrastive Loss or Lossless Triplet Loss ### Paper buenisimo MobileNet https://philpapers.org/archive/ALAHSV.pdf