Bước 1: Huấn Luyện Mô Hình Style Transfer với Fritz AI
Để bắt đầu, chúng ta cần huấn luyện một mô hình Style Transfer bằng Fritz AI.
Fritz AI là một nền tảng machine learning dành cho thiết bị di động, cung cấp các công cụ và dịch vụ để bạn dễ dàng tích hợp machine learning vào ứng dụng của mình.
Các bước thực hiện:
- Tạo một dự án Fritz AI mới: Truy cập trang web Fritz AI và tạo một tài khoản (nếu bạn chưa có). Sau đó, tạo một dự án mới và chọn loại dự án là "Style Transfer".
- Chọn hình ảnh kiểu mẫu (style image): Đây là hình ảnh mà bạn muốn sử dụng phong cách của nó để áp dụng lên hình ảnh khác. Lưu ý rằng không phải hình ảnh kiểu mẫu nào cũng cho kết quả tốt. Nên chọn hình ảnh có các đặc điểm sau:
- Có các mẫu hình học lớn.
- Có bảng màu tương phản, đậm nét.
- Có các cạnh và kết cấu mạnh mẽ.
- Kích thước khoảng 512x512 pixel.
- Điều chỉnh các thông số: Fritz AI cung cấp một số thông số để bạn điều chỉnh quá trình huấn luyện mô hình. Các thông số quan trọng bao gồm:
- Style weight (trọng số kiểu): Xác định mức độ ảnh hưởng của phong cách từ hình ảnh kiểu mẫu. Giá trị càng cao, hình ảnh đầu ra càng giống với hình ảnh kiểu mẫu.
- Content weight (trọng số nội dung): Xác định mức độ bảo toàn nội dung gốc của hình ảnh đầu vào. Giá trị càng cao, hình ảnh đầu ra càng giữ lại nhiều chi tiết từ hình ảnh gốc.
- Variation (biến thể): Xác định mức độ mượt mà của hình ảnh đầu ra. Giá trị càng cao, hình ảnh đầu ra càng mượt mà, nhưng có thể làm mất đi một số chi tiết nhỏ.
- Video stability (ổn định video): Thông số này đặc biệt quan trọng nếu bạn muốn áp dụng Style Transfer cho video. Giá trị càng cao, video đầu ra càng ổn định, nhưng có thể làm mất đi một số kết cấu nhỏ.
- Đặt ngân sách huấn luyện: Fritz AI yêu cầu bạn đặt một ngân sách huấn luyện cho mô hình của mình. Thông thường, 2 giờ là đủ cho một mô hình Style Transfer.
- Bắt đầu huấn luyện: Sau khi bạn đã thiết lập tất cả các thông số, hãy nhấp vào nút "Train" để bắt đầu quá trình huấn luyện mô hình. Quá trình này có thể mất vài giờ, tùy thuộc vào độ phức tạp của hình ảnh kiểu mẫu và ngân sách huấn luyện của bạn. Bạn sẽ nhận được email khi mô hình của bạn đã sẵn sàng.
Bước 2: Xuất Mô Hình Sang Lens Studio
Sau khi mô hình của bạn đã được huấn luyện thành công, bạn cần xuất nó sang Lens Studio.
Bạn có thể làm điều này bằng cách tải xuống tệp mô hình (ở định dạng .onnx
) từ trang web Fritz AI.
Các bước thực hiện:
- Truy cập trang Models: Trong dự án Fritz AI của bạn, hãy nhấp vào tab "Models" ở menu bên trái.
- Tải xuống tệp mô hình: Tìm mô hình Style Transfer mà bạn vừa huấn luyện và nhấp vào nút "Download". Chọn tùy chọn "Model" để tải xuống chỉ tệp mô hình, thay vì toàn bộ dự án Lens Studio.
- Lưu tệp mô hình: Lưu tệp
.onnx
vào một thư mục dễ tìm trên máy tính của bạn.
Bước 3: Nhập Mô Hình vào Lens Studio và Áp Dụng cho Segmentation Template
Bây giờ, chúng ta sẽ nhập mô hình Style Transfer vào Lens Studio và áp dụng nó cho Segmentation Template.
Segmentation Template là một mẫu có sẵn trong Lens Studio, cho phép bạn dễ dàng phân tách chủ thể (ví dụ: người) khỏi nền.
Các bước thực hiện:
- Mở Lens Studio: Khởi động Lens Studio và tạo một dự án mới bằng cách chọn Segmentation Template.
- Thêm ML Component: Trong bảng "Objects", nhấp vào nút "+" và chọn "ML Component". Điều này sẽ thêm một đối tượng ML Component vào cảnh của bạn.
- Chọn mô hình: Trong bảng "Inspector" của ML Component, nhấp vào menu thả xuống "Model" và chọn tệp
.onnx
mà bạn đã tải xuống từ Fritz AI. Lưu ý:
- Nếu Lens Studio hiển thị một hộp thoại nhập mô hình, hãy nhấp vào nút "Import". Fritz AI sẽ tự động xử lý cấu hình này.
- Cấu hình đầu vào và đầu ra:
- Trong phần "Inputs" của ML Component, hãy thay đổi giá trị của "Texture" từ "None" thành "Device Camera Texture". Điều này sẽ cung cấp hình ảnh từ camera thiết bị làm đầu vào cho mô hình.
- Trong phần "Outputs", nhấp vào nút "Create Output Texture". Lens Studio sẽ tự động tạo một texture mới để chứa kết quả của mô hình Style Transfer.
- Áp dụng hiệu ứng Style Transfer cho nền:
- Trong bảng "Objects", chọn đối tượng "SegmentationController".
- Trong bảng "Inspector" của SegmentationController, tìm thuộc tính "Image Texture" và thay đổi giá trị của nó từ "heart" (hoặc bất kỳ hình ảnh nào khác) thành texture đầu ra mà bạn vừa tạo trong ML Component (thường có tên là "Lambda Proxy Texture").
- Bỏ chọn ô "Use Background Color" để loại bỏ màu nền mặc định.
- Bỏ chọn ô "Tiled" để ngăn hình ảnh lặp lại.
Kết quả: Bây giờ, bạn sẽ thấy hiệu ứng Style Transfer được áp dụng cho nền của cảnh camera, trong khi chủ thể vẫn giữ nguyên như ban đầu.