Tải bản đầy đủ (.docx) (22 trang)

Tìm hiểu ARcore và xây dựng ứng dụng mô phỏng makeup

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (442.63 KB, 22 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN

Tìm hiểu ARcore và xây dựng ứng dụng
mô phỏng makeup
Môn: Đồ án 2

Thành viên: Trần Xuân Liêm - 17520680
Giảng viên hướng dẫn: Nguyễn Công Hoan
Lớp: SE122.L11.PMCL

Tp Hồ Chí Minh,Tháng 1 năm 2021

1


LỜI NĨI ĐẦU
Lời đầu tiên, em xin bày tỏ lịng biết ơn sâu sắc đến thầy Nguyễn Công Hoan –
Giảng viên hướng dẫn môn Đồ án 2 - SE122.L11.PMCL, người đã cùng đồng hành
và tận tình hướng dẫn cho em qua những buổi thảo luận. Chính nhờ sự giúp đỡ hết
lịng của thầy mà em mới có thể hồn thiện được được đồ án này một cách suôn sẻ
nhất.
Mặc dù kiến thức của em vẫn cịn hạn hẹp nên khơng thể tránh khỏi những thiếu
sót nhưng em đã cố gắng hoàn thiện đồ án đúng thời hạn, hạn chế mắc lỗi nhất có
thể. Vì vậy,em rất mong đợi nhận được những ý kiến đóng góp quý báu từ thầy và
qua đó lắng nghe, tiếp thu để rút kinh nghiệm, tự sửa chữa, hồn thiện bản thân
mình trên tinh thần nghiêm túc, tự giác học hỏi.
Chân thành cảm ơn !

2



MỤC LỤC
1.

Giới thiệu đề tài.......................................................................................................................3

2.

Các kiến thức/công nghệ nền tảng..........................................................................................4

3.

Xây dựng ứng dụng.................................................................................................................6
3.1.

Tổng quan khảo sát các ứng dụng liên quan......................................................................6

3.2.

Phân tích, thiết kế, cài đặt phần mềm................................................................................6

3.2.1.1.

Phân tích, thiết kế yêu cầu phần mềm........................................................................6

3.2.2.1.

Các bên liên quan – Stakeholders...............................................................................7

3.2.2.2.


Các actors và mục tiêu................................................................................................8

3.2.2.3.

Các usecase.................................................................................................................8

Mô tả tổng quan.......................................................................................8
3.2.2.3.1. Sơ đồ Use Case.........................................................................9
3.2.2.3.2. Đặc tả Use Cases......................................................................9
3.2.2.4.

Sơ đồ Sequence........................................................................................................13

3.2.2.4.1. Sơ đồ Sequence cho UC-1 – Cấp quyền camera.....................13
3.2.2.4.2. Sơ đồ Sequence cho UC-2 – Tìm kiếm gương mặt..................13
3.2.2.4.3. Sơ đồ Sequence cho UC-3 – Chọn mẫu kính phù hợp với gương
mặt

14

3.2.2.4.4. Sơ đồ Sequence cho UC-4 – Chụp màn hình sau khi thử kính.14
3.2.2.5.

Sơ đồ Activity...........................................................................................................14

3.2.2.5.1. Sơ đồ Activity cho UC-1 – Cấp quyền camera.........................14
3.2.2.5.2. Sơ đồ Activity cho UC-3 – Chọn mẫu kính phù hợp với gương
mặt


14

3.2.2.5.3. Sơ đồ Activity cho UC-2 – Chụp màn hình...............................14
3


3.3.

Các áp dụng chính của Arcore và SceneForm.................................................................15

4.

Thiết kế Kiểm thử.................................................................................................................15

5.

Kết luận và hướng phát triển.................................................................................................16

6.

Tài liệu tham khảo.................................................................................................................17

1. GIỚI THIỆU ĐỀ TÀI
Tên đề tài: Phần mềm thử kính bằng AR sử dụng công nghệ ARcore
4


Lí do chọn đề tài:
Thực tế tăng cường (AR) hiện đang là một trong những công nghệ tiên tiến nhất
trên thế giới hiện nay. Đó cũng là lý do cơng nghệ này đang ứng dụng rất nhiều

trong lĩnh vực của đời sống với tốc độ nhanh chóng. Điều này cũng khiến nhiều
người chưa hiểu hết về tầm quan trọng của AR đối với các doanh nghiệp và lợi ích
mà nó đem lại.
Với phần mềm thử kính bằng AR, em đem đến giải pháp cho những người dùng
đang mong muốn được thử nhiều loại kính khác nhau để chọn ra được cái thích hợp
với mình nhất, đây cũng sẽ đồng thời sẽ là giải pháp cho các doanh nghiệp khi
khách hàng của họ có thể được thử qua sản phẩm một các trực tiếp mà không cần
phải đi đến cửa hàng, điều này sẽ giúp cải thiện trải nghiệm mua sắm của khách
hàng, tăng doanh thu của cửa hàng.
Tổng quan các vấn đề chính:
 Bài tốn: Sử dụng cơng nghệ ARCore của google để thiết kế một phần mềm
có tính ứng dụng trong cuộc sống hoặc cho xã hội.
 Giới hạn/phạm vi: Trang thiết bị trong quá trình xây dựng phần mềm, các
nguồn tài liệu tham khảo.
 Các nội dung nghiên cứu/thực hiện: Nghiên cứu các quy trình nghiệp vụ
và áp dụng công nghệ AR và các công nghệ liên quan khác để triển khai
được một phần mềm hoàn chỉnh.
 Kết quả hướng tới: Một phần mềm và có giá trị sử dụng khi triển khai.
2. CÁC KIẾN THỨC/CÔNG NGHỆ NỀN TẢNG
1. ARcore Introduction
ARCore là một nền tảng của Google dùng để trải nghiệm thực tế ảo tăng cường.
ARCore sử dụng các API khác nhau, giúp điện thoại của bạn có thể cảm nhận
5


được môi trường xung quanh, hiểu được thế giới thực và tương tác với các
thông tin trong thế giới thực. Một số API đã có sẵn trên Android và iOS để cho
phép chia sẻ trải nghiệm về AR.
ARCore sử dụng 3 khả năng chính để tích hợp nội dung ảo với thế giới thực
thông qua camera điện thoại:

 Motion tracking giúp điện thoại hiểu được và theo dõi được vị trí của nó
so với thế giới thực.
 Environmental understanding giúp điện thoại phát hiện được kích cỡ
và vị trí của tất cả các bề mặt: ngang, dọc và các góc cạnh bề mặt như mặt
đất, mặt bàn hay bức tường...
 Light estimation giúp điện thoại ước lượng được điều kiện ánh sáng của
môi trường.
2. ARcore
ARcore là một thư viện giúp các Developer tích hợp AR vơ phần mềm của
mình. Vì nó là thư viện open source nên sẽ khơng có các chức năng cụ thể mà
chỉ có các chức năng đa dụng để có thể triển khai AR trên các nền tảng khác
nhau.
Các tính năng hiện tại mà ARcore cung cấp cho developer:
 Anchor: Khi ARcore update môi trường xung quanh thì những object sẽ có
hiệu ứng trơi đi và anchor giúp giữ object tại chỗ trong vị trí tương đối với
thế giới hiện tại.Chúng ta dùng anchor để đảm bảo trải nghiệm cho người
dùng và tính chân thật của phần mềm của chúng ta.
 Camera Config: hỗ trợ Developer chỉnh sửa camera, cung cấp các thông tin
như CPU và GPU.Lớp này giúp Developer điều chỉnh khả năng nhận biết
chiều sâu của camera, FPS của camera,..
 Plane:Lớp mặt phẳng do ARcore tạo ra để Developer sử dụng định nghĩa mặt
phẳng ngoài đời thực qua Camera.
 Config: Cho develop khả năng tinh chỉnh lại các hiệu năng khác nhau của
Arcore như PlaneFindingMode, UpdateMode (chỉnh sửa các hành vi của
Session.Update()),…
6


3. XÂY DỰNG ỨNG DỤNG
3.1.


Tổng quan khảo sát các ứng dụng liên quan

3.1.1 Khảo sát Chplay, Appstore
 Một số phần mềm dùng để khảo sát gồm có rounz, GlassOn. Tuy
nhiên các phần mềm lại ít được người dùng biết đến và sử dụng.
3.2.

Phân tích, thiết kế, cài đặt phần mềm

3.2.1.1. Phân tích, thiết kế yêu cầu phần mềm
3.2.1.2. Yêu cầu chức năng

Yêu cầu
REQ-1
REQ-2
REQ-3

Trọng số ưu tiên

Mô tả

6

Phần mềm cho phép khách hàng thay đổi
nhiều mẫu kính khác nhau

6

Phần mềm cho phép khách hàng phát hiện

gương mặt để áp dụng mẫu kính

6

Phần mềm cho phép khách hàng chụp lại màn
hình sau khi đã thiết kế

3.2.1.3. Yêu cầu phi chức năng

Yêu cầu
REQ-4
REQ-5

Trọng số ưu tiên

Mơ tả

7

Người dùng cần có một thiết bị tương thích
với AR

6

Người dùng phải có mạng để tải phần mềm từ
CHplay
7


3.2.1.4. Yêu cầu giao diện


Yêu cầu
REQ-6
REQ-7

2.

Trọng số ưu tiên

Mô tả

8

Phần mềm có các nút để đổi sang các mẫu
kính khác nhau

7

Phần mềm phải có nút chụp lại màn hình đã
thiết kế

Đặc tả yêu cầu phần mềm

3.2.2.1. Các bên liên quan – Stakeholders
Các bên liên quan (stakeholders) là những người có liên quan và ảnh hướng tới các
yếu tố hình thành nên dự án. Các bên liên quan đến đề tài bao gồm:
 Người dùng

3.2.2.2. Các actors và mục tiêu
Actors


Mục tiêu

Use cases

Người dùng

Bật phần mềm và cấp quyền camera

UC-1

Người dùng

Tìm kiếm gương mặt người dùng

UC-2

Người dùng

Chọn mẫu kính phù hợp với gương mặt

UC-3

Người dùng

Chụp màn hình sau khi thử kính

UC-4
8



3.2.2.3. Các usecase
Mô tả tổng quan






UC-1: Cấp quyền camera – bắt đầu sử dụng phần mềm
UC-2: Tìm kiếm gương mặt người dùng
UC-3: Chọn mẫu kính phù hợp với gương mặt
UC-4: Chụp màn hình sau khi thử kính

9


3.2.2.3.1.

Sơ đồ Use Case

3.2.2.3.2.

Đặc tả Use Cases

Use case “Cấp quyền camera”
Tên Use Case

UC-1: Cấp quyền camera


Tóm tắt

Chức năng cấp quyền camera

Dòng sự kiện
chính

1. Phần mềm hiển thị popup đòi quyền camera
2. Người dùng chấp nhận cho quyền camera
3. Phần mềm kiểm tra và chạy chương trình
10


(Dịng sự kiện khác: Khơng cho quyền camera).
4. Phần mềm khơng hoạt động
Dịng sự kiện
khác

1. Khơng cho quyền camera

Các u cầu đặc
biệt

Khơng có

Trạng thái Phần
mềm trước khi
thực thiện use
case


Actor: Người dùng

Trạng thái Phần
mềm sau khi thực
hiện use case

Người dùng cho phép quyền và có thể tiến hành sử dụng
phần mềm

Phần mềm hiển thị lỗi và địi lại quyền.

Điều kiện: khơng có

Use case “Tìm kiếm gương mặt”
Tên Use Case

UC-2: Tìm kiếm gương mặt

Tóm tắt

Chức năng Tìm kiếm gương mặt

Dịng sự kiện
chính

1. Phần mềm quét gương mặt người dùng
2. Phần mềm phát hiện được gương mặt người dùng
3. Phần mềm áp dụng mẫu kính đang chọn lên gương mặt
người dùng


Dịng sự kiện
khác

1.: Không kiếm được gương mặt: Phần mềm không áp
dụng được mẫu kính.

Các u cầu đặc
biệt

Khơng có

Trạng thái Phần
mềm trước khi
thực thiện use
case

Actor: Người dùng

Trạng thái Phần
mềm sau khi thực
hiện use case

Phát hiện gương mặt và áp dụng mẫu kính đang được chọn.

Điều kiện: cấp quyền camera

11


Use case “Chọn mẫu kính phù hợp với gương mặt”

Tên Use Case

UC-3: Thay đổi mẫu kính

Tóm tắt

Khách hàng có thể thay đổi mẫu kính để lựa chọn
được mẫu mà mình u thích

Dịng sự kiện chính

1. Người dùng chọn mẫu kính mình muốn thử
2. Người dùng tiếp tục lướt qua các mẫu khác nhau

Dịng sự kiện khác

Khơng có

Các u cầu đặc biệt

Khơng có

Trạng thái Phần mềm
trước khi thực thiện
use case

Actor: Người dùng

Trạng thái Phần mềm
sau khi thực hiện use

case

Người dùng chọn được mẫu kính phù hợp với mình

Điểm mở rộng

Khơng có

Điều kiện: Khơng có

Use case “Chụp màn hình sau khi thử kính”
Tên Use Case

UC-4: Chụp màn hình sau khi thử kính

Tóm tắt

Khách hàng có thể chụp màn hình sau khi thử mẫu kính
mình thích

Dịng sự kiện chính

1. Khách hàng bấm nút chụp màn hình
2. Phần mềm sẽ chụp màn hình và lưu vào máy của
khách hàng
3.Khách hàng có thể xem màn hình đã chụp ở trong
folder của máy mình

Dịng sự kiện khác


Khơng có

Các u cầu đặc biệt

Khơng có

Trạng thái Phần mềm Actor: Khách hàng
trước khi thực thiện
Điều kiện: đã cấp quyền
use case
Trạng thái Phần mềm Khách hàng chụp màn hình và có màn hình đó trong
sau khi thực hiện use folder của khách hàng
12


case
Điểm mở rộng

Khơng có

3.2.2.4. Sơ đồ Sequence
Các sơ đồ sequence cho một số Use Case quan trọng
3.2.2.4.1.

Sơ đồ Sequence cho UC-1 – Cấp quyền camera

13


3.2.2.4.2.


Sơ đồ Sequence cho UC-2 – Tìm kiếm gương mặt

14


3.2.2.4.3.

Sơ đồ Sequence cho UC-3 – Chọn mẫu kính phù hợp với gương mặt

15


3.2.2.4.4.

Sơ đồ Sequence cho UC-4 – Chụp màn hình sau khi thử kính

16


3.2.2.5. Sơ đồ Activity
3.2.2.5.1.

Sơ đồ Activity cho UC-1 – Cấp quyền camera

17


3.2.2.5.2.


Sơ đồ Activity cho UC-3 – Chọn mẫu kính phù hợp với gương mặt

18


3.2.2.5.3.

3.3.

Sơ đồ Activity cho UC-2 – Chụp màn hình

Các áp dụng chính của Arcore và SceneForm

3.3.1.1. Arcore
 ar.core.AugmentedFace được sử dụng để xác định gương mặt và
cung cấp các phương thức liên quan đến các vùng trên gương mặt.
 core.TrackingState để mô tả trạng thái theo dõi của Arcore.

19


 ar.core.Config giữ các cài đặt được sử dụng để định cấu hình
session mà ở đây là Config.AugmentedFaceMode.
3.3.1.2. SceneForm
 ar.sceneform.rendering.ModelRenderable dùng để render một
mơ hình 3D bằng cách gắn nó vào một Node với thiết lập có thể
render (setRenderable(Renderable)).
 ar.sceneform.rendering.Renderable lớp cơ sở để render trong
không gian 3D bằng cách gắn vào một Node với thiết lập có thể
render (setRenderable(Renderable)).

 ar.sceneform.ux.AugmentedFaceNode được sử dụng để hiển thị
các hiệu ứng trên gương mặt nhờ vào tính năng của ARCore's
AugmentedFace.
 ar.sceneform.ux.ArFragment dùng để triển khai ArFragment.
Không yêu cầu thêm quyền bổ sung nào và sử dụng cấu hình mặc
định cho ARCore.
4. THIẾT KẾ KIỂM THỬ
4.1.
1.

2.

4.2.

4.3.

Môi trường kiểm thử
Test laptop:
 Android studio 3.5.1
 Windows 10
 Ram 8gb, chip I7-8750H
Test Mobile:
 Google Pixel 2 có hỗ trợ AR
 Camera trước khơng có lỗi
 Phần mềm Arcore của google được cài đặt trên máy
Kết quả thử nghiệm
 Phần mềm chạy đầy đủ các chức năng
 Thử nghiệm theo usecase hồn tồn khơng có lỗi
Kết quả sản phẩm:
 Sản phẩm chỉ mới tương đối đầy đủ các chức năng chính, nếu muốn

phân phối thì cần phải thêm một số chức năng tiện dụng hơn như lưu
20


mẫu kính người dùng thích, chỉ địa điểm có bán mẫu kính đó cho
người dùng,…
 UI/UX nhìn đơn giản, dễ dàng tiếp cận.
 Phần mềm chạy mượt trên các hệ máy hỗ trợ Arcore của google.
5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
5.1.

Kết quả đạt được
 Học tập được cách sử dụng ARcore
 Học tập được các nguyên lý thiết kế một phần mềm AR
 Học tập được các công nghệ SceneForm để phát triển một phần mềm

android.
 Phần mềm có giá trị sử dụng kể cả cho người mới.
5.1.1.1. Hạn chế
 Hạn chế về thời gian tìm hiểu.
 Khơng có teamate để cùng tìm hiểu sâu hơn về hệ thống.
 Khơng có tài liệu phổ thơng, tài liệu tìm hiểu cịn hạn chế.
 Khơng deploy lên Chplay do khơng có đủ kinh phí.
 Phần mềm cịn tương đối sơ sài chưa thể gọi là hoàn chỉnh.
5.1.1.2. Hướng phát triển
 Phát triển các chức năng phụ giúp cải thiện trải nghiệm của người
dùng hoặc các chức năng có giá trị kinh doanh hơn đối với một
doanh nghiệp bán kính.
 Hồn thiện các chức năng chính để đảm bảo chất lượng sản phẩm,
tối ưu hơn trong việc nhận diện gương mặt (nhận diện được trên

hai gương mặt cùng một lúc).
 Thêm nhiều mẫu sản phẩm hơn vào phần mềm.
6. TÀI LIỆU THAM KHẢO
6.1.
6.2.
6.3.

Arcore:
 /> />SceneForm:
 />Khác:
21


 />
22



×