TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
NGHIÊN CỨU CÔNG NGHỆ
AUGMENTED REALITY VÀ VIẾT
ỨNG DỤNG MINH HỌA CÔNG NGHỆ
AUGMENTED REALITY TRÊN HỆ
ĐIỀU HÀNH ANDROID
Sinh viên thực hiện
Cán bộ hướng dẫn
Nguyễn Tấn Trung
MSSV: 1081440
Ks. Hồ Quang Thái
MSCB: 2299
Cần Thơ, 2012
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
NGHIÊN CỨU CÔNG NGHỆ
AUGMENTED REALITY VÀ VIẾT
ỨNG DỤNG MINH HỌA CÔNG NGHỆ
AUGMENTED REALITY TRÊN HỆ
ĐIỀU HÀNH ANDROID
Sinh viên thực hiện
Cán bộ hướng dẫn
Nguyễn Tấn Trung
MSSV: 1081440
Ks. Hồ Quang Thái
MSCB: 2299
Cán bộ phản biện
Học hàm, học vị, họ và tên cán bộ phản biện
TS. Huỳnh Xuân Hiệp
Ths.GVC Võ Huỳnh Trâm
Ks. Hồ Quang Thái
Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Công
nghệ phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Cần Thơ vào ngày 10
tháng 5 năm 2012.
Mã số đề tài:
Có thể tìm hiểu luận văn tại:
Thư viện Khoa Công nghệ Thông tin, Trường Đại học Cần Thơ
Website: http://www.cit.ctu.edu.vn/
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
LỜI CẢM ƠN
Trước tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới Thầy,
Ks. Hồ Quang Thái đã tạo điều kiện cho em thực hiện đề tài khoa học này và tận
tình hướng dẫn em trong suốt quá trình thực hiện đề tài.
Em xin gửi lời cảm ơn sâu sắc tới quý Thầy Cô trong Khoa Công nghệ
thông tin và Truyền thông Trường ĐH Cần Thơ đã truyền đạt kiến thức quý báu
cho em trong những năm học vừa qua.
Xin chân thành cảm ơn các bạn bè, đặc biệt là các thành viên trong lớp
DI0896A1 đã cùng đoàn kết, ủng hộ, giúp đỡ tôi trong suốt thời gian học tập trên
giảng đường đại học và thực hiện đề tài.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho
phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận
được sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các Bạn.
Em xin chân thành cảm ơn!
Cần Thơ, ngày 5 tháng 5 năm 2012
Sinh viên
Nguyễn Tấn Trung
GVHD: Ks. Hồ Quang Thái
1
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
MỤC LỤC
LỜI CẢM ƠN ................................ ................................ ................................ 1
MỤC LỤC ................................ ................................ ................................ ..... 2
DANH MỤC HÌNH ................................ ................................ ....................... 5
KÝ HIỆU VÀ VIẾT TẮT ................................ ................................ ............. 8
TÓM TẮT ................................ ................................ ................................ ...... 9
ABSTRACT ................................ ................................ ................................ . 10
CHƯƠNG 1 ................................ ................................ ................................ . 11
TỔNG QUAN ................................ ................................ .............................. 11
I.1.
ĐẶT VẤN ĐỀ ................................ ................................ .............. 11
I.2.
LỊCH SỬ VẤN ĐỀ ................................ ................................ ...... 12
I.3.
PHẠM VI ĐỀ TÀI ................................ ................................ ....... 12
I.4.
PHƯƠNG PHÁP NGHIÊN CỨU ................................ ................ 13
CHƯƠNG 2 ................................ ................................ ................................ . 14
GIỚI THIỆU TỔNG QUAN VỀ CÔNG NGHỆ AUGMENTED REALITY
................................ ................................ ................................ ...................... 14
II.1.
GIỚI THIỆU AUGMENTED REALITY ................................ .... 14
II.2.
CÁC ỨNG DỤNG CỦA CÔNG NGHỆ AUGMENTED
REALITY ................................ ................................ ................................ 16
II.2.1. Y tế ................................ ................................ ......................... 16
II.2.2. Giải trí ................................ ................................ ..................... 17
II.2.3. Quân sự ................................ ................................ ................... 18
II.2.4. Robotics và Telerobotics ................................ ........................ 19
II.2.5. Sản xuất, bảo trì và sửa chữa ................................ .................. 19
II.3.
CÁC THÀNH PHẦN CƠ BẢN CỦA MỘT HỆ THỐNG
AUGMENTED REALITY ................................ ................................ ...... 20
II.3.1. Hệ thống Augmented Reality điển hình ................................ . 20
II.3.2. Các vấn đề hiệu suất trong một hệ thống Augmented Reality
điển hình ................................ ................................ .............................. 22
II.3.3. Nền tảng máy tính ................................ ................................ .. 23
GVHD: Ks. Hồ Quang Thái
2
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
II.3.4. Công nghệ hiển thị trong Augmented Reality ........................ 23
II.3.5. Theo dõi và đăng ký ................................ ............................... 25
CHƯƠNG 3 ................................ ................................ ................................ . 27
GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID VÀ
AUGMENTED
REALITY CHO ĐIỆN THOẠI THÔNG MINH ................................ ........ 27
III.1. HỆ ĐIỀU HÀNH ANDROID ................................ ...................... 27
III.1.1. Giới thiệu tổng quan ................................ ............................... 27
III.1.2. Kiến trúc hệ điều hành Android ................................ ............. 28
III.1.3. Các thành phần của một ứng dụng Android ........................... 30
III.1.4. Máy ảo Dalvik (DVM) ................................ ........................... 33
III.1.5. OpenGL ES cho Android ................................ ....................... 33
III.2. AUGMENTED REALITY CHO ĐIỆN THOẠI THÔNG MINH ..
................................ ................................ ................................ ...... 36
III.2.1. Giới thiệu Augmented Reality cho điện thoại thông minh .... 36
III.2.2. Giới thiệu ARToolKit ................................ ............................ 39
CHƯƠNG 4 ................................ ................................ ................................ . 41
PHƯƠNG PHÁP NHẬN DẠNG MARKER VÀ MARKERLESS TRONG
AUGMENTED REALITY ................................ ................................ .......... 41
IV.1. PHƯƠNG PHÁP NHẬN DẠNG MARKER ............................... 41
IV.1.1. Ước lượng vị trí và tư thế của marker ................................ .... 41
IV.1.2. Hiệu chỉnh HMD và camera ................................ ................... 44
IV.2. PHƯƠNG PHÁP NHẬN DẠNG MARKERLESS ..................... 48
IV.2.1. Chuẩn bị ................................ ................................ ................. 48
IV.2.2. Thuật toán đăng ký cơ bản ................................ ..................... 50
IV.2.3. Phương pháp đăng ký chắc chắn ................................ ............ 53
CHƯƠNG 5 ................................ ................................ ................................ . 58
TÌM HIỂU VỀ VUFORIA SDK ................................ ................................ . 58
V.1.
TỔNG QUAN HỆ THỐNG VUFORIA ................................ ...... 59
V.2.
KIẾN TRÚC VUFORIA ................................ .............................. 60
V.3.
TRACKABLES ................................ ................................ ............ 62
V.3.1. Định nghĩa ................................ ................................ .............. 62
GVHD: Ks. Hồ Quang Thái
3
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
V.3.2. Các tham số (Parameters) ................................ ....................... 62
V.3.3. Hệ tọa độ (Coordinate Systems) ................................ ............. 63
V.3.4. Các API liên quan (Relevant API’s) ................................ ...... 64
V.3.5. Mục tiêu hình ảnh (Image Target) ................................ .......... 65
V.3.6. Mục tiêu đa hình ảnh (Multi Target) ................................ ...... 67
V.3.7. Frame Marker ................................ ................................ ......... 70
V.4.
NÚT ẢO (VIRTUAL BUTTON)................................ ................. 73
V.4.1. Định nghĩa ................................ ................................ .............. 73
V.4.2. Các tham số ................................ ................................ ............ 73
V.4.3. Các API liên quan................................ ................................ ... 74
V.5.
HỆ THỐNG QUẢN LÝ MỤC TIÊU ................................ .......... 75
V.5.1. Tạo mục tiêu hình ảnh ................................ ............................ 75
V.5.2. Tạo mục tiêu đa hình ảnh ................................ ....................... 77
CHƯƠNG 6 ................................ ................................ ................................ . 80
TÌM HIỂU VỀ UNITY GAME ENGINE ................................ ................... 80
VI.1. GIỚI THIỆU TỔNG QUAN ................................ ........................ 80
VI.2. CÁC TÍNH NĂNG CHÍNH ................................ ......................... 81
CHƯƠNG 7 ................................ ................................ ................................ . 84
TÌM HIỂU VỀ BLENDER ................................ ................................ .......... 84
VII.1. GIỚI THIỆU TỔNG QUAN ................................ ........................ 84
VII.2. CÁC TÍNH NĂNG CHÍNH ................................ ......................... 84
CHƯƠNG 8 ................................ ................................ ................................ . 86
XÂY DỰNG ỨNG DỤNG AR CHO NỀN TẢNG ANDROID ................. 86
VIII.1. KỊCH BẢN ỨNG DỤNG ................................ ............................ 86
VIII.2. PHƯƠNG PHÁP THỰC HIỆN VÀ KẾT QUẢ ỨNG DỤNG ... 87
VIII.2.1. Tạo mô hình cho ứng dụng ................................ .................. 87
VIII.2.2. Lập trình cho ứng dụng ................................ ....................... 89
VIII.2.3. Kết quả ứng dụng ................................ ................................ 93
KẾT LUẬN VÀ ĐỀ NGHỊ ................................ ................................ ......... 97
TÀI LIỆU THAM KHẢO ................................ ................................ ........... 98
GVHD: Ks. Hồ Quang Thái
4
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
DANH MỤC HÌNH
Hình 2.1. Thể liên tục thực - ảo của Milgram. ................................ .................... 16
Hình 2.2. Mô phỏng AR trong hình ảnh y tế. ................................ ...................... 17
Hình 2.3. Quảng cáo trên hình ảnh phát sóng trên truyền hình. ........................ 18
Hình 2.4. Trò chơi tàu hỏa vô hình. ................................ ................................ .... 18
Hình 2.5. Đào tạo quân sự. ................................ ................................ ................. 19
Hình 2.6. Các robot sử dụng AR cho hoạt động y tế từ xa. ................................ 19
Hình 2.7. AR được sử dụng để hỗ trợ công việc cơ khí. ................................ ..... 20
Hình 2.8. Các thành phần của hệ thống AR. ................................ ...................... 21
Hình 2.9. Optical See-Through HMD. ................................ ................................ 24
Hình 2.10. Sơ đồ hoạt động của Optical See-Through. ................................ ...... 24
Hình 2.11. Video See-Through HMD. ................................ ................................ . 25
Hình 2.12. Sơ đồ hoạt động của Video See-Through. ................................ ......... 25
Hình 3.1. Mối quan hệ giữa Android và phần cứng. ................................ .......... 28
Hình 3.2. Kiến trúc của Android. ................................ ................................ ........ 28
Hình 3.3. Vòng đời của một Activity. ................................ ................................ .. 32
Hình 3.4. Tổng quan cơ bản của luồng ống dẫn OpenGL ES 1.x. ..................... 34
Hình 3.5. Một số giao diện của Junaio AR Browser. ................................ ......... 37
Hình 3.6. Một số giao diện của Layar AR Browser. ................................ ........... 38
Hình 3.7. Quy trình hoạt động của AR. ................................ .............................. 38
Hình 4.1. Mối quan hệ giữa tọa độ marker và tọa độ máy ảnh được ước lượng
bằng phân tích hình ảnh. ................................ ................................ ..................... 42
Hình 4.2. Hai vectơ có hướng đơn vị v1, v2 được tính từ u1 và u2. ...................... 44
Hình 4.3. Khung tọa độ trong thủ tục hiệu chỉnh. ................................ .............. 45
Hình 4.4. Hiệu chỉnh HMD. ................................ ................................ ................ 48
Hình 4.5. Hai hình ảnh kiểm soát: Các điểm tròn là các điểm đặc tính tự nhiên
được theo dõi; (a) và (b) là các hình ảnh kiểm soát 1 và 2 tương ứng. .............. 50
Hình 4.6. ACS được định nghĩa bởi bốn điểm đặc tính. ................................ ..... 51
GVHD: Ks. Hồ Quang Thái
5
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
Hình 4.7. Xác định bốn điểm trong hai hình ảnh kiểm soát 1, 2 tương ứng; chữ
thập màu xanh lá là các điểm được xác định bởi người dùng một cách thủ công.
................................ ................................ ................................ .............................. 51
Hình 4.8. Mối quan hệ giữa WCS và CCS (Kato 1999). ................................ .... 52
Hình 4.9. Các đối tượng ảo đang đăng ký trong cảnh thực tế: (a) và (b) là hình
ảnh trong chuỗi video tương ứng. ................................ ................................ ....... 53
Hình 4.10. Lỗi chiếu lại so với nhiễu. ................................ ................................ . 54
Hình 4.11. ACS được xác định bởi một tập hợp điểm đăc tính. ......................... 55
Hình 5.1. Sơ đồ tổng quan hệ thống Vuforia. ................................ ..................... 60
Hình 5.2. Sơ đồ dòng dữ liệu của Vuforia SDK trong một môi trường ứng dụng.
................................ ................................ ................................ .............................. 62
Hình 5.3. Hệ tọa độ trên Mục tiêu hình ảnh và Marker. ................................ .... 64
Hình 5.4. Một ví dụ của Mục tiêu hình ảnh với các trục tọa độ. Hình này được
đưa vào Hệ thống quản lý mục tiêu để tạo ra các tập dữ liệu mục tiêu. ............ 66
Hình 5.5. Các đặc tính tự nhiên (dấu cộng màu vàng) trên Mục tiêu hình ảnh mà
Vuforia SDK sử dụng để phát hiện Mục tiêu hình ảnh. ................................ ...... 67
Hình 5.6. Mục tiêu đa hình ảnh với các trục tọa độ của nó. .............................. 69
Hình 5.7. Sự chuyển đổi của các thành phần của Mục tiêu đa hình ảnh. .......... 70
Hình 5.8. Frame Marker. ................................ ................................ .................... 72
Hình 5.9. Mục tiêu hình ảnh với các Nút ảo. ................................ ...................... 74
Hình 5.10. Trang tạo Mục tiêu hình ảnh. ................................ ........................... 76
Hình 5.11. Trang dự án với hai mục tiêu được tải lên và đánh giá chất lượng mục
tiêu. ................................ ................................ ................................ ...................... 76
Hình 5.12. Trang tạo Mục tiêu đa hình ảnh. ................................ ...................... 77
Hình 5.13. Trang tải ảnh lên cho Mục tiêu đa hình ảnh. ................................ .... 78
Hình 5.14. Trang tải ảnh lên cho Mục tiêu đa hình ảnh với một số ảnh đã được
tải lên. ................................ ................................ ................................ .................. 79
Hình 8.1. Mô hình khẩu pháo trong Blender. ................................ ..................... 88
Hình 8.2. Mô hình khẩu pháo hoàn chỉnh. ................................ ......................... 89
Hình 8.3. Mô hình chân tháp hoàn ch ỉnh. ................................ .......................... 89
GVHD: Ks. Hồ Quang Thái
6
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
Hình 8.4. Cấu trúc thư mục của gói Vuforia Unity Android trong một dự án
Unity. ................................ ................................ ................................ ................... 90
Hình 8.5. Mục tiêu hình ảnh stone. ................................ ................................ ..... 91
Hình 8.7. Đối tượng 3D và ImageTarget trong Unity. ................................ ....... 92
Hình 8.8. Giao diện menu chính của trò chơi Cannon Destroy AR. .................. 94
Hình 8.9. Giao diện bắt đầu trò chơi với Mục tiêu hình ảnh đã được nhận dạng
và theo dõi. ................................ ................................ ................................ .......... 95
Hình 8.10. Chạm vào màn hình để bắn đạn pháo. ................................ ............. 95
GVHD: Ks. Hồ Quang Thái
7
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
KÝ HIỆU VÀ VIẾT TẮT
AR: Augmented Reality
HMD: Head Mounted Display
SDK: Software Development Kit
GPS: Global Positioning System
MR: Mixed Reality
VR: Virtual Reality
CPU: Central Processing Unit
RAM: Random Access Memory
DVM: Dalvik Virtual Machine
PDA: Personal Digital Assistant
6DOF: Six Degrees Of Freedom
GVHD: Ks. Hồ Quang Thái
8
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
TÓM TẮT
Công nghệ Augmented Reality (AR) là một công nghệ đã được ứng dụng
trong rất nhiều lĩnh vực khoa học và đời sống ở các quốc gia có nền công nghệ
phát triển tiên tiến. Tuy nhiên ở nước ta hiện nay, công nghệ AR vẫn chưa được
ứng dụng rộng rãi. Từ đó, tôi đưa ra một giải pháp để phổ biến công nghệ này
trong cộng đồng người dùng thiết bị di động, đó là phát triển ứng dụng AR trên
các thiết bị sử dụng hệ điều hành Android.
Các nhà phát triển AR đã xây dựng các thuật toán nhận dạng marker và
markerless phức tạp kết hợp với các kỹ thuật đồ họa máy tính để tạo nên một hệ
thống AR. Với những thuật toán phức tạp như vậy, một hệ thống AR đòi hỏi khả
năng tính toán và xử lý đồ họa cao của máy tính, đồng thời cần có các thiết bị đặc
biệt như Head Mounted Display (HMD) để hỗ trợ hiển thị. Với sự phát triển
mạnh mẽ như hiện nay, các thiết bị di động thông minh như máy tính bảng hay
điện thoại thông minh sử dụng nền tảng Android hay iOS đã có thể đáp ứng được
các yêu cầu của một hệ thống AR. Thực tế cho thấy đã có nhiều bộ công cụ phát
triển ứng dụng AR trên thiết bị di động được phát triển.
Trong bài viết này, tôi sẽ trình bày những hiểu biết của mình về công nghệ
AR, những công nghệ có liên quan và một số bộ công cụ phát triển phần mềm
AR. Đồng thời ứng dụng công nghệ này để xây dựng ứng dụng minh họa trên
điện thoại di động chạy hệ điều hành Android.
Từ khóa: Augmented Reality, Marker, Markerless, Head Mounted Display,
Optical See-Through, Video See-Through.
GVHD: Ks. Hồ Quang Thái
9
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
ABSTRACT
Augmented Reality (AR) is a technology has been applied in many fields of
science and life in the country with advanced technology development. But in
our country, today, AR technology has not been widely applied. Since then, I
offer a solusion to common this technology to making this technology popular in
the user community of mobile devices, which is developing AR applications on
devices using the Android OS.
The AR developers have built complex algorithms to recognize marker and
markerless combined with computer graphics techniques to create an AR system.
With such complex algorithms, an AR system requires the ability to calculation
and graphics processing of computer, and requires special equipment such as
Head Mounted Display (HMD) to support the display. With the strong
development as now, the smart mobile devices such as tablet or smartph ones
using Android or iOS plasform was able to meet the requirements of an AR
system. In fact there were many of the AR application for mobile development
toolkit is developed.
In this paper, I will present my understanding of AR technology, the
technology involved and a number of AR software development tools.
Simultaneous application of this technology to build illustrated applications on
mobile phones running Android OS.
Keywords: Augmented Reality, Marker, Markerless, Head Mounted
Display, Optical See-Through, Video See-Through.
GVHD: Ks. Hồ Quang Thái
10
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
CHƯƠNG 1
TỔNG QUAN
I.1.
ĐẶT VẤN ĐỀ
Ngày nay, những công nghệ hiện đại trong lĩnh vực máy tính không ngừng
phát triển và gia tăng. Không những trong khoa học mà trong đời sống hằng
ngày, chúng ta cũng có thể thấy được sự tiến bộ trong lĩnh vực máy tính. Để tiến
bộ hơn nữa con người đã không ngừng nghiên cứu và phát minh ra những công
nghệ mới, phục vụ cho đời sống. Trong đó, các công nghệ về hình ảnh và đồ họa
máy tính là một trong những công nghệ hiện đại nhất hiện nay.
Trước đây để biết thông tin về một quyển sách, một địa danh, một chiếc
điện thoại hay một chiếc laptop … người ta phải liên hệ với nhà sản xuất hoặc
tìm kiếm thông tin trên internet, báo chí, ... thì bây gi ờ các thông tin đó sẽ hiển
thị ngay trước mắt người xem mà không cần phải tìm kiếm. Hay trong lĩnh vực y
tế, trước đây, để thực hiện một ca phẫu thuật, các bác sĩ phải tính toán các đường
mổ thật kỹ lưỡng trước khi thực hiện thì ngày nay các hình ảnh bên trong có thể
được hiển thị ngay trên cơ thể bệnh nhân. Đó chỉ là một trong những ứng dụng
hết sức giá trị của công nghệ AR.
Công nghệ AR trước kia chỉ phát triển trên các thiết bị riêng biệt, nhưng
hiện nay, công nghệ này đã phát triển ngay cả trên máy tính bảng, PDA hay điện
thoại di động. Hệ thống AR sử dụng những thuật toán phức tạp để theo dõi
marker hay markerless thông qua thiết bị camera, sử dụng các kỹ thuật hiển thị
trên HMD như Optical See–Through hay Video See–Through. Đồng thời cần có
một khả năng đồ họa của máy tính để tạo ra các hình ảnh trong không gian ba
chiều và hiển thị chúng lên các marker hay markerless trong HMD. Từ đó, đặt ra
một vấn đề về phần cứng trên các thiết bị di động. Tuy nhiên, đây không còn là
vấn đề khó khi mà các thiết bị di động với phần cứng mạnh mẽ không ngừng ra
đời. Vấn đề thứ hai và cũng là vấn đề quan trọng đối với các nhà phát triển ứng
dụng AR trên các thiết bị di động là sự cần thiết phải tối ưu hóa các thuật toán
theo dõi marker và markerless sao cho phù hợp. Vấn đề này cũng đã được giải
GVHD: Ks. Hồ Quang Thái
11
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
quyết bằng một số bộ công cụ phát triển phần mềm (SDK). Để thực hiện được
một ứng dụng AR, chúng ta cần phải hiểu được thế nào là AR, marker là gì,
markerless là gì, làm thế nào để tạo ra và nhận dạng marker và markerless. Đó là
các vấn đề chính sẽ được đề cập trong bài viết này.
I.2.
LỊCH SỬ VẤN ĐỀ
Các nghiên cứu về công nghệ AR trên điện thoại di động trước đây đã được
nhiều tác giả ngoài nước thực hiện và đạt được những thành tựu đáng kể. Tiêu
biểu là bài viết “Augmented Reality on Android Smartphones” của tác giả Tobias
Domhan. Trong bài viết tác giả đã giới thiệu tổng quan về công nghệ AR và hệ
điều hành Android, những hạn chế về phần cứng của các thiết bị di động trước
đây, giới thiệu về thư viện ARToolkit, AR Framework AndAR dựa trên thư viện
ARToolkit và kết quả của ứng dụng AndAR Model Viewer được xây dựng dựa
trên AndAR. ARToolkit là một thư viện AR mạnh mẽ, được cung cấp ở dạng mã
nguồn. Thư viện này hỗ trợ phát triển ứng dụng AR trên nhiều nền tảng từ
Windows, Mac OS X, Linux cho đến iOS và Android. AndAR là một AR
Framework dựa trên thư viện ARToolkit, nó cung cấp một Java API thuần túy.
Có thể xem AndAR như là một AR SDK.
Hiện nay, tồn tại song song với AndAR còn có nhiều AR SDK khác cũng
phát triển rất mạnh mẽ, có thể kể đến như là SATCH, Popcode, Vuforia. Tuy
nhiên, tất cả chúng đều có những ưu và khuyết điểm riêng. Chúng ta sẽ cùng tìm
hiểu ở các phần sau của bài viết này.
I.3.
PHẠM VI ĐỀ TÀI
Tìm hiểu về công nghệ AR và các công nghệ có liên quan.
Tìm hiểu về hệ điều hành Android.
Tìm hiểu một số AR SDK có hỗ trợ phát triển trên nền tảng Android.
Lựa chọn một AR SDK thích hợp và xây dựng minh họa ứng dụng AR trên
nền tảng Android dựa trên AR SDK đã chọn.
GVHD: Ks. Hồ Quang Thái
12
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
I.4.
PHƯƠNG PHÁP NGHIÊN CỨU
Tập trung tìm hiểu lý thuyết về công nghệ AR, các kỹ thuật nhận dạng
marker và makerless trong hệ thống AR. Phương pháp tìm hiểu là thông qua các
bài báo khoa học có liên quan. Ngoài ra, cũng tìm hiểu về hệ điều hành Android,
kiến trúc của một ứng dụng Android. Tìm đọc các bài viết về OpenGL và
OpenGL ES cho Android. Tham khảo một số AR SDK cho nền tảng Android,
chọn ra một AR SDK thích hợp và xây dựng demo ứng dụng AR trên thiết bị
Android. Bên cạnh đó, cũng tìm hiểu thêm về cách làm việc trên công cụ Blender
để tạo mô hình 3D và công cụ Unity để xây dựng trò chơi AR cho thiết bị
Android.
GVHD: Ks. Hồ Quang Thái
13
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
CHƯƠNG 2
GIỚI THIỆU TỔNG QUAN VỀ CÔNG NGHỆ AUGMENTED
REALITY
II.1.
GIỚI THIỆU AUGMENTED REALITY
AR là một khung nhìn vật lý hay một môi trường thế giới thực mà các yếu
tố của nó được tăng cường bởi các thành phần được máy tính tạo ra như âm
thanh, video, đồ họa hoặc dữ liệu GPS.
Một hệ thống AR tạo ra một cái nhìn tổng hợp cho người sử dụng. Nó là sự
kết hợp của những cảnh thực được thấy bởi người dùng và một cảnh ảo được tạo
ra bởi máy tính làm “tăng cường” cảnh với các thông tin bổ sung. Với sự hỗ trợ
của công nghệ AR các thông tin về thế giới thực xung quanh người dùng trở nên
trực quan. Thông tin nhân tạo về môi trường và các đối tượng của nó có thể được
đặt lên thế giới thực. Thuật ngữ AR được cho là đã được đưa ra vào năm 1990
bởi Thomas Caudell.
Các lĩnh vực ứng dụng của công nghệ này được trình bày ở phần sau sẽ cho
người dùng thấy rằng công nghệ AR này giúp nâng cao hiệu suất và nhận thức
của họ về thế giới xung quanh. Mục tiêu cuối cùng của công nghệ AR là tạo ra
một hệ thống mà người dùng không thể biết được sự khác biệt giữa thế giới thực
và tăng cường ảo của nó.
AR nằm trong một lĩnh vực tổng quát hơn gọi là Thực tế hỗn hợp (MR),
trong đó đề cập đến một thể liên tục của các lĩnh vực bao gồm Thực tế ảo (VR),
AR, Hiện diện từ xa (Telepresence) và các công nghệ liên quan khác.
VR là một công nghệ bao gồm một phổ rộng các ý tưởng. Cụm từ được bắt
nguồn từ Jaron Lanier người sang lập VPL Research một trong những công ty
đầu tiên bán hệ thống VR. Thuật ngữ này được định nghĩa là “máy tính tạo ra
môi trường tương tác ba chiều trong đó một người được đắm mình” [12]. Có ba
điểm quan trọng trong định nghĩa này. Đầu tiên, môi trường ảo này là do máy
tính tạo ra trong quan cảnh ba chiều, đòi hỏi hiệu năng đồ họa máy tính cao để
cung cấp một mức độ đầy đủ của hiện thực. Điểm thứ hai là thế giới ảo tương
GVHD: Ks. Hồ Quang Thái
14
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
tác. Một người dùng đòi hỏi phải được đáp ứng thời gian thực từ hệ thống để có
thể tương tác với nó một cách hiệu quả. Điểm cuối cùng là người dùng sẽ được
đắm mình trong môi trường ảo này. Một trong những dấu hiệu nhận dạng của
một hệ thống VR là màn hình gắn trên đầu (HMD) được mang bởi người dùng.
Những màn hình này che tất cả các thế giới bên ngoài và trình bày cho người
mang nó một khung nhìn dưới sự kiểm soát hoàn toàn của máy tính. Người dùng
được đắm mình hoàn toàn trong một thế giới nhân tạo và trở nên tách rời khỏi
môi trường thực tế. Để sự đắm mình này xuất hiện thực sự, các hệ thống VR phải
cảm nhận chính xác cách người dùng đang di chuyển và xác định các hiệu ứng sẽ
có trên những cảnh quan được trình bày trong HMD.
Trong Telepresence, mục đích cơ bản là mở rộng cảm giác vận hành thiết bị
và khả năng giải quyết vấn đề từ xa của người điều khiển. Telepresence có thể
được định nghĩa như là một hệ thống người/máy, trong đó người điều khiển nhận
được thông tin đầy đủ về các điều khiển từ xa và môi trường nhiệm vụ, hiển thị
một cách đầy đủ tự nhiên, mà người điều khiển cảm thấy cơ thể có mặt tại các vị
trí ở xa. Rất giống với VR, trong đó nhằm mục đích đạt được những ảo ảnh của
sự hiện diện bên trong một mô phỏng máy tính, Telepresence thì nhằm mục đích
đạt được các ảo tưởng về sự hiện diện tại một địa điểm từ xa.
AR có thể được coi là một công nghệ kết hợp giữa VR và Telepresence.
Trong khi, trong VR môi trường là hoàn toàn nhân tạo và trong Telepresence nó
là hoàn toàn thực tế, thì trong AR người dùng nhìn thấy môi trường thế giới thực
được tăng cường với các đối tượng ảo.
AR cũng được coi là một mở rộng của VR. Trong VR, thời gian, các định
luật vật lý và các thuộc tính vật chất không còn được giữ nguyên, trái ngược với
môi trường thế giới thực. Thay vì xem xét AR và VR như các khái niệm đối lập
nhau, Milgram mô tả một phân loại xác định cách mà AR và VR làm việc có liên
quan nhau. Ông định nghĩa một thể liên tục thực - ảo (Reality - Virtuality
Continuum) như hình sau:
GVHD: Ks. Hồ Quang Thái
15
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
Hình 2.1. Thể liên tục thực - ảo của Milgram.
Môi trường thực và môi trường hoàn toàn ảo nằm ở hai đầu mút của thể liên
tục này với khu vực ở giữa được gọi là MR. AR nằm ở gần môi trường thực hơn
với nhận thức chiếm ưu thế là thế giới thực được tăng cường bởi các dữ liệu do
máy tính tạo ra. Tính ảo tăng cường (Augmented Virtuality) là một thuật ngữ
được đưa ra bởi Milgram để xác định hệ thống mà chủ yếu là giả tạo với một vài
hình ảnh thế giới thực được thêm vào các đối tượng ảo. Đây là một sự phân biệt
sẽ mờ dần khi công nghệ được cải thiện và các yếu tố ảo trong khung cảnh trở
nên khó nhận biết được từ người dùng.
Một hệ thống AR cần phải có đầy đủ ba thuộc tính sau:
Sự kết hợp của thế giới thực và ảo.
Tương tác trong thời gian thực.
Đăng ký trong không gian ba chiều.
Điểm đầu tiên cho thấy, kết quả cuối cùng cần phải có cả hai thành phần,
các thành phần từ thực tế ảo và thực tế. Thứ hai, các bộ phim giống như Avatar,
có chứa các đối tượng ảo được pha trộn vào cảnh thực nhưng không thể được coi
là AR, vì chúng không tương tác. Thêm nữa, như đã nêu ở điểm thứ ba, các
chương trình được sử dụng trong dự báo thời tiết trên truyền hình, cũng không
được coi là AR, vì chúng pha trộn trong bản đồ 2D chứ không có các đối tượng
3D.
II.2.
CÁC ỨNG DỤNG CỦA CÔNG NGHỆ AUGMENTED REALITY
Công nghệ AR có nhiều ứng dụng trong một loạt các lĩnh vực, bao gồm giải
trí, giáo dục, y học, kỹ thuật và sản xuất….Dự kiến các lĩnh vực tiềm năng khác
sẽ xuất hiện phổ biến công nghệ này.
II.2.1. Y tế
Công nghệ hình ảnh là rất phổ biến trong lĩnh vực y tế. Điều đó cho thấy
lĩnh vực này được coi là một trong những lĩnh vực quan trọng hơn cho các hệ
GVHD: Ks. Hồ Quang Thái
16
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
thống AR. Hầu hết các ứng dụng y tế đối phó với các hình ảnh hướng dẫn phẫu
thuật.
Hình ảnh của con đường thông qua giải phẫu của khu vực bị ảnh hưởng (ví
dụ như nơi có khối u phải được loại bỏ) được thực hiện bằng cách tạo ra một mô
hình 3D từ nhiều góc nhìn và các mảng trong các nghiên cứu trước phẫu thuật.
Sau đó, mô hình này được chiếu lên bề mặt mục tiêu để hỗ trợ cho các quá trình
phẫu thuật.
Hình 2.2. Mô phỏng AR trong hình ảnh y tế.
II.2.2. Giải trí
Một hình thức đơn giản của AR đã được sử dụng trong kinh doanh giải trí
và tin tức trong một thời gian khá dài. Princeton Electronic Billboard phát tri ển
một hệ thống AR cho phép các đài truyền hình chèn quảng cáo vào các khu vực
cụ thể của hình ảnh phát sóng. Ví dụ, trong khi phát sóng một trận thi đấu bóng
chày hệ thống này sẽ có thể đặt một quảng cáo trong hình ảnh phát sóng để nó
xuất hiện trên các bức tường bên ngoài của sân vận động, tương tự như hình bên
dưới.
GVHD: Ks. Hồ Quang Thái
17
SVTH: Nguyễn Tấn Trung
Nghiên cứu công nghệ Augmented Reality và viết ứng dụng minh họa công nghệ
Augmented Reality trên hệ điều hành Android
Hình 2.3. Quảng cáo trên hình ảnh phát sóng trên truyền hình.
Một lĩnh vực giải trí khác, không thể bỏ qua đó là trò chơi. Hiện nay các trò
chơi thể loại AR phát triển rất đa dạng và phong phú, như hình bên dưới, một trò
chơi hiển thị một chiếc tàu hỏa ảo trên một đường ray làm bằng gỗ thực. Ứng
dụng đang chạy trên một chiếc PDA.
Hình 2.4. Trò chơi tàu hỏa vô hình.
II.2.3. Quân sự
Quân đội đã sử dụng các loại hiển thị trong buồng lái để hiển thị thông tin
đến phi công trên kính chắn gió của buồng lái hoặc tấm che mũ bảo hiểm trên
máy bay. Đây là một hình thức hiển thị AR.
GVHD: Ks. Hồ Quang Thái
18
SVTH: Nguyễn Tấn Trung
- Xem thêm -