Google ra mắt tính năng làm mờ và thay thế background trong Google Meet

Hội nghị truyền hình hay Video Conferencing ngày càng trở nên phổ biến và là hình thức trao đổi thông tin quan trọng hơn bao giờ hết trong công việc và cuộc sống cá nhân của mọi người. Điều này được thể hiện rõ trong tình hình dịch bệnh Covid-19 vừa qua.

Cải thiện trải nghiệm đó bằng các cải tiến về quyền riêng tư hoặc những hình ảnh thú vị có thể giúp người dùng tập chung hơn vào cuộc họp. Là một phần của mục tiêu này, Google gần đây đã cho ra mắt tính năng làm mờ và thay thế nền của người tham gia trong Google Meet bất kể bạn đang ngồi ở đâu bằng công nghệ máy học (ML). Trong khi các giải pháp khác yêu cầu cài đặt bổ sung, các tính năng của Google Meet được hỗ trợ bởi công nghệ ML web tiên tiến được tích hợp với MediaPipe hoạt động trực tiếp trong trình duyệt, bạn không cần thực hiện thêm một bước nào khác. Bằng cách kết hợp các mô hình ML trên các thiết bị, kết xuất dựa trên WebGL, suy luận ML dựa trên web thông qua XNNPACK và TFLite hiệu suất trong thời gian thực đã được cải thiện đáng kể.

Tính năng làm mờ và thay thế nền trong Google Meet được cung cấp bởi MediaPipe

Tổng quan về giải pháp Machine Learning (ML)

Các tính năng mới trong Meet được phát triển bởi MediaPipe, khung mã nguồn mở của Google dành cho các giải pháp ML có thể tùy chỉnh trên nhiều nền tảng cho các phương tiện truyền và phát trực tiếp. Ngoài ra, nó cũng hỗ trợ các giải pháp ML khác như theo dõi tư thế tay, mống mắt và cơ thể theo thời gian thực trên thiết bị.

Yêu cầu cốt lõi đối với bất kỳ một giải pháp trên thiết bị nào là phải đạt được hiệu suất cao. Để hoàn thành được mục tiêu này, đường dẫn web của MediaPipe sử dụng WebAssembly – một định dạng mã nhị phân cấp thấp được thiết kế dành riêng cho các trình duyệt web để cải thiện tốc độ cho các tác vụ máy tính nặng. Trong thời gian chạy, trình duyệt chuyển đổi các hướng dẫn WebAssembly thành mã máy gốc thực thi nhanh hơn nhiều so với mã JavaScript truyền thống. Ngoài ra, cập nhật Chrome 84 gần đây đã cung cấp nhiều tính năng mới hỗ trợ cho WebAssembly SIMD xử lý nhiều điểm dữ liệu hơn với mỗi lệnh, giúp tăng hiệu suất lên gấp đôi. 

Bước đầu tiên trong giải pháp này là xử lý mỗi khung hình video bằng cách phân đoạn người dùng từ nền của của họ, sau đó sử dụng công nghệ ML để tính toán mặt nạ (mask) với độ phân giải thấp. Theo tùy chọn, Google sẽ tinh chỉnh thêm một mặt nạ để căn chỉnh nó với phạm vi hình ảnh. Mặt nạ sau đó được xuất ra qua WebGL2, với nền được làm mờ hoặc được thay bằng một hình ảnh khác.

Sơ đồ WebML Pipeline

Trong phiên bản hiện tại, mô hình suy luận được thực thi trên CPU của người dùng để giảm mức độ tiêu thụ điện năng và tăng phạm vi phủ sóng thiết bị rộng nhất. Để đạt được hiệu suất thời gian thực, Google đã thiết kế các mô hình ML hiệu quả với khả năng suy luận được tăng tốc bởi XNNPACK và SIMD, mô hình phân đoạn có thể chạy trong thời gian thực trên web.

Được kích hoạt bởi cấu hình linh hoạt của MediaPipe, giải pháp thay thế và làm mờ background sẽ điều chỉnh quá trình xử lý của nó dựa trên khả năng của thiết bị. Trên các thiết bị cấu hình cao, nó sẽ thực hiện đầy đủ các bước trên WebML Pipeline để mang lại chất lượng hình ảnh cao nhất. Còn đối với các thiết bị cấu hình thấp hơn, nó sẽ chuyển đổi sang mô hình compute-light ML và bỏ qua việc tinh chỉnh mặt nạ để gia tăng hiệu suất đến mức cao nhất.

Mô hình phân đoạn

Các mô hình ML trên thiết bị cần phải cực kỳ nhẹ để suy luận nhanh, tiêu thụ điện năng thấp và dung lượng tải xuống nhỏ. Đối với các mô hình chạy trong trình duyệt, độ phân giải đầu vào (input) ảnh hưởng rất nhiều đến số lượng hoạt động của điểm phù động (Flops) cần thiết để xử lý mỗi khung hình và do đó độ phân giải càng thấp càng tốt. Google giảm kích thước hình ảnh xuống kích thước nhỏ hơn trước khi đưa nó vào mô hình. Yêu cầu khôi phục mặt nạ phân đoạn chất lượng tốt từ một hình ảnh có độ phân giải thấp đã làm tăng thêm nhiều thách thức trong việc thiết kế mô hình.

