研究生: |
胡晉豪 Hu, Chin-Hao |
---|---|
論文名稱: |
Design and Implementation of a Gesture Recognition Library for Touch-Based Devices |
指導教授: |
鄭永斌
Cheng, Yung-Pin |
學位類別: |
碩士 Master |
系所名稱: |
資訊工程學系 Department of Computer Science and Information Engineering |
論文出版年: | 2011 |
畢業學年度: | 99 |
語文別: | 中文 |
論文頁數: | 49 |
中文關鍵詞: | 觸控裝置 、手勢 、辨識 |
論文種類: | 學術論文 |
相關次數: | 點閱:129 下載:3 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
觸控裝置(touch-based devices)已經深入日常生活中的每一個角落,越來越多人使用具備觸控裝置的手機與平板電腦。但是在開發使用觸控的手勢做為操作輸入介面的軟體目前使用的方法仍然是針對每一個SDK(software development kit)來開發,例如Apple iOS SDK是使用Cocoa Touch framework來處理多點觸控(multi-touch)的事件。
觸控技術最常見的一個應用是手勢的辨識,但是這些開發工具與裝置中還沒有一個完整的手勢辨識的函式庫提供給開發人員使用。程式設計師必須要使用event handlers或delegate的方式擷取使用者的每支手指在平面上的座標位置。以軟體工程的角度來看,即使只拿來辨識一支手指的手勢,也必需搭配額外的機制或加入辨識的演算法等方式來實作。
本論文提出一個手勢辨識函式庫在觸控裝置的實作方法。我們以client與server的架構來建置本研究的實驗環境。Client端為多點觸控裝置,重點在於能夠傳送手在觸控板上的位置或所辨識出的手勢給server端。Server端在收到訊息後會針對與之連結的應用程式做出相對應的動作。手勢辨識的部分重點在於實作$1與$N gesture recognizer演算法。前端擷取特徵的部分搭配SVM(Support Vector Machine)進行學習與分類以辨識出是何種手勢,除此之外也能夠讓使用者自行定義手勢並透過反覆的訓練(training)相同的手勢達到準確度提升的效果。
Touch-based devices have been used in our daily life. Many people nowadays use mobile phones and tablets with multi-touch panels. However, when programmers develop software with multi-touch feature, the software inevitably depends on the device SDK such as iOS SDK on Apple product. iOS SDK provides a framework called Cocoa Touch to handle multi-touch events.
In multi-touch applications, gesture recognition can enrich computer human interaction experience, but the development tools of multi-touch devices have not provided a multi-touch gesture recognition library for developers. Developers must use event handlers and delegation method to listen the touch events and try to recognize whether these events form a gesture of interest. The implementation of gesture recognition, however, requires additional overhead efforts and cost, which can slow down the development of these applications.
This thesis presents a design and implementation of gesture recognition library via multi-touched device. We adopt gesture recognition algorithms for uni-stroke and multi-strokes touch events and then apply SVM(Support vector machine) as back-end to classify the input, Our system also allow user to define their own gestures and train the gestures to extend the gestures of interest. Finally, this work is validated by applying the control to xDIVA (eXtreme Debugging Information Visualization Assistant).
[1] Gorg et al. A Framework for Abstract Representation and Recognition of Gestures in Multi-touch Applications. Advances in Computer-Human Interactions, 2010. ACHI '10. Third International Conference on (2010) p. 143 – 147
[2] B. Buxton. (2010, Aug.) Multi-Touch Systems that I Have Known and Loved. [Online]. Available: http://www.billbuxton.com/ multitouchOverview.html.
[3] Rivière et al. 3D multitouch: when tactile tables meet immersive visualization technologies. SIGGRAPH '10: SIGGRAPH 2010 Talks (2010)
[4] Apple Inc. (2011) Cocoa Touch Layer. iOS Technology Overview. P. 19 – 26
[5] Apple Inc. (2011) Responding to Touch Events. UIResponder Class Reference. P. 15 – 18
[6] Apple Inc. (2011) Overview. UIGestureRecognizer Class Reference. P. 5 – 8
[7] Hoste. Software engineering abstractions for the multi-touch revolution. ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (2010) vol. 2.
[8] Katzakis and Hori. Mobile devices as multi-DOF controllers. 3D User Interfaces (3DUI), 2010 IEEE Symposium on (2010) pp. 139 – 140
[9] Sigchi. Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes. (2007) pp. 1-10
[10] Wobbrock and Anthony. A Lightweight Multistroke Recognizer for User Interface Prototypes. (2010) pp. 1-8
[11] Boccuzzo and Gall. Multi-touch for Software Exploration. Program Comprehension (ICPC), 2010 IEEE 18th International Conference on (2010) pp. 54 – 55
[12] Wikipedia. Support vector machine [Online]. Available: http://en.wikipedia.org/wiki/Support_vector_machine
[13] Yung-Pin Cheng, Jih-Feng Chen, Ming-Chieh Chiu, Nien-Wei Lai, and Chien-Chih Tseng. xDiva: A debugging visualization system with composable visualization metaphors. In To appear in Proceedings of ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Nashville, USA.
[14] Hong, J.I. and Landay, J.A. (2000) SATIN: A toolkit for informal ink- based applications. Proc. UIST '00. New York: ACM Press, 63-72.
[15] Anderson, D., Bailey, C. and Skubic, M. (2004) Hidden Markov Model symbol recognition for sketch-based interfaces. AAAI Fall Symposium. Menlo Park, CA: AAAI Press, 15-21.
[16] Sezgin, T.M. and Davis, R. (2005) HMM-based efficient sketch recognition. Proc. IUI '05. New York: ACM Press, 281-283.
[17] Pittman, J.A. (1991) Recognizing handwritten text. Proc. CHI '91. New York: ACM Press, 271-275.
[18] Cho, M.G. (2006) A new gesture recognition algorithm and segmentation method of Korean scripts for gesture-allowed ink editor. Information Sciences 176 (9), 1290-1303.
[19] Rubine, D. (1991) Specifying gestures by example. Proc. SIGGRAPH '91. New York: ACM Press, 329-337.
[20] Myers, C.S. and Rabiner, L.R. (1981) A comparative study of several dynamic time-warping algorithms for connected word recognition. The Bell System Technical Journal 60 (7), 1389-1409.
[21] Tappert, C.C. (1982) Cursive script recognition by elastic matching. IBM Journal of Research and Development 26 (6), 765-771.
[22] Kara, L.B. and Stahovich, T.F. (2004) An image-based trainable symbol recognizer for sketch-based interfaces. AAAI Fall Symposium. Menlo Park, CA: AAAI Press, 99-105.
[23] Kristensson, P.-O. and Zhai, S. (2004) SHARK2: A large vocabulary shorthand writing system for pen-based computers. Proc. UIST '04. New York: ACM Press, 43-52.
[24] Notowidigdo, M. and Miller, R.C. (2004) Off-line sketch interpretation. AAAI Fall Symposium. Menlo Park, CA: AAAI Press, 120-126.
[25] Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2:27:1--27:27, 2011. Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm
[26] Chih-Chung Chang and Chih-Jen Lin, Training nu-support vector regression: theory and algorithms, Neural Computation, 1959-1977, 2002
[27] VAPNIK, V., and A. LERNER, 1963. Pattern recognition using generalized portrait method. Automation and Remote Control, 24, 774–780.
[28] VAPNIK, Vladimir N., 1995. The Nature of Statistical Learning Theory. Springer-Verlag New York, Inc.
[29] Aizerman, M. A., Braverman, E. M., and Rozonoer, L. I. (1964). "Theoretical foundations of the potential function method in pattern recognition learning". Automation and Remote Control, 25, 821–837.
[30] Hsu, C.W, Chang, C.C and Lin, C.J, "A Practical Guide to Support Vector Classification", available at http:// www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf, 2003
[31] Levitin, A.V. (2003) Introduction to the Design and Analysis of Algorithms, 1st ed. Reading, MA: Addison-Wesley., P. 179
[32] Wikipedia. Windows Communication Foundation [Online]. Available: http://en.wikipedia.org/wiki/Windows_Communication_Foundation
[33] Roy Thomas Fielding. 2000. Architectural Styles and the Design of Network-Based Software Architectures. Ph.D. Dissertation. University of California, Irvine. AAI9980887.
[34] Apple Inc. (2011) Data Management: Event Handling. Event Handling Guide for iOS.