Proceedings of the IEEE International Conference on Automation and Logistics Qingdao, China September 2008
Crowd Surveillance using Markov Random Fields Zhi Zhong
Ning Ding
Department of Automation Shanghai Jiao Tong University Shanghai, China Department of Mechanical and Automation Engineering The Chinese University of Hong Kong Hong Kong, China
[email protected]
Shenzhen Institute of Advanced Integration Technology Chinese Academy of Sciences/ The Chinese University of Hong Kong Shenzhen, China
Xinyu Wu
Yangsheng Xu
Shenzhen Institute of Advanced Integration Technology Chinese Academy of Sciences/ The Chinese University of Hong Kong Shenzhen, China Department of Mechanical and Automation Engineering The Chinese University of Hong Kong Hong Kong, China
Shenzhen Institute of Advanced Integration Technology Chinese Academy of Sciences/ The Chinese University of Hong Kong Shenzhen, China Department of Mechanical and Automation Engineering The Chinese University of Hong Kong Hong Kong, China
Abstract— Video surveillance in crowd is challenging for public security. This paper focuses on the detection of human abnormal behaviors in crowd. The issue is crucial in some special localities and has been less studied. To achieve this goal, this paper defines a crowd energy based on Markov Random Fields. By using wavelet analysis of the energy curves, the crowd status of the scene is detected. After testing the method in the actual environment in a metro surveillance system, we have obtained a result which shows that the method can be used to deal with crowd modeling and real-time surveillance satisfactorily. Index Terms— Video Energy, Crowd Surveillance, Wavelet Analysis
I. INTRODUCTION Surveillance of a crowd of pedestrians in public places like square, street, entrance of to a stadium, etc., and at events such as parades and football games, is one of the most challenging issues to public security. The crisis might lurk in the motion of crowd. When the density and motion feature of this dynamic system reaches a certain critical point and if a sudden accident erupts, a disaster will occur, resulting in massive civilian casualties every year. To meet the demands of ever increasingly severe security problems, video or multimedia surveillance is being employed and has become a hot research topic in numerous countries. Intelligent Video Surveillance is different from traditional Image or Video Processing. The relationship and variability of pixels shown in a frame sequence implies the development and evolution trend of things or some valuable clues we can’t see at first sight. Video is not just a frame sequence
accumulated in the time domain as in Video processing and surveillance. Therefore, it is extremely necessary to timely detect such variables as density change and internal abnormal behaviors in the crowd. Because video contains so much information that up to now “Real-time” it is still a challenge to be responsive in real time,which is the reason for the very existence of video surveillance systems. Given the current hardware and practical application of cost control as well as the need for more delicate and speedy processing and recognition algorithms, we should focus on seeking appropriate entry points of the problem to be solved. Till now, many works have been published on crowd surveillance topic. As to different density of crowd in image showing different image texture features, many researchers used texture features extracted from sample images to train a classifier, which is used to determine what level the density of crowd is [18]or to estimate the number involved [24]. Sometimes, we need a more accurate number of people under surveillance so as to make every person recognizable in the scene. Considering the camera’s installation position, the “head” can be used as the basis for counting, because it is rarely overlapped by surrounding objects. First, the featured area of the head-like contour can be extracted through the Haar wavelet transform [20]. Then the support vector machine is used to to determine whether the featured area is the contour of a head or not. In other kinds of scenes, there is hardly a head-like contour obtained. As shown in [1], a large moving crowd can be treated as a flow field overlaying a grid of particles. Next, the Lagrangian Coherent
978-1-4244-2503-7/08/$20.00 © 2008 IEEE 1822
Structures (LCS) based on this flow map segment are used to demonstrate flow field into different regions with different dynamic features, and any change of these regions shows the instability in the flow. To determine whether the instability phenomenon is abnormal or not is another aspect of the crowd problem. In the paper [2], they used spectral clustering as unsupervised feature extraction methods and optical flow to obtain crowd behavior features. However, we take the perspective concept of energy as our starting point. Energy has a long history in computer vision (see [17] for several examples). The preliminary versions of this paper have appeared in [26] and [27], where the two inference algorithms were defined and developed independently and were based on different energy methods. In this paper, we introduce Markov Random Fields (MRF) model to dig the energy underlying the image sequences. MRF model has broad applications in image processing fields, such as image segmentation [21] [22], MRF methods enhance the robustness and validity of fuzzy c-means (FCM) as an image segmentation algorithm. It is also used to suppress additive Gaussian white noise and retain the details of the image. This paper [25] proposes a prior model that models the configurations of the wavelet coefficients as a MRF. Result shows that this model is adaptive to the wavelet transform characteristic of two-dimension images. MRF model can learn local relationships and allows rich probabilistic models for images to get global effects, and built in a local, modular way. To our knowledge, there is no previous work like ours using MRF energy to solve the crowd surveillance problems. II. METHODOLOGY A MRF is defined on a finite lattice field F of elements s called sites. Let us define a family of random variables X = {Xs = xs , s ∈ F }, and let us suppose that each variable may assume values taken from a discrete and finite set. The Markov property states that the conditional probability P (xs |xF −{s} ) depends only on the value of the neighboring set of s, N (s), that is P (xs |xF −{s} ) = P (xs |xN (s) ) (see [3] [5] [9]). The Hammersley-Clifford theorem establishes the MarkovGibbs equivalence between MRFs and Gibbs Random Fields [15], so the probability distribution takes the following form: (1)
where Z is a normalization factor called partition function, β is a parameter called temperature and U (x) is the energy function, which can be written as a sum of local energy potentials Vc (x) dependent only on the cliques c ∈ C (local configurations) relative to the neighboring system [9]: Vc (x) (2) U (x) = c∈C
B. Computable Form of U (x)
Fig. 1. A pairwise MRF model. Ψ and Φ define the compatibilities between nodes in the Markov network. y1 is the observed variable of x1 , while x2 and x3 are two of x1 ’s neighbor sites.
Shown in Fig. 1 is a pairwise MRF model (also known as Markov network) which is a graph with two types of sites X and Y : A set of hidden variables X = {xs } and the set of observed variables Y = {ys }. The posterior probability P (X|Y ) is defined by: Ψ(xs , ys ) Φ(xs , xt ) (3) P (X|Y ) = Z −1 s
A. Markov Random Fields (MRF)
P (x) = Z −1 · e−β·U (x)
By analyzing energy U (x), we can monitor the status of the MRF. Assuming a video frame to be a MRF, we can determine the status of the scene by surveying the energy. It is the basic train of thought of this paper. As it is generally not easy to calculate Vc (x) directly, we will show you how to get the energy from the posterior probability.
s t∈N (s)
where Ψ(xs , ys ) denotes the local compatibility at site s and Φ(xs , xt ) denotes the smoothness compatibility. N (s) denotes the neighborhood of site s [23]. Here Z is a constant, so we get Ψ(xs , ys ) Φ(xs , xt ) (4) P (X|Y ) ∝ s
s t∈N (s)
Ulteriorly, we set x, y as Gaussian variables, we get ψ(xs , ys ) φ(xs , xt ) P (X|Y ) ∝ exp(− ) exp(− ) 2 2σψ 2σφ2 s s t∈N (s)
(5) in which, σψ2 and σφ2 are used to control the extent of the corresponding Gaussian variables [23]. If we take the Logarithm of (5), we get the computable form of (2): 1 1 ψ(xs , ys ) + 2 φ(xs , xt ) U (x|y) ∝ 2 2σψ 2σφ ∝ ψ(xs , ys ) + λ φ(xs , xt ) (6) in which, ψ(xs , ys ) and φ(xs , xt ) seem as the Vc in (2), λ is the proportion of them which will be discussed in the next section.
1823
C. Energy Function of MRF If we treat the image frames of a surveillance camera or a surveillance video as a pairwise MRF model, the random variables x, y become the labels (in our paper, grey levels set) on sites (or pixels) s, t (t ∈ N (s)). According to (6), we define the energy function of the nth frame as follows [10] [22]: ψ(xs (n), ys (n)) + λ φ(xs (n), xt (n)) E(n) =
where φ(xs (n), xt (n)) provides a penalty for adjacent pixels to have different intensities. Here φ(xs (n)) is obviously regular so that it can be graph-representable [10]. Then we obtain φ(xs (n), xt (n)) Esmoothness (n) = =
s
= Edata (n) + λEsmoothness (n)
(7)
in which, E(n) consists of the data energy Edata (n) and the smoothness energy Esmoothness (n). Next, we will discuss the components of E(n). 1) Data Energy: The data energy Edata (n) is used to measure the disagreement between corresponding pixels based on the assumed disparities [13]. The function ψ(xs (n), ys (n)) is derived from the observed variable that measures the cost of assigning the label to the pixel s. In our paper, we treat xs (n) as a grey value on the site s of the intensity video frame n, and ys (n) a grey value on the site s of the background image which has the same format as the video frame. In many situations, the background of surveillance video can be treated as a constant frame, which means ys (n) is independent from n. So we use ys here. We define ψ(xs (n), ys ) = xs (n) − ys
(8)
Here xs (n) − ys is the intensity difference between two pixels, which is called tonal distance in [7]. Then ψ(xs (n), ys ) = |xs (n) − ys | (9) Edata (n) = s
s
2) Smoothness Energy: The smoothness prior or the smoothness constraint has been one of the most popular prior assumptions in low level vision [12]. It assumes that physical properties in a neighborhood of space or in an interval of time present some coherence and generally do not change abruptly. Smoothness priors are often expressed as the prior probability or equivalently an energy term, which is denoted by Esmoothness in this paper [7]. We adopt the standard 4-connected neighborhood system of MRF model [12]. We define the smoothness energy as the sum of spatially varying horizontal and vertical nearestneighbor smoothness costs, where s = (i, j) and t = (i ± 1, j ± 1). From [19], we know the terms in Esmoothness can also be made to depend on the intensity differences. So we define xs (n) − xt (n) φ(xs (n), xt (n)) =
t∈N (s)
|xs (n) − xt (n)|
s t∈N (s)
(12) which is the energy function of the nth frame. 3) λ: In (7), λ is a key parameter of the crowd energy calculation, which controls the relative importance of the data constrain versus the smoothness constrain and depends on the real scenes and how much discontinuity is to be preserved. In [23], λ is set to be 0.5. Actually it can be deduced in some kind of situation. As the condition of (5), we set x, y as Gaussian variables. According to adaptive background modeling, [8] assumed that the gray value of the pixel can be considered as the mixture of three Gaussian models corresponding to background, foreground and shadow, respectively. Generally considering, in most surveillance scenes such as squares, banks and metro stations, etc., background is the mean state of the pixel. In this paper, ys can be treat as the expectation of xs (n). Since xt (n) is the neighbor pixel of xs (n), we suppose xs (n) and xt (n) have the same expectation ys and the same variance σ 2 . Next, we will calculate λ based on above hypothesis. From (6), we get σψ2 λ= 2 (13) σφ Compare (12) with (5), we know that σψ2 is the vari2 ance of the variable |xs (n) − ys | and σφ is the variance of t∈N (s) |xs (n) − xt (n)|. As we adopt the standard 4connected neighborhood system of MRF model, we obtain λ
=
V ar{|xs (n) − ys |} V ar{ t∈N (s) |xs (n) − xt (n)|}
=
V ar{|xs (n) − ys |} 4V ar{|xs (n) − xt (n)|}
(14)
According to the definition of variance and the following equation (15) (in Page 116 of [16])
t∈N (s)
=
|xs (n) − xt (n)| (11)
t∈N (s)
so (7) can be transformed to E(n) = |xs (n) − ys | + λ |xs (n) − xt (n)|
s,t∈N (s)
s
s
(10)
t∈N (s)
1824
E{|x|n } =
1 × · · · (n − 1)σxn , n = 2k 2k+1 2 k!σx 2/π, n = 2k + 1 k
we get V ar{|xs (n) − ys |} = σ 2
π−2 π
(15)
(16)
V ar{|xs (n) − xt (n)|}
2 2π
−4 = σ π = 2V ar{|xs (n) − ys |} (17)
For the calculation details of (16) and (17), please refer to Appendix A. Finally we obtain λ = 0.125
(18)
which means in most surveillance scenes, we should care more about the data energy composition than the smoothness energy composition. III. DISCUSSIONS AND RESULTS The surveillance of passenger flows at a certain metro station exit is taken as a case study. Fig. 2 is the flow chart of the video surveillance system mounted at the metro station. As shown in Fig. 2, the upper left block “Video Source” is the source of the surveillance system. It may be a video clip or a camera. The two energy methods are implemented in the block “Crowd Energy” respectively. The upper right block “Motion Threshold” is the crowd energy curve of the frame. The metro surveillance system triggers the routine Matlab Wavelet 1-D at Haar5 mode during start-up which is presented in [27]. The abnormal frames will be sent to the central console to give an alarm and stored at the same time. A. Description of abnormality Before describing the tasks of the actual surveillance system and evaluating the two video energy methods, we have to deal with two crowd abnormal phenomena, which are defined in [26] [27]. The first is called static abnormality where the value of crowd energy of a frame at a given time greatly exceeds its supposed mean value at the time. The second is called dynamic abnormality when there is a sudden change (mainly a great increase) in crowd energy for a persistent period of time within a video sequence. B. Quartation Algorithm For computing the crowd energy in real-time as well as reserving enough crowd information, this paper adopts an adaptive method in our former paper to standardize the dimension of the input video frame [27]. In essence, it is an issue of Adaptive Image Segmentation, on which a lot of research has been done and for which a number of algorithms have been proposed, such as [4] [11]. However, the sliding window or any other standard for image segmentation is picked up by using empirical strategies while this paper comes up with a recursive Quartation so that the number of recursive and the proper block size are determined by F Test, which is a statistical approach. The assumptions of Quartation algorithm are: 1. The intensity of pixels is a stochastic variable and satisfies normal distribution. To most pixels, their means are the quantity of
background. 2. To every quartered blocks, the intensity mean of their pixel is a stochastic variable and satisfies normal distribution. The second assumption can be deduced from the first one easily. On the former assumptions, four more random variables (the means of 4 new blocks) appear after one former Quartation. If Quartation algorithm goes on without intensity inhomogenetics, then it means that the existing segmentation can satisfy the needs for rather precise energy computation, which is the termination condition for recursive algorithm. That is the reason why we said in the previous section that it’s not necessary for each pixel to be segmented. After application of Quartation algorithm, the crowd energy and the curve can be calculated. Theoretically speaking, Quartation algorithm is locally optimal, not globally optimal. But it can satisfy the precision requirement of this paper. In this paper, the dimension of the surveillance video is “480 × 640”. The algorithm should be applied 5 times recursively [27]. C. Wavelet analysis Wavelet, an ideal tool for energy curve analysis in this paper, is adopted to efficiently analyze signals online or offline, especially to detect the transient phenomena and longtime tendency of 1-D signals [14]. The abnormalities under surveillance are tackled with wavelet, namely, by detecting in real-time the jumping, breaking and tendency on the crowd energy curves. Usually, the dynamic abnormality is more meaningful because it always represents some severely abnormal behaviors in a crowd, such as fight, chaos and riot. Below are two sets of images showing the surveillance of the static abnormality and the dynamic abnormality (Fig. 4) from the discrete wavelet transform (DWT) [6]. In Fig. 4, the graphs at the top are the frames at the detecting time. The up curve shows the crowd energy of the video clip; the middle one the 3rd level approximation decomposition curve (A3) in 1-D DWT; the bottom one the 1st level detailed decomposition curve (D1) in 1-D DWT [14]. From Fig. 4, we can see that the crowd energy jumps from a lower value to a higher value (red circles in the bottom curve). When these jumps happen, the system determines that some kind of abnormal phenomenon has taken place. Similarly, when a fight bursts out in the monitored scene with a mob beginning to run about, there will also appear an obvious jump in crowd energy. Just at this time, the surveillance system will send a warning signal to the security department who will stop the situation from further deteriorating. IV. CONCLUSION AND FUTURE WORK A. Conclusion In this paper we address the problem of video surveillance using the MRF framework. We first review the concept of MRF. Then we introduce the precise definition of the MRF
1825
Fig. 2.
Flow chart of the metro video surveillance system
adaptive algorithm to standardize the dimension of the input video frame. B. Future Work To improve the performance of our crowd surveillance system further, our future work will be focused on two aspects: First, we try to find a certain kind of video energy model which is independent of background. Although test has shown that the crowd energy can adapt to a gently shaking of the background, it is not good enough. We are considering using some learning methods, such as SVM, boosting, etc., to deal with this problem further so as to make our approach more robust. Second, we try to expand the presented approach to the research area of intelligent transportation system, such as traffic crowd surveillance and analysis, etc. Fig. 3.
Recursion step of Quartation Algorithm.
ACKNOWLEDGMENT
energy, based on which we define the crowd energy that is composed of the data energy and the smoothness energy. In a metro surveillance case using our method, we demonstrate how to get the energy curve and how to analyze the curve so as to monitor kinds of abnormal behaviors in real-time. To reduce the computation of the system, we have designed an
The authors would like to acknowledge Dr. Weizhong Ye for his insightful suggestions, and Dr. Ka Keung Lee, Mr. Huihuan Qian and other colleagues in Advanced Robotics Laboratory, The Chinese University of Hong Kong, for their help, and encouragement. The work was supported by the grant from the Research Grants Council of the Hong Kong Special Administration
1826
V ar{M }
=
E{M 2 } − (E{M })2 = E{(xs (n) − ys )2 }
=
E{xs (n) − 2xs (n)ys + ys 2 }
=
E{xs (n) } − 2E{xs (n)}E{ys } + E{ys 2 }
=
E{xs (n) } − ys 2
2 2 2
(20)
we find ys = E{xs (n)}, which gives 2
V ar{M } = E{xs (n) } − E{xs (n)} = V ar{xs (n)} = σ 2
2
(21)
according to (15), we get E{|M |} = σ
2/π
(22)
so the variance of |M | is V ar{|M |} Fig. 4. The 3rd level approximation decomposition curve (A3 in Harr wavelet 1-D figure. From the curve we can see the threshold line points out the static abnormality clearly. The 1st level detail decomposition curve (D1) in wavelet 1-D figure. From the curve we can see the dynamic abnormality is pointed out by the red circle.
Region, Project No. CUHK 4163/03E, and by the grants from Ministry of Science and Technology, The People’s Republic of China (International S&T Cooperation Projects 2006DFB73360, National Basic Research Program of China 2007cb311005). A PPENDIX I C ALCULATION OF V ar{|xs (n) − ys |} AND V ar{|xs (n) − xt (n)|} Assume that xs (n) and xt (n) are Gaussian variables with the same expectation ys and the same variance σ 2 . To simplify expression, we let M = xs (n) − ys and N = xs (n) − xt (n). First, the expectation of M is E{M }
= E{xs (n) − ys } = E{xs (n)} − E{ys } (19) = ys − y s = 0
Then we get the variance of M based on the definition of variance
1827
=
E{|M |2 } − E{|M |}
= E{M 2 } − E{|M |} π−2 = σ2 π
2
2
(23)
Similarly, we obtain 2 E{|N |} = σ √ π V ar{|N |} = σ 2
2π − 4 π
(24) (25)
R EFERENCES [1] S. Ali and M. Shah, “A Lagrangian Particle Dynamics Approach for Crowd Flow Segmentation and Stability Analysis,” in IEEE Conference onComputer Vision and Pattern Recognition (CVPR07), pp. 1-6, 2007. [2] E. L. Andrade, R. B. Fisher, and S. Blunsden, “Detection of Emergency Events in Crowded Scenes,” The Institution of Engineering and Technology Conference on Crime and Security, pp. 528-533, 2006. [3] U. Castellani, A. Fusiello, et al, “Automatic selection of MRF control parameters by reactive tabu search,” Image and Vision Computing, vol.25, NO. 11, pp. 1824-1832, 2007. [4] J.Q. Chen, T.N. Pappas, A. Mojsilovic and B.E. Rogowitz, “Adaptive Perceptual Color-Texture Image Segmentation,” IEEE Transactions on Image Processing, VOL. 14, NO. 10, pp. 1524-1536, 2005. [5] A. Fusiello and V. Murino, “Relaxing Symmetric Multiple Windows Stereo Using Markov Random Fields,” Lecture Notes In Computer Science, Springer, Vol. 2134, pp. 91-104, 2001. [6] I. Daubechies, “The wavelet transform time-frequency localization and signal analysis,” IEEE Transaction of Information Theory, Vol.36, pp. 961-1004, 1990. [7] S. Didas, M. Pavel, et al, “Energy-Based Image Simplification with Nonlocal Data and Smoothness Terms,” Algorithms for Approximation, pp. 51-60, 2007.
[8] N. Friedman and S. Russell, Image segmentation in video sequences: A probabilistic approach, Proc. of the 13th Conf. on Uncertainty in Artificial Intelligence (UAI), San Francisco, Aug. 1-3, 1997 [9] S. Geman and D. Geman, “Stochastic relaxation, Gibbs distribution, and Bayesian restoration of images,” IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 6, pp. 721-742, 1984. [10] V. Kolmogorov and R. Zabih, “What Energy Functions Can Be Minimized via Graph Cuts?” IEEE Trans. on Pattern Analysis and Machine Intelligence, vol.26, pp. 13, 2004. [11] K.M. Lee, “Robust Adaptive Segmentation of Range Images,” IEEE Transactions on Pattern Analysis and Machine Intelligence, VOL. 20, NO. 2, pp. 200-205, 1998. [12] S.Z. Li, “Markov Random Field Modeling in Image Analysis,” Tokyo, Japan: Springer-Verlag Tokyo, 2001. [13] H. Li and G. Chen, “Segment-based stereo matching using graph cuts,” in Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR04), vol. 1, pp.1-74, Jun, 2004. [14] S.G. Mallat, “A Wavelet Tour of Signal Processing,” London, UK: Academic Press, 1998. [15] J.K. Marroquine, “Probabilistic solution of inverse problem,” Ph.D. thesis, Massachusetts Institute of Technology, 1985. [16] A. Papoulis and S.U. Pillai, “Probability, Random Variables and Stochastic Process,” Xi’an, China: Xi’an Jiaotong University Press, 2004. [17] T. Poggio, V. Torre, and C. Koch, “Computational Vision and Regularization Theory,” Nature, vol. 317, pp. 314-319, 1985. [18] H. Rahmalan, M. S. Nixon, and J. N. Carter, “On Crowd Density Estimation for Surveillance,” The Institution of Engineering and Technology Conference on Crime and Security, pp. 540-545, 2006. [19] D. Scharstein and R. Szeliski, “A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms,” International Journal of Computer Vision, vol. 47, pp. 7-42, 2002. [20] L. Sheng-Fuu, C. Jaw-Yeh, and C. Hung-Xin, “Estimation of number of people in crowded scenes using perspective transformation,” in IEEE Transactions on Systems, Man and Cybernetics, Part A, , 2006, pp. 214-219. [21] L. Siyuan, L. Xiaofeng, and L. Zaiming, “A new image segmentation algorithm based the fusion of Markov random field and fuzzy c-means clustering,” in IEEE International Symposium on Communications and Information Technology (ISCIT05), 2005, pp. 144-147. [22] R. Szeliski, R. Zabih, D. Scharstein, O. Veksler, V. Kolmogorov, A. Agarwala, M. Tappen and C. Rother, “A Comparative Study of Energy Minimization Methods for Markov Random Fields,” IEEE Trans. on Pattern Analysis and Machine Intelligence, submitted, May 7, 2007. [23] T.P. Wu, K.L. Tang, C.K. Tang and T.T. Wong, “Dense Photometric Stereo: A Markov Random Field Approach,” IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 28, pp. 1830-1846, 2006. [24] X. Wu, G. Liang, K. K. Lee, and Y. Xu, “Crowd Density Estimation Using Texture Analysis and Learning,” in IEEE International Conference on Robotics and Biomimetics (ROBIO06), 2006, pp. 214-219. [25] C. Yan-Qiu and W. Ke, “Markov random field modeling in the wavelet domain for image denoising,” in Proceedings of 2005 International Conference on Machine Learning and Cybernetics, 2005, Vol. 9, pp. 5382-5387. [26] Z. Zhong, W.Z. Ye, S.S. Wang, M. Yang and Y.S. Xu, “Crowd Energy and Feature Analysis,” in IEEE International Conference on Integreted Technology (ICIT07), Shenzhen, China, 2007, pp. 144-150. [27] Z. Zhong, W.Z. Ye, M. Yang, S.S. Wang and Y.S. Xu, “Energy Methods for Crowd Surveillance,” in IEEE International Conference
1828
on Information Acquisition (ICIA07), Jeju City, Korea, 2007, pp. 504510.