0
Tải bản đầy đủ (.pdf) (76 trang)

Các vấn đề khi phát triển ứng dụng AR-LBS

Một phần của tài liệu NGHIÊN CỨU KIẾN TRÚC HỆ THỐNG AR-LBS (Trang 49 -76 )

Với các thiết bị AR chuyên dụng, hệ thống điều khiển được nhúng và trong các vỉ mạch phần cứng. Ứng dụng AR được nhắc đến trong phạm vi luận văn chủ yếu đề cập đến các thiết bị điện thoại thông minh.

Để phát triển ứng dụng AR cần quan tâm một số các khái niệm sau:

Khung nhìn thực (Reality view):

Được xem như luồng video sinh ra bởi camera của smartphone. Nó chính là khung cảnh mà người dùng thấy được khi quan sát qua một ứng dụng camera bình thường. Ứng dụng sẽ phân tích ảnh lấy được từ luồng video và bổ sung các đối tượng ảo để tạo ra những hình ảnh tăng cường.

Lƣu vết (Registration and Tracking):

Mô tả phương thức căn chỉnh các đối tượng ảo để ghép vào khung nhìn thực tế. Đối với các ứng dụng smartphone, việc lưu vết các đối tượng bao gồm hoặc là cảm biến về vị trí (GPS), la bàn số và gia tốc kế (đây là các phương pháp lưu vết theo vị trí – Location based tracking) hoặc hệ nhận dạng hình ảnh (phương pháp lưu vết theo thị giác – Optical tracking) hoặc là kết hợp cả 2 loại trên.

Điểm đặc trƣng (Point of Interest (POI)):

Là một dạng dữ liệu điển hình gắn liền với vị trí địa lý (longitude, latitude, altitude) hoặc một mẫu trực quan (marker, book cover …) mà có thể được dựng lên trong ứng dụng AR. Kiểu dữ liệu POI phải cung cấp được vị trí hoặc các hình ảnh tham chiếu trong việc lưu vết và kiểu nội dung sẽ được dựng lên. Thông thường bản thân nội dung không phải là một phần của POI, mà POI sẽ cung cấp một liên kết tới nội dung cần hiển thị.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Đối tƣợng ảo (virtual object):

Một số nội dung số được dựng lên trong ứng dụng AR và đặt lên khung nhìn thực tế. Nội dung thường gồm: mô hình 3D, ảnh 2D, biểu tượng và văn bản.

Markerless và Marker based AR:

Nơi mà việc nhận dạng ảnh được sử dụng để sắp các đối tượng ảo (optical tracking) đó là sự phân biệt giữa các hệ thống xác định mộtmarker nhân tạo ( gồm mã ma trận 2 chiều hoặc diode phát quang) đặt tại các vị trí hoặc là trên các đối tượng của thế giới thực và những vị trí mà có thể nhận dạng bằng các đặc điểm tự nhiên để xác định các đối tượng thế giới thực không được sửa đổi như : bìa sách, poster quảng cáo, mốc ranh giới … mà nó không có các marker nhân tạo để hỗ trợ nhận dạng (Markerless) .

Trong mỗi trường hợp các đối tượng ảo 2d hay 3d xuất hiện để được gắn với marker hoặc các đặc điểm tự nhiên khi nhìn qua ứng dụng AR.

Lƣu vết dựa trên vị trí

Hệ thống sẽ thực hiện việc lưu vết dựa trên thông tin vị trí địa lý được cảm nhận bởi các cảm biến định vị của thiết bị (longitude, latitude, altitude ..) là vấn đề chính khi kết hợp AR và LBS để tạo ra ứng dụng AR-LBS. Lưu vết dựa trên vị trí sẽ cho phép ứng dụng xác định các dịch vụ tương ứng với vị trí của thiết bị thông qua cảm biến định vị.

2.4.4 Các chiến lƣợc phát triển hệ thống AR-LBS

Kiến trúc AR-LBS sử dụng các thiết bị di động đầu cuối để tương tác với máy chủ nhận về các dữ liệu định vị, dữ liệu AR thông qua hệ thống mạng truyền thôngvà internet nên kiến trúc AR-LBS có mô hình client-server. Có nhiều chiến lược có thể được ứng dụng để phát triển hệ thống AR-LBS như:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Server-side: Cho phép clients gửi các câu truy vấn dữ liệu và phân tích tới server. Server xử lý các câu truy vấn và cho lại dữ liệu hoặc giải pháp tới remote client

Client-side: Cho phép clients thực hiện chế tác và phân tích dữ liệu ngay trên các máy của họ

