TÓM TẮT LUẬN VĂN THẠC SĨ “Ứng dụng Kinect xây dựng ứng dụng thử quần áo ảo” là một đề tài nghiên cứu hỗ trợ khách hàng của cửa hàng thời trang có thể thay đổi các loại áo khác nhau tro
Trang 1BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
LÊ QUANG MINH
ỨNG DỤNG KINECT XÂY DỰNG ỨNG DỤNG THỬ QUẦN ÁO ẢO
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã chuyên ngành: 60480101
LUẬN VĂN THẠC SĨ
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2019
Trang 2Công trình được hoàn thành tại Trường Đại học Công nghiệp TP Hồ Chí Minh Người hướng dẫn khoa học:
Người phản biện 1:
Người phản biện 2:
Luận văn thạc sĩ được bảo vệ tại Hội đồng chấm bảo vệ Luận văn thạc sĩ Trường Đại học Công nghiệp thành phố Hồ Chí Minh ngày tháng năm
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 PGS.TS Huỳnh Trung Hiếu - Chủ tịch Hội đồng
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
Ngày, tháng, năm sinh: 19/08/1988 Nơi sinh: TP.HCM
Chuyên ngành: Khoa học Máy tính Mã chuyên ngành: 60480101
I TÊN ĐỀ TÀI:
Ứng dụng Kinect xây dựng ứng dụng thử quần áo ảo
NHIỆM VỤ VÀ NỘI DUNG:
Nghiên cứu và ứng dụng cảm biến Kinect vào việc nhận dạng cơ thể người và điều khiển bằng cử chỉ Xây dựng ứng dụng thử quần áo ảo phù hợp với cửa hàng quần
áo, cho phép khách hàng có thể thử trang phục ảo một cách nhanh chóng, tiết kiệm thời gian
II NGÀY GIAO NHIỆM VỤ: Theo Quyết định số 3441/QĐ-ĐHCN 26/12/2017 III NGÀY HOÀN THÀNH NHIỆM VỤ: 26/06/2018
IV NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Phạm Thế Bảo
Tp Hồ Chí Minh, ngày … tháng … năm 20 …
TRƯỞNG KHOA CÔNG NGHỆ THÔNG TIN
Trang 4LỜI CẢM ƠN
Trước hết tôi xin gửi lời cảm ơn chân thành tới tập thể các thầy cô giáo trong Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Thành phố Hồ Chí Minh đã giúp
đỡ tận tình và chu đáo để tôi có môi trường tốt học tập và nghiên cứu
Đặc biệt, tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy PGS.TS Phạm Thế Bảo, người
đã trực tiếp hướng dẫn, chỉ bảo tôi tận tình trong suốt quá trình nghiên cứu và hoàn thiện luận văn này
Một lần nữa tôi xin được gửi lời cảm ơn đến tất cả các thầy cô giáo, bạn bè, gia đình
và cơ quan đã giúp đỡ tôi trong thời gian vừa qua
Trang 5TÓM TẮT LUẬN VĂN THẠC SĨ
“Ứng dụng Kinect xây dựng ứng dụng thử quần áo ảo” là một đề tài nghiên cứu
hỗ trợ khách hàng của cửa hàng thời trang có thể thay đổi các loại áo khác nhau trong thời gian thực, mà khách hàng không cần phải thực hiện việc thay quần áo trong các phòng thử quần áo Mục tiêu nghiên cứu là phát triển một mô hình hỗ trợ việc theo vết và ước lượng kích thước áo của người dùng, giúp cho việc hiển thị kích thước áo
“ảo” được chính xác Hình ảnh của khách hàng sẽ được phân đoạn và đo đạc kích thước, sau đó thực hiện ước lượng số đo kích thước áo mà người dùng sẽ mặc Người dùng sẽ trực tiếp thấy được hình ảnh của mình mặc các loại áo khác nhau khi đứng trước một màn hình hiển thị đóng vai trò như một tấm gương phản chiếu Hình ảnh người dùng mặc áo “ảo” sẽ hiển thị tương ứng với các chuyển động của mình trong thời gian thực một cách mượt mà Phương pháp chúng tôi đề xuất đã được kiểm thử
và chứng minh tính hiệu quả trên các tập dữ liệu thực Hơn nữa, hệ thống còn được xây dựng trên các thiết bị thông dụng và tương đối rẻ, do đó khả năng được áp dụng rộng rãi trong cửa hàng thời trang là rất cao
Trang 6ABSTRACT
I present a “Virtual fitting rooms application using Kinect” system which allows
shoppers virtually try on different cloths in the real-time without changing their real clothes in fitting rooms The aim of research is to develop a novel method for tracking and estimation of clothes size for improving of display “virtual” upper cloth The shoppers’s body is segmented out from the image Then the system will extract the user’s body size After that, a user’s size cloth will be achieved by using my estimation method of clothes size The users can see themselves on the display dressed in the clothes’s chosen when they stands in front of the system’s display, which is like a mirror The “virtual” garment is overlay on user and smothly according
to user’s motions in the real-time The proposed methods have been tested and proven the efficiency on real databases Moreover, it utilized cheap hardware and therfore is affordable for and highly recommand for clothing shop
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan nội dung của luận văn “Ứng dụng Kinect xây dựng ứng dụng
thử quần áo ảo” là do tôi thực hiện dưới sự hướng dẫn của thầy PGS.TS Phạm Thế
Bảo Những nội dung được trình bày trong luận văn hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu khác nhau Tất cả các tài liệu tham khảo đều có xuất
Trang 8MỤC LỤC
MỤC LỤC v
DANH MỤC HÌNH ẢNH viii
DANH MỤC BẢNG BIỂU x
DANH MỤC TỪ VIẾT TẮT xii
MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 1
4 Cách tiếp cận và phương pháp nghiên cứu 2
5 Ý nghĩa thực tiễn của đề tài 2
TỔNG QUAN 3
1.1 Bài toán 3
1.2 Các hướng tiếp cận 5
1.2.1 Tạo nhân vật ảo 5
1.2.2 Thực tại ảo 7
1.2.3 Kỹ thuật theo vết người dùng thời gian thật 9
1.2.4 Ước lượng kích thước cơ thể người 12
1.3 Khó khăn và thách thức 14
1.4 Đề xuất hướng giải quyết 16
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 17
2.1 Ảnh chiều sâu 17
2.1.1 Kỹ thuật Ánh sáng có cấu trúc 17
2.1.2 Kỹ thuật Time of Flight – TOF 18
2.1.3 Ánh xạ điểm từ không gian chiều sâu qua không gian vật lý 19
2.2 Phân đoạn các bộ phận trên cơ thể 19
2.2.1 Giải thuật rừng ngẫu nhiên 19
2.2.2 Thuật toán Mean Shift 21
2.3 Phương pháp xác suất – thống kê 21
Trang 92.3.1 Mô hình hồi quy tuyến tính đơn 22
2.3.2 Mô hình hồi quy tuyến tính nhiều chiều 22
2.4 Phương pháp máy học 23
2.5 Phương pháp kết hợp 26
2.6 Phương pháp thu thập dữ liệu 27
2.6.1 Nguyên tắc chọn mẫu 28
2.6.2 Ước tính số lượng cỡ mẫu 31
2.6.3 Phương pháp nghiên cứu 32
2.7 Phương pháp xử lý số liệu 33
CHƯƠNG 3 XÂY DỰNG THUẬT TOÁN 36
3.1 Bài toán phát hiện người dựa trên video 36
3.1.1 Phân đoạn các bộ phận trên cơ thể người 36
3.1.2 Tính toán vị trí các điểm kết nối 37
3.2 Bài toán đo kích thước người dùng 43
3.2.1 Bài toán tính chu vi ngực 43
3.2.2 Bài toán tính chiều cao người dùng 50
3.3 Bài toán ước lượng số đo kích thước áo ngắn tay 52
3.3.1 Giới thiệu số đo áo 52
3.3.2 Mô hình số đo áo dựa trên phương pháp xác suất – thống kê 54
3.3.3 Mô hình số đo áo dựa trên phương pháp máy học 62
3.3.4 Mô hình số đo áo dựa trên phương pháp kết hợp 65
3.4 Bài toán ảo hóa thay áo 68
3.4.1 Xác định vị trí áo 70
3.4.2 Co dãn áo 72
3.4.3 Hiển thị áo ảo trên màn hình 73
CHƯƠNG 4 KẾT QUẢ VÀ ĐÁNH GIÁ 76
4.1 Môi trường thực nghiệm 76
4.1.1 Tổng quan hệ thống 77
4.1.2 Kiến trúc hệ thống 79
4.1.3 Thực hiện đo kích thước của người dùng 81
Trang 104.2 Xây dựng dữ liệu 82
4.2.1 Đối tượng nghiên cứu 83
4.2.2 Tổ chức đo 84
4.2.3 Đặc điểm chiều cao 87
4.2.4 Đặc điểm vai 89
4.2.5 Đặc điểm phần ngực 90
4.2.6 Đặc điểm số đo áo 91
4.3 Kết quả 100
4.3.1 Phát hiện và phân đoạn người dùng dựa trên video 100
4.3.2 Đo kích thước người dùng 103
4.3.3 Ước lượng số đo áo ngắn tay 107
4.3.4 Ảo hóa thay áo 117
KẾT LUẬN VÀ KIẾN NGHỊ 119
1 Kết luận 119
1.1 Ưu điểm 119
1.2 Khuyết điểm 119
2 Kiến nghị 120
2.1 Phát triển phương pháp cho phép người dùng là nữ thay đổi áo ảo 120
2.2 Phát triển phương pháp mô phỏng hiệu ứng quần áo 120
2.3 Phát triển phương pháp mô hình quần áo 3D từ các ảnh 2D 120
TÀI LIỆU THAM KHẢO 121
PHỤ LỤC 123
LÝ LỊCH TRÍCH NGANG CỦA HỌC VIÊN 124
Trang 11DANH MỤC HÌNH ẢNH
Hình 1.1 Hình minh họa các giai đoạn tạo nên nhân vật ảo của [3] 6
Hình 1.2 Hình minh họa hệ thống và cách hoạt động của nghiên cứu [5] 7
Hình 1.3 Ảnh người dùng được tách màu da lấy từ [8] 8
Hình 1.4 Hình trước (a – d) và sau khi áp dụng “retexturing” (e – h) lấy từ [9] 9
Hình 1.5 Hệ thống được cài đặt của bài báo [10] 11
Hình 1.6 Hình minh họa người dùng và nhân vật ảo được tạo nên của nghiên cứu [11] 12
Hình 1.7 Các phần trên cơ thể người sẽ được đo trong hệ thống của [13] 13
Hình 1.8 Cách tính độ dài của nghiên cứu [14] 14
Hình 2.1 Hình minh họa nguyên tắc hoạt động của ánh sáng có cấu trúc 18
Hình 2.2 Hình minh họa nguyên tắc làm việc của kỹ thuật Time-of-Flight 18
Hình 2.3 Giải thuật rừng ngẫu nhiên cho phân lớp dữ liệu 20
Hình 2.4 Kiến trúc tổng quát ANN 24
Hình 2.5 Mô hình xử lý thông tin của một ANN 24
Hình 3.1 Đặc trưng của cơ thể trên ảnh chiều sâu 37
Hình 3.2 Hình minh họa cách lấy số đo trên người của công thức (3-2) 44
Hình 3.3 Hình minh họa phương pháp được chúng tôi đề xuất để xác định chiều sâu ngực 45
Hình 3.4 Chiều rộng cổ của người dùng trong không gian ảnh màu và ảnh chiều sâu 47
Hình 3.5 Chiều rộng cổ tay trong ảnh chiều sâu của Kinect 49
Hình 3.6 Hình minh họa cách tính gia số 𝑦 lấy từ [14] 52
Hình 3.7 Sơ đồ mô hình ước lượng số đo áo áp dụng mô hình hồi quy tuyến tính đơn 58
Hình 3.8 Sơ đồ mô hình ước lượng số đo áo áp dụng mô hình hồi quy tuyến tính nhiều chiều 61
Hình 3.9 Mô hình ANN 63
Hình 3.10 Sơ đồ hoạt động của mô hình ANN 64
Hình 3.11 Sơ đồ hoạt động của mô hình dự kết hợp ANN và hồi quy 66
Hình 3.12 Sơ đồ hoạt động của phương pháp ảo hóa thay áo 69
Hình 3.13 Sơ đồ hoạt động của phương pháp xác định vị trí áo 71
Hình 3.14 Sơ đồ hoạt động của phương pháp co dãn áo 73
Hình 3.15 Hình minh họa các lớp hiển thị lên màn hình 74
Hình 3.16 Sơ đồ hoạt động của phương pháp hiển thị áo ảo 75
Hình 4.1 Hình nhắc người dùng cần thực hiện động tác cân chỉnh 77
Hình 4.2 Các thành phần trong hệ thống thử áo ngắn tay ảo 78
Trang 12Hình 4.3 Kiến trúc của hệ thống được phát triển trong luận văn 80
Hình 4.4 Sơ đồ hoạt động của hệ thống thử áo ảo 80
Hình 4.5 Hình minh họa các tư thế người dùng [16] 81
Hình 4.6 Hình minh họa cho phương pháp nhận dạng khi người dùng dang tay 82
Hình 4.7 Các loại thước đo được sử dụng 85
Hình 4.8 Hình minh họa các vị trí đo được đề cập trong Bảng 4.2 86
Hình 4.9 Biểu đồ phân bố chiều cao của người được đo 88
Hình 4.10 Tương quan chiều cao và dài lưng 89
Hình 4.11 Biểu đồ phân bố tỷ lệ giữa chiều cao/dài lưng 89
Hình 4.12 Biểu đồ phân bố số đo ngang vai 90
Hình 4.13 Biểu đồ phân bố số đo chu vi ngực 91
Hình 4.14 Biểu đồ phân bố kích thước áo 92
Hình 4.15 Tương quan số đo chiều cao và số đo ngang vai của tất cả kích thước áo 92
Hình 4.16 Tương quan số đo chiều cao và số đo ngang vai của kích thước áo S 95
Hình 4.17 Tương quan số đo chiều cao và số đo ngang vai của kích thước áo M 96
Hình 4.18 Tương quan số đo chiều cao và số đo ngang vai của kích thước áo L 97
Hình 4.19 Tương quan số đo chiều cao và số đo ngang vai của kích thước áo XL 98 Hình 4.20 Tương quan số đo chiều cao và số đo ngang vai của kích thước áo XXL 99
Hình 4.21 Kết quả phát hiện và phân đoạn người dùng dựa trên ảnh chiều sâu 101
Hình 4.22 Các môi trường đo thực nghiệm 102
Hình 4.23 Kết quả đo chiều cao người dùng 104
Hình 4.24 Tỷ lệ chính xác của phương pháp chúng tôi đề xuất 105
Hình 4.25 Kết quả đo chu vi ngực 106
Hình 4.26 So sánh hai phương pháp đo chu vi ngực chúng tôi đề xuất 107
Hình 4.27 Kết quả confusion matrix của phương pháp máy học 113
Hình 4.28 Kết quả ước lượng số đo áo 116
Hình 4.29 Độ chính xác của các phương pháp dự đoán kích thước áo 116
Hình 4.30 Kết quả ảo hóa thay áo 118
Trang 13DANH MỤC BẢNG BIỂU
Bảng 3.1 Bảng kích thước áo chuẩn 53
Bảng 4.1 Bảng so sánh độ cao khi đặt Kinect 79
Bảng 4.2 Cách xác định các mốc đo nhân trắc 86
Bảng 4.3 Số liệu thống kê chiều cao 88
Bảng 4.4 Số liệu thống kê kích thước vai 90
Bảng 4.5 Số liệu thống kê kích thước chu vi ngực 91
Bảng 4.6 Số liệu thống kê số đo vai được nhóm theo kích thước áo 93
Bảng 4.7 Số liệu thống kê số đo chiều cao được nhóm theo kích thước áo 94
Bảng 4.8 Số liệu thống kê số đo chu vi ngực được nhóm theo kích thước áo 95
Bảng 4.9 Số liệu thống kê số đo chiều cao và số đo ngang vai của kích thước áo S 96 Bảng 4.10 Số liệu thống kê số đo chiều cao và số đo ngang vai của kích thước áo M 97
Bảng 4.11 Số liệu thống kê số đo chiều cao và số đo ngang vai của kích thước áo L 98
Bảng 4.12 Số liệu thống kê số đo chiều cao và số đo ngang vai của kích thước áo L 99
Bảng 4.13 Số liệu thống kê số đo chiều cao và số đo ngang vai kích thước áo XXL 100
Bảng 4.14 Bảng số liệu thống kê của kết quả đo chiều cao người dùng 104
Bảng 4.15 Bảng số liệu thống kê của kết quả đo chu vi ngực người dùng 106
Bảng 4.16 Thống kê hồi quy của trung bình các số đo với kích thước áo của nhà sản xuất 107
Bảng 4.17 Bảng phân tích phương sai (ANOVA) của trung bình các số đo với kích thước áo của nhà sản xuất 108
Bảng 4.18 Bảng tương quan của trung bình các số đo với kích thước áo của nhà sản xuất 108
Bảng 4.19 Thống kê hồi quy của trung bình các số đo với kích thước áo của tập dữ liệu đo tay 109
Bảng 4.20 Bảng phân tích phương sai (ANOVA) của trung bình các số đo với kích thước áo của tập dữ liệu đo tay 109
Bảng 4.21 Bảng tương quan của trung bình các số đo với kích thước áo của tập dữ liệu đo tay 109
Bảng 4.22 Thống kê hồi quy của các số đo với kích thước áo của tập dữ liệu đo tay 110
Bảng 4.23 Bảng phân tích phương sai (ANOVA) của các số đo với kích thước áo của tập dữ liệu đo tay 110
Trang 14Bảng 4.24 Bảng tương quan của các số đo với kích thước áo của tập dữ liệu đo tay
110 Bảng 4.25 Thống kê hồi quy của các số đo với kích thước áo của nhà sản xuất 111 Bảng 4.26 Bảng phân tích phương sai (ANOVA) của các số đo với kích thước áo của
nhà sản xuất 111 Bảng 4.27 Bảng tương quan của các số đo với kích thước áo của nhà sản xuất 112 Bảng 4.28 Bảng chi tiết tham số của mô hình ANN đề xuất 113 Bảng 4.29 Thống kê hồi quy của các số đo với kích thước áo của tập dữ liệu đo tay
114 Bảng 4.30 Bảng phân tích phương sai (ANOVA) của các số đo với kích thước áo của
tập dữ liệu đo tay 114 Bảng 4.31 Bảng tương quan của các số đo với kích thước áo của tập dữ liệu đo tay
115
Trang 15DANH MỤC TỪ VIẾT TẮT
Trang 16MỞ ĐẦU
1 Đặt vấn đề
Thử quần áo khi đi mua sắm là một việc hết sức phổ biến khi khách hàng muốn biết các bộ quần áo mà cửa hàng bán có phù hợp với mình hay không Phương pháp thử quần áo truyền thống đang dần bộc lộ những khuyết điểm của mình, như việc khách hàng phải mất thời gian chờ đợi ở các phòng thử quần áo đông người là một ví dụ điển hình Với mong muốn góp phần tăng sự hài lòng của khách hàng khi đi mua quần áo, một số nghiên cứu đã sử dụng các phòng thay quần áo ảo dành cho khách hàng, để khách hàng có thể thử các bộ quần áo ảo thay vì thử quần áo thật một cách tốt nhất Một số phương pháp hiện nay sử dụng các nhân vật ảo hoặc các điểm trọng yếu để theo vết người dùng, tuy nhiên có khuyết điểm là thiếu chính xác trong việc
đo kích thước người dùng hoặc cần các thiết bị chuyên dụng để triển khai hệ thống Bằng cách sử dụng thiết bị Kinect của Microsoft để theo vết người dùng, sau đó rút trích thông tin về cơ thể người dùng để ước lượng kích thước áo phù hợp, luận văn
đã xây dựng nên “Ứng dụng thử quần áo ảo”
2 Mục tiêu nghiên cứu
Nghiên cứu và ứng dụng cảm biến Kinect vào việc nhận dạng cơ thể người và điều khiển bằng cử chỉ Xây dựng được ứng dụng thử quần áo ảo phù hợp với cửa hàng quần áo, cho phép khách hàng có thể thử trang phục ảo một cách nhanh chóng, tiết
kiệm thời gian
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu là cách thức sử dụng cảm biến Kinect để nhận dạng cơ thể người và điều khiển bằng cử chỉ
Phạm vi nghiên cứu là lý thuyết ứng dụng cảm biến Kinect trong việc nhận dạng cơ thể người và điều khiển bằng cử chỉ Xác định và nhận dạng các cử chỉ điều khiển hệ thống Nghiên cứu thiết kế chương trình cho phép thử áo ngắn tay ảo
Trang 174 Cách tiếp cận và phương pháp nghiên cứu
Phương pháp phân tích và tổng hợp lý thuyết:
Nghiên cứu các tài liệu về cảm biến Kinect và các công nghệ đang được sử dụng hiện nay
Nghiên cứu các tài liệu xây dựng mô hình ba chiều (3D) từ các hình ảnh hai chiều (2D)
Nghiên cứu các tài liệu về xây dựng giao diện người dùng điều khiển bằng cử chỉ Phương pháp nghiên cứu mô hình hóa:
Mô hình hóa hoạt động của hệ thống thay áo ngắn tay ảo
Mô hình hóa hình ảnh áo ngắn tay 2D dưới dạng 3D
Mô hình hóa các cử chỉ điều khiển hệ thống
5 Ý nghĩa thực tiễn của đề tài
Về ý nghĩa thực tiễn của đề tài giúp cho khách hàng của cửa hàng thời trang có được những trải nghiệm mua sắm tốt nhất, giảm tổn thất về mặt lưu trữ quần áo cho cửa hàng Kết cấu của luận văn được trình bày như sau:
CHƯƠNG 1 – Tổng quan: Trình bày lý do chọn đề tài, các hướng tiếp cận hiện nay trong lĩnh vực thử quần áo ảo, phạm vi bài toán, khó khăn gặp phải và hướng giải quyết
CHƯƠNG 2 – Cơ sở lý thuyết: Đưa ra các lý thuyết nền tảng trong lĩnh vực phát hiện người trên video Giới thiệu các phương pháp dự đoán kích thước áo của người dùng dựa trên phương pháp thống kê và máy học Nêu lên các phương pháp xử lý số liệu, thông kê các số liệu và tính tương quan
CHƯƠNG 3 – Xây dựng thuật toán: Trình bày về các phương pháp được chúng tôi đề xuất để giải quyết bài toán thử áo ngắn tay ảo Phương pháp phát hiện người dựa trên video, xây dựng mô hình đo kích thước cơ thể người dùng dựa trên ảnh chiều sâu Phương pháp ước lượng số đo kích thước áo ngắn tay và ảo hóa thay áo
CHƯƠNG 4 – Kết quả và hướng phát triển: Trình bày các kết quả đã đạt được, đánh giá các kết quả và so sánh với các nghiên cứu liên quan Nêu ra hướng phát triển của đề tài trong tương lai
Trang 18TỔNG QUAN
Chương này sẽ trình bày tổng quan về các vấn đề của việc sử dụng phòng thay quần
áo truyền thống Các hướng tiếp cận, khó khăn thách thức và hướng giải quyết cho bài toán thay quần áo truyền thống
1.1 Bài toán
Việc mua quần áo là một hoạt động quen thuộc của khách hàng khi đến với cửa hàng truyền thống và cửa hàng trực tuyến Đối với việc mua trực tiếp tại cửa hàng thì khách hàng thường cố gắng chọn một số quần áo và kiểm tra xem quần áo đó phù hợp như thế nào Trong khi đó, một khách hàng mua quần áo trực tuyến thường kiểm tra mức độ phù hợp của quần áo với các mô hình trên mạng thông qua những bức ảnh Nghĩa
là, khách hàng mua quần áo thường sẽ đưa ra quyết định sau khi nhận thấy hình ảnh trực quan của một bộ quần áo nhất định Ngoài ra, một số khách hàng muốn hỏi ý kiến người thân của họ hơn là việc tự mình quyết định bằng cách chia sẻ những bức ảnh này Tuy nhiên, bằng cách quan sát kinh nghiệm mua quần áo trong thực tế, các phương pháp như đã nêu ở trên có một số hạn chế như sau:
Thứ nhất, tại cửa hàng quần áo, để có thể thử quần áo mình đã lựa chọn, một thực tế phổ biến là khách hàng phải đứng xếp hàng và lần lượt vào phòng thử quần áo để thử quần áo Do cửa hàng bị hạn chế số lượng phòng thử quần áo, khách hàng thường phải dành phần lớn thời gian của họ để xếp hàng (vào giờ cao điểm thì sẽ phải mất thời gian nhiều hơn) Thời gian chờ đợi kéo dài sẽ ảnh hưởng đến kiên nhẫn của khách hàng, điều này dẫn tới sự kém hài lòng nơi khách hàng Để rút ngắn thời gian chờ đợi, nhiều cửa hàng đã áp dụng cách thức hạn chế số lượng quần áo tối đa khách có thể mang vào phòng thử quần áo tại cùng thời điểm Tuy nhiên chiến lược này lại mang đến rủi ro Nhiều khách hàng có sức mua cao và mong muốn thử cùng lúc nhiều quần áo, khi đó việc giới hạn số lượng quần áo tối đa có thể mang vào phòng thử quần áo sẽ làm cho khách hàng cảm thấy không thoải mái, điều này một lần nữa làm giảm sự hài lòng của khách hàng Nếu cứ tiếp tục chiến lược đó, tình hình sẽ trở nên tồi tệ hơn Khách hàng sau khi thử hết số lượng quần áo cho phép được mang vào
Trang 19cùng lúc, muốn thử tiếp, phải quay ra xếp hàng để thử bộ quần áo khác, và nhiều khách hàng sẽ ngay lập tức bỏ cuộc sau khi nhìn thấy một hàng dài người xếp hàng chờ thử quần áo
Thứ hai, khi khách hàng thay trang phục trong các phòng thử quần áo tại cửa hàng thì khả năng bị quay lén rất cao Lý do thứ nhất xuất phát từ việc phòng chống mất trộm quần áo, các cửa hàng lắp đặt các máy quay an ninh, và các thông tin nhạy cảm
về khách hàng bị phát tán ra ngoài Lý do thứ hai là đa phần các phòng thử quần áo đều có không gian mở, không có người quản lý dẫn đến khả năng bị quay lén khi khách hàng thử quần áo
Thứ ba, không phải khách hàng nào thử quần áo cũng nhẹ nhàng và giữ gìn cẩn thận, nhiều khách hàng thử xong thì quần áo cũng rách, hỏng Khi làm hỏng quần áo, khách hàng sẽ giấu hoặc treo về chỗ cũ hoặc để quần áo trong phòng thử Nhiều trường hợp khách hàng khi thử sẽ có mồ hôi dính lên quần áo cũng khiến vải bị mốc và ố màu… Những việc này gây rất nhiều thiệt hại cho cửa hàng quần áo
Thứ tư, đối với việc mua trực tuyến, tồn tại nhiều bất lợi hơn Khách hàng không thể trực tiếp cầm, nắm, thử quần áo cho đến khi hàng hóa được giao tới tay họ Khách hàng chỉ có thể ra quyết định dựa trên những người mẫu được đăng trên cửa hàng trực tuyến Tuy nhiên, một bộ quần áo nhìn rất đẹp với người mẫu trực tuyến thì không chắc sẽ hợp với khách hàng Vì vậy, việc không thể tiếp cận trực tiếp với quần
áo của khách hàng khi họ mua trực tuyến sẽ làm tăng khả năng bộ quần áo đó bị trả lại với lý do không phù hợp với họ
Qua những hạn chế trên, chúng ta có thể thấy những giới hạn không thể tránh được của cửa hàng truyền thống và cửa hàng trực tuyến Những giới hạn này mang đến những trải nghiệm không hài lòng cho khách hàng khi mua quần áo, cũng như những mất mát của cửa hàng về những khách hàng tiềm năng Để có thể vượt qua những khó khăn này, ý tưởng “thử quần áo ảo” được hình thành Khách hàng có thể hình dung được mình sẽ như thế nào khi thử những bộ “quần áo ảo”, do đó họ có thể dễ dàng tìm ra những bộ quần áo phù hợp với mình mà không cần phải mang nó vào
Trang 20phòng thử quần áo So sánh với việc thử quần áo trực tiếp tại các phòng thử quần áo trong cửa hàng, thì việc thử quần áo với hệ thống “thử quần áo ảo” mất ít thời gian của khách hàng hơn, họ không phải xếp hàng, không bị giới hạn số bộ quần áo được mang vào phòng thử, làm tăng hiệu suất mua của khách hàng, và tất nhiên làm tăng
sự hài lòng của khách hàng Xuất phát từ thực tế và ý tưởng trên, tôi đã quyết định
chọn đề tài: “Ứng dụng Kinect xây dựng ứng dụng thử quần áo ảo”
1.2 Các hướng tiếp cận
Hiện nay có rất nhiều tài liệu và công trình nghiên cứu áp dụng các phương pháp khác nhau để giải quyết cho bài toán thử quần áo ảo Mỗi phương pháp lại có những ưu và khuyết điểm riêng Do đó chương này sẽ trình bày tổng quan về các tài liệu và công trình nghiên cứu có liên quan đến lĩnh vực mà đề tài đã nêu ra Nội dung chính của các nghiên cứu sẽ được trình bày một cách ngắn gọn và nêu ra được các đặc điểm riêng cũng như đánh giá cho mỗi phương pháp
1.2.1 Tạo nhân vật ảo
Kỹ thuật ghi lại các thông tin người dùng, sau đó tái tạo lại trên máy tính tạo thành một nhân vật ảo gọi là “Avatar” Ví dụ như chương trình cho phép người dùng chụp ảnh chân dung, nhập một số thông tin về cơ thể như chiều cao, cân nặng, số đo 3 vòng
cơ thể,… Các thông tin này sau đó được máy tính tạo thành một nhân vật ảo, hiển thị lên màn hình, thay thế cho người thật Hoặc chương trình có thể ghi lại những thông tin trên một cách tự động mà không cần người dùng nhập tay [1, 2]
Một số nghiên cứu khác đã sử dụng máy quét 3D laser để tạo hình nhân vật ảo sao cho giống người thật nhất [3] Với phương pháp này thì trước khi người dùng thử quần áo trong cửa hàng, họ cần thực hiện thao tác quét cơ thể bằng máy 3D laser, Hình 1.1 Sau đó hình ảnh của họ sẽ được hiển thị trên một màn hình ảo “virtual mirror” được đặt tại cửa hàng Với những người dùng qua mạng Internet cũng cần thực hiện bước quét cơ thể tại cửa hàng hỗ trợ hệ thống này Và kết quả khi người dùng thử quần áo sẽ được hiển thị trên màn hình của họ
Trang 21Hình 1.1 Hình minh họa các giai đoạn tạo nên nhân vật ảo của [3]
Một nghiên cứu khác về khả năng cho phép người dùng thử quần áo trực tiếp trên website thông qua kỹ thuật “Virtual Try On” [4]
Nghiên cứu [5] đã phát triển một phương pháp khác cho phép người dùng tương tác với chính mô hình 3D của mình tại nhà thông qua một camera đo chiều sâu Tuy nhiên trước khi họ được tự do thử quần áo tại nhà thì cần trải qua quá trình ghi hình trước một hệ thống đặc biệt bao gồm nhiều camera Người dùng cần đợi một khoảng thời gian để hệ thống ghi nhận thông tin về cơ thể, hệ thống camera này bao gồm 10 camera được lắp đặt trong một khu vực 2 x 3 mét Sau khi thông tin về người dùng được ghi nhận, dữ liệu sau đó sẽ được chuyển về nhà của người dùng, người dùng chỉ cần trang bị một camera cảm nhận chiều sâu như Kinect phiên bản 1 là có thể thao tác với mô hình ảo của chính mình
Trang 22Hình 1.2 Hình minh họa hệ thống và cách hoạt động của nghiên cứu [5]
số phần Kinect không cung cấp được như phần hông, nghiên cứu cũng thức hiện thêm một số bước dựa trên ảnh chiều sâu để tính toán
Một số nghiên cứu khác của Ziquan, Lan [7], hay Isikdogan, F.; Kara, G [8], sử dụng
mô hình quần áo ảo 2D và [8] đã sử dụng thêm kỹ thuật rút trích màu da để tay người dùng không bị quần áo ảo che khi để tay phía trước bộ quần áo ảo
Thu nhận thông tin Chuyển dữ liệu tới
người dùng
Ảo hóa
Trang 23Hình 1.3 Ảnh người dùng được tách màu da lấy từ [8]
Ngoài những nghiên cứu về việc sử dụng mô hình quần áo ảo 3D hay 2D hiển thị chồng lấp lên hình ảnh người dùng để tạo hiệu ứng thử quần áo ảo, nghiên cứu [9] đã
sử dụng một phương pháp khác mà không dùng quần áo ảo 3D hay 2D đó là
“retexturing” Texture là một khái niệm để chỉ các tính chất có liên quan đến đặc điểm
bề mặt của vật thể và có kích thước, hình dáng, mật độ, sự sắp xếp cũng như tỷ lệ của các thành phần cơ bản trong vật thể Trong hình ảnh của người dùng thì đó là áo hoặc quần mà họ mặc Và khái niệm “retexturing” được đề cập trong bài nghiên cứu là
“quá trình thay thế texture của một đối tượng trên hình ảnh hoặc trong đoạn phim với một texture mới mà có đối chiếu đến các thông tin như độ biến dạng hoặc đổ bóng của texture gốc” Hình 1.4 là kết quả bài nghiên cứu với các hình từ a – d là hình gốc của người dùng chưa qua xử lý, và các hình từ e – h là hình đã “retexturing”
Trang 24Hình 1.4 Hình trước (a – d) và sau khi áp dụng “retexturing” (e – h) lấy từ [9] Các phương pháp và nghiên cứu trước chưa ước lượng được kích thước, loại trang phục nào phù hợp với người dùng như kích thước áo, quần Do đó để giải quyết cho bài toán “thử quần áo ảo” đã nêu ở phần 1.1, chúng ta cần giải quyết 4 bài toán sau:
Phát hiện và theo vết người dùng khi họ đứng trước thiết bị thu hình
Phát hiện và tính toán xác định số đo một số bộ phận trên cơ thể người (chiều cao, chiều dài lưng, chu vi ngực, chiều rộng vai…)
Dự đoán kích thước áo ngắn tay dựa trên việc đo đạc một số bộ phận trên người
Thực hiện ảo hóa, hiển thị hình ảnh áo ngắn tay ảo cùng với hình ảnh của người dùng lên màn hình
1.2.3 Kỹ thuật theo vết người dùng thời gian thật
Các phương pháp tạo nhân vật ảo hay tăng cường thực tế ảo sẽ không có tính tương tác cao nếu thiếu khả năng nhận dạng và theo vết người dùng trong thời gian thật Một số nghiên cứu hiện nay sử dụng các điểm trọng yếu để theo vết người dùng trong thời gian thật Các điểm trọng yếu này sẽ được đặt trên cơ thể người dùng Mỗi điểm trọng yếu sẽ có một đặc điểm riêng để đánh dấu vị trí mà nó đảm nhận, ví dụ như
Trang 25điểm trọng yếu cho tay trái sẽ có đặc điểm khác điểm trọng yếu cho tay phải Điểm trọng yếu có thể là bất cứ vật thể gì sao cho các điểm trọng yếu phải có đặc điểm khác nhau, và chúng được đặt trước các máy quay, mục đích chính là cho các hệ thống biết các điểm tham chiếu để xác định vị trí hoặc co dãn trong không gian với độ chính xác cao nhất Các điểm trọng yếu thường được dùng nhiều trong lĩnh vực thực tế ảo tăng cường Tại đây, các điểm trọng yếu giúp hệ thống hiển thị nội dung ảo lên trên nội dung thật tại một vị trí xác định do các điểm trọng yếu cung cấp thông tin Ví dụ như điểm trọng yếu gắn trên tay người, hệ thống sẽ hiển thị một đối tượng tại vị trí tay người một cách nhanh nhất và chính xác nhất dựa trên điểm trọng yếu này
Krista [10] đã sử dụng các điểm trọng yếu cho ứng dụng của mình Hệ thống của họ chủ yếu dựa trên một camera chính thực hiện thu giữ hình ảnh người dùng Sau đó kết quả thu được của camera được phân tích bằng Designer’s Augmented Reality Toolkit (DART) có tích hợp ARToolKit, một thư viện lập trình phổ biến cho việc theo vết dành cho nền tảng tăng cường thực tế ảo Hệ thống sẽ xác định vị trí của các điểm trọng yếu và thực hiện đặt mô hình 3D của quần áo lên các vị trí điểm trọng yếu được gắn trên người dùng, sau đó hình ảnh kết hợp này được chiếu lên màn hình Các điểm trọng yếu mà Krista dùng được gắn lên giữa ngực và hai cánh tay của người dùng Mỗi điểm trọng yếu sẽ có đặc điểm riêng và được gắn tương ứng lên cơ thể Hình 1.5 (trái) cho thấy hình ảnh các điểm trọng yếu được gắn lên người dùng Ngoài
ra để hỗ trợ nhận dạng các điểm trọng yếu nếu người dùng không quay mặt trực tiếp
về phía camera chính, thì hệ thống sẽ được mở rộng thêm 2 camera nữa như hình Hình 1.5 (giữa) Để bộ quần áo 3D di chuyển phù hợp với vị trí người dùng, một cấu trúc khung xương phù hợp với các điểm trọng yếu được sử dụng Phương pháp có một khuyết điểm là người dùng phải thực hiện gắn các điểm trọng yếu này lên người trước khi thực hiện thử quần áo ảo, và cũng phải đảm bảo việc gắn điểm trọng yếu phải chính xác nếu không muốn bộ quần áo ảo hiển thị không đúng trên cơ thể người dùng
Trang 26Hình 1.5 Hệ thống được cài đặt của bài báo [10]
Một phương pháp khác dựa trên điểm trọng yếu xây dựng hệ thống bao gồm một máy tính xử lý ảnh thời gian thực dùng để nhận dạng điểm trọng yếu, thay đổi hình dạng quần áo, một camera thu hình môi trường và người dùng, một màn hình hiển thị người dùng và quần áo ảo mà họ sẽ mặc [11] Người sử dụng sẽ được gắn các điểm trọng yếu nhỏ nhiều màu khác nhau lên các vị trí đặc biệt trên cơ thể Các màu này sẽ tương ứng với các phần của cơ thể Màu xanh lá dành cho cánh tay, màu xanh dương cho phần hông, màu đỏ cho vai Một thuật toán xử lý ảnh được áp dụng giúp xác định điểm trọng yếu của người dùng và sau đó các bộ quần áo 2D sẽ được hiển thị lên vị trí của các điểm trọng yếu này Nghiên cứu cũng chỉ ra rằng kết quả hiển thị chỉ với một camera phía trước là tốt, và đa phần thời gian mà người dùng sử dụng để thử quần áo là ở góc nhìn trực tiếp với màn hình
Một nghiên cứu khác cũng đi theo hướng tiếp cận này và phát triển một ứng dụng theo hướng tạo nhân vật ảo và sử dụng các điểm trọng yếu để theo vết các hoạt động của người dùng [12] Họ đã sử dụng 8 camera Vicon MX để tạo nên hệ thống theo vết người dùng thời gian thật Vicon là một hệ thống phát hiện quang học, thông tin
sẽ được hệ thống thu nhận và truyền tới máy tính mà không cần sử dụng cáp Để hoạt động được, trước hết người dùng phải được trang bị những vật thể hình cầu phản quang (các điểm trọng yếu), các điểm trọng yếu này phải được gắn vào các vị trí khác nhau trên cơ thể người, ví dụ như thân, tay, chân… Tiếp theo các camera sẽ phát tín hiệu hồng ngoài về phía người dùng, các tín hiệu hồng ngoại sẽ gặp các điểm trọng yếu phản quang và quay lại camera Camera sẽ ghi nhận thông tin về vị trí của các điểm trọng yếu này Thông tin trên các camera sẽ được tổng hợp và xác định nên vị
Trang 27trí 3D của từng điểm trọng yếu Tất cả mọi thứ trên đều được thực hiện trên từng khung hình, kết nối các khung hình lại với nhau ta sẽ có được quỹ đạo chuyển động của các điểm trọng yếu, hay nói cách khác đó cũng chính là các chuyển động của người dùng Hình 1.6 mô tả một người được trang bị các điểm trọng yếu (bên trái) và hình nhân vật ảo (bên phải) tương ứng
Hình 1.6 Hình minh họa người dùng và nhân vật ảo được tạo nên của nghiên cứu
[11]
1.2.4 Ước lượng kích thước cơ thể người
Các kỹ thuật đã trình bày ở trên hỗ trợ cho việc mô phỏng và theo vết người dùng thì còn một khía cạnh khác mà chúng ta cần tìm hiểu đó là việc ước lượng kích thước quần áo mà người dùng sẽ mặc Để có thể ước lượng được kích thước quần áo, ta cần biết được kích thước các phần trên cơ thể người dùng, hỗ trợ cho việc dự đoán quần
áo mà người dùng đang mặc, nhờ đó chương trình có thể đưa ra các gợi ý về kích thước của áo ảo mà họ đang thử, hơn nữa việc hiển thị chính xác kích thước bộ quần
áo sẽ giúp người dùng có cái nhìn trực quan hơn, không còn kiểu họ thử quần áo ảo thấy rất vừa vặn và đẹp, nhưng khi mua quần áo đó thì lại to hơn hay nhỏ hơn kích thước thật của họ, dẫn đến giảm trải nghiệm của người dùng
Trang 28Một số nghiên cứu trong lĩnh vực này như nghiên cứu được thực hiện bởi nhóm tác giả R Nakamura, M Izutsu và S Hatakeyama [13] Nghiên cứu đã phát triển một phương pháp giúp hệ thống ước lượng kích thước quần áo của người dùng, bằng việc
đo các phần trên cơ thể người dùng – Hình 1.7
Hình 1.7 Các phần trên cơ thể người sẽ được đo trong hệ thống của [13] Một nghiên cứu khác của tác giả O Kainz, F Jakab, M Michalko, R Vápeník và D Cymbalák cũng tập trung vào khía cạnh sử dụng Kinect làm công cụ đo cơ thể người [14] Đề tài đã nghiên cứu và sử dụng Kinect như là công cụ để đo cánh tay, dài tay, cẳng chân, đùi, khoảng cách giữa hai cánh tay, hông, và chiều cao Trước tiên, hệ thống sẽ ghi nhận thông tin các điểm kết nối của cơ thể người do Kinect nhận dạng được, sau đó sử dụng công thức “Pythagoras mở rộng” cho hai điểm kết nối của khung xương để tính khoảng cách, ví dụ ta có hai điểm kết nối là 𝐴(𝑥𝑎, 𝑦𝑎, 𝑧𝑎) và 𝐵(𝑥𝑏, 𝑦𝑏, 𝑧𝑏) thì khoảng cách giữa hai điểm này được tính theo công thức (1-1)
ĐầuNách phải
Chân trái Đáy quần
Trang 29𝑣 = √𝑥2 + 𝑦2+ 𝑧2 (1-1) Với 𝑣 là khoảng cách giữa hai điểm kết nối; 𝑥, 𝑦, 𝑧 lần lượt được mô tả trong Hình 1.8 Phương pháp này được sử dụng để tính các bộ phận như cánh tay, dài tay, cẳng chân, đùi, khoảng cách giữa hai cánh tay
Hình 1.8 Cách tính độ dài của nghiên cứu [14]
1.3 Khó khăn và thách thức
Khó khăn đầu tiên gặp phải là vấn đề làm cho máy tính hiểu được khi nào người sử dụng xuất hiện và theo vết người dùng Điều này cần máy tính phải có khả năng tương tác lại với người dùng một cách chủ động mà không cần người dùng phải nhập thông tin hoặc làm thêm tác vụ khác Mặc dù các nghiên cứu về các điểm trọng yếu đạt được nhiều thành tựu nhất định, tuy nhiên để triển khai thực tế đối với cửa hàng quần
áo thì lại gây nhiều khó khăn Một phần vì môi trường cần để thực hiện điều này tương đối phức tạp, cần có các điểm trọng yếu được chuẩn bị trước, người dùng cần phải thực hiện bước thủ công là trang bị các điểm trọng yếu này lên người, tại những
Trang 30vị trí phù hợp, gây nên phiền hà cho người dùng Hơn thế nữa, việc đo đạc các số đo trên cơ thể người dùng là điều khá khó khăn đối với các hệ thống này Đối với các nghiên cứu không sử dụng các điểm trọng yếu, điển hình như hệ thống sử dụng các
kỹ thuật ước lượng chiều sâu giữa đối tượng quan sát và camera, thì có thách thức trong việc phải nhận biết rất nhiều loại cơ thể người dùng, hướng nhìn hiện tại cũng như các tư thế của người dùng
Khó khăn thứ hai là sau khi hệ thống đã phát hiện người dùng, thì chúng ta cần phải thực hiện thao tác phân đoạn, và đo đạc một số bộ phận trên cơ thể người (chiều cao, chiều dài lưng, chu vi ngực, chiều rộng vai…) để phục vụ cho công tác lấy số đo của người dùng mà không cần phải thực hiện việc đo trực tiếp bằng các dụng cụ như thước dây Chúng ta cần phải phân tích và rút trích các thông tin từ hình ảnh người dùng, cần áp dụng các bước khử nhiễu nếu cần thiết, làm sao hạn chế tối đa sự sai lệch về thông tin của người dùng
Khó khăn thứ ba là việc dự đoán kích thước áo ngắn tay dựa trên việc đo đạc một số bộ phận trên người Như chúng ta đã biết, việc lựa chọn một chiếc áo ngắn tay phù hợp với từng người là một công việc không hề đơn giản, công việc này không chỉ đơn giản là đi lấy số đo của người dùng, rồi so trùng với các thông số trên áo của nhà sản xuất là sẽ có được kết quả Một số ví dụ như, nếu bạn có số đo giống y như thông số nhà sản xuất ghi thì việc chọn áo là quá đơn giản, tuy nhiên cũng có trường hợp như chiều cao bạn nằm trong khoảng giới hạn kích thước của chiếc áo này, tuy nhiên bề ngang của bạn lại vượt ra ngoài phạm vi của áo, thì lúc này bạn cần phải cân nhắc tăng kích thước của áo nếu không muốn bị quá chật
Khó khăn cuối cùng là ảo hóa, hiển thị hình ảnh áo ngắn tay ảo cùng với hình ảnh của người dùng lên màn hình Cần kết hợp các thông tin hình ảnh của người dùng nhằm tìm ra vị trí chính xác của người dùng trên màn hình Khi đã xác định được vị trí người dùng, chúng ta cần tính toán để hiển thị một chiếc áo ngắn tay ngay tại vị trí
đó sao cho hình ảnh người dùng và áo ảo phải trùng nhau, áo không được nhỏ hơn hay lớn hơn so với hình ảnh người dùng
Trang 311.4 Đề xuất hướng giải quyết
Để giải quyết các khó khăn và thách thức của việc nhận dạng và theo vết người dùng
sử dụng thiết bị thu hình Kinect, cũng như việc ảo hóa và ước lượng kích thước áo Chúng tôi đề xuất phương pháp giải quyết cho từng bài toán:
Bài toán 1: Phát hiện và theo vết người dùng thông qua ảnh chiều sâu
Bài toán 2: Dựa trên các thông tin điểm kết nối và thông tin ảnh chiều sâu thu được từ thiết bị Kinect, chúng tôi thực hiện việc phân đoạn và đo đạc một số bộ phận trên cơ thể người
Bài toán 3: Ước lượng kích thước áo ngắn tay ảo, chúng tôi đề xuất các phương pháp dựa trên phương pháp tính xác suất – thống kê và máy học
Bài toán 4: Ảo hóa thay áo, chúng tôi đề xuất phương pháp phân hiển thị hình ảnh người dùng và hình ảnh áo ảo trên nhiều lớp, áp dụng các phương pháp thay đổi hình dạng của mô hình 3D để thay đổi hình dạng áo ảo
Trang 32CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Chương này sẽ trình bày các lý thuyết nền tảng trong lĩnh vực phát hiện người trên video Giới thiệu các phương pháp dự đoán kích thước áo của người dùng dựa trên phương pháp thống kê và máy học Nêu lên các phương pháp xử lý số liệu, thông kê các số liệu và tính tương quan
2.1 Ảnh chiều sâu
Ảnh chiều sâu (RGB-D) là ảnh với sự kết hợp của hai thành phần Thành phần thứ nhất là ảnh màu (RGB) và thành phần thứ hai là ảnh chiều sâu Với mỗi điểm ảnh màu trong không gian RGB sẽ có một điểm ảnh tương ứng trong không gian chiều sâu Ảnh chiều sâu cho chúng ta biết khoảng cách thực của một điểm ảnh từ vị trí của thiết bị quan sát (Ví dụ: camera) tới vị trí một điểm của đối tượng quan sát Hiện nay
có nhiều kỹ thuật để tính ra thông tin độ sâu trong ảnh màu Hai kỹ thuật thông dụng nhất là kỹ thuật Ánh sáng có cấu trúc và Time of Flight sẽ được trình bày tiếp theo đây
2.1.1 Kỹ thuật Ánh sáng có cấu trúc
Ánh sáng có cấu trúc (Structured light) là kỹ thuật sử dụng một chuỗi những hình mẫu được quy định trước chiếu lên vật thể, những hình mẫu này sẽ thay đổi hình dạng theo một cách tương ứng với hình dáng của vật thể, một camera sẽ theo dõi sự thay đổi này từ một hướng khác Bằng việc phân tích sự thay đổi của hình mẫu quy định trước, ta có thể thu được thông tin chiều
Trang 33Hình 2.1 Hình minh họa nguyên tắc hoạt động của ánh sáng có cấu trúc
2.1.2 Kỹ thuật Time of Flight – TOF
TOF là kỹ thuật sử dụng tốc độ ánh sáng để đo khoảng cách giữa camera và vật thể Nghĩa là vật thể cần đo khoảng cách sẽ được ánh sáng chiếu vào, và phản xạ tới camera, bằng cách đo khoảng thời gian mà ánh sáng được chiếu từ camera tới vật thể,
và quay ngược trở lại camera, kết hợp với vận tốc ánh sáng đã biết (𝑐 ≈ 3 ∗ 108𝑚/𝑠)
Ta tính được quãng đường ánh sáng đã đi được – khoảng cách từ camera tới vật thể Muốn việc đo được chính xác, ta cần phải có thiết bị đo khoảng thời gian di chuyển của ánh sáng một cách chính xác
Hình 2.2 Hình minh họa nguyên tắc làm việc của kỹ thuật Time-of-Flight
Bắt đầu
Dừng
Đo thời gian
Trang 342.1.3 Ánh xạ điểm từ không gian chiều sâu qua không gian vật lý
Việc ánh xạ điểm ảnh từ không gian chiều sâu sang không gian vật lý là rất quan trọng Không gian chiều sâu cho chúng ta biết giá trị về chiều sâu tương ứng với thiết
bị thu nhận, tuy nhiên giá trị này lại không phải là khoảng cách vật lý (khoảng cách được đo bằng đơn vị mét) Do đó chúng ta phải thực hiện một phép ánh xạ sang không gian vật lý
Mỗi điểm ảnh (x_d, y_d) trong không gian ảnh chiều sâu có thể được ánh xạ sang không gian vật lý (đơn vị mét) theo công thức (2-1), (2-2) và (2-3)
Với: 𝑐𝑥𝑑, 𝑐𝑦𝑑, 𝑓𝑥𝑑, 𝑓𝑦𝑑 là các tham số của thiết bị đo chiều sâu Hàm 𝑑 là hàm ánh xạ
từ giá trị chiều sâu của điểm ảnh tại vị trí đó tới giá trị trong không gian vật lý (đơn
vị mét), hàm 𝑑 được định nghĩa theo công thức (2-4)
𝑑(𝑥𝑑, 𝑦𝑑) = 1
Với 𝛾, 𝛽 là các tham số của thiết bị đo chiều sâu
2.2 Phân đoạn các bộ phận trên cơ thể
Việc phát hiện và tính toán các bộ phận trên cơ thể người giúp chúng ta đo đạc được kích thước cũng như theo vết được đối tượng quan sát Để làm được điều này, chúng tôi đã áp dụng các phương pháp phát hiện và phân đoạn các bộ phận người dựa theo nghiên cứu [15]
2.2.1 Giải thuật rừng ngẫu nhiên
Giải thuật rừng ngẫu nhiên xây dựng cây không cắt nhánh nhằm giữ cho bias thấp và dùng tính ngẫu nhiên để điều khiển tính tương quan thấp giữa các cây trong rừng Bias là khái niệm về lỗi của mô hình học (không liên quan đến dữ liệu học) và
Trang 35variance là lỗi do tính biến thiên của mô hình so với tính ngẫu nhiên của các mẫu dữ liệu học
Rừng ngẫu nhiên tạo ra một tập hợp các cây quyết định không cắt nhánh, mỗi cây được xây dựng trên tập mẫu bootstrap (lấy mẫu ngẫu nhiên có hoàn lại), tại mỗi nút phân hoạch tốt nhất được thực hiện từ việc chọn ngẫu nhiên một tập con thuộc tính Lỗi tổng quát của rừng phụ thuộc vào độ chính xác của từng cây thành viên trong rừng và sự phụ thuộc lẫn nhau giữa các cây thành viên Giải thuật rừng ngẫu nhiên cho độ chính xác cao khi so sánh với các thuật toán học có giám sát hiện nay, chịu đựng nhiễu tốt
Hình 2.3 Giải thuật rừng ngẫu nhiên cho phân lớp dữ liệu
Trang 362.2.2 Thuật toán Mean Shift
Thuật toán này là thuật toán lặp phi tham số Cho một tập hợp các điểm dữ liệu chiều được đại diện bởi các giá trị xi, i = 1, 2, , n trong d-chiều không gian Rd Số lượng của điểm xi thuộc khu vực d-chiều xung quanh x với cạnh dài h được cho bởi (2-5)
2.3 Phương pháp xác suất – thống kê
Phân tích hồi quy là nghiên cứu sự phụ thuộc của một biến (biến phụ thuộc hay còn gọi là biến giải thích) vào một hay nhiều biến khác (biến độc lập hay còn gọi là biến giải thích) với ý tưởng cơ bản là ước lượng (hay dự đoán) giá trị trung bình của biến phụ thuộc trên cơ sở các giá trị đã biết của biến độc lập
Trang 372.3.1 Mô hình hồi quy tuyến tính đơn
Đặt (𝑥1, 𝑦1), (𝑥2, 𝑦2), … , (𝑥𝑛, 𝑦𝑛) là mẫu gồm n cặp quan sát trên đường hồi quy tổng thể thì phương trình hồi quy tuyến tính đơn được mô tả trong công thức (2-9)
Theo phương pháp bình phương bé nhất thì ước lượng các hệ số 𝛼 và 𝛽 là các giá trị
a và b sao cho tổng bình phương sai số của phương trình (2-10) bé nhất
𝑆𝑆 = ∑ 𝑒𝑖2
𝑛
𝑖=1
= ∑(𝑦𝑖− 𝑎 − 𝑏𝑥𝑖)2 𝑛
∑𝑛 𝑥𝑖2− 𝑛𝑥−2 𝑖=1
=∑𝑛𝑖=1(𝑥𝑖 − 𝑥)(𝑦𝑖 − 𝑦)
∑𝑛 (𝑥𝑖− 𝑥)2 𝑖=1
(2-11)
Và phương trình hồi quy tuyến tính mẫu của y trên x (2-13)
2.3.2 Mô hình hồi quy tuyến tính nhiều chiều
Giả sử Y phụ thuộc vào k biến độc lập 𝑋1… 𝑋𝑘 Nếu giá trị của k biến độc lập 𝑋1… 𝑋𝑘
mô hình hồi quy tuyến tính nhiều chiều được mô tả trong công thức (2-14)
𝑌 = 𝛼 + 𝛽1𝑋1+ 𝛽2𝑋2+ ⋯ + 𝛽𝑘𝑋𝑘 + 𝑈 (2-14) Trong đó:
Y (biến phụ thuộc): Chỉ tiêu phân tích
𝛼 (biến độc lập): Hệ số chặn phản ánh mức độ ảnh hưởng của các nhân tố khác lên chỉ tiêu phân tích
𝛽: Hệ số ướng lượng, các hệ số hồi quy này phản ảnh mức độ ảnh hưởng của từng nhân tố đến biến giải thích Nếu 𝛽 > 0 thì ảnh hưởng thuận và ngược lại là ảnh hưởng nghịch 𝛽 càng lớn thì sự ảnh hưởng đến chỉ tiêu phân tích càng
mạnh
𝑋𝑖 là các yếu tố ảnh hưởng, với i chạy từ 1 đến k
Trang 38 𝑈 là sai số
Gọi các hệ số 𝑎, 𝑏1… 𝑏𝑘 ước lượng cho 𝛼, 𝛽1… 𝛽𝑘 được xác định bởi phương pháp bình phương bé nhất Phương trình hồi quy được mô tả trong công thức (2-15)
𝑌 = 𝑎 + 𝑏1𝑥1+ 𝑏2𝑥2+ ⋯ + 𝑏𝑘𝑥𝑘 (2-15)
Có nhiều phương pháp ước lượng các tham số của mô hình trong đó hay sử dụng nhất
là phương pháp tối thiểu tổng bình phương các sai số hay bình phương cực tiểu Tuy nhiên hiện nay các phần mềm thống kê như R, Eviews, đã có tích hợp các module giúp tự động tính toán, ước lượng các tham số này Do đó trong khuôn khổ của báo cáo sẽ không tìm hiểu sâu về các phương pháp ước lượng tham số của các mô hình
2.4 Phương pháp máy học
Mạng neural nhân tạo (Artificial Neural Network - ANN) hay gọi tắt là mạng neural
là một trong những phương pháp máy học quan trọng được nghiên cứu, ứng dụng trong nhiều lĩnh vực của khoa học máy tính như nhận dạng mẫu, xử lý ảnh, xử lý văn bản,… Do mạng neural là một trong những phương pháp cơ bản của khoa học máy tính và đã được ứng dụng trong nhiều lĩnh vực nên trong báo cáo này sẽ không trình bày lại các khái niệm cơ bản, cách hoạt động và ứng dụng của mạng neural trong từng lĩnh vực cụ thể Nếu độc giả quan tâm có thể tham khảo các tài liệu chuyên về mạng neural Trong báo cáo này chỉ tập trung trình bày về mạng neural ứng dụng trong phân loại
Hướng tiếp cận của mô hình mạng neural là hướng tiếp cận theo hướng dữ liệu, tức
là sẽ không có một khuôn mẫu chung nào cho mô hình, thay vào đó mô hình mạng neural sẽ được học và hoàn thiện từ dữ liệu Cách tiếp cận này phù hợp với các tập
dữ liệu không tuyến tính, nơi mà không có một mô hình, lý thuyết thống kê nào cò thể mô hình hóa được
Trang 39Hình 2.4 Kiến trúc tổng quát ANN
Về cơ bản, một mạng neural truyền thẳng gồm 3 lớp (lớp nhập, lớp ẩn và lớp xuất) được biểu diễn như Hình 2.4 Các nút của ANN gọi là Neuron, mỗi nút nhận các dữ liệu vào, xử lý chúng và cho ra một kết quả duy nhất Kết quả xử lý của một nút có thể làm ngõ nhập cho các nút khác Trong đó, lớp ẩn gồm các nút nhận dữ liệu từ các nút ở lớp trước đó và chuyển đổi các dữ liệu nhập này cho các lớp xử lý tiếp theo Trong một ANN có thể có nhiều lớp ẩn
Quá trình xử lý thông tin của một ANN được biểu diễn như Hình 2.5
Hình 2.5 Mô hình xử lý thông tin của một ANN
Trang 40Ngõ nhập: Mỗi ngõ nhập tương ứng với một thuộc tính của dữ liệu Ví dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi ngõ nhập là một thuộc tính của khách hàng như thu nhập, nghề nghiệp, tuổi,
số con,…
Ngõ xuất: Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì ngõ xuất là có (cho vay) hoặc không (không cho vay)
Trọng số liên kết: Đây là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ liệu từ lớp này sang lớp khác) Quá trình học của ANN thực ra là quá trình điều chỉnh các trọng số của các ngõ nhập để có được kết quả mong muốn Hàm tổng: Tính tổng trọng số của tất cả các ngõ nhập được đưa vào mỗi nút Hàm tổng của một nút đối với 𝑛 ngõ nhập được tính theo công thức (2-16) Hàm tổng đối với nhiều nút trong cùng một lớp được tính theo công thức (2-17)
𝑊𝑖 là trọng số của các kết nối giữa các nút
Hàm chuyển đổi: Hàm tổng của một nút cho biết khả năng kích hoạt của nút đó còn gọi là kích hoạt bên trong Các nút này có thể sinh ra một tín hiệu trên ngõ xuất hoặc không trong ANN (nói cách khác rằng có thể ngõ xuất của một nút có thể được chuyển đến lớp tiếp theo hoặc không) Mối quan hệ giữa kích hoạt bên trong và kết quả được