In developing countries, several transactions take place on paper. In countries like India, there is a strong recent initiative to reduce paper based transaction . Detecting and verifying stamps in documents is an important problem since stamps can be indicators of authenticity.
In this paper, we propose a shape based stamp verification/detection approach for Indian document stamps. We resort to an unsupervised feature learning approach for learning an appropriate representation for stamp shapes. Recently, there has been a study that the single layer of convolution filters learned with an unsupervised dictionary learning method such as K-means clustering performs well on object recognition. The accuracy of object recognition improves with more number of dictionary atoms. However, the significance or contribution of each dictionary atom towards the final recognition rate is not reported. We demonstrate that the high recognition rates can be obtained even with less number of dictionary atoms chosen carefully. We propose an atom ranking scheme which then automatically selects the dictionary atoms which are indeed useful for good performance.
We performed experiments on our propriety dataset of scanned caste certificate documents. Due to no restriction enforced on scanning type, a document may or may not contain color which renders color based approaches not usable. Fig. 1 shows example stamp images from our dataset. Our stamp dataset suffers from issues such as faded/poorly imprinted stamps, stamp-text overlap, poor scanning quality, low resolution, time degradations which renders recognition non-trivial. High recognition rates reported in experimental results demonstrate efficacy of our method. Our approach also out-performs off-the-shelf shape descriptors such as Gabor filters.
Ii Our methodology
Ii-a Training data generation
Training data for stamp images was obtained through a crowd-sourcing experiment where each worker was asked to draw a box around stamp. Due to inter-worker variability, the box markings were non-uniform. Stamp data thus suffers from issues such as partial markings, translation and margin variations as can be seen in Fig. 1.
Ii-B Feature learning and extraction
Feature representation for stamp is learned as following.
Randomly sample patches of size from stamp images
Perform ZCA whitening on patches
Perform -means clustering to obtain dictionary atoms
Rank dictionary atoms as described in section II-C
Using the learned dictionary atoms, from an image, features are extracted as following.
Fig. 2(a) shows the learned dictionary () where .
Note that most of the dictionary atoms exhibit the directional nature, however, there are atoms which portrays almost a flat region and are less informative. This can happen because of random sampling of patches where not only stamp regions but also patches from the background get picked. To identify the dictionary elements which are most useful for recognition, we propose a dictionary atom ranking scheme.
Ii-C Ranking dictionary atoms
We randomly pick a stamp image from our training set. From the training image, overlapping patches of size
are obtained from all pixel locations (i.e. stride is set to 1). Letdenotes the patch set. We project on the obtained
where denotes the response of atom for patch and denotes the number of patches in . denotes the intensity value at the center of the patch. Since stamps are on a lighter background, post multiplication by assigns more weight to the patch response if it contains a part of stamp. The above operation is equivalent to convolving filters with the training image, performing rectification on the result and pixel-wise multiplying by an inverted input image. Response for a dictionary atom is calculated as the maximum of an overall response.
where denotes the maximum response attained by atom. We rank the atoms in the descending order of their responses. Fig. 2(b) shows the ranked atoms. Note that the atoms which partly represent the circular shape are ranked higher than the rest. An interesting observation: it may appear that the fifth atom in the first row of Fig. 2(b) does not show directional nature. We note that it actually represents an emblem which appears at the center of most of the stamps. We then chose top atoms to be used for sub-sequent processing. The value for is chosen based on a pre-defined threshold on the maximum response. The red boundary in Fig. 2(b) shows the atoms which are picked in the process.
Iii Experimental results
In this section, we demonstrate results of our method for stamp verification and stamp detection.
Iii-a Stamp verification
Given a test image, our aim is to classify it as a stamp or non-stamp. For obtaining the dataset for non-stamp images, we use the fact that stamps in our documents always lie in the lower half side. We, therefore, randomly sample patches from the upper half only. Our non-stamp set mainly consisted of text regions, background regions or document borders. Our training data thus consist of 882 stamp and 957 non-stamp images. Prior to feature extraction, all the images are converted to grayscale, resized to a fixed dimension and normalized in the range 0 to 1. We use the patch size offor our experiments. The feature set is randomly divided in 70%-30% for training and testing respectively. We train a binary linear SVM classifier on training features and compute classification accuracy on the test set. For comparison, we performed the classification with following settings: subset of ranked dictionary atoms (), use all dictionary atoms (), 64 Gabor filters (8 scale and 8 orientations), 64 Random Filters (RF). Table I shows our classification results. Note that, a small set (approx. rd) of ranked dictionary atoms produces a slightly superior performance as compared to the full set (with less testing time). Testing time reported here is with MATLAB implementation. We also observe that our approach significantly outperforms off-the-shelf shape descriptor such as Gabor filters and a single layer of random filter based recognition.
|Method||# of filters||Acc.||Prec.||Recall||Test time (s)|
Iii-B Stamp detection
The subset of ranked filters can also be used to locate (segment) stamps from images. We convolve the top filters with the input image and perform rectification as per Eq. 1
. We compute an average of the responses from the filters. It is observed that, we get a relatively high response at the stamp locations and a low response at non-stamp locations. Using a moving window sum method, a region of maximum response is located. Bounding box of the stamp is then decided by local threshold based heuristic method. Stamp detection performance is measured as an average Intersection over Union (IoU) overlap between the box markings obtained from the crowd-sourcing experiment and ones which are estimated algorithmically. We get an average IoU overlap of 74.81% which underlines efficiency of our method. Fig.3 shows examples of our detection results.
In this paper, we proposed an unsupervised feature learning based approach for stamp detection and verification. We have demonstrated that the subset of ranked dictionary atoms provides a better performance with less computing. We also proposed a scheme to rank and choose the subset. Experimental results showed an effectiveness of our method.
-  www.digitalindia.gov.in
Adam Coates, Andrew Ng and Honglak Lee, G.An Analysis of Single-Layer Networks in Unsupervised Feature Learning
, Journal of Machine Learning Research (JMLR W-CP), 15:215-223, 2011.