Chương 1: Tổng quan. Chương này bao gồm phần giới thiệu tổng quan đề tài, mục đích, phạm vi nghiên cứu và những đóng góp của khóa luận. Chương 2: Các công trình liên quan. Nội dung chính trong chương này này trình bày một số kiến thức nền tảng và các nghiên cứu có liên quan đến đề tài.
Chương 3: Mô hình đề xuất. Trong chương này, khóa luận sẽ mô tả chi tiết từng module được sử dụng để giải quyết bài toán. Chương 4: Thực nghiệm và đánh giá Chương này khóa luận trình bày cách để xây dựng một ứng dụng trên điện thoại thông minh, giới thiệu bộ dữ liệu được sử dụng và phương pháp đánh giá ứng dụng. Chương 5: Kết luận.
Nội dung chương này trình bày tóm tắt lại một số nội dung và đóng góp chính của đề tài trong suốt quá trình nghiên cứu; ưu và khuyết điểm của phương pháp đề xuất. Bên cạnh đó, gợi mở hướng phát triển trong tương lai. Chương 2 Các công trình liên quan Trong chương này, chúng tôi trình bày một số kiến thức cơ bản và hướng tiếp cận chính của những bài toán nhỏ cần thiết để phục vụ cho bài toán chuyển đổi phong cách ảnh dựa trên chủ thể và nền.1 trình bày ý tưởng, kiến trúc mạng VGG19. Day là kiến trúc mạng được sử dụng trong việc rút trích đặc trưng ảnh dùng cho hai bài toán truy vấn ảnh và style transfer.2 khóa luận trình bay mô hình U?Net.
U?Net là một kiến trúc mạng được xây dựng với mục đích xác định vùng nổi bật trong ảnh. Trong khóa luận này, U?Net được sử dung để giải quyết bài toán tìm chủ thể của ảnh nội dung và ảnh nghệ thuật.3 là một số hướng tiếp cận chính trong việc biểu diễn đặc trưng ảnh phục vụ cho bài toán truy vấn ảnh. Cấp độ đặc trưng bao gồm: đặc trưng cấp thấp, đặc trưng cấp cao và đặc trưng cấp ngữ nghĩa. Qua từng cấp độ, khóa luận nêu ra lập luận, ưu khuyết điểm của từng cấp độ để có cái nhìn tổng quát và lựa chọn phương pháp phù hợp.
Bài toán chuyển đổi phong cách ảnh được trình bày trong Phần 2.4 với từng giai đoạn phát triển của bài toán. Hướng phát triển của bài toán được quan tâm theo hai khía cạnh: xây dựng mô hình và trích xuất đặc trưng phong cách (style feature) của ảnh nghệ thuật. Bên cạnh đó, phần này cũng trình bày phương pháp Multimodal Style Transfer dựa trên Graph Cut là phương pháp được nhóm lựa chọn để giải quyết bài toán chuyển đổi phong cách ảnh.1 Kiến trúc VGG 2.1 Giới thiệu VGGNet là một kiến trúc mạng nơ-ron tích chập (CNN) do các tác giả Karen Simonyan và Andrew Zisserman thuộc đại học Oxford đề xuất năm 2014 qua bài báo "Very Deep Convolutional Networks for Large-Scale Image Recognition"[13]. Mô hình xuất phat từ ý tưởng nghiên cứu su ảnh hưởng giữa độ sâu của mang tích chập với độ chính xác của nó trong bài toán nhận dạng hình ảnh trên quy mô lớn.
Kiến trúc mạng VGG có nhiều biến thể với độ sâu khác nhau từ 11 đến 19 lớp. Ý tưởng chính của kiến trúc này là sử dụng filter kích thước nhỏ 3 x 3 thay cho các filter kích thước lớn 7 x 7 hay 11 x 11 được sử dụng trong các mang CNN trước đây. Nhóm tác giả chứng minh rằng sử dụng nhiều lớp filter 3 x 3 nối tiếp nhau sẽ có cùng trường tiếp nhận đặc trưng như sử dụng một filter có kích thước lớn. Ví dụ kết hợp 2 lớp Convolution (Conv) 3 x 3 sẽ có cùng trường tiếp nhận đặc trưng với 1 lớp Conv 5 x5, 3 lớp Conv 3 x 3 sẽ có cùng trường tiếp nhận đặc trưng với 1 lớp Conv 7 x 7.
Thêm vào đó, việc sử dụng liên tiếp các filter nhỏ giúp giảm tham số tính toán cho mô hình. Vi dụ sử dụng 3 filter 3 x 3 sẽ yêu cầu 3(3?) = 27 tham số, tiết kiệm tham số hơn so với dùng 1 filter 7 x 7 yêu cầu 7? = 49 tham số. Bên cạnh đó, cải tiến quan trọng nhất của VGGNet so với các mang CNN khác là sự thay đổi thứ tự lớp Conv. Các mô hình trước đây đều sử dụng cặp Conv-pooling liên tiếp nhưng VGG sử dụng các chuỗi Conv-Conv trong suốt mô hình.
Việc nay làm cho việc tính toán lâu hơn nhưng giữ lai thong tin nhiều hơn.2 Kiến trúc mang Kiến trúc mạng VGG sử dụng nhiều lớp tích chập có kích thước 3 x 3 để tạo ra các kiến trúc mạng có độ sâu khác nhau, từ 11 lớp đến 19 lớp. VGG hiện nay có hai phiên bản VGG16 và VGG19. Kiến trúc mạng VGG19 so với VGG16 thi VGG19 có số lớp sâu hơn va cho độ chính xác cao hơn. Điều này cho thấy khi tăng số lớp của mang CNN có khả năng cải thiện độ chính xác.
Tuy nhiên từ lớp 19 trở lên, khả năng cải thiện độ chính xác tăng lên không đáng kể nhưng thời gian huấn luyện mô hình tăng lên nhiều lần do độ sâu của mô hình càng lớn việc lan truyền gradient descent càng khó khăn. Vì vậy nhóm quyết định áp dụng mô hình VGG19 để giải quyết các bài toán liên quan. Kiến trúc mạng VGG19 (Hình 2.1) gồm có 16 lớp Conv, 3 lớp fully connected và cuối cùng là softmax. e Lớp Convolution (Conv): lớp tích chập có nhiệm vụ phát hiện các đặc trưng có trong ảnh đầu vào.
Các lớp này hoạt động bằng cách di chuyển các bộ lọc trên ảnh và thực hiện phép nhân tích chập giữa bộ lọc và từng phần của hình ảnh. e Lớp pooling: thường nằm giữa các lớp Conv, nhận bản đồ đặc trưng và áp dụng phép pooling lên bản đồ đó. Các lớp pooling làm giảm kích thước của hình ảnh nhưng vẫn giữ được các đặc trưng quan trọng. Nhờ đó, các tham số và phép tính trong mạng cũng được giảm thiểu, giúp cải thiện tính hiệu quả của mạng.
Có hai loại pooling thường được sử dụng là max-pooling và average-pooling. e Lớp fully connected: lớp kết nối đầy đủ xác định mối quan hệ giữa vị trí của đối tượng trong ảnh và lớp trả về. Kết quả trả về sau cùng là một vector có kích thước N, với N là số lớp trong bài toán phân lớp hình ảnh. Mỗi phần tử của vectơ cho biết xác suất để hình ảnh thuộc về một lớp.
224x224x3 224x224x 64 p Convolution + ReLU ố Fully connected + ReLU 6ø Maxpooling cp Softmax 1x 1x 4096 28 x 28x 512 14x 14x52 Txrygl -Tx 1x 1000 Zr rrr ({fff › - | | |Ì Hình 2.1: Kiến trúc mạng VGG19. Từ kiến trúc đặc biệc của mang này, khái niệm về khối (block) lần đầu được xuất hiện chỉ những kiến trúc giống nhau lặp đi lặp lại. Kiến trúc khối đã khởi nguồn cho một dạng kiến trúc hình mau rất thường gặp ở các mang CNN trở về sau đó. Bắt đầu từ VGG, một hình mẫu chung cho các mang CNN trong các tác vụ học có giám sát của xử lý ảnh đã bắt đầu hình thành.
Các mạng trở nên sâu hơn và sử dụng các kiến trúc dang block lặp lại của [Conv liên tiếp + max pooling].2 Kiến trúc mạng UˆNct 2.1 Giới thiệu Trong ngành thị giác máy tính, việc phát hiện và phân đoạn đối tượng thu hút sự chú ý trong hình ảnh được gọi là phát hiện vùng nổi bật (saliency detection). Hầu hết các mạng phát hiện vùng nổi bật có kiến trúc tương tự nhau và tập trung vào việc tận dụng những đặc trưng cấp cao được rút trích từ các mạng xương sống (backbone network) như AlexNet, VGG, RestNet,. Tuy nhiên các mạng xương sống này được xây dựng với nhiệm vụ chính là phân loại hình ảnh, vì vậy những đặc trưng được trích xuất sẽ mang ngữ nghĩa nhiều hơn là các chi tiết cục bộ hoặc thông tin toàn cục quan trọng trong việc phát hiện vùng nổi bật. Mạng U2Net với kiến trúc đơn giản nhưng đã giải quyết được vấn đề này.
Kiến trúc U?Net được giới thiệu bởi nhóm tác giả thuộc dai hoc Alberta, Canada qua bai báo "U?Net: Going Deeper with Nested U-Structure for Salient Object Detection" [12]. Trang Github của bai báo nay đã nhận được hơn 2,400 sao trong ba ngày kể từ khi mở mã nguồn. U? Net có kiến trúc đơn giản nhưng chặt chẽ nhờ hai lớp kiến trúc mạng hình chữ U lồng nhau. Kiến trúc ReSidual U-block (RSU) được đề xuất nhằm nắm bắt thông tin ngữ cảnh tốt hơn trên các hình ảnh tỷ lệ khác nhau.
RSU sử dụng phép pooling giúp tăng chiều sâu kiến trúc mạng nhưng chi phí tăng khong đáng kể.2 Khối ReSidual U-block (RSU) Kiến trúc của RSU-L(Cin, M, Cour) với L là số lớp encoder, Cin, Cout là số input và output channel, M là số channel bên trong khối RSU. Cấu trúc của khối RSU này gồm 3 phần như Hình 2.2 với cấu tạo và chức năng của từng phần như sau: e Một lớp Convolution để trích xuất đặc trưng cục bộ. Đầu vào là một ban đồ đặc trưng (feature map) « (H x W x Cin) và đầu ra là bản đồ đặc trưng F(x) với kênh (channel) Cout. e Một cấu trúc mã hóa-giải mã giống Unet với độ cao L để trích xuất và mã hóa thông tin ngữ cảnh ở nhiều kích tỷ lệ (multi-scale) U(F1(z)).
Khi L càng lớn thì khối RSU càng sâu, có thể trích xuất được nhiều đặc trưng 11 l4 Conv+BN+ReLU me Downisample+ | L] Conv+BN+ReLU EI Upsample+ Conv+BN+ReLU Hình 2.2: Cau tao của khối Khối ReSidual U-block (RSU)[12|. cục bộ và toàn cục hơn. Điều chỉnh tham số L có thể trích xuất đặc trưng multi-scale từ đặc trưng đầu vào với nhiều kích thước khác nhau. e Một kết nối residual để kết hợp đặc trưng cục bộ và đặc trưng nhiều tỷ lệ (multi-scale) bằng phép cộng: Ƒ1(z) + U(F(+)) Điểm khác biệt giữa RSU va residual block là RSU thay phép Convolution thành một kiến trúc nhiều lớp giống Unet và thay đặc trưng gốc (original feature) thành đặc trưng cục bộ.
Diều này cho phép RSU trích xuất đặc trưng nhiều tỷ lệ từ mỗi khối residual.3 Kiến trúc mạng U?Net Mạng U?Net được thế kế với cấu trúc lồng hai phần mã hóa và giải (giống như hình chữ U) vào nhau như Hình 2. Chữ U lớn bên ngoài gồn 11 giai đoạn, trong đó mỗi giai đoạn là một khối ReSidual U-block (RSU). Cấu trúc này cho phép trích xuất đặc trưng nhiều tỷ lệ (multi-scale) trong các giai đoạn và đặc trưng nhiều cấp (multi-level) giữa các giai đoạn. Downsample x Conv+BN+RELU Conv+BN+RELU dilation=2 Conv+BN+RELU dilation=4 Conv+BN+RELU dilation=8 i Upsample x2 i Conv+BN+RELU ị " Downsample x1/2 ị Ậ Upsample x2 ¡=> Conv+Sigmoid ¡ _ Upsample to input size ị Œ Concatenation ị a Addition Hình 2.3: Kiến trúc mang U?Net(12].
13 Cu thé, mạng U?