Upscayl - Nâng cao hình ảnh của bạn bằng AI, cục bộ, không có đám mây
Cập nhật:ngày 6 tháng 9 năm 2024
Thông thường, tôi khá coi thường nhiều thứ AI. Không phải vì bản thân ý tưởng về Trí tuệ nhân tạo đã có gì sai. Không. Điều tôi không thích là sự ồn ào và cường điệu xung quanh các công nghệ và sản phẩm được coi là AI, trong khi tốt nhất chúng chỉ là những số liệu thống kê được tôn vinh, được phủ một lớp dày đặc những điều vô nghĩa về tiếp thị. Bây giờ... Giả sử bạn có nhiều hình ảnh cũ, độ phân giải thấp, mờ. Bạn có thể làm cho chúng tốt hơn? Với AI?
Nếu bạn đã xem các chương trình truyền hình tội phạm từ đầu những năm 2000, bạn chỉ cần "nâng cao" nội dung. Chỉ có điều, mỗi khi bạn nâng cấp một hình ảnh, James Maxwell và Ludwig Boltzmann sẽ quay cuồng trong nấm mồ của họ, bởi vì bạn đang vi phạm các định luật nhiệt động lực học. Entropy và những thứ đó. Tạo dữ liệu từ con số không. Ảo thuật. Nhưng đó thực sự là những gì các chương trình hỗ trợ AI hứa hẹn. Câu hỏi đặt ra là, bạn có thể làm AI mà không phải đầu hàng tâm hồn mình trước tình trạng quá tải của đám mây không? À, có vẻ như bạn có thể làm được! Một công cụ như vậy là Upscayl. Mã nguồn mở, đa nền tảng, công cụ nâng cao hình ảnh AI. Nghe có vẻ tuyệt vời. Bây giờ hãy xem liệu nó có thực sự hoạt động như quảng cáo hay không.
Thiết lập dễ dàng, thực sự ngoại tuyến
Yêu cầu của tôi đối với bất kỳ loại nội dung AI nào là khả năng tạo thiết lập cục bộ. Và không có quá nhiều bước. Upscayl kiểm tra cả hai hộp này. Tôi đã tải xuống phiên bản snap của công cụ này từ Snap Store và cài đặt chương trình trong Kubfox 24.04 (Linux). Không có vấn đề gì, triển khai đơn giản và nhanh chóng.
Tiếp theo, tôi cũng vô hiệu hóa kết nối mạng của chương trình. Snaps là các ứng dụng Linux được đóng hộp cát và bạn có khả năng bật hoặc tắt có chọn lọc quyền truy cập của chúng vào các tài nguyên đã khai báo. Trong trường hợp cụ thể này, Upscayl cần quyền truy cập vào trang chủ của bạn (đối với tệp), OpenGL, v.v. (để hiển thị và xử lý thực tế) cũng như một số tài nguyên khác. Phích cắm mạng cũng được liệt kê và được bật theo mặc định. Điều này đúng với hầu hết các ảnh chụp nhanh và bản thân nó không phải là vấn đề.
Nhưng để xem Upscayl có thực sự có thể thực hiện 100% phép thuật cục bộ hay không, tôi đã ngắt kết nối phích cắm mạng theo cách thủ công. Đối với tất cả các mục đích thực tế, liên quan đến chương trình, máy của tôi không có mạng. Tiếp theo, tôi khởi chạy Upscayl và sử dụng nó để "sửa" một số hình ảnh. Không có vấn đề, không có khiếu nại. Tuyệt vời.
Yêu cầu về card đồ họa rời (tương thích với Vulkan)
Nếu muốn sử dụng Upscayl, bạn sẽ cần một chiếc máy có card đồ họa rời tương đối hiện đại và có khả năng hoạt động tốt. Hầu hết các GPU tích hợp sẽ không hoạt động. Câu hỏi là, hiện đại và có khả năng thực sự có nghĩa là gì? Chà, hộp thử nghiệm của tôi là một máy tính xách tay IdeaPad 2014, gần đây tôi đã cài đặt Kubfox 24.04, sau khi nâng cấp SSD. Hệ thống có thẻ Nvidia cũ. Và nó hoạt động tốt. Có thể không nhanh bằng thế hệ thiết bị mới nhất, nhưng Upscayl xử lý các tác vụ mà không gặp vấn đề gì. Ở đó, có vẻ như một chiếc máy tính xách tay 10 năm tuổi là đủ tốt.
Công việc thực tế có tốt không?
Bây giờ, phần quan trọng. Upscayl thực sự có thể mang lại kết quả tốt? Để kiểm tra điều đó, tôi đã xem qua kho ảnh cũ của mình để tìm kiếm một số ứng cử viên có thể lựa chọn. Tôi đã tìm thấy ba bức ảnh mà tôi nghĩ sẽ là lựa chọn phù hợp cho thử nghiệm.
- Bức ảnh chụp một ngôi nhà gỗ trượt tuyết năm 1983 (chụp bằng máy ảnh phim analog 35 mm đẹp mắt) và sau đó được số hóa bằng cách quét ảnh in bằng máy quét rẻ tiền sử dụng tại nhà (ở 300 dpi).
- Một bức ảnh chụp con người năm 2004, trong điều kiện ánh sáng hỗn hợp, hơi mờ.
- Một bức ảnh năm 2005 về một con mèo đang ngủ, ở độ phân giải khiêm tốn 720x540px, được gửi qua trò chuyện qua điện thoại, thư và những thứ tương tự, và có thể được nén hai hoặc ba lần trong quá trình thực hiện bằng bất kỳ chương trình nào được sử dụng, v.v.
Upscayl có giao diện người dùng khá đẹp và thân thiện. Rất thuận tiện để sử dụng. Ở bên trái, bạn có một thanh bên cho phép bạn tải hình ảnh của mình (bao gồm nhiều tệp để xử lý hàng loạt), lựa chọn mô hình nâng cao, tỷ lệ và thư mục đầu ra. Rất đơn giản. Ở bên phải, bạn sẽ thấy ảnh gốc và sau khi xử lý xong, cũng sẽ có một thanh trượt dọc cho phép bạn kiểm tra kết quả "trước" và "sau".
Mình đã tải ảnh vào Upscayl và để chương trình chạy...
Trên chiếc máy cũ 2014 của tôi, phải mất khoảng 7 phút để nâng cấp một bức ảnh 2500x2500px lên hệ số 4. Điều đó khá hợp lý. Tuy nhiên, thời gian có thể thay đổi đáng kể, tùy thuộc vào thông tin mà người mẫu tìm thấy trong ảnh. Độ hạt và mức độ ánh sáng cũng ảnh hưởng đến kết quả cuối cùng. Nếu bạn sử dụng hệ số tỷ lệ hình ảnh cao hơn hoặc sử dụng hình ảnh gốc đã khá lớn thì thời gian có thể dễ dàng trở thành 20-30 phút. Tuy nhiên, nhìn chung thì hiệu suất khá tốt.
Với hình ảnh chú mèo đang ngủ, kết quả thật tuyệt vời. Kết xuất nhanh (10 giây), cải tiến vững chắc. Bạn chắc chắn có thể xem chi tiết hơn. Vì vậy, chúng tôi có một tệp có nhiều pixel hơn 16 lần nhưng nó rõ ràng và sắc nét hơn. Không hoàn hảo nhưng chắc chắn là tuyệt vời. Bây giờ, đây là hình ảnh có độ phân giải thấp, có ánh sáng, độ rõ nét và độ tương phản tốt.
Tôi đã thử với bức ảnh của con người tiếp theo. Kết quả là ... trung tính. Tôi thực sự không thể thấy bất kỳ sự cải thiện nào về chất lượng của hình ảnh mới. Nó lớn hơn, nhưng "lỗi" cũng vậy. Ở đây, chúng ta có một bức ảnh lớn, có hai loại ánh sáng, nửa bên trái của ảnh (gốc) mờ hơn (và tối hơn) so với bên phải, cộng với lượng hạt khá lớn. Upscayl không thể làm được gì nhiều ở đây.
Kết quả của nhà gỗ trượt tuyết thực sự là một sự đảo ngược so với ban đầu. Sản phẩm cao cấp tệ hơn những gì tôi đã bắt đầu. Mặc dù ảnh có ánh sáng tốt nhưng cũng có nhiều hạt và nhiều chi tiết nhỏ (cây và cỏ). Tôi đoán là bất kỳ loại phép ngoại suy nào trên một phần vốn đã quá bận rộn của hình ảnh đều dẫn đến nhiễu nhiều hơn. Tôi đã thử nhiều mẫu, bao gồm cả mẫu ULTRASHARP tốt nhất nhưng vẫn không mang lại bất kỳ cải tiến nào.
Không có cái nào trong số này hoạt động với ảnh số 3 của tôi.
Đây là hình ảnh phóng to của một phần cỏ. Như bạn có thể thấy trong bản gốc (bên trái), có rất nhiều hạt. Đây là sự kết hợp giữa việc sử dụng phim analog cũ, phát triển phim, bức ảnh nằm trên kệ trong vài thập kỷ, sau đó quét bằng máy quét kỹ thuật số rẻ tiền, sẵn có (mặc dù có 300 dpi) khoảng mười lăm năm trước và bây giờ là kết quả được nâng cấp bằng AI. Cỏ “cải tiến” mờ hơn. Điều tương tự cũng xảy ra với bầu trời và mái tóc. Trong trường hợp này, hình ảnh có thể sắc nét nhất có thể, trừ khi một mô hình mới có thể được phát triển và huấn luyện theo mẫu "chấm" cụ thể mà bạn thấy trong bản gốc. Nhưng điều này giúp giảm nhiễu nhiều hơn bất kỳ điều gì khác vì hình ảnh có kích thước khá (2500x2000px trở xuống).
Gợi ý:Bạn không cần phóng to hình ảnh
Đây là một quan sát quan trọng. Bạn không cần phải phóng to ảnh. Bạn có thể giữ lại kích thước ban đầu bằng cách sử dụng hệ số tỷ lệ x1. Các thuật toán sẽ cố gắng nội suy những thông tin còn thiếu càng nhiều càng tốt. Đây có thể là một cách tiếp cận tốt ngay từ đầu để xem liệu bạn có nhận được bất kỳ cải tiến nào hay không. Tiết kiệm thời gian nữa.

