1. Trang chủ
  2. » Tất cả

Đồ án pandora công cụ tìm kiếm bằng hình ảnh dành cho ngành thời trang

69 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đồ án Pandora Công Cụ Tìm Kiếm Bằng Hình Ảnh Dành Cho Ngành Thời Trang
Tác giả Lê Thành Luân, Đỗ Thị Thanh Nhã
Người hướng dẫn ThS. Mai Trọng Khang
Trường học Đại Học Công Nghệ Thông Tin, ĐHQGTPHCM
Chuyên ngành Khoa Công Nghệ Phần Mềm
Thể loại Đồ án cuối kỳ
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 69
Dung lượng 9,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1.1 Giới thiệu đề tài và lý do chọn đề tài (5)
  • 1.2 Mục tiêu đề ra (5)
  • 2.1 Nhận dạng vật thể (0)
  • 2.2 Học sâu (8)
  • 2.3 Mạng thần kinh (Neural Network) (9)
  • 2.4 Lớp tích chập (Convolutional Layer) (11)
  • 2.5 Lớp gộp (Pooling Layer) (17)
  • 2.6 Intersection Over Union (IOU) (17)
  • 2.7 YOLO (You Only Look Once) (19)
    • 2.7.1 Mạng YOLO là gì? (19)
    • 2.7.2 Kiến trúc mạng YOLO (19)
    • 2.7.3 Anchor box (hộp neo) (21)
    • 2.7.4 Non-max suppression (21)
  • 2.8 VGG16 (22)
  • 3.1 PyTorch (0)
  • 3.2 YOLOv5 (25)
  • 3.3 Flask (25)
  • 3.4 VGG16 (26)
  • 3.5 React Native (26)
  • 4.1 Tìm kiếm tài liệu tham khảo (0)
  • 4.2 Kiến trúc của Pandora (29)
    • 4.2.1 Cắt ảnh (29)
    • 4.2.2 Chuyển đổi hình ảnh thành vector (vector hóa hình ảnh) (31)
    • 4.2.3 Tìm kiếm độ tương đồng (0)
  • 4.3 Thu thập và xử lý dữ liệu (32)
    • 4.3.1 Thu thập dữ liệu (32)
    • 4.3.2 Xử lý dữ liệu (34)
  • 4.4 Tạo mô hình học sâu trích xuất bounding box quần áo từ ảnh (38)
    • 4.4.1 Xử lý dữ liệu phù hợp với mô hình YOLOv5 (38)
    • 4.4.2 Huấn luyện mô hình YOLOv5 trên Google Colab (0)
  • 4.5 Tạo mô hình học sâu trích xuất đặc trưng của quần áo (44)
  • 4.6 Tạo cơ sở dữ liệu ảo ở máy (53)
  • 4.7 Tạo Pandora API bằng Flask (56)
  • 4.8 Cài đặt API và xây dựng ứng dụng Epimetheus cho thiết bị di động (61)

Nội dung

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 giatăng theo cấp số nhân,

Giới thiệu đề tài và lý do chọn đề tài

Cuộc sống của chúng ta ngày càng bị ảnh hưởng sâu rộng bởi internet, đặc biệt trong các lĩnh vực như giáo dục, an ninh và thương mại Trong đó, mua sắm trực tuyến là bước tiến công nghệ quan trọng giúp cuộc sống hàng ngày trở nên dễ dàng và tiện lợi hơn Hiện nay, phần lớn các website thương mại điện tử hỗ trợ tìm kiếm dựa trên văn bản, do các công cụ tìm kiếm truyền thống yêu cầu tên mục hoặc mô tả rõ ràng để đưa ra kết quả chính xác Tuy nhiên, với sự phát triển mạnh mẽ của trí tuệ nhân tạo, machine learning, deep learning và thị giác máy tính, các công cụ tìm kiếm bằng hình ảnh đã được tích hợp vào các trang web mua sắm trực tuyến Người dùng có thể dễ dàng tải hình ảnh mặt hàng muốn tìm, và website sẽ trả về sản phẩm tương ứng, giúp tiết kiệm thời gian và nâng cao trải nghiệm mua sắm trực tuyến.

