Tải bản đầy đủ (.pdf) (26 trang)

Xây dựng hệ thống nhận dạng khuôn mặt và hỗ trợ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (904.27 KB, 26 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRƯƠNG QUỐC TUẤN

XÂY DỰNG HỆ THỐNG NHẬN DẠNG
KHUÔN MẶT VÀ HỖ TRỢ PHÂN TÍCH
THÓI QUEN KHÁCH HÀNG

Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01

TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY
TÍNH

Đà Nẵng – Năm 2017


Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Người hướng dẫn khoa học: TS. Phạm Minh Tuấn

Phản biện 1: TS. Huỳnh Hữu Hưng
Phản biện 2: TS. Nguyễn Quang Thanh

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.

Có thể tìm hiểu luận văn tại:
- Trung tâm học liệu, Đại học Đà nẵng tại trường Đại học


Bách khoa
- Thư viện khoa Công nghệ thông tin, Trường Đại học
Bách khoa - Đại học Đà Nẵng


1
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
1.1. GIỚI THIỆU, PHÂN LOẠI VỀ TRÍ TUỆ NHÂN TẠO

Giới thiệu
Trí tuệ nhân tạo (tiếng Anh: Artificial
Intelligence hay Machine Intelligence, thường được viết tắt là AI) là
trí tuệ được biểu diễn bởi bất cứ một hệ thống nhân tạo nào. Thuật
ngữ này thường dùng để nói đến các máy tính có mục đích không
nhất định và ngành khoa học nghiên cứu về các lý thuyết và ứng
dụng của trí tuệ nhân tạo.
Các phương pháp
 Học máy (Machine learning)
 Xử lý ngôn ngữ tự nhiên (Natural language processing)
 Xử lý ngôn ngữ tiếng nói (Speech)
 Hệ chuyên gia (Expert systems)
 Dự báo, tối ưu hóa (Planning, optiomization)
 Robot
 Xử lý mờ (Vision)

Natural language
processing (NLP)

Machine learning
Vision

AI
(Artificial
Intelligence)

Speech

Robotics
Planning, optiomization


Expert systems

Hình 1.1. Các thể loại của trí tuệ nhân tạo


5
1.2. CÁC VẤN ĐỀ VỀ NHẬN DẠNG KHUÔN MẶT
Việc nhận dạng khuôn mặt để xác nhận cho vấn đề an toàn, các
thói quen ứng với từng khuôn mặt ấy được sử dụng rộng rãi. Không
những thế mà việc áp dụng nhận diện khuôn mặt xong, áp dụng với
việc dự đoán từ khuôn mặt để xác định hành vi, thói quen là một
trong những ứng dụng rất thực tiễn và mới mẻ trong rất nhiều lĩnh
vực.
Trong để tài nghiên cứu này, tôi đã kết hợp việc nhận dạng
khuôn mặt và trí tuệ nhân tạo (học máy) để áp dụng cho việc phân
tích thói quen khách hàng tại khách sạn.
1.2.1. Tìm hiểu về việc nhận dạng khuôn mặt (Face recognition)
Bài toán xác định khuôn mặt người là một kỹ thuật máy tính để
xác định các vị trí và các kích thước của khuôn mặt trong ảnh bất kỳ.
Kỹ thuật này nhận biết các đặt trưng khuôn mặt và bỏ qua những thứ
khác như: toà nhà, cây cối, cơ thể,…
 Hệ thống nhận diện khuôn mặt có thể giúp:


Tra cứu thông tin tội phạm.



Giám sát bằng camera để phát hiện tội phạm tại các khu


vực công cộng.


Tìm trẻ lạc dựa vào các camera đặt ở các nơi công cộng.



Phát hiện các nhân vật cần theo dõi



Phát hiện tội phạm tại các nơi công cộng.



Có thể dùng trong khoa học để so sánh một thực thể với

nhiều thực thể khác. v/v….
 Việc nhận diện khuôn mặt làm việc như thế nào?
Để xây dựng một hệ thống nhận dạng khuôn mặt, người ta
phải có đầu vào là một ảnh kỹ thuật số hay 1 khung hình video. Hệ


6
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)


Hình 1.2. Nhận diện khuôn mặt
1.2.2. Cảm xúc của khuôn mặt
Trong đề tài này, tôi không đi xa quá về việc làm thế nào để
nhận diện khuôn mặt và đặc tính của khuôn mặt một cách chi tiết, mà
chỉ mô tả khái quát và mô tả vài cảm xúc của khuôn mặt từ SDK
RealSense đã tích hợp như bên dưới:

Hình 1.3. Cảm xúc khuôn mặt (tt) [2]


