Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
90
Chapter 5
Off-line Signature Recognition based on
Geometric Centre and Angular Features
5.1 Introduction
Signature is widely used as a means of personal identification,
which emphasizes the need for signature recognition system. In this
chapter, Off-line Signature Recognition using Geometric Centers and
Angular Features are discussed.
In case of Off-line Signature Recognition using Correlation of
Geometric features, the signature images are preprocessed by
resizing, filtering to remove noise, skeletonization and considering
the exact signature area. The pixel density and geometric features are
extracted from the preprocessed signature images. The concept of
correlation is used to compare the sixty geometric feature points of
genuine signature with the test signature. If the value of correlation
coefficient is greater than the predefined threshold correlation value,
the test signature is considered as genuine else forged.
The Off-line Signature Recognition based on Angular Features
(OSRAF) includes skeletonization of the signature image and exact
signature area is obtained by preprocessing. The features are
extracted in two phases. In the first phase, the signature is divided
into 128 blocks using the geometric center of signature by counting
the number of black pixels and the angular feature in each block is
determined to generate 128 angular features. In the second phase,
91
the signature is divided into forty blocks from each of the four
corners of the signature to generate forty angular features. Totally
168 angular features are considered from phase one and two to verify
the signature. The difference between the angular features of the
genuine and test signatures is computed and compared with the
threshold value to authenticate the signature.
5.2 Off-line Signature Recognition by Correlation of
Geometric Features
In this section, block diagram of Off-line Signature Recognition
by Correlation of Geometric (OSRCG) features shown in Figure 5.1 is
discussed in detail. The signature images are preprocessed by
resizing and skeletonization. The geometric features are extracted by
vertical and horizontal splitting. The test signature features are
compared with features of signatures in database using correlation.
Figure 5.1: Block diagram of OSRCG system
Signature Database
Preprocessing
Feature Extraction
Correlation
Test Signature
Preprocessing
Feature Extraction
Feature Templates
Match/ Mismatch
92
5.2.1 Signature database
The GPDS300 is an off-line handwritten signature database,
which contains 24 genuine signatures and 30 forgeries of varying
sizes from 300 individuals [120, 121] and available in PNG format.
The genuine and forgery samples of GPDS database for a single
person are shown in Figures 5.2 and 5.3 respectively.
Figure 5.2: Genuine samples from GPDS signature database
93
Figure 5.3: Forgery samples from GPDS signature database
The signatures are also obtained from persons on a blank
white paper at different timings depending upon the mood and stress
levels and are scanned to get images of 96 dpi resolution in BMP
format to create a local database. The local database consists of 220
signature samples of 11 people, of which 110 signatures are genuine
and 110 signatures are forged. Ten signature genuine samples are
obtained from each person at different time instances to produce
enough intra-signature variations. Ten skilled forgeries are obtained
for each person’s signature. The genuine signature is forged after
sufficient training to generate skilled forgery signature for testing.
94
The signature images are of varying sizes. A sample of genuine
signature image is as shown in Figure 5.4.
Figure 5.4: Signature sample from local database
The GPDS database for the proposed OSRCG model is created
by considering first thirty nine persons signature images out of three
hundred persons. The database consists of first twenty samples per
person of the thirty nine persons that is totally seven hundred and
eighty samples. The remaining four samples per person are
considered as test signatures for computing False Rejection Rate
(FRR). The forgery samples are out of database and used for
computing False Acceptance Rate (FAR).
Similarly, the experiment is also performed on a local
database. The database for the proposed model is created by
considering first eight signatures per person of eleven persons. The
other two signatures are used as test signatures for computing FRR.
The forged signatures are used for computing FAR.
5.2.2 Preprocessing
The preprocessing is used to obtain a transformed signature
image with enhanced quality. It includes (i) Noise reduction using
DWT, (ii) Resizing, (iii) skeletonization by morphological operations
and (iv) obtaining the exact signature area.
95
(i) Noise reduction using DWT: The dirt on camera or scanner lens,
imperfections in the dirt on camera or scanner lens, imperfections in
the scanner lighting etc., introduces noise in the scanned signature
images. A filtering function is used to remove noise in the images by
applying DWT.
In DWT the rows of an image are convolved with the system
function of low pass filter and high pass filter to get convoluted
signal. These convoluted signals are down sampled by keeping even
indexed columns. They again are convoluted with transfer functions
of low pass filter and high pass filter. The final convoluted signals are
down sampled to rows, to generate the approximation band and
detailed bands. The approximation band contains low frequency
components; thereby the unwanted noise components are eliminated
by the DWT. The Haar wavelet filter is used in the proposed, since its
hardware implementation is cheaper than that of other wavelets.
The signature image after applying the DWT is shown in Figure 5.5.
Figure 5.5: Signature after applying DWT
96
(ii) Resize: In this process, frame of the signature images with
different sizes are made into a uniform frame of size 150*450.
Resizing is done by pixel averaging, which gives much better quality
than sub-sampling. The resized signature is as shown in Figure 5.6.
(a) (b)
Figure 5.6: (a) Original signature (b) Resized signature
(iii) Skeletonization: Reducing image to single pixel width. An image
can be represented by its skeleton, which consists of the spines of
the object parts. A two dimensional skeleton may consist of curves
(spines), isolated two dimensional points and possibly, two
dimensional surfaces. The generation of a skeleton is realized by
applying an iterative process which erodes the object layer by layer
until only the object spines remain, which form the skeleton of the
two dimensional image. The skeletonization is done by removing the
pixels on the boundary of the signature image without allowing the
signature image to break apart. This process is achieved by
performing morphological operations on signature image using skel
function. The signature image after skeletonization is as shown in
Figure 5.7.
97
Figure 5.7: Signature after skeletonization
(iv) Exact signature area: The signature image might not be present
on the entire frame, so the exact signature area is considered in the
skeletonized image for further analysis. The signature image scanned
from all the four sides to locate first black pixel. Then the new image
frame is formed to obtain exact signature area. This reduces
verification time and is cost effective. The Figure 5.8 shows the image
with exact signature area.
Figure 5.8: Exact signature area
5.2.3 Feature Extraction
The two sets of features are extracted in two-dimensional plane
from the signature image obtained on skeletonization. The vertical
splitting and horizontal splitting are two main steps to retrieve the
features. Each set has thirty features, which represent the stroke
distribution of signature pixels in an image. These sixty features are
computed using geometric centers.
98
(i) Feature points based on vertical splitting:
The signature image is scanned to count the number of black pixels.
The number of black pixels is divided by two to locate geometric
centre. The signature image is split into left and right blocks with a
vertical line passing through the geometric centre. Geometric centers
v1 and v2 are computed for left and right parts of the signature
respectively. The left part is split with a horizontal line passing
through v1 to obtain top and bottom parts. The geometric centers v3
and v4 of top and bottom parts of left part are computed. Similarly,
the right part is split with a horizontal line passing through v2 to
obtain top and bottom parts. The geometric centers v5 and v6 of top
and bottom parts of right part computed. Similarly, each block of the
signature image is split to compute thirty geometric centers as shown
in Figure 5.9.
Figure 5.9: Vertical splitting of the signature
(ii) Features based on horizontal splitting: The signature image is
scanned to count the number of black pixels. The total number of
black pixels is divided by two to locate geometric centre. The
signature image is split into top and bottom blocks with a horizontal
99
line passing through the geometric centre. Geometric centers h1 and
h2 are computed for top and bottom parts of the signature
respectively. The top part is split with a vertical line passing through
h1 to obtain left and right parts. The geometric centers h3 and h4 of
left and right parts of top part are computed. Similarly, the bottom
part is split with a vertical line passing through h2 to obtain left and
right parts. The geometric centers h5 and h6 of left and right parts of
bottom part computed. Similarly, each block of the signature image
is split to compute thirty geometric centers as shown in Figure 5.10.
Figure 5.10: Horizontal splitting of the signature
5.2.4 Verification
The matching between the genuine signature and test
signature is done based on correlation between the X and Y
components of thirty vertical and thirty horizontal features of
genuine and test signatures. The correlation coefficient R(X,Y) is
calculated using the Equation 5.1.
100
---- (5.1)
where N is total number of features.
The correlation coefficients of X and Y components of vertical
and horizontal features of test and database signatures are compared
with variable threshold values. It is observed that the genuine
signatures are recognized properly for the correlation coefficient
R(X,Y) of 0.94 for local database and 0.824 for GPDS database.
5.2.5 Proposed OSRCG Algorithm
Consider a signature image of a subject whose identity has to be
verified. The objectives are to:
(i) Preprocess the signature image and extract the features by
splitting operation
(ii) Verify the authenticity of the test signature by correlation
technique
(iii) Reduce the error rates
The OSRCG algorithm in which the authenticity of the test
signature image is verified is given in Table 5.1. The signature is
preprocessed to remove the noise contents. The features are
extracted from preprocessed images by vertical and horizontal
2
12
1 1
2
2
1 1
2
111,
N
i
N
iii
N
i
N
iii
N
ii
N
ii
N
iii
YYNXXN
YXYX
YXR
101
splitting. The features of test signatures are compared with genuine
signature using correlation.
Table 5.1: OSRCG Algorithm
Input: Signature database and test signatures.
Output: Match/ Mismatch of the test
signature.
1. Signatures are resized and skeletonized
2. Thirty horizontal feature points and thirty
vertical feature points are extracted by
splitting.
4. Extracted features are stored in the database.
5. The test signature features are compared with
the features in database using correlation.
6. If the value of correlation coefficient is greater
than the predefined threshold value, the
signature is declared genuine else forged.
5.2.6 Performance Analysis
The proposed OSRCG model is tested on local and GPDS
databases. The algorithm is simulated on Matlab version 7.8. The
performance parameters FAR and FRR of the proposed model for
local database for different values of threshold correlation are given
in Table 5.2. It is observed that the percentage values of FRR
102
increases and percentage values of FAR decreases with the increase
in threshold correlation.
Table 5.2: Variations of FRR and FAR with threshold correlation for
local database
Correlation threshold
%FRR %FAR
0.7 0 78.4
0.8 0 57.85
0.9 0 33.33
0.92 1.66 25.55
0.94 7.76 8.88
0.96 29.40 4.44
0.97 48.5 1.7
0.98 84.2 0
The plot of FAR and FRR with threshold correlation for local
database is shown in Figure 5.11. As threshold correlation increases,
the percentage value of FRR increases and FAR decreases. The value
of EER obtained is 8 for local database corresponding to optimal
correlation threshold of 0.935 at a point where FAR equals to FRR.
The performance parameters FRR and FAR of the proposed
model for different values of threshold correlation for GPDS database
are given in Table 5.3. It is observed that the percentage values of
FRR increases and percentage values of FAR decreases with the
increase in threshold correlation.
103
Figure 5.11: FAR and FRR against threshold correlation for
local database
Table 5.3: Variations of FRR and FAR with threshold correlation for
GPDS database
Correlation threshold
%FRR %FAR
0.8 22.3 34.1
0.82 27.2 29.2
0.84 33.2 23.3
0.86 39.1 17.7
0.88 48.1 12.0
0.91 61.4 5.7
0.94 77.5 1.8
The plot of FAR and FRR for the variation of correlation
threshold values for GPDS database is shown in Figure 5.12. As
threshold correlation increases, the percentage value of FRR
104
increases and FAR decreases. The value of EER obtained is 27.8
corresponding to optimal correlation threshold of 0.824 at a point
where FAR equals to FRR. The value of EER for GPDS database is
high compared to EER value for local database, since local database
is not standard one.
Figure 5.12: Plot of FAR and FRR v/s threshold for GPDS database
The comparison of EER values of the proposed OSRCG model
with existing models are given in Table 5.4. The EER value of the
proposed model is better compared to existing methods proposed by
Hairong Lv et al., [122], Rekik et al., [123] and Suhail and Manal
[124]. The performance of the proposed algorithm is improved for the
reasons: (i) the exact signature area is considered and (ii) the
105
splitting is done by both vertical and horizontal methods to generate
features.
Table 5.4: Comparison of EER values of the proposed model with the
existing models for GPDS database
Method Preprocessing Feature extraction % EER
Hairong Lv et al., [122]
Noise reduction, binarization,
thinning
Moment features, direction, gray and
stroke width distribution
27.9
Rekik et al., [123]
Binarization, histogram,
median filtering
Signature segmentation into
blocks 32.83
Suhail and Manal [124]
Resizeing, binarization,
segmentation, thinning
Eccentricity, skewness, orientation
36
Proposed OSRCG method
Resize, skeletonization, exact signature
area
Geometric features by vertical and
horizontal splitting 27.8
5.3 Off-line Signature Recognition using Angular
Features
In this section block diagram of Off-line Signature Recognition
using Angular Features (OSRAF) shown in Figure 5.13 is discussed
in detail. The signature images are preprocessed by resizing and
skeletonization. The exact signature area is considered for feature
extraction. The angular features are extracted with respect to centre
of the signature by splitting in two phases.
106
Figure 5.13: Block diagram of OSRAF system
5.3.1 Signature database
The GPDS300 signature database and local database are
considered as input to the proposed system.
5.3.2 Preprocessing
The signature image is preprocessed to enhance image quality.
The preprocessing includes filtering, resizing, skeletonization by
morphological operations and considering the exact signature area.
(i) Filtering: The noise present in the signature is removed using DWT
technique. The DWT separates low frequency and high frequency
components by filtering. The noise is present in the high frequency
components, and hence the low frequency components of the
Preprocessing
Test Signature
Matching
Decision
N
Signature Database
Preprocessing
Angular Feature Extraction
Feature templates
Y RandomForgery
Angular Feature Extraction
Reject
107
signature are considered. The signature image after applying DWT is
as shown in Figure 5.14.
Figure 5.14: Signature after applying DWT
(ii) Resize: The images are resized to 150*450 instead of having
signatures of different dimensions. Algorithm needs all the signatures
to be of same size so that fair comparison is made among the
signatures to produce better results.
(iii) Skeletonization: It is the process of reducing image to single pixel
width, which consists of the spines of the object parts. A two
dimensional skeleton may consist of curves (spines), isolated two
dimensional points and two dimensional surfaces. The generation of
a skeleton is realized by applying an iterative process, which erodes
the object layer by layer until only the object spines remain, which
108
form the skeleton of the two dimensional image. The skeletonization
is done by removing the pixels on the boundary of the signature
image without allowing the signature image to break apart. The
process is achieved by morphological operations on signature image.
The Figure 5.15 shows the signature after skeletonization.
Figure 5.15: Signature after skeletonization (iv) Exact signature area: The signature image might not be present
on the entire frame. The exact signature area is considered in the
skeletonized image for further analysis. The signature image is
scanned horizontally from top to get the first black pixel row a1 of the
image and is the value of the row variable i corresponding to first
black pixel. The signature image is scanned from the bottom to get
the last black pixel row a2 of signature and is the value of the row
variable i corresponding to last black pixel. The horizontal scanning
for finding the top row and bottom row of the exact signature area is
given by the Equations 5.2 and 5.3 respectively.
M
i
N
js jiI
1 1
0, ---------------- (5.2)
N
i
M
js jiNI
1 1
0,1 ---------------- (5.3)
where M is the number of rows and N is the number of columns and
Is(i , j) is the skeletonized signature image.
109
The signature image is scanned vertically from left to get the
first black pixel column a3 of the image and is the value of the
column variable j corresponding to first black pixel. The signature
image is scanned vertically from right to get the last black pixel
column a4 of the signature and is the value of the column variable
j corresponding to last black pixel. The vertical scanning for finding
exact signature area is given by the Equations 5.4 and 5.5. The
Figure 5.16 shows the image with exact signature area.
M
j
N
is jiI
1 1
0, ----------- (5.4)
M
j
N
is jMiI
1 1
01, ----------- (5.5)
where yxI s . is the skeletonized signature image.
Figure 5.16: Exact signature area
5.3.3 Random Forgery Detection
The random forgery is detected before the feature extraction.
The number of rows ir and columns ic are obtained for all the ten
genuine signatures using the Equations 5.6 and 5.7 respectively.
iii aar 21 ----------- (5.6)
iii aac 43 ----------- (5.7)
110
where a1i is the first row containing the black pixel in the ith
signature, a2i is the last row containing the black pixel in the ith
signature, a3i is the first column containing the black pixel in the ith
signature, a4i is the last column containing the black pixel in the ith
signature and i=1, 2, 3, …10.
The average number of rows avgR and columns avgC are
obtained using the Equations 5.8 and 5.9 respectively.
GS
N
ii
avgN
r
R
GS
1
-------------- (5.8)
where ri is the number of rows representing the ith signature and NGS
is the total number of genuine signatures.
GS
N
jj
avgN
c
C
GS
1
----------- (5.9)
where Cj is the number of columns representing the jth signature and
NGS is the total number of genuine signatures.
The number of rows RTi and columns CTi of test signature are
computed and compared with avgR and avgC respectively. If the
absolute value of the difference between Ravg and RTi and the absolute
value of the difference between Cavg and CTi are less than or equal to
predefined threshold, then the test signature is considered as skilled
forgery else random forgery.
111
5.3.4 Feature extraction
The angular features are extracted in two phases. In first
phase, the preprocessed signature image is made to undergo vertical
and horizontal splitting. The skeleton of the signature image is
scanned from left to right and top to bottom to count the total
number of black pixels. The total number of black pixels is divided by
two to locate geometric centre. The signature image is split into top
and bottom blocks with a horizontal line passing through the
geometric centre. The geometric centers of top and bottom parts are
located by counting the number of black pixels. The splitting
procedure used to get 128 blocks is shown in Figure 5.17. The angle
of geometric center with respect to top left pixel is computed and the
corresponding diagram is as shown in Figure 5.18. The top block of
the signature is split into left and right parts with vertical line
passing through the geometric center of the top block. The geometric
centers of the left and right parts are located and the corresponding
angles are computed. This process of computing the geometric
centers and the corresponding angles is continued till 128 angles.
Figure 5.17: Horizontal and Vertical splitting of the signature
112
The distance between top left reference point and the geometric
centre of signature is obtained by the Equation 5.10.
Distance = 2
122
12 )()( jjii ------------- (5.10)
where ),( 22 ji and ),( 11 ji are the coordinates of two points.
The angle is computed using the Equation 5.11.
AC
ABi
1cos --------------- (5.11)
where 128........4,3,2,1i , adjacent side AB and hypotenuse AC are
given by Equations 5.12 and 5.13 respectively. A(1,1) is the reference
point and C(i, j) is the geometric center.
Figure 5.18: Geometric center angle
22 )1()1( jiAC ------------ (5.12)
1 jAB -------------- (5.13)
The number of blocks can be increased further but there may
be the case where the angle computed would be infinity. As the pixel
113
appears on the top left corner of the block, hypotenuse becomes zero,
hence the numbers of blocks are limited to 128.
The second phase consists of division of an image into
dimensions which are predefined. The image is divided into ten
square blocks containing 1, 4, 9, 16, 25, 36, 49, 64, 81 and 100
pixels as shown in the Figure 5.19. The Figures 5.19(a), 5.19(b),
5.19(c) and 5.19(d) correspond to division of the signature image
from top left, top right, bottom left and bottom right respectively.
Each division produces ten blocks, which leads to totally forty blocks.
The angular features for these forty blocks are computed. The total
number of angular features obtained from first and second phase is
one hundred and sixty eight.
(a) (b) (c) (d)
Figure 5.19: Division of signature image
5.3.5 Verification
The comparison between the genuine signature and test
signature is made by computing the difference between the angles in
radians obtained for both the signatures. A threshold is set which
decides the authenticity of the signature. The threshold value of 0.26
radians is considered for verification purpose. The absolute difference
between i th angle Gi of the genuine signature and i th angle Ti of the
114
test signature is computed and compared with the predefined
threshold as given in the Equation 5.14.
26.0 TiGi ---------- (5.14)
where 168........4,3,2,1i .
If the number of angles having difference less than or equal to
0.26 radians threshold for minimum of 133 blocks from total of 168
blocks, then the test signature is considered genuine otherwise
forged signature.
5.3.6 Proposed OSRAF Algorithm
Consider a signature image of a person whose identity has to
be verified. The objective is to obtain low FAR, FRR and EER values.
The OSRAF algorithm is given in Table 5.5. The signature is
preprocessed to resize and skeletonize. The angular features are
extracted in two phases. The test signature features are compared
with database signatures to authenticate based on threshold values.
115
Table 5.5 OSRAF Algorithm
Input: Signature database and test signatures.
Output: Match/ Mismatch.
1. Preprocess the signature image for efficient feature
extraction.
2. Horizontal and vertical splitting of the signature
image is carried out based on number of black pixels
to obtain 128 blocks. The centre of signature of all
the blocks is computed to determine angular features
in the first phase.
3. The signature is divided into 40 blocks from four
corners of the signature to get angular features in the
second phase.
4. The angular features extracted in two phases are
stored in the database.
5. The features in database are compared with the
feature extracted from the test signature.
6. If the difference in angular features between test and
genuine signatures are less than threshold value for
133 blocks out of 168, then the signature is genuine.
5.3.7 Performance Analysis
For the performance analysis, the local signature database and
GPDS are considered. The MATLAB version 7.8 is used for
implementation of the proposed algorithm.
116
The performance parameters FRR and FAR of the proposed
model for local database for different values of threshold are given in
Table 5.6. It is observed that the values of FRR decreases and FAR
increases with the increase in threshold. If the FAR of a system is
same as the FRR then the system is said to be in an optimal state.
The corresponding value of error is EER.
Table 5.6: Variations of FRR and FAR values with threshold for local
database
Threshold %FRR %FAR
0.10 100 0
0.15 85.5 0.25
0.20 45.52 0.50
0.25 11.65 4.75
0.26 4.99 8.50
0.30 1.11 22.75
0.35 0 51.25
0.40 0 75.12
The graph of FAR and FRR in case of local database obtained
for different values of threshold is shown in Figure 5.20. As threshold
increases, the value of FRR decreases and FAR increases. The value
of EER obtained is 7.2 corresponding to optimal threshold of 0.256 at
a point where FAR equals to FRR.
117
Figure 5.20: Plot of FAR and FRR v/s threshold for local database
The EER values with local database for the proposed method
OSRAF using angular features is less compared to the proposed
method OSRCG using geometric centre features only. The EER
values for two proposed methods are given in Table 5.7.
Table 5.7: Comparison of EER values for local database
OSRCG 8.0
OSRAF 7.2
The performance parameters FRR and FAR of the proposed
model for different values of threshold for GPDS database are given
in Table 5.8. It is observed that the percentage values of FRR
decreases and FAR increases with the increase in threshold.
118
Table 5.8: Variations of FRR and FAR values with threshold for
GPDS database
Threshold %FRR %FAR
0.10 98.1 0
0.15 85.5 2.2
0.20 53.5 6.5
0.25 35.6 18.7
0.30 12.1 38.7
0.35 2.0 51.2
0.40 0 75.1
The graph of FAR and FRR in case of GPDS database obtained
for different values of threshold is shown in Figure 5.21. As threshold
increases, the value of FRR decreases and FAR increases. The value
of EER obtained is 26.34 corresponding to optimal correlation
threshold of 0.27 at a point where FAR equals to FRR.
The value of EER for GPDS database is high compared to EER
value for local database, since local database is not standard one.
119
Figure 5.21: FAR and FRR v/s threshold for GPDS database
The comparison of EER values of the proposed OSRAF model
with other methods is given in Table 5.9. The EER value of the
proposed model is better compared to existing methods presented by
Hairong Lv al., [122], Rekik et al., [123] and Suhail and Manal [124].
The performance of the proposed algorithm is improved for the
reasons: (i) the exact signature area is considered and (ii) the splitting
is done by both vertical and horizontal scanning to generate angular
features.
120
Table 5.9: Comparison of EER values of the proposed model with
existing systems for GPDS database
Method Preprocessing Feature extraction % EER
Hairong Lv et al., [122]
Noise reduction, binarization,
thinning
Moment features, Direction, gray and
stroke width distribution
27.9
Rekik et al., [123]
Binarization, histogram,
median filter
Signature segmentation into
blocks 32.83
Suhail and Manal [124]
Resize, Binarization, segmentation,
thinning
Eccentricity, skewness, orientation
36
Proposed OSRAF method
Resize, skeletonization, exact signature
area
Angular features in two phases
26.34
5.4 Summary
The proposed OSRCG algorithm which is based on the sixty
geometric centre features is discussed in this chapter. The DWT is
used in the preprocessing stage to remove noise in the signature
image and then skeletonized. The sixty geometric centre features are
determined by horizontal and vertical splitting of signatures. The
matching between test and database signatures is done by
correlation.
The OSRAF algorithm based on the angular features is also
discussed in this chapter. The angular features from preprocessed
signature are extracted in two phases. The angular features are
121
compared using distance formula. It is observed that the error rates
are low in the case of proposed algorithms compared to existing
algorithms.