Lĩnh vực tìm kiếm bằng hình ảnh trong thương mại điện tử vẫn còn nhiều tiềm năng chưa được khai phá do các công ty không công bố mã nguồn để bảo mật Do đó, việc hiểu cách hệ thống này hoạt động vẫn còn rất khó khăn Từ thực tế này, nhóm nghiên cứu của chúng tôi đã đề xuất một giải pháp tìm kiếm bằng hình ảnh dựa trên công nghệ thị giác máy tính, tập trung vào ngành thời trang nhằm thúc đẩy phát triển và ứng dụng AI trong lĩnh vực này.

Mục tiêu đề ra

Trong phạm vi đề tài môn học, nhóm nhận thấy việc đạt kết quả như các công cụ tìm kiếm hình ảnh của các sàn thương mại điện tử là rất khó khăn do hạn chế về thời gian thực hiện, số lượng dữ liệu nhãn còn ít, cũng như vấn đề về cơ sở vật chất và nhân lực Do đó, mục tiêu của nhóm đặt ra là đạt độ chính xác khoảng 75% cho mô hình học sâu của mình Công cụ tìm kiếm dựa trên trải nghiệm người dùng và cơ sở dữ liệu, khiến việc đánh giá trở nên phức tạp hơn; vì vậy, nhóm quyết định so sánh kết quả với các nghiên cứu khoa học khác cũng sử dụng chung bộ dữ liệu để đánh giá hiệu quả của phương pháp.

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à công nghệ quan trọng, ứng dụng rộng rãi trong nhiều lĩnh vực như xe tự hành, y học, công nghiệp và thị giác robot Công nghệ này giúp xe không người lái nhận biết biển báo dừng, phân biệt người đi bộ với cột đèn, đồng thời hỗ trợ xác định bệnh trong y học và giúp robot nhận diện các vật thể xung quanh một cách chính xác.

Hình 2: Nhận diện vật thể trên đường phố, được ứng dụng trong xe tự hành.

Nhận dạng vật thể là một trong những vấn đề phức tạp trong lĩnh vực thị giác máy tính, đã gây ra nhiều bài toán con quan trọng và thu hút sự quan tâm của cộng đồng nghiên cứu khoa học Các bài toán này bao gồm việc xác định chính xác vị trí, loại và đặc điểm của các vật thể trong ảnh hoặc video Nghiên cứu về nhận dạng vật thể không chỉ giúp nâng cao các ứng dụng như phân loại hình ảnh, theo dõi đối tượng mà còn mở ra nhiều hướng nghiên cứu mới, đóng vai trò then chốt trong sự phát triển của trí tuệ nhân tạo.

Gán thẻ hình ảnh là quá trình thêm thẻ văn bản mô tả nội dung của hình ảnh dựa trên các đặc điểm có trong hình Quá trình này giúp cải thiện khả năng tìm kiếm và phân loại hình ảnh trên các nền tảng số Mỗi hình ảnh có thể được gán nhiều thẻ khác nhau để phản ánh đa dạng thông tin liên quan, từ đó nâng cao hiệu quả tối ưu hóa công cụ tìm kiếm (SEO) và tăng khả năng hiển thị trên các kết quả tìm kiếm.

– Đầ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 là quá trình định vị sự hiện diện của các đối tượng trong hình ảnh thông qua hộp giới hạn, giúp xác định chính xác vị trí của chúng Các phương pháp này còn phân loại các đối tượng thành các loại hoặc lớp khác nhau, góp phần nâng cao khả năng nhận diện và xử lý hình ảnh hiệu quả Công nghệ này thường được sử dụng trong các ứng dụng như nhận diện khuôn mặt, xe cộ hay các đối tượng trong tự nhiên, đảm bảo phân tích hình ảnh chính xác và tối ưu hóa các hệ thống thị giác máy.

– Đầ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.

