§ 瀏覽學位論文書目資料
  
系統識別號 U0002-2206201215345800
DOI 10.6846/TKU.2012.00933
論文名稱(中文) 於行動裝置上利用GPU平行運算實現FAST角點偵測演算法
論文名稱(英文) Implementation of Parallel Computing FAST Algorithm on Mobile GPU
第三語言論文名稱
校院名稱 淡江大學
系所名稱(中文) 電機工程學系碩士在職專班
系所名稱(英文) Department of Electrical and Computer Engineering
外國學位學校名稱
外國學位學院名稱
外國學位研究所名稱
學年度 100
學期 2
出版年 101
研究生(中文) 吳臺宜
研究生(英文) Tai-Yi Wu
學號 798440094
學位類別 碩士
語言別 繁體中文
第二語言別
口試日期 2012-06-21
論文頁數 68頁
口試委員 指導教授 - 劉寅春
共同指導教授 - 周建興
委員 - 蘇木春
委員 - 劉志旭
委員 - 蔡奇謚
關鍵字(中) GPU
GPU平行運算
FAST
SURF
角點偵測
行動裝置
FAST演算法
關鍵字(英) GPU
FAST
SURF
Corner Detection
Mobile Device
FAST Algorithm
第三語言關鍵字
學科別分類
中文摘要
在影像處理中角點偵測是非常重要的一環,幾乎所有的應用都會用到,可以說角點偵測為影像辨識的根本之一。隨著行動裝置的普及,影像辨識也開始廣泛的應用到行動裝置上,然而礙於行動裝置硬體資源的缺乏和限制,要讓角點偵測可以在這些裝置上達到即時的處理是件很困難的一件工作。為了強化它的計算速度,我們使用了行動裝置上的GPU平行運算來加速FAST角點偵測演算法。根據實驗結果,透過GPU加速的FAST比一般版本快上了22.36倍,而相較於SURF演算法的角點偵測,更快上了448.5倍。
英文摘要
Corner detection is an extremely important technique in image recognition, which is widely employed in various applications for image recognition. With the widespread use of mobile devices, image recognition techniques are frequently applied in such devices. However, the hardware resource of smartphones are lacked and restricted, it is a difficult task to apply the techniques of corner detection smoothly in these devices. To enhance the computational speed, the FAST corner detection algorithm is implemented with parallel computing of GPU in mobile devices. In the experiments, the computational speed of the FAST corner detection algorithm increases 22.36 times after using GPU parallel computing. Compared with the widely known SURF algorithm, which is computed with mobile CPU only, the proposed technique in this study is 448.5 times faster than SURF algorithm.
第三語言摘要
論文目次
目錄
第一章	緒論	1
1.1	研究背景	1
1.2	研究動機與目的	2
第二章	基礎理論與背景知識	3
2.1	GPU、GPGPU與CUDA	3
2.2	OpenGL與OpenGL ES	5
2.3	GLSL (OpenGL Shading Language) 	6
2.4	OpenCV (Open Source Computer Vision Library) 	7
2.5	灰階處理(Gray scale)	9
2.6	角點偵測 (Corner Detection) 	10
2.7	FAST角點偵測演算法	11
2.8	SURF (Speeded Up Robust Features) 	11
第三章	GPU於影像處理的相關研究	13
3.1	FFT and Convolution Performance on GPU	13
3.2	Image Parallel Processing Based on GPU	18
3.3	GPU-based face tracking at 500 fps	22
第四章	結合GPU於FAST的研究方法	27
第五章	實驗結果	30
5.1	實驗平台介紹	30
5.2	實驗一iPhone 3GS與iPhone 4上的執行速度比較	32
5.3	實驗二FAST GPU、FAST與SURF角點偵測比較	37
5.4	實驗三五張不同影像的角點偵測速度比較	42
5.4.1 512x512 實驗結果	44
5.4.2 1024x1024實驗結果	49
5.4.3 1536x1536 實驗結果	54
5.4.4 2048x2048 實驗結果	59
第六章	結論與未來展望	64
參考文獻	66
附錄	68