Ngoài ra có thể tổ hợp các xử lý của Server và client hình thành chiến lược lai để tối ưu hiệu năng và đáp ứng các nhu cầu đặc biệt của người sử dụng.

2.4.5.1. Chiến lƣợc Server-side

Trong chiến lược này, việc giải quyết vấn đề tập trung vào cung cấp dữ liệu AR và phân tích yêu cầu từ phía heavy server.Dữ liệu và các chương trình xử lý dữ liệu được cài đặt trên server.

Phía client chỉ cần thiết bị tính toán khả năng thấpđể gửi yêu cầu và hiển thị kết quả cho lại từ server

Thủ tục xử lý:

1. Client: Ứng dụng AR gửi dữ liệu định vị và các lưu vết (trackking) thu được từ camera và gửi lên server thông qua internet.

2. Server: Dịch vụ trên server xử lý các thông tin từ client, trích xuất dữ liệu AR. Trả dữ liệu lại cho Client

3. Client: Nhận dữ liệu trả về từ server. Thực hiện gắn các dữ liệu lên màn hình camera và hiển thị kết quả.

Chương trình phía client: có khả năng sử dụng camera và xác định được lưu vết đối tượng qua camera, xác định được vị trí thông qua các hệ thống định vị, có thể xây dựng bằng C++, java, C# ..

Chương trình phía server: Có các service để nhận, xử lý và trả dữ liệu thông qua các giao thức thông dụng như HTTP, TCP/IP ,…Có giao diện web

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

quản trị về dữ liệu, tài nguyên của hệ thống. Ngoài ra cần thiết có các chương trình để xử lý dữ liệu nhập, nhận dạng theo vị trí, …

Nhận xét về chiến lược Server-side:

Ƣu điểm: Với hệ thống máy chủ có hiệu năng cao, tốc độ xử lý dữ liệu sẽ

rất nhanh, đảm bảo có thể phân tích các dữ liệu phức tạp.

Thiết bị client chỉ cần có cấu hình vừa đủ với các thành phần phần cứng cơ bản để truyền nhận và hiển thị dữ liệu.

Nhƣợc điểm: Client không chủ động được những xử lý nhỏ, không tận

dụng được hiệu năng của thiết bị client.

Lượng dữ liệu truyền trên đường truyền có thể rất lớn sẽ dẫn đến khoảng thời gian trễ với ứng dụng.Thậm chí có thể không có đáp ứng từ server.

2.4.5.2. Chiến lƣợc Client-side

Các ứng dụng Client-side chia sẻ một số công việc xử lý yêu cầu với máy chủ.Chiến lược này còn có tên gọi là think client.Thay vì mọi thứ đều làm trên máy chủ, một vài khả năng nhận dạng, lưu vết có thể được cài đặt trên client để tự xử lý dữ liệu.

Thủ tục xử lý:

1. Client: Ứng dụng AR gửi yêu lên server.

2. Server: Dịch vụ trên server xử lý yêu cầu và trả lại dữ liệu cần thiết. 3. Client: Nhận dữ liệu trả về từ server. Client tự xử lý các dữ liệu nhận

về.

Chương trình phía client: có khả năng sử dụng camera. Xác định được lưu vết đối tượng qua camera, xác định được vị trí thông qua các hệ thống định vị.

Có khả năng nhận dạng và gắn đối tượng thực - ảo và hiển thị trên màn hình.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Có thể xây dựng chương trình bằng C++, java, C# ..

Chương trình phía server: Có các service để nhận, xử lý và trả dữ liệu thông qua các giao thức thông dụng như HTTP, TCP/IP ,… Có giao diện web quản trị về dữ liệu, tài nguyên của hệ thống.

Ƣu điểm: Ứng dụng sẽ tận dụng lợi thế sức mạnh xử lý của máy tính phía

client

User có đầy đủ khả năng làm chủ tiến trình phân tích dữ liệu

Một khi server trả lời client, user có thể chế tác dữ liệu mà không phải trao đổi thông điệp giữa client và server qua Internet.

Nhƣợc điểm: Nếu máy tính client không đủ mạnh thì rất khó khăn xử lý tập dữ liệu phức tạp và lớn

Các chương trình Dò vết (tracking) phức tạp sẽ chạy chậm hơn trên client so với trên server

Nếu có những thay đổi nâng cấp về các vấn đề xử lý thì client phải thực hiện update.

2.4.5.3. Chiến lƣợc Tích hợp

Như đã trình bày ở phần trước, chiến lược server-side và client-side đều có hạn chế.Nếu chiến lược server-side đòi hỏi thường xuyên tải data thì hiệu năng của nó phụ thuộc vào băng thông Internet và lưu lượng mạng. Chiến lược client- side phụ thuộc vào sức mạnh của máy tính client, có nghĩa một số nhiệm vụ chạy chậm.