Việc sử dụng học sâu trong giải quyết bài toán nhận diện vật thể là phương pháp phổ biến được các nhà nghiên cứu khoa học áp dụng rộng rãi Các mô hình như mạng thần kinh tích chập (CNN) tự động khám phá đặc điểm của đối tượng trong hình ảnh để xác định chính xác loại vật thể Ví dụ, CNN có khả năng phân biệt giữa mèo và chó bằng cách phân tích hàng nghìn hình ảnh và nhận diện những đặc điểm phân biệt giữa chúng Học sâu là một nhánh của học máy, có những khác biệt quan trọng so với học máy truyền thống, giúp máy tính giải quyết các vấn đề phức tạp mà trước đó chưa thể xử lý được.

Bài toán nhận dạng chữ số viết tay là một ví dụ điển hình cho các vấn đề phức tạp trong lĩnh vực trí tuệ nhân tạo Để giải quyết công việc này, máy tính cần phải xử lý sự đa dạng trong cách trình bày dữ liệu của các chữ số từ 0 đến 9, đòi hỏi khả năng thích nghi và nhận diện chính xác trong môi trường dữ liệu biến đổi.

Chữ số 9 có thể được viết theo nhiều cách khác nhau về kích thước và hình dạng, tùy thuộc vào người viết và hoàn cảnh Để xử lý sự đa dạng này, việc sử dụng các phương trình tính toán đơn giản không đủ, mà cần đến các phương trình phức tạp hơn, được máy tính học thông qua phương pháp học sâu Cụ thể, kỹ thuật này áp dụng mạng lưới thần kinh để nhận diện và xử lý chữ số một cách chính xác.

Hình 3: Ví dụ về 100 cách viết tay chữ số 2 khác nhau được trích từ bộ dữ liệu MNIST nổi tiếng.

2.3 Mạng thần kinh (Neural Network)

Mạng lưới thần kinh (neural network) là các mô hình tính toán được lấy cảm hứng từ cấu trúc của mạng lưới thần kinh trong con người Mỗi neuron trong mạng thần kinh hoạt động như một hàm toán học, nhận dữ liệu đầu vào, biến đổi dữ liệu thành dạng dễ điều chỉnh hơn, và truyền đầu ra đến lớp tiếp theo hoặc kết hợp để tạo ra đầu ra cuối cùng Các mạng lưới thần kinh đóng vai trò quan trọng trong các ứng dụng trí tuệ nhân tạo, machine learning và các công nghệ phân tích dữ liệu phức tạp.

Mạng thần kinh gồm có lớp đầu vào để xử lý dữ liệu ban đầu và lớp đầu ra để đưa ra dự đoán cuối cùng Tuy nhiên, điểm nổi bật của mạng thần kinh chính là những lớp ẩn nằm ở giữa, đóng vai trò quan trọng trong khả năng học hỏi của mô hình Các lớp ẩn này liên kết chặt chẽ bằng cách đầu ra của lớp trước trở thành đầu vào của lớp sau, giúp mô hình học các đặc trưng phức tạp Thuật ngữ "học sâu" đề cập đến việc sử dụng số lượng lớn các lớp ẩn này để nâng cao khả năng xử lý dữ liệu phức tạp.

Hình 4: Cấu trúc một mạng thần kinh đơn giản, với một lớp đầu vào, một lớp đầu ra và hai lớp ẩn.

Sơ đồ đơn giản hóa này giúp hình dung rõ cấu trúc của một mạng thần kinh cơ bản, trong đó các nút tròn đại diện cho các neural được tổ chức thành các lớp thẳng đứng Mỗi neural liên kết với tất cả các neural trong lớp trước đó, thể hiện quá trình tạo ra giá trị đầu vào cho các neural ở lớp tiếp theo Các mũi tên liên kết mang ý nghĩa quan trọng, thể hiện tầm quan trọng của từng kết nối và khả năng khuếch đại giá trị truyền qua các lớp Sự khuếch đại này giúp kích hoạt các neuron và tăng khả năng xử lý thông tin của mạng Mỗi kết nối giữa hai neural chính là một hệ số trong phương trình tính toán giá trị của neural tiếp theo, góp phần định hình hoạt động của toàn bộ mạng thần kinh.

