Old Photo Studio

Cách hoạt động

Old Photo Studio phục hồi ảnh ngay trong trình duyệt web của bạn. Ảnh của bạn ở lại trên thiết bị của bạn từ đầu đến cuối.

Ảnh của bạn ở lại trên thiết bị của bạn

Khi bạn chọn một tấm ảnh, trình duyệt đọc ảnh từ thiết bị của bạn vào bộ nhớ. Chính thiết bị của bạn thực hiện việc phục hồi, bằng các tệp mô hình nhỏ và phần mềm để chạy chúng. Cả hai đều đến từ trang web của chúng tôi. Ảnh của bạn không bao giờ được gửi cho chúng tôi hay bất kỳ ai khác. Khi bạn lưu kết quả, bạn chọn nơi nó được lưu. Trên điện thoại, nút Lưu ảnh mở menu chia sẻ của điện thoại, nơi bạn có thể lưu ảnh vào thư viện ảnh hoặc vào tệp của mình. Nếu trình duyệt không chia sẻ được tệp, ảnh sẽ được tải xuống như mọi tệp khác.

Lần đầu bạn dùng công cụ, trình duyệt sẽ tải các mô hình và phần mềm của chúng về. Trình duyệt giữ một bản sao, nên các lần sau không cần tải lại. Những tệp này không chứa thông tin nào về bạn hay ảnh của bạn.

Điều gì xảy ra với ảnh của bạn

  1. Bạn chọn một tấm ảnh. Các tệp JPEG, PNG và WebP đều được. Nếu ảnh bị xoay nghiêng khi chụp, công cụ sẽ xoay đúng chiều trước. Ảnh rất lớn sẽ được thu nhỏ trước, để thiết bị của bạn xử lý được.
  2. Vết xước và bụi được đánh dấu. Một mô hình tìm vết xước, bụi và đốm nhỏ, rồi đánh dấu chúng bằng màu đỏ. Mô hình này bỏ qua khuôn mặt, vì nó nhầm ánh sáng trong mắt người với đốm bụi. Các dấu chỉ là gợi ý: trên ảnh thật, mô hình có thể bỏ sót một ít bụi và vài vết xước nhỏ. Nó cũng có thể coi một mép thẻ bị rách hoặc sờn là hư hại, nên hãy cắt bỏ viền trước khi bắt đầu.
  3. Bạn kiểm tra các dấu. Vẽ thêm lên chỗ hư hại mà mô hình bỏ sót, xóa những dấu không phải hư hại, và hoàn tác nếu cần. Sau đó chọn “Điền và phục hồi”, hoặc chọn “Bỏ qua bước này” để giữ nguyên ảnh.
  4. Các phần được đánh dấu được điền lại. Một mô hình điền chỉ vẽ lại những vùng đã đánh dấu, dựa trên phần ảnh xung quanh. Nó làm việc trên một bản sao có cạnh dài khoảng 1.024 pixel. Phần đã điền được hòa trở lại vào ảnh đầy đủ của bạn, chỉ bên trong các dấu. Phần còn lại của ảnh không bị động đến.
  5. Các tông sáng và tối được làm đều. Một bước cố định kéo giãn các tông sáng và tối của ảnh bị phai, để chỗ tối nhất thì tối và chỗ sáng nhất thì sáng. Bước này không đổi sắc thái màu của ảnh. Nếu bạn tắt màu ở bước 7, ảnh sepia hoặc ảnh có tông nâu vẫn giữ được tông đó.
  6. Mô hình làm sạch và phóng to ảnh. Mô hình xử lý các chi tiết sáng tối của ảnh: hạt, độ nhòe và các ô vuông do nén để lại. Ảnh kết quả rộng gấp 4 lần và cao gấp 4 lần. Màu của ảnh được phóng to bằng phương pháp đổi kích thước thông thường rồi đặt lại vào, nên mô hình này không thay đổi màu.
  7. Thêm màu, nếu bạn muốn. Với ảnh đen trắng hoặc sepia, một mô hình màu gợi ý màu, làm việc từ ảnh đã điền và đã làm đều tông. Màu sau đó được ghép vào kết quả đã phóng to, nên có kích thước đầy đủ. Màu được bật sẵn cho ảnh chưa có màu và tắt cho ảnh đã có màu. Một công tắc cho phép bạn bật hoặc tắt màu. Thanh trượt “Độ đậm màu” làm màu dịu hơn hoặc tươi hơn, và kết quả thay đổi ngay. Màu sắc chỉ là phỏng đoán của mô hình, không phải màu thật. Tô màu ảnh đen trắng có một số mẹo để màu đẹp hơn.
  8. Bạn so sánh và lưu. Bạn có thể xem ảnh gốc và kết quả, rồi lưu kết quả thành một tệp PNG mới, đặt tên theo ảnh của bạn và thêm “-restored”. Ảnh gốc của bạn không bị thay đổi. Tệp mới không giữ lại các thông tin ẩn của ảnh gốc, chẳng hạn ngày chụp hay máy ảnh đã dùng.

Công cụ chạy nhanh đến đâu?

Điều này tùy vào thiết bị và kích thước ảnh của bạn. Trên các trình duyệt hỗ trợ WebGPU, công cụ dùng chip đồ họa của thiết bị, thường nhanh hơn. Trên các trình duyệt khác, công cụ dùng bộ xử lý chính, chậm hơn. Ảnh đầu tiên cũng phải chờ các mô hình tải xong.

