Đồ án Pandora: Công cụ tìm kiếm bằng hình ảnh cho ngành thời trang (UIT)

Khám phá đồ án Pandora, công cụ tìm kiếm bằng hình ảnh cho ngành thời trang. Báo cáo ứng dụng học sâu, thị giác máy tính và mô hình YOLOv5.

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

Đồ án cuối kỳ

2023

69
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Đồ án Pandora và Tìm kiếm Hình ảnh Thời trang

Đồ án Pandora là một giải pháp tìm kiếm bằng hình ảnh tiên tiến dành riêng cho ngành thời trang. Trong bối cảnh mua sắm trực tuyến ngày càng phát triển, người dùng thường gặp khó khăn khi tìm kiếm sản phẩm bằng văn bản truyền thống. Pandora giải quyết vấn đề này bằng cách cho phép khách hàng tải lên hình ảnh của một mặt hàng mà họ yêu thích, và hệ thống sẽ trả về các sản phẩm tương tự. Công nghệ này được phát triển bởi sinh viên từ Đại học Công nghệ Thông tin, ĐHQG TP.HCM, kết hợp các kỹ thuật học sâuthị giác máy tính hiện đại. Mục tiêu là nâng cao trải nghiệm người dùng, tiết kiệm thời gian duyệt web và tăng mức độ hài lòng khách hàng khi mua sắm online.

1.1. Lý do chọn đề tài Pandora

Lĩnh vực tìm kiếm hình ảnh vẫn còn chưa được khai phá đầy đủ trong các sàn thương mại điện tử Việt Nam. Các công ty lớn hiếm khi công bố mã nguồn của hệ thống tìm kiếm bằng hình ảnh vì lý do bảo mật. Do đó, việc phát triển một công cụ tìm kiếm hình ảnh thời trang mã nguồn mở giúp sinh viên hiểu rõ hơn về công nghệ này. Ngoài ra, tìm kiếm hình ảnh còn giúp người tiêu dùng tiết kiệm thời gian tìm kiếm sản phẩm mà họ đã thấy nhưng không biết tên gọi.

1.2. Mục tiêu của đồ án

Mục tiêu chính là xây dựng một công cụ tìm kiếm hình ảnh đạt độ chính xác tối thiểu 75% trong nhận dạng vật thể quần áo. Đồ án tập trung vào việc trích xuất đặc trưng từ hình ảnh thời trang, vector hóa dữ liệu và so sánh độ tương đồng. Kết quả cuối cùng là một API Flask và ứng dụng di động Epimetheus, giúp người dùng dễ dàng tìm kiếm sản phẩm thời trang yêu thích.

II. Công nghệ Cốt lõi trong Đồ án Pandora

Đồ án Pandora sử dụng nhiều công nghệ tiên tiến từ lĩnh vực trí tuệ nhân tạohọc sâu. Trung tâm của hệ thống là mạng YOLOv5 (You Only Look Once version 5) - một mô hình nhận dạng vật thể mạnh mẽ và nhanh chóng. Bên cạnh đó, hệ thống sử dụng mạng thần kinh nhân tạo (Neural Network) với các lớp tích chập (Convolutional Layers) để trích xuất đặc trưng từ hình ảnh. Các công nghệ này giúp máy tính hiểu nội dung hình ảnh tương tự như con người. Quá trình hoạt động bao gồm: nhận dạng vị trí quần áo, trích xuất vector đặc trưng, và so sánh độ tương đồng với cơ sở dữ liệu ảo. Kết hợp với API Flask và xử lý dữ liệu tối ưu, Pandora có khả năng xử lý các yêu cầu tìm kiếm hình ảnh thực tế.

2.1. Mạng YOLO và nhận dạng vật thể

YOLOv5 là một kiến trúc mạng học sâu hiệu quả cho nhận dạng vật thể trong hình ảnh. Khác với các phương pháp cũ, YOLO xử lý toàn bộ hình ảnh một lần duy nhất, thay vì chia nhỏ. Mô hình này sử dụng các lớp tích chập để tự động học các đặc trưng từ dữ liệu hình ảnh. Intersection Over Union (IOU) được sử dụng để đánh giá độ chính xác của bounding box. Với kiến trúc tối ưu, YOLOv5 giúp Pandora xác định chính xác vị trí quần áo trong ảnh do người dùng tải lên.

