Vũ Trọng Sinh<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
135(05): 49 - 56<br />
<br />
PHÁT TRIỂN ỨNG DỤNG THỰC TẠI TĂNG CƯỜNG<br />
TRÊN NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY<br />
Vũ Trọng Sinh*<br />
Học viện Ngân hàng<br />
<br />
TÓM TẮT<br />
Bài báo này trình bày các kết quả nghiên cứu về công nghệ thực tại tăng cường và áp dụng điện<br />
toán đám mây hỗ trợ người dùng khi tìm hiểu các vị trí xung quanh một cách trực quan bằng hình<br />
ảnh trên camera, đã bổ sung thêm lớp thông tin thực tại tăng cường.<br />
Keywords: dịch vụ dựa trên vị trí, LBS, Google App Engine, Android, GPS, datastore, Augmented<br />
Reality<br />
<br />
MỞ ĐẦU*<br />
Công nghệ thực tại tăng cường (Augmented<br />
Reality - AR) được hiểu là công nghệ cho<br />
phép con người quan sát, nhận biết các đối<br />
tượng trong thế giới thực thông qua một thiết<br />
bị thông minh nào đó với những thông tin chi<br />
tiết hơn. Thực tại tăng cường trên thiết bị di<br />
động sử dụng các thông tin từ hình ảnh thực<br />
tế được cung cấp thông qua camera và các<br />
cảm biến như GPS, la bàn số, gia tốc kế… sau<br />
khi đã qua xử lý, sẽ chuyển đến người dùng,<br />
đồng thời bổ sung những thông tin cụ thể liên<br />
quan đến hình ảnh đó. Thông tin bổ sung này<br />
phải được thể hiện một cách chân thực nhằm<br />
thuyết phục người dùng rằng đó cũng là một<br />
phần của thế giới thực. Ứng dụng công nghệ<br />
thực tại tăng cường trong phát triển các dịch<br />
vụ LBS giúp cho việc cung cấp các dịch vụ<br />
này trở nên thân thiện hơn với người dùng<br />
qua tương tác, đồng thời nâng cao chất lượng<br />
cung cấp dịch vụ. Mô hình điện toán đám<br />
mây xuất hiện trong thời gian gần đây đã<br />
chứng tỏ có nhiều ưu điểm nổi trội và có thể<br />
ứng dụng tích hợp với các công nghệ khác.<br />
Bài báo này trình bày một khả năng ứng dụng<br />
điện toán đám mây vào công nghệ thực tại<br />
tăng cường.<br />
Bài báo có cấu trúc như sau: Phần đầu bài báo<br />
giới thiệu tổng quan về công nghệ thực tại<br />
tăng cường và điện toán đám mây. Phần thứ<br />
hai giới thiệu mô hình hệ thống của ứng dụng<br />
*<br />
<br />
Email: sinhvtr@bav.edu.vn<br />
<br />
đang phát triển trên nền tảng điện toán đám<br />
mây. Phần thứ ba trình bày một vài kết quả<br />
ứng dụng thực tại tăng cường dựa trên điện<br />
toán đám mây, cài đặt thử nghiệm và kết quả.<br />
CÔNG NGHỆ THỰC TẠI TĂNG CƯỜNG<br />
Công nghệ thực tại tăng cường là gì<br />
Công nghệ thực tại tăng cường (Augmented<br />
Reality -AR) được hiểu là công nghệ cho<br />
phép con người quan sát, nhận biết các đối<br />
tượng trong thế giới thực thông qua một thiết<br />
bị thông minh nào đó với những thông tin chi<br />
tiết hơn.<br />
<br />
Hình 1. Các thành phần của hệ thống thực tại<br />
tăng cường<br />
<br />
Công nghệ thực tại tăng cường sử dụng các<br />
thông tin từ hình ảnh thực tế được cung cấp từ<br />
các thiết bị GPS, camera, … sau khi đã qua<br />
xử lý, sẽ cung cấp cho người dùng những<br />
thông tin cụ thể liên quan đến đối tượng<br />
người dùng quan tâm. Thực tại tăng cường hỗ<br />
trợ việc số hóa dữ liệu các đối tượng 2D, 3D<br />
trong thế giới thực, đồng thời cung cấp các<br />
thông tin liên quan đến các đối tượng đó cho<br />
người dùng.<br />
49<br />
<br />
Nitro PDF Software<br />
100 Portable Document Lane<br />
Wonderland<br />
<br />
Vũ Trọng Sinh<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
Công nghệ thực tại ảo có thể được coi là tiền<br />
nhiệm của thực tại tăng cường, với nhiều<br />
điểm tương đồng. Khác biệt lớn nhất chính là<br />
thực tại ảo không dùng dữ liệu trực tiếp từ<br />
camera mà tất cả hình ảnh hiển thị ngay trong<br />
thực tại ảo hoặc là ảnh hoạt họa, hoặc là được<br />
ghi hình từ trước đó.<br />
Các thành phần của một hệ thống thực tại<br />
tăng cường<br />
Một hệ thống thực tại tăng cường cơ bản gồm<br />
các phần được mô tả như trong hình 1 [6]:<br />
- Bộ mô phỏng (scene generator): là thiết bị<br />
hay phần mềm có nhiệm vụ mô phỏng hoàn<br />
cảnh thực tại. Hiện nay, việc mô phỏng<br />
(rendering) hoàn cảnh thực đã không còn là<br />
một khó khăn của công nghệ thực tại tăng<br />
cường bởi vì khi mô phỏng các đối tượng ảo<br />
thường không cần phải mô phỏng với thời<br />
gian thực để có thể được xử lý trong ứng<br />
dụng.<br />
- Hệ thống lưu vết (Tracking system): là một<br />
trong những thành phần quan trọng nhất của<br />
hệ thống thực tại tăng cường. Hệ thống lưu<br />
vết thường phát sinh vấn đề khi cần được<br />
chấp nhận (registration) vào hệ thống. Đối<br />
tượng trong thế giới thực và ảo cần được mô<br />
phỏng với đầy đủ các đặc tính và mối liên hệ<br />
chặt chẽ với nhau. Ví dụ như trong các ngành<br />
công nghiệp, rất nhiều ứng dụng phụ thuộc<br />
vào sự tương quan chặt chẽ giữa các đối<br />
tượng thực và ảo, đặc biệt là trong ngành<br />
công nghiệp dược phẩm.<br />
- Thiết bị hiển thị: Hầu hết tất cả các thiết bị<br />
hiển thị sử dụng công nghệ thực tại tăng<br />
cường là các thiết bị được thiết kế dạng HDM<br />
(Head Mounted Display – thiết bị hiển thị<br />
được đeo vào đầu), tuy nhiên, vẫn có một số<br />
dạng thiết kế khác được đưa ra (màn hình<br />
thiết bị di động, thiết bị mô phỏng). Khi kết<br />
hợp thế giới thực và ảo để hiển thị, có hai lựa<br />
chọn cơ bản là hiển thị bằng quang học<br />
(optical) hoặc công nghệ hình ảnh (video<br />
technology). Mỗi một công nghệ đều có<br />
những ưu điểm và nhược điểm nhất định, và<br />
<br />
135(05): 49 - 56<br />
<br />
tùy thuộc vào các nhân tố như công nghệ,<br />
mục tiêu sản phẩm…, để lựa chọn công nghệ<br />
hiển thị thích hợp.<br />
Cho đến nay, công nghệ hiển thị vẫn là thành<br />
phần có nhiều hạn chế khi phát triển hệ thống<br />
ứng dụng cho thực tại tăng cường. Việc mô<br />
phỏng thế giới thực vào thế giới ảo vẫn là<br />
thách thức cho các nhà phát triển. Hơn nữa,<br />
việc chú trọng vào mục tiêu mô phỏng thế<br />
giới thực sẽ làm giảm đi sự quan tâm tới các<br />
nhân tố khác như sự tiện dụng, nhẹ nhàng và<br />
giá thành rẻ, khiến cho ứng dụng của công<br />
nghệ thực tại tăng cường khó được ứng dụng<br />
vào thực tế cuộc sống.<br />
Những ứng dụng của công nghệ thực tại<br />
tăng cường<br />
Công nghệ AR được ứng dụng rất phổ biến<br />
trong đời sống hằng ngày [4]. Các ứng dụng<br />
thường gặp của công nghệ thực tại tăng<br />
cường là ứng dụng trong ngành công nghiệp<br />
giải trí, truyền thông, y tế, …<br />
Trong lĩnh vực quảng cáo, truyền thông,<br />
người xem có thể thấy những bảng quảng cáo<br />
hiện ra ngay trên sân thi đấu, khi trận đấu<br />
đang diễn ra, hoặc khi vào giờ giải lao. Việc<br />
ứng dụng công nghệ thực tại tăng cường làm<br />
tăng hiệu quả các quảng cáo, gây ấn tượng<br />
với người xem so với việc sử dụng các hình<br />
thức quảng cáo thông thường.<br />
<br />
Hình 3. Ứng dụng của thực tại tăng cường trong<br />
truyền thông<br />
<br />
Trong công nghiệp giải trí, công nghệ Thực<br />
tại tăng cường giúp người chơi có thể tương<br />
<br />
50<br />
<br />
Nitro PDF Software<br />
100 Portable Document Lane<br />
Wonderland<br />
<br />
Vũ Trọng Sinh<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
tác với mọi vật thể tìm thấy trong trò chơi.<br />
Trong những năm gần đây, với việc ra đời của<br />
máy chơi game Wii ứng dụng công nghệ thực<br />
tại tăng cường, cách chơi và trải nghiệm trò<br />
chơi đã thay đổi rất nhiều khi người chơi có<br />
thể vận động, di chuyển trong quá trình chơi.<br />
<br />
135(05): 49 - 56<br />
<br />
Để một hệ thống dịch vụ LBS hoạt động cần<br />
có sự phối hợp nhịp nhàng của tất cả các<br />
thành phần hệ thống. Sơ đồ biểu diễn luồng<br />
thông tin trao đổi giữa các thành phần trong<br />
hệ thống được mô tả như trong hình dưới đây:<br />
<br />
Hình 5. Hoạt động của hệ thống LBS<br />
<br />
Hình 2. Ứng dụng của Thực tại tăng cường trong<br />
lĩnh vực giải trí<br />
<br />
Khả năng ứng dụng vào dịch vụ LBS<br />
Dịch vụ dựa trên vị trí (Location Based<br />
Services - LBS) là dịch vụ thông tin sử dụng<br />
với thiết bị di động qua mạng không dây và vị<br />
trí địa lý của thiết bị di động [9].<br />
<br />
Hình 4. Dịch vụ LBS<br />
<br />
Một hệ thống dịch vụ dựa trên vị trí LBS gồm<br />
5 thành phần cơ bản sau:<br />
- Các thiết bị di động (Mobile Devices)<br />
- Thiết bị định vị (Positioning)<br />
- Mạng truyền tin (Communication Network)<br />
- Nhà cung cấp ứng dụng và dịch vụ (Service<br />
and Content Provider)<br />
- Nhà cung cấp dữ liệu và nội dung/CSDL<br />
không gian (Geodatabase)<br />
<br />
Như đã biết, thị trường điện thoại di động<br />
thông minh đang phát triển rất mạnh. Người<br />
tiêu dùng có xu hướng chuyển sang sử dụng<br />
smartphone thay vì điện thoại di động cổ điển<br />
vì những tính năng mà nó mang lại cũng như<br />
giá thành ngày một giảm. Hầu hết các thiết bị<br />
này đều được tích hợp công nghệ GPS, dữ<br />
liệu di động 3G, 4G hay kết nối wifi. Như<br />
vậy, việc ứng dụng công nghệ thực tại tăng<br />
cường cho dịch vụ LBS trên smartphone là<br />
hoàn toàn khả thi do ta có thể kiểm soát tốt dữ<br />
liệu đầu vào cũng như dữ liệu các điểm tiện<br />
ích xung quanh một vị trí nhất định. Đồng<br />
thời việc hiển thị và mô phỏng các điểm tiện<br />
ích cũng có thể được thực hiện thông qua màn<br />
hình cảm ứng trên smartphone.<br />
Nắm bắt được xu thế này, các nhà cung cấp<br />
phần mềm di động trên thế giới đã sớm khai<br />
thác công nghệ thực tại tăng cường vào mảng<br />
dịch vụ LBS. Thay vì trước đây muốn tìm<br />
điểm tiện ích xung quanh một vị trí, người<br />
dùng phải sử dụng các ứng dụng bản đồ thuần<br />
túy như Google Maps, Nokia Here, hay ở<br />
Việt Nam là diadiem.com … thì ngày nay,<br />
người dùng chỉ cần giơ camera về một hướng<br />
nhất định và tìm thấy được điểm mình muốn<br />
đến thông qua các thông tin trực quan về<br />
điểm đó được hiển thị chi tiết trên màn hình<br />
smartphone. Ta có thể kể ra một vài ứng dụng<br />
51<br />
<br />
Nitro PDF Software<br />
100 Portable Document Lane<br />
Wonderland<br />
<br />
Vũ Trọng Sinh<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
nổi tiếng trong lĩnh vực này như Junaio chạy<br />
trên nền Android, Nokia City Lens chạy trên<br />
Windows Phone.<br />
<br />
135(05): 49 - 56<br />
<br />
- Điện toán đám mây là một loại hệ thống<br />
phân bố và xử lý song song gồm các máy tính<br />
ảo kết nối với nhau và được cung cấp động<br />
cho người dùng như một hoặc nhiều tài<br />
nguyên đồng nhất dựa trên sự thỏa thuận dịch<br />
vụ giữa nhà cung cấp và người sử dụng.<br />
Các đặc điểm nổi bật của điện toán đám mây<br />
Các đặc điểm của điện toán đám mây được<br />
thể hiện như trong hình<br />
<br />
Hình 6. Ứng dụng Nokia City Lens<br />
<br />
Rõ ràng việc áp dụng công nghệ thực tại tăng<br />
cường vào ứng dụng LBS trên smartphone<br />
đem lại sự tiện lợi rất lớn cho người sử dụng.<br />
Ở góc độ nhà cung cấp dịch vụ, một vấn đề<br />
được đặt ra là: dù lượng dữ liệu địa điểm của<br />
Google maps, Bing … là rất lớn, nhưng tùy<br />
theo từng khu vực nhấtđịnh thì vẫn chưa đầy<br />
đủ so với nhu cầu của người dùng, vì vậy ta<br />
có thể cung cấp cho người dùng một ứng<br />
dụng tương tự như vậy nhưng với bộ dữ liệu<br />
được biên soạn riêng hay không, và chi phí<br />
cũng như phương pháp thực hiện như thế nào.<br />
CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY<br />
Khái niệm và mô hình điện toán đám mây<br />
(Cloud Computing) mới xuất hiện vài năm<br />
gần đây. Với đặc điểm nổi bật là khả năng co<br />
dãn linh hoạt hệ thống, sự tiện lợi và tiết kiệm<br />
tối đa chi phí cho người sử dụng, các ứng<br />
dụng điện toán đám mây được phát triển và<br />
ứng dụng rộng rãi vào các mặt của đời sống.<br />
Khái niệm về điện toán đám mây<br />
Cho đến nay, vẫn chưa có định nghĩa thống<br />
nhất về điện toán đám mây. Tuy nhiên, xét về<br />
góc độ kỹ thuật, công nghệ có thể nhắc đến<br />
định nghĩa của Ian Foster[7] và Rajkumar<br />
Buyya[8] về điện toán đám mây:<br />
- Điện toán đám mây là một mô hình điện<br />
toán phân tán có tính co giãn lớn mà hướng<br />
theo co giãn về mặt kinh tế, là nơi chứa các<br />
sức mạnh tính toán, kho lưu trữ, các nền tảng<br />
và các dịch vụ được trực quan, ảo hóa và co<br />
giãn linh động, sẽ được phân phối theo nhu<br />
cầu cho các khách hàng bên ngoài thông qua<br />
Internet.<br />
<br />
Hình 7. Đặc điểm của điện toán đám mây<br />
<br />
- Tự phục vụ theo nhu cầu (On-demand selfservice): người dùng khi có yêu cầu sử dụng<br />
chỉ cần gửi yêu cầu tới các trang web cung<br />
cấp dịch vụ trên mạng mà không cần phải liên<br />
hệ với nhà cung cấp.<br />
- Truy xuất diện rộng (Broad network access):<br />
người dùng có thể truy xuất thông qua nhiều<br />
loại thiết bị khác nhau như máy tính, điện<br />
thoại, thiết bị chuyên dụng thông qua môi<br />
trường Internet.<br />
- Dùng chung tài nguyên (Resource<br />
pooling): tài nguyên của nhà cung cấp được<br />
chia sẻ cho nhiều người dùng dựa trên mô<br />
hình “multi tenant”.<br />
- Khả năng co giãn (Rapid elasticity): là khả<br />
năng tự động mở rộng hoặc thu nhỏ hệ thống<br />
tùy theo nhu cầu của người dùng. Khả năng<br />
này giúp cho nhà cung cấp sử dụng hiệu quả<br />
và triệt để tài nguyên của hệ thống.<br />
- Điều tiết dịch vụ (Measured service): hệ<br />
thống tự động kiểm soát và tối ưu hóa sử<br />
dụng tài nguyên<br />
Ưu và nhược điểm điện toán đám mây<br />
- Việc sử dụng điện toán đám mây đem lại<br />
nhiều ưu điểm so với các hệ thống trước đây:<br />
- Tính sẵn sàng: điện toán đám mây cung cấp<br />
khả năng sẵn sàng của hệ thống lên tới<br />
99.99% thời gian phục vụ. Các ứng dụng<br />
chạy trên đám mây hầu như không mất thời<br />
gian tiến hành bảo trì và nâng cấp hệ thống.<br />
<br />
52<br />
<br />
Nitro PDF Software<br />
100 Portable Document Lane<br />
Wonderland<br />
<br />
Vũ Trọng Sinh<br />
<br />
Tạp chí KHOA HỌC & CÔNG NGHỆ<br />
<br />
- Đáp ứng nhu cầu khả năng lưu trữ của người<br />
dùng: khả năng mở rộng cũng như thu gọn<br />
dung lượng lưu trữ của người dùng, đáp ứng<br />
được các yêu cầu lưu trữ thực tế và giảm<br />
thiểu việc tiêu tốn tài nguyên.<br />
- Khả năng tự co giãn của hệ thống<br />
- Bản quyền phần mềm: việc xây dựng các<br />
ứng dụng và quảng bá trên Điện toán đám mây<br />
giúp cho người dùng giảm bớt chi phí về bản<br />
quyền phần mềm cho các sản phẩm sử dụng.<br />
- Bên cạnh những ưu điểm nổi bật ở trên, điện<br />
toán đám mây cũng tồn tại một số nhược<br />
điểm sau:<br />
- Data lock-in: do chưa có một nền tảng<br />
chung nhất, việc tương tác dữ liệu giữa các<br />
nền tảng điện toán đám mây do các nhà cung<br />
cấp khác nhau cung cấp là chưa thực hiện<br />
được. Nhược điểm này đặt ra cho các nhà<br />
khoa học một thách thức là chuẩn hóa nền<br />
tảng của điện toán đám mây.<br />
- Bảo mật và kiểm tra dữ liệu: việc đưa dữ<br />
liệu lên Cloud đặt ra vấn đề bảo mật các dữ<br />
liệu mật vì dữ liệu sẽ do nhà cung cấp dịch vụ<br />
Cloud bảo mật.<br />
- Việc gây ra thắt cổ chai trong việc truyền<br />
dữ liệu<br />
- Khó tiên đoán trong hiệu suất thực thi của<br />
máy tính: do vấn đề giao tiếp vào ra (IO) của<br />
các máy chủ ảo, việc đánh giá hiệu suất của<br />
hệ thống là khó khăn.<br />
Google App Engine<br />
Giới thiệu về Google App Engine<br />
Google App Engine được ra mắt lần đầu tiên<br />
vào 08/2008. Google App Engine (thường<br />
được gọi tắt là GAE hoặc App Engine) là nền<br />
tảng PaaS được Google cung cấp nhằm phát<br />
triển các ứng dụng web và được lưu trữ tại<br />
Trung tâm quản lý dữ liệu Google (Googlemanaged data center). Các ứng dụng được<br />
đóng gói và chạy trên các máy chủ.<br />
Google App Engine cho phép người dùng<br />
chạy các ứng dụng web trên nền tảng kiến<br />
trúc Google. Các ứng dụng App Engine được<br />
xây dựng và quản lý một cách dễ dàng. Với<br />
App Engine, không cần phải bào trì máy chủ,<br />
người dùng upload các ứng dụng và nó luôn<br />
sẵn sàng phục vụ.<br />
<br />
135(05): 49 - 56<br />
<br />
App Engine tự động tổng hợp yêu cầu cho các<br />
ứng dụng, như: tự động tổng hợp các yêu cầu<br />
của ứng dụng, tự động xác định vị trí các tài<br />
nguyên cần thiết để ứng dụng có thể đáp ứng<br />
các yêu cầu người dùng.<br />
Người dùng có thể sử dụng tên miền (domain)<br />
được cung cấp bởi Google Apps hoặc sử dụng<br />
domain riêng cho các ứng dụng của mình.<br />
Các ứng dụng có thể được chia sẻ rộng rãi<br />
hoặc giới hạn cho một nhóm người dùng nhất<br />
định thông qua việc phân quyền.<br />
Khi sử dụng, Google App Engine miễn phí sử<br />
dụng tài nguyên, chỉ tính phí băng thông, mở<br />
rộng lưu trữ. Hay nói cách khác, người dùng<br />
chỉ phải trả phí cho những tài nguyên sử<br />
dụng. Không có phí thuê bao hay các khoản<br />
phụ phí khác. Các tài nguyên được sử dụng<br />
như dung lượng lưu trữ, băng thông… đều<br />
được quản lý sử dụng với hiệu quả tối đa cho<br />
người dùng.<br />
Môi trường làm việc của Google App Engine<br />
Google App Engine cung cấp môi trường làm<br />
việc hỗ trợ việc xây dựng ứng dụng một cách<br />
đơn giản nhưng mang lại độ tiên cậy cao khi<br />
hoạt động. Môi trường ứng dụng của GAE có<br />
các đặc điểm nổi bật sau:<br />
- Dịch vụ dynamic web, được hỗ trợ đầy đủ<br />
các công nghệ web hiện đại<br />
- Lưu trữ tin cậy hỗ trợ các truy vấn, sắp xếp,<br />
và tác vụ<br />
- Tự động điều chỉnh cân bằng tải nhằm tạo<br />
hiệu suất phục vụ cao nhất<br />
- API hỗ trợ xác thực người dùng và gửi thư<br />
điện tử bằng tài khoản Google<br />
- Bộ giả lập hoàn chỉnh hỗ trợ cho người dùng<br />
có thể phát triển ứng dụng và thử nghiệm<br />
trong môi trường ảo trên máy tính trước khi<br />
đưa lên mạng<br />
- Hỗ trợ các yêu cầu nằm ngoài giới hạn các<br />
web request<br />
Hiện nay, Google App Engine hỗ trợ lập trình<br />
bằng ngôn ngữ Python, Java và Go. Về mặt<br />
lưu trữ và truy vấn dữ liệu, vào tháng<br />
10/2011, Google giới thiệu dịch vụ CSDL, hỗ<br />
trợ JDBC và DB – API. Dịch vụ này cho phép<br />
người dùng Khởi tạo, Cấu hình, và sử dụng<br />
CSDL quan hệ trong các ứng dụng App Engine.<br />
53<br />
<br />
Nitro PDF Software<br />
100 Portable Document Lane<br />
Wonderland<br />
<br />