7
1.3. CÁC TÁC ĐỘNG CỦA TRÍ TUỆ NHÂN TẠO VÀ ÁP
DỤNG ĐIỂN HÌNH
1.3.1. Tác động
Tác động đầu tiên của trí tuệ nhân tạo mà chúng ta có thể dễ
dàng nhận thấy chính là lượng thất nghiệp tăng cao. Nếu AI phát
triển hoàn thiện với khả năng thay thế con người trong các công việc
trí tuệ như chăm sóc sức khỏe, phục vụ, sản xuất theo dây chuyền tự
động, công việc văn phòng...
1.3.2. Các bài toán điển hình áp dụng các phương pháp
TTNT
 Nhận dạng mẫu
 Xử lý ngôn ngữ tự nhiên, Dịch tự động(dịch máy)
và Chatterbot
 Điều khiển phi tuyến và Robotics
 Computer vision, Thực tại ảo và Xử lý ảnh
 Lý thuyết trò chơi và Lập kế hoạch (Strategic planning)
 Trò chơi TTNT và Computer game bot
1.3.3. Những trí tuệ nhân tạo mạnh nhất hiện nay

Những tên tuổi lớn đang đầu tư mạnh tay cho trí tuệ nhân tạo
hiện nay gồm có Google, Facebook, Amazon, IBM, Microsoft và một
số hãng khác.
 Google: Google DeepMind, Hệ thống học máy TensorFlow
miễn phí cho tất cả mọi người.
 Facebook: Facebook cũng có công nghệ AI học sâu dùng để
nghiên cứu hành vi người dùng.
 Apple: Tạo giọng nói của Vocal IQ.


8
 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
Trong đề tài này, tôi sử dụng SDK Intel RealSense để nhận
diện khuôn mặt qua camera, SDK có thể cho chúng ta
các loại nhận diện như sau:
- Xác định vị trí khuôn mặt (Face Location
Detection): định vị một khuôn mặt hoặc nhiều khuôn
mặt bên trong một hình chữ nhật, và từ đó tính toán
đưa ra được những vị trí nhận diện. [2]
- Xác định điểm ranh giới (Landmark
Detection): Đối với dữ liệu này, bao gồm 78 điểm
mốc quan trọng, thường được sử dụng để xác định
các tính năng riêng biệt (mắt, miệng, lông mày,…)
của một khuôn mặt đã được phát hiện. [2]
- Phát hiện mẫu (Pose Detection): Đối với dữ
liệu này, thì nhận diện được định hướng của khuôn mặt (theo góc
quay, độ nghiêng) [2]
Việc xác định khuôn mặt được nhận diện thì SDK sẽ tham
chiếu khuôn mặt thông qua camera, so sánh trong database của SDK
lưu trữ và đã được đăng ký, khi đó khuôn mặt sẽ được phát hiện và
trả về ID của khuôn mặt.
 Dự đoán kết quả
Trong đề tài này, tôi sử dụng dữ liệu đầu vào là các khách hàng
check in vào khách sạn, và được xác định bởi tập dữ liệu có dự báo
bởi chuyên gia, vì vậy dữ liệu được giám sát để có thể qua dữ liệu
huấn luyện và cho ra kết quả dự bào. Vì vậy tôi áp dụng phương pháp
học có dám sát.
 Phương pháp học có dám sát
Học có giám sát là một kỹ thuật của ngành học máy để xây dựng một
hàm (function) từ dữ liệu huấn luyện. Dữ liệu huấn luyện bao gồm



12
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]

Hình 2.1. Kiến trúc của SDK Intel RealSense [2]
 Phương pháp suy đoán hồi quy tuyến tính:
Trong đề tài này, tôi sử dụng phương pháp suy đoán hồi quy
tuyến tính (linear regression), cần thiết kế các giá trị đầu vào và kết
quả mong đợi đầu ra của các hàm theo các bước sau:


13
Bảng 2.1. Bảng phương pháp suy đoán hồi quy tuyến tính
Bước

Công thức

Giá trị đầu

Giá trị đầu ra

vào
Hàm

y = <X, W> +


Vector X

y là một hàm tuyến
tính theo X

W
Tính

Tìm W sao

Ma

cho sai số

trận

bình

trọng

phương

số W

nhỏ nhất

Hàm

Để giải


tổn

quyết vấn

thất

: là hằng số được

đề học quá

dùng để điều chỉnh

(over

tránh hiện tượng over

fitting)

fitting

trong học
máy.
với q = 2:
Hạng hợp
thức L2

theo đường chéo của
mà trận
Những ưu điểm của kỹ thuật hồi quy tuyến tính:

- Có thể biểu diễn rõ ranh giới trong việc xác định hồi quy tuyến
tính.


14
- 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
Tuần 1

x

Tuần 2

x

T3

T4

T5

x

T6

T7

x
x

CN
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ị
1:
Số lần
khách
hàng
xuất
hiện
trước
đó.
0

Giá trị 2:
Khoảng
cách của lần
xuất hiện
trước đó.
Được tính
theo số
ngày.
0

Giá trị 3:
Kết quả suy

đoán, giá trị này
do chuyên gia
dự đoán (dựa
theo phương
pháp hồi quy
tuyến tính đã
mô tả ở trên)
0

1

1

1

2

2

1

Ghi chú

(Tuần 1, Thứ 2) checkin, và đây là lần đầu vào
khách sạn, kết quả dự
đoán là 0 (bất thường)
(Tuần 1, Thứ 3) checkin, trước đó đã 1 lần
check in, kết quả dự
đoán là 1 (bình thường)
(Tuần 1, Thứ 5) checkin, 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
3

2

1

4

1

0

5

2

0

6

2

1


(Tuần 1, Chủ nhật)
check-in, trước đó đã có
3 lần xuất hiện trước đó,
và khoảng cách là 3
ngày trước, kết quả dự
đoán là 1 (bình thường)
(Tuần 2, Thứ 2) checkin, trước đó đã có 4 lần
xuất hiện, và khoảng
cách là 1 ngày, điều này
có phần bất thường so
với lộ trình đều đặn các
lần trước được tăng dần.
Nên kết quả dự đoán là
0 (bất thường)
(Tuần 2, Thứ 4) checkin, trước đó đã có 5 lần
xuất hiện, và khoảng
cách là 2 ngày trước,
nên kết quả dự đoán là
bất thường.
(Tuần 2, Thứ 6) checkin, trước đó đã có 6 lần
xuất hiện, và có khoảng
cách là 2 ngày, kết quả
dự đoán là bình thường

Trong thực tế để có được dữ liệu lớn thì cần nhiều thời gian để
thu thập dữ liệu từ nhiều khách hàng, vậy với đề tài này tôi chỉ có thể
tạo dữ liệu check-in trên 1000 dòng với 1 khách hàng để có thể kiểm
chứng kết quả thực hiện của chương trình.



17
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 đúng vị trí của camera

Vào
2

Kết
quả
dự
báo

S
D
K

4
Tại quầy khách
sạn

3

I
n
t

e
l
R
e
a
l
S
e
n
s
e

Gọi SDK Intel Real Sense,
đọc hình ảnh của khuôn
mặt, so sánh với CSDL
của SDK, nếu đã có thì
hiển thị person ID, nếu
chưa có thì yêu cầu
Registtration

Hệ
thố Khách hàng chưa
lần nào vào
ng
khách sạn

Check In vào
khách sạn với
person ID đã
nhận diện


DB
SDK

DB
APP

Kiểm tra AI
với khuôn
mặt của
Person ID
Khách hàng đã
vào khách sạn
trên 1 lần

Dựa vào tập
dữ liệu huấn
luyện để đưa
ra kết quả

DB
APP

Hình 2.2. Kiến trúc tổng quát của chương trình
 Giải thích:
- (1) Tại quầy khách sạn: người khách vào khách sạn và


18
camera sẽ thu nhận hình ảnh

- (2) SDK Intel Real Sense sẽ nhận diện khuôn mặt này đã có
hay chưa?, nếu có rồi thì hiển thị Person ID theo database của SDK,
ngược lại nếu chưa có thì sẽ yêu cầu đăng ký khuôn mặt này vào
SDK. Đối với chương trình này, tôi cho thực hiện việc đăng ký vào
database của SDK thành công, thì sẽ ghi thông tin của người đó vào
cơ sở dữ liệu của App.
- (3) Phần hệ thống: kiểm tra ID Person của khách hàng đó với
hàm dự đoán từ phương pháp hồi quy tuyến tính để cho ra kết quả
nhận định.
- (4) Trả kết quả ngay trên màn hình tại quầy tiếp tân của
khách sạn.
 Nhận diện khuôn mặt từ camera thông qua SDK
Để nhận diện được khuôn mặt, chúng ta có thể dùng camera
3D (như giới thiệu ở chương 1) của Intel hoặc webcam, SDK sẽ nhận
diện qua từng bước:
- Ngược lại nếu chưa đăng ký, thì cần phải thực hiện chế độ
đăng ký khuôn mặt này với database của SDK.

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
phần 2.2 mô hình đề xuất)
Tính trọng số
Đọc dữ liệu huấn luyện (X)

