Chương 1: Tổng quan đề tài. Giới thiệu tổng quan về bài toán chuyển đổi ảnh sang phong cách nghệ thuật Việt Nam, bao gồm động lực, giới thiệu bài toán, các thách thức của bài toán. e Chương 2: Công trình liên quan. Các hướng tiếp cận của bài toán chuyển đổi ảnh sang phong cách nghệ thuật, wu nhược điểm của từng phương pháp với mục tiêu giải quyết vấn đề đặt ra.
6 e Chương 3: Phương pháp đề xuất. Trình bày giải pháp đề xuất cho bài toán chuyển đổi ảnh sang phong cách nghệ thuật Việt Nam. e Chương 4: Thực nghiệm. Đánh giá hiệu năng và tính hiệu quả của mô hình đề xuất với bộ dữ liệu đề xuất photo2VNart.
e Chương 5: Ứng dụng minh họa Penstagram. Xây dung ứng dung minh họa cho bài toán chuyển đổi ảnh sang phong cách nghệ thuật Việt Nam. e Chương 6: Kết luận. Các kết quả đạt được và hướng phát triển của đề tài.
Chương 2 Công trình liên quan 2.1 Tổng quan Trong khóa luận này, chúng tôi tập trung vào phương pháp đối nghịch tạo sinh cho bài toán chuyển đổi từ ảnh sang phong cách nghệ thuật Việt Nam. Dầu tiên, chúng tôi sẽ giới thiệu tổng quan về mạng đối nghịch tạo sinh hay GAN và mạng đối nghịch tao sinh có điều kiện hay cGAN [26]. Tiếp theo, chúng tôi sẽ tập trung vào các kiến trúc GAN nổi tiếng cho từng bài toán con: e Chuyển đổi ảnh: Pix2Pix [19] và CycleGAN [8]. e Nén: Co-Evolutionary Compression va GAN Compression [24].2 Tong quan vé GAN 2.1 Mang đối nghịch tạo sinh Thuộc lớp mô hình tạo sinh.
Các mô hình máy học được chia thành hai loại chính bao gồm: nhóm các mé hành phan biệt và nhóm các mô hành tạo sinh [I]. Với tập dữ liệu bao gồm X va Y (trong đó X là đặc trưng còn Y là nhãn): e Mô hình phân biệt: loại mô hình này có nhiệm vụ học ra hàm ánh xạ để từ các giá trị X mới sẽ dự đoán Y. Nói cách khác, mô hình sẽ học hàm phân phối xác suất: P(Y|X). Các thuật toán như hồi quy Logistie, Support Vector Machine đều thuộc nhóm mô hình này.
8 e Mô hình tạo sinh: loại mô hình này có nhiệm vụ học ra hàm phân phối sao cho xấp xỉ với phân phối của X. Nói cách khác, mô hình sẽ học xác suất: P(X|Y). Sau khi huấn luyện, mô hình tạo sinh có khả năng tạo ra dữ liệu mới dựa vào phân phối đã học. Các thuật toán như VAEs [21], GAN đều thuộc nhóm mô hình này.
Dựa trên giải thuật minimax. Dé hiểu rõ ý tưởng về giải thuật trên, hãy lay một ví dụ cụ thể: khả năng vẽ tranh phong cảnh của nhà họa sĩ đối đầu với khả năng phân biệt tranh phong cảnh được vẽ và tranh phong cảnh thật có sẵn của nhà phê bình. Nha họa sĩ cỗ gắng vẽ ra tranh giống như ảnh thật sao cho nhà phê bình nghệ thuật bị đánh lừa. Tuy nhiên, trong các lần thử đầu tiên, nhà họa sĩ không biết ảnh thật có hình dạng như thế nào, nên sẽ vẽ ra hình không phù hợp.
Nhà phê bình cũng không biết ảnh do người họa sĩ vẽ ra là ảnh thật hay tranh vẽ, nhưng nhờ các ảnh thật nên dễ dàng phân biệt được. Dần dần, nhà họa sĩ nhận được các phản hồi từ nhà phê bình nên trình độ được nâng lên một bậc. Ngược lại, nhà phê bình cũng nâng cao khả năng phân biệt lên một bậc với mục đích không bị nhà họa sĩ đánh lừa. Cả hai người chơi phải cố gắng nâng cao khả năng của mình để người còn lại không vượt xa trình độ.
Quá trình trên kết thúc khi người họa sĩ tạo ra các tranh vẽ hoàn toàn đánh lừa được nhà phê bình. 1| minh họa vai trò của nhà họa sĩ và nhà phê bình. Artist Fake painting Hình 2.1: Vai trò của nhà họa si và nha phê bình nghệ thuật GAN được dựa vào giải thuật minimax, thuật toán được dùng phổ biến trong linh vực Trí tuệ nhân tạo. Minimax thường nói đến trò chơi theo lượt giữa hai người chơi A và B.
Người chơi A cố gắng để đạt được số điểm cao nhất có thể 9 nhằm tối đa hóa điểm số của mình, ngược lại người chơi B cố gắng đạt được số điểm thấp nhất có thể nhằm tối thiểu hóa điểm số của người chơi A. Từ ví dụ giữa nhà họa sĩ và nhà phê bình nghệ thuật, có thể hình dung ra kiến trúc của GAN cũng gồm hai mạng nơ-ron riêng biệt: Generator và Discriminator. Tổng quan kiến trúc của GAN được mô tả trong Hình I-__ ¬—¬ Random Noise Discriminator Real Data e Generator: tương ứng với nha họa sĩ với chức năng tạo ra các ảnh tranh vẽ. Generator sẽ nhận đầu vào là một véc-tơ, thường được lấy từ phân phối chuẩn đa biến, với mục đích chuyển đổi véc-tơ trong không gian an sang ảnh đầu ra.
e Discriminator: tương ứng với nhà phê bình nghệ thuật với chức năng phân biệt giữa tranh vẽ và ảnh thật. Với mục đích trên, Discriminator là mạng nơ-ron cho bài toán phân loại nhị phân với đầu vào lần lượt ảnh được Generator tao ra và ảnh thật. Được giới thiệu lần đầu vào năm 2014, Generator và Discriminator của GAN đều sử dụng lớp kết nối đầy đủ thay cho các lớp tích chập cho các bài toán về ảnh. Tuy nhiên, DCGAN [32| đã chứng minh việc sử dụng các lớp tích chập cho hiệu năng vượt trội hơn với việc tăng chất lượng ảnh được tạo ra đối với Generator cũng như nâng cao khả năng phân biệt của Discriminator.
Diéu này đã làm tiền đề cho tất cả các kiến trúc GAN sau này đều sử dụng lớp tích chập, mặc định khi nói đến GAN.2 Mạng đối nghịch tạo sinh có điều kiện Động lực. Trong kiến trúc GAN truyền thống, Generator tạo ra dữ liệu hoàn toàn ngẫu nhiên, dẫn đến vấn đề không thể kiểm soát loại dữ liệu đầu ra mong muốn. Để giải quyết vấn đề trên, mạng đối nghịch tạo sinh có điều kiện hay cGAN đã được tạo ra. Bằng cách thêm vào các thông tin bổ sung cho GAN truyền thống, cGAN đã cho phép khả năng kiểm soát dữ liệu tạo ra.
Ví dụ cụ thể: với mục đích tạo ra các số viết tay từ bộ dữ liệu MNIST [23], khi dùng kiến trúc GAN chỉ có thể tạo ra các số như hai, ba, hoặc bảy ngẫu nhiên. Nhưng với cGAN , các thông tin về loại chữ số mong muốn sẽ bổ sung, cung cấp khả năng tạo ra số theo yêu cầu. Hình mô tả các số được tạo ra bởi cGAN, mỗi hang là từng nhãn khác nhau.4: Các chữ số viết tay được tạo ra từ MNIST, mỗi hàng tương ứng với từng nhãn khác nhau 11 Bồ sung thông tin về điều kiện. cGAN đã thêm vào các thông tin vào cả hai thành phần Generator và Diseriminator với mục tiêu kiểm soát kết quả đầu ra, có thể là nhãn của dữ liệu hoặc thông tin hữu ích khác.
Cả Generator và Discriminator đều nhận y kết hợp với các đầu vào của từng thành phần trong kiến trúc GAN truyền thống. Tổng quát kiến trúc của cGAN được mô tả trong Hình ⁄ a ¬— N (ˆ Discriminator D(xly) L) ` _ \ cá 2 _ ` ( — ` \ j X- 7 N a ‘ NN 7 \ N 0800080 0000860: = \.5: Mạng đối nghịch tao sinh có điều kiện [2| Bằng sự thay đổi này, cGAN không những kiểm soát được kết quả đầu ra, bên cạnh đó, đảm bảo cho việc huấn luyện được hội tụ nhanh và ổn định hơn. cGAN cho thấy việc sử dụng véc-tơ ngẫu nhiên tương tự như GAN, nhưng với các điều kiện thêm vào sẽ đảm bảo dữ liệu tạo ra sẽ theo mẫu hình nhất định. Bên cạnh đó, cGAN đã tạo ra giải pháp chung cho bài toán chuyển đổi ảnh, sẽ được trình bày chỉ tiết trong phần tiếp theo.
GAN cho bài toán chuyển đổi ảnh 2.1 Pix2Pix Động lực. Với sự phát triển đa dạng, GAN được áp dụng rộng rãi trong nhiều phương diện khác nhau như hình ảnh, văn bản và âm thanh. Đặc biệt trong lĩnh vực Thị giác máy tính, GAN cho thấy tiềm năng với đa dạng ứng dụng như tăng cường dit liệu (data argumentation), chỉnh sửa ảnh (image editing) và đặc biệt là chuyển đổi ảnh (image-to-image translation) với bài toán con là chuyển đổi ảnh sang phong cách nghệ thuật. Bằng khả năng tạo ra các ảnh chân thực, GAN thể hiện sự vượt trội trong bài toán chuyển đổi ảnh so với các phương pháp xử lý ảnh truyền thống [13] 22] [14|.
Được giới thiệu vào năm 2017, Pix2Pix là kiến trúc đầu tiên ứng dụng mạng đối nghịch tạo sinh cho bài toán chuyển đổi ảnh. Pix2Pix là kiến trúc chuyển đổi ảnh dựa trên loại mô hình học có giám sát, yêu cầu dữ liệu theo cặp (paired dataset). Để chuyển đổi từ miền dữ liệu A sang miền dữ liệu B, dit liệu theo cặp yêu cầu phải thu thập cả A và phiên bản B tương ứng. Lay một vi dụ: giả sử có ảnh mức xám thuộc A thì ảnh thuộc B có thể là ảnh màu với nội dung tương tự (Hình P.
Pix2Pix là kiến trúc đầu tiên dựa trên GAN cho bài toán chuyển đổi ảnh. So với các kiến trúc trước, Pix2Pix sử dụng thêm hàm độ lỗi phụ trợ 15 với mục tiêu học được các đặc trưng về màu sắc, đường nét của của miền dữ liệu mong muốn. Một số kết quả ấn tượng được thể hiện trong Hình output input output Hình 2.7: Các kết quả của Pix2Pix 2.2 CycleGAN Động lực. Mặc dù áp dụng kiến trúc GAN cho bài toán chuyển đổi ảnh, song Pix2Pix chi 4p dụng trên dit liệu theo cặp (paired dataset).
Pix2Pix không được áp dung rộng rãi, do hạn chế trong cách thu thập dữ liệu. Trong thực tế, dữ liệu không theo cặp (unpaired dataset) được sử dụng cho bài toán chuyển đổi ảnh bởi tính đa dạng và giải quyết vấn đề trên. Với sự thay đổi trong dữ liệu, bài toán chuyển đổi ảnh từ phương pháp học có giám sát được chuyển thành học không giám sát. CycleGAN, được giới thiệu sau Pix2Pix, là kiến trúc đầu tiên giải quyết vấn đề trên.8|thể hiện khác biệt về dữ liệu theo cặp và không theo cặp lần lượt trong Pix2Pix và CycleGAN.8| trong khi Pix2Pix chỉ chuyển đổi ảnh theo chiều A > B, ngược lại, CycleGAN sẽ chuyển đổi đồng thời theo cả hai chiều A = B.
Nói cách khác, kiến trúc CycleGAN bao gồm bốn thành phan, hai Generator va hai Discriminator. Thành phan Generator và Discrimininator đầu tiên, GANxpg có nhiệm vụ chuyển đổi ảnh từ miền dữ liệu A sang B và ngược lại với thành phần thứ hai, GANpa. Tác giả đã giới thiệu cycle consistency loss, hàm độ lỗi giúp giải quyết hiệu quả vấn đề dữ liệu theo cặp. 14 pix2pix CycleGAN (submitted Nov 2016) (submitted Mar 2017) Hình 2.