Neural được kích hoạt khi tổng các giá trị đưa vào vượt qua một ngưỡng nhất định, do các hàm kích hoạt tại mỗi lớp xác định Sự kích hoạt này mang ý nghĩa khác nhau tùy thuộc vào vị trí trong mạng thần kinh Ví dụ, trong bài toán nhận dạng chữ số viết tay, lớp đầu vào là các pixel của hình ảnh chữ viết tay, trong khi các lớp ẩn đầu tiên có khả năng phát hiện các đường thẳng và đường xiên, còn lớp ẩn thứ hai có thể nhận diện các đường gấp khúc, nét cong và nét chồng Cuối cùng, lớp đầu ra của mạng thần kinh thể hiện khả năng phân loại với 10 nhãn, tương ứng từ 0 đến 9.

Từ đó, ta có thể đúc kết ra được giá trị của một nốt được tính bằng 2 công thức sau: z i (l) = Σ l j=1 a (l−1) j ∗w (l) ji +b (l) i (1) a (l) i =σ(z i (l) ) (2)

• a (l) j : là giá trị của nốt thứ j trong lớp thứ l sau khi áp dụng hàm kích hoạtσ.

• w (l) ji : là giá trị hệ số của liên kết giữa nốt thứ i của lớp trước và nốt thứ j của lớp hiện tại.

Hai hệ số b(l)i là hệ số tự do trong phương trình tính toán nốt thứ i của lớp l trong mạng thần kinh Chúng thường liên kết với nốt có giá trị bằng 1 được thêm vào ở lớp đầu vào và các lớp ẩn, nhằm hạn chế kết quả huấn luyện luôn đi qua gốc tọa độ Việc thêm các hệ số này giúp mô hình dễ dàng học các mối quan hệ phức tạp hơn trong dữ liệu.

Khi chuyển đổi về dạng vector và ma trận, ta có 2 công thức trên trở thành: z (l) = (W (l) ) T ∗a (l) +b (2) (3) a (l) =σ(z (l) ) (4)

Mô hình học liên kết giữa các neuron là yếu tố then chốt giúp nâng cao độ chính xác trong dự đoán Trong quá trình huấn luyện, hàm mất mát được sử dụng để đo lường mức độ chính xác của dự đoán so với giá trị thực tế, từ đó hướng dẫn hệ thống cập nhật các trọng số liên kết Quá trình này tối ưu hóa bằng cách tính đạo hàm và sử dụng hàm tối ưu hóa như giảm độ dốc để giảm thiểu lỗi, qua đó cải thiện hiệu suất của mô hình Phương pháp lan truyền ngược giúp truyền đạt thông tin về lỗi từ lớp cuối về các lớp đầu trong mạng, điều chỉnh các tham số thủ công để tối ưu hóa dự đoán Qua nhiều chu kỳ huấn luyện, mô hình dần hoàn thiện khả năng dự đoán chính xác, hướng tới đạt độ chính xác cao nhất có thể.

Lớp ẩn còn được gọi là lớp kết nối đủ (Fully Connected Layer - FC), đóng vai trò trung tâm trong các mô hình mạng học sâu Mạng thần kinh kết nối đủ (FCN) là những mô hình chỉ gồm lớp đầu vào, lớp ẩn và lớp đầu ra, phù hợp với các nhiệm vụ đơn giản Tuy nhiên, nhược điểm của FCN xuất hiện rõ ràng khi áp dụng vào các bài toán xử lý dữ liệu phức tạp như hình ảnh lớn, video, văn bản dài hoặc giọng nói Do đó, các kiến trúc mạng thần kinh khác cũng được phát triển để phù hợp hơn với các tác vụ đặc thù này.

YOLO (You Only Look Once)

Kiến trúc của Pandora

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

Tạo mô hình học sâu trích xuất bounding box quần áo từ ảnh

Ngày đăng: 01/02/2023, 21:12

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w