Bài 6: Image to image translation | Deep Learning cơ bản
 

Bài 6: Image to image translation

| Posted in GAN

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).

Input ảnh xám, output ảnh màu
Input ảnh thường, output: làm nét ảnh
Input ảnh màu, output ảnh với các style khác nhau

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.

Dữ liệu supervised learning (trái) vs unsupervised learning (phải)

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.

Ả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

Output chỉ cho ra 1 ảnh duy nhất với mỗi ảnh input đầu vào

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.

Multi-modal, một input ra nhiều output

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

Bài toán image to image translation

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.

Ví dụ pix2pix

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


Deep Learning cơ bản ©2024. All Rights Reserved.
Powered by WordPress. Theme by Phoenix Web Solutions