ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
HỒ THIÊN HOÀNG
PHÂN TÍCH DỮ LIỆU KHUNG XƯƠNG
VÀ ỨNG DỤNG NHẬN DẠNG DÁNG ĐI
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Ĩ KỸ THUẬT
Đà 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. HUỲNH HỮU HƯNG
Phản biện 1: PGS.TS. Phan Huy Khánh
Phản biện 2: PGS.TS. Lê Mạnh Thạnh
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 –
không thể sử dụng.
2
Để khắc phục các nhược điểm này, hiện nay khi phân tích, nhận
dạng dáng đi bằng phương pháp sử dụng camera có cảm biến như
Kinect đang được nghiên cứu rộng rãi. Mục đích của phương pháp này
là phân tích dữ liệu khung xương và dáng đi để tạo ra một hệ thống
phản hồi sinh học theo thời gian thực nhằm xây dựng bộ dữ liệu về
dáng đi để nghiên cứu trong lĩnh vực sinh trắc học; hình thành nền tảng
cho hệ thống bảo mật mới [4], ví dụ nhờ phân tích dáng đi, danh tính
của một tên cướp bịt mặt và đeo găng tay vẫn có thể xác định được khi
hắn ta bước ra khỏi ngân hàng; sàng lọc thông tin y tế và biểu diễn sự
bất đối xứng trong dáng đi của bệnh nhân [5], bởi vì ngoài nhiệt độ cơ
thể, huyết áp, nhịp tim, nhịp thở và nồng độ ôxy trong máu, dáng đi
của chúng ta còn được các bác sĩ đánh giá là dấu hiệu quan trọng thứ
6 có thể giúp chẩn đoán các bệnh như suy tim, bệnh phổi tắc nghẽn
mãn tính và hen suyễn; hay ước lượng các thông số dáng đi cơ bản
trong bối cảnh nhà ở [6].
Vì các lý do trên, tôi quyết định chọn đề tài “Phân tích dữ liệu
khung xương và ứng dụng nhận dạng dáng đi”
2. MỤC TIÊU VÀ NHIỆM VỤ CỦA ĐỀ TÀI
Mục tiêu của đề tài
Mục tiêu của đề tài là dùng camera Kinect ghi lại video và dùng các
giải thuật nhận dạng để xác định các đặc trưng từ đó xây dựng giải
pháp phát hiện sự bất thường trong dáng đi của người.
Nhiệm vụ chính của đề tài bao gồm
- Nghiên cứu các đặc trưng của dáng đi và các phương pháp phân
tích dáng đi.
- Nghiên cứu giải pháp mới sử dụng Kinect và giải thuật nhận dạng
- Tìm hiểu các kĩ thuật xử lý ảnh, mô hình hóa
- Các phương pháp trích chọn đặc trưng
- Các phương pháp nhận dạng
- Nghiên cứu các bài báo liên quan
Phương pháp thực nghiệm
- Xây dựng chương trình demo dựa trên giải pháp đề xuất
- Thực nghiệm trên dữ liệu đầu vào là các video.
- Kiểm tra hiệu quả với các các dữ liệu khung xương khác nhau.
5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
Ý nghĩa khoa học
Kết quả thu được là cơ sở để thực hiện các nghiên cứu tiếp theo
về dáng đi của người nhằm hỗ trợ cho các hệ thống y tế.
4
Ý nghĩa thực tiễn
Góp phần hỗ trợ cảnh báo kịp thời khi người cao tuổi gặp sự cố
bất ngờ như té ngã hay bị thương ở chân.
6. BỐ CỤC LUẬN VĂN
Nội dung của luận văn được trình bày bao gồm các phần chính
như sau:
Mở đầu
Chương 1: Giới thiệu tổng quan về Kinect
Ở chương này, nội dung chính là giới thiệu tổng quan về Kinect,
bao gồm chức năng, cấu tạo, môi trường làm việc, các đặc tính, thư
viện hỗ trợ và các ứng dụng của Kinect.
Chương 2: Tổng quan về phân tích dáng đi
Trong chương này giới thiệu tổng quan về phân tích dáng đi,
phương pháp phân tích dáng đi.
theo thời gian. Kết quả theo vết sau đó được dùng để trích xuất vectơ
đặc trưng của khung hình tương ứng. Nếu các đặc trưng được lựa chọn
phù hợp, vectơ tính được có khả năng biểu diễn tốt thông tin từ video
đầu vào và hệ thống mang lại hiệu quả cao.
Nhận dạng dáng đi: Sau khi có được các vectơ đặc trưng của một
chuỗi khung hình liên tiếp, hệ thống tiến hành xác định dáng đi tương
ứng với chuỗi giá trị đó. Bước xử lý này mang lại nhiều khó khăn bởi
6
mức độ đa dạng của việc biểu diễn thông tin dáng đi trong các bối cảnh
khác nhau, ví dụ góc nhìn, độ sáng, nền, quần áo đối tượng, hay tốc độ
thực hiện chuyển động. Để có được sự biểu diễn phù hợp, các đặc trưng
phải vượt qua sự ảnh hưởng của kích thước đối tượng cũng như sự
chênh lệch khối lượng thông tin của cùng một dáng đi khi được thực
hiện bởi nhiều người khác nhau. Một vấn đề quan trọng khác là làm
sao để tổng quát hóa được một dáng đi cụ thể thông qua một lượng
giới hạn các mẫu huấn luyện tương ứng với dáng đi đó.
Xác định ngữ nghĩa: Đây là bước xử lý cuối cùng của các hệ thống
thị giác máy tính, với mục tiêu xác định được ngữ nghĩa của dáng đi
thông qua việc phân tích kết quả của bước trước đó. Bên cạnh đó, các
thông tin phụ về ngữ cảnh khá cần thiết để có được kết luận chính xác
về một dáng đi. Trong [7], thông tin ngữ cảnh được xác định thông qua
việc giải quyết bài toán phân lớp. Cụ thể, các chuyển động giống nhau
có thể có ý nghĩa khác nhau tùy vào bối cảnh mà chúng được thực hiện,
vì vậy ta có thể xem như đó là những dáng đi khác nhau. Hai bước xử
lý đầu tiên của hệ thống thị giác máy tính không phụ thuộc vào ý nghĩa
bối cảnh, vì vậy, các quá trình đó có thể được kế thừa cho những vấn
đề khác có liên quan. Các thông tin ngữ cảnh thường được định nghĩa
trước, bao gồm địa điểm, thời gian, và tương tác. Địa điểm, tức là nơi
Bước thứ ba sử dụng kết quả theo vết và thông tin về quỹ đạo
chuyển động của các phần cơ thể để trích xuất các đặc trưng phù hợp.
Đây đang là một thách thức không nhỏ với các nhà nghiên cứu bởi các
đặc trưng được đề xuất vẫn chứa sự khác biệt đáng kể giữa các dáng
đi giống nhau được thực hiện bởi nhiều người, hoặc một dáng đi nhưng
được quan sát dưới các góc nhìn khác nhau. Vì vậy, việc xác định các
đặc trưng đáng tin cậy để khắc phục các vấn đề đã nêu là một trong
những mục tiêu chính đang được nghiên cứu trong lĩnh vực thị giác
máy tính hiện nay.
8
Chi tiết cụ thể của quá trình xử lý được đề cập ở trên đã được trình
bày ở nội dung cuốn toàn văn.
1.3 NHẬN DẠNG DÁNG ĐI
Về cơ bản, có hai phương pháp nhận dạng dáng đi: dựa vào đặc
trưng và dựa vào mô hình.
Phương pháp dựa vào đặc trưng
Trong phương pháp phân tích dựa vào đặc trưng, các đặc trưng
trích xuất được sử dụng để biểu diễn cho dáng đi.
Tùy thuộc vào mục đích phân tích dáng đi mà các đặc trưng khác
nhau của dáng đi được sử dụng.
Hiện nay, trong lĩnh vực phân tích dáng đi phục vụ việc nhận dạng,
phân tích hành vi té ngã hoặc phân loại, có nhiều đặc trưng khác nhau
được các nhà nghiên cứu sử dụng.
Trong các nghiên cứu dựa vào dữ liệu từ video, hình chiếu đối
tượng là đặc điểm chính thường sử dụng. Ở [54], hình chiếu nhị phân
của đối tượng được phủ bởi hình chữ nhật để nhận dạng người. Trong
[55] một phần hình chiếu của người được sử dụng để nhận dạng dáng
đi.
tay…
Mô hình Markov ẩn (HMM)
HMM là mô hình thống kê thích hợp để mô hình hóa dữ liệu tuần
tự. Về hình thức, các HMM được định nghĩa là một quá trình ngẫu
nhiên lồng với một quá trình cơ bản mà không thể quan sát được,
nhưng chỉ có thể được quan sát thấy thông qua một tập hợp các quy
trình ngẫu nhiên tạo ra chuỗi các quan sát đó. Có nghĩa là các trạng
thái cơ bản của quá trình tạo dữ liệu được ẩn, và chúng có thể được
suy ra thông qua quan sát.
10
Một HMM thông thường có thể được định nghĩa 𝜆 = (𝐴, 𝐵, π) với
A là ma trận xác suất chuyển trạng thái, B là ma trận xác suất quan sát
và π là ma trận khởi đầu của các trạng thái. Dựa trên 3 ma trận này,
các giai đoạn huấn luyện và phân lớp được tiến hành. Ở giai đoạn huấn
luyện, mỗi một lớp được xây dựng và huấn luyện với số lượng trạng
thái được chỉ định, các xác suất chuyển trạng thái và xác suất quan sát
tương ứng được tối ưu sao cho xác suất xuất hiện các chuỗi quan sát
giống với vector đặc trưng mẫu ở mức cao nhất. Giai đoạn phân lớp sẽ
tính toán xác suất mỗi HMM có thể tạo ra một chuỗi quan sát tương
ứng với vector đặc trưng đầu vào, và kết quả phân lớp được đưa ra dựa
trên HMM cho giá trị xác suất cao nhất. HMM đã được sử dụng thành
công trong nhiều ứng dụng bao gồm cả nhận dạng giọng nói, phát hiện
gen, và nhận dạng cử chỉ…
Mạng nơron nhân tạo (Artificial Neural Network - ANN)
Mạng nơron nhân tạo, gọi tắt là mạng nơron, là một mô hình xử lý
được cử chỉ của người sử dụng.
2.2 CẤU TẠO
1.2.1 Hệ thống cảm biến chiều sâu
1.2.2 Camera RGB – D
1.2.3 Động cơ, máy đo gia tốc, micro
1.2.4 Cảm biến đo chiều sâu (depth sensor)
1.2.5 Cảm biến hình ảnh (RGB – D)
2.3 THƯ VIỆN HỖ TRỢ KINECT
12
- Thư viện OpenNI
- Thư viện MicrosoftKinect SDK
2.4 Một số ứng dụng của Kinect
- Chọn trang phục ảo
- Chăm sóc sức khỏe
- Tương tác máy tính
- Y tế
- Giải trí
13
CHƯƠNG 3: PHÂN TÍCH DÁNG ĐI SỬ DỤNG
KINECT
3.1 TỔNG QUAN HỆ THỐNG
Sự bất thường trong dáng đi là một khái niệm rộng lớn và không
có định nghĩa xác định. Trong lĩnh vực thị giác máy tính, một dáng đi
được xem là bất thường nếu nó không nằm trong phạm vi giá trị cho
phép của dáng đi bình thường. Đối với bài toán phân tích dáng đi của
người thông qua dữ liệu thu từ một camera, ý tưởng được đưa ra để
xương như giá trị trung bình khoảng cách của 19 cặp khớp, chiều dài
bước, chiều cao cơ thể, khoảng cách trung bình giữa các khớp liền kề,
khoảng cách và góc giữa các khớp chi trên, chi dưới… để thử nghiệm
nhận dạng dáng đi.
15
So với các phương pháp sử dụng hình chiếu, khung xương cho biết
nhiều chi tiết về các thông số vật lý khi bước đi hơn. Ngoài ra, khung
xương ít phụ thuộc vào góc nhìn camera.
Với sự hỗ trợ của Kinect, hình ảnh khung xương Kinect nhận diện
được bao gồm 25 vị trí khớp thể hiện ở hình 3.2 dưới đây.
Hình 3.2: Vị trí các khớp trong khung xương Kinect
3.3 TRÍCH XUẤT ĐẶC TRƯNG
Khung xương của đối tượng ở mỗi khung hình được sử dụng để
trích các đặc trưng như sau: với đầu vào là bộ tọa độ 3D của các khớp
xương theo đơn vị centimet có gốc tọa độ là tâm của Kinect, hệ thống
tiến hành tính góc giữa bàn chân và cẳng chân trái, góc giữa bàn chân
và cẳng chân phải, góc giữa cẳng chân và đùi trái, góc giữa cẳng chân
và đùi phải, góc giữa đùi trái và bụng, giữa đùi phải và bụng
16
3.4 HUẤN LUYỆN
3.4.1 Tách chu kỳ bước
Xác định chu kỳ dáng đi là điều cần thiết khi huấn luyện. Có nhiều
phương pháp xác định chu kỳ dáng di như dựa vào chiều rộng hoặc
chiều cao của khung bao khi dùng đặc trưng hình chiếu. Trong luận
văn này, tác giả tách chu kỳ bước bằng cách sử dụng khoảng cách giữa
ra thành các chu kỳ bước đi, từ đó xây dựng chuỗi từ mã tương ứng.
Mỗi chuỗi như vậy được xem như một vectơ đặc trưng đầu vào của mô
hình HMM. Số quan sát của mô hình bằng giá trị k được chọn khi thực
hiện thuật toán k-means. Mô hình dáng đi bình thường được xây dựng
thông qua quá trình huấn luyện HMM với các vectơ từ mã được xác
định trên từng chu kỳ bước đi.
3.4.3 Phát hiện bất thường
Khi mô hình HMM cho dáng đi bình thường được xây dựng xong,
ta xác định được xác suất từng vector từ mã đã huấn luyện (Gọi là k).
Các xác suất này có giá trị thuộc phạm vi [0,1]. Để giảm sai số trong
tính toán, ta sử dụng logarit tự nhiên của các giá trị k này. Với t là
ngưỡng đánh giá, n là số chu kỳ huấn luyện, 𝛾𝑖 là logarit tự nhiên của
xác suất xuất hiện chu kỳ thứ i mô hình HMM đã xây dựng, 𝜑 là giá
trị trung bình các logarit, 𝐶 là hằng số, ngưỡng t để đánh giá dáng đi
bất thường được xây dựng bằng tổng của trung bình logarit với tích
một hằng số và phương sai của nó như sau:
2
∑𝑛
𝑖=1(𝛾𝑖 −𝜑)
𝑡 = 𝜑 + 𝐶√
𝑛
(3.5)
Vì logarit tự nhiên của xác suất nhỏ hơn 0 nên 𝜑 và C là các giá
trị âm.Với mỗi chu kỳ bước đi, nếu logarit tự nhiên của k
56
59
48
Người 2
26
41
42
36
Người 3
43
48
48
48
Người 4
55
Khom lưng
Ưỡn người di
di chuyển
chuyển
Bình thường
Bất đối xứng
thử
Nhận
Nhận
Nhận
Nhận
Nhận
Nhận
Nhận
Nhận
đúng
sai
66
1
49
7
51
2
46
2
26
0
37
4
30
47
2
53
3
48
0
48
3
40
1
44
2
Người
Người
1
Người
2
Hình 3.8: Dáng đi khom lưng
22
Hình 3.9: Dáng đi ngã ngữa
23
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Luận văn này đã trình bày tổng quan về Kinect, các công cụ và
phương pháp phân tích dáng đi hiện có, từ đó đề xuất phương pháp
mới phát hiện bất thường trong dáng đi của người thông qua camera
Kinect. Đầu tiên, một số đặc trưng dựa trên hình học được trích xuất
từ khung xương xác định bởi Kinect, cụ thể là tính toán các góc khớp
và góc giữa hai mặt phẳng khớp chân. Để biểu diễn tư thế người trong
mỗi khung hình bằng chỉ một giá trị duy nhất (gọi là từ mã), thuật toán
K-Means được áp dụng để phân cụm các vector đặc trưng. Tiếp theo,
chuỗi khung xương được tách thành các chu kỳ dựa vào sự biến đổi
giá trị khoảng cách giữa hai cổ chân theo thời gian. Cuối cùng, các
chuỗi từ mã tương ứng với các chu kỳ được sử dụng như đầu vào của
mô hình HMM. Việc huấn luyện được thực hiện với các chu kỳ dáng
đi bình thường, đồng thời một giá trị ngưỡng cũng được xác định nhằm
phân loại một chu kỳ dáng đi chưa biết. Khi tiến hành thực nghiệm
trên bộ dữ liệu gồm 5 người tự quay với 240 chu kỳ dáng đi bình
thường, 505 chu kỳ dáng đi bất thường, độ chính xác của giải pháp là
90.6%.
Qua quá trình nghiên cứu và thực hiện, luận văn đã góp phần xây
dựng được mô hình tổng quát của một dạng dáng đi bình thường, để
từ đó phát hiện được các loại dáng đi bất thường khác nhau, như bất