Mạng phân đoạn tổng thể có cấu trúc đối xứng thực hiện hoạt động từ mã hóa đến giải mã, các khối giải mã (màu xanh lá cây) có các thành phần đối xứng và tương tự như các khối mã hóa (màu xanh da trời). 

Mô hình với bộ mã hóa MobileNetV3 (xanh lá cây) và một bộ giải mã đối xứng (xanh da trời)

Google đã lựa chọn MobileNetV3-small làm bộ mã hóa nhằm cải thiện hiệu suất tốt nhất với yêu cầu cấu hình thấp. Để giảm kích thước mô hình xuống 50%, Google đã xuất mô hình của mình sang TFLite bằng cách sử dụng lượng tử hóa float16 để giảm dung lượng một chút nhưng không làm ảnh hưởng đáng kể đến chất lượng hình ảnh. Mô hình kết quả có thông số 193K chỉ có kích thước 400Kb.

Kết xuất hiệu ứng

Khi quá trình phân đoạn hoàn tất, Google sử dụng OpenGL Shader để xử lý video và kết xuất hiệu ứng, trong đó thách thức là phải hiển thị thành quả mà không cần sử dụng thêm một phần mềm đồ họa nào khác. Trong giai đoạn tinh chỉnh, Google áp dụng một bộ lọc song song để làm mịn mặt nạ có độ phân giải thấp.

Kết xuất hiệu ứng với nhiều lớp mask

Bộ đổ bóng mờ mô phỏng hiệu ứng bokeh (một cách chụp những ánh sáng có cường độ nhẹ và thấp như đèn đường, đèn trang trí để làm cho phông nền trở nên mờ ảo và mềm mịn hơn) bằng cách điều chỉnh cường độ mờ ở mỗi pixel tương ứng với các giá trị mặt nạ phân đoạn. Các điểm ảnh được tính theo bán kính CoC của chúng, vì vậy các điểm ảnh nền trước sẽ không bị lem vào nền. Google đã triển khai các bộ lọc tách biệt cho hiệu ứng mờ có trọng số, thay vì sử dụng Gaussian Pyramid (Kim tự tháp Gaussian) – một tập các layer trong đó những layer nào ở vị trí càng cao thì kích thước càng nhỏ, vì nó loại bỏ các ánh sáng bị nhiễu xung quanh người dùng. Hiệu ứng nhòe được thực hiện ở độ phân giải thấp và được hòa trộn với khung hình đầu vào ở độ phân giải gốc.

Làm mờ background trong Google Meet

Để thay thế hình nền, Google đã áp dụng một kỹ thuật kết hợp, được gọi “light wrapping” (gói ánh sáng) để hòa trộn hình ảnh được phân đoạn với hình nền tùy chỉnh. Light wrapping giúp làm mềm các cạnh phân đoạn bằng cách cho phép ánh sáng nền tràn vào các yếu tố tiền cảnh, làm cho việc kết hợp trở nên sâu sắc hơn. Nó cũng giúp giảm thiểu hiện tượng xuất hiện vùng bị nhòe khi có sự tương phản lớn giữa nền trước và nền được thay thế

Thay thế background trong Google Meet

Hiệu suất

Để tối ưu hóa trải nghiệm cho các thiết bị khác nhau, Google cung cấp các biến thể mô hình ở nhiều kích thước hình ảnh đầu vào khác nhau (hiện tại có hai tùy chỉnh được cung cấp 256×144 và 160×96), tự động chọn biến thể tốt nhất theo cấu hình thiết bị.

Google cũng phát hành “Thẻ mẫu” (Model Card) đi kèm với các mô hình phân khúc, trong đó nêu chi tiết các đánh giá về sự thích ứng của Google Meet. Dữ liệu đánh giá chứa hình ảnh từ 17 khu vực trên toàn cầu với đầy đủ chú thích về màu da và giới tính. Phân tích của Google cho thấy rằng mô hình nhất quán về hiệu suất trên các tất cả các khu vực, màu da và giới tính khác nhau, chỉ có một chút sai lệch nhỏ về số liệu IOU.

Kết luận

Giờ đây, bạn đã có thể tận hưởng một cuộc họp trực tuyến đơn giản và thú vị hơn. Bạn không cần phải mất nhiều công sức để lựa chọn cho mình một background đẹp hay lo lắng bị nhìn thấy những nội dung tư. Với tính năng mới này của Google Meet, bạn hoàn toàn được trải nghiệm một dịch vụ với tính cá nhân hóa cao. Ngoài ra, các tính năng được phát triển đem lại hiệu suất cao hơn, trong khi mức tiêu thụ điện năng giảm và thích hợp với nhiều cấu hình khác nhau.

Lương Hạnh – MarketingAI

Theo Google AI Blog

>> Có thể bạn quan tâm: 4 cách tối ưu hóa Google Tìm kiếm hiệu quả trong năm 2020

You May Also Like

About the Author: Anh Cáo

Leave a Reply

Your email address will not be published. Required fields are marked *