1. Trang chủ
  2. » Cao đẳng - Đại học

TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP

56 15 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

Thông tin cơ bản

Tiêu đề Tìm Hiểu ARCore Và Xây Dựng Ứng Dụng Mô Phỏng Makeup
Tác giả Trần Thị Hà Phương, Lê Thị Hồng Diệu
Người hướng dẫn ThS. Nguyễn Công Hoan
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại Đồ án
Năm xuất bản 2021
Thành phố TPHCM
Định dạng
Số trang 56
Dung lượng 1,34 MB

Cấu trúc

  • 1. Giới thiệu chung (6)
  • 2. Lý do chọn đề tài (6)
  • I. Tìm hiểu về AR và ARCORE (7)
    • 1. Về AR (Augmented Reality) (7)
    • 2. Về ARCore (13)
    • 3. Một số công nghệ trong ARCore (15)
  • II. Xây dựng ứng dụng mô phỏng makeup (19)
    • 1. Phát biểu bài toán (19)
    • 2. Khảo sát hiện trạng (20)
    • 3. Yêu cầu (21)
    • 4. Danh sách chức năng (23)
    • 5. Phân tích (31)
    • 6. Thiết kế (40)
    • 7. Xây dựng ứng dụng (47)
    • 8. Kiểm thử (51)
  • III. Kết luận (52)
    • 1. Môi trường phát triển và môi trường triển khai (52)
    • 2. Kết quả thu được (52)
    • 3. Khó khăn (54)
    • 4. Hướng phát triển (55)

Nội dung

Giới thiệu chung

Công nghệ thực tế tăng cường (AR) đang phát triển mạnh mẽ và ngày càng phổ biến, chủ yếu được tích hợp trong các ứng dụng di động.

Công nghệ AR cho phép kết hợp thông tin ảo vào thế giới thực, mang đến trải nghiệm tương tác phong phú cho người dùng Ví dụ, người dùng có thể chụp ảnh và thêm các phụ kiện như kính, mũ, cùng nhiều hiệu ứng thú vị khác.

Một số ứng dụng AR nổi tiếng như: cơn sốt trò chơi Pokemon Go trong năm

2016, các tool chụp ảnh ứng dụng AR để gắn kính, mũ, tai thỏ trên message, snapchat,

Tìm hiểu về AR và ARCORE

Về AR (Augmented Reality)

Công nghệ Thực Tế Tăng Cường (AR) cho phép tích hợp các vật thể ảo vào thế giới thực, mang đến trải nghiệm thú vị như khủng long đi dạo trong công viên, cuộc chiến giữa Godzilla và Kong trên mái nhà, hay các trận đấu Pokemon trên đường phố AR đang ngày càng trở thành một phần quan trọng trong cuộc sống hàng ngày của chúng ta.

Công nghệ AR đang được ứng dụng rộng rãi trong lĩnh vực truyền thông đa phương tiện, các mô hình 3D, hệ thống thời gian thực và trí tuệ nhân tạo Một ví dụ đơn giản về AR có thể dễ dàng tìm thấy trên mọi chiếc smartphone là máy ảnh và bộ lọc ảnh trong ứng dụng Messenger, cho phép người dùng chụp hình và thêm các hiệu ứng như tai thỏ hay răng nanh vào bức ảnh của mình.

Một số ứng dụng AR tiêu biểu trong thực tế như:

Gatwick Airport Passenger là ứng dụng hỗ trợ chỉ dẫn cho hành khách tại sân bay Gatwick thông qua bản đồ AR trên điện thoại Ứng dụng này đã từng giành giải thưởng Sáng tạo cho thiết bị di động của năm và cũng được công nhận là Ứng dụng di động của năm.

Hình 1.1: Ứng dụng Gatwick airport passenger

Ikea Place là ứng dụng được phát triển dựa trên công nghệ ARKit của Apple, cho phép người dùng quét không gian phòng của mình và bố trí nội thất một cách trực quan Với ứng dụng này, khách hàng có thể trải nghiệm sản phẩm trước khi đưa ra quyết định mua sắm, giúp họ dễ dàng hình dung cách mà các món đồ sẽ hòa hợp với không gian sống của mình.

Hình 1.2: Ứng dụng Ikea Place

Trong lĩnh vực y tế, công nghệ AR đang mang lại nhiều ứng dụng thú vị, từ việc hỗ trợ sinh viên y khoa đào tạo trong môi trường thực tế ảo đến khả năng khám từ xa, cho phép các chuyên gia y tế tương tác trực tiếp với bệnh nhân Trong những tình huống khẩn cấp, ứng dụng AR có thể cung cấp thông tin theo thời gian thực tại khu vực điều trị, giúp nâng cao hiệu quả cho các kế hoạch chẩn đoán, phẫu thuật và điều trị Một ví dụ điển hình là thiết bị y tế cầm tay AccuVein, sử dụng công nghệ AR để quét mạng lưới tĩnh mạch của bệnh nhân.

