Real-ESRGAN
Bộ upscale siêu phân giải blind thực tế được huấn luyện trên các dạng suy giảm tổng hợp thay vì chỉ downscale bicubic. LibreYOLO cung cấp inference và xác thực cho các checkpoint 4x, 2x và 4x nhanh.
- Tác vụ
- restore
- Kích thước
- x4, x2, x4t at 64 px
- Cài đặt
pip install libreyolo- Bậc hỗ trợ
- Chỉ suy luận, từ v. Chỉ dự đoán, kiểm định và xuất. Không áp dụng các tính năng huấn luyện.
- Thượng nguồn
- Real-ESRGAN của Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, BSD-3-Clause. Bài báo, mã nguồn
- Giấy phép
- Mã nguồn Apache-2.0 and BSD-3-Clause, trọng số BSD-3-Clause. Sử dụng thương mại
Cài đặt
Real-ESRGAN không cần extra tùy chọn. Mọi thành phần mà mô hình import đều có trong bản cài đặt cơ sở.
pip install libreyoloDự đoán
Trọng số được tải về từ Hugging Face trong lần sử dụng đầu tiên và được lưu vào bộ nhớ đệm cục bộ.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreRealESRGANx4-restore.pt")result = model(SAMPLE_IMAGE, save=True) restored = result.restoredprint(restored.array.shape, restored.array.dtype)libreyolo predict model=LibreRealESRGANx4-restore.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # tile chia forward pass thành các tile chồng lấp rồi hòa trộn đường nối;# tile_pad là vùng viền thêm quanh mỗi tile trước khi cắt bỏ trở lại.# Cả hai là đối số keyword chỉ dành cho Python, không phải cờ CLI.result = model("large-photo.jpg", tile=512, tile_pad=10, save=True)Kết quả phục hồi không có box; result.restored là ảnh RGB uint8 dense (H, W, 3) trên canvas lớn gấp Results.restore_scale lần đầu vào theo mỗi chiều. save=True ghi trực tiếp ảnh đó thay vì plot có chú thích. Đầu vào được chuyển sang RGB và mọi kênh alpha bị bỏ. Nguồn lớn hơn dung lượng bộ nhớ có thể được chia bằng tile và tile_pad, các tùy chọn này hòa trộn đường nối tile trong đầu ra. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.
Biến thể
Có ba checkpoint được đặt tên theo hệ số upscale. x4 là RRDBNet (RealESRGAN_x4plus) với 23 residual-in-residual dense block, mặc định chất lượng ở 4x. x2 là cùng kiến trúc RRDBNet ở 2x. x4t là SRVGGNetCompact (realesr-general-x4v3), generator nhỏ và nhanh hơn được xây dựng cho video cùng trường hợp cần độ trễ thấp hơn ở 4x. Mô hình đa dụng upstream cũng cung cấp mạng denoise-strength theo cặp được hòa trộn khi inference; núm điều chỉnh cường độ đó không thuộc bản port này, bản port chạy generator x4t cơ sở.
Xác thực
val() đo PSNR và SSIM giữa đầu ra đã phục hồi và ảnh đích sạch, cả hai được tính theo RGB trên canvas gốc mà không crop viền hoặc đổi kích thước. SSIM dùng cửa sổ Gaussian 11x11 với sigma 1,5, lấy trung bình trên ba kênh màu.
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt")metrics = model.val(data="my-restore-dataset.yaml") print(metrics["metrics/PSNR"])print(metrics["metrics/SSIM"])libreyolo val model=LibreRealESRGANx4-restore.pt data=my-restore-dataset.yamlĐối số tập dữ liệu (dataset) là YAML ghép thư mục ảnh đầu vào bị suy giảm với thư mục ảnh đích sạch có độ phân giải tương ứng; xem định dạng dataset để biết chính xác các key.
Xuất
| Tác vụ | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| restore | restore to ONNX: được hỗ trợ | restore to TorchScript: được hỗ trợ | restore to ExecuTorch: được hỗ trợ | restore to TensorRT: được hỗ trợ | restore to OpenVINO: được hỗ trợ | restore to Paddle: không được hỗ trợ | restore to MNN: không được hỗ trợ | restore to RKNN: không được hỗ trợ | restore to ncnn: được hỗ trợ | restore to TFLite: được hỗ trợ | restore to CoreML: không được hỗ trợ | restore to Core AI: được hỗ trợ |
Artifact đã xuất được tải lại qua LibreYOLO() dựa trên hậu tố tệp, vì vậy tệp .onnx hoặc .engine hoạt động như checkpoint và trả về cùng đối tượng Results. Trang Xuất liệt kê các đối số được mọi định dạng chấp nhận và các extra mà một số định dạng bổ sung.
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # Khi bỏ qua, imgsz mặc định dùng kích thước patch nội bộ nhỏ, không phải# độ phân giải làm việc, vì vậy hãy truyền kích thước mà bản triển khai# thực sự đưa vào mô hình.model.export(format="onnx", imgsz=512)model.export(format="tensorrt", imgsz=512, half=True)libreyolo export model=LibreRealESRGANx4-restore.pt format=onnx imgsz=512from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory định tuyến dựa trên hậu tố tệp, vì vậy artifact đã xuất tải# như mọi checkpoint và trả về cùng đối tượng Results.model = LibreYOLO("LibreRealESRGANx4-restore.onnx")result = model(SAMPLE_IMAGE) print(result.restored.array.shape)Checkpoint
Mọi tệp trọng số đã phát hành cho họ mô hình này.
| Tệp | Đầu vào (px) | Giấy phép trọng số |
|---|---|---|
| restore | ||
| LibreRealESRGANx4t-restore.pt | bsd-3-clause | |
| LibreRealESRGANx4-restore.pt | bsd-3-clause | |
| LibreRealESRGANx2-restore.pt | bsd-3-clause | |
Mọi tệp ở trên hiện đều có trong tổ chức LibreYOLO và được tải xuống trong lần sử dụng đầu tiên.
Giấy phép
Hãy kiểm tra giấy phép trong repo Hugging Face của trọng số cụ thể mà bạn tải xuống. Mỗi checkpoint trong tổ chức LibreYOLO đều có giấy phép riêng và giấy phép có thể khác nhau trong cùng một họ. Repo đó là nguồn có thẩm quyền; phần tóm tắt dưới đây mô tả các điều khoản áp dụng khi trang này được kiểm chứng lần gần nhất.
Đây là phần mô tả các giấy phép liên quan, không phải tư vấn pháp lý. Nếu câu trả lời có ý nghĩa về mặt thương mại, hãy tự đọc các giấy phép và tham khảo cố vấn của riêng bạn.
- Công trình gốc
- Real-ESRGAN, Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences
- Giấy phép thượng nguồn
- BSD-3-Clause
- Nguồn thượng nguồn
- github.com/xinntao/Real-ESRGAN
- Mã nguồn LibreYOLO
- MIT
- Trọng số
- BSD-3-Clause, được phát hành lại tại huggingface.co/LibreYOLO
- Diễn giải
- BSD-3-Clause is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep the copyright notice, the condition list and the disclaimer with any copy you redistribute, in source or compiled form, and its third clause forbids using the names of Xintao Wang or the project's contributors to endorse or promote a derived product without separate written permission. It carries no patent grant, unlike Apache-2.0. LibreYOLO's checkpoints are format conversions of the official pretrained generators, with the learned parameters unchanged; Real-ESRGAN's training is a GAN over a synthetic degradation pipeline that is not wired into this library, so there is no LibreYOLO-trained variant to license separately.
Trích dẫn
@InProceedings{wang2021realesrgan,
author = {Xintao Wang and Liangbin Xie and Chao Dong and Ying Shan},
title = {Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data},
booktitle = {International Conference on Computer Vision Workshops (ICCVW)},
date = {2021}
}Được sao chép từ khối trích dẫn của tác giả tại github.com/xinntao/Real-ESRGAN#bibtex.