2.2. Vector hóa hình ảnh và trích xuất đặc trưng

Sau khi nhận dạng vị trí quần áo, Pandora chuyển đổi hình ảnh thành vector - biểu diễn số học của đặc trưng hình ảnh. Quá trình này sử dụng mạng thần kinh sâu để tự động phát hiện các đặc trưng như màu sắc, kết cấu, hình dạng. Các vector này được lưu trữ trong cơ sở dữ liệu ảo. Khi tìm kiếm, hệ thống so sánh vector của hình ảnh truy vấn với các vector trong cơ sở dữ liệu, trả về sản phẩm có độ tương đồng cao nhất.

III. Kiến trúc và Quy trình Thực hiện Pandora

Quy trình thực hiện đồ án Pandora bao gồm 8 bước chính từ nghiên cứu đến triển khai. Đầu tiên, nhóm phải tìm kiếm tài liệu tham khảo từ các nghiên cứu về tìm kiếm hình ảnhnhận dạng vật thể. Tiếp theo là thu thập và xử lý dữ liệu quần áo, bao gồm việc gán nhãn các hình ảnh để huấn luyện mô hình. Bước quan trọng tiếp theo là huấn luyện mô hình YOLOv5 trên Google Colab để nhận dạng quần áo. Sau đó, xây dựng mô hình trích xuất đặc trưngcơ sở dữ liệu ảo. Cuối cùng, tạo API Flask để kết nối backend với ứng dụng di động Epimetheus. Toàn bộ quy trình đòi hỏi sự phối hợp chặt chẽ giữa các thành viên nhóm và việc thử nghiệm liên tục.

3.1. Thu thập và xử lý dữ liệu

Thu thập dữ liệu là bước đầu tiên và quan trọng nhất. Nhóm phải thu thập hàng nghìn hình ảnh quần áo từ nhiều nguồn khác nhau. Sau đó, dữ liệu được gán nhãn (labeling) để xác định vị trí quần áo trong mỗi hình ảnh bằng bounding box. Xử lý dữ liệu bao gồm chuẩn hóa kích thước hình ảnh, chia dữ liệu thành tập training, validation và test, để đảm bảo mô hình học được tốt.

3.2. Huấn luyện mô hình và triển khai API

Mô hình YOLOv5 được huấn luyện trên Google Colab sử dụng GPU để tăng tốc độ xử lý. Mô hình trích xuất đặc trưng sau đó được xây dựng dựa trên mạng thần kinh sâu. Khi hoàn thành, toàn bộ hệ thống được đóng gói thành API Flask - một framework Python để xây dựng web service. API này kết nối giữa ứng dụng di động Epimetheuscơ sở dữ liệu ảu, cho phép người dùng gửi hình ảnh và nhận kết quả tìm kiếm.

IV. Ưu điểm Hạn chế và Triển vọng Phát triển

Đồ án Pandora có nhiều ưu điểm vượt trội so với tìm kiếm văn bản truyền thống. Hệ thống cho phép người dùng tìm kiếm sản phẩm thời trang bằng hình ảnh trực quan, giúp tiết kiệm thời gian đáng kể. Công cụ này đặc biệt hữu ích khi khách hàng không biết tên hoặc mô tả chính xác của sản phẩm. Tuy nhiên, Pandora vẫn có những hạn chế hiện tại. Độ chính xác chỉ đạt 75% - chưa bằng các công cụ thương mại của các sàn TMĐT lớn. Bộ dữ liệu được gán nhãn còn hạn chế, mô hình chưa được huấn luyện trên quy mô lớn. Ngoài ra, hệ thống hiện chỉ tập trung vào quần áo, chưa mở rộng sang các loại sản phẩm khác. Trong tương lai, nhóm dự định mở rộng cơ sở dữ liệu, cải thiện độ chính xác mô hình, và phát triển tính năng tìm kiếm theo nhiều tiêu chí (màu sắc, kiểu dáng, kích cỡ).

4.1. Ưu điểm chính của Pandora

Ưu điểm lớn nhất của Pandora là khả năng tìm kiếm bằng hình ảnh trực quan, không cần mô tả văn bản. Hệ thống sử dụng công nghệ học sâu tiên tiến, cho phép máy tính hiểu nội dung hình ảnh. Giao diện di động dễ sử dụng giúp mọi người có thể truy cập dễ dàng. Công cụ này tiết kiệm thời gian đáng kể cho người dùng khi mua sắm online, đặc biệt là trong lĩnh vực thời trang phát triển nhanh chóng.

