Professional Documents
Culture Documents
123doc Xay Dung He Thong Nhan Dang Khuon Mat Va Ho Tro
123doc Xay Dung He Thong Nhan Dang Khuon Mat Va Ho Tro
Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt
nghiệp thạc sĩ khoa học máy tính họp tại Trường Đại học
Bách khoa vào ngày 13 tháng 08 năm 2017.
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Ngày nay với sự phát triển của nền khoa học máy tính và việc
nhận dạng hình ảnh khuôn mặt thông qua camera đã ứng dụng vào rất
nhiều trong cuộc sống của chúng ta nhằm để thực hiện các việc phát
hiện đối tượng, khách hàng để bảo mật, cảnh báo hoặc các ứng dụng
như robot để điều khiển việc giúp đỡ tự động từ hình ảnh khuôn mặt
thu nạp được.
Cùng với sự phát triển của trí tuệ nhân tạo là đặc trưng của lĩnh
vực dự đoán, phân tích các dự báo trong thế giới kỹ thuật số có tính
học máy, đòi hỏi cần phải thu thập dữ liệu và cho hệ thống máy tính
học dần các dữ liệu để phân tích đưa ra kết quả dự đoán.
Lĩnh vực thu thập dữ liệu khuôn mặt kết hợp với trí tuệ nhân
tạo nhằm đưa ứng dụng thực tế vào cuộc sống cũng còn mới mẽ và
được nhiều giới chuyên gia rất quan tâm. Trong đó việc nhận dạng
hình ảnh khuôn mặt và phân tích đưa ra kết quả dự đoán các hành vi,
thói quen đối với khách hàng tại khách sạn cũng là một ứng dụng có
tính khoa học và thực tiễn cao, giúp cho khách sạn có được đầy đủ
thông tin của khách hàng khi vào khách sạn, nhằm phục vụ cho việc
cảnh báo, giúp đỡ, phục vụ khách được chu đáo hơn.
Vì vậy, xuất phát từ nhu cầu đấy, tôi đã chọn đề tài luận văn
thạc sĩ:
“XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT
& HỖ TRỢ PHÂN TÍCH THÓI QUEN KHÁCH HÀNG"
2. Mục tiêu nghiên cứu
Xây dựng ứng dụng nhận diện khuôn mặt thông qua nền tảng
SDK Intel RealSense và áp dụng thuật toán của trí tuệ nhân tạo (học
2
máy) nhằm phân tích thói quen của đối tượng được nhận diện, đáp
ứng được các bước:
- Nghiên cứu và tạo ứng dụng nhận dạng khuôn mặt dựa trên
nền tảng SDK RealSense của Intel.
- Sử dụng việc nhận dạng khuôn mặt này và phân tích thói
quen của khách hàng áp dụng phương pháp tính toán của Trí tuệ nhân
tạo (học máy)
3. Nội dung nghiên cứu
- Tìm hiểu về việc nhận dạng khuôn mặt (face recognition)
thông qua SDK Intel RealSense.
- Tìm hiểu đặc tính cơ bản của khuôn mặt
- Tìm hiểu về phương pháp và thuật toán suy đoán hồi quy
(linear regression)
4. Đối tượng và phạm vi nghiên cứu
4.1. Đối tượng nghiên cứu
- Nhận dạng khuôn mặt thông qua SDK RealSense của Intel
- Các đặc điểm thói quen của khách hàng
- Giải thuật tính toán theo phương pháp hồi quy tuyến tính
4.2. Phạm vi nghiên cứu
- Dựa vào dữ liệu thu thập từ Camera và nhận dạng khuôn mặt
thông qua SDK.
- Sau khi thực hiện việc học dữ liệu huấn luyện, dùng phương
pháp suy đoán hồi quy tuyến tính và trả về kết quả, hỗ trợ, thông báo,
cảnh báo các thói quen của cá nhân đó.
5. Phương pháp nghiên cứu
5.1. Phương pháp lý thuyết
- Tiến hành thu thập và nghiên cứu các tài liệu có liên quan
đến kỹ thuật nhận dạng khuôn mặt, tính toán trong trí tuệ nhân tạo.
3
- Nghiên cứu lý thuyết về tính toán tuyến tính trong AI, nhận
dạng và phân tích các thói quen của khách hàng.
5.2. Phương pháp thực nghiệm
- Sử dụng SDK Realsense của Intel để xây dựng việc nhận
dạng hình ảnh khuôn mặt thông qua Camera, đưa dữ liệu vào cơ sở
dữ liệu.
- Xây dựng kỹ thuật tính toán tuyến tính trong AI để xác định
được các thói quen của người được nhận dạng
- Xây dựng tập dữ liệu huấn luyện ứng với khuôn mặt.
- Kiểm tra, thử nghiệm và đánh giá kết quả.
6. Ý nghĩa khoa học và thực tiễn
6.1. Ý nghĩa khoa học
- Áp dụng được thuật toán suy đoán hồi quy tuyến tính trong
AI vào việc phân tích thói quen thông qua việc nhận dạng khuôn mặt.
6.2. Ý nghĩa thực tiễn
- Ứng dụng việc nhận dạng khuôn mặt và phân tích thói quen
của khách hàng vào trong các lĩnh vực như khách sạn.
4
CHƯƠNG 1
TỔNG QUAN
Robotics
Expert systems
Planning, optiomization
Hình 1.1. Các thể loại của trí tuệ nhân tạo
5
thống kiểm tra và cho ra kết quả hình ảnh này là ai (đã có trong cơ sở
dữ liệu), việc nhận dạng này gồm 3 bước:
- Phát hiện khuôn mặt có trong hình/ video (face detection)
- Trích rút đặc trưng của khuôn mặt (feature extraction)
- Nhận dạng khuôn mặt (face recognition)
Elon Musk: Elon Musk đang hợp sức với nhiều hãng công
nghệ khổng lồ như Amazon, LinkedIn và PayPal phát triển trí tuệ
nhân tạo nguồn mở.
Microsoft: Dự án Oxford giúp phân tích hành vi người dùng
thông qua các giao diện chương trình ứng dụng (API) giọng nói, biểu
cảm và khuôn mặt, Future Decoded
IBM: Watson
Skype: Cung cấp khả năng dịch thuật theo thời gian thực,
nhận dạng giọng nói người dùng và chuyển sang chữ viết (text) khi
người dùng nói.
Salesforce: MetaMind chuyên về học sâu.
1.4. KHÁI QUÁT SDK INTEL REALSENSE
Công nghệ Intel RealSense là gì?
Intel RealSense, công nghệ mới do Intel phát triển, đang được
xem là sẽ làm thay đổi cách thức tương tác truyền thống của con
người với các thiết bị máy tính, hoạt động bằng cách sử dụng camera
3D.
9
CHƯƠNG 2
MÔ HÌNH NHẬN DẠNG KHUÔN MẶT &
HỖ TRỢ PHÂN TÍCH THÓI QUEN KHÁCH HÀNG
Trong cuốn luận văn này, tôi nghiên cứu phân tích khuôn mặt
nhằm để hỗ trợ nhận biết thói quen khách hàng, và sử dụng việc nhận
dạng khuôn mặt từ camera có sử dụng SDK Intel RealSense, qua đó
đánh giá được thói quen và dự báo mức độ an toàn đối với khách
hàng nhằm xây dựng mô hình hỗ trợ cho chiến lược, bảo mật của
doanh nghiệp, đẩy mạnh sự phát triển của doanh nghiệp.
2.1. PHÂN TÍCH BÀI TOÁN
Khách sạn A hoạt động trong lĩnh vực cho thuê phòng khách
sạn, đang chuẩn bị áp dụng việc nhận dạng khuôn mặt tại quầy tiếp
tân của khách sạn, để hỗ trợ cho việc phân tích thói quen, dự báo của
khách khi vào khách sạn. Từ đó góp phần cho việc xây dựng chiến
lược phát triển và hỗ trợ khách hàng của khách sạn.
Vấn đề mà khách sạn A muốn giải quyết là:
Khi khách hàng vào khách sạn, tại quầy tiếp tân thì có hệ thống
thu thập thông tin từ camera 3D của Intel có sử dụng SDK Intel Real
Sense để nhận diện khuôn mặt khách hàng,
Từ dữ liệu nhận dạng đó, đánh giá được hệ số dự báo (bình
thường/bất thường) của thói quen khách hàng. Với hệ số bình thường
có nghĩa là thói quen khách hàng này thường xuyên vào khách sạn
theo một khoảng thời gian với lịch trình tương đối đều đặn, ngược lại
bất thường có nghĩa là những thói quen khách hàng lần đầu vào
khách sạn, hoặc đã vào nhưng có lịch trình bất thường khi đến khách
sạn.
10
Với công việc yêu cầu từ khách sạn, thì tôi sẽ sử dụng camera
3D Intel có SDK Intel Real Sense để nhận diện khuôn mặt, và xây
dựng mô hình dự đoán theo phương pháp học có giám sát [4] nhằm
để phân tích dự báo bình thường/bất thường của khách hàng.
Đối với phương pháp nhận diện khuôn mặt: sử dụng Camera
3D và SDK Intel Real Sense để thu thập các khuôn mặt của khách
hàng thì chỉ cần mua 1 thiết Camera 3D của Intel hoặc sử dụng
Camera có sẳn trong laptop (nhưng độ chính xác của thiết bị không
được tốt, đồng thời chế độ nhận dạng khuôn mặt không theo chiều
3D như trình bày ở chương 1), và cài đặt SDK Intel Real Sense có
trên trang web của Intel, hoặc tham khảo tại chương 3 cho việc
download). Trong đề tài này, tôi sẽ sử dụng SDK Intel Real Sense
nhằm tận dụng tối đa sự hỗ trợ về nhận diện khuôn mặt, xây dựng
việc nhận diện được nhanh chóng và tối ưu hơn, thay vì phải nghiên
cứu và tự xây dựng phần nhận diện khuôn mặt.
Đối với phương pháp học có giám sát: tôi lấy nguồn dữ liệu
trước đây của khách sạn và kết quả tính toán suy luận, dự đoán từ
chuyên gia đã đánh giá việc khách hàng check in vào khách sạn. Để
phân tích dự báo thay chuyên gia, tôi xây dựng tập mô hình dự đoán
từ dữ liệu khách hàng đã check in vào khách sạn, mô hình này thông
qua việc xây dựng sẵn tập dữ liệu học có giám sát theo dạng cơ sở dữ
liệu với các trường dữ liệu (số lần xuất hiện, khoảng cách xuất hiện
và kết quả dự đoán), dựa trên dữ liệu của kết quả này, cho kết luận là
bình thường hoặc bất thường thay cho chuyên gia. Để thực hiện, tôi
xây dựng một thuật toán theo mô hình hồi quy tuyến tính (linear
regresstion) để xác định kết quả dự báo.
2.2. MÔ HÌNH ĐỀ XUẤT
Phương pháp nhận diện khuôn mặt
11
các cặp gồm đối tượng đầu vào (vector) và đầu ra mong muốn. Đầu
ra của một hàm có thể là một giá trị liên tục hay có thể là dự đoán kết
quả cho một đối tượng đầu vào. Nhiệm vụ của chương trình học có
giám sát là dự đoán giá trị của hàm cho một đối tượng bất kỳ là đầu
vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (đã học được
từ dữ liệu huấn luyện). [4]
Bảng 2.1. Bảng phương pháp suy đoán hồi quy tuyến tính
- Hiệu quả trong việc tính toán và sử dụng trong huấn luyện và
dự báo.
- Giảm thiểu mức độ nhiễu.
Xây dựng dữ liệu huấn luyện
Trong đề tài này, tôi xây dựng tập dữ liệu huấn luyện bằng
cách thu thập dữ liệu từ các khách hàng trước với tập dữ liệu gồm
cặp dữ liệu (số lần xuất hiện của khách hàng, khoảng cách của lần
xuất hiện trước đó), dựa vào chuyên gia tính toán để đưa ra dữ liệu
theo dạng:
Số lần xuất hiện đều đặn, và xuất hiện đều đặn theo khoảng
cách nhất định: thì kết quả dự đoán là bình thường.
Số lần xuất hiện không đều đặn, và xuất hiện cũng không theo
khoảng cách nhất định thí kết quả dự đoán là bất bình thường.
Dữ liệu đưa vào là vector chứa các cặp dữ liệu (số lần xuất
hiện, khoảng cách xuất hiện), từ đó xây dựng mô hình dự đoán theo
phương pháp hồi quy tuyến tính (mô tả ở trên) để tạo kết quả dự
đoán phân bổ trong khoảng [0,1]. Từ đó, chúng ta sẽ xây dựng và lựa
chọn một ngưỡng (threshold - ngưỡng là một giá trị dùng để phân
tách các giá trị để phân biệt các miền dữ liệu phân biệt), với ngưỡng
này nhằm để kiểm tra các mức độ dự đoán của từng khách hàng.
Trong phần nghiên cứu đề tài này, tôi chọn giá trị của ngưỡng
= 0.5 để phân tách giá trị trung bình để xét mức độ dự đoán bình
thường hoặc bất thường. Điều này có nghĩa là kết quả dự đoán >=0.5
thì gọi là “bình thường”, ngược lại <0.5 gọi là “bất thường”.
Ví dụ bảng dữ liệu như dưới đây được thu thập từ khách hàng
đã check in vào khách sạn:
15
T2 T3 T4 T5 T6 T7 CN
Tuần 1 x x x x
Tuần 2 x x x
Tuần 3
Từ bảng trên, tôi suy ra dữ liệu bảng dữ liệu để huấn luyện (giá
trị 1, giá trị 2) với chuyên gia dự báo (giá trị 3):
Bảng 2.2. Bảng dữ liệu để huấn luyện với chuyên gia dự báo
Giá trị Giá trị 2: Giá trị 3: Ghi chú
1: Khoảng Kết quả suy
Số lần cách của lần đoán, giá trị này
khách xuất hiện do chuyên gia
hàng trước đó. dự đoán (dựa
xuất Được tính theo phương
hiện theo số pháp hồi quy
trước ngày. tuyến tính đã
đó. mô tả ở trên)
0 0 0 (Tuần 1, Thứ 2) check-
in, và đây là lần đầu vào
khách sạn, kết quả dự
đoán là 0 (bất thường)
1 1 1 (Tuần 1, Thứ 3) check-
in, trước đó đã 1 lần
check in, kết quả dự
đoán là 1 (bình thường)
2 2 1 (Tuần 1, Thứ 5) check-
in, trước đó đã có 2 lần
xuất hiện, và khoảng
cách là 2 ngày trước,
kết quả dự đoán là 1
(bình thường)
16
2.3. THIẾT KẾ
Mô hình tổng quát
1
Camera sẽ thu nhận khuôn mặt khi khách
Vào vào vào đúng vị trí của camera
2
Kết
S
quả
dự
D Gọi SDK Intel Real Sense,
báo
K đọc hình ảnh của khuôn DB
mặt, so sánh với CSDL SDK
I của SDK, nếu đã có thì
4 n hiển thị person ID, nếu
Tại quầy khách t chưa có thì yêu cầu
sạn e Registtration
l
R
e Check In vào
khách sạn với
3 a
person ID đã
DB
l
S nhận diện APP
e
n
s
Kiểm tra AI
e với khuôn
mặt của
Person ID
Hệ
thố Khách hàng chưa Khách hàng đã
ng lần nào vào vào khách sạn
khách sạn trên 1 lần
Hình 2.3. Các bước của việc nhận dạng khuôn mặt từ SDK [2]
Dự đoán kết quả
Sử dụng phương pháp dự đoán hồi quy tuyến tính (mô tả ở
19
Tính trọng số
Đọc dữ liệu huấn luyện (X)
Data points
Linear
regression
Hình 2.5. Mô hình dữ liệu của phương pháp hồi quy tuyến tính [5]
20
CHƯƠNG 3
KẾT QUẢ VÀ THỰC NGHIỆM
Từ dữ liệu thực nghiệm được trích xuất, thì khách hàng này có
thói quen là xuất hiện với số lần check-in vào khách sạn không đều
đặn, có lúc là 1 ngày, 3 ngày, 4 ngày và 13 ngày,…các khoảng cách
này không theo một lũy tuyến, mà là bất thường có lúc này lúc khác,
khoảng cách check-in ngẫu nhiên, nên việc dự đoán thói quen từ
chuyên gia và hệ thống là dựa vào số lần xuất hiện trước đó phải có
tính đều đặn hoặc lũy tuyến thì sẽ xem như là bình thường, ngược lại
là bất thường, bảng thông tin phía dưới chỉ rõ việc thói quen của
khách hàng có tính chất bình thường và bất thường từ kết quả thu
được và dự báo của chuyên gia.
Với kết quả thu được thì tổng số 20/100 dòng dữ liệu không
khớp từ dự đoán của hệ thống so với chuyên gia, vậy kết quả của hệ
thống so khớp với chuyên gia là đạt 80%.
Và tôi đã thử với số lượng lớn 1000 dòng của nhiều khách
hàng với nhiều trường hợp bình thường và bất thường của mỗi khách
hàng, thì kết quả của hệ thống so khớp với chuyên gia đạt được 89%.
Kết luận rằng, với dữ liệu ít thì kết quả dự báo có phần chưa
hoàn toàn chính xác, nhưng dữ liệu train càng nhiều thì kết quả dự
báo được chính xác hơn.
Bảng so sánh việc nhận diện khuôn mặt với các hãng lớn trên
thế giới [6]
Bảng 3.2. Bảng so sánh nhận diện khuôn mặt
Hãng Kairos Amazon Google Microsoft IBM OpenCV Intel
Tiêu chí RealSense
Nhận dạng
khuôn mặt
Face
recognition
(image)
23
Face
Recognition
(video)
Cảm xúc
Nhiều
khuôn mặt
Nhận dạng
3D
SDK
API
Dân tộc
(Ethnicity)
Bảng so sánh các việc học máy từ các hãng lớn trên thế giới [7]
Bảng 3.3. Bảng so sánh các việc học máy
Dữ liệu so sánh là giống nhau Amazon Google PredicSis BigML
khoảng 150,000 dòng, sử dụng
các API của các hãng dưới đây