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.