Kết quả tổng thể, kết luận trước, ngoại trừ Nvidia PRIME
Sau khi xử lý khoảng 50 hình ảnh lẻ bằng chương trình, bao gồm cả con người và phong cảnh, tôi đã đi đến một số phát hiện. Một số trong số này gây ngạc nhiên, trong khi một số khác được nêu rõ ràng trong Câu hỏi thường gặp của chương trình.
- Đừng mong đợi phép màu. Bạn có thể nhận được một số cải tiến, nhưng điều này không thể làm được những gì trí tưởng tượng của bạn làm được.
- Upscayl hoạt động tốt nhất trên những hình ảnh có độ hạt thấp, ánh sáng tốt và lượng chi tiết vừa phải.
- Nếu bạn đã có những bức ảnh lớn, độ phân giải cao, hi-DPI đơn giản là XẤU, tức là mờ và nhiễu thì Upscayl không phải là công cụ phù hợp cho công việc này. Nó có thể cải thiện mọi thứ một chút, nhưng nếu hệ số nhiễu "lớn hơn" bất kỳ thuật toán làm mịn và xấp xỉ nào của mô hình, bạn sẽ không thấy bất kỳ kết quả có ý nghĩa nào.
- REAL-ESRGAN tạo ra hình ảnh mượt mà hơn ULTRASHARP, do đó, nó phù hợp hơn với những hình ảnh có nhiều hạt hoặc mờ hơn, trong giới hạn đã nêu ở trên. Tuy nhiên, bạn sẽ mất đi sự rõ ràng ở chỗ này chỗ kia. Luôn là sự đánh đổi.
Trên hết, tôi khá hài lòng với thiết lập Linux:
- Mặc dù có những vấn đề ban đầu với Kubfox 24.04 nhưng hiện tại nó đã được giải quyết và hoạt động tốt.
- Việc cài đặt rất đơn giản (thông qua snap) và cách sử dụng đơn giản - và thực sự ngoại tuyến.
- Chương trình có yêu cầu khiêm tốn - chiếc máy tính xách tay 10 tuổi của tôi hoạt động rất tốt.
- Thiết lập đồ họa lai của tôi hoạt động hoàn hảo. Thẻ Nvidia được cấu hình cho PRIME theo yêu cầu, do đó, nó sử dụng thẻ mạnh hơn khi cần, trong thời gian còn lại, để tiết kiệm pin, thẻ này sử dụng thẻ tích hợp. Tôi đã kiểm tra hành vi trong khi chạy Upscayl và thực sự, nvidia-smi đang hiển thị chương trình chạy với GPU Nvidia. Không làm nóng quá mức.
Trình điều khiển Nvidia 535, thiết lập theo yêu cầu, nhiệt độ bình thường, rất tốt.
Kết luận
Hầu hết các chương trình hiện đại đều là meh. Thật sự. Upscayl là một ngoại lệ đối với sự tầm thường hiện đại này. Một ngoại lệ lớn. Đây là một chương trình đẹp, thanh lịch. GUI đẹp, cách sử dụng đơn giản, cài đặt đơn giản và rõ ràng, chế độ làm việc thực sự ngoại tuyến, nhiều mô hình, hiệu suất tốt, yêu cầu khiêm tốn đối với GPU và kết quả khá ổn nếu không muốn nói là hoàn hảo. Trong cuốn sách của tôi, đây thực sự là một khoản tiền khá tốt. Nhiều hơn tôi mong đợi.
Bạn sẽ nhận được kết quả tốt nhất nếu bạn có những bức ảnh hoặc hình ảnh nhỏ, chi tiết đơn giản, có ánh sáng đồng đều, độ mờ và độ nhiễu thấp. Nếu tệp của bạn đáp ứng các điều kiện này, bạn có thể mong đợi kết quả rất hài lòng từ Upscayl. Nếu không, kết quả sẽ thay đổi từ tốt đến đáng thất vọng. Chỉ cần nhận thức được điều đó. Bây giờ, tất cả những gì đã nói, đây thực sự là một công cụ nhỏ tuyệt vời và rất đáng để thử nghiệm. Tiếp theo, tôi sẽ thử thực hiện tất cả những cách trên theo cách thủ công, sử dụng ImageMagick và GIMP. Tôi muốn xem mức độ cải thiện và nâng cấp ảnh có thể được thực hiện thủ công bằng cách sử dụng các công cụ dòng lệnh trong Linux. Đó sẽ là chủ đề cho hướng dẫn tiếp theo của tôi. Hãy chú ý theo dõi.
Chúc mừng.