(MIRU2008) 2008 7 SIFT 572-8572 26-12 599-8531 1-1 E-mail: umemoto@ipc.osaka-pct.ac.jp, kise@cs.osakafu-u.ac.jp SIFT 1 ANN 3 1 SIFT 1 Speeding up the Detection of Scale-Space Extrema in SIFT Based on the Complex First Order System Toshitaka UMEMOTO and Koichi KISE Osaka Prefectural College of Technology, Department of Industrial Systems Engineering 26-12 Saiwai-cho,Neyagawa,Osaka 572-8572, Japan Dept. of Computer Science and Intelligent Systems, Graduate School of Engineering, Osaka Prefecture University 1-1 Gakuencho, Naka, Sakai, Osaka 599-8531, Japan E-mail: umemoto@ipc.osaka-pct.ac.jp, kise@cs.osakafu-u.ac.jp Abstract For object recognition based on nearest neighbor search of local descriptors such as SIFT, it is important to minimize the cost of extracting image features. The processes of extracting image features are composed of scale-space extrema detection, keypoint localization, orientation assignment and keypoint descriptor.in this paper, we propose a new method of efficient scale-space extrema detection. The scale space of an image is defined as a function, that is produced from the convolution of a variable-scale Gaussian with an input image. Number in which multiplication is executed is reduced by complex first order system proposed by Aoshima. From experimental results with computation time and recognition of image with ANN, we have confirmed that the proposed method is capable of achieving a recognition rate as same as the original method, and 1/3 of the computation time with the original method. Key words SIFT,Variable-scale Gaussian,Complex First Order System,Wavelet 1. 1 SIFT (Scale-Invariant Feature Transform) [1] SIFT (PCA) PCA-SIFT [2] 682
SIFT SIFT DoG [3] [4] DoG DoG ANN Approximate Nearest Neighbor [5] 2. 2. 1 dx (t) dt = fx(t)+gu(t) (1) x (t) u (t) f g 1 x (t) =x 0 exp (ft)+ t 0 exp{f (t τ)}gu (τ) dτ (2) x 0 (= x (0)) x (t) 2. 2 t = nt n T u (t) t = nt (n +1)T 2 t = nt (n +1)T x (n +1)=exp(fT) x (n)+ g {exp (ft) 1}u (n) (3) f x (n) x (nt ) 2. 3 2 f g C r + jc i x (n +1) = x (n)exp{() T } + u (n)[exp{() T } 1] (4) ω σ C r =1 C i =0 σ =0 cos sin x (n) u (n) 4 x ( 0) 0 0 n =0 1 0 u (n) =0 n = d 1 x (d 1) = [exp{() T } 1] exp{(d 1) () T } (5) n = d 1 A n = d x (d) = + [exp{() T } 1] exp{d () T } A[exp{() T } 1] (6) A A = exp{d () T } (7) x (d) 0 u (n) 0 x (n) n > = d 0 1 n =0 u (n) n = d x (n) 0 σ =0 cos sin 1 x (n +1) = exp(jωt) x (n)+exp(jωt) {u (n) exp (jωdt) u (n d)} (8) 3. SIFT PCA-SIFT 3. 1 SIFT SIFT 683
1 3. 2 PCA-SIFT Ke SIFT (PCA) PCA- SIFT [2] SIFT PCA-SIFT Ke 36 3. 3 SIFT PCA-SIFT σ [6] SIFT σ 1 I(x, y) G(x, y, σ) L(x, y, σ) L(x, y, σ) =G(x, y, σ) I(x, y) (9) G(x, y, σ) G(x, y, σ) = 1 2 +y 2 )/2σ 2 2πσ 2 e (x (10) 2 σ 1. L(x, y, σ i) 3 L DOG (Difference-of-Gaussian) D(x, y, σ) ( 2) 4 DOG DOG (Difference-of-Gaussian Function) D(x, y, σ) ={G(x, y, kσ) G(x, y, σ)} I(x, y) = LG(x, y, σ) L(x, y, σ) (11) 2 3 Difference of Gaussian 26 D(x, y, σ) DOG DOG k DOG σ 2 2 G G(x, y, kσ) G(x, y, σ) (k 1)σ 2 2 G. (12) σ 2 2 G gradient Hessian Mikolajczyk DOG DOG D(x, y, σ) DOG 3 8 9 26 26 4. 3. 3 I(x, y) G(x, y, σ) L(x, y, σ) I(x, y) M N G(x, y, σ) L L 2 M N L L 2. 684
4 Gauss (σ =3.09) (10) G(x, y, σ) = 1 2 2πσ 2 e x /2σ 2 1 2 2πσ 2 e y /2σ 2 (13) G(x, σ) G(y,σ) G(x, σ) = 1 2 2πσ 2 e x /2σ 2 (14) G(y, σ) = 1 2 /2σ 2 2πσ 2 e y (15) 2 1 1 2M N L. Viola Jones [9], [10] [3] L =27σ =3.09 1 4 27 5 4 3 G(x, σ) G(x, σ) =F (0) + F (1)e j2πk/l + F ( 1)e j2πk/l (16) F (0) k =0F (1) k =1 F ( 1) k = 1 G(x, σ) I(x)(M ) 5 G(x, σ) I(x) = Gauss (σ =3.09) M x=0 [ {F (0) + (F (1)e j2πk/l ] +F ( 1)e j2πk/l )}I(x k) (17) [ ] 1 O 1(x, σ) =F (0) I(x k) (18) Viola Jones [9], [10] 2 O 2(x, σ) = (F (1)e j2πk/l + F ( 1)e j2πk/l )I(x k) = F (1) e j2πk/l I(x k) 685
+F ( 1) e j2πk/l I(x k) (19) 1 (19) 2 O 2,2 (x, σ) = I(x k)e j2πk/l (20) I(x k)(k =0, 1,,L 1) f = 1 Discrete Fourier L Transform:DFT I(x +1 k)(k =0, 1,,L 1) f = 1 L O 2,2 (x +1,σ)= I(x +1 k)e j2πk/l (21) (21) (20) e j2π1/l O 2,2 (x +1,σ) e j2π1/l O 2,2 (x, σ) =e j2π1/l {I (x) e j2πl/l I (x L)} (22) e j2π1/l O 2,2 (x, σ) e j2πl/l =1 (22) O 2,2 (x +1,σ)=e j2π1/l O 2,2 (x, σ) +e j2π1/l {I (x) I (x L)} (23) (19) 2 8 dt L ω 2π/L (19) G(x, y, σ) I(x, y) 4 I(x, y) M N G(x, y, σ) L L (17) (18) (19) (18) O 1(x, σ) 1 I(x, y) 2 M N (19) 1 2 (19) 1 2 (23) O 2,2 (x, σ) 2 4 O 2,2 (x, σ) (19) 1 5 O 2(x, σ) I(x, y) 1 (msec) σ OpenCV 3.09 22.9 29.5 82.2 2.4525 22.2 25.2 73.1 1.9466 22.1 22.1 60.5 1.545 21.6 21.6 49.9 1.249 20.7 20.7 38.3 10 M N G(x, σ) I(x) 12 M N L 2 M N L σ L 5. 5. 1 1 (9) SIFT C# libsift [11] C++ SIFT++ [12] SIFT++ (9) 2 1 OpenCV cvsmooth() 3 G(x, σ) σ SIFT 3.09 2.4525 1.9466 1.545 1.249 5 456 640 29.2 12 CPU Intel CoreSolo 1.2GHz 1 1 4 OpenCV cvsmooth() OpenCV 5. 2 PCA-SIFT [13] 600 640 686
(a) 90 (b) 75 (c) 60 (d) 6 2 ε 10 5 3 92.4% 95.9% 96.5% 63.3% 74.9% 78.6% 96.3% 97.0% 97.0% 760 752 ANN(Approximate Nearest Neighbor) [5] 200 A4 θ 90,75,60 90 1 4 5. 2 512 341 PCA-SIFT 1 336 342 ε 2 (17) 1 (19) 6. PCA-SIFT SIFT 1 M N G(x, y, σ) L L 2M N L 1M N 3 1 OpenCV cvcvsmooth() OpenCV GPU PCA-SIFT [14] ANN ANN ε 5 1 PCA-SIFT SIFT [1] D.G.Lowe, Distinctive image features from scale-invariant keypoints, International Journal of Computer Vision, 60,2, pp.91-110,2004. [2] Y. Ke, R. Sukthankar, Pca-sift:A more distinctive representation for local image descriptors, CVPR2004,Vol.2,pp.506-513,2004. [3] 1,,Vol.26,No.7,pp.811-817,1990-7. [4],,, (A),J79-A,pp.2063-2066,1996-12. [5] S.Arya, D. M.Mount, R.Silverman, A.Y.Wu, An optimal algorithm for approximate nearest neighbor searching,journal of the ACM,Vol.45, No.6,pp.891-923,1998. [6], 3,,pp.29-30,1998 [7],,,,, (MIRU2006),pp.291-297,2006. [8] J. Sivic,A. Zisserman Video Google: a text retrieval approach to object matching in videos,computer Vision, 2003. Proceedings. Ninth IEEE International Conference on, pp.1470-1477,2003. [9] Paul Viola, Michael Jones Rapid Object Detection using a Boosted Cascade of Simple Features,IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Vol.1 pp.511-518,2001. [10] Paul Viola, Michael Jones Robust Real-time Object Detection,International Journal on Computer Vision and Image Understanding,Vol.57,Issue 2,pp.137-154, 2004. [11] http://user.cs.tu-berlin.de/ nowozin/libsift/ [12] http://vision.ucla.edu/ vedaldi/code/siftpp/siftpp.html [13] http://www.cs.cmu.edu/ yke/pcasift/ [14] M. Iwamura, T.Hondou, K.Noguchi,K.Kise An Attempt of CUDA Implementation of PCA-SIFT IEICE Technical Report, 107, 281, PRMU2007-117, pp.149-154,2007. 687