DOI QR코드

DOI QR Code

Study on gesture recognition based on IIDTW algorithm

  • Tian, Pei (School of information engineering, Communication University of China) ;
  • Chen, Guozhen (School of information engineering, Communication University of China) ;
  • Li, Nianfeng (School of information engineering, Communication University of China)
  • Received : 2018.12.28
  • Accepted : 2019.07.12
  • Published : 2019.12.31

Abstract

When the length of sampling data sequence is too large, the method of gesture recognition based on traditional Dynamic Time Warping (DTW) algorithm will lead to too long calculation time, and the accuracy of recognition result is not high.Support vector machine (SVM) has some shortcomings in precision, Edit Distance on Real Sequences(EDR) algorithm does not guarantee that noise suppression will not suppress effective data.A new method based on Improved Interpolation Dynamic Time Warping (IIDTW)algorithm is proposed to improve the efficiency of gesture recognition and the accuracy of gesture recognition. The results show that the computational efficiency of IIDTW algorithm is more than twice that of SVM-DTW algorithm, the error acceptance rate is FAR reduced by 0.01%, and the error rejection rate FRR is reduced by 0.5%.Gesture recognition based on IIDTW algorithm can achieve better recognition status. If it is applied to unlock mobile phone, it is expected to become a new generation of unlock mode.

Keywords

0. Quote

 With the rapid development of information technology in the world, more and more mobile phone users begin to pay more and more attention to the safety and convenience of mobile phone use. This is mainly because there is a large amount of important information stored on the mobile phone, many users bind it with their identity, so the security of the mobile phone is particularly important. In addition, there are many items used by users in today's era, so simplifying the operation steps of a single item has become a strong call (that is, convenience) in today's era. Based on the security and convenience of mobile phone use, this paper studies the topic of mobile phone smart unlock.

 As we know, smart phone unlock has become a mainstream trend in today's era, such as TouchID fingerprint recognition technology introduced by iPhone5s [1] and FaceID facial recognition technology introduced by iPhoneX [2]. However, some current smart unlock methods require some expensive chips to be installed on mobile phones, which directly leads to a sharp rise in the cost of mobile phone users in the world. For example, the Chinese market price of mobile phones without fingerprint unlock and facial unlock is about 1, 000 yuan, while the market price of mobile phones with any of the above functions is generally higher than 2, 000 yuan. In addition, these mainstream smart unlock methods are unreliable because they rely on biometric traits that will eventually be changed[3] or damaged[4].Therefore, it is of great significance to study a reliable and inexpensive gesture recognition intelligent unlock system.

 Based on the above reasons, this paper analyzes and studies the gesture password intelligent unlock system. The main principle of this system is that when a mobile phone user takes his mobile phone to make a specific action, the data collected by the mobile phone sensor is verified by some matching algorithms. If the verification passes, the unlock is completed; if the verification fails, the unlock operation is not performed.

 The core of the unlocking system is the matching algorithm, which is mainly the DTW matching method [5]. However, this algorithm cannot meet the requirements for the gesture identification system with high precision. In addition, this algorithm has a low operating efficiency. If it is faced with a large gesture database [6], this disadvantage of this algorithm will be obvious. Last year, we first proposed the concept of gesture password unlocking[7]. At that time, the matching algorithm adopted was a combination of SVM and DTW. However, although this algorithm can perform well in accuracy, it still has great room for improvement in computational efficiency.Considering the processing accuracy and computational efficiency, a gesture recognition system based on IIDTW algorithm is proposed.Let's start with the data objects that the algorithm handles.

 

1. Trajectory data

 In this experiment, data of linear acceleration sensor, gyroscope sensor, rotation vector sensor and pressure sensor are collected to describe the running trajectory of user gesture through data of the first three sensors. The algorithm to generate the trajectory data is as follows:

 

1.1 Effective interception of gesture data

 Firstly, the source gesture data needs to be intercepted effectively. In this experiment, the whole collection process is to press the button to start the collection and release the button to end the collection. Therefore, at the beginning and the end, the pressure sensor will produce obvious changes. We regard this obvious change as the transition time of the effective data, so we can use the return value of the pressure sensor to intercept the data.

 It is advisable to assume that the data set of A pressure sensor is \(\mathrm{D}_{1}, \mathrm{D}_{2}, \mathrm{D}_{3,} \cdots, \mathrm{D}_{\mathrm{n}}\). If the KTH value Dk satisfies condition \(\frac{\left|D_{k+1}-D_{k}\right|}{D_{k-2}} \geq 1 \%\left(\mathrm{k}=1,2, \cdots, \frac{\mathrm{n}}{2}\right)\) , data Dk is considered invalid; if the KTH value Dk satisfies condition  \(\frac{\left|D_{k}-D_{k-1}\right|}{D_{k}} \geq 1 \%\left(\mathrm{k}=\frac{\mathrm{n}}{2}, \frac{\mathrm{n}}{2}+1, \cdots, \mathrm{n}\right)\), data Dk is considered invalid. This method can effectively eliminate the data that interferes with the data collection this time.

 

