Bài 6: Image to image translation
Nội dung
Bài toán image to image translation
Image to image translation là bài toán rất phổ biến trong GAN với mục tiêu là học được mapping giữa ảnh input và ảnh output.
Thường thì input và output sẽ là ảnh cùng kích thước nhưng thay đổi các thuộc tính trong ảnh, ví dụ: không màu -> có màu (ứng dụng tô màu), ảnh thẻ -> ảnh anime, ảnh mờ -> ảnh nét (làm nét ảnh), ảnh màu -> sang các style khác như Monet, Van gosh, etc ( style transfer).
Dạng bài toán image to image translation
Bài toán image to image translation được chia làm 2 kiểu supervised learning và unsupervised learning.
Supervised learning
Ở bài toán supervised learning, dataset để train mình sẽ có từng cặp ảnh (input, output), ví dụ như ở bài toán chuyển từ ảnh xám sang ảnh màu mình có cả ảnh xám và ảnh màu tương ứng.
Unsupervised learning
Ở bài toán unsupervised learning, dataset để train mình sẽ không có từng cặp ảnh (input, output), ví dụ như ở bài toán chuyển từ ngựa thường sang ngựa vằn, mình không thể có kiểu con ngựa thường đấy chuyển sang ngựa vằn sẽ nhìn thế nào. Mà mình chỉ có 2 dataset tách rời nhau: ví dụ 10000 ảnh ngựa thường và 10000 ảnh ngựa vằn.
Nhận xét: vì bài toán supervised leanring mình đã có từng pair (input, output) nên mạng sẽ học dễ hơn, tuy nhiên để làm dataset có thể tốn rất nhiều thời gian và công sức. Trong khi unsupervised learning ta không cần cặp dữ liệu trong dataset mà chỉ cần 2 dataset riêng biệt nên việc làm dataset đơn giản hơn.
Modal image to image translation
Có 2 dạng modal trong image to image translation là uni-modal và multi-modal
Uni-modal
Dạng uni-modal là mô hình chỉ cho ra một ảnh output với mỗi input, ví dụ chuyển từ ngựa xám sang ngựa vằn
Multi-modal
Ví dụ ở bài toán chuyển từ báo sang mèo chẳng hạn, do con mèo có nhiều hình dạng, kích thước, màu sắc khác nhau, nên với mỗi ảnh input là con báo thì có thể cho ra nhiều ảnh con mèo khác nhau. Bài toán 1 ảnh input mà cho ra được nhiều output gọi là multi-modal.
Rõ ràng nếu có thể thì dùng multi-modal sẽ cho ra được đa dạng ảnh cho mỗi ảnh input.
Tổng kết
Trên là phân loại bài toán image to image translation dưới dạng supervised/unsupervised, uni-modal/multi-modal cùng các mô hình GAN tương ứng.
Trong phần tiếp theo của GAN series mình sẽ giải thích cụ thể các mô hình Pix2pix, CycleGAN, StarGAN và MUNIT.
Pix2pix
Pix2pix có thể chuyển từ bản vẽ túi sang ảnh màu hay từ ảnh vệ tinh sang map, từ ảnh segment sang ảnh thật, …. Mọi người xem demo ở đây.
StarGAN
StarGAN có thể thay đổi các thuộc tính trên mặt như tóc đen thành tóc vàng, đổi giới tính, làm già đi, hay thay đổi sắc thái như vui vẻ, sợ hãi,…
CycleGAN
CycleGAN giúp chuyển từ ngựa thường sang ngựa vằn, hay từ mùa hè sang mùa đông, tranh thường sang tranh Monet,…
MUNIT
MUNIT từ 1 ảnh input sinh ra nhiều ảnh output khác nhau, như bài toán chuyển từ ảnh chó sang mèo, từ 1 ảnh con chó sẽ sinh ra nhiều ảnh mèo khác nhau