Có thể tổ hợp hai chiến lược trên để hình thành giải pháp lai phù hợp hơn với khả năng của cả server và client như sau:

Các nhiệm vụ đòi hỏi sử dụng CSDL lớn hay phân tích phức tạp được giao cho máy chạy nhanh hơn, thông thường là server

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Các nhiệm vụ đòi hỏi user có mức làm chủ cao thì gán cho client

2.5. Kết luận chƣơng 2

Kiến trúc AR-LBS là sự kết hợp của rất nhiều công nghệ, nó đòi hỏi cao về thiết bị người dùng cũng như các hạ tầng và dịch vụ hỗ trợ.Các thiết bị AR phải có khả năng hiển thị tốt hình ảnh, khả năng định vị, có kết nối internet với một tốc độ chấp nhận được để đảm bảo về mặt cung cấp dữ liệu thời gian thực.Bên cạnh đó, hệ thống server phải có khả năng tổ chức lưu trữ các dữ liệu đa phương tiện để đáp ứng các dịch vụ mà hệ thống yêu cầu.

Việc đưa kiến trúc vào trong cuộc sống mang lại những trải nghiệm thú vị cho người dùng, các ứng dụng sẽ hỗ trợ người dùng tra cứu, mô phỏng một cách trực quan dưới ống kính camera của thiết bị. AR-LBS có thể ứng dụng trong các lĩnh vực du lịch, giải trí, khám phá …

Tuy nhiên, để triển khai một ứng dụng thực tế còn rất nhiều khó khăn. Ngoài việc đảm bảo về mặt thiết bị, hạ tầng truyền thông và hệ thống server, vấn đề về thu thập dữ liệu và tiền xử lý cũng đòi hỏi phải có những đầu tư nhất định. Về mặt thiết bị: Thiết bị AR chuyên dụng có khả năng mô phỏng rất tốt nhưng hạn chế về vấn đề tùy chọn kết nối, giá thành lại quá cao. Những thiết bị smartphone hiện nay có thể khắc phục được những điểm yếu trên của thiết bị AR chuyên dụng, chúng có hệ điều hành có thể dễ dàng phát triển các ứng dụng trên đó, đồng thời có khả năng xử lý hình ảnh và khả năng kết nối mạng truyền thông rất tốt.

Chương tiếp theo của luận văn sẽ trình bày giải pháp về xây dựng một ứng dụng AR-LBS trong thực tế.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Chƣơng 3: Xây dựng demo hệ thống AR-LBS trên nền tảng GoogleApp Engine

3.1. Giới thiệu về Google App-Engine

Google App Engine (thường được gọi tắt là GAE hoặc App Engine) là nền tảng PaaS được Google cung cấp nhằm phát triển các ứng dụng web và được lưu trữ tại Trung tâm quản lý dữ liệu Google (Google-managed data center). Các ứng dụng được đóng gói và chạy trên các máy chủ.

Google App Engine cho phép người dùng chạy các ứng dụng web trên nền tảng kiến trúc Google.Các ứng dụng App Engine được xây dựng và quản lý một cách dễ dàng. Với App Engine, không cần phải bào trì máy chủ, người dùng upload các ứng dụng và nó luôn sẵn sàng phục vụ.

App Engine tự động tổng hợp yêu cầu cho các ứng dụng, như: tự động tổng hợp các yêu cầu của ứng dụng, tự động xác định vị trí các tài nguyên cần thiết để ứng dụng có thể đáp ứng các yêu cầu người dùng.

Người dùng có thể sử dụng domain được cung cấp bởi Google Apps hoặc sử dụng domain riêng cho các ứng dụng của mình.Các ứng dụng có thể được chia sẻ rộng rãi hoặc giới hạn cho một nhóm người dùng nhất định.

Khi sử dụng, Google App Engine miễn phí sử dụng tài nguyên, chỉ tính phí băng thông, mở rộng lưu trữ.Hay nói cách khác, người dùng chỉ phải trả phí cho những tài nguyên sử dụng. Không có phí thuê bao hay các khoản phụ phí khác. Các tài nguyên được sử dụng như dung lượng lưu trữ, băng thông… đều được quản lý sử dụng với hiệu quả tối đa cho người dùng.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

3.1.1. Môi trƣờng ứng dụng:

App Engine cung cấp môi trường cho phép xây dựng ứng dụng đơn giản nhưng hoạt động có độ tin cậy cao. Các đặc điểm của môi trường ứng dụng App Engine:

Dịch vụ dynamic web, được hỗ trợ đầy đủ các công nghệ web hiện đại.

Lưu trữ tin cậy hỗ trợ các truy vấn, sắp xếp, và tác vụ.

Tự động điều chỉnh cân bằng tải nhằm tạo hiệu suất phục vụ cao nhất. API hỗ trợ xác thực người dùng và gửi thư điện tử bằng tài khoản Google.

Bộ giả lập hoàn chỉnh hỗ trợ cho người dùng có thể phát triển ứng dụng và thử nghiệm trong môi trường ảo trên máy tính trước khi đưa lên mạng.

Hỗ trợ các yêu cầu nằm ngoài giới hạn các web request. Hỗ trợ lịch trình hoạt động các tác vụ theo thời gian tự động.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

3.1.2. RunTimes và Frameworks:

Hiện nay, Google App Engine hỗ trợ lập trình bằng ngôn ngữ Python, Java, PHP và GO.

Python web framework đã hoạt động trên Google App Engine bằng cách tích hợp GAE vào Django, CherryPy, Pylons…

Google App Engines hỗ trợ lập trình ứng dụng bằng ngôn ngữ Java. Với công nghệ lõi là servlet 2.5 technology được dùng trên web server mã nguồn mở Jetty Web Server, đi kèm với một số công nghệ như JSP.

3.1.3. Hỗ trợ và độ tin cậy

Thời gian hoạt động của các ứng dụng là 99.95%

3.1.4. Google Cloud SQL

Vào tháng 10/2011, Google giới thiệu dịch vụ CSDL, hỗ trợ JDBC và DB – API.Dịch vụ này cho phép người dùng Khởi tạo, Cấu hình, và sử dụng CSDL quan hệ trong các ứng dụng App Engine. Dịch vụ sử dụng engine MySQL Version 5.1.59 và kích thước CSDL tối đa không quá 10GB.

3.1.5. Giới hạn sử dụng

Google App Engine cần phải có tài khoản Google để kích hoạt.Mỗi tài khoản cho phép đăng ký tối đa 10 ứng dụng. Giới hạn này có thể thay đổi theo chính sách của Google và đội ngũ kỹ thuật của Google.

Google App Engine cũng đặt ra giới hạn cho các ứng dụng miễn phí.

Quota Limit

Time per request 60 sec per normal request, 10 minutes for tasks, unlimited for backends

HTTP response size 32 MB Datastore item size 1 MB Application code size 150 MB

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

3.1.6. Free Quota

Google App Engine có các chính sách hỗ trợ những người dùng mới.Khi mới bắt đầu sử dụng dịch vụ, người sử dụng sẽ không phải trả bất cứ chi phí nào trong một giới hạn cho phép gọi là free quota.

Quota Limit (per day)

Instance-hours 28 hours

Emails 100 (5000 admin emails) Bandwidth in Unlimited Bandwidth out 1 GB Datastore 1 GB Datastore Operations 50k Blob Storage 5 GB XMPP API 10k stanzas

Channel API 100 channels opened Conversion API 100 conversions URLFetch API calls

per day 657,000

Bảng 3.2: Bảng mô tả free quota của một ứng dụng GAE miễn phí

3.1.7. Kết luận

Sự ra đời của công nghệ điện toán đám mây nói chung và công nghệ Google App Engine nói riêng đã mở ra một cơ hội mới cho các nhà phát triển phần mềm. Từ trước tới nay, các công ty phần mềm nhỏ luôn gặp những khó khăn nhất định trong việc đầu tư giải pháp phần cứng. Đặc biệt là trong việc phát triển ứng dụng trên nền web, khi họ cần phải cân đối những chi phí cho dịch vụ server, tên miền, SEO, … Nói riêng trong lĩnh vực phát triển ứng dụng LBS, như đã nêu ở trên, nhà phát triển cần xây dựng hệ thống máy chủ để lưu trữ dữ liệu LBS, đồng thời có khả năng tiếp nhận và xử lý yêu cầu truy vấn thông tin LBS liên tục 24/24h. Với những nhà phát triển nhỏ và vừa, rõ ràng việc đầu tư chi phí mua server, thuê chỗ đặt, phí cài đặt và bảo trì… là cả một vấn đề bởi sự thành công của dự án là chưa thể đảm bảo. Công nghệ Google

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

App Engine mang đến cho họ một lựa chọn mới, các nền tảng phần cứng đã được thiết lập sẵn, dùng bao nhiêu chi trả bấy nhiêu, dễ dàng cài đặt và nâng

Một phần của tài liệu NGHIÊN CỨU KIẾN TRÚC HỆ THỐNG AR-LBS (Trang 49 -76 )

×