Trong kỷ nguyên số, việc quản lý hàng trăm nghìn hình ảnh thời trang trở thành một thách thức lớn với các sàn thương mại điện tử, thương hiệu, và nền tảng mạng xã hội. Thay vì gắn nhãn bằng tay cho từng chiếc váy, chiếc quần, đôi giày… giờ đây chúng ta có thể tự động phân loại ảnh thời trang bằng AI một cách chính xác và tiết kiệm thời gian. Công nghệ trí tuệ nhân tạo không chỉ giúp tăng hiệu suất mà còn mở ra cánh cửa cho cá nhân hóa, tìm kiếm ngược bằng hình ảnh và trải nghiệm mua sắm thông minh hơn.
Để hiểu rõ hơn cách AI hoạt động với dữ liệu hình ảnh, bạn có thể tham khảo bài Hướng dẫn sử dụng YOLOv8 để nhận diện đối tượng – nơi trình bày cách AI phát hiện đối tượng trong ảnh theo thời gian thực. Ngoài ra, bài Tự động đếm số người trong ảnh bằng kỹ thuật segmentation cho thấy khả năng phân tích ảnh phức tạp của AI trong môi trường đông người. Và nếu bạn muốn thấy một ứng dụng thực tế khác trong lĩnh vực nhận diện, hãy đọc bài Tạo hệ thống nhận diện khuôn mặt thời gian thực bằng OpenCV – cơ sở kỹ thuật có thể được dùng để nhận diện người mặc đồ thời trang trong tương lai.
Phân loại ảnh thời trang là gì và vì sao quan trọng?
Phân loại ảnh thời trang là quá trình tự động nhận diện danh mục của một sản phẩm thời trang từ hình ảnh, ví dụ như: áo sơ mi, váy dạ hội, quần jeans, giày sneaker… Điều này đặc biệt quan trọng với các nền tảng bán hàng có hàng triệu ảnh sản phẩm hoặc các hệ thống gợi ý thời trang cá nhân hóa.
Lợi ích của phân loại ảnh tự động gồm:
-
Tiết kiệm công sức gắn nhãn thủ công
-
Tăng tính nhất quán dữ liệu
-
Tăng tốc quá trình cập nhật hàng hóa
-
Phục vụ các hệ thống tìm kiếm bằng hình ảnh hoặc gợi ý theo style
Để thực hiện điều này, các mô hình deep learning – đặc biệt là CNN (Convolutional Neural Network) – thường được sử dụng nhờ khả năng học đặc trưng thị giác mạnh mẽ.
Thu thập và xử lý dữ liệu thời trang
Để huấn luyện AI, trước tiên chúng ta cần tập dữ liệu ảnh đã được gắn nhãn. Một số bộ dữ liệu thời trang phổ biến:
-
Fashion MNIST: 70.000 ảnh xám 28×28 pixel thuộc 10 danh mục (giày, áo khoác, túi xách…).
-
DeepFashion: hơn 800.000 ảnh với chú thích chi tiết về thể loại, keypoints, thuộc tính.
-
Modanet: có phân vùng segment cho từng sản phẩm thời trang.
Trong bài này, để đơn giản, ta sẽ dùng Fashion MNIST, rất phù hợp với người mới bắt đầu.
from tensorflow.keras.datasets import fashion_mnist
import matplotlib.pyplot as plt
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()
plt.imshow(x_train[0], cmap='gray')
plt.title(f"Label: {y_train[0]}")
plt.show()
Dữ liệu này có 10 lớp: áo thun, quần dài, áo len, váy, giày, túi… Kích thước ảnh nhỏ (28×28) nhưng đủ để minh họa quy trình phân loại.
Tiền xử lý ảnh và chuẩn hóa đầu vào
Dữ liệu ảnh cần được xử lý trước khi đưa vào mạng nơ-ron. Các bước phổ biến:
- Chuẩn hóa pixel: đưa giá trị từ [0–255] về [0–1]
- Chuyển shape: từ (28,28) về (28,28,1) để tương thích với CNN
x_train = x_train / 255.0 x_test = x_test / 255.0 x_train = x_train.reshape(-1, 28, 28, 1) x_test = x_test.reshape(-1, 28, 28, 1)
Chuẩn hóa giúp mô hình hội tụ nhanh hơn và tránh bị lệch gradient. Chuyển shape là bắt buộc vì Conv2D yêu cầu ảnh có chiều sâu.
Xây dựng mô hình CNN để phân loại ảnh
CNN là mô hình chuyên xử lý dữ liệu hình ảnh bằng cách sử dụng các lớp tích chập (convolution) và lớp gộp (pooling) để trích xuất đặc trưng. Sau đó là các lớp fully connected để phân loại.