1.2 Gesture coordinate transformation

 After intercepting gesture data, the vector data of linear acceleration sensor and gyro sensor need to be converted to the earth coordinate system. This paper mainly uses the quaternion method[8] to realize the conversion of gesture data to the earth coordinate system.Now let's give a specific introduction to its implementation.

 Quaternion method, its basic form is to use a scalar and three vectors together to represent one data, such as  \(\mathrm{q}=\lambda+p_{1} i+p_{2} j+p_{3} k\), if expressed by the quaternion method can be written as \(q=\cos \frac{\theta}{2}+\sin \frac{\theta}{2} n\) , only the following formula is true:

\(\lambda=\cos \frac{\theta}{2}, p_{1}=\sin \frac{\theta}{2} \cdot n_{x}, p_{2}=\sin \frac{\theta}{2} \cdot n_{y}, p_{3}=\sin \frac{\theta}{2} \cdot n_{z}\)       (1)

 Where \(n=\left(\mathrm{n}_{\mathrm{x}}, \mathrm{n}_{\mathrm{y}}, \mathrm{n}_{\mathrm{z}}\right)\) .Now we need to find a transformation matrix \(R(\mathrm{n}, \theta)\)  that allows v to rotate \(\theta\)  around axis n and get a new vector v’, which is \(R(n, \theta) v=v^{\prime}\) .Now, let's break down vector v into two components that are parallel and perpendicular to axis n, which we'll call v|| and \(\mathbf{V}_{\perp}\) . It's easy to see that v|| doesn't change as it rotates around axis n, and  \(\mathbf{V}_{\perp}\) changes as it rotates around axis n, so  \(\mathrm{v}^{\prime}=v_{1}+v_{\perp}^{\prime}\). Now construct the intermediate variable w to satisfy  \(|\mathbf{w}|=\left|\mathbf{v}_{\perp}\right|\) , and  \(\mathbf{w}=\mathbf{v}_{\|} \times \boldsymbol{v}_{\perp}\), then formula (2) is true:

\(\left\{\begin{array}{l}v^{\prime}=v_{\|}+v_{\perp}^{\prime} \\v_{\perp}^{\prime}=v_{\perp} \cos \theta+w \sin \theta &&&& \text{where n is a vector of unit length} \\w=n \times v_{\perp} \\v_{\|}=(v \cdot n) n\end{array}\right.\)       (2)

 By derivation, we can get:

\(\mathrm{v}^{\prime}=(\mathrm{v}-(\mathrm{v} \cdot \mathrm{n}) \mathrm{n}) \cos \theta+(\mathrm{v} \times \mathrm{n}) \sin \theta+(\mathrm{v} \cdot \mathrm{n}) \mathrm{n}\)       (3)

 Now, take the three basis vectors \(\mathrm{p}_{1}=(1,0,0)^{T}, \mathrm{p}_{2}=(0,1,0)^{T}, \mathrm{p}_{3}=(0,0,1)^{T} \)  of the geodetic coordinate system and rotate around the coordinate axis  \(n=\left(n_{x}, n_{y}, n_{z}\right)\) of the mobile phone coordinate system respectively, that is, let the vector v be equal to   respectively, and substitute into formula (3), the following results can be obtained:

\(R(\mathrm{n}, \theta)=\left[\begin{array}{ccc}n_{x}^{2}(1-\cos \theta)+\cos \theta & n_{x} n_{y}(1-\cos \theta)+n_{z} \sin \theta & n_{x} n_{z}(1-\cos \theta)-n_{y} \sin \theta \\n_{x} n_{y}(1-\cos \theta)-n_{z} \sin \theta & n_{y}^{2}(1-\cos \theta)+\cos \theta & n_{y} n_{z}(1-\cos \theta)+n_{x} \sin \theta \\n_{x} n_{z}(1-\cos \theta)+n_{y} \sin \theta & n_{y} n_{z}(1-\cos \theta)-n_{x} \sin \theta & n_{z}^{2}(1-\cos \theta)+\cos \theta\end{array}\right]\)       (4)

Then, according to formula (1), the relation between \(R(\mathbf{n}, \boldsymbol{\theta})\)  and \(\lambda, p_{1}, p_{2}, p_{3}\)  can be obtained by  using semi-angular formula \(1-\cos \theta=2 \sin ^{2} \frac{\theta}{2}, \cos \theta=1-2 \cos ^{2} \frac{\theta}{2}, \sin \theta=2 \sin \frac{\theta}{2} \cos \frac{\theta}{2}\) and the property \(values[0]^{2}+$ values [1]^{2}+values [2]^{2}+ values [3]^{2}=1\)  of the rotating vector sensor, as shown in formula (5).

\(R(\mathrm{n}, \theta)=\left[\begin{array}{ccc}\lambda^{2}+p_{1}^{2}-p_{2}^{2}-p_{3}^{2} & 2\left(p_{1} p_{2}+\lambda p_{3}\right) & 2\left(p_{1} p_{3}-\lambda p_{2}\right) \\2\left(p_{1} p_{2}-\lambda p_{3}\right) & \lambda^{2}-p_{1}^{2}+p_{2}^{2}-p_{3}^{2} & 2\left(p_{2} p_{3}+\lambda p_{1}\right) \\2\left(p_{1} p_{3}+\lambda p_{2}\right) & 2\left(p_{2} p_{3}-\lambda p_{1}\right) & \lambda^{2}-p_{1}^{2}-p_{2}^{2}+p_{3}^{2}\end{array}\right]\)       (5)

 Of which,  \(\lambda, p_{1}, p_{2}, p_{3}\) is from   of the rotating vector sensor.Considering the differences of mobile phone manufacturers, \(\lambda\)  here is set as \(\sqrt{1-\text {values}[0]^{2}-\text {values}[1]^{2}-\text {values}[2]^{2}}\) . In this way, formula (5) can be used to convert the initial data of the linear acceleration sensor and the gyroscope sensor into the data in the inertial coordinate system.

 

1.3 Trajectory data generation

 Now we introduce the algorithm of gesture trajectory data generation. Now we have linear acceleration data in the earth coordinate system (\(a_{x j}, a_{y j}, a_{z j}, i=1,2 \dots\) , n represents the iTH data), gyro angular velocity data (\(\mathbf{v}_{\mathrm{xi}}, \mathrm{v}_{\mathrm{yi}}, \mathrm{v}_{\mathrm{zi}}, \mathrm{i}=1,2 \ldots\) , n represents the iTH data), and the working frequency of the sensor is known to be f. If tn-1 represents the previous time of the NTH data at time and tn represents the time of the NTH data at time, then tn-1=(n-1)/f and tn=n/f.

 Now, if we project this data onto three axes, and we analyze it, we find that there are four known variables on each axis, for example, on the X-axis, there are known variables \(\mathrm{V}_{\mathrm{X}(\mathrm{n}-1)}, \mathrm{A}_{\mathrm{X}(\mathrm{n}-1)}, \mathrm{V}_{\mathrm{Xn}}, \mathrm{a}_{\mathrm{X} \mathrm{n}}\). Now, assuming that the x coordinate value of the (n-1) data is xn-1, if we want to find the coordinate of the next data, xn, we need to find the displacement distance s on the X-axis.

 Now modeling with the above conditions, for a variable speed curve motion, it has 4 known variables. Considering that the modeling method of cubic polynomial can guarantee certain accuracy and not be too complicated, this experiment adopts the mathematical model based on the speed and acceleration of cubic polynomial, and the specific implementation is as follows.

 Assuming that the velocity vxn(t) in the NTH time interval satisfies the expression: \(\underline{v}_{x_{n}}(t)=p x_{1 n} t^{3}+p x_{2 n} t^{2}+p x_{3 n} t+p x_{4 n}\), then the acceleration axn(t) in this time satisfies the expression: \(\underline{a}_{x n}(t)=3 p x_{1 n} t^{2}+2 p x_{2 n} t+p x_{3 n} \), substitute the above four known variables into these two expressions, and get:

\(\left\{\begin{array}{c}3 \mathrm{px}_{1 \mathrm{n}} \mathrm{t}_{n-1}^{2}+2 \mathrm{px}_{2 \mathrm{n}} \mathrm{t}_{\mathrm{n}-1}+\mathrm{px}_{3 \mathrm{n}}=a_{x(n-1)} \\3 \mathrm{px}_{1 \mathrm{n}} \mathrm{t}_{\mathrm{n}}^{2}+2 \mathrm{px}_{2 \mathrm{n}} \mathrm{t}_{\mathrm{n}}+\mathrm{px}_{3 \mathrm{n}}=a_{x n} \\p x_{1 n} t_{n-1}^{3}+p x_{2 n} t_{n-1}^{2}+p x_{3 n} t_{n-1}+p x_{4 n}=v_{x(n-1)} \\p x_{1 n} t_{n}^{3}+p x_{2 n} t_{n}^{2}+p x_{3 n} t_{n}+p x_{4 n}=v_{x n}\end{array}\right.\)       (6)

 In order to solve the coefficient px1n, px2n, px3n, px4n, it needs to be converted into matrix form first, as shown in formula (7),

\(\left[\begin{array}{cccc|c}3 t_{n-1}^{2} & 2 t_{n-1} & 1 & 0 & a_{x(n-1)} \\3 \mathrm{t}_{n}^{2} & 2 \mathrm{t}_{n} & 1 & 0 & a_{x n} \\t_{n-1}^{3} & t_{n-1}^{2} & t_{n-1} & 1 & v_{x(n-1)} \\t_{n}^{3} & t_{n}^{2} & t_{n} & 1 & v_{x n}\end{array}\right]\)       (7)

 A solution of four unknown numbers can be obtained by solving the formula (7),

\(\left\{\begin{array}{c}\mathrm{px}_{1 \mathrm{n}}=f^{2}\left(a_{x(n-1)}+a_{x n}\right)+2 f^{3}\left(v_{x(n-1)}-v_{x n}\right) \\p x_{2 n}=f(2-3 n)\left(a_{x(n-1)}+a_{x n}\right)+3 f^{2}(2 n-1)\left(v_{x(n-1)}+v_{x n}\right) \\p x_{3 n}=n a_{x(n-1)}(3 n-2)+a_{x n}(3 n-1)(n-1)+6 f n(n-1)\left(v_{x(n-1)}-v_{x n}\right) \\p x_{4 n}=-\frac{n(n-1)}{f}\left[n a_{x(n-1)}+a_{x n}(n-1)\right]-n^{2} v_{x(n-1)}(2 n-3)+v_{x n}\left(2 n^{3}-3 n^{2}+1\right)\end{array}\right.\)       (8)

 Then the displacement expression for the interval is:

\(s_{x n}(t)=\frac{1}{4} p x_{1 n} t^{4}+\frac{1}{3} p x_{2 n} t^{3}+\frac{1}{2} p x_{3 n} t^{2}+p x_{4 n} t+C_{n}\)       (9)

 Where, the value interval of t is [tn-1, tn], and the time t is substituted into the formula (9) to get

\(C_{x n}=s_{x(n-1)}(t-1)-\left[\frac{(n-1)^{4}}{4 f^{4}} p x_{1(n-1)}+\frac{(n-1)^{3}}{3 f^{3}} p x_{2(n-1)}+\frac{(n-1)^{2}}{2 f^{2}} p x_{3(n-1)}+\frac{n-1}{f} p x_{4(n-1)}\right]\)       (10)

 By using formula (10), the x-direction coordinate value sxn(n) corresponding to each movement of gesture data can be calculated step by step by iterative method.

 Similarly, we can calculate the coordinates syn(n) and szn(n) corresponding to the other two axes. Therefore, the inertial trajectory coordinate corresponding to each movement of gesture data can be represented by \(\left(\mathrm{S}_{\mathrm{xn}}(\mathrm{n}), \mathrm{S}_{\mathrm{yn}}(\mathrm{n}), \mathrm{s}_{\mathrm{zn}}(\mathrm{n})\right)\), which is the object solved by matching algorithm.

 

1.4 Gesture data completion and fitting

 The converted gesture source data set may be denoted as AX’i(n), AYi’(n), AZi’(n), where i=1, 2, ..., 10 represents the ith data collection, and n=1, 2, 3, ... represents the length of data obtained by each data collection. In addition, due to the different speed of data collection, the length of these 10 data sets will be different, which will affect data fitting. Therefore, the above multiple sets of data (and the data to be tested) should be uniformly supplemented to a certain length L to make it meet \(\mathrm{L}=\max _{0<\mathrm{i}<11}\){length(AX’i(n)), length(AY’i(n)), length(AZ’i(n))}, where length(AX ’i (n)), length(AY’i (n)) and length(AZ ’i(n) represent the length of the data cleaned for the ith time. The method of completion is cubic spline interpolation[9], which is specifically defined and implemented as follows:

 Definitioan: suppose there are interpolation nodes on [a, b], where \( a=x_{1}<x_{2}<\cdots<x_{n}=b\)a=x1 corresponds to\(\mathrm{y}_{1}, \mathrm{y}_{2}, \cdots, \mathrm{y}_{\mathrm{n}}\). If the function S(x) satisfies\(S\left(x_{j}\right)=y_{j}(j=1,2, \cdots, n)\), S(x) is a polynomial no higher than the third degree in each interval [xj, xj+1]. When S(x) has the second continuous derivative on [a, b], then S(x) is called the cubic spline interpolation function. We need to determine the unique cubic polynomial on each subinterval [xj, xj+1] on [a, b], which is now denoted as

\(S_{j}(x)=a_{j} x^{3}+b_{j} x^{2}+c_{j} x+d_{j},(j=1,2, \cdots, n-1)\)       (11)

 Where aj, bj, cj, dj are the coefficient to be solved and should satisfy the following expression:

\(\mathrm{S}\left(\mathrm{x}_{\mathrm{j}}\right)=\mathrm{y}_{\mathrm{j}}, \mathrm{S}\left(\mathrm{x}_{\mathrm{j}}-0\right)=\mathrm{S}\left(\mathrm{x}_{\mathrm{j}}+0\right), \mathrm{S}^{\prime}\left(\mathrm{x}_{\mathrm{j}}-0\right)=\mathrm{S}^{\prime}\left(\mathrm{x}_{\mathrm{j}}+0\right),S^{\prime\prime}\left(x_{j}-0\right)=S^{\prime\prime},\left(x_{j}+0\right),(j=2, \cdots, n-1)\)       (12)

 Since the number of conditions in formula (12) is n+3(n-2)=4n-6, it can be seen from formula (11) that there are 4n-4 coefficients to be solved. Therefore, it is necessary to find 2 known conditions. Here, the result expression of the coefficient to be solved is given by taking the first derivative value at the known endpoint as an example:

 Assuming S’’j(x)=Mj, S’’j+1(x)=Mj+1, and denoting hj=xj+1-xj, the expression of S(x) can be deduced as follows:

\(S(x)=\frac{\left(x_{j+1}-x\right)^{3}}{6 h_{j}} M_{j}+\frac{\left(x-x_{j}\right)^{3}}{6 h_{j}} M_{j+1}+\left(y_{j}-\frac{M_{j}}{6} h_{j}^{2}\right) \frac{x_{j+1}-x}{h_{j}}+\left(y_{j+1}-\frac{M_{j+1}}{6} h_{j}^{2}\right) \frac{x-x_{j}}{h_{j}}\)       (13)

 In formula (13), the solution of coefficient Mj, Mj+1 to be solved satisfies formula (14) :

\(\left[\begin{array}{ccccc}2 & 1 & & & \\\mu_{2} & 2 & \gamma_{2} & & \\& \ddots & \ddots & \ddots & \\& & \mu_{n-1} & 2 & \gamma_{n-1} \\& & & 1 & 2\end{array}\right]\left[\begin{array}{c}M_{1} \\M_{2} \\\vdots \\M_{n-1} \\M_{n}\end{array}\right]=\left[\begin{array}{c}\beta_{1} \\\mathrm{d}_{2} \\\vdots \\d_{n-1} \\d_{n}\end{array}\right]\)       (14)

 Where

\(\begin{aligned}&\mu_{j}=\frac{h_{j-1}}{h_{j-1}+h_{j}}, \gamma_{j}=1-\mu_{j}, d_{j}=6\left(\frac{y_{j+1}-y_{j}}{h_{j}}-\frac{y_{j}-y_{j-1}}{h_{j-1}}\right) \frac{1}{h_{j-1}+h_{j}},(j=2,3, \ldots, n-1)\\&\beta_{1}=\frac{6}{h_{1}}\left(\frac{y_{2}-y_{1}}{h_{1}}-y_{1}\right), \beta_{n}=\frac{6}{h_{n-1}}\left({y_{n}}'-\frac{y_{n}-y_{n-1}}{h_{n-1}}\right)\end{aligned}\)       (15)

 Mj, Mj+1 in formula (13) can be obtained by solving formula (14), and hj=xj+1-xj in formula (13), so each subinterval [xj, xj+1](j=1, 2... , n-1) can uniquely determine a cubic polynomial.

 After three spline interpolation, these ten sets of data may be called as AX’’i(n), AYi’’(n), AZi’’(n), where i =1, 2, ..., 10 represents the ith time of data collection, and n=1, 2, 3 represents the length of each piece of data after spline interpolation (all equal to length L).

 So far, the processing of trajectory data has been completed.

 

2. Traditional DTW algorithm

 Assuming that there is a standard reference template R(M-dimensional vector), let's call it R={R(1), R(2)..., R(M)}, where each component can be a number or a smaller component. There is a test template T(N-dimensional vector) to be verified, which can be written as T={T(1), T(2)..., T (N)}. M is not necessarily equal to N, but the dimensions of each component are the same. The optimal path of R and T can be obtained by using the DTW algorithm.

 Suppose the distance from one square (i-1, j-1) or (i-1, j) or (i, j-1) to the next square (i, j), if adjacent is denoted as d(i, j), if diagonal is denoted as 2d(i, j), then the minimum distance from the first square to the current square is expressed as g(i, j), as shown in formula (16) :

\(g(i, j)=\min \{g(i-1, j)+d(i, j), g(i-1, j-1)+2 d(i, j), g(i, j-1)+d(i, j)\}\)       (16)

 For example, R is ABCDEF (6-dimensional vector), T is 1234 (4-dimensional vector), and its distances are shown in figure 1:

 The black number in figure 1 represents the distance between R and T vectors. According to formula (1), the distance required for each route can be calculated step by step and the shortest path can be found.Such as this example assumes that the g (0, 0) = 0, then g (1, 1) = g (0, 0) + 2 d (1, 1) = 0 + 2 * 2 = 4, g (2, 1) = g (1, 1) + d (2, 1) = 4 + 3 = 7, g (1, 2) = g (1, 1) + d (1, 2) = 4 + 1 = 5, extrapolate out every other distance g (i, j) value, as shown in figure 1 in red Numbers. The blue arrow is then used to represent the direction of the minimum value source, and finally the shortest path is found through the backtracking method[10], as shown in the path connected by the brown arrow in the Fig. 1.

E1KOBZ_2019_v13n12_6063_f0001.png 이미지

Fig. 1. Getting the best path for R and T

 However, this traditional DTW method still needs to be improved, and it needs to perform traversal calculation[11] on the whole rectangular region. In fact, what we need to study is whether R and T can achieve a relatively high degree of confidence [12], so as to judge whether the data to be tested matches the original data. In this way, we will not use those regions with lower confidence. Therefore, you can consider transforming traversal regions.

 

3. IIDTW algorithm

 For the M - dimensional reference template R and N - dimensional test template T, this experiment requires a similarity of more than 95% before a successful match is considered. According to the DTW algorithm, if R and T are completely similar, the optimal path should be the line segment passing through the origin (0, 0) and the end point (N, M). Therefore, we only need to study the data points on both sides of this line segment [13]. The arc region is adopted here, and the specific implementation method is shown in Fig. 2:

E1KOBZ_2019_v13n12_6063_f0002.png 이미지

Fig. 2. IIDTW algorithm with arc region

 First, draw a diamond with the above line segment as the diagonal edge, as shown in Fig. 2 in blue line for area (in this case, the slopes of the adjacent diamond sides are 2 and 1/2, respectively), and then calculate  the equation for each side, as shown in figure 2 in blue expression and then calculate the coordinates of the other two endpoints of diamond, as shown in figure 2 in blue coordinates.

 Next, go through the middle points of each diamond and draw line segments y = M/N * (x - (2 M - N) / 6) + (2 M - N)/3 and y = M/N * (x -  (N - 2 M)/3) + (2 N - M) / 6 parallel to line segment y = (M/N) * x, as shown in the yellow line segment in figure 2.In this way, through the point (0, 0), point((2M-N)/6, (4M-2N)/6), point((2M-N)/3, (4M-2N)/3), point((M+N)/3, (7M-2N)/6), point(N, M), point((7M-N)/6, (M+N)/3), point((4N-2M)/3, (2N-M)/3), point ((4N-2M)/6, (2N-M)/6), point(0, 0)of hexagon area was built.

 Next, take line segment OP as the string, and make the center of the circle go through the straight line CD1 of the middle point D1 of arc OP and the middle point C of OP, and draw arc OD1P. In this way, the radius R1 corresponding to arc OD1P can be deduced to satisfy expression \(\left(R-\frac{1}{12} \sqrt{41\left(M^{2}+N^{2}\right)-80 M N}\right)^{2}=R^{2}-\frac{1}{4}\left(M^{2}+N^{2}\right)\) , so

\(R_{1}=\frac{\sqrt{41\left(M^{2}+N^{2}\right)-80 M N}}{24}+\frac{3\left(M^{2}+N^{2}\right)}{2 \sqrt{41\left(M^{2}+N^{2}\right)-80 M N}}\)       (17)

 Similarly, draw arc OD2P, the radius R2 corresponding to arc OD1P can be deduced to satisfy expression \(\left(R-\frac{1}{12} \sqrt{41\left(M^{2}+N^{2}\right)-80 M N}\right)^{2}=R^{2}-\frac{1}{4}\left(M^{2}+N^{2}\right)\) , so

\(R_{2}=\frac{\sqrt{41\left(M^{2}+N^{2}\right)-80 M N}}{24}+\frac{3\left(M^{2}+N^{2}\right)}{2 \sqrt{41\left(M^{2}+N^{2}\right)-80 M N}}\)       (18)

 In this way, the values of the transverse coordinates of the center O1 and O2 corresponding to our two arcs satisfy the expression : \(x^{2}+N \cdot \frac{M^{2}-N^{2}}{M^{2}+N^{2}} \cdot x+\frac{N^{4}+4 M^{4}-3 M^{2} N^{2}-4 M^{2} R^{2}}{4\left(M^{2}+N^{2}\right)}=0\) . After the final solution, the results of the circular center coordinate x1, 2 are as follows:

\(\begin{aligned}&x_{1,2}=\frac{576 \sqrt{41\left(M^{2}+N^{2}\right)-80 M N} \times N\left(N^{2}-M^{2}\right) \pm 48 \cdot \sqrt{F}}{2 \times 576 \sqrt{41\left(M^{2}+N^{2}\right)-80 M N} \times\left(M^{2}+N^{2}\right)}\\&F=11443 M^{4} N^{4}+1681 N^{6} M^{2}-6560 N^{5} M^{3}-12173 M^{6} N^{2}-\cdots\\&13120 M^{5} N^{3}+39520 M^{7} N-21935 M^{8}+\cdots\\&3888 \sqrt{41\left(M^{2}+N^{2}\right)-80 M N} \times\left(N^{2} M^{6}+N^{4} M^{4}\right)+\cdots\\&1296 \sqrt{41\left(M^{2}+N^{2}\right)-80 M N} \times\left(N^{6} M^{2}+M^{8}\right)\end{aligned}\)       (19)

 After solving the x1, 2-coordinate of the center of the circle x, substitute the linear equation:

\(y=-\frac{N}{M} x+\frac{N^{2}-M^{2}}{2 M}.\)       (20)

 You get y1, 2 at the center. In this way, the expression of the curved OD1PD2 region enclosed by two arcs can be expressed by the following formula:

\(\begin{aligned}&\left(x-x_{1}\right)^{2}+\left(y-y_{1}\right)^{2} \leq \frac{41\left(M^{2}+N^{2}\right)-80 M N}{576}+\frac{9\left(M^{2}+N^{2}\right)^{2}}{\left.4 \times\left[41\left(M^{2}+N^{2}\right)^{2}-80 M N\right)\right]}\\&\left(x-x_{2}\right)^{2}+\left(y-y_{2}\right)^{2} \leq \frac{41\left(M^{2}+N^{2}\right)-80 M N}{576}+\frac{9\left(M^{2}+N^{2}\right)^{2}}{\left.4 \times\left[41\left(M^{2}+N^{2}\right)^{2}-80 M N\right)\right]}\end{aligned}\)       (21)

 Then the arc region OD1PD2 is the region that we will eventually traverse. Finally, in this region, the running efficiency of DTW algorithm can be greatly improved by using the DTW algorithm for traversal calculation.

 

4. Experimental Result

4.1  The Data Collection

 The gesture data used in this paper is collected by lenovo zuk pro2 mobile phone. The gesture data collected is converted into quaternion in the form of database, data fitting and IIDTW authentication. Finally, the Euclidean distance obtained by IIDTW is analyzed and the feedback results are displayed on the mobile phone interface.

According to the general password security rule [14], the more complex the password, the higher the password security, that is, the higher the password accuracy. According to this theory, we studied four Chinese gestures: "千", "山", "万" and "水". The strokes of these four characters are relatively simple (3, 4) and the number of inflection points is less (For an incremental increase of 3, 4, 5, 6). As shown in the Fig. 3:

E1KOBZ_2019_v13n12_6063_f0003.png 이미지

Fig. 3. Schematic diagram of the number of inflection points of three strokes Chinese characters

 The data collected in this experiment mainly include 20 times of data collected by experimenter A and 5 times of data collected by experimenter B and C. Among the 20 data collected by experimenter A, there were 10 times of data as training data, and another 10 times of data as the data to be verified for lawful matching. The data collected 10 times by experimenters B and C were used as the unmatched data to be verified.Now a total of 30 times the total data, of which 20 times for validating data, each data contains "千", "山", "万", "水" four kinds of situations, and each situation including 10 data (three acceleration data, three angular velocity data, three rotation vector data, a pressure data), only 6 to validate data (three the quaternion method of transformation of acceleration data, three of the quaternion method converting angular velocity data), as a result, a total of 20*4*6=480 pending data were collected.

 

4.2  The Data Analysis

 The total time required for data acquisition by DTW algorithm and IIDTW algorithm is now measured by using the time function, as shown in Fig. 4. According to Fig. 4, it can be seen that the operation efficiency of IIDTW algorithm is more than doubled than that of SVM-DTW algorithm or DTW algorithm.

E1KOBZ_2019_v13n12_6063_f0004.png 이미지

Fig. 4. Comparison of data acquisition time among the three algorithms

 By using the training data of experimenter A to generate A matching template, another 10 times of the data to be verified by experimenter A were conducted for legitimate authentication experiments, and 10 times of the data to be verified by experimenter B and C were conducted for illegal authentication experiments. The experimental results of Euclidean distance are obtained by IIDTW authentication algorithm, as shown in Table 1.

Table 1. Experimental results of authentication for different types of gestures

E1KOBZ_2019_v13n12_6063_t0001.png 이미지

  Now compare the two authentication experiments of unified gestures in the above data and use the MATLAB drawing tool to get the following results:

E1KOBZ_2019_v13n12_6063_f0005.png 이미지

Fig. 5. Comparison of "千" gesture data

E1KOBZ_2019_v13n12_6063_f0006.png 이미지

Fig. 6. Comparison of "山" gesture data

E1KOBZ_2019_v13n12_6063_f0007.png 이미지 

Fig. 7. Comparison of "万" gesture data

E1KOBZ_2019_v13n12_6063_f0008.png 이미지

Fig. 8. Comparison of "水" gesture data

 According to the comparison results of the four groups above, there is no clear dividing line between legal data and illegal data of "thousand" and "mountain", while there is a clear dividing line between legal data and illegal data of "wan" and "water". Therefore, for these gestures with distinct boundaries, a specific similar distance value can effectively distinguish legitimate data from illegal data.

 And there is a rule for these different types of gesture data: the more inflection points, the more complex the gesture, the greater the gap between legal authentication and illegal authentication, which means that the more complex the gesture, the higher the feasibility of identity authentication. In terms of behavior habits[15], certain users make similar movements with their phones, and the more complex a gesture is, the more important it is.

 

4.3  Experimental Analysis

 In the previous section, we know that the more complicated the gesture is, the higher the feasibility of authentication is.We know that among the four gestures of "千", "山", "万" and "水", the simplest is "千" data, while the most complicated is "水". As can be seen from the comparison chart of "万" gesture data, there is a clear dividing line between legal data and illegal data of "万" gesture at five inflection points. Given the practicality, the gesture data should be simpler if we use the gesture password to unlock it.As we know, the eight principles of Yong[16] is the pen rule of Chinese calligraphy. The essence of the eight strokes of the word "yong" is actually eight strokes. Wang xizhi, a great calligrapher in the eastern jin dynasty, believed that all Chinese characters could be written as long as they could write "yong".So in this experiment, additional 20 volunteers were collected to verify the experimental results of a relatively simple "永" gesture data.These 20 volunteers were firstly input the gesture data and generated the training template, and then each of them performed 10 matching authentication operations on the 20 training data. Thus, the total number of legal certifications is 20*10=200, and the total number of illegal certifications is 10*190= 1, 900. The experimental results are shown in Table 2:

Table 2. Results of 20 volunteers

E1KOBZ_2019_v13n12_6063_t0002.png 이미지

 It can be seen from table 2 that this scheme can achieve good results for the certification of most users, and thus the error acceptance rate [17] of the experiment is FAR= illegal certification success times / illegal certification total times =4/1900=0.21%, and the error rejection rate of the experiment is FRR= legal certification failure times / legal certification total times =3/200=1.5%. The similar effect was compared to the 0.22% FAR and 2% FRR when SVM-DTW algorithm was used.However, it can be seen from section 4.2 that its operation efficiency is much higher than that of SVM-DTW algorithm.

 

Conclusion

 In this paper, we mainly studied some functional sensors of Android phones[18], which can be used for identity authentication through some processing operations of the sensors embedded in these phones. In this paper, data collected by various sensors embedded in smart phones are analyzed to extract and analyze gesture features more comprehensively. In this paper, the linear acceleration sensor is used to represent the linear motion characteristics of the hidden password of a gesture, which is collected by a gesture operation. The angular velocity characteristics of the hidden password of gestures collected by a user performing a gesture operation are represented by the gyroscope sensor to indicate the set of phone inclination of a particular gesture. The finger force characteristics of the hidden password of gestures collected by a user performing a gesture operation with a pressure sensor are used to represent the strength set of mobile phone usage of a specific user due to his/her habit. The rotation vector sensor is used to transform the mobile phone sensor into geodetic coordinate system to eliminate the influence of the mobile phone orientation.

 In this paper, an improved interpolation dynamic time warping, IIDTW , is proposed, which can efficiently and accurately calculate the Euclidean distance between the reference template and the test template. Through the analysis of gestures with different degrees of complexity, this paper finds that the higher the degree of complexity of gestures, the stronger the feasibility of identity authentication. And the experiment verifies that the "万" data of five inflection points can satisfy the identification and authentication of identity. So we can tag each of us with a specific tag for identification by making simple gestures with our phones.

References

  1. Yang Zhenghui, Li Duo, "The Design and Implementation of a Fingerprint Lock Based on AS602," Chinese Journal of Electron Devices, 39(02), 495-500, 2016. https://doi.org/10.1049/cje.2016.05.015
  2. Deng, L.Y., Dong Liang Lee, Yi-Jen Liu, "Face Recognition Lock," in Proc. of 2013 International Conference on IT Convergence and Security (ICITCS), 2013.
  3. Rodolf Haraksim, Javier Gallbally, Laurent Beslay, "Fingerprint Growth Model for Mitigating the Ageing Effect on Children's Fingerprints Matching," Pattern Recognition, 88, 614-628, 2019. https://doi.org/10.1016/j.patcog.2018.12.024
  4. Javad Khodadoust, Ali Mohammad Khodadoust, Xiong Li, Saru Kumari, "Design and Implementation of a Multibiometric System Based on Hand's Traits," Expert System with Applications, 97, 303-314, 2018. https://doi.org/10.1016/j.eswa.2017.12.035
  5. Li Zhengxin, Zhang Fengming, Li Kewu, Zhang Xiaofeng, "Index Structure for Multivariate Time Series under DTW Distance Metric," Journal of Software, 25(03), 560-575, 2014.
  6. Cheng Xueqi, Jin Xiaolong, Wang Yuanzhuo, Guo Jiafeng, Zhang Tieying, Li Guojie, "Survey on Big Data System and Analytic Technology," Journal of Software, 25(09), 1889-1908, 2014.
  7. Li Nianfeng, "Research of The Gesture Authentication Method Based on Android and Its Realization," Beijing:School of Electronic Information Engineering, Communication University of China, 37-38, 2018.
  8. Zhang Jinxue, Zhang Ming, Li Yuanyuan, "Quaternion - Based Attitude Control of Fixed-wing Micro Air Vehicle," Computer Measurement & Control, 20(07), 1851-1854, 2012.
  9. Luo Tianhong, Ma Li, "Path Planning for Spider Biomimetic Robot Leg based on Cubic Polynomial Interpolation Function with Midpoints," Mechanical Drive, 41(07), 1-6, 2017.
  10. Chen Yue, Ding Lingwei, Wu Hongxuan, Liu Guohai, Liu Hui, "Power Quality Signal Reconstruction of Backtracking-Based Self-Adaptive Matching Pursuit Method," Journal of Electronic Measurement and Instrumentation, 31(05), 731-738, 2017.
  11. Li Jing, Song Jing, Long Pengcheng, Liu Hongfei, Jiang Ping, "Parallel Computing Method of Monte Carlo Criticality Calculation Based on Bi-directional Traversal," Nuclear Techniques, 38(06), 95-98, 2015.
  12. Liu Shushu, Liu An, Liu Guanfeng, Li Zhixu, Zhao Lei, Zheng Kai, "A Privacy Preserving Framework for Efficient Computation of Trajectory Similarity," Journal of East China Normal University(Natural Science), 2015(05), 154-161+171, 2015.
  13. Zhao Lei, Zhou Yimin, "A Gesture Recognition Based on Improved DTW-IMP Algorithm," Software Guide, 16(11), 12-15+21, 2017.
  14. Lu Gang, Nie Xuyun, Qin Zhiguang, Hou Chuanyong, "Cryptanalysis of a Multivariate Public Key Cryptosystem," Journal of University of Electronic Science and Technology of China, 47(02), 242-246, 2018.
  15. Li Qingwu, Ma Yunpeng, Zhou Yan, Zhou Liangji, "Method of Writer Identification Based on Curvature of Strokes," Journal of Chinese Information Processing, 30(05), 209-214, 2016. https://doi.org/10.1177/0920203X16636510
  16. Yan Lindong, "Combined with the "Eight Principles of Yong" Analysis the Rationality of the Regular Script Writing Action," China Academy of Art, 2017.
  17. Xianjing MENG, Xiaoming XI, Gongping YANG, Yilong YIN, "Finger vein recognition based on deformation information," Science China(Information Sciences, 61(05), 156-170, 2018.
  18. Huang Yiming, Lei Hang, Zhou Rui, Sang Nan, "Activity and Holding Mode Recognition Using Multiple Sensors," Journal of University of Electronic Science and Technology of China, 46(02), 399-406, 2017.

Cited by

  1. CNN-based Gesture Recognition using Motion History Image vol.21, pp.5, 2019, https://doi.org/10.7472/jksii.2020.21.5.67