Chương 1: Giới thiệu tổng quan đề tài. Chương 2: Trình bày cơ sở lý thuyết và tổng quan về bài toán, các hướng tiếp cận cho bài toán phân loại đa tầng cho hình ảnh. Chương 3: Trình bay tổng quan về kiến trúc VGG16, BCNN, Condition-CNN. Chương 4: Trình bày giới thiệu bộ dữ liệu Kaggle Fashion Image và bộ dữ liệu hình ảnh sản phẩm thời trang từ sàn thương mại điện tử Shopee Chương 5: Thực nghiệm và phân tích kết quả thực nghiệm.
Chương 6: Trình bày cách xây dựng ứng dụng và tổng quan về ứng dụng minh họa. Chương 7: Trình bày kết luận và hướng phát triển của đề tài. Chương 2 CƠ SỞ LÝ THUYÊT VÀ CÁC NGHIÊN CỨU LIÊN QUAN Để hiểu rõ bài toán phân loại đa tầng cho hình ảnh, ta cần làm rõ các khái niệm liên quan, đồng thời tìm hiểu một số phương pháp tiếp cận hiện nay. Vì vậy, trong chương này, chúng tôi thực hiện sẽ giới thiệu một số khái niệm cơ bản đồng thời khảo sát các hướng tiếp cận để giải quyết bài toán.1 Bài toán phân loại da tầng cho hình ảnh Bài toán phân loại hình ảnh là một trong những bài toán phổ biến trong lĩnh vực thị giác máy tính và học máy.
Nhiệm vụ của bài toán này là phân loại một hình ảnh đầu vào lớp mà nó thuộc về. Phân loại hình ảnh được sử dụng trong nhiều lĩnh vực đời sống giúp cải thiện và tự động hóa nhiều việc cần con người với chuyên môn cao. Ví dụ: chẩn đoán bệnh trong y tế, phát hiện bệnh trên cây trồng trong nông nghiệp, nhận diện biển báo cho xe tự hành trong giao thông và nhiều lĩnh vực khác. Các mô hình phân loại hình ảnh truyền thống hiện nay thường xem tat cả các lớp đầu ra là "phẳng", tức là, các tất cả các lớp được đối xử bình đằng, không có sự phân cấp giữa chúng.
Tuy nhiên, trong thực tế, tồn tại cầu trúc phân cấp giữa các lớp.1 là ví dụ đơn giản về cấu trúc phân cấp trong thực tế. Mèo, chó, khỉ, 2. Bài toán phân loại đa tầng hình ảnh và các kiến thức liên quan dơi, cá voi là động vật có vú, trong khi đó, rùa, cá sấu, rắn, than lan là động vật bò sát. Cả động vật có vú và động vật bò sát đều thuộc lớp động vật.
Tóm lại, phân loại đa tầng cho hình ảnh là bài toán sử dụng mô hình có nhiều lớp dự đoán cho mỗi đầu vào, trong đó, các lớp được dự đoán có cấu trúc phân cấp từ tổng quát tới cụ thể. Mai Theo [21], trong bài toán phân loại đa tang, các lớp không tổ chức rời rac mà được tổ chức thành một cấu trúc phân cấp, cấu trúc phân cấp thể hiện mối quan hệ giữa các lớp có thể giả định là một cây hoặc đồ thị có hướng không tuần hoàn (DAG), các đối tượng trong bài toán được liên kết với một lớp cha và các lớp con tương ứng với nó. Mặc dù bài toán phân loại hình ảnh đã được khai thác sâu và rộng rãi nhưng chỉ có một vài cách tiếp cận cho bài toán phân loại đa tầng hình ảnh. Phân loại đa tầng đã được áp dụng trong một số bài toán như phân loại văn bản ([15], [1]), dự đoán chức năng gen trong tin sinh học ({14]), phân loại thể loại âm nhạc ([2].
phân loại ảnh ([13], [8], [23]. Bài báo khảo sát [19] chỉ ra có ba hướng tiếp cận chính được dùng để giải quyết bài toán phân loại đa tầng nói chung: * Hướng tiếp cận phẳng là hướng tiếp cận đơn giản nhất bỏ qua mối quan hệ giữa các lớp, chỉ sử dụng mô hình phân loại để dự đoán nút lá. * Hướng tiếp cận cục bộ là phương pháp hệ thống áp dụng và kết hợp nhiều hiéu mô hình phân loại cục bộ. Trong hướng tiếp cận cục bộ, việc dự đoán 2.
Bài toán phân loại đa tầng hình ảnh và các kiến thức liên quan đầu ra dựa trên việc sử dụng các mô hình phân loại truyền thống theo nút, theo lớp cha mẹ hoặc theo tầng, sau đó kết hợp các mô hình đó lại được mô hình được mô hình phân loại tổng thể cho hệ thống phân cấp. * Hướng tiếp cận toàn cục là phương pháp mà chỉ duy nhất một mô hình phân loại áp dụng cho toàn bộ hệ thống. Một số ứng dụng của học sâu áp dụng vào hình ảnh thời trang. Thứ nhất là phân đoạn trang phục ({3]).
Phân đoạn trang phục được sử dụng trong phát hiện và nhận dạng người, pose estimation, chỉnh sửa hình ảnh. Thứ hai là phát hiện và phân loại sản phẩm thời trang ([9], [6], [11]). Thứ ba là khai thác đặc trưng của sản phẩm thời trang ([12], [5]) áp dụng cho bài tóan truy xuất hình ảnh hoặc phân loại hình ảnh sản phẩm thời trang. Cuối cùng là phân loại đa tầng hình ảnh thời trang ([18], [10]) cho phép phân loại hình ảnh sản phẩm thời trang vào các lớp từ tổng quát tới cụ thể.
Day cũng là dé tài mà nhóm tập trung nghiên cứu. Việc sử dụng máy hoc và học sâu vào lĩnh vực thời trang trong thương mại sẽ cải thiện trải nghiệm người dùng. Người dùng sẽ được phục vụ nhanh chóng trong việc tìm kiếm sản phẩm và cảm thấy hài lòng với hệ thong gợi ý sản phẩm. Điều này làm KPI tăng mang về lợi nhuận lớn cho doanh nghiệp.
Tuy nhiên, có một số thách thức với bài toán phân loại nói chung và phân loại đa tầng nói riêng trên ảnh thời trang: * Quan áo giống nhau được dự đoán là khác nhau hoặc ngược lại, quan áo khác nhau được dự đoán là giống nhau tùy vào góc nhìn. Ví dụ, một quần short nữ có thể được dự đoán là váy ngắn theo góc nhìn ngang người mẫu. « Sản phẩm thời trang có thể bi mất dáng, thay đổi hình dạng bởi nếp gấp, cách bồ trí, hình dáng người mẫu mặc. s Hình ảnh được chụp ở các điều kiện khác nhau về ánh sáng, góc độ, phần nền, sản phẩm bị che khuất bởi vật thể.
Bài toán phân loại đa tầng hình ảnh và các kiến thức liên quan Hình 2.2: Sự tương đồng về hình dáng và chất liệu của áo vest nam và áo blazer nam. * Trong một hình ảnh có nhiều sản phẩm được chụp cùng với nhau. * Một số yếu tô gây nhiễu như quảng cáo, ngoại cảnh, phụ kiện trang trí,. * Một số sản phẩm thời trang có thể tương đồng nhau về hình dáng, chất liệu, màu sắc như quần bò và quần tây, vòng tay và vòng cổ.
* Một số sản phẩm có kích thước nhỏ như các món đồ trang sức. Trong đề tài phân loại đa tầng hình ảnh sản phẩm thời trang với dữ liệu có các lớp ở dạng cây, nhóm tập trung vào các mô hình trong hướng tiếp cận toàn cục. Bên cạnh đó, nhóm cũng thực hiện các phương pháp trong hướng tiếp cận phẳng để có cái nhìn và đánh giá khách quan về các phương pháp của các hướng tiếp cận. Hướng tiếp cận cục bộ không được sử dụng vì hạn chế của nó với bộ dữ liệu.
Các hướng tiếp cận này sé được trình bày chi tiết ở phần sau của chương. Bài toán phân loại đa tầng hình ảnh và các kiến thức liên quan 2.2 Các kiến thức cơ sở 2.1 Mạng tích chap (Convolutional neural network) 2.1 Lớp tích chap (Convolution) Tích chập là một khái niệm trong xử lý tín hiệu số nhằm biến đổi thông tin đầu vào thông qua một phép tích chập với bộ lọc để đầu ra là một tín hiệu mới. Tín hiệu này sẽ làm giảm những đặc trưng mà bộ lọc không quan tâm và chỉ giữ những đặc trưng chính. Trước khi đi vào lớp tích chập, chúng ta không thể không nhắc đến phép tích chập.
Phép tích chập là phép tính dựa trên hai ma trận cùng chiều, cùng kích thước bằng cách tính tổng của các tích giữa những vị trí tương ứng trên hai ma trận. Lớp tích chập là tầng quan trọng nhất trong mô hình mạng CNN. Lớp tích chập thực hiện phép toán tích chập giữa đầu vào và hạt nhân kernel, sau đó cộng với giá trị hiệu chỉnh bias. Tuy nhiên để đơn giản, ta không xét đến giá trị bias trong các ví dụ dưới đây.
Khi huấn luyện mô hình CNN, tại các tầng tích chập, các kernel được khởi tạo ngẫu nhiên với độ sâu bằng độ sâu của đầu vào. Mục đích của lớp tích chập là bằng cách trượt dan kernel theo chiều ngang và dọc trên ảnh, chúng ta thu được một ma trận chứa các đặc trưng được trích xuất từ trên hình ảnh đầu vào. Hạt nhân kernel còn được gọi là bộ lọc filter. Với một ảnh đầu vào kích thước mxm, ta chon một ma trận kernel kích thước nxn.
Ma trận kernel trượt trên ma trận đầu vào, mỗi lần trượt ta thực hiện phép tích chập và thu được một kết quả. Kết quả này là giá trị của một pixel trong ma trận đầu ra. Khi trượt hết ma trận kernel trên ma trận đầu vào ta được ma trận đầu ra có kích thước nhỏ hơn hoặc bằng kích thước ma trận đầu vào, ma trận này được gọi là feature map.com/skylar-salernos-tech-blog/image-convolution-filters-explained-c878f1056e78 10 2. Bài toán phân loại đa tầng hình ảnh và các kiến thức liên quan Operation Filter ũ 0 0 Identity 010 ũ 0 et or ce Cr[ | Ù 0 1 0 Edge detection 1-4 1 ũ 10 -1 -1 -1 -1 8 -1 1đ =1 1 ũ 1 ũ Sharpen ¬1 5 —1 0 -1 a M11 Box blur 1 ra 3 111 Tư.
+ *Š Gaussian blur 1Ƒ 4 4 1 3 1 (approximation)) 18 |2121 Hình 2.3: Một số bộ lọc phổ biến (Nguồn: Medium!).com/beginners-guide-to-understanding-convolutional-neural- networks-ae9ed58bb 17d 11 2. Bài toán phân loại đa tầng hình ảnh và các kiến thức liên quan Input Filter1 3x3 4x4x3 2 Filter 3x3x2 Hình 2.4: Minh họa hoạt động của tầng tích chập (Nguồn: TowardsdatascienceÌ). Bài toán phân loại đa tầng hình ảnh và các kiến thức liên quan Việc áp dụng phép tích chập cho xử lý ảnh có thể biến thông tin đầu vào thành các yếu tố đặc trưng. Sự kết hợp của một hình ảnh với các kernel khác nhau có thể thực hiện các hoạt động như phát hiện cạnh, làm mờ và làm sắc nét bằng cách áp dụng các bộ lọc.3 cho thấy hình ảnh tích chập khác nhau sau khi áp dụng các kernel khác nhau.4 mô tả một lớp tích chập hoạt động.
Phép tích chập trượt kernel trên ảnh để tính tổng các tích tại vị trí tương ứng, quá trình trượt các kernel thường có các giá trị được quy định bao gồm: * Padding: quy định bộ đệm của kernel hay chính là kích thước của phan được đệm thêm vào đầu vào phép tích chập. ¢ Stride: quy định bước nhảy trong quá trình thực hiện.