10 c Sự khác nhau giữa AR và VR

Quang cảnh nền Cảnh thực Hoàn toàn là cảnh ảo

Tỉ lệ Ảo –Thực 25 % ảo – 75% thực 75% ảo – 25% thực

Thiết bị cần thiết Sử dụng được trên nhiều thiết bị

Cần thiết bị chuyên dùng

Khi sử dụng Tương tác với các vật thể ảo nhưng vẫn gắn liền thế giới thực (vẫn thấy con người thực trong cảnh thực)

Tương tác với thế giới ảo hoàn toàn tách biệt khỏi thực tại mang lại những trải nghiệm độc đáo, nhưng cũng có những ưu nhược điểm riêng của công nghệ thực tế tăng cường (AR) AR cho phép người dùng khám phá và tương tác với các yếu tố ảo trong không gian thực, tạo ra sự kết hợp giữa thực tế và ảo diệu Tuy nhiên, việc hoàn toàn không thấy được thế giới thực có thể dẫn đến cảm giác cô lập và mất kết nối với môi trường xung quanh.

○ Tăng mức độ chính xác trong các ứng dụng mua bán online

○ Tạo ra các trò chơi mang lại cảm giác “thực” cho người dùng

○ Tạo ra các công cụ định hướng, hỗ trợ thông minh

○ Tốn kém nhiều chi phí để xây dựng và duy trì các ứng dụng AR

○ Có khả năng gây các vấn đề về sức khỏe tinh thần và thể chất cho người dùng

○ Các ứng dụng AR thường có hiệu năng sử dụng thấp (chạy chậm, lag,…)

11 e Các xu hướng phát triển AR trong tương lai

Công nghệ thực tế tăng cường (AR) đang phát triển nhanh chóng và hứa hẹn sẽ tạo ra những thay đổi lớn cho các thiết bị thông minh trong tương lai.

Smartphone và máy tính bảng sẽ dần được thay thế bởi các thiết bị thông minh như kính thông minh, tai nghe thông minh và đồng hồ đeo tay điện tử Với những thiết bị này, bạn có thể gọi điện qua Messenger, mở Google Maps và chỉ đường chỉ bằng một cái vẫy tay hoặc một câu lệnh.

Trong tương lai, kính AR sẽ mang đến trải nghiệm sống động hơn bao giờ hết, giúp chúng ta cảm nhận rõ ràng các giác quan Bạn sẽ cảm nhận được sự mềm mại khi chạm vào lông của một chú cún con ảo, hay cảm giác bỏng rát khi tiếp xúc với ngọn lửa ảo, và lạnh cóng khi chạm vào băng ảo.

Trong giáo dục, tài liệu số 2D sử dụng công nghệ AR có khả năng "tiến hóa" thành 3D, cho phép học sinh tương tác trực tiếp như thật Điều này đặc biệt hữu ích cho sinh viên y khoa, giúp họ tiếp cận trực quan hơn trong việc học giải phẫu thông qua các hình nhân sống động.

“ảo” được tạo ra bởi AR

Kính thông minh có thể tích hợp các bảo tàng nghệ thuật và triển lãm, cho phép người dùng trải nghiệm nghệ thuật mọi lúc, mọi nơi với cảm xúc chân thực.

Trong y học và chăm sóc sức khỏe, các ứng dụng mới cho phép người dùng dự đoán tình trạng sức khỏe của mình sau khi hoàn thành liệu trình điều trị hoặc sử dụng thuốc Điều này hỗ trợ hiệu quả hơn trong việc tư vấn và lựa chọn liệu trình điều trị phù hợp.

Công nghệ AR dự kiến sẽ tiếp tục phát triển mạnh mẽ trong tương lai, với nhiều khả năng mới mà hiện tại chúng ta chỉ có thể dự đoán Trong thời gian tới, AR có thể mang đến những ứng dụng và trải nghiệm vượt trội hơn nữa.

Về ARCore

ARCore là một nền tảng của Google được sử dụng để xây dựng các ứng dụng

AR Với nhiều API khác nhau, ARCore cho phép chiếc điện thoại của bạn khả năng cảm nhận môi trường, hiểu và tương tác với thế giới thực

ARCore sử dụng 3 khả năng chính để tích hợp các nội dung ảo vào thế giới thực thông qua điện thoại

Motion tracking(Theo dõi chuyển động): cho phép điện thoại hiểu và theo dõi vị trí của chính nó trong thế giới thực