圖目錄
圖2.1 CPU與GPU架構	4
圖2.2 OPENCV架構概略圖	8
圖2.3 影像灰階處理	10
圖2.4 角點偵測範例	11
圖2.5 SURF範例圖	12
圖3.1 運用GPGPU處理的前後結果圖	14
圖3.2 256與512影像大小於CPU與GPU 卷積之效能比較	16
圖3.3 不同大小核的FFT與卷積之效能比較	16
圖3.4 多次的FFT與卷積之效能比較	17
圖3.5 SOBEL卷積用的矩陣	19
圖3.6 同態濾波的處理程序	19
圖3.7 於CPU與GPU做SOBEL邊緣偵測之效能比較	20
圖3.8 GPU SOBEL邊緣偵測處理之前後結果圖	20
圖3.9 GPU同態濾波處理之前後結果圖	21
圖3.10 臉部辨識系統處理程序圖	23
圖3.11 左右移動的臉部辨識位置的追蹤結果圖	25
圖3.12 大小變化的臉部辨識位置追蹤結果圖	26
圖4.1 FAST 角點偵測的計算方式	28
圖4.2 FAST 角點偵測的處理流程	29
圖5.1 開發與測試環境	31
圖5.2 測試影像LENA	33
圖5.3 512X512 IPHONE 3GS實驗擷圖	34
圖5.4 512X512 IPHONE 4實驗擷圖	34
圖5.5 10242X1024 IPHONE 3GS實驗擷圖	35
圖5.6 10242X1024 IPHONE 4實驗擷圖	35
圖5.7 1536X1536 IPHONE 3GS實驗擷圖	35
圖5.8 1536X1536 IPHONE 4實驗擷圖	35
圖5.9 2048X2048 IPHONE 3GS實驗擷圖	36
圖5.10 2048X2048 IPHONE 4實驗擷圖	36
圖5.11 IPHONE 4 512X512 FAST GPU實驗結果擷圖	38
圖5.12 IPHONE 4 512X512 FAST CPU實驗結果擷圖	38
圖5.13 IPHONE 4 512X512 SURF實驗結果擷圖	38
圖5.14 IPHONE 4 1024X1024 FAST GPU實驗結果擷圖	39
圖5.15 IPHONE 4 1024X1024 FAST CPU實驗結果擷圖	39
圖5.16 IPHONE 4 1024X1024 SURF實驗結果擷圖	39
圖5.17 IPHONE 4 1536X1536 FAST GPU實驗結果擷圖	40
圖5.18 IPHONE 4 1536X1536 FAST CPU實驗結果擷圖	40
圖5.19 IPHONE 4 1536X1536 SURF實驗結果擷圖	40
圖5.20 IPHONE 4 2048X2048 FAST GPU實驗結果擷圖	41
圖5.21 IPHONE 4 2048X2048 FAST CPU實驗結果擷圖	41
圖5.22 IPHONE 4 2048X2048 SURF實驗結果擷圖	41
圖5.23 實驗三所使用的五張圖片	43
圖5.24 圖片(A) 512X512 FAST GPU實驗結果擷圖	44
圖5.25 圖片(A) 512X512 FAST CPU實驗結果擷圖	44
圖5.26 圖片(A) 512X512 SURF實驗結果擷圖	44
圖5.27 圖片(B) 512X512 FAST GPU實驗結果擷圖	45
圖5.28 圖片(B) 512X512 FAST CPU實驗結果擷圖	45
圖5.29 圖片(B) 512X512 SURF實驗結果擷圖	45
圖5.30 圖片(C) 512X512 FAST GPU實驗結果擷圖	46
圖5.31 圖片(C) 512X512 FAST CPU實驗結果擷圖	46
圖5.32 圖片(C) 512X512 SURF實驗結果擷圖	46
圖5.33 圖片(D) 512X512 FAST GPU實驗結果擷圖	47
圖5.34 圖片(D) 512X512 FAST CPU實驗結果擷圖	47
圖5.35 圖片(D) 512X512 SURF實驗結果擷圖	47
圖5.36 圖片(E) 512X512 FAST GPU實驗結果擷圖	48
圖5.37 圖片(E) 512X512 FAST CPU實驗結果擷圖	48
圖5.38 圖片(E) 512X512 SURF實驗結果擷圖	48
圖5.39 圖片(A) 1024X1024 FAST GPU實驗結果擷圖	49
圖5.40 圖片(A) 1024X1024 FAST CPU實驗結果擷圖	49
圖5.41 圖片(A) 1024X1024 SURF實驗結果擷圖	49
圖5.42 圖片(B) 1024X1024 FAST GPU實驗結果擷圖	50
圖5.43 圖片(B) 1024X1024 FAST CPU實驗結果擷圖	50
圖5.44 圖片(B) 1024X1024 SURF實驗結果擷圖	50
圖5.45 圖片(C) 1024X1024 FAST GPU實驗結果擷圖	51
圖5.46 圖片(C) 1024X1024 FAST CPU實驗結果擷圖	51
圖5.47 圖片(C) 1024X1024 SURF實驗結果擷圖	51
圖5.48 圖片(D) 1024X1024 FAST GPU實驗結果擷圖	52
圖5.49 圖片(D) 1024X1024 FAST CPU實驗結果擷圖	52
圖5.50 圖片(D) 1024X1024 SURF實驗結果擷圖	52
圖5.51 圖片(E) 1024X1024 FAST GPU實驗結果擷圖	53
圖5.52 圖片(E) 1024X1024 FAST CPU實驗結果擷圖	53
圖5.53 圖片(E) 1024X1024 SURF實驗結果擷圖	53
圖5.54 圖片(A) 1536X1536 FAST GPU實驗結果擷圖	54
圖5.55 圖片(A) 1536X1536 FAST CPU實驗結果擷圖	54
圖5.56 圖片(A) 1536X1536 SURF實驗結果擷圖	54
圖5.57 圖片(B) 1536X1536 FAST GPU實驗結果擷圖	55
圖5.58 圖片(B) 1536X1536 FAST CPU實驗結果擷圖	55
圖5.59 圖片(B) 1536X1536 SURF實驗結果擷圖	55
圖5.60 圖片(C) 1536X1536 FAST GPU實驗結果擷圖	56
圖5.61 圖片(C) 1536X1536 FAST CPU實驗結果擷圖	56
圖5.62 圖片(C) 1536X1536 SURF實驗結果擷圖	56
圖5.63 圖片(D) 1536X1536 FAST GPU實驗結果擷圖	57
圖5.64 圖片(D) 1536X1536 FAST CPU實驗結果擷圖	57
圖5.65 圖片(D) 1536X1536 SURF實驗結果擷圖	57
圖5.66 圖片(E) 1536X1536 FAST GPU實驗結果擷圖	58
圖5.67 圖片(E) 1536X1536 FAST CPU實驗結果擷圖	58
圖5.68 圖片(E) 1536X1536 SURF實驗結果擷圖	58
圖5.69 圖片(A) 2048X2048 FAST GPU實驗結果擷圖	59
圖5.70 圖片(A) 2048X2048 FAST CPU實驗結果擷圖	59
圖5.71 圖片(A) 2048X2048 SURF實驗結果擷圖	59
圖5.72 圖片(B) 2048X2048 FAST GPU實驗結果擷圖	60
圖5.73 圖片(B) 2048X2048 FAST CPU實驗結果擷圖	60
圖5.74 圖片(B) 2048X2048 SURF實驗結果擷圖	60
圖5.75 圖片(C) 2048X2048 FAST GPU實驗結果擷圖	61
圖5.76 圖片(C) 2048X2048 FAST CPU實驗結果擷圖	61
圖5.77 圖片(C) 2048X2048 SURF實驗結果擷圖	61
圖5.78 圖片(D) 2048X2048 FAST GPU實驗結果擷圖	62
圖5.79 圖片(D) 2048X2048 FAST CPU實驗結果擷圖	62
圖5.80 圖片(D) 2048X2048 SURF實驗結果擷圖	62
圖5.81 圖片(E) 2048X2048 FAST GPU實驗結果擷圖	63
圖5.82 圖片(E) 2048X2048 FAST C實驗結果擷圖	63
圖5.83 圖片(E) 2048X2048 SURF實驗結果擷圖	63