Các mô hình

Chúng tôi tự huấn luyện các mô hình, bằng những ảnh cũ mà Flickr liệt kê là thuộc phạm vi công cộng, CC0 (không bảo lưu quyền nào) hoặc “không có hạn chế bản quyền nào được biết” (Flickr Commons), lấy từ bộ dữ liệu Megalith-10M. Mỗi mô hình đã học một phần từ một mô hình mã nguồn mở lớn hơn, dùng làm mô hình tham chiếu khi huấn luyện. Chúng tôi chỉ công bố các mô hình do chính chúng tôi huấn luyện. Các mô hình tham chiếu không phải là một phần của trang web.

Phát hiện vết xước và bụi

  • Do chúng tôi tự huấn luyện trên ảnh cũ có hư hại được thêm vào có chủ đích, và trên ảnh cũ thật có hư hại được bộ phát hiện vết xước của Microsoft đánh dấu. Bộ phát hiện này lấy từ dự án “Bringing Old Photos Back to Life” [Đưa ảnh cũ trở lại cuộc sống] (giấy phép MIT), và được dùng làm mô hình tham chiếu khi huấn luyện.

Điền vào các dấu

  • Do chúng tôi tự huấn luyện, dùng LaMa (giấy phép Apache-2.0) làm mô hình tham chiếu khi huấn luyện.

Màu sắc

  • Mô hình ColorNet của chúng tôi. Bộ mã hóa của nó bắt đầu từ mô hình MobileNetV3-Large đã được huấn luyện trên ImageNet trong torchvision (giấy phép BSD-3-Clause).
  • Do chúng tôi tự huấn luyện, dùng DDColor (giấy phép Apache-2.0) làm mô hình tham chiếu khi huấn luyện.

Làm sạch và phóng to 4 lần (hạt và độ nhòe)

  • Thiết kế mạng: SRVGGNetCompact, được công bố cùng Real-ESRGAN bởi Xintao Wang và những người khác (giấy phép BSD-3-Clause).
  • Được huấn luyện với các mô hình Real-ESRGAN làm mô hình tham chiếu: general-x4v3 cùng mô hình khử nhiễu ở mức 0,5 (BSD-3-Clause, © 2021 Xintao Wang), và RealESRGAN_x4plus (cùng giấy phép) ở một giai đoạn huấn luyện trước đó. Mô hình của chúng tôi học cách cho kết quả giống họ trên ảnh của chúng tôi.

Phần mềm chạy các mô hình

  • ONNX Runtime Web, của Microsoft (giấy phép MIT).

Mô hình của chúng tôi

  • Các mô hình phục hồi trên trang này do chúng tôi tự huấn luyện. Chúng tôi không cấp phép cho việc sao chép, trích xuất hay tái sử dụng chúng. Các giấy phép được liệt kê ở đây thuộc về những dự án mã nguồn mở mà chúng tôi nêu tên, còn các mô hình của chúng tôi không được phát hành theo các giấy phép đó.

Links: Bringing Old Photos Back to Life https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life · LaMa https://github.com/advimman/lama · DDColor https://github.com/piddnad/DDColor · torchvision https://github.com/pytorch/vision · Real-ESRGAN https://github.com/xinntao/Real-ESRGAN · ONNX Runtime https://github.com/microsoft/onnxruntime · Megalith-10M https://huggingface.co/datasets/madebyollin/megalith-10m

Giới hạn

  • Không thể phục hồi những gì đã mất. Góc bị rách, lỗ thủng và vết xước lớn chạy qua một khuôn mặt không còn gì để công cụ dựa vào.
  • Chi tiết nhỏ là ước đoán. Khi phóng to, công cụ điền thêm hạt và kết cấu dựa trên những ảnh cũ mà nó đã học. Khuôn mặt và chữ viết có thể mịn hơn hoặc hơi khác so với ảnh gốc. Hãy kiểm tra chúng trước khi in.
  • Các dấu vết xước chỉ là gợi ý. Mô hình phát hiện hư hại bỏ sót một ít bụi và vài vết xước nhỏ, và nó bỏ qua khuôn mặt. Hãy kiểm tra các dấu đỏ trước khi điền. Công cụ không xóa vết ố.
  • Phần được điền là phỏng đoán. Mô hình điền vẽ thứ có lẽ đã nằm ở đó, dựa trên vùng xung quanh. Hãy kiểm tra khuôn mặt, đôi mắt và chữ viết.
  • Màu sắc là phỏng đoán. Mô hình màu không biết màu thật. Một chiếc váy hay một chiếc xe có thể đã có màu khác. Hãy làm màu dịu hơn bằng thanh trượt, hoặc tắt màu.
  • Đây không phải là bản sao của ảnh gốc. Kết quả là một bức ảnh mới được tạo từ ảnh của bạn. Hãy giữ ảnh in gốc và bản quét đầu tiên. Cục Lưu trữ Quốc gia Hoa Kỳ khuyên nên giữ bản gốc sau khi số hóa.

Nguồn: National Archives, “Digitizing Family Papers and Photographs” (bằng tiếng Anh). https://www.archives.gov/preservation/family-archives/digitizing.html (đọc ngày 4 tháng 11 năm 2026)