Hiểu về môi trường giúp điện thoại phân tích và nhận diện kích thước, vị trí của các bề mặt theo chiều dọc, ngang, cũng như các góc cạnh của mặt đất và các vật thể như bàn, ghế, vách tường.

Ước tính ánh sáng giúp điện thoại xác định các điều kiện như độ sáng và bóng đổ của ánh sáng hiện tại Các thiết bị hỗ trợ công nghệ này mang lại trải nghiệm người dùng tối ưu hơn.

ARCore được thiết kế để hoạt động trên thiết bị với hệ điều hành Android 7.0 hoặc hơn c ARCore hoạt động như thế nào?

Trên cơ bản thì ARCore làm 2 việc : theo dõi vị trí thiết bị trong thế giới thực và xây dựng các thực thể ảo trên đó

Bộ theo dõi chuyển động ARCore sử dụng camera điện thoại để xác định và theo dõi các điểm tiêu biểu, đồng thời ghi lại sự di chuyển của chúng theo thời gian Việc theo dõi này kết hợp với việc đọc các cảm biến định hướng giúp cải thiện độ chính xác trong việc nhận diện và tương tác với môi trường xung quanh.

13 của điện thoại, ARCore có thể quyết định được vị trí và cả hướng của điện thoại trong không gian

ARCore có khả năng dò tìm và nhận diện các bề mặt phẳng như bàn và ghế, đồng thời ước tính ánh sáng của môi trường xung quanh Nhờ vào những tính năng này, ARCore có thể tạo ra các thực thể ảo trong không gian thực, ví dụ như một chú mèo con ảo trên một tấm thảm.

Bộ theo dõi chuyển động giúp bạn tự do di chuyển và quan sát chú mèo ảo từ nhiều góc độ khác nhau Ngay cả khi bạn rời khỏi phòng và quay lại sau vài phút, chú mèo vẫn sẽ ở đó, tạo cảm giác sống động và gần gũi.

Hình 1.4: Mô phỏng động vật d Tại sao lại chọn ARCore?

Bên cạnh ARCore, còn có các nền tảng hỗ trợ AR khác như : ARKit, Vuforia

Về mức độ hoàn thiện, Vuforia được đánh giá kém hiệu quả hơn ARKit và ARCore Trong khi ARKit chỉ hỗ trợ iOS, Vuforia và ARCore lại tương thích với cả hai hệ điều hành iOS và Android Tuy nhiên, nếu xét về mức độ phổ biến, ARCore là lựa chọn ưu việt hơn, khi 78% ứng dụng và game được phát triển trên hệ điều hành Android với số lượng người dùng lớn.

Một số công nghệ trong ARCore

a API độ sâu trong ARCore

API độ sâu, ra mắt vào năm 2020, cho phép các thiết bị tạo bản đồ độ sâu trong thời gian thực mà không cần cảm biến chuyên dụng Các điểm dữ liệu trong bản đồ được phân bố đều và "mịn", giúp lấp đầy tất cả các điểm trống Điều này giảm thiểu khả năng thiếu sót điểm ảnh, hỗ trợ các nhà phát triển tạo ra hiệu ứng chiều sâu chính xác hơn, ngay cả ở những điểm bị mất ảnh.

Công nghệ API độ sâu thô (ARCore Raw Depth API) cho phép tạo ra các bản đồ độ sâu chi tiết hơn về hình dạng đối tượng trong ảnh thực Các bản đồ độ sâu này, được gọi là Raw Depth Map, chứa các điểm dữ liệu không mịn và tạo ra một bức ảnh tự tin (confidence image) giúp ước lượng độ sâu từ Raw Depth Map.

API Raw Depth cung cấp khả năng ước lượng độ sâu chính xác và nhận thức không gian tốt hơn, cho phép tích hợp các thực thể ảo vào môi trường thực một cách hoàn hảo.

Hình 1.6: Một tấm thảm được người dùng upload lên và lồng ghép vào chiếc ghế trong thế giới thực một cách chính xác nhờ depth API

Công nghệ Depth hit-test liên quan đến API độ sâu cho phép người dùng chạm vào màn hình để "đặt" một vật thể ảo tại vị trí đó.

Hình 1.7: Một chú robot đỏ sẽ xuất hiện ở chỗ người dùng nhấp vào

Unity now offers the "ARCore Depth Lab," featuring examples of both the Raw Depth API and Depth hit-test You can search for it and start practicing today.

16 b Công nghệ post-capture AR

Một số thử nghiệm thực tế tăng cường (AR) cần được kiểm tra trong điều kiện cụ thể, điều này tạo ra một số thách thức cho cả các nhà phát triển và người dùng Các yếu tố như độ sáng, vị trí và cảm biến camera có thể dẫn đến những hiệu ứng khác nhau, gây ra kết quả không đồng nhất khi sử dụng công nghệ AR.

