Nhận diện hành động con người đã và đang giúp chúng ta giải quyết nhiều vấn đềquan trọng trong đời sống từ dân sự đến quân sự: ứng dụng trong trình diễn, thuyếttrình, điều khiển không tư
Trang 2Cán bộ hướng dẫn khoa học : TS Hà Hoàng Kha
Trang 3
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Phạm Thế Hải MSHV: 7140443 Ngày, tháng, năm sinh: 22/07/1991 Nơi sinh: ĐăkLăk Chuyên ngành: Kỹ thuật Viễn Thông Mã số : 60520208
I TÊN ĐỀ TÀI:
ỨNG DỤNG MÔ HÌNH MARKOV ẨN VÀO NHẬN DIỆN HÀNH ĐỘNG CON NGƯỜI
II NHIỆM VỤ VÀ NỘI DUNG:
- Nghiên cứu lý thuyết mô hình Markov ẩn và các giải thuật liên quan, giải thích và nêu phương pháp áp dụng vào hệ thống nhận diện hành động con người
- Xem xét áp dụng giải thuật trích xuất khung xương trong trích xuất đặc trưng khung xương của con người
- Lập trình và thực nghiệm phần mềm nhận diện hành động con người - Kết luận và đề ra hướng kế tiếp cho các các nghiên cứu tiếp theo
III NGÀY GIAO NHIỆM VỤ : 06/07/2015 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 14/12/2015 V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS Hà Hoàng Kha
Trang 4Đầu tiên, tôi xin gửi lời cảm ơn chân thành đến thầy hướng dẫn luận vănthạc sĩ của tôi, TS Hà Hoàng Kha Trong quá trình thực hiện đề tài này,thầy đã nhiệt tình giúp đỡ, hỗ trợ tôi từ lúc bắt đầu nhận đề tài, thực hiệnđề cương cho đến khi hoàn thành luận văn Nhận diện hành động của conngười là một trong những hướng đi quan trọng của thị giác máy tính, dotính phức tạp của các đặc trưng trong việc nhận dạng hành động con ngườinên tôi phải tìm hiểu, nghiên cứu, tổng hợp rất nhiều tài liệu liên quan đếnđề tài tôi đang nghiên cứu Ngoài các nghiên cứu khoa học, các giải phápkỹ thuật công nghệ cũng cần được xem xét tới để có thể phù hợp với hiệntrạng khoa học công nghệ hiện tại, trong thời gian này, thầy Kha đã giúptôi có được các kiến thức cơ bản về phương pháp tối ưu và ứng dụng đượcnhững giải thuật toán tối ưu vào trong đề tài nghiên cứu này Với mỗi giảipháp được xét tới, thầy đều có thể giúp đỡ và suy nghĩ ra các hướng đi,phương pháp thích hợp nhất để tôi có thể lựa chọn và áp dụng.
Ngoài ra, tôi muốn gửi lời cảm ơn đến các thầy, cô đang giảng dạy trongbô môn Viễn Thông, trường Đại Học Bách Khoa thành phố Hồ Chí Minh.Các thầy, cô đã truyền dạy các kiến thức, kinh nghiệm sống quý báu củamình cùng với sự tận tâm trong quá trình giảng dạy Các tri thức mà tôiđã tiếp thu trong thời gian học thạc sĩ đã giúp ích cho tôi rất nhiều trongđề tài nghiên cứu này nói riêng và trong cuộc sống ứng xử, làm việc, giaotiếp với khách hàng nói chung
Cuối cùng, tôi xin cảm ơn đến gia đình của tôi, gia đình đã giúp đỡ, ủnghộ tinh thần và vật chất cho tôi giúp tôi có thể hoàn thiện luận văn này
Tp Hồ Chí Minh, ngày 14 tháng 12 năm 2015
Phạm Thế Hải
Trang 5Nhận diện hành động con người đã và đang giúp chúng ta giải quyết nhiều vấn đềquan trọng trong đời sống từ dân sự đến quân sự: ứng dụng trong trình diễn, thuyếttrình, điều khiển không tương tác với màn hình, máy chiếu (tương tác giữa người vàmáy), phát hiện được hành động té ngã của một bệnh nhân lớn tuổi hoặc bệnh nghiêmtrọng trong một không gian vừa phải như hành lang, phòng bệnh (y tế), các hành vinguy hiểm như: trộm, cướp (phòng vệ quân sự), Tuy nhiên, nhận diện hành độngcon người hiện đang là một thách thức rất lớn trong nghiên cứu xử lý ảnh, giải thuậttối ưu và thị giác máy tính do đặc tính không có cấu trúc cố định của mình.
Trong thời đại hiện nay, cùng với sự phát triển của tivi, điện thoại, thiết bị cầm taythông minh như Android TV, iPhone, Samsung Gear VR, HoloLens, việc nhận dạngcác hành động của con người đang đòi hỏi sự chính xác, nhanh chóng hơn Trong luậnvăn này, tôi xin trình bày một hệ thống nhận diện con người có thể nhận diện tự độngcác hành động của con người ở trong nhà và ngoài trời Hệ thống nhận diện hành độngcon người sẽ thu thập hình ảnh của hoạt động con người, từ đó trích xuất đặc trưngkhung xương của con người Thiết bị Kinect for Windows version 2 được chọn làmthiết bị chính để có thể trích xuất được các đặc trưng khung xương Các đặc trưngkhung xương này sẽ được tính toán, phân loại nhằm tìm ra một cơ sở dữ liệu khungxương có thể biểu diễn hầu hết các cử chỉ của con người trong một hoạt động Tôi đãcải tiến giải thuật trích xuất khung xương hình sao nhằm giúp hệ thống hoạt động hiệuquả hơn và áp dụng được vào các ứng dụng thời gian thực Dựa vào giải thuật này,hệ thống nhận diện có thể biến đổi các chuỗi cử chỉ thành chuỗi khung xương, sau đógán ký hiệu quan sát tương ứng với từng khung xương Chuỗi ký hiệu quan sát này sẽđược xử lý để huấn luyện các mô hình Markov ẩn tương ứng với bảy hành động: đứngyên, đi bộ, chạy, nhảy, té ngã, nằm, ngồi bằng giải thuật Baum-Welch và giải thuậtforward-backward nhằm tìm ra các thông số tối ưu của từng mô hình Markov ẩn saocho xác suất xuất hiện của các chuỗi cử chỉ tương ứng với mỗi hành động trong môhình tương ứng cao nhất có thể Trong khâu kiểm thử, từng chuỗi cử chỉ con ngườiđược biến đổi thành chuỗi ký hiệu quan sát và đưa vào bảy mô hình hành động đãđược tối ưu, ta có thể nhận diện được hành động hiện tại bằng cách tìm mô hình cóxác suất tồn tại chuỗi ký hiệu quan sát hiện tại cao nhất
Các kết quả thực nghiệm thu được của hệ thống khi nhận diện hành động đơn lẻđạt đến 100% hành động chính xác với số lượng chuỗi cử chỉ được nhận diện chínhxác hơn 90% Trong khi đó, hệ thống đã có thể hoạt động thời gian thực với khả năngchính xác từ 75-95% Ưu điểm của hệ thống này là có thể cập nhật cơ sở dữ liệu khungxương một cách tự động nhờ vào giải thuật trích xuất khung xương, với tổng thời gianhoạt động khi nhận diện là dưới 5ms, góp phần cải thiện khả năng mở rộng số lượnghành động và số khung xương trong cơ sở dữ liệu
Trang 6Human action recognition has found a wide range of applications for both militaryand civilian life such as controlling presentation devices by the human gestures (human-computer interaction), detecting the falling action of the old patients or serious illnesspatients in the patient room or hospital hallway (medicine), alerting some dangerousactions in a supervised area: stealing, robbing (military protection), and so on However,human action recognition is a great challenge in research of image processing, andcomputer vision because of the nonstructural characteristics of the human gesture insome actions.
With the development of television, telephone, hand-held devices called smart vices such as Android TV, iPhone, Samsung Gear VR, HoloLens, the research area ofhuman action recognition is required to be more complex, more accurate This thesisaims at finding an efficient approach for the automatically human action recognizing todetermine some human actions in both outdoor and indoor space The human actionrecognition system will collect images of human activities, extract desired features ofthe human skeleton Kinect for Windows version-2 device is used as the main equip-ment to be able to extract the skeletal characteristics The characteristic of this skeletonwill be calculated and classified to find a skeleton database that can perform almosthuman gestures I have improved the star skeleton algorithm to make the recognitionsystems more efficient and suitable to real-time applications Based on this algorithm,this system can convert the sequences of human gestures to the sequences of skeletonjoint mapping and, then assign corresponding observation symbols with each skele-ton joint mapping Those observation sequences will be processed for the training ofhidden Markov models corresponding to the seven actions: standing, walking, running,jumping, falling, lying, and sitting by Baum-Welch and forward-backward algorithm tofind the optimal parameters for each hidden Markov model that makes the probabilityof the present observation sequence maximum During the testing phase, each humangesture sequence is converted into observation sequences and put into seven optimizedaction models; we can identify the current action by finding model with the highestprobability
de-The experimental results show that the accuracy of 100% for single actions is tained while that of 90% for observation sequences Meanwhile, the system can operatein real time with the accuracy from 75% to 95% One of key advantages of the proposedsystem is able to update the skeleton database automatically thanks to the modifiedstar skeleton algorithm, with the total processing time is less than 5ms Thereby, wecan increase the number of actions and featured skeletons in the skeleton database forfurther development
Trang 7ob-Tôi tên Phạm Thế Hải, là học viên cao học chuyên ngành Kỹ thuật Viễn Thông,khóa 2014, tại Đại Học Quốc Gia TP.HCM - Trường Đại Học Bách Khoa Thành PhốHồ Chí Minh Tôi xin cam đoan những nội dung sau đều là sự thật:
- Công trình nghiên cứu này hoàn toàn do chính tôi thực hiện trong suốt quá trìnhthực hiện đề tài
- Các tài liệu và các trích dẫn trong luận văn đều được tham khảo từ các nguồnthực tế, uy tín và độ chính xác cao
- Các số liệu và kết quả mô phỏng được thực hiện một cách độc lập và hoàn toàntrung thực
Tp Hồ Chí Minh, ngày 14 tháng 12 năm 2015
Phạm Thế Hải
Trang 81.2 Mục tiêu và nhiệm vụ của luận văn 2
1.3 Đối tượng và phạm vi nghiên cứu 3
1.4 Phương pháp nghiên cứu 3
1.5 Ý nghĩa khoa học và thực tiễn của đề tài 4
1.5.1 Ý nghĩa khoa học: 5
1.5.2 Thực tiễn của đề tài: 5
1.6 Nội dung luận văn 7
2 TỔNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN 82.1 Tổng quan về đề tài 8
2.1.1 Nhìn nhận vấn đề 8
2.1.2 Các công trình liên quan 8
2.1.3 Các vấn đề mà đề tài quan tâm 9
2.2 Lý thuyết mô hình Markov Ẩn 10
2.2.1 Sơ lược về mô hình Markov Ẩn 10
2.2.2 Lý thuyết mô hình Markov Ẩn 12
2.2.3 Ba vấn đề cơ bản của mô hình Makorv ẩn 14
2.2.4 Thực hiện huấn luyện cho hệ thống sử dụng HMM - giải thuậtBaum-Welch 15
2.2.5 Thực hiện huấn luyện cho hệ thống sử dụng HMM - giải thuậtforward-backward 17
2.2.6 Thực hiện chạy thử hệ thống sử dụng HMM - giải thuật Viterbi 212.3 Thiết bị Kinect for Windows version 2 của Microsoft và lý thuyết tríchxuất khung xương bằng cách gán nhãn các phần cơ thể: 23
2.3.1 Giới thiệu về thiết bị Kinect v2 của Mircrosoft 23
2.3.2 Nguyên lý hoạt động của thiết bị Kinect 27
Trang 92.4 Giải thuật trích xuất khung xương hình sao - Star skeleton algorithm 32
2.4.1 Giải thuật trích xuất khung xương hình sao khi không sử dụng
Kinect [1] 32
2.4.2 Mô hình tổng quan với giải thuật trích xuất khung xương 35
2.4.3 Đánh giá giải thuật trích xuất khung xương 36
3 HỆ THỐNG NHẬN DIỆN HÀNH ĐỘNG CON NGƯỜI 373.1 Sơ đồ khối tổng quát của hệ thống 37
3.2 Trích xuất đặc trưng sử dụng thiết bị Kinect v2 - Thuật toán khungxương hình sao cải tiến 39
3.3 Gán đặc trưng bằng các ký hiệu quan sát 42
3.3.1 Thuật toán khung xương hình sao cải tiến - Modified star skeletonalgorithm 42
3.3.2 Chuẩn hóa SJM để phân loại đặc trưng: 43
3.3.3 Tạo cơ sở dữ liệu SJM dựa vào bình phương sai lệch khoảng cáchgiữa hai SJMs ∆ij: 48
3.3.4 Thông số của phần gán đặc trưng trên thực tế: 49
3.4 Huấn luyện và kiểm thử hệ thống nhận dạng sử dụng HMM với giảithuật Baum-Welch: 52
3.4.1 Lựa chọn bộ biến trạng thái trong HMM với hệ thống nhận diệncon người 52
3.4.2 Huấn luyện HMM với giải thuật Baum-Welch - tìm thông số tốiưu của các thông số trong HMM: 56
3.4.3 Nhận diện hành động với các chuỗi SJM thu nhận được bằng giảithuật Baum-Welch: 62
3.5 Kiểm thử hệ thống nhận dạng sử dụng HMM với giải thuật Viterbi: 63
4 THỰC NGHIỆM VÀ KẾT QUẢ 664.1 Thông số các thiết bị thực nghiệm 66
4.1.1 Thiết bị trích xuất đặc trưng - Kinect for Windows version 2 củaMicrosoft 66
4.1.2 Máy tính được sử dụng trong hệ thống nhận diện hành động conngười: 67
4.1.3 Ngôn ngữ lập trình và phần mềm: 68
4.2 Thiết kế thực nghiệm 69
4.2.1 Thiết kế không gian thực nghiệm 69
4.2.2 Phần mềm thực hiện hệ thống nhận diện hành động người: 72
4.2.3 Cách thực hiện thực nghiệm: 73
4.2.4 Huấn luyện mô hình Markov ẩn: 77
4.3 Kết quả mô phỏng hệ thống nhận diện hành động con người với cácvideos chỉ chứa một hành động đơn lẻ: 85
4.3.1 Kết quả thực nghiệm với các hành động đơn lẻ: 87
4.4 Kết quả kiểm thử hệ thống nhận diện hành động con người với các hànhđộng nối tiếp nhau và theo thời gian thực 88
4.4.1 Nhận diện với các hành động nối tiếp nhau: 88
4.4.2 Nhận diện với các hành động theo thời gian thực: 89
Trang 104.5 So sánh với các kết quả các bài báo khác và liên quan: 90
4.6 Kết quả kiểm thử hệ thống nhận diện hành động con người với giải thuậtViterbi: 91
5.1 Kết luận 92
5.2 Hướng nghiên cứu kế tiếp 94
Trang 111.1 Sơ đồ khung xương SJM của thiết bị Kinect v2 Nguồn:http://vvvv.
org/documentation/kinect 2
1.2 Thiết bị thực tế ảo Samsung Gear VR của công ty Samsung 5
1.3 Thiết bị bán thực tế ảo Microsoft HoloLens của công ty Microsoft 5
1.4 Xây dựng video không gian trên Mircosoft HoloLens 6
1.5 Ứng dụng HoloLens vào nghiên cứu xe ô tô - dự án của công ty Volvovà Mircosoft 6
1.6 Ứng dụng HoloLens vào chơi game Minecraft 6
2.5 Minh họa quá trình tính toán xác suất P (OOO|λλλ) 18
2.6 Minh họa quá trình tính toán giải thuật forward 19
2.7 Minh họa hiệu quả quá trình tính toán giải thuật forward-backward 20
2.8 Minh họa quá trình tính toán giải thuật backward 21
2.9 Hình ảnh thiết bị Kinect v2 của Mircosoft Nguồn : www.slideshare.net/ Tác giả: Tsukasa Sugiura 23
2.10 Hình ảnh phần cứng thiết bị Kinect v2 của Mircosoft Nguồn: www.ifixit.com/ 24
2.11 Ảnh màu thu được từ camera RGB 1080p 25
2.12 Ảnh độ sâu thu được từ cảm biến hồng ngoại 25
2.13 Ảnh đường bao SJM thu được từ Kinect v2 25
2.14 SJM thu được từ Kinect v2 26
2.15 Sơ đồ SJM 26
2.16 Trạng thái bàn tay khi nhận được SJM từ Kinect v2 27
2.17 Sơ đồ khối nguyên lý hoạt động của Kinect for Windows v2 27
2.18 Tìm khoảng cách từ đường nối hai camera đến điểm X 28
2.19 Hình chiều của X lên khung ảnh của hai camera 28
2.20 Bề mặt chứa các mẫu điểm sáng Trái: Có sách, Phải: không sách 28
2.21 Dấu thập màu vàng mô tả điểm ảnh đang được phân loại Hình (a), 2ví dụ cho ra kết quả sai lệch lớn Hình (b), cùng một thông số nhưng vịtrí mới lại cho kết quả có độ sai lệch nhỏ hơn 29
Trang 122.22 Bộ rừng - forest là một bộ gồm các nhánh Mỗi nhánh chứa các nút phânbiệt (màu xanh dương) và các nút nhánh (xanh lá cây) Đường mũi tên
màu đỏ chỉ các lựa chọn khác nhau với cùng bộ thông số ngõ vào 30
2.23 Kết quả ngõ ra của thiết bị Kinect for Windows 30
2.24 Các kiểu mô hình cơ thể của thiết bị Kinect for Windows 31
2.25 Một số các kết quả ngõ ra của thiết bị Kinect for Windows 31
2.26 Sơ đồ khối trích xuất đường bao ngoài của một người đang di chuyển 322.27 Tìm điểm trung tâm Giải thuật trích xuất khung xương bước 1 33
2.28 Làm mượt, lọc nhiễu vector khung xương 33
2.29 Sơ đồ khối gán khung xương bằng một ký hiệu quan sát 34
2.30 Phân loại khung xương bằng bộ từ mã 34
2.31 Lượng tử hóa vector đặc trưng 35
3.1 Sơ đồ khối hệ thống nhận diện hành động con người 39
3.2 Sơ đồ khối thuật toán trích xuất SJM của thiết bị Kinect v2 40
3.3 Giảm bớt mẫu bằng cách chọn 1 trong 2 SJMs Chuỗi khung hình 1-12chỉ lấy chuỗi với số thứ tự lẻ/chẵn: 1-3-5 41
3.4 Tự động lựa chọn ký hiệu quan sát ứng với vector đặc trưng 42
3.5 SJM đặc trưng trên không gian ba chiều, phần mềm OriginPro 43
3.6 SJM đặc trưng trên không gian ba chiều hướng nhìn trên trục z 44
3.7 Chiếu các SJM-J trong không gian ba chiều lên trục z 44
3.8 Chiếu SJM lên trục z và biểu diễn bằng không gian hai chiều 45
3.9 SJM đặc trưng 1 ban đầu 46
3.10 SJM đặc trưng 1 đã chuẩn hóa 46
3.11 SJM đặc trưng 2 ban đầu 47
3.12 SJM đặc trưng 2 đã chuẩn hóa 47
3.13 SJM đặc trưng 3 ban đầu 47
3.14 SJM đặc trưng 3 đã chuẩn hóa 47
3.15 SJM đặc trưng 4 ban đầu 47
3.16 SJM đặc trưng 4 đã chuẩn hóa 47
3.17 Sơ đồ khối của phần tạo cơ sở dữ liệu SJM dựa trên bình phương sailệch khoảng cách giữa hai SJMs 48
3.18 Tạo biến trạng thái với một chuỗi âm thanh trong một ứng dụng nhậndiện âm thanh sử dụng HMM 53
3.19 Chuỗi biến trạng thái ước lượng tương ứng hành động "Đứng yên" 54
3.20 Chuỗi biến trạng thái ước lượng tương ứng hành động "Đi bộ" 54
3.21 Chuỗi biến trạng thái ước lượng tương ứng hành động "Chạy" 55
3.22 Chuỗi biến trạng thái ước lượng tương ứng hành động "Nhảy" 55
3.23 Chuỗi biến trạng thái ước lượng tương ứng hành động "Té ngã" 55
3.24 Chuỗi biến trạng thái ước lượng tương ứng hành động "Nằm" 55
3.25 Chuỗi biến trạng thái ước lượng tương ứng hành động "Ngồi" 56
3.26 Hình ảnh biến quan sát gắn với cử chỉ người trong HMM ứng với hànhđộng "đứng yên" 57
3.27 Kiểm thử hệ thống sử dụng HMM 62
4.1 Hình ảnh thiết bị Kinect v2 của Mircosoft Nguồn : www.slideshare.net/ Tác giả: Tsukasa Sugiura 66
Trang 134.2 Giá trị thu được bằng Kinect v2 tương ứng với khoảng cách và chế độ
hoạt động 67
4.3 Máy tính ASUS ROG được chọn sử dụng trong đề tài 67
4.4 Hình ảnh khởi động phần mềm Visual Studio 2015 68
4.5 Thư viện Accord NET Framework được sử dụng chính với giải thuậtHMM 68
4.6 Ngôn ngữ lập trính Python 68
4.7 Phần mềm ứng dụng tính toán MatLab 68
4.8 Phần mềm biễu diễn đồ thị số OriginPro 69
4.9 Phần mềm để hiển thị các thông số của thiết bị Kinect v2 - soft@Kinect Studio 69
Micor-4.10 Sơ đồ khối hệ thống nhận diện hành động con người sử dụng HMM 70
4.11 Mặt cắt dọc của không gian thực nghiệm 70
4.12 Mặt cắt ngang của không gian thực nghiệm 70
4.13 Hình ảnh thực tế của không gian thực nghiệm 71
4.14 Mặt cắt ngang của không gian thực nghiệm 71
4.15 Chiều cao của thiết bị Kinect v2 trong không gian thực nghiệm - 0.7m 714.16 Hình ảnh thực tế một người đang di chuyển trong không gian thực nghiệm 724.17 Hình ảnh thực tế phần mềm khi thực nghiệm 72
4.18 Các thông số, chức năng của phần mềm 73
4.27 Cơ sở dữ liệu bao gồm 200 SJMs và chưa loại bỏ SJM tương tự 78
4.28 Độ sai lệch giữa hai SJM gần nhau trong cơ sở dữ liệu bao gồm 200 SJMs 794.29 Cơ sở dữ liệu gồm 60 SJMs đặc trưng được sử dụng trong luận văn nàyMàu đỏ: tay, chân phải - Màu xanh dương: tay, chân trái 79
4.30 Các chuỗi SJMs huấn luyện của hành động "NHẢY" được tách thànhcác chuỗi 40 SJMs và đưa vào HMM tương ứng 80
4.31 Các chuỗi SJMs huấn luyện của hành động "ĐỨNG YÊN" trước và saukhi tách thành các chuỗi 40 SJMs 80
4.32 Các chuỗi SJMs huấn luyện của hành động "CHẠY" trước và sau khitách thành các chuỗi 40 SJMs 81
4.33 Các chuỗi SJMs huấn luyện của hành động "TÉ NGÃ" trước và sau khitách thành các chuỗi 40 SJMs 81
4.34 Các chuỗi SJMs gồm 40 SJMs sẽ được truyền liên tục vào 7 HMM đểxác định hành động hiện tại Như trong hình là một chuỗi SJMs đượctách ra thành 40 SJMs cần xác định hành động 86
4.35 Nhãn hành động của các chuỗi 40 SJMs tương ứng với giá trị likelihoodP (OOO|λλλ) tối đa 86
Trang 144.36 Chuỗi hành động Đi bộ (1) - Té Ngã (4) - Nằm (5) - Đi bộ (1) và giá trị
thu được 88
4.37 Chuỗi hành động Chạy (2) - Ngồi (6) - Chạy (2) và giá trị thu được 88
4.38 Chuỗi hành động Nhảy (3) - Té Ngã (4) - Nằm (5) - Đi bộ (1) và giá trịthu được trong trường hợp chính xác 89
4.39 Chuỗi hành động Nhảy (3) - Té Ngã (4) - Nằm (5) - Đi bộ (1) và giá trịthu được trong trường hợp không chính xác 89
4.40 Hoạt động của HMM với giải thuật Viterbi 91
1 Hai vị trí của A0 sau khi chuẩn hóa 98
2 Sơ đồ khối phần tạo cơ sở dữ liệu SJM 104
3 Cơ sở dữ liệu chưa lọc SJM nhiễu với số lượng SJM đặc trưng : 50 105
4 Cơ sở dữ liệu chưa lọc SJM nhiễu với số lượng SJM đặc trưng : 80 106
5 Cơ sở dữ liệu chưa lọc SJM nhiễu với số lượng SJM đặc trưng : 100 107
6 Cơ sở dữ liệu chưa lọc SJM nhiễu với số lượng SJM đặc trưng : 150 107
7 Cơ sở dữ liệu chưa lọc SJM nhiễu với số lượng SJM đặc trưng : 200 108
8 Cơ sở dữ liệu SJM gồm 60 SJMs đặc trưng được sử dụng trong luận văn 109
Trang 152.1 Bốn dạng mô hình Markov cơ bản 10
2.2 Mô tả dữ liệu của mô hình Markov Ẩn 13
2.3 Ba vấn đề cơ bản của mô hình Markov ẩn 14
2.4 Đặc tính của Kinect v2 và v1 23
3.1 Một SJM đặc trưng nhận được từ quá trình thí nghiệm 43
3.2 Số lượng biến trạng thái của từng HMM trong hệ thống 54
3.3 Sự liên quan tương đối giữa chuỗi biến quan sát và biến trạng thái 58
3.4 Bảng xác suất phân bố chuyển đổi trạng thái và biến quan sát 59
4.1 Thời gian và số lượng SJM của từng loại hành động 77
4.2 Số lượng biến trạng thái của từng HMM trong hệ thống 80
4.3 Bảng ma trận chuyển đổi trạng thái của 7 HMMs AAi ∈ RNi×Ni 81
4.4 Bảng ma trận chuyển đổi biến quan sát của 7 HMMs BBi ∈ RNi×60- Chỉcác phần có thông số lớn nhất đươc chọn 82
4.5 Bảng ma trận trạng thái ban đầu của 7 HMMs ππi ∈ RNi 83
4.6 Số lượng biến trạng thái của từng HMM trong hệ thống 85
4.7 Kết quả kiểm thử hệ thống nhận diện con người với các videos chứahành động đơn lẻ 87
4.8 Kết quả kiểm thử hệ thống nhận diện con người với các nhãn hành độngđơn lẻ tại các tất cả các điểm thời gian được xét 87
4.10 Kết quả kiểm thử hệ thống nhận diện con người với các nhãn hành độngnối tiếp tại các tất cả các điểm thời gian được xét 89
4.11 Kết quả kiểm thử hệ thống nhận diện con người theo thời gian thực với4 lần thí nghiệm (Độ chính xác > 50% thời gian hành động) 89
4.12 Kết quả kiểm thử hệ thống nhận diện con người theo thời gian thực với4 lần thí nghiệm (Độ chính xác > 80% thời gian hành động) 90
4.13 Kết quả kiểm thử hệ thống nhận diện con người theo thời gian thực với4 lần thí nghiệm (Độ chính xác > 90% thời gian hành động) 90
4.14 Kết quả kiểm thử hệ thống nhận diện con người theo thời gian thực vớigiải thuật Viterbi 91
1 Sự liên quan tương đối giữa chuỗi biến quan sát và biến trạng thái 100
2 Bảng xác suất phân bố chuyển đổi trạng thái và biến quan sát 101
Trang 16fps Frame per secondGPU Graphics Processing Unit
Kinect v2 Kinect for Windows version 2
Trang 17MỞ ĐẦU
1.1Lý do chọn đề tài
Nhận diện hành động con người đã và đang giúp chúng ta giải quyết nhiều vấn đề quantrọng trong đời sống từ dân sự đến quân sự: ứng dụng trong trình diễn, thuyết trình,điều khiển không tương tác với màn hình, máy chiếu (tương tác giữa người và máy),phát hiện được hành động té ngã của một bệnh nhân lớn tuổi hoặc bệnh nghiêm trọngtrong một không gian vừa phải như hành lang, phòng bệnh (y tế), các hành vi nguyhiểm như: trộm, cướp (phòng vệ quân sự), Không như nhận diện chữ viết hay cử chỉ,nhận diện hành động con người không có một cách thức, ký hiệu rõ ràng hay có thểmô hình hóa được Điều này khiến cho việc nhận diện hành động con người gặp rấtnhiều thách thức
Ngày nay với sự phát triển rất nhanh của các thiết bị quay phim kỹ thuật số, kỹthuật trình chiếu, thiết kế vi mạch trong ti vi và gần đây là sự bùng nổ của các thiếtbị truyền hình hay ti vi thông minh đòi hỏi việc xử lý, phân tích thông tin về hành vi,hành động con người càng ngày càng chính xác và tinh vi hơn Trong luận văn thạcsĩ này, tôi xin trình bày một mô hình khảo sát phim ảnh, camera tự động Mô hìnhnày có khả năng quan sát, phát hiện và nhận diện hành động của con người trong môitrường trong nhà và ngoài trời Các vật thể di chuyển sẽ được quan sát và hành vitrong phim ảnh sẽ được nhận diện: đứng yên, chạy, đi bộ, nhảy, nằm, ngồi, té ngã
Để giải quyết vấn đề này, mô hình Markov Ẩn - Hidden Markov Model (HMM)được sử dụng kết hợp với hai thuật toán chính bao gồm giải thuật trích xuất khungxương (star skeleton algorithm) [1] và phương pháp trích mô hình khung xương củathiết bị Kinect (Mircosoft) [2], minh họa hình 1.1 Một vật thể di chuyển sẽ đượcphát hiện, trích xuất đường bao ngoài, từ đó các vector đặc trưng mang hình dáng củakhung xương con người - Skeleton Joint Mapping (SJM) Các vector khung xương nàysẽ được gán bằng các ký hiệu quan sát trong một bộ ký hiệu quan sát Từng khungảnh sẽ được trích xuất vector đặc trưng khung xương và tạo thành các ký hiệu quansát, như vậy kết quả sau khi trích xuất khung xương là một chuỗi các ký hiệu quansát
Sau đó đưa qua mô hình Markov Ẩn để nhận diện đó có phải là hành động của conngười và là hành động gì? Mô hình nào đạt được thông số tối đa, phù hợp nhất vớichuỗi ký hiệu quan sát được sẽ được lựa chọn là hành động nhận diện
Trang 18Hình 1.1: Sơ đồ khung xương SJM của thiết bị Kinect v2.
Nguồn:http://vvvv.org/documentation/kinect
1.2Mục tiêu và nhiệm vụ của luận văn
Nhận diện hành động con người luôn yêu cầu tìm hiểu, nghiên cứu kỹ lưỡng về hai yếutố chủ yếu tham gia vào hệ thống:
1 Đặc trưng được trích xuất của vấn đề cần nhận dạng: đặc trưng thông thườnglà một đặc tính bất biến, một số mô tả hình dạng hoặc cấu trúc của vấn đề cầnnhận dạng, một số khác lại là các đặc tính sinh lý hóa thu thập được trong quátrình thực nghiệm Các đặc trưng được xác định nhằm tối ưu khả năng phân loạicác lớp dữ liệu của hệ thống: số lượng các đặc trưng càng ít thì tốc độ phân loạicủa toàn hệ thống sẽ nhanh hơn, tuy nhiên số lượng đặc trưng càng nhiều thìkhả năng phân loại của hệ thống càng chính xác Tùy vào từng yêu cầu của mỗibài toán mà việc lựa chọn các đặc trưng phù hợp sẽ giải quyết được các vấn đềkhác nhau trong thực nghiệm, đời sống thực tế
2 Giải thuật xử lý chính trong các khâu huấn luyện, kiểm thử toàn hệ thống: làmột tập hợp hữu hạn các phương pháp, cách xử lý bài toán ngõ vào/ ngõ ra đượcđịnh nghĩa một cách rõ ràng nhằm mục tiêu hoàn thành một mục tiêu từ mộttrạng thái cho trước nào đó, khi được áp dụng thì các giải thuật này phải chora kết quả đúng như những gì được đưa ra và có thể kiểm chứng được khi đượcthực hiện lại cùng một số điều kiện thực nghiệm nhất định Các giải thuật chútrọng đến thứ tự thực hiện công việc, áp dụng chính xác thì bài toán đạt kết quảđúng như dự đoán ban đầu Việc chứng minh tính đúng đắn và có thể sử dụngđược của giải thuật cần phải được thực hiện trước khi áp dụng Giải thuật chỉlà áp dụng công thức, quy tắc, quy trình đã được công nhận là đúng và chứngminh về mặt toán học
Dựa theo hai yêu tố chính của hệ thống, các kiến thức và kết quả cần đạt được ởđề tài là:
• Giới thiệu giải thuật xử lý khung xương đối với con người trong một khung ảnh
Trang 19phần vào khả năng hoạt động thời gian thực của hệ thống được trình bày trongluận văn.
• Trình bày được lý do và cách thức xử lý, lựa chọn giải thuật của mô hình Markovẩn và các giải thuật liên quan:
1 Trình bày những ưu điểm của mô hình Markov Ẩn đối với nhận diện xử lýchuỗi các hình ảnh quan sát được theo miền thời gian
2 Các cách tối ưu các thông số của mô hình hệ thống nhằm tìm ra được môhình tối ưu tương ứng với từng hành động của con người bằng các giảithuật được dùng để xử lý các mô hình huấn luyện và kiểm thử như giảithuật Baum-Welch, forward-backward, Viterbi
• Khảo sát tính chính xác và khả năng áp dụng được vào thực tế của hệ thống nàyvà thể hiện được ứng dụng của mô hình quan sát hành vi con người này trongthực tế bằng phần mềm
1.3Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài: Các nghiên cứu của đề tài sẽ góp phần tối ưucách thức nhận diện hành động con người, đưa ra những giải pháp cho các vấn đề củamô hình HMM trước đó và cơ sở cho các cách thức nhận diện hành động con người đốivới nhiều người và nhiều hành động cần được nhận diện hơn Đối tượng nghiên cứucủa đề tài gồm có:
• Đánh giá giải thuật xử lý khung xương.• Mô hình Markov Ẩn và các giải thuật liên quan.• Các thông số ảnh hưởng đến mô hình nhận diện hành động con người.Phạm vi nghiên cứu:
Phạm vi nghiên cứu của đề tài sẽ đưa ra những cơ sở lý thuyết và các kết quả môphỏng từ các mô hình, các giải pháp Các thông số sẽ được đưa vào thực tiễn kiểmnghiệm nhằm khảo sát với các điều kiện thực nghiệm khác nhau và kiểm tra khả nănghoạt động của mô hình
1.4Phương pháp nghiên cứu
Về lý thuyết:• Sử dụng giải thuật xử lý khung xương cho việc trích xuất đặc trưng của khung
hình.• Thu thập tài liệu về lý thuyết mô hình Markov Ẩn.• Xây dựng mô hình Markov Ẩn với xử lý khung xương
Trang 20Về thực nghiệm: Mô hình nhận diện hành động của con người được đề xuất sẽ đượcchia làm ba giai đoạn chính Trong đó: giai đoạn đầu tiên là trích xuất được các đặctrưng của vật thể di chuyển trong phim ảnh, từ đó lấy được khung xương đã được môhình hóa của vật thể bằng giải thuật trích xuất khung xương và biểu diễn bằng mộtký hiệu, gọi là ký hiệu quan sát.
Giai đoạn hai là sử dụng HMM học tập các phim ảnh có sẵn để tìm ra các thông sốchính của HMM tương ứng với mỗi hành động, các thông số này sẽ được tối ưu nhằmmô tả chính xác hành động của con người trong các phim ảnh có sẵn
Giai đoạn cuối cùng là áp dụng HMM với các thông số từ giai đoạn hai với cácphim ảnh trong thực tế, mô hình nào đạt được thông số tối đa, phú hợp nhất với chuỗiký hiệu quan sát được sẽ được lựa chọn là hành động nhận diện
Ngôn ngữ lập trình được sử dụng là C# dùng để xử lý các chuỗi với thời gian xửlý ngắn, nhanh và chính xác Sau đó hiện thị các thông tin của mô hình đang xử lý
1.5Ý nghĩa khoa học và thực tiễn của đề tài
Nhận diện hành động con người đã và đang được áp dụng trong nhiều lĩnh vực của đờisống trải dài từ dân sự đến quân sự:
• Nhận diện một phần ngôn ngữ của người câm điếc dựa trên các cử chỉ liên tụccủa con người
• Phân loại các bộ phim tránh các hình ảnh bạo lực, không phù hợp với từng lứatuổi
• Phát hiện các phần tử nguy hiểm như: trộm, cướp, trong một không gian vừaphải
• Sử dụng cử chỉ để điều khiển các thiết bị, máy móc mà không cần tương tác trựctiếp thông qua chuột, bàn phím, màn cảm ứng
• Trong các khu phố, trạm ATM vắng người để đảm bảo an ninh, phát hiện ngườitrong trạng thái nguy hiểm đến tính mạng
• Dùng cử chỉ người để điều khiển các thiết bị Internet of Thing (IoT)Cùng với sự phát triển của các thiết bị điện tử thông minh như Android Tivi (tivicó thể sử dụng hệ điều hành Android như một máy tính bảng), thiết bị thực tế ảo -Virtual Reality (VR) như Gear VR của Samsung (hình 1.2), Oculus Rift của Facebook,Sony Playstaion VR của Sony, với hơn 100 ứng dụng thực tế ảo trên cửa hàng phầnmềm Google Play của Google, App Store của Apple và hiện tại là một sản phẩm nổitiếng sắp ra mắt HoloLens của Microsoft với công nghệ bán thực tế ảo - Mixed VirtualReality (hình 1.3) giúp tăng cao trải nghiệm giữa thế giới điện tử, phần mềm và thếgiới thực, các thiết bị trên đều tái hiện không gian ảo trên nền xung quanh chúng ta,tuy nhiên việc có thể nhận diện con người và hành động của nó thì lại là một vấn đềkhác Như đã đề cập, các hành động của con người do tính chất không có cấu trúcnhất định của nó khiến cho việc phân loại, phân tích, nhận dạng gặp quá nhiều khó
Trang 21Hình 1.2: Thiết bị thực tế ảo SamsungGear VR của công ty Samsung
Hình 1.3: Thiết bị bán thực tế ảoMicrosoft HoloLens của công ty
Microsoft
Phương pháp sử dụng giải thuật Markov ẩn được đề xuất kết hợp với giải thuật tríchxuất khung xương hình sao có các cải tiến để phù hợp với yêu cầu của các thiết bịnhận diện hành động hiện nay:
1 Hệ thống phải có khả năng tích hợp vào thiết bị nhỏ gọn2 Khả năng hoạt động thời gian thực
3 Khả năng mở rộng số lượng hành động4 Khả năng nhận diện không phụ thuộc vào vị trí của người quan sát hay camera
đang thu nhận hình ảnh hiện tạiCác phương pháp hiện tại được sử dụng như Support Vector Machine - SVM , NeuralNetworks, Native Bayes đều mắc phải một khuyết điểm rất lớn là chỉ hoạt động dựatrên các ảnh tĩnh, hoàn toàn không thể mô tả hành động của con người một cáchlogic Hệ thống nhận diện được sử dụng trong luân văn áp dụng HMM hoàn toàn dựavào chuỗi các cử chỉ thực tế của con người theo thời gian thực (thời gian rời rạc) đểhuấn luyện và nhận diện cũng bằng các chuỗi cử chỉ của con người theo thời gian thực.Phương pháp này giúp cho việc nhận diện con người trở nên khả thi, chính xác và pháttriển được vì hoàn toàn phù hợp với các đặc tính sinh học, lý tính của con người
Các kết quả được trình bày ở CHƯƠNG 4, sẽ cho thấy được hệ thống được đềxuất có thể đáp ứng được hầu hết các tiêu chuẩn của các yêu cầu trên, góp một phầnvào việc nghiên cứu và áp dụng vào thực tiễn không chỉ dân sự mà còn quân sự
Khả năng áp dụng vào kính thực tế ảo HoloLens của Microsoft là rất lớn vì để dựngđược một video dùng cho HoloLens, Microsoft đã sử dụng đến các camera hồng ngoạivà ảnh màu RGB, có phần nào tương tự với thiết bị Kinect v2 được sử dụng chínhtrong luận văn và cũng là thiết bị do Mircosoft thiết kế và sản xuất, minh họa hình
1.4 Việc nhận dạng hành động con người không chỉ giúp các ứng dụng thực tế ảo cóthể xây dựng hoàn chỉnh hệ thống ảo của mình mà trong thực tế còn có các ứng dụngrất cấp thiết cho cuộc sống
Trang 22Hình 1.4: Xây dựng video không gian trên Mircosoft HoloLens
Hình 1.5: Ứng dụng HoloLens vàonghiên cứu xe ô tô - dự án của công ty
Volvo và Mircosoft
Hình 1.6: Ứng dụng HoloLens vào chơi
game MinecraftTrong bệnh viên dưỡng lão hay các bệnh nghiêm trọng, nguy hiểm, số lượng y sĩ, ytá chăm sóc người bệnh là không quá lớn Điều này dẫn tới việc thiết sót trong côngtác giám sát, quản lý người bệnh Với hệ thống này, chúng ta có thể lắp đặt, tự độngquan sát, tìm ra các hành động nguy hiểm, hoặc các hành động được thể hiện khi conngười gặp nguy hiểm: té ngã giữa hành lang không người, bỏ chạy khi gặp các tìnhhuống nguy hiểm liên quan đến cháy nổ, Luận văn này tập trung chủ yếu vào nhậndiện hành động té ngã của bệnh nhân để thực hiện báo động, dựa vào đó tôi đềxuất thêm 6 hành động khác diễn ra xung quanh hành động té ngã: Đứng yên, Đibộ, Chạy, Nhảy, Nằm, Ngồi Bảy hành động được sử dụng đều là các hành độngnối tiếp nhau và hoàn toàn dựa trên hoạt động của con người trên thực tế Nhờ vàotối ưu thiết kế phần cứng, Kinect v2 có thể hoạt động tốt ở ngoài trời với cường độánh sáng mặt trời không quá mạnh nên khả năng thực tiễn của nó là rất lớn, khôngchỉ nhận diện té ngã mà còn có thể sử dụng trong các ứng dụng thực tế:
• Phân tích các thiết bị điện tử và khả năng phối hợp của chúng, tiêu biểu là dựán nghiên cứu ô tô giữa hãng Volvo và công ty Microsoft, minh họa hình 1.5.• Chơi game có sự tương tác bằng cửa chỉ giữa người và máy, giúp xóa nhòa ranh
giới giữa không gian ảo và thực, minh họa hình 1.6.• Nhận diện một phần ngôn ngữ của người câm điếc dựa trên các cử chỉ liên tục
của con người (phương pháp SVM hoạt động rất hạn chế)
Trang 23• Phát hiện các phần tử nguy hiểm như: trộm, cướp, trong một không gian vừaphải
• Trong các khu phố, trạm ATM vắng người để đảm bảo an ninh, phát hiện ngườitrong trạng thái nguy hiểm đến tính mạng
• Dùng cử chỉ người để điều khiển các thiết bị Internet of Thing (IoT)
1.6Nội dung luận văn
Toàn bộ đề tài nghiên cứu sẽ trình bày theo một bố cục liên hệ chặt chẽ với nhau xuyênsuốt trong luận văn này Các nội dung của luận văn sẽ được chia thành các chương cụthể để có thể dễ dàng xem xét, nắm bắt vấn đề cũng như tạo sự mạch lạc, logic choluận văn
CHƯƠNG 2 của luận văn sẽ trình bày tổng quan về công nghệ xử lý khung ảnhchiều sâu kết hợp với xử lý gán nhãn cho các phần cơ thể để trích xuất khung xươngtừ thiết bị Kinect Tiếp theo, lý thuyết thuật toán HMM sẽ được đề cập, các giải thuậtnổi tiếng như Baum-Welch, Viterbi và forward-backward được sử dụng để giải quyếtcác vấn đề của HMM Cuối cùng, giải thuật trích xuất khung xương sẽ được trình bày.Sau đó CHƯƠNG 3 đề cập đến cách áp dụng HMM vào lập trình và xử lý thờigian thực, tạo các mô hình chuẩn để phân tích các chuỗi SJM theo thời gian thực, cácgiá trị ngõ vào/ngõ ra của từng thành phần hệ thống Trong đó, giải thuật trích xuấtkhung xương sẽ được cải tiến và thêm phần phân loại đường bao khung xương nhằmtối ưu khả năng phân loại khung xương
CHƯƠNG 4 bao hàm việc trình bày các thông số mô phỏng và thực nghiệm củatoàn hệ thống và phân tích các kết quả thu nhận được nhằm tìm ra được các thông sốtối ưu nhất của HMM theo từng giải thuật
CHƯƠNG 5 của luận văn sẽ tóm tắt lại những công việc đã nghiên cứu, nhữnggì đã đạt được, đồng thời đề xuất các hướng bổ sung, phát triển cho đề tài
Trang 24TỔNG QUAN VỀ ĐỀ TÀI VÀ LÝTHUYẾT LIÊN QUAN
Chương này tập trung đưa ra cơ sở lý thuyết của HMM, phương pháp trích xuất khungxương bằng cách gán nhãn từng phần cơ thể của thiết bị Kinect v2 Sau đó các giảithuật xử lý số liệu sẽ được trình bày nhằm áp dụng cho HMM và xử lý thời gian thực.Cuối cùng, thuật toán khung xương hình sao sẽ được đề cập, một số cải tiến cho giảithuật này được thực hiện để có thể phù hợp với luận văn
2.1Tổng quan về đề tài
Đề tài thu thập các cơ sở lý thuyết của HMM, đưa ra giải pháp cho cách nhận diệnhành động của con người Đề nghị áp dụng giải thuật xử lý khung xương và mô hìnhMarkov Ẩn vào thực tế và kiểm chứng kết quả với các phương pháp khác Luận vănnày tập trung chủ yếu vào nhận diện 7 hành động: Đứng yên, Đi bộ, Chạy, Nhảy,Té ngã, Nằm, Ngồi đưa vào vào nhằm tìm hiêu khả năng hoạt động của hệ thốngkhi nhận diện các hành động đơn lẻ và trong điều kiện các hành động nối tiếp nhau.Thiết bị sử dụng chính là Kinect v2, nhờ vào tối ưu thiết kế phần cứng, Kinect v2 cóthể hoạt động tốt ở ngoài trời với cường độ ánh sáng mặt trời không quá mạnh nêncó thể được xem xét Ngoài ra thiết bị Kinect v2 còn là một bổ sung rất lớn cho giảithuật trích xuất khung xương hình sao nhờ vào khả năng trích xuất bộ khung xươnghoàn chỉnh dựa vào ảnh độ sâu
Lĩnh vực xử lý, phân loại, nhận diện hành động của con người rất rộng và phức tạp dođặc tính không cấu trúc của các hành động con người Các hướng phát triển của lĩnhvực nãy còn rất lớn trong những năm gần đây
Trong nướcHiện tại Đại Học Bách Khoa Đà Nẵng đã có các công trình nghiên cứu về nhậndiện hành động của con người trong năm 2012 [3] bằng cách xây dựng mô hình 3D với
Trang 25các khung hình thu được và 2014 [4] áp dụng mô hình 3D và thuật toán Cyclic HiddenMarkov Model Ngoài ra phương pháp SVM cũng được sử dụng nhiều trong nhận diệnhành động con người trong các nghiên cứu ở Việt Nam [5] Tuy nhiên có hai yếu điểmlớn nhất của SVM khiến cho việc áp dụng thực tế gặp khó khăn rất lớn:
1 SVM hoạt động hoàn dựa vào phân biệt các hình ảnh tĩnh, vì vậy dù cho có cốgắng phát triển giải thuật thì các hình ảnh được tiếp nhận vào đều không phùhợp với đặc tính sinh lý, hoạt động của con người
2 SVM có khả năng mở rộng cơ sở dữ liệu hạn chế vì các hoạt động của con ngườibao gồm một chuỗi các cử chỉ nối tiếp nhau, tuy nhiên không phải là nối tiếptheo một thứ tự cứng, mà có thể thay đổi một cách linh hoạt như: tay có thểthấp xuống, chân đưa cao hơn, Khi các hình ảnh này vượt qua một mức đườngbao hình ảnh quy định thì SVM hoàn toàn không thể hoạt động tiếp vì khôngcó đặc tính quản lý dữ liệu thống kê theo thời gian
Nước ngoàiLĩnh vực nhận diện hành động của con người được quan tâm và nghiên cứu trongrất nhiều năm từ năm 1992 [6] với giải thuật HMM của Junji YAMATO cho đến nhữngnăm gần đây, sử dụng phương pháp SVM cục bộ của Christian Schudlt vào năm 2004[7], và các phương pháp khác như: giải thuật khung xương [1], [8] [9] Các bài khảosát chi tiết có thể được tìm thấy ở [10] khảo sát cách thức nhận diện hành động conngười và đưa ra chi tiết nhiều bài báo có thể tham khảo
Như đã đề cập ở các phần trên, phương pháp SVM chỉ hoạt động tốt với các ảnhtĩnh, nên SVM hoạt động chính xác với các cử chỉ của con người tại thời điểm tức thờicần được nhận diện, không phải là một hành động gồm nhiều cử chỉ Luận văn nàytập trung chủ yếu vào HMM nên dựa vào các bài báo liên quan đến HMM đều đượcxem xét kỹ, trong đó có một số phương pháp rất hay và có thể được xem xét:
• Xây dựng mô hình 3D dựa vào nhiều camera ở các vị trí khác nhau [3]• Nhận diện hành động con người dựa trên mô tả các đặc trưng góc 3D [11]• Sử dụng nhiều thiết bị được gắn trên người[12]
Mặc dù đã được nghiên cứu trong thời gian dài, tuy nhiên do đặc điểm của việcnhận dạng hành động con người rất phức tạp và không có một cấu trúc rõ ràng dẫnđến việc rất khó áp dụng cho thực tế hoặc một lĩnh vực rộng rãi Hướng nghiên cứucủa luận văn này là có thể áp dụng được vào các bo mạch nhúng, xử lý được trên thờigian thực
• Tìm hiểu giải thuật xử lý khung xương cho việc trích xuất đặc trưng và cải tiếngiải thuật nhằm đưa ra kết quả tốt hơn
• Tìm hiểu lý thuyết HMM.• Giải pháp kết hợp HMM và xử lý khung xương với các thông số thực nghiệm
Trang 26• Các thông số của mô hình nhằm đạt được tối ưu trong các điều kiện thí nghiệm:cho ra kết quả nhanh nhất, cho ra kết quả chính xác nhất, xử lý tại máy chủhoặc xử lý với các giải pháp lập trình nhúng.
• Thể hiện được kết quả thí nghiệm một cách trực quan và dễ dàng khảo sát
2.2Lý thuyết mô hình Markov Ẩn
Phương pháp HMM được áp dụng cho việc nhận diện hành động của con người saukhi hoàn toàn được sử dụng một cách hiệu quả trong nhận diện âm thanh và giọngnói [13] Sự tương tự giữa nhận diện âm thanh và nhận diện hành động của con ngườiđưa tới một hướng nghiên cứu áp dụng mô hình HMM vào lĩnh vực nhận diện hànhđộng của con người
Phương pháp HMM được áp dụng cho việc nhận diện hành động của con người saukhi hoàn toàn được sử dụng một cách hiệu quả trong:
• Nhận diện giọng nói.• Nhận diện chữ viết.• Nhận diện cử chỉ của con người.• Xử lý thông tin hay nhận diện ngôn ngữ.• Nhận diện mã gien của một hay nhiều cá thể trong một hay nhiều quần thể.Hành động của con người được xử lý trên máy tính, thường được gọi là thị giácmáy tính, thông qua một hay nhiều camera Do camera ghi nhận hình ảnh và chuyểntải vào máy tính bằng các khung ảnh theo thời gian rời rạc, được gọi là chuỗi ký hiệuquan sát, phụ thuộc nhiều vào tốc độ xử lý của camera Với việc xử lý dữ liệu trên mộtmiền thời gian rời rạc, mô hình HMM được coi là một sự lựa chọn chính xác
Trước khi mô tả mô hình HMM, trước hết cần tìm hiểu về xử lý Markov hay chuỗiMarkov - Markov Process (MP) Một chuỗi Markov được chia làm hai phần chính:
1 Số lượng giới hạn các trạng thái của hệ thống.2 Xác suất chuyển trạng thái giữa các trạng thái với nhau.Có bốn dạng mô hình Markov cơ bản, phụ thuộc vào việc kiểm soát, trạng thái của hệthống có được quan sát hay không:
Bảng 2.1: Bốn dạng mô hình Markov cơ bản
Toàn bộ trạng thái hệthống được quan sát
Một phần của trạng thái
hệ thốngHệ thống hoạt động
tự động
Markov chain Hidden Markov ModelHệ thống hoạt động Markov decision process Partially observable
Trang 27Trong luận văn này, HMM được lựa chọn là thuật toán chính được sử dụng để phânloại và nhận dạng hành động của con người HMM là một chuỗi Markov mà ở đó chỉmột phần trạng thái của hệ thống có thể quan sát được Nói cách khác, các biến quansát (đặc trưng quan sát được) liên quan trực tiếp đến trạng thái của hệ thống tuynhiên chúng lại không thể được sử dụng để tìm ra chính xác trạng thái hiện tại củahệ thống Các thuật toán nổi tiếng với HMM đều được giới thiệu sau đây: thuật toánViterbi sẽ dựa vào một chuỗi biến quan sát cho trước để tính toán chuỗi trạng tháicủa hệ thống, thuật toán tiến - forward algorithm sẽ tính toán xác suất của một chuỗicác biến xác suất, và thuật toán Baum-Welch sẽ ước lượng xác suất khởi đầu, hàm/matrận chuyển trạng thái, hàm/ma trận chuyển đổi biến quan sát của HMM HMM cóthể kết hợp với nhiều thuật toán nhưng trong luận văn này chỉ sử dụng các thuật toánnổi tiếng và có nhiều ứng dụng để xem xét khả năng phù hợp của HMM với hệ thốngnhận diện hành động con người.
Ví dụ về HMM: một người ở trong phòng kín muốn biết ngoài trời đang nắng, mưa,sương mù nhưng không thể ra ngoài trời hay quan sát Hằng ngày có một người đưacơm vào căn phòng Người ngồi trong phòng có thể biết trời nắng, mưa hay sương mùphụ thuộc vào cách quan sát người đưa cơm: nắng: đội mũ, mưa: mang dù, sương mù:không mang gì cả Minh họa hình 2.1
Hình 2.1: Ví dụ về chuỗi MarkovHMM đã được ứng dụng trong rất nhiều lĩnh vực của xử lý tín hiệu nói chung, vàxử lý tiếng nói nói riêng Và đã ứng dụng thành công trong lĩnh vực xử lý ngôn ngữtự nhiên - Natural Languages Processing (NLP) như: nhận diện giọng nói, trích xuấtthông tin có chủ đích từ tệp dữ liệu,
Trang 282.2.2Lý thuyết mô hình Markov Ẩn
Định nghĩa của mô hình Markov ẩn (minh họa hình 2.2) là:
λλ = (AAA, BBB, πππ) (2.1)
Hình 2.2: Mô hình Markov ẨnTrong đó:
• AAA: Ma trận chuyển trạng thái• BBB: Ma trận / vector xác suất quan sát được• πππ: Vector xác suất khởi tạo ban đầu
Giải thích về các thành phần của HMM theo như giới thiệu về HMM của tác giảRabiner và Juang [13]:
1 Số biến trạng thái của mô hình : NNN luôn là một số hữu hạn Các biến trạng tháikhông cần thiết phải được định nghĩa rõ ràng nhưng phải có các đặc điểm có thểđo đạc, xử lý được
2 Ở mỗi thời gian tức thời t, một trạng thái mới phải tham gia vào mô hình thôngqua phân bố xác suất chuyển trạng thái phụ thuộc vào trạng thái trước đó (đặcđiểm mô hình Markov), trạng thái mới có thể giống như trạng thái trước đó.3 Sau mỗi bước chuyển trạng thái, một biến quan sát (ký hiệu / tín hiệu ngõ ra)
phải được tạo thành phụ thuộc vào trạng thái hiện tại Phân bố xác suất phảiđược giữ cố định cho trạng thái và không liên quan đến thời gian / vị trí trạngthái tham gia vào HMM Do đặc tính này, phân bố xác suất biến quan sát biểudiễn một quá trình / biến ngẫu nhiên
Để có thể dễ dàng hơn cho luận văn được triển khai, các thành phần của HMMđược trình bày dựa theo trình tự của hệ thống nhận diện hành động con người CóNN biến trạng thái hành động cần xác định: đi bộ, chạy, nhảy, nằm, đứng yên, té ngã,ngồi (sẽ được triển khai thành NNN = 7 biến trạng thái nếu di chuyển theo một hướngvà NNN = 14 biến trạng thái theo hai hướng di chuyển ngược nhau - trái sang phải vàngược lại) Hệ thống nhận diện có MMM biến quan sát là các cử chỉ toàn thân của mộtngười Hệ thống nhận được được huấn luyện bằng cách chọn các chuỗi biến quan sátvới nhãn n thuộc tập hợp NNN biến trạng thái Sau đó, trong quá trình chạy / kiểm tra
Trang 29khả năng hoạt động của hệ thống nhận diện bằng cách chọn một chuỗi biến quan sátbao gồm các biến quan sát m nằm trong từng nhãn hành động n, hoặc có thể hiểu làcác hành động của con người trên thực tế phải được nối tiếp nhau (đi bộ > chạy >nhẩy > ngồi > nằm > ) Chuỗi biến quan sát được biểu diễn trong bảng 2.2như sau:
Bảng 2.2: Mô tả dữ liệu của mô hình Markov ẨnThời gian tức thời 1, 2, 3, 4, , TBiến trạng thái (ẩn) hành động m3, m1, m1, m2, , mN −2
Biến quan sát - cử chỉ người n4, n2, n5, n2, , nN −13
Hình 2.3: Mô hình Markov Ẩn được biểu diễn bằng chuỗi trạng thái, biến quan sát nốitiếp nhau
Theo như tác giả Rabiner và Juang[13], các thành phần của mô hình HMM (minhhọa hình 2.3) có thể được trình bày :
T = Số lượng của chuỗi biến trạng thái (số lượng thời gian tức thời)N = Số lượng của biến trạng thái (hành động) trong HMM
M = Số lượng của biến trạng thái (cử chỉ con người)Q = {q1, q2, , qN} trạng thái
V = bộ rời rạc {v1, v2, , vM} biến quan sátA = {aij}, aij = p(qt|qt−1) phân bố xác suất chuyển đổi trạng tháiB = {bj(k)}, bj(k) = p(vt|qt) phân bố xác suất chuyển đổi biến quan sát ở trạng thái j
π = {πi}, πi = p(qi|t = 1) phân bố xác suất trạng thái khởi đầuChuỗi biến quan sát OOO = O1, O2, , OT được tạo ra bằng các bước sau:1 Lựa chọn một trạng thái khởi đầu, i1, dựa theo phân bố trạng thái π.2 Đặt mốc thời gian t = 1
3 Chọn Ot dựa theo bit(k), phân bố xác suất biến quan sát ở trạng thái it.4 Chọn it+1 dựa vào phân bố xác suất chuyển trạng thái {aitit+1}, It+1 = 1, 2, , N
từ trạng thái it.5 Đặt thời gian tức thời t = t + 1, quay trở lại bước 3 nếu t < T
Trang 30HMM thường được biểu diễn bởi λλλ = (AAA, BBB, πππ) Các thành phàn của HMM đượcđánh giá theo thứ tự quan trọng: trong khi số lượng biến trạng thái, biến quan sátN, M chỉ đóng vai trò tham gia HMM thì phân bố xác suất chuyển đổi biến quan sátBB là quan trọng nhất vì liên quan trực tiếp đến chuỗi quan sát được, xác suất khởiđầu πππ ít quan trọng nhất vì chỉ ảnh hưởng đến khâu huấn luyện của HMM Phân bốxác suất chuyển trạng thái AAA thì tùy thuộc vào từng vấn đề mà tầm quan trọng củathông số này sẽ thay đổi[13] Tuy nhiên trong luận văn này, AAA đóng vai trò quan trọngtrong HMM vì cách thức hoạt động của con người là các hành động nối tiếp nhau vàcần xác định lại các hành động có cử chỉ tương tự nhau.
Với các ứng dụng sử dụng HMM cần quan tâm đến ba vấn đề chính của HMM để hiểurõ ưu điểm và khuyết điểm của HMM trước khi xem xét tích hợp vào ứng dụng:
Bảng 2.3: Ba vấn đề cơ bản của mô hình Markov ẩnVấn đề 1 Cho chuỗi biến quan sát OOO = {o1, o2, , oT} và mô hình λλλ =
(AAA, BBB, πππ), làm thế nào để có thể tính toán được xác suất tốn tạicủa chuỗi quan sát trong mô hình P (OOO|λλλ)
Vấn đề 2 Cho chuỗi biến quan sát OOO = {o1, o2, , oT}, làm sao để lựa chọn
được chuỗi trạng thái I = {i1, i2, , iT} tối ưu cho các đặc trưng cầnnhận dạng
Vấn đề 3 Làm thể nào để điều chỉnh được thông số mô hình λλλ = (AAA, BBB, πππ) để
tối đa xác suất P (OOO|λλλ)
Vấn đề 1 mang ý nghĩa trong khâu thực thi: có được mô hình, nhận được một chuỗicác biến quan sát, làm thế nào để tính xác suất chuỗi đó trong mô hình Hoặc có thểnói: làm thế nào để có thể đánh giá chuỗi quan sát, chạy để kiểm tra khả năng hoạtđộng của mô hình Với cùng một bài toán, HMM có thể sử dụng bởi nhiều mô hìnhkhác nhau cho bài toán đó Điều này sẽ phụ thuộc vào môi trường thí nghiệm hoặc đốitượng thí nghiệm
Vấn đề 2 là một trong những phần tím ra trạng thái "ẩn" của mô hình Có thể coiđây là một bài toán ước lượng thông thường, các thuật toán tối ưu thực hiện rất tốtnhiệm vụ của mình trong vấn đề này Tuy nhiên, tùy vào từng trường hợp, từng cấutrúc, đặc trưng của biến quan sát, có thể áp dụng các thuật toán phù hợp
Vấn đề 3 là phần để tối ưu các thông số của mô hình nhằm tìm ra được đặc trưng,mô tả phù hợp với hệ thống đang được áp dụng HMM Vấn đề này có thể được xemxét là một khâu huấn luyện Các vấn đề liên quan đến huấn luyện đều là các phầnquan trọng của HMM vì nó cho phép tối ưu thông số hệ thống với các dữ liệu quansát được huấn luyện VD: tạo mô hình tốt nhất để nhận diện giọng nói
Để có thể làm rõ ý nghĩa của các vấn đề trong HMM, tác giả Rabiner và Juang [13]đưa ra một ví dụ về nhận diện giọng nói của người HMM được thiết kế có N-trạng tháicho mỗi từ thuộc bảng từ vựng V-từ Sử dụng phương pháp lượng tử vector - VectorQuantization (VQ) , biễu diễn tín hiệu giọng nói thành chuỗi gòm bãng mã VQ được
Trang 31trích xuất từ bãng từ mã M-từ Từ đó bắt đầu với chuỗi huấn luyện, với mỗi từ khóa,xác định trước một số lượng các đặc trưng biểu diễn của từ được phát âm (bằng mộthay nhiều người nói) Các giải pháp của vấn đề 3 được sử dụng để đạt được thôngsố tối ưu cho mỗi mô hình từ khóa Để có thể phát triển khả năng hiểu được các đặctrưng vật lý của các trạng thái được mô hình hóa, sử dụng giải pháp cho vấn đề 2 đểphân loại từng chuỗi từ được huấn luyện với các trạng thái, sau đó huấn luyện HMMvới chuỗi biến quan sát xảy ra ở từng trạng thái Kết quả của khâu huấn luyện này sẽgiúp cải thiện khả năng hoạt động của HMM Cuối cùng với các từ chưa được nhậnbiết, sử dụng các giải pháp cho vấn đề 1 để đánh giá từng mô hình từ mã giữa theocác chuỗi kiểm tra được cho trước, và lựa chọn từ mã đang kiểm tra là từ mã của môhình nào đạt điểm cao nhất [13]
Rabiner và Juang đã sử dụng các thuật toán cơ bản của HMM để giải quyết cácvấn đề của HMM Trong luận văn này, các thuật toán này được sử dụng để xem xétđến khả năng tích hợp của HMM với các công nghệ hiện đại Dựa theo bài báo củaRabiner và Juang [13], các phương pháp giải quyết các vấn đề của HMM sẽ được trìnhbày nhưng sẽ phân theo các giai đoạn hoạt động của mô hình: huấn luyện, tìm thôngsố tối ưu và kiểm tra các chuỗi biến quan sát chưa được nhận diện
thuật Baum-Welch
Trong phần huấn luyện cho hệ thống sử dụng HMM, các giải pháp cho vấn đề 3 đượcđề cập Mục tiêu của khâu huấn luyện là điều chỉnh thông số của mô hình (AAA, BBB, πππ) đểtối đa xác suất của các chuỗi biến quan sát của mô hình Đây là phần khó nhất trongba vấn đề đã được đề cập ở trên Trên thực tế, không có cách nào để tối ưu tuyệt đốicác mô hình xác suất Vì vậy phương pháp lặp, như phương pháp Baum-Welch cho tốiưu phải được sử dụng
Để tối ưu các thông số của HMM, định nghĩa:
ξt(i, j) = P (it = qi, it+1 = qj|OOO, λλλ) (2.2)Là xác suất của biến cố mà hệ thống đang ở trạng thái qi vào thời điểm tức thờit và diễn ra sự chuyển trạng thái sang trạng thái qj ở thời điểm tức thời t + 1 với môhình và chuỗi biến quan sát được cho trước Từ hình 2.4, ta có thể xác định được:
ξt(i, j) = αt(i)aijbj(ot+1)βt+1(j)
Trong đó: αt(i) đại diện cho t biến quan sát đầu tiên, xảy ra ở trạng thái qi tạithời điểm tức thời t, thành phần aijbj(ot+1) đại diện cho việc chuyển trạng thái từ qiđến thời điểm tức thời t + 1 với biến quan sát ot+1, thành phần βt+1(j) đại diện chophần còn lại của chuỗi biến quan sát Hệ số chuẩn hóa P (OOO|λλλ) chuẩn hóa giá trị củaξt(i, j) Các tính toán thông số chuyển trạng thái trước và sau thời điểm được xét sẽđược trình bày kỹ hơn ở phần sau
Gọi γt(i) là xác suất biến cố tồn tại trạng thái qi tại thời điểm tức thời t với mộtchuỗi biến quan sát và mô hình cho trước Chúng ta có thể tính γt(i) bằng hệ quả củaξt(i, j), cộng tất cả ξt(i, j) với mọi j:
Trang 32Hình 2.4: Minh họa quá trình tính toán của biến cố trạng thái qi tại thời điểm t vàtrạng thái qi tại thời điểm t + 1
ξt(i, j) = Kỳ vọng của biến cố chuyển trạng thái từ trạng thái qi sang trạng thái qj
Với các thông số được trình bày như trên, giải thuật của thuật toán Baum-Welchsẽ sử dụng các thông số trên để ước lượng các thông số của HMM:
Giải thuật Baum-Welch - Công thức ước lượng, minh họa hình 2.4
Phương trình ước lượng cho πππ, AAA, BBB:1 πi = γ1(i), 1 ≤ i ≤ N
γt(j) T
P
t=1
γt(j)
Trang 33Công thức ước lượng cho πi biểu diễn xác suất biến cố tồn tại trạng thái qi tạithời điểm tức thời t = 1 Công thức aij là tỷ lệ giữa kỳ vọng của việc chuyểntrạng thái từ qi đến qj với kỳ vọng chuyển trạng thái khác từ qi Công thức chobj(k) là tỷ lệ giữa kỳ vọng của biến cố tồn tại trạng thái j và biến quan sát làk với kỳ vọng biến cố tồn tại trạng thái j Chú ý rằng, tổng của bj(k) là biếncố tồn tại ở một trạng thái nên phải tính từ thời gian tức thời t = 1 → t = T Định nghĩa mô hình ban đầu là λλλ và mô hình ước lượng là λλλ, với các thông sốπi, aij, bj(k) và có thể chứng minh:
1 Mô hình ban đầu λλλ định nghĩa là điểm cốt lỗi - critical point của hàmkhả năng - likelihood, trong trường hợp λλλ = λλ
2 Mô hình λλ có khả năng đúng hơn nếu P (OOO|λλλ) > P (OOO|λλλ), nghĩa là tồntại mô hình λλλ mà chuỗi biến quan sát hiện tại có khả năng tốn tại hayxuất hiện trong mô hình đó
Vì vậy, nếu lặp lại việc sử dụng mô hình λλλ, tính toán cùng với mô hình λλλ vàlặp lại việc tính toán mô hình ước lượng Xác suất của chuỗi OOO được quan sáttừ mô hình λλλ có thể được tối ưu cho đến khi đạt tới điểm giới hạn Kết quảcủa giải thuật Baum-Welch là mô hình ước lượng khi đạt tới điểm giới hạnhoặc λλλ = λλλ
thuật forward-backward
Chúng ta đã tìm hiểu cách tối ưu thông số của HMM với giải pháp của vấn đề 3, trongđó cần tính toán các thông số xác suất trước và sau thời điểm chuyển trạng thái t vàt + 1 Trong phần này, giải thuật tiến-lùi - forward-backward được trình bày với khảnăng tính toán các thông số xác suất này Mục tiêu của giải thuật này để giải quyếtyêu cầu của vấn đề 1 : tính toán xác suất của chuỗi quan sát OOO trong mô hình λλλ chotrước
Cách làm nhanh nhất là tính tất cả các khả năng tồn tại chuỗi trạng thái với độ dàiT (số lượng của biến quan sát) Với tất cả các chuối trạng thái cố định III = i1, i2, , iT,xác suất của chuỗi biến quan sát OOO là P (OOO|III, λλλ) với:
P (OOO|III, λλλ) = bi1(o1)bi2(o2) biT(oT) (2.5)Xác suất của chuỗi trạng thái III
P (III|λλλ) = πi1ai1i2ai2i3 aiT −1iT (2.6)Ta tính được xác suất biến cố chuỗi biến quan sát OOO tồn tại trong mô hình λλλ:
Trang 34Công thức 2.7 có thể được diễn giải: bắt đầu với thời gian đầu tiên t = 1, chúngta đang ở trạng thái i1 với xác suất π1 và tạo nên biến quan sát o1 với xác suất bi1(o1).Sau đó trạng thái sẽ được chuyển đổi từ biến trạng thái i2 với xác suất ai1i2, tạo thànhbiến quan sát o2 với xác suất bi2(o2) Tiếp tục như vậy cho đến khi chuyển trạng tháitừ t = T − 1 đến t = T với xác suất aiT −1tT và tạo thành biến quan sát oT với xác suấtbtT(oT) Hình 2.5.
Hình 2.5: Minh họa quá trình tính toán xác suất P (OOO|λλλ)Một điểm cần xác định rõ khi tính toán P (OOO|λλλ) là hướng di chuyển của trạng tháivà biến quan sát sẽ ảnh hưởng trực tiếp đến cách tính Cánh tính trên là cho mộtchuỗi III cố định và hệ thống HMM λλλ cho trước, nhưng với mỗi thời điểm tức thờit = 1, 2, , T có N tầng/khả năng để đi đến trạng thái sau Tức là cứ sau mỗi tầngthời điểm tức thời, số lượng công thức tính toán sẽ tăng 2N số lượng tính toán cầnthiết: chúng ta sẽ cần (2T − 1)NT phép nhân và NT − 1 phép cộng Số lượng này vẫnlà bất khả thi cho đến hiện tại kể cả với số lượng N và T nhỏ, Rabiner và Juang đãlàm một phép tính nhỏ và có được kết quả như sau [13]: với N = t, T = 100, số lượngphép tính cần thiết là 2 × 100 × 5100 ≈ 1072 phép tính Vì vậy phương pháp tiến-lùiforward-backward phải được sử dụng để có thể tính toán nhanh hơn, ít nhất là phùhợp với yêu cầu thời gian thực của ứng dụng như nhận diện giọng nói, hành động conngười, minh họa hình 2.5
Giải thuật forward, minh họa hình 2.6
Cho một biến xác suất forward, αt(i), được định nghĩa:
αt(i) = p(o1, o2, , ot, it= qi|λλλ) (2.8)là xác suất của biến cố tồn tại chuỗi biến khảo sát nối tiếp nhau theo thứ tự (cho đếnthời điểm tức thời t) và trạng thái tức thời là qi tại thời điểm tức thời t với mô hìnhλλ cho trước Ta có thể tính αt(i) bằng phương pháp quy nạp:
1 α1(i) = πibi(o1), 1 ≤ i ≤ N ;2 với t = 1, 2, , T − 1, 1 ≤ j ≤ N
Trang 35Hình 2.6: Minh họa quá trình tính toán giải thuật forwardBước 3: Cho ra được kết quả của P (OOO|λλλ) chỉ đơn giản bằng phép tổng tất cả biếnxác suất forward αT(i) bởi vì αT(i) = P (o1, o2, , oT, iT = qi|λλλ).
Độ hiệu quả: Tương tự như ví dụ N = 5, T = 100, ta chỉ phải tính toán với1 ≤ t ≤ T, 1 ≤ j ≤ N , số lượng phép tính yêu cầu chỉ là N2T phép tính thay vì 2T NT
như cách tính trực tiếp: N (N + 1)(T − 1) + N phép nhân và N (N − 1)(T − 1) phépcộng Số lượng phép tính của giải thuật forward chỉ là khoảng 3000 phép tính thay vì1072, giảm được đến gần 69 bậc mũ phép tính
Giải thuật forward-backward được minh họa như hình 2.7 Cách thức hoạt độngquan trọng nhất của giải thuật forward-backward là vì chỉ có N trạng thái, tất cả chuỗibiến trạng thái có thể xảy ra đều được kết hợp với N trạng thái bất kể chuỗi này códài bao nhiêu chăng nữa Tại thời điểm tức thời t = 1, ta chỉ cần tính giá trị α1(i) ,1 ≤ i ≤ N , tại thời điểm tức thời t = 2, 3, , T ta chỉ phải tính giá trị của αt(j) ,
Trang 361 ≤ j ≤ N với tất cả N giá trị trước đó của αt−1(i) vì mỗi trạng thái trong N trạngthái chỉ có thể tồn tại từ N trạng thái ở thời điểm ngay trước đó.
Hình 2.7: Minh họa hiệu quả quá trình tính toán giải thuật forward-backward
Giải thuật forward, minh họa hình 2.8
Với cách làm tương tự, thay vì tiến ở thời điểm ban đầu, ta có thể xem xét tínhxác suất với biến xác suất backward βt(i):
βt(i) = P (ot+1, ot+2, , oT|it= qi, λλλ) (2.10)là xác suất của biến cố tồn tại chuỗi biến quan sát liên tục từ t + 1 đến cuối chuỗibiến quan sát T và tại thời điểm tức thời t tồn tại trạng thái qi với mô hình λλλ chotrước Tương tự với giải thuật forward, giải thuật backward gồm các bước:
1 βT(i) = 1, 1 ≤ i ≤ N ;2 với t = T − 1, T − 2, , 1, 1 ≤ i ≤ N
Với cách tính toán tương tự, ta cũng cần N2T phép tính cho thuật toán backward
Trang 37Hình 2.8: Minh họa quá trình tính toán giải thuật backward
Viterbi
Ý nghĩa của phần này là giải quyết vấn đề 2, mục tiêu của bài toán là tìm ra chuỗibiến trạng thái tối ưu nhất với một chuỗi biến quan sát cho trước, vì sẽ có rất nhiềuđáp án tương tự trong trường hợp này Một tiêu chí để tối ưu bài toán là lựa chọn cáctrạng thái it phân biệt với nhau nhất có thể Điều này sẽ giúp tối đa hóa các kỳ vọngcủa các trạng thái cần xem xét Để giải quyết bài toán này, chúng ta cần định nghĩamột biến :
γt(i) = P (it= qi|OOO, λλλ) (2.12)là xác suất của biến cố tồn tại trạng thái qi tại thời điểm tức thời t với chuỗi quan sátOO và mô hình λλλ cho trước Xác suất này có thể được biểu diễn dưới dạng phân số:
γt(i) = αt(i)βti
Với αt(i) tính toán với chuỗi o1, o2, , ot và βt(i) tính toán cho chuỗi ot+1, , oTvới trạng thái qi tại thời điểm tức thời t Hệ số chuẩn hóa, P (OOO|λλλ) biến γt(i) thànhmột xác suất chuẩn, với
N
P
i=1
γt(i) = 1.Với γt(i), ta có thể tìm được trạng thái khác biệt nhất tại thời điểm tức thời t là:
Trang 38thời gian, và độ dài của chuỗi biến quan sát Điều này sẽ hữu dụng trong các trườnghợp mà các đặc trưng không thể mô tả rõ ràng hoặc không xảy ra một cách thườngxuyên, có hệ thống.
Bài toán của vấn đề 2 có thể được xem xét là một bài toán tìm con đường đơngiản nhất (chuỗi trạng thái) với xác suất tồn tại là cao nhất (tối đa P (OOO, III|λλλ)) Trongtrường hợp này, công thức Viterbi được sử dụng để tìm ra con đường ngắn nhất
Giải thuật Viterbi - tìm đường đi có xác suất xuất hiện lớn nhấtCác bước thực hiện của giải thuật Viterbi nhằm tìm ra con đường đi có xác suấtcao nhất:
1 Cài đặt thông số ban đầu
δ1(i) = πibi(o1), 1 ≤ i ≤ NΨ1(i) = 0
2 Sử dụng phép đệ quyLặp lại 2 ≤ t ≤ T , 1 ≤ j ≤ N
δt(i) = max
1≤i≤N[δt−1(i)aij]bj(ot)Ψt(i) = argmax
Trang 392.3Thiết bị Kinect for Windows version 2 của
Mi-crosoft và lý thuyết trích xuất khung xươngbằng cách gán nhãn các phần cơ thể:
Phần này đưa ra các thông số và cách thức thiết bị Kinect for Windows version 2(Kinect v2) của công ty Microsoft hoạt động, từ đó thực hiện việc phân tích khả năngđể hiện thực hóa hệ thống nhận diện hành động con người bằng HMM Trong đề tàinày, mục tiêu hướng đến là có thể xử lý tín hiệu thu nhận được theo thời gian thựcnên các thông số, công nghệ phải được xem xét kỹ càng để đảm bảo độ ổn định vàthông suốt của hệ thống trong quá trình hoạt động
Hình 2.9: Hình ảnh thiết bị Kinect v2 của Mircosoft.Nguồn : www.slideshare.net/ Tác giả: Tsukasa SugiuraThông số của thiết bị , minh hoạ hình 2.9và so sánh các đặc tính với Kinectv1:
Bảng 2.4: Đặc tính của Kinect v2 và v1.Đặc tính Kinect for Windows v1 Kinect for Windows v2
Trang 40Phần cứng của Kinect for Windows v2, minh họa hình 2.10:
Hình 2.10: Hình ảnh phần cứng thiết bị Kinect v2 của
Mircosoft Nguồn: www.ifixit.com/
Ghi chú:1 Camera ghi nhận ảnh màu RGB 1080p2 Camera phát hồng ngoại (tạo ảnh độ sâu)3 Cảm biến thu hồng ngoại (tạo ảnh độ sâu)4 Dãy microphone để thu nhận âm thanh và tính toán hướng nguồn phátẢnh màu từ camera RGB 1080p: Hình 2.11
Thông số:Kích thước ảnh: 1920x1080 điểm ảnh - pixels (px)Tốc độ thu:
- 30 khung ảnh trên giây - frame per second (fps)- 15 fps - môi trường ánh sáng yếu