Trang phục ở nhiều nền văn hóa phản ánh các đặc điểm như tuổi tác, địa vị xã hội, lối sống và giới tính. Trang phục cũng là một bộ mô tả quan trọng trong việc xác định con người, ví dụ: “Người đàn ông mặc một chiếc áo khoác màu cam “hoặc” người phụ nữ đi giày cao gót màu đỏ”. Với vai trò của trang phục trong xã hội, “phân loại thời trang” có rất nhiều ứng dụng. Ví dụ: dự đoán chi tiết quần áo trong một hình ảnh không được gắn nhãn có thể tạo điều kiện việc khám phá các mặt hàng thời trang giống nhau nhất trong một cơ sở dữ liệu thương mại điện tử. Tương tự, phân loại của người dùng hình ảnh thời trang được yêu thích có thể thúc đẩy thời trang tự động nhà tạo mẫu, sẽ cung cấp các đề xuất trang phục dựa trên về phong cách dự đoán của người dùng. Nhận dạng quần áo theo thời gian thực có thể hữu ích trong việc tìm kiếm thông tin, xác định các nghi phạm tội phạm. Tùy thuộc vào ứng dụng cụ thể của phân loại thời trang, các vấn đề cần giải quyết sẽ khác nhau. Chúng em sẽ tập trung vào việc tối ưu hóa phân loại thời trang cho mục đích khám phá nhiều nhất các mặt hàng thời trang tương tự với một mặt hàng thời trang trong hình ảnh truy vấn và đề xuất ra nhưng mặt hàng tương tự. Lý do lớn nhất để chúng tôi chọn đề tài này là vì sự phát triển vượt bậc của hệ thống kinh doanh online và nhu cầu mua bán online. Các sản phẩm đa số được tìm kiếm qua tiêu đề hoặc mô tả chứ không qua các hình ảnh liên quan. Vì thế chúng em phát triển hệ thống “Fashion Classification” này để làm điều đó.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CHẤT LƯỢNG CAO BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG BÁO CÁO MƠN HỌC MÁY HỌC TÊN ĐỀ TÀI Fashion Classification NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH GVHD: TRẦN VŨ HỒNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CHẤT LƯỢNG CAO BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG BÁO CÁO MÔN HỌC MÁY HỌC TÊN ĐỀ TÀI Fashion Classification NGÀNH CƠNG NGHỆ KỸ THUẬT MÁY TÍNH GVHD: TRẦN VŨ HOÀNG BẢN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Điểm….….….….………… LỜI CẢM ƠN Để hoàn thành để tài nghiên cứu này, lời nhóm thực để tài xin chân thành cảm ơn thầy cô giáo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM nói chung thầy cô Khoa Đào Tạo Chất Lượng Cao nói riêng, người dạy dỗ, trang bị cho nhóm thực đề tài kiến thức tảng chun ngành bổ ích, giúp nhóm thực có sở lý thuyết vững vàng tạo điều kiện giúp đỡ nhóm q trình học tập Đặc biệt, nhóm thực để tài xin chân thành cảm ơn thầy Trần Vũ Hồng tận tình giúp đỡ, trực tiếp chi bảo, đưa định hướng nghiên cứu hướng giải số vấn đề cho nhóm thực suốt thời gian nghiên cứu đề tài Trong thời gian làm việc với thấy, nhóm khơng ngừng tiếp thu thêm nhiều kiến thức, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, điều cần thiết trình học tập cơng tác sau Đồng thời nhóm thực gửi lời càm ơn tới bạn bè, anh chị Khoa Đào Tạo Chất Lượng Cao góp ý, chia sẻ kinh nghiệm, hỗ trợ trình nghiên cứu thực để tài mơn học Nhóm thực đề tài xin chân thành cảm ơn! MỤC LỤC CHƯƠNG TỔNG QUAN CHƯƠNG MỤC TIÊU CHƯƠNG THÁCH THỨC .3 CHƯƠNG PHƯƠNG PHÁP GIẢI QUYẾT CHƯƠNG BỘ DATA SỬ DỤNG 12 CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC 15 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 18 Chương 1.1 TỔNG QUAN Đặt vấn đề Trang phục nhiều văn hóa phản ánh đặc điểm tuổi tác, địa vị xã hội, lối sống giới tính Trang phục mô tả quan trọng việc xác định người, ví dụ: “Người đàn ơng mặc áo khốc màu cam “hoặc” người phụ nữ giày cao gót màu đỏ” Với vai trò trang phục xã hội, “phân loại thời trang” có nhiều ứng dụng Ví dụ: dự đốn chi tiết quần áo hình ảnh khơng gắn nhãn tạo điều kiện việc khám phá mặt hàng thời trang giống sở liệu thương mại điện tử Tương tự, phân loại người dùng hình ảnh thời trang u thích thúc đẩy thời trang tự động nhà tạo mẫu, cung cấp đề xuất trang phục dựa phong cách dự đoán người dùng Nhận dạng quần áo theo thời gian thực hữu ích việc tìm kiếm thông tin, xác định nghi phạm tội phạm Tùy thuộc vào ứng dụng cụ thể phân loại thời trang, vấn đề cần giải khác Chúng em tập trung vào việc tối ưu hóa phân loại thời trang cho mục đích khám phá nhiều mặt hàng thời trang tương tự với mặt hàng thời trang hình ảnh truy vấn đề xuất mặt hàng tương tự Lý lớn để chọn đề tài phát triển vượt bậc hệ thống kinh doanh online nhu cầu mua bán online Các sản phẩm đa số tìm kiếm qua tiêu đề mơ tả khơng qua hình ảnh liên quan Vì chúng em phát triển hệ thống “Fashion Classification” để làm điều Chương 2.1 MỤC TIÊU Mục tiêu đề tài - Hệ thống trích xuất đặt trưng ảnh - Có thể phân loại sản phẩm thời trang thơng qua đặc trưng - Có thể gợi ý sản phẩm thời trang tương tự sau phân loại 2.2 Tiêu chí đánh giá đề tài - Mơ hình khơng q nặng - Độ xác hệ thống cao - Dễ tiếp cận tìm hiểu Chương 3.1 THÁCH THỨC Thách thức - Máy tính hiểu ảnh số dạng ma trận số gồm điểm ảnh, điểm ảnh hệ màu RGB - RGB viết tắt red (đỏ), green (xanh lục), blue (xanh lam), ba màu ánh sáng tách từ lăng kính Khi trộn ba màu theo tỉ lệ định tạo thành màu khác - Giả sử ảnh có pixel 600*800 máy tính lưu dạng ma trận 600*800*3 ~ 1440000 điểm liệu - Như vậy, số chiều liệu lớn, việc trích xuất học đặc trưng khó - Chúng ta cần mơ hình trích xuất đặc trưng ảnh cách tối ưu Hình Thách thức 3.2 Thách thức - Quần áo có đặc điểm tương tự - Quần áo dễ dàng biến dạng chất liệu chúng - Các loại quần áo trơng khác tùy thuộc vào tỷ lệ khung hình góc - Quần áo đa dạng mẫu mà màu sắc Rất khó để lấy đặc trưng chúng Hình Thách thức Chương PHƯƠNG PHÁP GIẢI QUYẾT 4.1 Vấn đề đặt - Làm cách lấy đặc trưng ảnh - Thơng qua phân loại hình ảnh - Đề xuất sản phẩm tương tự ảnh đầu vào Ảnh đầu vào Tìm đặc trưng Phân loại Hình Các vấn đề đưa Đề xuất tương tự 4.2 Giải vấn đề - Có nhiều phương pháp để thực việc phân loại quần áo chúng em lựa chọn model CNN cho đề tài 4.2.1 Convolutional Neural Network - Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) mơ hình Deep Learning tiên tiến Nó giúp cho xây dựng hệ thống thơng minh với độ xác cao - CNN sử dụng nhiều toán nhận dạng object ảnh Để tìm hiểu thuật tốn sử dụng rộng rãi cho việc nhận dạng (detection), tìm hiểu thuật tốn Hình Cấu trúc CNN - Một mơ hình mạng nơ ron bản: Layer input layer, layer gọi hidden layer, layer cuối gọi output layer Các hình trịn gọi node Hình Mơ hình mạng nơ ron - Mỗi mơ hình ln có input layer, output layer, có khơng hidden layer Tổng số layer mơ hình quy ước số layer – (Khơng tính input layer) (Ví dụ hình có input layer, hidden layer output layer Số lượng layer mơ hình layer) - Mỗi node hidden layer output layer: + Liên kết với tất node layer trước với hệ số w riêng + Mỗi node có hệ số bias b riêng + Diễn bước: tính tổng linear áp dụng activation function - Vì vấn đề xử lý ảnh số lượng chiều liệu đầu vào lớn, khiến cho việc đưa vào mạng nơ-ron khiến cho số lượng layer to cách khổng lồ - Giả sử: Một ảnh màu 64*64 biểu diễn dạng tensor 64*64*3 Nên để biểu thị hết nội dung ảnh cần truyền vào input layer tất pixel (64*64*3 = 12288) Nghĩa input layer có 12288 nodes 4.2.2 Convolution - Convolution cửa sổ trượt (Sliding Windows) ma trận: Hình Convolution - Các convolutional layer có parameter(kernel) học để tự điều chỉnh lấy thơng tin xác mà không cần chọn feature - Convolution để lấy đặc trưng ảnh, tiến hành nhân ma trận số ảnh với kernel riêng, nhận đặc trưng tương ứng - Tùy theo kernel chọn, đặc trưng ảnh nhận khác Hình Chuyển đổi mảng sang hình ảnh - Khi cuộn ảnh, số lượng chiều ảnh bị giảm cách đáng kể, để tránh mát thông tin, cần kỹ thuật khác: Padding Pooling 4.2.3 Padding - Padding hiểu cách đơn giản thuộc tính khoảng trống nằm nội dung viền Chúng ta có khoảng cách nội dung với viền bên trái, bên phải, phía phía tương ứng padding-top, padding-left, padding-right padding-bottom - Như lần thực phép tính convolution xong kích thước ma trận Y nhỏ X Tuy nhiên ta muốn ma trận Y thu có kích thước ma trận X => Tìm cách giải cho phần tử viền => Thêm giá trị viền ma trận X - Thêm giá trị viền ma trận ảnh, ma trận thu có số chiều giữ nguyên so với ban đầu Học nhiều đặc trưng ảnh Hình Padding 10 4.2.4 Pooling - Có kỹ thuật Pooling Max pooling Average Pooling - Mục đích để giảm kích thước liệu giữ thuộc tính quan trọng Kích thước liệu giảm giúp giảm việc tính tốn model Hình Pooling - Từ ta đưa model CNN đơn giản để giải tốn này: Hình 10 Model sử dụng 11 12 - Từ model ta hiểu: + Khi đưa ảnh đầu vào ảnh qua lớp convolution + relu để xử lý ảnh dạng vector có kích thước [12,64,64] + Sau qua lớp convolution + relu ảnh qua lớp Max Pooling xử lý đề có kích thước [12,32,32] + Kế tiếp ta lấy vector 10x1 thực phép tính cosin để lấy trọng số (đặc trưng ảnh) so sánh với file test chọn đâu ảnh có vector gần giống với hình đưa theo số top-k (ở em chọn 50 tương đương 50 ảnh) + Sau qua tiếp lớp convolution + relu thứ để có kích thước [45,32,32] cuối cung vector có kích thước 10x1 Hình 11 Model thực tế 13 Chương BỘ DATA SỬ DỤNG - Dữ liệu sử dụng: Fashion Product Image Dataset cung cấp Kaggle (https://www.kaggle.com/paramaggarwal/fashion-product-images-dataset) Hình 12 Tập liệu - Dữ liệu gồm: 44441 ảnh kích thước khác sản phẩm thời trang, thông tin chúng (metadata) - 44441 ảnh 23gb, với 130 label khác 14 Hình 13 143 lớp - 23gb ảnh ta resize nhỏ lại, bỏ label liệu, liệu cịn lại 150mb ảnh data Sau ta lấy top 10 label có số lượng nhiều ta lại khoảng 25.000 ảnh 15 ...TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CHẤT LƯỢNG CAO BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG BÁO CÁO MƠN HỌC MÁY HỌC TÊN ĐỀ TÀI Fashion Classification NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH... trình học tập cơng tác sau Đồng thời nhóm thực gửi lời càm ơn tới bạn bè, anh chị Khoa Đào Tạo Chất Lượng Cao góp ý, chia sẻ kinh nghiệm, hỗ trợ trình nghiên cứu thực để tài mơn học Nhóm thực đề tài. .. hướng giải số vấn đề cho nhóm thực suốt thời gian nghiên cứu đề tài Trong thời gian làm việc với thấy, nhóm khơng ngừng tiếp thu thêm nhiều kiến thức, thái độ nghiên cứu khoa học nghiêm túc, hiệu