表目錄
表3.1 FFT與卷積的優缺點比較表	17
表3.2 於CPU與GPU做同態濾波之效能比較表	21
表3.3 臉部辨識運算時間統計表	24
表5.1 IPHONE 3GS 與 IPHONE 4 硬體規格表	33
表5.2 IPHONE 3GS 與IPHONE 4執行結果表	34
表5.3 IPHONE 4執行時間列表	37
表5.4 實驗二 512X512執行時間表	38
表5.5 實驗二 512X512執行時間表	39
表5.6 實驗二 1536X1536執行時間表	40
表5.7 實驗二 2048X2048執行時間表	41
表5.8 三種方法處理測試影像所需的平均運算時間表	42
表5.9 圖片(A) 512X512執行時間表	44
表5.10 圖片(B) 512X512執行時間表	45
表5.11 圖片(C) 512X512執行時間表	46
表5.12 圖片(D) 512X512執行時間表	47
表5.13 圖片(E) 512X512執行時間表	48
表5.14 圖片(A) 1024X1024執行時間表	49
表5.15 圖片(B) 1024X1024執行時間表	50
表5.16 圖片(C) 1024X1024執行時間表	51
表5.17 圖片(D) 1024X1024執行時間表	52
表5.18 圖片(E) 1024X1024執行時間表	53
表5.19 圖片(A) 1536X1536執行時間表	54
表5.20 圖片(B) 1536X1536執行時間表	55
表5.21 圖片(C) 1536X1536執行時間表	56
表5.22 圖片(D) 1536X1536執行時間表	57
表5.23 圖片(E) 1536X1536執行時間表	58
表5.24 圖片(A) 2048X2048執行時間表	59
表5.25 圖片(B) 2048X2048執行時間表	60
表5.26 圖片(C) 2048X2048執行時間表	61
表5.27 圖片(D) 2048X2048執行時間表	62
表5.28 圖片(E) 2048X2048執行時間表	63
參考文獻
參考文獻 
[1]	M. Pollefeys, R. Koch, M. Vergauwen, L. Van Gool , “Automated reconstruction of 3D scenes from sequences of images,” ISPRS Journal of Photogrammetry and Remote Sensing, vol. 55, no. 4, pp. 251-267, 2000.
[2]	D. G. Lowe, “Object recognition from local scale-invariant features,” Proceedings of the International Conference on Computer Vision, vol. 2, pp. 1150-1157, 1999.
[3]	P. F. McLauchlan and A. Jaenicke, “Image mosaicing using sequential bundle adjustment,” Image and Vision Computing, vol. 20, no. 9-10, pp. 751–759, 2002.
[4]	H. Wang and M. Brady, “Real-time corner detection algorithm for motion estimation,” Image and Vision Computing, vol. 13, no. 9, pp 695-703, 1995.
[5]	G. Takacs, V. Chandrasekhar, N. Gelfand, Y. Xiong, W.-C. Chen, T. Bismpigiannis, R. Grzeszczuk, K. Pulli and B. Girod, “Outdoors augmented reality on mobile phone using loxel-based visual feature organization,” Proceedings of the 1st ACM international conference on Multimedia information retrieval, pp. 427-434, 2008.
[6]	M. Brown and D. Lowe, “Automatic Panoramic Image Stitching using Invariant Features,” International Journal of Computer Vision, vol. 74, pp. 59-73, Aug 2007.
[7]	iPhone App Autostitch, http://www.cloudburstresearch.com/autostitch/autostitch.html. 
[8]	Shai Avidan, Ariel Shamir and Seam Carving, “Content-Aware Image Resizing, ACM Transactions on Graphics,” SIGGRAPH, vol. 26, no. 3, 2007.
[9]	Michael Rubinstein, Ariel Shamir and Shai Avidan, “Improved Seam Carving for Video Retargeting,” ACM Transactions on Graphics, vol. 27, no. 3, Aug 2008.
[10]	iPhone App Liquidscale, http://www.savoysoftware.com/liquidscale/.
[11]	CUDA, http://developer.nvidia.com/object/cuda.html.
[12]	S. Ryoo, C. I. Rodrigues, S. S. Baghsorkhi, S. S. Stone, D. B. Kirk and W. W. Hwu, “Optimization principles and application performance evaluation of a multithreaded GPU using CUDA,” PPoPP 2008, pp. 73-82, 2008.
[13]	Y. Sun, X. Sun and H. Zhang, “Research on parallel cone-beam CT image reconstruction on CUDA-Enabled GPU,” the Proceeding of IEEE International Conference on Image Processing, pp. 4501-4504, 2010.
[14]	GPU architecture. http://blog.goldenhelix.com/?p=374.
[15]	OpenCV. http://opencv.willowgarage.com/wiki/
[16]	The Glowing Python Corner Detection. http://glowingpython.blogspot.tw/2011/10/corner-detection-with-opencv.html
[17]	Momma's SURF sample. http://www.eml.ele.cst.nihon-u.ac.jp/~momma/wiki/wiki.cgi/OpenCV/OpenCV2.x/matcher_simple.html
[18]	Fialka and Prague Cadik, “FFT and Convolution Performance in Image Filtering on GPU,” Information Visualization. Tenth International Conferenc, pp. 609-614, July 2006.
[19]	Nan Zhang, Jian-li Wang and Yun-shan Chen, “Image Parallel Processing Based on GPU,” Advanced Computer Control (ICACC), 2010 2nd International Conference, pp. 367-370, Mar 2010.
[20]	Idaku Ishii, Hiroki Ichida, and Takeshi Takaki, “ GPU-based face tracking at 500 fps,” Image Processing (ICIP), 2011 18th IEEE International Conference, pp. 557-560, Sept 2011.
[21]	Edward Rosten and Tom Drummond, "Machine learning for high-speed corner detection,” Department of Engineering, Cambridge University, UK.
論文全文使用權限
校內
紙本論文於授權書繳交後2年公開
同意電子論文全文授權校園內公開
校內電子論文於授權書繳交後2年公開
校外
同意授權
校外電子論文於授權書繳交後2年公開

如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信