Công nghệ Recording ARCore và Playback API (tạm dịch: công nghệ

ARCore cho phép các nhà phát triển sử dụng video ghi hình để kiểm tra công nghệ AR Việc sử dụng video ghi hình đảm bảo thu được dữ liệu đồng nhất và ổn định về độ sáng, từ đó mang lại kết quả chính xác hơn trong quá trình phát triển ứng dụng.

Công nghệ Recording ARCore và Playback API mở ra nhiều cơ hội ứng dụng trong thương mại, đặc biệt trong lĩnh vực mua sắm nội thất Nhờ vào công nghệ này, người tiêu dùng có thể dễ dàng hình dung cách bố trí đồ nội thất trong ngôi nhà của họ bằng cách quay video và thử nghiệm các sản phẩm nội thất qua AR, giúp họ đưa ra quyết định mua sắm chính xác hơn.

Hình 1.8: AR và video ghi hình

Công nghệ Augmented Faces là một trong những yếu tố quan trọng nhất trong việc phát triển ứng dụng MakeUp Công nghệ này cho phép ứng dụng tự động nhận diện các vùng khác nhau trên khuôn mặt, từ đó người dùng có thể áp dụng các lớp phủ tùy ý Lớp phủ này được thiết kế để phù hợp với đường nét và cấu trúc của gương mặt, đảm bảo tính chính xác và tự nhiên Để thực hiện điều này, API sẽ nhận diện và tạo ra các kết cấu ảo phù hợp với khuôn mặt người dùng.

“augmented face mesh”(lưới khuôn mặt tăng cường) Lưới này mà một mô hình mô phỏng khuôn mặt ảo, bao gồm các đỉnh và cạnh

Hình 1.9 và 1.10: Augmented face mesh và Augmented face mesh được phát hiện trên mặt

Khi ứng dụng hoạt động, API sẽ được sử dụng để phát hiện các đường nét khuôn mặt và sau đó áp dụng kết cấu mô hình một cách chính xác lên bề mặt khuôn mặt.

Công nghệ AR cho phép tích hợp các thực thể ảo vào thế giới thực, đồng thời theo dõi và điều chỉnh theo sự chuyển động không ngừng của môi trường xung quanh.

Hình 1.11: Các chữ “ảo” di chuyển theo thực thể thật

Xây dựng ứng dụng mô phỏng makeup

Phát biểu bài toán

Tầm nhìn Áp dụng kiến thức tìm hiểu ARCore để xây dựng ứng dụng trang điểm

Mục tiêu của ứng dụng là cung cấp các chức năng trang điểm cơ bản như son môi, phấn má hồng, phấn mắt và kẻ mắt Đối tượng sử dụng là những người muốn làm đẹp hình ảnh mà không cần trang điểm thực tế, cũng như các thương hiệu mỹ phẩm muốn cung cấp mẫu dùng thử cho khách hàng thông qua ứng dụng.

Khảo sát hiện trạng

● Thiết bị khảo sát: Redmi Note 9 Pro

● YouCam Makeup - Selfie Editor & Magic Makeover Cam

● YuFace: Chụp Hình Đẹp, Chụp Ảnh Selfie Đẹp, Mịn Da

● Trình độ chuyên môn: chỉ cần biết sử dụng thiết bị di động cơ bản(quay phim, chụp ảnh, ) b Hiện trạng tổ chức: Không có c Hiện trạng nghiệp vụ

● Thay đổi màu sắc camera:

Tăng cường và hiệu chỉnh màu sắc hình ảnh giúp cải thiện chất lượng ảnh toàn màn hình camera, mang lại sự sắc nét và sống động hơn cho từng bức ảnh.

○ Ứng dụng hỗ trợ tính năng trang điểm cho các phần như:

Yêu cầu

STT Tên yêu cầu Quy định

1 Thay đổi màu sắc camera QĐ 1

2 Trang điểm từng phần QĐ 1

3 Trang điểm toàn bộ QĐ 1

● QĐ 1: Người dùng cho phép ứng dụng kết nối với camera

● QĐ 2: Người dùng cho phép ứng dụng kết nối với album

STT Nghiệp vụ Mô tả chi tiết Ghi chú

1 Dễ sửa lỗi Xác định lỗi trung bình trong 15 phút

Khi sửa lỗi một chức năng, không ảnh hưởng đến chức năng khác

2 Dễ bảo trì Thêm chức năng mới nhanh

Không ảnh hưởng chức năng đã có

Xây dựng phần mềm quản lý nhân sự ngành kinh doanh trong 3 ngày

Cùng với các yêu cầu

4 Dễ mang chuyển Đổi sang hệ quản trị cơ sở dữ liệu mới tối đa trong 2 ngày

Cùng với các yêu cầu

Danh sách chức năng

Hình 2.1: Sơ đồ luồng hoạt động của chức năng

23 a Chức năng truy cập camera

Chức năng Truy cập camera

Mô tả Ứng dụng truy cập vào camera của người dùng

Mục đích Sử dụng các tính năng trong ứng dụng

Người dùng cho phép truy cập camera

24 b Chức năng truy cập album

Chức năng Truy cập album

Mô tả Ứng dụng truy cập vào camera của thiết bị

Mục đích Lưu hình vào thiết bị

Người dùng cho phép truy cập camera

25 c Chức năng thay đổi độ sáng camera

Chức năng Thay đổi độ sáng camera

Mô tả Người dùng chọn độ sáng mong muốn, màn hình camera ứng dụng thay đổi độ sáng tương ứng

Mục đích Chỉnh sáng hình ảnh

Người dùng cho phép truy cập camera

26 d Chức năng trang điểm toàn bộ

Chức năng Trang điểm toàn bộ

Mô tả Người dùng chọn lớp trang điểm mong muốn, màn hình camera ứng dụng sẽ xuất hiện hiệu ứng tương ứng

Mục đích Chỉnh sửa hình

Người dùng cho phép truy cập camera

27 e Chức năng trang điểm từng phần

Chức năng Trang điểm từng phần

Mô tả Người dùng thêm son môi, má hồng, kẻ mắt trong mục trang điểm, màn hình camera ứng dụng sẽ xuất hiện hiệu ứng tương ứng

Mục đích Chỉnh sửa hình

Người dùng cho phép truy cập camera

Mô tả Người dùng nhấn nút chụp hình sau khi chỉnh sửa xong, hệ thống chụp lại hình ảnh hiện tại trên camera

Mục đích Chụp lại hình sau khi người dùng đã chỉnh sửa xong

Người dùng cho phép truy cập camera

Mô tả Hệ thống lưu lại hình ảnh vào thiết bị của người dùng sau khi nhấn nút chụp hình

Mục đích Chỉnh sửa hình

Người dùng cho phép truy cập album

Phân tích

STT Tên Actor Ý nghĩa/Ghi chú

1 Người dùng Người sử dụng ứng dụng

2 Danh sách các Use-case

STT Tên Use-case Ý nghĩa/Ghi chú

1 Cấp quyền truy cập camera

Người dùng cấp quyền cho ứng dụng truy cập vào camera của thiết bị

2 Cấp quyền truy cập album Người dùng cấp quyền cho ứng dụng truy cập vào album của thiết bị

3 Thay đổi độ sáng camera Người dùng chọn độ sáng mong muốn, màn hình camera ứng dụng thay đổi độ sáng tương ứng

4 Trang điểm toàn bộ Người dùng chọn lớp trang điểm mong muốn, màn hình camera ứng dụng thêm hiệu ứng tương ứng

5 Trang điểm từng phần Người dùng thêm son môi, má hồng, kẻ mắt trong mục trang điểm, màn hình camera ứng dụng thêm hiệu ứng tương ứng

6 Chụp hình Người dùng nhấn nút chụp hình sau khi chỉnh sửa xong, hệ thống chụp lại hình ảnh hiện tại trên camera

7 Lưu hình Hệ thống lưu lại hình ảnh vào thiết bị của người dùng sau khi nhấn nút chụp hình

3.1 Đặc tả Use-case “Cấp quyền truy cập camera”

Tóm tắt Người dùng cấp quyền cho ứng dụng truy cập vào camera của thiết bị

Dòng sự kiện chính 1 Người dùng mở ứng dụng

2 Ứng dụng hiện thông báo xin cấp quyền truy cập camera

3 Người dùng chọn cho phép

Dòng sự kiện khác 1 Người dùng từ chối

2 Ứng dụng không hoạt động

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống khi bắt đầu thực hiện Use- case

Người dùng mở ứng dụng

Trạng thái hệ thống sau khi thực hiện Use-case

Hệ thống mở màn hình chính Điểm mở rộng Không có

3.2 Đặc tả Use-case “Cấp quyền truy cập album”

Tóm tắt Người dùng cấp quyền cho ứng dụng truy cập vào album của thiết bị

Dòng sự kiện chính 1 Người dùng mở ứng dụng

2 Ứng dụng hiện thông báo xin cấp quyền truy cập camera

3 Người dùng chọn cho phép

Dòng sự kiện khác 1 Người dùng từ chối

2 Ứng dụng không hoạt động

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống khi bắt đầu thực hiện Use- case

Người dùng mở ứng dụng

Trạng thái hệ thống sau khi thực hiện Use-case

Hệ thống mở màn hình chính Điểm mở rộng Không có

3.3 Đặc tả Use-case “Thay đổi độ sáng camera”

Tóm tắt Người dùng chọn độ sáng mong muốn, màn hình camera ứng dụng thay đổi độ sáng tương ứng

Dòng sự kiện chính 1 Người dùng chọn mục độ sáng

2 Người dùng chọn độ sáng mong muốn

3 Hệ thống thể hiện độ sáng trên màn hình

Dòng sự kiện khác Không có

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống khi bắt đầu thực hiện Use- case Ứng dụng được cấp quyền truy cập camera

Trạng thái hệ thống sau khi thực hiện Use-case

Hệ thống thể hiện độ sáng trên màn hình Điểm mở rộng Không có

3.4 Đặc tả Use-case “Trang điểm toàn bộ”

Tóm tắt Người dùng chọn hiệu ứng mong muốn, màn hình camera ứng dụng thêm hiệu ứng tương ứng

Dòng sự kiện chính 1 Người dùng chọn mục hiệu ứng

2 Người dùng chọn hiệu ứng mong muốn

3 Hệ thống thể hiện hiệu ứng trên màn hình

Dòng sự kiện khác Không có

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống khi bắt đầu thực hiện Use- case Ứng dụng được cấp quyền truy cập camera

Trạng thái hệ thống sau khi thực hiện Use-case

Hệ thống thể hiện độ sáng trên màn hình Điểm mở rộng Không có

3.5 Đặc tả Use-case “Trang điểm”

Tóm tắt Người dùng thêm son môi, má hồng, kẻ mắt trong mục trang điểm, màn hình camera ứng dụng thêm hiệu ứng tương ứng

Dòng sự kiện chính 1 Người dùng chọn mục trang điểm

2 Người dùng chọn thêm son môi, má hồng, kẻ mắt

3 Hệ thống thể hiện thay đổi trên màn hình

Dòng sự kiện khác Không có

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống khi bắt đầu thực hiện Use- case Ứng dụng được cấp quyền truy cập camera

Trạng thái hệ thống sau khi thực hiện Use-case

Hệ thống thể hiện thay đổi trên màn hình Điểm mở rộng Không có

3.6 Đặc tả Use-case “Chụp hình”

Tóm tắt Người dùng nhấn nút chụp hình sau khi chỉnh sửa xong, hệ thống chụp lại hình ảnh hiện tại trên camera

Dòng sự kiện chính 1 Người dùng nhấn nút chụp hình

2 Hệ thống chụp lại hình ảnh hiện tại trên camera

Dòng sự kiện khác Không có

Các yêu cầu đặc biệt Không có

Trạng thái hệ thống khi bắt đầu thực hiện Use- case

Người dùng nhấn nút chụp hình

Trạng thái hệ thống sau khi thực hiện Use-case

Hệ thống chụp lại hình ảnh hiện tại trên camera Điểm mở rộng 1 Use case “Lưu hình” >

3.7 Đặc tả Use-case “Lưu hình”

Tóm tắt Hệ thống lưu lại hình ảnh vào thiết bị của người dùng sau khi nhấn nút chụp hình

Dòng sự kiện chính 1 Người dùng nhấn nút chụp hình

2 Hệ thống chụp lại hình ảnh hiện tại trên camera

3 Hệ thống lưu hình ảnh hiện tại vào thiết bị

Dòng sự kiện khác Không có

Các yêu cầu đặc biệt Ứng dụng được cấp quyền truy cập album

Trạng thái hệ thống khi bắt đầu thực hiện Use- case

Người dùng nhấn nút chụp hình

Trạng thái hệ thống sau khi thực hiện Use-case

Hệ thống lưu hình ảnh vào thiết bị Điểm mở rộng Không có

Thiết kế

Hình 2.3: Kiến trúc của ứng dụng

Unity Game engine đa nền tảng được phát triển bởi

AR Foundation API Môi trường phát triển thực tế tăng cường đa nền tảng trong Unity AR Foundation hỗ trợ các package như sau:

+ ARCore XR Plugin trên Android + ARKit XR Plugin trên iOS

+ Magic Leap XR Plugin trên Magic Leap + Windows XR Plugin trên HoloLens

XR Arcore (Google) Bộ công cụ phát triển phần mềm do Google phát triển cho phép xây dựng các ứng dụng thực tế tăng cường

Plugin hỗ trợ chụp và lưu hình vào thiết bị trên Android và iOS

41 b Thiết kế giao diện i Danh sách màn hình

Hình 2.4: Sơ đồ luồng hoạt động của giao diện

STT Tên màn hình Ý nghĩa/Ghi chú

Màn hình chính Màn hình đầu tiên khi vào ứng dụng

Màn hình thay đổi độ sáng Thay đổi màu của camera

Màn hình trang điểm toàn bộ

Trang điểm cho khuôn mặt

Màn hình trang điểm từng phần

Trang điểm cho khuôn mặt

43 ii Mô tả chi tiết từng màn hình

STT Thành phần Ý nghĩa/ Ghi chú

1 Nút chụp hình Chụp hình

2 Nút trang điểm toàn bộ Vào màn hình chọn hiệu ứng

3 Nút đổi màu Vào màn hình chọn màu

4 Nút trang điểm Vào màn hình chọn hiệu ứng

Hình 2.6: Màn hình trang điểm

STT Thành phần Ý nghĩa/ Ghi chú

1 Nút chụp hình Chụp hình

2 Nút quay lại Quay về màn hình chính

3 Nút phấn má Vào màn hình chọn phấn má

4 Nút kẻ mắt Vào màn hình chọn hiệu ứng

5 Nút phấn mắt Vào màn hình chọn phấn mắt

6 Nút xăm hình Vào màn hình chọn hình xăm

3 Màn hình chọn hiệu ứng/màu/trang điểm

Hình 2.7: Màn hình thành phần

STT Thành phần Ý nghĩa/ Ghi chú

1 Nút chụp hình Chụp hình

2 Nút quay lại Quay về màn hình chính

3 Các nút thành phần Các loại material tương ứng với màn hình

Xây dựng ứng dụng

Trong ARCore, có hai phương pháp để tự tạo material khớp với khuôn mặt của người dùng khi chạy ứng dụng:

● Dùng FBX file cho mẫu 3D:

FBX là định dạng tệp chứa cấu trúc liên kết mặt lưới, tọa độ kết cấu UV và hệ thống các vùng trên khuôn mặt Để đảm bảo tính tương thích với ARCore, các tệp FBX cần được lưu theo mẫu mà ARCore đã cung cấp.

● Dùng PSD file cho mẫu 2D:

○ PSD sẽ bao gồm bốn layer:

■ Mask (màu đen): Cho biết vị trí của mắt, lỗ mũi và miệng của texture

■ Đường kẻ (màu xanh dương, vàng, xanh lá): Chỉ ra các đặc điểm trên khuôn mặt của người dùng phù hợp với kết cấu trong thời gian chạy app

■ UVs (màu trắng): Tập các tam giác của lưới kết cấu mặt

■ Nền: Một lớp nền màu xám trung tính để làm cho ba thành phần còn lại rõ ràng về mặt trực quan

○ Vì chủ đề đồ án là trang điểm, không cần sử dụng model 3D nên nhóm em chọn sử dụng cách này để xây dựng material

Hình 2.8: file PSD texture khuôn mặt

Hình 2.9: file PSD texture khuôn mặt với material tự tạo

Từ texture đã tạo trong psd, cho vào định dạng material của Unity sẽ được kết quả như hình

Trong Unity, nhóm em đã áp dụng phương pháp sử dụng material cho 2D face material bằng cách tô lên khuôn mặt một lớp màu Lớp màu này sẽ bao phủ toàn bộ khuôn mặt của người dùng và sẽ giãn nở tương ứng với các cử động, biểu cảm của khuôn mặt.

Hình 2.11: Lớp màu trên khuôn mặt

ARCoreFaceRegion là một tính năng độc đáo của ARCore, cho phép sử dụng thông tin về các "vùng" cụ thể trên khuôn mặt Các vùng này bao gồm lông mày trái, lông mày phải và mũi, giúp nâng cao khả năng phát hiện và tương tác trong các mô hình 3D.

Hình 2.12: ARCore sử sụng Face Region c Đổi màu camera bằng Universal Render Pipeline (URP) và Post processing

Unity hỗ trợ các hiệu ứng post-processing để tăng chất lượng AR Camera của ứng dụng ví dụ như:

● Depth of field (độ focus của camera)

● Look up table: tính năng đổi màu thường được sử dụng trong các app trang điểm

Hình 2.13: Look up table Bảng màu gốc (bên trái) - Bảng màu chỉnh sửa (bên phải)

Kiểm thử

Hệ điều hành Android 9.0 Pie (API 28) + và thiết bị phải được ARCore hỗ trợ Các bước cài đặt

● Bước 3: Cho phép ứng dụng truy cập camera và hình ảnh của thiết bị b Chi tiết kiểm thử

● Thông tin thiết bị: Redmi Note 9 Pro 64GB

● Kết quả: Chạy ổn định, không có lỗi.

Ngày đăng: 05/09/2021, 20:49

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Ứng dụng Gatwick airport passenger - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 1.1 Ứng dụng Gatwick airport passenger (Trang 8)
Hình 1.3: Thiết bị AcuuVein - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 1.3 Thiết bị AcuuVein (Trang 10)
“augmented face mesh”(lưới khuôn mặt tăng cường). Lưới này mà một mô hình mô phỏng khuôn mặt ảo, bao gồm các đỉnh và cạnh - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
augmented face mesh”(lưới khuôn mặt tăng cường). Lưới này mà một mô hình mô phỏng khuôn mặt ảo, bao gồm các đỉnh và cạnh (Trang 18)
● Chụp hình ●Lưu hình  - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
h ụp hình ●Lưu hình (Trang 21)
Hình 2.1: Sơ đồ luồng hoạt động của chức năng - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.1 Sơ đồ luồng hoạt động của chức năng (Trang 23)
Mục đích Lưu hình vào thiết bị - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
c đích Lưu hình vào thiết bị (Trang 25)
Mô tả Người dùng chọn độ sáng mong muốn, màn hình camera - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
t ả Người dùng chọn độ sáng mong muốn, màn hình camera (Trang 26)
Mô tả Người dùng chọn lớp trang điểm mong muốn, màn hình - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
t ả Người dùng chọn lớp trang điểm mong muốn, màn hình (Trang 27)
trang điểm, màn hình camera ứng dụng sẽ xuất hiện hiệu ứng tương ứng  - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
trang điểm, màn hình camera ứng dụng sẽ xuất hiện hiệu ứng tương ứng (Trang 28)
f. Chức năng chụp hình - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
f. Chức năng chụp hình (Trang 29)
g. Chức năng lưu hình - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
g. Chức năng lưu hình (Trang 30)
Hệ thống mở màn hình chính. - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
th ống mở màn hình chính (Trang 33)
Hệ thống mở màn hình chính. - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
th ống mở màn hình chính (Trang 34)
Hệ thống thể hiện độ sáng trên màn hình. - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
th ống thể hiện độ sáng trên màn hình (Trang 36)
3. Hệ thống thể hiện thay đổi trên màn hình. Dòng sự kiện khác Không có  - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
3. Hệ thống thể hiện thay đổi trên màn hình. Dòng sự kiện khác Không có (Trang 37)
3.7. Đặc tả Use-case “Lưu hình” - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
3.7. Đặc tả Use-case “Lưu hình” (Trang 39)
Hình 2.3: Kiến trúc của ứng dụng - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.3 Kiến trúc của ứng dụng (Trang 40)
Plugin hỗ trợ chụp và lưu hình vào thiết bị trên Android và iOS  - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
lugin hỗ trợ chụp và lưu hình vào thiết bị trên Android và iOS (Trang 41)
i. Danh sách màn hình - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
i. Danh sách màn hình (Trang 42)
STT Tên màn hình Ý nghĩa/Ghi chú - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
n màn hình Ý nghĩa/Ghi chú (Trang 43)
Hình 2.6: Màn hình trang điểm - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.6 Màn hình trang điểm (Trang 45)
1. Nút chụp hình Chụp hình - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
1. Nút chụp hình Chụp hình (Trang 46)
Hình 2.7: Màn hình thành phần - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.7 Màn hình thành phần (Trang 46)
Hình 2.8: file PSD texture khuôn mặt - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.8 file PSD texture khuôn mặt (Trang 48)
Hình 2.9: file PSD texture khuôn mặt với material tự tạo - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.9 file PSD texture khuôn mặt với material tự tạo (Trang 48)
Hình 2.11: Lớp màu trên khuôn mặt - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.11 Lớp màu trên khuôn mặt (Trang 49)
Hình 2.10: Material tự tạo trong Unity - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.10 Material tự tạo trong Unity (Trang 49)
Hình 2.13: Look up table. Bảng màu gốc (bên trái) - Bảng màu chỉnh sửa (bên phải) - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 2.13 Look up table. Bảng màu gốc (bên trái) - Bảng màu chỉnh sửa (bên phải) (Trang 51)
Hình 3.2: Thêm phấn má hồng & Hình 4.3: Thêm phấn má hồng, tàng nhan và phấn mắt - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 3.2 Thêm phấn má hồng & Hình 4.3: Thêm phấn má hồng, tàng nhan và phấn mắt (Trang 53)
Hình 3.4: Thêm son môi & Hình 3.5: Thêm son môi, tàng nhang và sticker - TÌM HIỂU ARCORE và xây DỰNG ỨNG DỤNG mô PHỎNG MAKEUP
Hình 3.4 Thêm son môi & Hình 3.5: Thêm son môi, tàng nhang và sticker (Trang 54)

TỪ KHÓA LIÊN QUAN

w