Chuyển đến nội dung chính

Phóng to ảnh miễn phí

Phóng to ảnh 4× bằng mô hình AI chạy ngay trên thiết bị của bạn — cạnh sắc nét và chữ đọc được, không chỉ là pixel to hơn. Không tải lên, không tài khoản, không hình mờ.

Thả tệp vào đây hoặc nhấp để duyệt

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · được xử lý trên thiết bị của bạn

hoặc nhấn Ctrl+V để dán từ bảng nhớ tạm

Bạn có thể thả nhiều tệp cùng một lúc

Duyệt tệp
Real-ESRGAN vẽ lại chi tiết ở mức 4× thay vì kéo giãn pixel. Mô hình 4.6 MB được tải xuống một lần rồi chạy hoàn toàn trên thiết bị này — ảnh của bạn không bao giờ được tải lên.

Cách hoạt động

Công cụ phóng to ảnh chạy Real-ESRGAN general-x4v3 — một mạng siêu phân giải tích chập 4,6 MB — qua onnxruntime-web trong Web Worker trên chính máy của bạn. Mô hình được tải một lần từ máy chủ của chúng tôi, lưu đệm, rồi dùng ngoại tuyến; ảnh của bạn được giải mã lên canvas cục bộ và không bao giờ được tải lên. Hệ số phóng to cố định ở 4×, vì nó được gắn cứng trong đồ thị mô hình ở hai chỗ.

  1. 1
    Ảnh được cắt thành các ô chồng lấn
    Kết quả 4× có số điểm ảnh gấp mười sáu lần, nên ảnh 4000×3000 sẽ thành 192 megapixel — đủ để làm sập hẳn thẻ trình duyệt chứ không chỉ làm chậm. Thay vào đó, ảnh được chia thành các lõi lát kín ảnh, và mỗi lõi được đọc kèm thêm một lề ngữ cảnh ở mọi phía để chồng tích chập (có trường tiếp nhận 34 điểm ảnh) có điểm ảnh lân cận thực để xử lý. Viền được sao chép từ mép, không bao giờ đệm số 0, vì nếu không mô hình sẽ làm sắc một viền đen quanh khung.
  2. 2
    Mỗi ô được đóng gói thành tensor RGB dạng phẳng
    Một ô trở thành tensor float32 có dạng [1, 3, H, W] với các kênh đỏ, lục và lam lưu thành các mặt phẳng riêng và giá trị chỉ đơn giản chia cho 255 — không có bất kỳ chuẩn hóa trung bình/độ lệch chuẩn nào. Mọi ô được đệm về đúng cùng kích thước vuông, vì backend WebGPU biên dịch lại shader cho mỗi dạng đầu vào mới và một kế hoạch với ba kích thước ô khác nhau sẽ phải trả chi phí đó ba lần.
  3. 3
    Suy luận chạy trên WebGPU nếu có, nếu không thì trên CPU
    Phiên được tạo với WebGPU trước và chuyển sang WebAssembly đơn luồng khi có bất kỳ lỗi nào — trình điều khiển đồ họa thường báo có hỗ trợ rồi thất bại giữa chừng khi dựng đồ thị, và chậm vẫn hơn hỏng. Vì phương án dự phòng thay đổi giới hạn kích thước thực tế và thời gian chạy theo hệ số lớn, công cụ kiểm tra lại công việc theo nhà cung cấp thực sự nhận được trước khi ô đầu tiên chạy, và cho bạn biết đã dùng cái nào sau đó.
  4. 4
    Các ô được hòa trộn chéo lại với nhau và kẹp giá trị
    Ghép sát các ô để lại lưới nhìn thấy được, nên đóng góp của mỗi ô được tính trọng số bằng đường dốc tuyến tính trên dải chung. Hai đường dốc bù nhau chính xác, nên tổng trọng số bằng đúng 1 tại mọi điểm ảnh đầu ra và không có đường sáng hay tối nào xuất hiện dọc đường nối. Đầu ra thô của mô hình không bị cắt trong đồ thị — giá trị đo được chạy từ khoảng −0,18 đến +1,19 — nên mỗi mẫu được kẹp về khoảng 0–255 trước khi ép sang 8 bit, đây chính là điều ngăn nhiễu hạt dọc các cạnh tương phản cao. Kênh alpha được lấy mẫu lại riêng theo song tuyến, vì bản thân mạng không có đường xử lý alpha.
  5. 5
    Kết quả được mã hóa trong worker
    Các điểm ảnh đã ghép được vẽ lên OffscreenCanvas và mã hóa sang PNG ngay, nên nhấn Tải về không có khoảng chờ bất đồng bộ nào phía trước. Chuyển sang JPG sẽ mã hóa lại từ canvas mà worker vẫn giữ thay vì chạy lại mô hình. Một vùng cắt nhỏ ở giữa cũng được hiển thị ở 100% cạnh cùng vùng đó được trình duyệt lấy mẫu lại, đây là cách so sánh duy nhất mà khác biệt 4× thực sự nhìn thấy được.

Trọng số mô hình được tải một lần từ máy chủ của chúng tôi và lưu đệm; ảnh của bạn được giải mã, chia ô, phóng to và mã hóa hoàn toàn trong trình duyệt, và không phần nào của nó được gửi đi đâu cả.

Công cụ liên quan

Câu hỏi thường gặp