Nhấn một nút, và một giây sau nền của bức ảnh biến mất, thay bằng một lớp ô cờ trong suốt sạch sẽ. Cảm giác như phép màu, nhưng chẳng có phép màu nào, và trên IMG.DIY cũng không có máy chủ nào làm việc đó. Đây là điều thực sự đang diễn ra giữa cú nhấn và ảnh đã cắt.

Nhiệm vụ thật sự: quyết định pixel nào là "chủ thể"

Xóa Nền Bằng AI Thực Sự Hoạt Động Như Thế Nào? — visual 1
Nhiệm vụ thật sự: quyết định pixel nào là "chủ thể"

Xóa nền thực chất là một bài toán gán nhãn. Với từng pixel trong ảnh, phần mềm phải trả lời một câu hỏi: đây là phần của chủ thể, hay phần của nền? Làm điều đó cho toàn bộ và bạn có một mặt nạ, tức là một bản đồ đen-trắng nơi trắng nghĩa là "giữ" và đen nghĩa là "xóa". Đặt mặt nạ lên ảnh gốc, vứt bỏ vùng đen, và bạn có ảnh đã cắt.

Nhiệm vụ này có một tên gọi trong thị giác máy tính: phân đoạn ảnh (image segmentation). Cụ thể, xóa nền dùng phân đoạn đối tượng nổi bật, nghĩa là mô hình cố tìm ra thứ mà một con người sẽ nói là bức ảnh "nói về" và tách nó khỏi mọi thứ còn lại.

Mô hình học cách nhìn ra chủ thể như thế nào

Xóa Nền Bằng AI Thực Sự Hoạt Động Như Thế Nào? — visual 2
Mô hình học cách nhìn ra chủ thể như thế nào

Mô hình không tuân theo các quy tắc viết tay như "chộp lấy thứ có hình dạng con người". Nó là một mạng nơ-ron được huấn luyện trên hàng chục nghìn ảnh mà con người đã vẽ sẵn mặt nạ hoàn hảo bằng tay. Trong quá trình huấn luyện, mạng đưa ra một dự đoán, được so với đáp án của con người, và tự điều chỉnh một chút để bớt sai hơn. Lặp lại điều đó hàng triệu lần và mạng học được các mẫu thị giác tách một đối tượng tiền cảnh khỏi môi trường xung quanh: cạnh, thay đổi kết cấu, độ nét, độ tương phản, cách một chủ thể thường nằm gần trung tâm.

Công cụ Xóa nền trên IMG.DIY dùng các mô hình thuộc dòng U²-Net, một kiến trúc nổi tiếng dành đúng cho việc này. Có hai phiên bản:

  • u2netp — một mô hình nhỏ, nhanh, 4MB. Rất tốt cho các chủ thể rõ ràng và công việc nhanh.
  • silueta — một mô hình lớn hơn 43MB tạo ra cạnh sạch hơn, tốt hơn cho ảnh cắt cần độ chi tiết.

Cả hai đều nhận ảnh của bạn, chạy qua nhiều lớp bộ lọc đã học, và xuất ra mặt nạ giữ-hoặc-xóa đó.

Vì sao nó chạy trong trình duyệt thay vì trên máy chủ

Hầu hết các công cụ xóa nền tải ảnh của bạn lên một trung tâm dữ liệu, chạy mô hình trên phần cứng của họ, rồi gửi kết quả về. Cách đó hoạt động, nhưng nó có nghĩa là ảnh của bạn nằm, dù chỉ trong chốc lát, trên máy tính của người khác.

IMG.DIY làm khác. Cùng loại mạng nơ-ron đó chạy bên trong trình duyệt của bạn bằng hai công nghệ web:

  • WebAssembly (WASM) cho phép trình duyệt chạy mã đã biên dịch với tốc độ gần như thuần, đúng thứ mà phép toán của mô hình cần.
  • ONNX Runtime là bộ máy thực sự thực thi mô hình đã huấn luyện trong môi trường đó.

File mô hình tải về một lần, rồi toàn bộ phép tính diễn ra trên CPU (hoặc GPU) của chính bạn. Ảnh của bạn được đọc từ ổ đĩa, biến thành một lưới số, đẩy qua mạng, và ghép lại thành ảnh đã cắt, tất cả mà không một byte nào rời khỏi máy của bạn.

Xử lý trong trình duyệt có nghĩa gì với bạn

Ba hệ quả thực tế nảy sinh từ thiết kế này.

Quyền riêng tư mang tính cấu trúc, không phải một lời hứa. Rất nhiều trang nói "chúng tôi không giữ ảnh của bạn". Ở đây ảnh không bao giờ được gửi đi đâu cả, nên chẳng có gì để giữ. Điều đó quan trọng nhất với ảnh thẻ, tài liệu, nguyên mẫu sản phẩm, hay bất cứ thứ gì bạn thà không giao cho máy chủ của người lạ.

Nó hoạt động offline. Vì IMG.DIY là một PWA với service worker, các công cụ vẫn chạy khi không có kết nối. Xóa nền có một dấu hoa thị: mô hình phải tải về lần đầu (file 4MB hoặc 43MB ở trên). Sau đó, bạn có thể cắt nền trên máy bay, trên tàu, hay với một kết nối khách sạn chập chờn.

Không có hàng đợi và không phải chờ tải lên. Bạn không tranh giành với người dùng khác một máy chủ chung, và không bao giờ chờ một ảnh lớn tải lên. Tốc độ xử lý phụ thuộc vào thiết bị của chính bạn, nên một laptop hiện đại xử lý hầu hết ảnh trong vài giây.

Nơi các mô hình vẫn còn chật vật

Hiểu cơ chế cũng cho bạn biết nó hỏng ở đâu. Chi tiết mảnh, mờ như sợi tóc bay hay lông thú thực sự khó, vì một sợi mảnh hơn độ tự tin của mô hình và nó có thể đoán "nền" dọc theo cạnh. Cảnh tương phản thấp (một con mèo xám trên một ghế xám) cho mạng ít thứ để tách. Và một cái nền rối rắm giống chủ thể về màu sắc lẫn kết cấu có thể làm rối việc gán nhãn.

Với các chủ thể sạch trên một cái nền rõ ràng, kết quả rất tuyệt vời. Với các ca khó, một cú chỉnh tay nhanh ở cạnh sẽ hoàn tất công việc. Dù thế nào, cả quá trình diễn ra trên thiết bị của bạn, trong một tab trình duyệt, trong vài giây, với một Công cụ Xóa nền tốt gánh phần việc nặng nhọc.