4.2. Hạn chế và kế hoạch phát triển tương lai

Hạn chế chính của Pandora là độ chính xác 75%, bộ dữ liệu hạn chế, và phạm vi chỉ giới hạn quần áo. Để vượt qua, nhóm kế hoạch mở rộng cơ sở dữ liệu lên hàng trăm nghìn hình ảnh, cải thiện kiến trúc mô hình, và phát triển tìm kiếm theo tiêu chí đa chiều như màu sắc, kiểu dáng, giá cả.

28/12/2025

Trích đoạn nội dung tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Đồ án 2 Báo cáo đồ án cuối kỳ Pandora - công cụ tìm kiếm bằng hình ảnh dành cho ngành thời trang Giảng viên hướng dẫn: ThS. Mai Trọng Khang Sinh viên thực hiện: Lê Thành Luân - 19520702 Đỗ Thị Thanh Nhã - 18520116 THÀNH PHỐ HỒ CHÍ MINH, THÁNG 1 2023 Đại học Công nghệ thông tin, ĐHQGTPHCM Khoa Công nghệ phần mềm Danh sách thành viên & Phân công công việc No. Họ và tên Mã số sinh viên Phần trăm công việc 1 Lê Thành Luân 19520702 50% 2 Đỗ Thị Thanh Nhã 18529116 50% Báo cáo đồ án cuối kỳ Trang 2/69 Đại học Công nghệ thông tin, ĐHQGTPHCM Khoa Công nghệ phần mềm Mục lục 1 Giới thiệu 5 1.1 Giới thiệu đề tài và lý do chọn đề tài .2 Mục tiêu đề ra .1 Nhận dạng vật thể .3 Mạng thần kinh (Neural Network) .4 Lớp tích chập (Convolutional Layer) .6 Intersection Over Union (IOU) .1 Mạng YOLO là gì? .2 Kiến trúc mạng YOLO .4 Non-max suppression. 22 3 Các công nghệ sử dụng 24 3.

26 4 Quá trình thực hiện 28 4.1 Tìm kiếm tài liệu tham khảo .2 Kiến trúc của Pandora .2 Chuyển đổi hình ảnh thành vector (vector hóa hình ảnh) .3 Tìm kiếm độ tương đồng .3 Thu thập và xử lý dữ liệu .1 Thu thập dữ liệu .2 Xử lý dữ liệu .4 Tạo mô hình học sâu trích xuất bounding box quần áo từ ảnh .1 Xử lý dữ liệu phù hợp với mô hình YOLOv5 .2 Huấn luyện mô hình YOLOv5 trên Google Colab .5 Tạo mô hình học sâu trích xuất đặc trưng của quần áo .6 Tạo cơ sở dữ liệu ảo ở máy .7 Tạo Pandora API bằng Flask .8 Cài đặt API và xây dựng ứng dụng Epimetheus cho thiết bị di động. 61 Báo cáo đồ án cuối kỳ Trang 3/69 Đại học Công nghệ thông tin, ĐHQGTPHCM Khoa Công nghệ phần mềm 5 Hướng dẫn cài đặt và sử dụng 62 5.1 Hướng dẫn cài đặt và khởi chạy Pandora API .1 Cấu hình yêu cầu .2 Cài đặt và khởi chạy. 62 6 Phân tích ưu, nhược điểm và kế hoạch phát triển trong tương lai 64 6.2 Nhược điểm .3 Kế hoạch phát triển. 65 7 Kết luận 68 Báo cáo đồ án cuối kỳ Trang 4/69 Đại học Công nghệ thông tin, ĐHQGTPHCM Khoa Công nghệ phần mềm 1 Giới thiệu 1.1 Giới thiệu đề tài và lý do chọn đề tài Cuộc sống của chúng ta đã và đang chịu ảnh hưởng mạnh mẽ của internet, tiêu biểu là trong các lĩnh vực như giáo dục, an ninh, thương mại,.