Xác định hàm Y phụ thuộc vào dữ liệu
đầu vào X

Tính ma trận chuyển vị
Tính độ nhiễu (hàm tổn thất)

So sánh từ dữ liệu huấn luyện, độ nhiều
và dữ liệu để test
Đưa ra kết quả suy đoán

2.3. THUẬT TOÁN CHÍNH
 Linear regression
Hồi quy (regression) là một phương pháp học có giám sát
(supervised learning) trong máy học. Mục tiêu chính là tìm ra mối
quan hệ giữa các đặc trưng của một vấn đề nào đó. [5]
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
3.1. MÔI TRƯỜNG PHÁT TRIỂN
Do chương trình sử dụng phần nhận diện khuôn mặt thông qua
SDK Intel RealSense, vì vậy cần phải chuẩn bị các bước sau:
3.1.1. Chuẩn bị cho môi trường
Required

Máy tính có cấu hình: 4th generation Intel®


hardware

Core™ processor.

Required OS

Microsoft Windows 10 OS 64-bit.

Software

Intel® RealSense™ SDK Build Number:
10.0.26.0396 Version: 2016 R2
.NET framework version 4.6.1
Microsoft SQL Server 2014 Express 64-bit

3.1.2. Setup phần SDK Intel Real Sense
Thực hiện download bản SDK installer tại:
/>Mặc định, the SDK installs sẽ lưu tại
C:/ProgramFiles(x86)/Intel/RSSDK directory.
3.1.3. Cài đặt SQL Server và Tạo Database
 Cấu trúc database cho chương trình
 Table: Camera: Dùng để lưu data của các camera được nối
kết với hệ thống
 Table: PersonDetail: lưu chi tiết thông tin của khách hàng,
khi đăng ký khuôn mặt vào hệ thống.
 Table: ImageDetail: lưu trữ khuôn mặt với image id phù hợp
 Table: CheckInLog: lưu thông tin check in/out
 Table: VisitorHistory: lưu thông tin lịch sử khách hàng.



21
 Table: HistoryLog: lưu trữ quá trình khách rời camera
 Table Train: lưu trữ dữ liệu mẫu để thực hiện huấn luyện,
cũng là table sẽ cập nhật lại sau khi khách hàng check out.
3.1.4. Setup chương trình
Để thực hiện chạy chương trình, chỉ cần thực hiện trong
package MSI, và install
3.2. DỮ LIỆU ĐẦU VÀO
Dữ liệu là từ khách hàng vào khách sạn, thực hiện check in,
cùng với tập dữ liệu huấn luyện thu thập được đã đăng ký trước đó,
từ đây sẽ giải quyết các yêu cầu của bài toán.
3.3. PHÂN TÍCH KẾT QUẢ
Như đã trình bày ở trên, tôi sử dụng SDK Intel RealSense để
tiến hành nhận dạng khuôn mặt, xem như đầu vào dữ liệu, sau đó xây
dựng mô hình dự đoán của tập dữ liệu thu thập được.
Vấn đề dự đoán, tôi sử dụng theo mô hình học có giám sát
(dùng phương pháp hồi quy tuyến tính)
- Dữ liệu để huấn luyện, tôi sử dụng 1000 dòng, chứa các
thông tin của khách hàng đã check in trước đó.
- Các mốc thời gian có thể được huấn luyện, chứa các thông
tin của lần xuất hiện trước đó, khoảng cách lần xuất hiện trước đó, và
kết quả suy đoán do chuyên gia cập nhật
- Kết quả đầu ra là dòng dữ liệu, cho biết mức độ bình thường
hoặc bất thường (theo như ngưỡng đã xác định ở mục 2.2 ở trên)
- Dữ liệu sau khi dự đoán được cập nhật vào table Train
Sau khi xây dựng được mô hình, triển khai thì tôi chạy với 100
dòng dữ liệu của các khách hàng với đa phần là dữ liệu bất thường thì
kết quả thu được theo dự báo thói quen là bất thường, trích xuất 100
dòng dữ liệu từ Train.



22
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
Tiêu chí
Nhận dạng
khuôn mặt
Face

recognition
(image)

Kairos

Amazon

Google

Microsoft

IBM

OpenCV

Intel
RealSense


23
Face
Recognition
(video)
Cảm xúc
Tuổi & giới
tính
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
Độ chính xác Accuracy (AUC)

0.862

0.743

0.858

0.853

Thời gian để huấn luyện (giây)


135

76

17

5

188

369

5

1

(Time for training-s)
Thời gian dự báo (giây)
(Time for predictions-s)


×