1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án xây dựng chương trình thực tại ảo trên android

56 74 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

e ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Lê Vũ Huy XÂY DỰNG CHƯƠNG TRÌNH THỰC TẠI ẢO TRÊN ANDROID KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin HÀ NỘI - 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Lê Vũ Huy XÂY DỰNG CHƯƠNG TRÌNH THỰC TẠI ẢO TRÊN ANDROID KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin Cán hướng dẫn : ThS Vũ Quang Dũng HÀ NỘI – 2016 VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY Le Vu Huy CREATE AUGMENTED REALITY APPLICATION BASED ON MOBILE DEVICES BACHELOR THESIS Major: Information Technology Supervisor: M.S Vu Quang Dung HA NOI – 2016 LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn chân thành sâu sắc đến ThS.Vũ Quang Dũng tận tình hướng dẫn, giúp đỡ tơi q trình thực khóa luận Tôi xin gửi lời cảm ơn tới anh chị, bạn Toshiba Lab giúp đỡ, tạo điều kiện nghiên cứu tốt cho Cám ơn anh Nguyễn Bảo Ngọc, anh Trần Hữu Trung, bạn Bùi Xuân Hiền, Vũ Thị Ngọc hỗ trợ, giúp tơi hồn thành đề tài cách tốt Lời cuối cùng, xin gửi lời cảm ơn tới gia đình, người thân bạn bè người ln bên tơi lúc khó khăn nhất, ln động viên tơi, khuyến khích tơi sống học tập, công việc Tôi xin chân thành cảm ơn ! Sinh viên Lê Vũ Huy i LỜI CAM ĐOAN Tôi xin cam đoan kết trình bày khóa luận tơi thực hướng dẫn ThS.Vũ Quang Dũng Tất tham khảo từ nghiên cứu liên quan nêu nguồn gốc cách rõ ràng từ danh mục tài liệu tham khảo khóa luận Khóa luận khơng chép tài liệu, cơng trình nghiên cứu người khác mà không rõ mặt tài liệu tham khảo Các thống kê, kết trình bày khóa luận lấy từ thực nghiệm chạy chương trình Sinh viên Lê Vũ Huy ii TĨM TẮT Tóm tắt: Ngày nay, cơng nghệ tăng cường thực ảo (Augmented Reality) dần trở nên gần gũi với người ứng dụng hầu hết lĩnh vực từ mua sắ m cho đế n tương tác ảo Được phát triển từ công nghệ VR (Virtual Reality), Augmented Reality xây dựng khung nhìn bổ sung vật thể đồ họa 2D hay 3D vào môi trường thật qua lớp thông tin hỗ trợ hiển thị thiết bị điện tử smartphone, tablet Nhờ vậy, AR mang đến cho trải nghiệm ảo trước mắt thơng qua hình ảnh khung nhìn ảo tạo nhờ thiết bị thông minh Trong khóa luận này, chúng tơi vào tìm hiểu nguyên lý công nghệ tăng cường thực ảo, cách thức hoạt động ARToolkit Thông qua công cụ xây dựng ứng dụng đơn giản cho phép người dùng chọn hình ảnh làm marker hiển thị đồ vật 3D camera nhận diện marker Qua trình thiết kế cài đặt, chúng tơi hiểu trình xây dựng ứng dụng AR cách áp dụng vào tốn thực tế Trải qua trình xây dựng thực nghiệm, hệ thống đáp ứng yêu cầu toán đặt Hiệu suất ứng dụng xây dựng ARToolkit mức cao độ trễ thấp Tuy nhiên để trở thành tảng ứng dụng rộng rãi cần phải nâng cấp cải tiến nhiều hiệu suất, chức tài liệu liên quan Từ khóa : Thực ảo, Thực ảo tăng cường, ARToolkit, Marker iii ABSTRACT Abstract: Nowaday, the Augmented Reality (AR) technology has gradually become familiar with people and been applied in many of real-life fields Developed from the Virtual Reality technology, AR implements the views and supplements 2D or 3D graphics in the real environment through layers of supported information These graphics will be displayed on electronic devices such as smartphones, tablets and so on Therefore, AR will bring us virtual experiences before eyes through virtual images and views created thanks to smart devices In this thesis, we will go into a deep analysis of principles of the virtual reality enhancing technology and the way of ARToolkit works By this toolkit, we created a simple application which allows users to choose a image as marker and display 3D objects if the camera can identify that marker Thanks to the design and installment, we understand more about the process of building an AR application and how to apply it into real problems We have built a testing application system in order to meet the basic requirements that problems posed The application is based on ARToolkit and it has high efficiency and low latency Also, we need to improve the efficiency, functions and related documents for this toolkit to be widely applied Từ khóa : Virtual reality, Augmented reality, ARToolkit, Marker iv MỤC LỤC TÓM TẮT iii ABSTRACT iv MỤC LỤC v DANH MỤC HÌNH VẼ vii DANH MỤC BẢNG BIỂU ix DANH MỤC TỪ VIẾT TẮT x Mở đầu Chương 1: Cơ sở lý thuyết công nghệ 1.1 Thực ảo công nghệ tăng cường thực ảo 1.1.1 Khái niệm 1.1.2 Các phương pháp thực AR 1.2 ARToolkit 1.3 Xử lý đồ họa 1.4 Mơ hình MVP Chương 2: Phân tích yêu cầu 11 2.1 Đặc tả yêu cầu 11 2.1.1 Yêu cầu chức 11 2.1.2 Yêu cầu phi chức 13 Chương 3: Thiết kế xây dựng hệ thống 14 3.1 Kiến trúc hệ thống 14 3.1.1 Kiến trúc client 16 3.1.2 Kiến trúc server 17 3.2 Thiết kế ca sử dụng 18 3.3 Biểu đồ 24 v 3.4 Cấu trúc sở liệu 28 Chương 4: Kết thực nghiệm 31 4.1 Môi trường thực nghiệm 31 4.2 Dữ liệu thực nghiệm 31 4.3 Kết thực nghiệm 33 4.3.1 Tạo marker 33 4.3.2 Giao diện quản lý marker 35 4.3.3 Camera nhận diện 37 Chương 5: Kết luận định hướng phát triển 40 TÀI LIỆU THAM KHẢO 43 vi DANH MỤC HÌNH VẼ Hình 1.1 Trải nghiệm kính thực tế ảo lĩnh vực giải trí Hình 1.2 Tính nhận diện khuôn mặt Google Glass Hình 1.3 Người dùng trải nghiệm kính thực tế ảo Hololens Hình 2.1 Ví dụ Square marker 12 Hình 2.2 Ví dụ pattern marker 12 Hình 3.1 Kiến trúc toàn hệ thống 14 Hình 3.2 Mơ hình MVP với chức Edit marker 16 Hình 3.3 Biểu đồ ca sử dụng 18 Hình 3.4 Ca sử dụng Sign up 24 Hình 3.5 Ca sử dụng Login 25 Hình 3.6 Ca sử dụng Get all marker 25 Hình 3.7 Ca sử dụng Create marker 26 Hình 3.8 Ca sử dụng Edit marker 26 Hình 3.9 Ca sử dụng Delete marker 27 Hình 3.10 Ca sử dụng Download marker 28 Hình 3.11 Ca sử dụng Scan marker 28 Hình 3.12 Cấu trúc bảng sở liệu 29 Hình 4.1 Hình ảnh thử nghiệm (1600x870) 31 Hình 4.2 Hình ảnh thử nghiệm (1852x1389) 32 Hình 4.3 Hình ảnh thử nghiệm (592x760) 32 Hình 4.4 Màn hình tạo marker 33 Hình 4.5 Qúa trình sinh liệu nhận diện phía server 34 Hình 4.6 Menu ứng dụng 35 Hình 4.7 Danh sách marker server 35 Hình 4.8 Màn hình xem chi tiết marker 36 Hình 4.9 Danh sách marker local 36 vii Hình 3.12 Cấu trúc bảng sở liệu Bảng 3.10 Giải thích ý nghĩa bảng User Trường Ý nghĩa user_id ID định danh user email Email user, dùng để đăng nhập user_name Tên người dùng Bảng 3.11 Giải thích ý nghĩa bảng Marker Trường Ý nghĩa marker_id ID định danh marker marker_name Tên marker 29 user_id ID người dùng upload marker model_id ID model gắn với marker iset_path Đường dẫn file iset (trong nhớ trong) fset_path Đường dẫn file fset (trong nhớ trong) fset3_path Đường dẫn file fset3 (trong nhớ trong) image_path Đường dẫn file hình ảnh (trong nhớ trong) Bảng 3.12 Giải thích ý nghĩa bảng Model Trường Ý nghĩa model_id ID định danh model model_name Tên model model_path Đường dẫn lưu file osg model (trong nhớ trong) 30 Chương 4: Kết thực nghiệm 4.1 Môi trường thực nghiệm  Phía server: Hệ điều hành Linux, framework Ruby on Rails  Phía client: Hệ điều hành Android phiên 2.1 trở lên  Ngơn ngữ lập trình: Ruby, Java 1.7, C/C++, JNI r10e  Cơng cụ lập trình: Android Studio 1.5.1  Hệ quản trị sở liệu: MySQL, SQLite  Cấu hình máy test o LG GPRO – Android 5.0.1 Lollipop o Chipset: Snapdragon 800 – Quadcore 2.26Ghz Krait 400 o Camera 13Megapixels  Các thư viện sử dụng o Google play services 8.4 o Volley 1.0 o Android support appcompat v7 o Android support v4 o Android support design 4.2 Dữ liệu thực nghiệm Một số hình ảnh dùng để thử nghiệm làm marker: Hình 4.1 Hình ảnh thử nghiệm (1600x870) 31 Hình 4.3 Hình ảnh thử nghiệm (592x760) Hình 4.2 Hình ảnh thử nghiệm (1852x1389) 32 4.3 Kết thực nghiệm 4.3.1.Tạo marker Màn hình tạo marker sau người dùng chọn anh thư viện chụp ảnh Ứng dụng tích hợp cơng cụ cắt ảnh giúp người dùng tạo marker yêu cầu Hình 4.4 Màn hình tạo marker Sau crop ảnh, Android gửi hình ảnh lên server chờ xử lý Do trình diễn lâu (2 phút – 10 phút) nên Android không hiển thị progress dialog yêu 33 cầu người dùng đợi, liệu xử lý xong, server gửi thông báo cho client Android Về bản, trình sinh liệu nhận diện diễn theo trình tự: ARToolkit lấy khoảng DPI hình ảnh (phụ thuộc vào độ phân giải hình ảnh) Mỗi mức DPI tương ứng với hình ảnh khoảng cách xa gần so với camera Với mức DPI, ARToolkit tìm lưu điểm đặc trưng lại, bao gồm tọa độ màu sắc Các điểm đặc trưng lấy dựa vào chi tiết ảnh, điểm vị trí cạnh màu ưu tiên Các điểm đặc trưng lưu vào file fset fset3 File iset lưu điểm ảnh hình ảnh chế độ đen trắng Sau trình sinh liệu nhận diện này, ARToolkit trả file fset, fset3 iset Với liệu này, ARToolkit đọc tracking marker, từ xác định vector định hướng marker camera vẽ vật thể 3D Hình 4.5 Qúa trình sinh liệu nhận diện phía server 34 4.3.2 Giao diện quản lý marker Dưới hình ứng dụng phần quản lý marker: Hình 4.6 Menu ứng dụng Hình 4.7 Danh sách marker server 35 Hình 4.9 Danh sách marker local Hình 4.8 Màn hình xem chi tiết marker 36 4.3.3 Camera nhận diện Khi sử dụng camera, ứng dụng nhận biết marker vẽ lên vật thể 3D: Hình 4.11 Camera nhận diện marker vẽ lên vật thể 3D Hình 4.10 Một vật thể 3D khác vẽ OpenSceneGraph 37 Hình 4.12 Thử nghiệm với hình ảnh khác 4.4 Đánh giá Qua trình thực nghiệm, rút số thống kê sau ứng dụng:  Độ xác nhận diện: Với toán AR sử dụng image marker, chúng có giá trị ngưỡng so sánh hình ảnh từ camera với liệu nhận diện Với giá trị ngưỡng cao, độ xác nhận diện marker cao, ứng dụng phân biệt marker có độ giống cao, nhiên việc nhận diện khó khăn hơn, yêu cầu khoảng cách gần góc nghiêng Với giá trị ngưỡng thấp, ứng dụng nhận diện marker khoảng cách xa góc nghiêng lớn hơn, nhiên lại khơng phân biệt xác có marker gần giống Do với toán, ứng dụng, nhà phát triển cần đánh giá thực nghiệm để tìm giá trị ngưỡng thích hợp  Góc nhận diện: Khi di chuyển camera, góc hướng nhìn camera so với mặt phẳng marker thay đổi liên tục Qua thực nghiệm với giá trị ngưỡng cài đặt sẵn ARToolkit, camera nhận diện tốt marker với giá trị góc từ 10O đến 170O 38  Khoảng cách nhận diện: Với phương pháp sinh liệu nhận diện từ mức DPI, thấy khoảng cách nhận diện giá trị phụ thuộc vào kích thước marker Giả sử marker sử dụng mặt tịa nhà kích thước marker lớn, khoảng cách nhận diện lên tới vài km Qua trình thực nghiệm với giá trị ngưỡng cài đặt sẵn ARToolkit, khoảng cách tối đa camera nhận diện marker khoảng 2,83 lần kích thước marker  Thời gian nhận diện: Khi sử dụng ứng dụng người dùng bình thường, tốc độ nhận diện marker gần sau marker vào vùng nhìn thấy camera (~0.5s) Tốc độ nhận diện phụ thuộc vào số yếu tố ánh sáng môi trường, tốc độ xử lý điện thoại, độ phân giải camera,… Từ đánh giá trên, nhận thấy ưu điểm bật cơng cụ ARToolkit nói chung:  Tốc độ nhận diện nhanh, độ trễ thấp  Hỗ trợ loại marker (matrix marker, pattern marker, image marker)  Hiệu suất nhận diện tốt kể môi trường ánh sáng phức tạp  Mã nguồn mở Một số điểm hạn chế ARToolkit:  Tài liệu hướng dẫn lý thuyết sơ sài  Hiện model gắn với marker  Hình ảnh từ camera lên hình bị lỗi màu sắc  Với hình ảnh độ phân giải cao thời gian sinh liệu nhận diện lâu 39 Chương 5: Kết luận định hướng phát triển Thông qua việc phát triển ứng dụng này, hiểu nguyên lý hoạt động ứng dụng AR cách xây dựng với cơng cụ ARToolkit Về ứng dụng hoàn thiện hệ thống AR hoàn chỉnh từ việc sinh liệu nhận diện, quản lý nhận diện marker Tuy nhiên chức bản, giao diện cịn số chỗ chưa hồn thiện Trong tương lai, hệ thống cần phát triển thêm chức hoàn thiện giao diện để đưa vào ứng dụng thực tế: Chức năng:  Tương tác với vật thể ảo: Việc phát triển tương tác với vật thể ảo ứng dụng AR hướng phát triển tất yếu Khi vật thể ảo lên, người dùng chạm tương tác xử lý render hiệu ứng chuyển động (animation)  Nhận diện giọng nói: Ngồi xử lý đầu vào tương tác chạm, ứng dụng cịn nhận diện giọng nói xử lý để nhận yêu cầu người dùng  Phát giọng nói: Ngồi việc hiển thị đồ họa, ứng dụng cịn phát triển thêm chức phát giọng nói nhận diện vật thể Chức hữu ích cho ứng dụng AR phát triển cho người khiếm thị hay ứng dụng cho trẻ em  Tích hợp thêm loại thơng tin ảo khác: ngồi sử dụng vật thể 3D tĩnh, ứng dụng tích hợp thêm thơng tin bổ sung khác video, vật thể 3D động, text,… Giao diện:  Giao diện cần có tính trực quan việc thể nội dung ảo gắn với vật thể  Giao diện thiết kế theo phong cách material design Các kế t quả cho thấy, AR đem đến trải nghiệm người dùng độc đáo, giúp đưa thêm thông tin trực quan cho người dùng trực tiế p hin ̀ h ảnh Từ đó, nhận định, tiềm phát triển AR thời gian tới sáng sủa Tuy nhiên, tồn số luồng ý kiến cho rằng: AR rốt chiêu thức tiếp thị hào nhống nhà sản xuất cơng nghệ Ý kiến không 40 đúng, ứng dụng AR thời điểm chưa mang tính thực tiễn cao, chưa áp dụng phạm vi rộng lớn Do đó, để AR trở thành công nghệ tương lai, nhà sản xuất cần tập trung nguồn lực vào ba mặt: nội dung phần cứng phần mềm Phần cứng Về phần cứng, hiệu AR định yếu tố:  Chất lượng phần cứng camera  Tốc độ xử lý điện thoại  Độ xác cảm biến Để nâng cao độ xác nhận diện marker, trường hợp marker xa, chúng tơi cần camera có độ phân giải cao chất lượng tốt Hiện chất lượng camera điện thoại thơng minh ngày có bước phát triển mạnh mẽ, cải thiện chất lượng hình ảnh độ phân giải Tuy nhiên, việc xử lý camera có độ phân giải cao thiết bị cần có xử lý thật mạnh Do tốc độ xử lý thiết bị cầm tay thiết bị đeo mức hạn chế nên nhà phát triển cần phải cân nhắc việc chọn độ phân giải camera, để vừa có chất lượng hiển thị tốt, vừa có độ trễ nhận diện mức chấp nhận Ngoài ra, phương pháp thực AR, nhà phát triển cịn sử dụng cảm biến điện thoại cảm biến gia tốc, cảm biến từ trường, GPS,… để tăng độ xác cho việc nhận diện Do đó, sản xuất thiết bị đeo được, nhà phát triển cần ý đến việc cải thiện độ xác cảm biến Phần mềm Về mặt phần mềm, ARToolkit bị ảnh hưởng yếu tố sau:  Thuật toán nhận diện marker  Nhận diện âm  Render đồ họa (Graphics rendering) Về mặt nguyên lý, SDK AR có phương pháp xử lý chung nhận diện nhờ điểm đặc trưng marker dạng hình ảnh, nhận diện ma trận với marker ma trận Việc render đồ họa hình thiết bị thường hỗ trợ thư viện đồ họa phổ biến OpenGL, DirectX, Unity,… Tuy nhiên việc kết hợp 41 cho hợp lý mang lại hiệu tốt thiết bị di động thiết bị đeo tốn quan trọng cơng ty AR Ngồi ra, việc kết hợp thêm thơng tin đầu vào khác, ví dụ giọng nói mở trải nghiệm tiện lợi cho người dùng việc tương tác với thiết bị Trong lĩnh vực giải trí, cơng ty AR phát triển thêm thiết bị cầm tay giúp người tương tác với giới ảo Ngoài yếu tố ảnh hưởng đến hiệu ứng dụng, nhà phát triển cần tập trung nhiều việc sản xuất nội dung AR Hiện ứng dụng AR để trải nghiệm trình diễn cơng nghệ, biểu diễn tính Các ứng dụng đưa thị trường thực tế thường xoay quanh việc nhận diện đồ vật, sản phẩm tiêu dùng, chưa thực phổ biến rộng rãi Trong tương lai gần, nhà phát triển ứng dụng AR cần tập trung vào việc xây dựng nội dung hướng đến lĩnh vực giáo dục, giao thơng, sản xuất khí,… Với cơng nghệ AR, người tiêu dùng giải vấn đề khó khăn cách đơn giản nhiều 42 TÀI LIỆU THAM KHẢO [1] "Open Source Augmented Reality SDK | ARToolKit.org," [Online] Available: http://artoolkit.org/ [2] B X Hiền, "Tìm hiểu phát triển thuật tốn AR Marker sử dụng ARToolkit," 2016 [3] "ARToolkit5," [Online] Available: https://github.com/artoolkit/artoolkit5 [4] K NGUYEN, "Tổng Quan Về Thực Tại Tăng Cường - Augmented Reality," [Online] Available: http://www.stdio.vn/articles/read/237/tong-quan-ve-thuc-taitang-cuong-augmented-reality [5] T H Trung, "TÌM HIỂU VÀ ÁP DỤNG CƠNG NGHỆ THỰC TẠI ẢO VỚI CÔNG CỤ JSARTOOLKIT" [6] "OpenSceneGraph," [Online] Available: http://www.openscenegraph.org/ [7] "Microsoft vào giới thực tế ảo với Hololens: tuyệt vời," tinhte, [Online] Available: https://tinhte.vn/threads/microsoft-vao-the-gioi-thuc-te-ao-voihololens-qua-tuyet-voi.2417509/ [8] H V Tuan, "Android Architecture," https://viblo.asia/tuanhv/posts/eJ1vOmOEMkby [Online] Available: [9] "OpenGL - The Industry Standard for High Performance Graphics," Khronos Group, [Online] Available: https://www.opengl.org/ 43 ... nghệ - trình bày thuật tốn, so sánh, cơng nghệ sử dụng Chương 3: Phân tích xây dựng chương trình - chương có thiết kế hệ thống thực nghiệm kiến trúc, sở liệu, biểu đồ thiết kế Chương 4: Kết thực. .. thị đồ vật 3D camera nhận diện marker Qua q trình thiết kế cài đặt, hiểu trình xây dựng ứng dụng AR cách áp dụng vào tốn thực tế Trải qua trình xây dựng thực nghiệm, hệ thống đáp ứng yêu cầu toán... NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Vũ Huy XÂY DỰNG CHƯƠNG TRÌNH THỰC TẠI ẢO TRÊN ANDROID KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin Cán hướng dẫn : ThS Vũ Quang Dũng HÀ NỘI

Ngày đăng: 04/11/2020, 23:41

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w