Trong số đó, mua sắm trực tuyến là một tiến bộ công gnheej lớn đã làm cho cuộc sống của chúng ta dễ dàng và thoải mái hơn. Hiện nay, hầu hết các website thương mại điện tử hỗ trợ tìm kiếm dựa trên văn bản. Điều này là do bản chất của các công cụ tìm kiếm cũ cần một tên mục hoặc mô tả thích hợp để cho ra kết quả tìm kiếm chính xác. Tuy nhiên, với sự phát triển mạnh mẽ của lĩnh vực trí tuệ nhân tạo, đặc biệt là máy học, học sâu và thị giác máy tính, cũng như nguồn dữ liệu hình ảnh ngày càng gia tăng theo cấp số nhân, một số công cụ tìm kiếm bằng hình ảnh đã được tích hợp trong các trang web thương mại điện tử.

Giờ đây, người dùng có thể gửi hình ảnh của một mặt hàng mà họ muốn tìm lên trang web, và trang web sẽ trả về kết quả là sản phẩm tương ứng với hình ảnh đó. Điều này làm tăng mức độ hài lòng của người dùng khi giúp họ tiết kiệm rất nhiều thời gian duyệt web để tìm kiếm một sản phẩm mà họ đã thấy mà không biết tên hay mô tả như thế nào. Tuy nhiên, lĩnh vực này hiện vẫn còn chưa được khai phá nhiều, cũng như việc các công ty thương mại điện tử hoàn toàn không công bố mã nguồn của họ cho các hệ thống tìm kiếm bằng hình ảnh vì lý do bảo mật, thế nên việc hiểu hệ thống này hoạt động ra sao vẫn rất khó khăn. Dựa trên thực tiễn này, sau nhiều nỗ lực nghiên cứu, nhóm chúng tôi đã đưa ra đề xuất về một giải pháp tìm kiếm bằng hình ảnh dựa trên thị giác máy tính, tập trung vào ngành thời trang.2 Mục tiêu đề ra Với phạm vi đồ án môn học thì chúng tôi đã thảo luận và đưa ra quyết định là rất khó để đạt được kết quả tốt như các công cụ tìm kiếm bằng hình ảnh mà các sàn thương mại điện tử đang áp dụng do vấn đề về thời gian thực hiện, bộ dữ liệu được gán nhãn còn ít, cũng như vấn đề về cơ sở vật chất, nhân lực,.

Vì vậy, nhóm đã đạt ra mục tiêu rằng độ chính xác của model học sâu chỉ có thể đạt ngưỡng 75%. Còn đối với công cụ tìm kiếm thì phụ thuộc vào trải nghiệm người dùng và cơ sở dữ liệu nên rất khó đánh giá, nhóm quyết định là sẽ so sánh với một số nghiên cứu khoa học khác cũng làm về công cụ tìm kiếm bằng hình ảnh và sử dụng chung bộ dữ liệu mà nhóm đã sử dụng. Báo cáo đồ án cuối kỳ Trang 5/69 Đại học Công nghệ thông tin, ĐHQGTPHCM Khoa Công nghệ phần mềm 2 Các khái niệm 2.1 Nhận dạng vật thể Nhận dạng vật thể là một kỹ thuật trong thị giác máy tính để xác định các vật thể trong hình ảnh hoặc video. Nhận dạng vật thể là đầu ra chính của các thuật toán học sâu và học máy.

Khi con người nhìn vào một bức ảnh hoặc xem một đoạn video, chúng ta có thể dễ dàng phát hiện ra người, đồ vật, cảnh và các chi tiết trực quan khác. Mục đích của nhận dạng vật thể là dạy máy tính làm được những gì đã được coi là bản năng của con người: đạt được đến mức độ hiểu được nội dung của hình ảnh. Hình 1: Ứng dụng nhận dạng đối tượng để xác định phân loại của đối tượng (ở đây là chó và mèo). Nhận dạng vật thể là một công nghệ quan trọng, được ứng dụng trong rất nhiều lĩnh vực.

Trong đó có thể kể đến nổi bật nhất chính là xe không người lái. Nhận dạng vật thể cho phép những chiếc xe không người lái nhận ra biển báo dừng hoặc để phân biệt người đi bộ với cột đèn. Ngoài ra, nó cũng được ứng dụng để xác định bệnh trong y học, kiểm tra công nghiệp và thị giác robot (giúp robot nhận diện được các vật thể). Báo cáo đồ án cuối kỳ Trang 6/69 Đại học Công nghệ thông tin, ĐHQGTPHCM Khoa Công nghệ phần mềm Hình 2: Nhận diện vật thể trên đường phố, được ứng dụng trong xe tự hành.

