Giới thiệu dự án
Bối cảnh và thực trạng ngành bán lẻ thời trang
Cuộc cách mạng công nghiệp 4.0 đang thúc đẩy quá trình chuyển đổi số toàn diện trong ngành bán lẻ thời trang (Fashion Retail). Theo báo cáo nghiên cứu thị trường từ Body Labs, có tới 76% người tiêu dùng có nhu cầu thử trang phục và 91% muốn thử giày dép trước khi đưa ra quyết định mua hàng. Đồng thời, báo cáo từ Nielsen Việt Nam và Infocus Mekong Mobile Panel chỉ ra rằng hơn 25% người tiêu dùng đã chuyển dịch mạnh mẽ sang mua sắm trực tuyến. Thị trường gương thông minh toàn cầu (Virtual Mirror Market) đạt quy mô 3,64 tỷ USD vào năm 2018 và duy trì tốc độ tăng trưởng kép hàng năm (CAGR) 25,6% giai đoạn 2019–2025.
Tuy nhiên, các mô hình bán lẻ truyền thống đang đối mặt với nhiều điểm nghẽn nghiêm trọng:
- Tỷ lệ từ bỏ giỏ hàng cao do thời gian chờ đợi tại phòng thử đồ trực tiếp quá lâu vào giờ cao điểm.
- Chi phí vận hành, diện tích mặt bằng dành cho buồng thay đồ lớn, kèm theo chi phí nhân sự gấp xếp, bảo quản trang phục bị hư hại trong quá trình thử đồ.
- Trải nghiệm mua sắm online thiếu sự kiểm chứng về độ vừa vặn (fitment), dẫn đến tỷ lệ trả hàng (return rate) trong thương mại điện tử thời trang dao động từ 30% đến 40%.
Đặt vấn đề cụ thể (Problem Statement)
Đề tài "Thiết kế và điều khiển hệ thống gương tương tác thông minh" do nhóm nghiên cứu ngành Công nghệ Kỹ thuật Cơ điện tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) thực hiện dưới sự hướng dẫn của TS. Bùi Hà Đức, nhằm giải quyết bài toán cốt lõi: Xây dựng một hệ thống thử đồ và tương tác không tiếp xúc (contactless interactive mirror) thời gian thực, có khả năng tái tạo hình thể 3D chính xác, tự động trích xuất số đo 3 vòng và nhận diện cử chỉ điều khiển mà không cần gắn thiết bị cảm biến (markerless) lên người dùng.
Mục tiêu của dự án
- Nghiên cứu và làm chủ lý thuyết xử lý dữ liệu ảnh 3D, tái tạo đám mây điểm (Point Cloud) từ cảm biến quang học độ sâu.
- Thiết kế và tích hợp phần cứng hệ thống gương tương tác với cụm camera kép Intel RealSense D455 và bo mạch xử lý nhúng chuyên dụng.
- Xây dựng thuật toán lọc nhiễu, tách nền không gian (Spatial/Temporal Filters, RANSAC), ghép nối hai nửa đám mây điểm cơ thể bằng thuật toán ICP (Iterative Closest Point) kết hợp cấu trúc KD-Tree.
- Tích hợp mô hình trí tuệ nhân tạo (AI/Deep Learning) để theo dõi 18 khớp xương cơ thể (Skeleton Tracking) theo thời gian thực và phân loại cử chỉ tay bằng thuật toán SVM (Support Vector Machines).
- Phát triển thuật toán tự động tính toán kích thước cơ thể (chiều cao, vòng ngực, vòng eo, vòng mông) và thiết kế giao diện web tương tác trực quan.
+-------------------------------------------------------------------------+
| KIẾN TRÚC TỔNG QUAN HỆ THỐNG GƯƠNG THÔNG MINH |
+-------------------------------------------------------------------------+
| |
| +---------------------+ +---------------------+ |
| | Intel RealSense D455| (Camera Trái) | Intel RealSense D455| (Phải)|
| +----------+----------+ +----------+----------+ |
| | | |
| +-------------------+--------------------+ |
| | (USB 3.1 Gen 1) |
| v |
| +-------------------------------+ |
| | BỘ XỬ LÝ TRUNG TÂM | |
| | (NVIDIA Jetson / Host PC) | |
| +---------------+---------------+ |
| | |
| +------------------------+------------------------+ |
| | | |
| v v |
| +------------------------------+ +--------------------------+ |
| | PIPELINE XỬ LÝ ẢNH 3D | | AI SKELETON & GESTURE | |
| | - Spatial & Temporal Filter | | - 18 Khớp xương (Cubemos)| |
| | - RANSAC Ground Plane Removal| | - SVM Gesture Classifier | |
| | - ICP Point Cloud Stitching | | - Tracking tọa độ tay | |
| | - 3-Ring Slicing (Vòng 1,2,3)| +-------------+------------+ |
| +--------------+---------------+ | |
| | | |
| +-------------------+-------------------+ |
| | |
| v |
| +-------------------------------+ |
| | GIAO DIỆN WEB TƯƠNG TÁC (GUI) | |
| | (HTML5/CSS3/JS, PHP, MySQL) | |
| +---------------+---------------+ |
| | |
| v |
| +-------------------------------+ |
| | MÀN HÌNH HIỂN THỊ GƯƠNG 43" | |
| +-------------------------------+ |
+-------------------------------------------------------------------------+
Phương pháp tiếp cận và kết quả kỳ vọng
- Giải pháp tiếp cận: Sử dụng hệ thống 2 camera độ sâu bố trí đối xứng hai bên nhằm khắc phục triệt để vùng khuất (occlusion) của cơ thể người khi dùng một camera đơn lẻ, kết hợp phương pháp trích xuất không dấu (markerless tracking) qua SDK Cubemos và xử lý đám mây điểm bằng thư viện Open3D.
- Chỉ số đo lường kỳ vọng (Measurable Metrics):
- Tốc độ xử lý khung hình đạt $\ge 20\text{ FPS}$ trên luồng camera độ sâu.
- Độ chính xác nhận diện cử chỉ gạt tay đạt $>92%$.
- Sai số đo kích thước cơ thể (3 vòng và chiều cao) duy trì trong ngưỡng $\le \pm 2\text{ cm}$ so với phương pháp đo thước dây thủ công.
- Phạm vi và giới hạn: Hệ thống vận hành tối ưu trong buồng thử đồ kích thước nhỏ gọn (khoảng cách tương tác chuẩn từ màn hình đến người dùng là $1,5\text{ m}$), môi trường ánh sáng trong nhà được kiểm soát để tránh bão hòa kênh hồng ngoại (IR).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh |
Prestop Interactive Mirror |
Magic Mirror (H&M / Microsoft) |
Hệ thống gương tương tác (Đề tài) |
| Cảm biến hình ảnh |
Camera 2D RGB tiêu chuẩn |
01 Camera độ sâu đơn lẻ |
02 Camera độ sâu 3D Intel RealSense D455 |
| Giao thức tương tác |
Cảm ứng điện dung PCAP + Thẻ RFID |
Giọng nói (Microsoft Azure AI) |
Nhận diện cử chỉ động tác tay (SVM AI) |
| Tái tạo 3D & Đo kích thước |
Không hỗ trợ (Chỉ hiển thị 2D) |
Hạn chế do góc nhìn đơn (1 camera) |
Tái tạo Point Cloud 3D toàn diện, trích xuất 3 vòng |
| Độ nhạy môi trường |
Nhiễu sóng kim loại (RFID), vết bẩn màn hình |
Nhạy cảm với tiếng ồn môi trường bán lẻ |
Ổn định cao nhờ lọc Spatial/Temporal và IR chủ động |
| Chi phí đầu tư phần cứng |
Rất cao (Màn hình cảm ứng lớn) |
Rất cao (Cloud Voice Services) |
Tối ưu (Sử dụng màn hình tiêu chuẩn + Camera rời) |
Phân tích yêu cầu hệ thống theo mô hình MoSCoW
- Must Have (Bắt buộc phải có): Thu thập luồng dữ liệu 3D đồng bộ từ 2 camera D455; lọc nhiễu không gian và thời gian; thuật toán ghép nối đám mây điểm ICP; nhận diện khung xương 18 khớp; tính toán chiều cao và số đo 3 vòng; giao diện Web GUI tương tác cơ bản.
- Should Have (Nên có): Nhận diện cử chỉ tay (Swipe Left / Swipe Right) với độ trễ dưới $100\text{ ms}$; thuật toán RANSAC tự động loại bỏ mặt sàn và phông nền; thuật toán lấp lỗ hổng (Hole Filling) trên bề mặt Point Cloud.
- Could Have (Có thể có): Chế độ gợi ý trang phục tự động theo dáng người; lưu trữ lịch sử số đo người dùng vào cơ sở dữ liệu MySQL.
- Won't Have (Chưa thực hiện trong giai đoạn này): Mô phỏng vải động 3D thời gian thực (Real-time cloth physics simulation); tích hợp cổng thanh toán trực tiếp qua cổng ngân hàng.
Thiết kế hệ thống và công nghệ
Tech Stack chi tiết
- Ngôn ngữ lập trình: Python v3.8 (Core Processing), JavaScript ES6 (Client Interaction), PHP v7.4/v8.0 (Backend Services).
- Thư viện thị giác máy tính & 3D: Intel RealSense SDK 2.0 (
pyrealsense2 v2.50.0), Open3D v0.13.0, OpenCV v4.5.3.
- Mô hình AI & Học máy: Cubemos Skeleton Tracking SDK v1.3.0 (Dựa trên nền tảng OpenPose Deep Learning), Scikit-Learn v0.24.2 (Mô hình SVM Kernel RBF).
- Giao diện & Cơ sở dữ liệu: HTML5, CSS3, WebGL, Apache Web Server, MySQL Database v8.0.
Thiết kế cơ sở dữ liệu (Database Schema)
-- Bảng quản lý người dùng / khách hàng
CREATE TABLE `users` (
`user_id` INT AUTO_INCREMENT PRIMARY KEY,
`full_name` VARCHAR(100) NOT NULL,
`gender` ENUM('Male', 'Female', 'Other') NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng lưu trữ thông số đo lường cơ thể trích xuất từ 3D Point Cloud
CREATE TABLE `body_measurements` (
`measurement_id` INT AUTO_INCREMENT PRIMARY KEY,
`user_id` INT,
`height_cm` FLOAT NOT NULL,
`bust_cm` FLOAT NOT NULL,
`waist_cm` FLOAT NOT NULL,
`hip_cm` FLOAT NOT NULL,
`point_cloud_path` VARCHAR(255),
`measured_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng danh mục trang phục gợi ý
CREATE TABLE `fashion_catalog` (
`item_id` INT AUTO_INCREMENT PRIMARY KEY,
`item_name` VARCHAR(150) NOT NULL,
`category` VARCHAR(50) NOT NULL,
`size_tag` ENUM('XS', 'S', 'M', 'L', 'XL', 'XXL') NOT NULL,
`fit_bust_min` FLOAT, `fit_bust_max` FLOAT,
`fit_waist_min` FLOAT, `fit_waist_max` FLOAT,
`fit_hip_min` FLOAT, `fit_hip_max` FLOAT,
`image_url` VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Thiết kế giao tiếp API
POST /api/v1/sensor/capture: Kích hoạt camera kép chụp đồng thời, trả về đường dẫn dữ liệu đám mây điểm thô.
POST /api/v1/process/measure: Thực thi pipeline lọc nhiễu, ghép ICP, cắt lát và trả về JSON chứa tọa độ khớp xương cùng kích thước 4 chỉ số (chiều cao, 3 vòng).
GET /api/v1/catalog/recommend?bust=86&waist=68&hip=92: Truy vấn danh mục trang phục tương thích dựa trên quy tắc độ lệch kích thước.
Phương pháp luận (Methodology) và Quản trị rủi ro
Dự án áp dụng mô hình phát triển Agile/Scrum với chu kỳ Sprint 2 tuần, chia thành 4 giai đoạn chính:
- Khảo sát & Thiết kế phần cứng: Xác định không gian làm việc ($1,5\text{ m}$), góc mở FOV của camera D455 ($86^\circ \times 57^\circ$).
- Hiệu chỉnh & Lập trình thị giác máy tính: Xây dựng quy trình Calibration ma trận nội tại và ngoại tại của 2 camera.
- Phát triển thuật toán trích xuất số đo: Cắt lát lớp dữ liệu (Slicing) và tích phân chu vi đường biên.
- Tích hợp Web UI & Đánh giá thực nghiệm: Đóng gói ứng dụng, kết nối giao diện hiển thị và thu thập số liệu sai số.
| Rủi ro kỹ thuật |
Mức độ |
Biện pháp giảm thiểu |
| Nhiễu giao thoa phát xạ hồng ngoại (IR Crosstalk) |
Cao |
Đặt góc lệch cảm biến, sử dụng bộ lọc Spatial Edge-Preserving kết hợp Temporal Filter. |
| Lỗi ghép nối ICP do thiếu đặc trưng mặt phẳng |
Trung bình |
Khởi tạo ma trận chuyển đổi thô (Initial Transformation Guess) dựa trên vị trí lắp đặt phần cứng cố định. |
| Hiện tượng bóng mờ / Lỗ hổng bề mặt Point Cloud |
Trung bình |
Tích hợp thuật toán Hole Filling với chế độ nearest_from_around. |
Implementation và kết quả
Quy trình phát triển và thuật toán cốt lõi
1. Chuyển đổi dữ liệu độ sâu 2D sang Đám mây điểm 3D (Depth-to-Point Cloud)
Từ ma trận tham số nội của camera ($f_x, f_y, c_x, c_y$) thu được sau quá trình Calibrate và độ sâu $Z = d(x,y)$, tọa độ không gian thực $(X_i, Y_i, Z_i)$ của mỗi điểm ảnh được tính toán theo mô hình hình học Pin-hole:
$$Z_i = d(x,y)$$
$$X_i = \frac{x - c_x}{f_x} \cdot Z_i$$
$$Y_i = \frac{y - c_y}{f_y} \cdot Z_i$$
import pyrealsense2 as rs
import numpy as np
import open3d as o3d
def create_filtered_point_cloud(depth_frame, color_frame, intrinsic):
"""
Áp dụng bộ lọc Spatial & Temporal, sau đó sinh Point Cloud
"""
# Khởi tạo các bộ lọc nâng cao chất lượng ảnh độ sâu
spatial = rs.spatial_filter()
spatial.set_option(rs.option.filter_magnitude, 2)
spatial.set_option(rs.option.filter_smooth_alpha, 0.5)
spatial.set_option(rs.option.filter_smooth_delta, 20)
spatial.set_option(rs.option.holes_fill, 3) # Chế độ nearest_from_around
temporal = rs.temporal_filter()
temporal.set_option(rs.option.filter_smooth_alpha, 0.4)
temporal.set_option(rs.option.filter_smooth_delta, 20)
temporal.set_option(rs.option.holes_persistence, 4)
# Áp dụng chuỗi bộ lọc
filtered_depth = spatial.process(depth_frame)
filtered_depth = temporal.process(filtered_depth)
# Trích xuất dữ liệu mảng numpy
depth_data = np.asanyarray(filtered_depth.get_data())
color_data = np.asanyarray(color_frame.get_data())
# Tạo đối tượng Open3D Image
o3d_depth = o3d.geometry.Image(depth_data)
o3d_color = o3d.geometry.Image(color_data)
rgbd = o3d.geometry.RGBDImage.create_from_color_and_depth(
o3d_color, o3d_depth, depth_scale=1000.0, depth_trunc=2.5, convert_rgb_to_intensity=False
)
pinhole_intrinsic = o3d.camera.PinholeCameraIntrinsic(
intrinsic.width, intrinsic.height,
intrinsic.fx, intrinsic.fy, intrinsic.ppx, intrinsic.ppy
)
pcd = o3d.geometry.PointCloud.create_from_rgbd_image(rgbd, pinhole_intrinsic)
return pcd
2. Ghép nối đa khung nhìn (Multi-view ICP Registration)
Hai nửa Point Cloud $P_{\text{source}}$ (Camera Phải) và $P_{\text{target}}$ (Camera Trái) sau khi qua tiền xử lý tách nền RANSAC và giảm mẫu Voxel ($voxel_size = 0.05$) được hợp nhất bằng thuật toán Point-to-Plane ICP:
$$\min_{\mathbf{R}, \mathbf{t}} \sum_{i} \left( \left( \mathbf{R} \mathbf{p}_i + \mathbf{t} - \mathbf{q}_i \right) \cdot \mathbf{n}_i \right)^2$$
Trong đó $\mathbf{n}_i$ là vector pháp tuyến của điểm đích $\mathbf{q}_i$, được tăng tốc tìm kiếm thông qua cấu trúc chỉ mục KD-Tree đa chiều với độ phức tạp tìm kiếm $O(\log N)$.
def align_and_merge_point_clouds(pcd_left, pcd_right, initial_trans_matrix):
"""
Ghép nối 2 đám mây điểm sử dụng thuật toán ICP và lọc Outlier
"""
# Giảm mật độ điểm để tối ưu hóa thời gian tính toán
pcd_left_down = pcd_left.voxel_down_sample(voxel_size=0.02)
pcd_right_down = pcd_right.voxel_down_sample(voxel_size=0.02)
# Ước tính pháp tuyến bề mặt cho Point-to-Plane ICP
pcd_left_down.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.05, max_nn=30))
pcd_right_down.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.05, max_nn=30))
# Thực thi ICP Registration
threshold = 0.03 # Ngưỡng khoảng cách 3 cm
icp_result = o3d.pipelines.registration.registration_icp(
pcd_right_down, pcd_left_down, threshold, initial_trans_matrix,
o3d.pipelines.registration.TransformationEstimationPointToPlane(),
o3d.pipelines.registration.ICPConvergenceCriteria(max_iteration=50)
)
# Áp dụng ma trận biến đổi tối ưu lên Point Cloud nguồn
pcd_right.transform(icp_result.transformation)
# Hợp nhất và loại bỏ ngoại lai (Statistical Outlier Removal)
merged_pcd = pcd_left + pcd_right
clean_pcd, ind = merged_pcd.remove_statistical_outlier(nb_neighbors=25, std_ratio=1.0)
return clean_pcd
3. Trích xuất số đo 3 vòng bằng phương pháp cắt lát hình học (Cross-Section Slicing)
Từ 18 khớp xương được trích xuất bằng SDK Cubemos (khớp vai, hông, đầu gối, cổ chân...), vị trí mặt phẳng cắt được xác định theo tỷ lệ nhân trắc học:
- Vòng 1 (Bust): Mặt phẳng nằm ngang dưới khớp nối vai và xương ức $12\text{ cm}$.
- Vòng 2 (Waist): Điểm giữa khoảng cách từ xương sườn cuối đến đỉnh mào chậu.
- Vòng 3 (Hip): Mặt phẳng ngang đi qua đỉnh khớp nối xương đùi (Hips Joint).
Độ dày lát cắt $\Delta h = 0,02\text{ cm}$. Chu vi đường biên được tích phân qua các đoạn thẳng nối tiếp các điểm biên trong mặt phẳng 2D $(X, Z)$:
$$C = \sum_{k=1}^{M-1} \sqrt{(X_{k+1} - X_k)^2 + (Z_{k+1} - Z_k)^2} + \text{Heuristic Back-Curve Correction}$$
def extract_body_circumference(merged_pcd, y_plane_height, thickness=0.02):
"""
Trích xuất lát cắt và tính toán chu vi đường bao
"""
points = np.asarray(merged_pcd.points)
# Lọc các điểm thuộc lát cắt ngang [y - thickness, y + thickness]
slice_indices = np.where((points[:, 1] >= y_plane_height - thickness) &
(points[:, 1] <= y_plane_height + thickness))[0]
slice_points = points[slice_indices]
if len(slice_points) < 50:
return 0.0
# Chiếu lên mặt phẳng 2D (X, Z) và sắp xếp theo góc cực (Polar Angle) quanh tâm cụm
center_x = np.mean(slice_points[:, 0])
center_z = np.mean(slice_points[:, 2])
angles = np.arctan2(slice_points[:, 2] - center_z, slice_points[:, 0] - center_x)
sorted_order = np.argsort(angles)
sorted_pts = slice_points[sorted_order][:, [0, 2]]
# Tính tổng khoảng cách Euclidean giữa các điểm liên tiếp
diffs = np.diff(sorted_pts, axis=0)
segment_lengths = np.sqrt(np.sum(diffs**2, axis=1))
raw_perimeter = np.sum(segment_lengths) * 100.0 # Quy đổi sang cm
return raw_perimeter
4. Nhận diện cử chỉ động tác tay bằng SVM
Vector chuyển động của cổ tay phải so với khớp khuỷu tay $(\Delta x, \Delta y, \Delta z, v_x, v_y)$ qua cửa sổ trượt 15 khung hình được đưa vào bộ phân loại Support Vector Machine (SVM) với Kernel RBF:
$$K(\mathbf{x}, \mathbf{x}') = \exp\left(-\gamma |\mathbf{x} - \mathbf{x}'|^2\right)$$
Hệ thống phân loại chính xác 3 trạng thái: Gạt sang phải (Next Item), Gạt sang trái (Previous Item) và Đứng yên (Idle).
Thử nghiệm và đánh giá kết quả
1. Đánh giá độ chính xác đo kích thước cơ thể (Thực nghiệm trên 10 đối tượng)
| Chỉ số đo |
Giá trị thực tế (Thước dây - cm) |
Giá trị hệ thống đo (Point Cloud - cm) |
Sai số tuyệt đối (cm) |
Sai số tương đối (%) |
| Chiều cao |
168.5 |
168.1 |
0.4 |
0.23% |
| Vòng 1 (Bust) |
88.0 |
89.2 |
1.2 |
1.36% |
| Vòng 2 (Waist) |
72.0 |
73.1 |
1.1 |
1.52% |
| Vòng 3 (Hip) |
94.0 |
95.4 |
1.4 |
1.48% |
| Trung bình |
- |
- |
1.025 cm |
1.14% |
2. Ma trận nhầm lẫn (Confusion Matrix) nhận diện cử chỉ động tác
| Cử chỉ thực tế \ Dự đoán |
Gạt phải (Swipe Right) |
Gạt trái (Swipe Left) |
Đứng yên (Idle) |
Độ nhạy (Recall) |
| Gạt phải (100 mẫu) |
96 |
2 |
2 |
96.0% |
| Gạt trái (100 mẫu) |
1 |
95 |
4 |
95.0% |
| Đứng yên (100 mẫu) |
0 |
1 |
99 |
99.0% |
| Độ chính xác (Precision) |
98.9% |
96.9% |
94.2% |
F1-Score: 96.6% |
+-------------------------------------------------------------------------+
| HIỆU NĂNG VẬN HÀNH THỜI GIAN THỰC (BENCHMARK) |
+-------------------------------------------------------------------------+
| |
| [Thu nhận Frame D455 x2] =========> 33.3 ms (30 FPS) |
| [Spatial & Temporal Filter] =========> 12.5 ms |
| [Skeleton Tracking 18 Khớp] ========> 24.8 ms |
| [RANSAC + ICP Stitching] =========> 145.0 ms (Kích hoạt khi đo) |
| [3-Ring Slicing Calculation] =======> 18.2 ms |
| [SVM Gesture Inference] =========> 2.1 ms |
| [Render Web Interface] =========> 16.6 ms (60 FPS) |
| |
| Tổng thời gian xử lý cử chỉ: ~39.4 ms (Tương đương ~25.4 FPS) |
| Tổng thời gian đo 3D hoàn chỉnh: ~235.9 ms (Dưới 0.25 giây) |
+-------------------------------------------------------------------------+
Đổi mới và đóng góp
- Kiến trúc dung hợp Camera 3D kép không dùng Marker: Khắc phục triệt để nhược điểm mất dữ liệu vùng lưng và hai bên hông của các hệ thống gương ảo truyền thống chỉ sử dụng 1 camera RGB hoặc ToF đơn lẻ.
- Quy trình lọc và xử lý dữ liệu thời gian thực tối ưu: Kết hợp chuỗi xử lý Spatial Edge-Preserving Filter $\rightarrow$ Temporal Filter with Persistence $\rightarrow$ RANSAC Ground Segmentation $\rightarrow$ Point-to-Plane ICP, giảm dung lượng dữ liệu đám mây điểm từ $1.200.000\text{ điểm}$ xuống còn $150.000\text{ điểm}$ mà vẫn giữ nguyên độ cong nhân trắc học của cơ thể.
- Thuật toán ước lượng biên dạng cong mặt sau (Heuristic Back-Profile Estimation): Bù đắp lượng điểm thưa ở vùng hõm lưng thông qua nội suy spline ràng buộc bởi vị trí trục xương sống từ Cubemos Skeleton Tracker, nâng độ chính xác của số đo vòng ngực và vòng eo lên hơn 35% so với mô hình 2D bounding box.
- Tương tác không chạm an toàn (Zero-touch UX): Giải quyết triệt để rủi ro lây nhiễm vi khuẩn/virus trên màn hình cảm ứng công cộng thông qua mô hình SVM phân loại cử chỉ động học.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Phòng thử đồ thông minh tại chuỗi bán lẻ (Smart Retail Booth): Khách hàng chỉ cần đứng trước gương trong 3 giây, hệ thống tự động quét số đo 3 vòng và đề xuất ngay các size áo/quần vừa vặn nhất, giảm 70% thời gian chiếm dụng phòng thử đồ truyền thống.
- Ngành may đo thời trang cá nhân hóa (Bespoke Tailoring Automation): Cung cấp bộ thông số nhân trắc học tức thì cho các nhà may đo thiết kế từ xa mà không cần hẹn gặp trực tiếp.
- Showroom & Triển lãm thời trang: Tăng cường trải nghiệm khách hàng (Customer Engagement), thu hút tương tác tại các trung tâm thương mại.
+-------------------------------------------------------------------------+
| SƠ ĐỒ LẮP ĐẶT HỆ THỐNG PHÒNG THỬ ĐỒ |
+-------------------------------------------------------------------------+
| |
| [ MÀN HÌNH GƯƠNG 43" ] |
| | |
| [Camera D455 Trái] | [Camera D455 Phải] |
| (Góc nghiêng 15°) | (Góc nghiêng 15°) |
| \ | / |
| \ | / |
| \ | / |
| \ | / |
| \ | / |
| \ | / |
| \ | / |
| \ v / |
| +-------------+ |
| | NGƯỜI DÙNG | |
| | (Vị trí đứng| |
| | cách 1.5m) | |
| +-------------+ |
| |
+-------------------------------------------------------------------------+
Phân tích hiệu quả kinh tế và ROI (Dự toán cho chuỗi 5 cửa hàng)
- Chi phí đầu tư ban đầu (CapEx per Booth):
- 02 Camera Intel RealSense D455: $1.000\text{ USD}$
- 01 Màn hình hiển thị chuyên dụng 43" & Kính phản xạ 2 chiều: $600\text{ USD}$
- 01 Bộ xử lý Mini PC / Jetson: $500\text{ USD}$
- Khung cơ khí, dây cáp, nguồn phụ trợ: $200\text{ USD}$
- Tổng CapEx / điểm: ~$2.300\text{ USD}$
- Hiệu quả thu hồi vốn (ROI Breakdown):
- Tiết kiệm 40% diện tích phòng thử đồ mặt bằng đắt đỏ tại trung tâm thương mại.
- Tăng tỷ lệ chuyển đổi mua hàng (Conversion Rate) tại cửa hàng thêm 18% nhờ loại bỏ tình trạng khách bỏ về do xếp hàng lâu.
- Thời gian hoàn vốn dự kiến (Payback Period): 6,5 tháng.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Hấp thụ tia hồng ngoại trên trang phục tối màu: Vải len đen hoặc nhung sẫm màu có xu hướng hấp thụ bước sóng hồng ngoại chủ động $850\text{ nm}$ của camera D455, làm tăng độ thưa của Point Cloud tại một số điểm cục bộ.
- Trang phục form rộng (Oversized): Hệ thống đo lường hình học bề mặt bên ngoài của trang phục đang mặc; nếu người dùng mặc áo khoác dày hoặc váy xòe rộng, số đo 3 vòng sẽ phản ánh kích thước lớp trang phục thay vì hình thể thực.
Hướng phát triển tiếp theo
- Tích hợp mô hình học sâu SMPL/SMPL-X (Skinned Multi-Person Linear Model) để ước lượng mô hình cơ thể 3D trần bên dưới lớp quần áo từ luồng ảnh RGB-D.
- Ứng dụng mô phỏng vật lý vải thời gian thực (Real-time Cloth Simulation) bằng Unreal Engine 5 / Unity để hiển thị chân thực chuyển động của tà áo khi người dùng cử động.
- Tích hợp mô-đun gợi ý trang phục thông minh dựa trên học tăng cường (Reinforcement Learning) và xu hướng thời trang theo mùa.
Đối tượng hưởng lợi
- Sinh viên chuyên ngành Cơ điện tử / Tự động hóa / CNTT: Tài liệu tham khảo toàn diện về việc tích hợp phần cứng nhúng, hiệu chuẩn hệ thống camera đa luồng và xử lý Point Cloud 3D trong thực tế.
- Kỹ sư thị giác máy tính (Computer Vision Engineers): Mẫu kiến trúc thực tế (Pipeline Architecture) kết hợp linh hoạt giữa xử lý đám mây điểm cổ điển (ICP, RANSAC) và mô hình Deep Learning (Pose Estimation).
- Doanh nghiệp bán lẻ & Thương hiệu thời trang: Giải pháp số hóa phòng thử đồ khả thi với chi phí hợp lý, nâng cao trải nghiệm khách hàng và tối ưu hiệu quả kinh doanh.
- Các nhà nghiên cứu Nhân trắc học & Y sinh: Phương pháp trích xuất số đo hình thái cơ thể người không tiếp xúc, tốc độ cao với độ chính xác chuẩn công nghiệp.
Câu hỏi thường gặp (FAQ)
1. Yêu cầu cấu hình tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu máy tính chủ trang bị CPU tối thiểu Intel Core i5 thế hệ 10 (hoặc AMD Ryzen 5 tương đương), 8GB RAM DDR4, 02 cổng kết nối USB 3.1 Gen 1 độc lập để đảm bảo băng thông truyền tải dữ liệu độ sâu từ 2 camera D455 ở độ phân giải $848 \times 480$ pixels @ 30 FPS. Trên nền tảng nhúng, có thể sử dụng bo mạch NVIDIA Jetson Xavier NX trở lên.
2. Hai camera RealSense D455 đặt đối diện có bị hiện tượng nhiễu xung đột chùm tia Laser (IR Crosstalk) không?
Cảm biến Intel RealSense D455 sử dụng máy chiếu hồng ngoại ngẫu nhiên (Infrared Dot Projector). Điểm chấm của camera này thực tế đóng vai trò như bề mặt vân nổi bổ sung cho camera kia, giúp cải thiện độ hội tụ ở các bề mặt phẳng trơn nhẵn. Để loại bỏ hiện tượng bão hòa tín hiệu, 2 camera được bố trí lệch góc chiếu $15^\circ$ và bổ sung bộ lọc không gian Spatial Filter.
3. Làm thế nào để hệ thống hoạt động ổn định trong các điều kiện ánh sáng khác nhau?
Hệ thống sử dụng cảm biến độ sâu stereo chủ động (Active IR Stereo) kết hợp máy chiếu hồng ngoại tích hợp, cho phép hoạt động hoàn hảo trong điều kiện thiếu sáng hoặc phòng tối. Đối với môi trường ánh sáng mạnh có thành phần bức xạ mặt trời trực tiếp, hệ thống kích hoạt chế độ tự động điều chỉnh độ phơi sáng hồng ngoại (Auto Exposure IR) và ngưỡng depth_trunc=2.5m.
4. Quy trình bảo trì và hiệu chuẩn camera (Calibration) có phức tạp không?
Hệ thống được thiết kế với cơ cấu khung định vị cơ khí cố định. Khi xuất xưởng hoặc lắp đặt lại tại vị trí mới, kỹ thuật viên chỉ cần sử dụng bảng cân chỉnh Target Board tiêu chuẩn và chạy tập lệnh tự động auto_calib.py trong khoảng 2 phút để tự động cập nhật ma trận biến đổi tọa độ extrinsic giữa 2 camera.
5. Dữ liệu hình ảnh người dùng có được bảo mật riêng tư không?
Hệ thống tuân thủ nghiêm ngặt tiêu chuẩn bảo mật dữ liệu riêng tư (Privacy-by-Design). Toàn bộ quá trình tính toán và nhận diện khung xương được xử lý tại biên (Edge Processing). Hệ thống chỉ lưu trữ các giá trị số đo số học (Metadata: chiều cao, vòng 1, 2, 3) và hoàn toàn loại bỏ luồng video RGB gốc ngay sau khi kết thúc phiên thử đồ.
Kết luận
Đồ án tốt nghiệp "Thiết kế và điều khiển hệ thống gương tương tác thông minh" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM đã hiện thực hóa thành công một giải pháp công nghệ mang tính ứng dụng cao cho ngành thời trang bán lẻ hiện đại. Bằng việc kết hợp nhuần nhuyễn giữa kỹ thuật cơ điện tử, thị giác máy tính 3D (Intel RealSense, Point Cloud, ICP Registration) và trí tuệ nhân tạo (Skeleton Tracking, SVM Gesture Classification), hệ thống đã chứng minh được độ chính xác đo lường nhân trắc học với sai số trung bình chỉ $\pm 1,025\text{ cm}$ và độ nhạy nhận diện cử chỉ đạt $96,6%$. Đây là nền tảng kỹ thuật vững chắc mở ra tiềm năng thương mại hóa rộng rãi cho các buồng thử đồ thông minh thế hệ mới, góp phần thúc đẩy làn sóng chuyển đổi số trong nền kinh tế bán lẻ tương lai.