Bài toán nhận dạng vật thể sản sinh ra những bài toán con khác, cũng là những bài toán nhận được sự quan tâm sâu sắc của giới nghiên cứu khoa học. Trong số đó có thể kể đến như: • Gán thẻ hình ảnh: Là quá trình thêm thẻ văn bản vào một hình ảnh dựa trên những gì có trong hình ảnh đó. Mỗi hình ảnh có thể được gán nhiều hơn một thẻ. – Đầu vào: Hình ảnh và các thẻ có thể được gán cho hình ảnh.

– Đầu ra: Các thẻ phù hợp để gán cho hình ảnh. • Phân loại hình ảnh: Dự đoán loại hoặc lớp của đối tượng trong hình ảnh. – Đầu vào: Một hình ảnh với một đối tượng duy nhất. – Đầu ra: Nhãn phân loại đối tượng.

• Định vị đối tượng: Định vị sự hiện diện của các đối tượng trong một hình ảnh và chỉ ra vị trí của chúng bằng một hộp giới hạn. – Đầu vào: Một hình ảnh có một hoặc nhiều đối tượng. – Đầu ra: Một hoặc nhiều hộp giới hạn (xác định bởi tọa độ một điểm tâm chính giữa, chiều rộng và chiều cao). • Phát hiện đối tượng: Định vị sự hiện diện của các đối tượng bằng hộp giới hạn và các loại hoặc lớp của các đối tượng được định vị trong một hình ảnh.

– Đầu vào: Một hình ảnh có một hoặc nhiều đối tượng. – Đầu ra: Một hoặc nhiều hộp giới hạn và nhãn phân loại cho từng hộp giới hạn. Báo cáo đồ án cuối kỳ Trang 7/69 Đại học Công nghệ thông tin, ĐHQGTPHCM Khoa Công nghệ phần mềm • Phân đoạn đối tượng: Các đối tượng trong hình ảnh được nhận dạng bằng cách đánh dấu các pixel cụ thể của đối tượng thay vì hộp giới hạn. – Đầu vào: Một hình ảnh có một hoặc nhiều đối tượng.

– Đầu ra: Mảng các pixel được đánh dấu tương ứng với từng loại đối tượng. Trong số các bài toán này, bài toán được biết đến nhiều nhất là phát hiện đối tượng. Nó phổ biến đến mức mà khi một người nhắc đến nhận diện vật thể, ý của họ là đang chỉ đến việc phát hiện đối tượng bằng các hộp giới hạn.2 Học sâu Việc sử dụng học sâu vào giải quyết bài toán nhận diện vật thể đang là một trong những phương pháp phổ biến nhất mà các nhà nghiên cứu khoa học sử dụng. Các mô hình học sâu như mạng thần kinh tích chập (Convolutional Neural Network - CNN) được sử dụng để tự động tìm kiếm các đặc điểm của đối tượng hiện hữu trong hình ảnh nhằm xác định đối tượng đó.

Ví dụ: CNN có thể học cách xác định sự khác biệt giữa mèo và chso bằng cách phân tích hàng nghìn hình ảnh và tìm hiều các đặc điểm khiến chó và mèo khác nhau. Học sâu là một tập hợp con của học máy, khác biệt ở một số khía cạnh quan trọng so với học máy truyền thống, cho phép máy tính giải quyết một loạt các vấn đề phức tạp không giải quyết được. Một ví dụ về các vấn đề phức tạp này là bài toán nhận dạng các chữ số viết tay. Để giải quyết bài toán này, máy tính cần phải có khả năng đối phó với sự đa dạng trong cách thức trình bày dữ liệu.

Mỗi chữ số từ 0 đến 9 có thể được viết theo vô số cách: kích thước và hình dạng chính xác của mỗi chữ số viết tay có thể rất khác nhau tùy thuộc vào người viết và viết trong hoàn cảnh nào. Để đối phó với sự đa dạng này, việc sử dụng các phương trình tính toán bình thường có độ phức tạp thấp là bất cả thi, mà đòi hỏi phải sử dụng những phương trình tính toán với độ phức tạp cao. Những phương trình này được máy tính học bằng phương pháp học sâu, mà cụ thể hơn là bằng mạng lưới thần kinh.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