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

Phân tích dáng đi của người bị vẹo cột sống sử dụng đặc trưng HoG

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 (1.15 MB, 26 trang )

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

TRƯƠNG THỊ THẾ QUANG

PHÂN TÍCH DÁNG ĐI CỦA NGƯỜI
BỊ VẸO CỘT SỐNG SỬ DỤNG
ĐẶC TRƯNG HOG

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

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

Đà Nẵng – Năm 2018


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: TS. Phạm Minh Tuấn
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 tại Trường Đại học Bách
khoa vào ngày 08 tháng 12 năm 2018.

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 – ĐHĐN.


1
MỞ ĐẦU
1. Lý do chọn đề tài
Cột sống có vai trò hết sức quan trọng trong mọi hoạt động
sống của con người. Nó tạo thành bộ khung nâng đỡ cơ thể, tạo cho
con người có dáng đứng thẳng, bảo vệ tủy sống và các cơ quan nội
tạng trong cơ thể. Tuy nhiên, hiện nay tỉ lệ bệnh vẹo cột sống đang
rất phổ biến, đặc biệt là lứa tuổi học đường.
Ngày nay, các nghiên cứu trong lĩnh vực thị giác máy tính hỗ
trợ rất nhiều trong công tác y tế, đặc biệt là các nghiên cứu phân tích
dáng đi giúp quan sát bệnh nhân và có thể phát hiện sớm một số bệnh
tật. Ứng dụng phân tích dáng đi trong lĩnh vực y tế đã được triển khai
từ rất sớm để chuẩn đoán và phát hiện các bệnh tiềm ẩn liên quan
đến khung xương.
Từ hiện trạng và những lý do trên tôi xin đề xuất đề tài: “Phân
tích dáng đi của người bị bệnh vẹo cột sống sử dụng đặc trưng
HOG”
2. Mục tiêu và nội dung nghiên cứu

2.1 Mục tiêu nghiên cứu
Mục tiêu của đề tài là xây dựng giải pháp đề xuất để phân tích
dáng đi ở người bệnh vẹo cột sống, áp dụng phương pháp trích xuất
đặc trưng HoG cùng với xây dựng mô hình huấn luyện dựa trên mô
hình SVM để phân tích dáng đi xem người đó có bị bệnh vẹo cột

sống hay không?

2.2 Nội dung nghiên cứu
Nội dung nghiên cứu của luận văn gồm:


2
- Tìm hiểu các biểu hiện lâm sàng về dáng đi của người bệnh
vẹo cột sống;
- Nghiên cứu giải pháp nhận dạng dáng đi của người bị bệnh
vẹo cột sống;
- Nghiên cứu các thiết bị phân tích dáng đi, những kỹ thuật
trích chọn đặc trưng, những mô hình đã được sử dụng trong phân
tích nhận dạng dáng đi;
- Tìm hiểu về phương pháp trích chọn đặc trưng HOG;
- Xây dựng chương trình demo để kiểm tra, đánh giá kết quả.
3. Đối tượng và phạm vi nghiên cứu

3.1 Đối tượng nghiên cứu
Luận văn tập trung tìm hiểu những vấn đề sau:
- Dáng đi của người bị bệnh vẹo cột sống;
- Các kỹ thuật nhận dạng dáng đi, các phương pháp phân tích
dáng đi;
- Phương pháp trích chọn đặc trưng HoG.

3.2 Phạm vi nghiên cứu
Luận văn tập trung trong phạm vi nghiên cứu phân tích dáng
đi với dữ liệu thu được từ camera hoặc dữ liệu có sẵn, áp dụng
phương pháp trích xuất đặc trưng HoG và mô hình SVM để nhận
dạng dáng đi của người bệnh vẹo cột sống.

4. Phương pháp nghiên cứu

4.1

Phương pháp nghiên cứu lý thuyết

Luận văn tập trung nghiên cứu một số lý thuyết như sau:
- Tìm hiểu các kĩ thuật xử lý ảnh;


3
- Tìm hiểu các kỹ thuật trích chọn đặc trưng, các mô hình sử
dụng trong nhận dạng dáng đi, các thiết bị đã được sử dụng trong
phân tích dáng đi;
- Tìm hiểu về phương pháp trích chọn đặc trưng HoG;
- Nghiên cứu các bài báo liên quan.

4.2

Phương pháp nghiên cứu thực nghiệm

Luận văn nghiên cứu một số vấn đề về thực nghiệm như sau:
- Ghi nhận dữ liệu từ camera hoặc sử dụng dữ liệu có sẵn;
- Cài đặt thực nghiệm và đánh giá kết quả.
5. Ý nghĩa khoa học và thực tiễn của luận văn

5.1

Ý nghĩa khoa học


Kết quả thu được là cơ sở để thực hiện các nghiên cứu về dáng
đi của con người để phát hiện các loại bệnh khớp khác nhau.

5.2

Ý nghĩa thực tiễn

Góp phần hỗ trợ kịp thời trong việc phát hiện dáng đi của một
người bệnh vẹo cột sống.


4
CHƯƠNG 1 –BỆNH VẸO CỘT SỐNG
1.1.

TỔNG QUAN VỀ BỆNH VẸO CỘT SỐNG

1.1.1. Giới thiệu
Vẹo cột sống (Scoliosis) là thuật ngữ để chỉ tình trạng cong
của cột sống sang phía bên trục của cơ thể và vẹo của các thân đốt
sống theo trục của mặt phẳng nằm ngang, do đó không còn giữ được
các đoạn cong sinh lý bình thường của nó vốn có.
Cong cột sống:

(b)

(a)
(b)
Hình 1.1. Hình dạng cột sống.
(a) Cột sống bình thường

Vẹo cột sống ngực – thắt lưng hình chữ S nghịch

Vẹo cột sống: Các thân đốt sống xoay theo mặt phẳng ngang.

(a)

(b)

Hình 1.2. Hình dạng người bệnh vẹo cột sống.
(a)
Cột sống bình thường
(b) Vẹo cột sống


5
1.1.2.

Nguyên nhân gây bệnh vẹo cột sống và phân loại bệnh
vẹo cột sống
Cong vẹo cột sống được phân thành hai loại là cong vẹo

không cấu trúc và cong vẹo cấu trúc.
a. Cong vẹo không cấu trúc:
Cong vẹo không cấu trúc là cong vẹo cột sống mà các đốt
sống không có biến dạng về giải phẫu. Cong vẹo không cấu trúc gặp
trong một số nguyên nhân như vẹo tư thế; vẹo bù trừ; vẹo cột sống
do viêm.
b. Cong vẹo cấu trúc
Cong vẹo cấu trúc là cong vẹo cột sống với các đốt sống bị
biến dạng ở đường cong của cột sống. Trong hầu hết các trường hợp

cong vẹo cấu trúc xuất hiện trước tuổi xương ngừng lớn kèm theo
xoay (vẹo), bao gồm bốn loại: Cong vẹo bẩm sinh (Congentital
scoliosis); Cong vẹo tự phát; Cong vẹo do bệnh thần kinh cơ
(Neuromuscular scoliosis); Cong vẹo trong một số bệnh khác
(Miselanous).
1.1.3.

Biến chứng của cong vẹo cột sống
Thay đổi hình dáng cơ thể;
Tổn thương phổi và tim;
Vấn đề ở lưng;

1.1.4.

Phân loại mức độ vẹo cột sống
Tình trạng cong vẹo cột sống có thể ít hay nhiều, từ đó dẫn

đến các dị tật ở các mức độ khác nhau, thông thường có 3 cấp độ vẹo
cột sống:
Cấp độ 1: biểu hiện khi cột sống đã lệch nhưng chỉ có thể phát
hiện bởi các chuyên gia.


6
Cấp độ 2: biểu hiện khi nhìn từ phía sau đã có thể thấy cột
sống cong vẹo và gù xương sườn do đốt sống bị xoay.
Cấp độ 3: biểu hiện khi có thể nhìn thấy rõ cột sống bị vẹo
lệch sang bên gây ảnh hưởng nặng tới chức năng hô hấp đồng thời có
thể gây ra biến dạng khung chậu, khớp háng cũng như chiều dài của
lưng - thắt lưng ngắn lại hoặc xương sườn ngực bị biến dạng.

Các phương pháp phát hiện vẹo cột sống trong y học

1.1.5.

Hiện nay có một số phương pháp phát hiện bệnh vẹo cột sống
trong y học, cụ thể như sau:
Phương pháp khám sàng lọc;
Phương pháp khám vẹo cột sống dùng thước đo góc hai cành
hoặc dùng thước đo Scoliometer:
-

Dùng thước đo góc hai cành:

Hình 1.5. Cách đo góc vẹo cột sống bằng thước đo góc hai cành.

-

Dùng thước Scoliometer:

Hình 1.6. Thước đo Scoliometer và cách đo góc vẹo cột sống.


7
Phương pháp chụp X-quang cột sống:

Hình 1.7. Các cách đo góc Cobb.

1.1.6.

Ảnh hưởng của cong vẹo cột sống đến sức khỏe, học tập

và hoạt động

1.2.

CÁC PHƯƠNG PHÁP CÔNG NGHỆ ĐÃ SỬ DỤNG ĐỂ
PHÁT HIỆN BỆNH VẸO CỘT SỐNG

1.2.1.

Phát hiện bệnh vẹo cột sống bằng camera Kinect
Với sự hỗ trợ của Kinect, hình ảnh khung xương Kinect nhận

diện được bao gồm 20 vị trí khớp thể hiện ở hình 1.6 dưới đây:

Hình 1.9. Vị trí các khớp trong khung xương Kinect.


8
Sau khi thử nghiệm, dựa vào các công thức để tính toán, nhóm
tác giả đã thu thập được 9 giá trị xác định bởi camera Kinect.Các giá
trị này được chương trình MATLAB xử lý và hiển thị các giá trị của
từng đối tượng thông qua giao diện đồ họa người dùng (GUI).

Hình 1.10. Dữ liệu bộ xương từ camera Kinect

1.2.2.

Sử dụng thuật toán K-means để xác định độ cong cột
sống từ phim X-quang
Xác định góc Cobb được thực hiện tuần tự như sau:


Hình 1.11. Trình tự thực hiện để xác định góc Cobb


9
KẾT CHƯƠNG
Chương 1 tác giả đã trình bày tổng quan về bệnh vẹo cột sống
như các lý thuyết về bệnh vẹo cột sống, nguyên nhân gây bệnh, phân
loại bệnh, một số phương pháp trong y học cũng như trong công
nghệ hiện nay để phát hiện bệnh vẹo cột sống.


10
CHƯƠNG 2 – TỔNG QUAN VỀ PHÂN TÍCH DÁNG ĐI
Phân tích dáng đi là nghiên cứu có hệ thống về vận động, cụ
thể hơn là chuyển động của con người bằng sự quan sát của các nhà
nghiên cứu, được tăng cường bằng các thiết bị cảm biến đo chuyển
động cơ thể, camera giám sát… Bên cạnh những ứng dụng trong
giám sát, tương tác người – máy, đa phương tiện và mô phỏng, việc
sử dụng các hệ thống thị giác máy tính còn phục vụ cho mục tiêu
chăm sóc y tế tại nhà. Các hệ thống này sử dụng camera kết nối với
máy tính hoặc bộ xử lý chuyên dụng để quan sát và đánh giá dáng đi
của người.
2.1.

CÁC ĐẶC TRƯNG ĐƯỢC SỬ DỤNG TRONG NHẬN
DẠNG DÁNG ĐI

2.1.1.


Biểu diễn đường bao (Silhouette)

Hình 2.1. Biểu diễn đường bao. (1) Minh họa việc khai thác cạnh biên và quá trình
mở rộng biên theo hướng ngược chiều kim đồng hồ, (b) Tín hiệu khoảng cách được
chuẩn hóa bao gồm tất cả cá khoảng cách giữa trọng tâm và các điểm ảnh trên biên

2.1.2.

Đặc trưng PCA và biến đổi Hough

2.2.

CÁC THIẾT BỊ PHÂN TÍCH DÁNG ĐI
Trước đây, việc phân tích dáng đi được thực hiện bởi các

chuyên gia quan sát dáng đi bộ của bệnh nhân. Tuy nhiên, phương
pháp đánh giá này chủ quan và không chính xác. Hiện nay, việc phân


11
tích dáng đi thường được thực hiện dựa trên nhiều phương pháp sử
dụng các công nghệ cảm biến và thị giác máy tính như sử dụng cảm
biến, sử dụng nhiều camera đồng bộ, sử dụng camera có cảm biến,
sử dụng một camera đơn.
2.2.

CÁC PHƯƠNG PHÁP HỌC MÁY VỀ NHẬN DẠNG
DÁNG ĐI

2.2.1.


Máy vector hỗ trợ (Support Vector Machine – SVM)
Máy vector hỗ trợ là một thuật toán học máy nổi tiếng được sử

dụng để giải quyết bài toán phân lớp. Thuật toán SVM ban đầu được
tìm ra bởi Vladimir N. Vapnik và dạng chuẩn hiện nay sử dụng lề
mềm được tìm ra bởi Vapnik và Corinna Cortes năm 1995, phương
pháp phân loại của nó dựa trên lý thuyết học thống kê và hàm hạt
nhân. SVM đã được áp dụng rất thành công trong việc giải quyết các
vấn đề của thế giới thực như nhận dạng văn bản, hình ảnh, chữ viết
tay…
2.2.2.

Mô hình Markov ẩn (Hidden Markov Model – HMM)

Hình 2.9. Tham số xác suất của một mô hình Markov ẩn.


12
Mạng nơron nhân tạo (Artificial Neural Network – ANN)

2.2.3.

Hình 2.10. Mô hình cấu trúc một nơ-ron trong ANN.

KẾT CHƯƠNG
Chương 2 giới thiệu một số thiết bị được sử dụng trong phân
tích dáng đi, đồng thời giới thiệu những kỹ thuật trích chọn đặc
trưng, những mô hình đã được sử dụng trong phân tích nhận dạng
dáng đi.



13
CHƯƠNG 3 – PHÂN TÍCH DÁNG ĐI CỦA NGƯỜI VẸO CỘT
SỐNG SỬ DỤNG ĐẶC TRƯNG HOG VÀ BỘ LỌC SVM
Mục tiêu của chương này là tiến hành kiểm chứng mô hình
giải pháp đề ra theo các bước như sau: đưa ra cái nhìn tổng quan về
hệ thống; thu thập dữ liệu; trích chọn đặc trưng; huấn luyện và nhận
dạng; sau đó tiến hành kiểm chứng kết quả.
3.1.

TỔNG QUAN VỀ HỆ THỐNG
Quá trình xử lý được nghiên cứu sử dụng như sau:

Hình 3.1. Giải pháp đề xuất quá trình thực hiện.

3.2.

XÂY DỰNG DỮ LIỆU
Dữ liệu huấn luyện và dữ liệu thử được lấy từ mô hình 3D mô

phỏng con người với dáng đi được thiết lập sẵn. Mô hình này được
xây dựng nhờ công cụ MakeHuman kết hợp với Blender.
3.2.1.

Phần mềm thiết kế 3D MakeHuman
MakeHuman là công cụ tạo nhân vật miễn phí duy nhất mà tác

giả biết, nó bắt đầu như là một công cụ bổ sung cho Blender và từ đó
đã trở thành một ứng dụng độc lập. Với phần mềm thiết kế 3D



14
MakeHuman nó thực sự là trò chơi của trẻ để tạo các tệp 3D của con
người, vì phần mềm mô hình 3D này cho phép bạn thao tác những gì
được gọi là “lưới cơ sở” – một tệp 3D dạng 3D vô tri vô tính.

Hình 3.2. Giao diện công cụ MakeHuman.

3.2.2.

Phần mềm Blender
Blender là một phần mềm đồ họa 3D miễn phí và nguồn mở,

được sử dụng để làm phim hoạt hình, kỹ xảo, ảnh nghệ thuật, mẫu in
3D, phần mềm tương tác 3D và video game. Các tính năng của
Blender bao gồm tạo mẫu 3D, áp vân bề mặt, mô phỏng khói, chất
lỏng, hạt và chuyển động cơ thể, điêu khắc, phối hợp chuyển động,
theo dõi camera, dựng hình, chỉnh sửa video…

Hình 3.3. Giao diện phần mềm Blender.


15
Sau khi xây dựng được nhân vật và thêm dáng đi cho nhân
vật. Tiến hành lưu các khung ảnh chụp từ chính diện vào cơ sở dữ
liệu huấn luyện.

Hình 3.4. Một số khung ảnh được lưu vào cơ sở dữ liệu.


3.2.3.

Trích xuất đặc trưng HOG
Bản chất của HOG là các thông tin về hình dáng và vẻ bề

ngoài của các đối tượng cục bộ trong ảnh có thể được mô tả bằng
cách sử dụng thông tin về sự phân bố của các cường độ gradient hoặc
của hướng biên. Các toán tử HoG được cài đặt bằng cách chia nhỏ
một bức ảnh thành các vùng con được gọi là “tế bào” (cells) và với
mỗi cell đó một biểu đồ về các hướng của gradient sẽ được tính cho
các điểm nằm trong cell. Ghép các biểu đồ này lại ta sẽ có một biểu
diễn cho bức ảnh đầu. Để tăng cường hiệu năng nhận dạng, các biểu
đồ cục bộ có thể được chuẩn hóa về độ tương phản bằng cách tính
một ngưỡng cường độ trong một vùng lớn hơn của ảnh, gọi là các
khối (blocks) và sử dụng giá trị ngưỡng đó để chuẩn hóa tất cả các
cell trong khối. Kết quả của bước chuẩn hóa này là vec-to đặc trưng
sẽ có tính bất biến cao hơn đối với các thay đổi về điều kiện ánh
sáng. Đặc trưng HoG gồm một số loại như R-HOG, R2-HOG, C-


16
HOG, đối với bài toán nhận dạng thông thường người ra sử dụng đặc
trưng R-HOG (mỗi ô có hình dạng là hình chữ nhật).
Bài toán tính toán HOG thường gồm 5 bước:
-

Chuẩn hóa hình ảnh trước khi xử lý;

-


Tính toán gradient theo cả hướng x và y;

-

Tính vecto đặc trưng cho từng cell và từng block;

-

Chuẩn hóa các block;

-

Thu thập tất cả các biểu đồ cường độ gradient định hướng
từ các block để tạo ra vecto đặc trưng cuối cùng.

3.3.

HUẤN LUYỆN

3.3.1.

Xây dựng mô hình phân lớp sử dụng SVM để nhận dạng
dáng đi
a.

Bài toán phân lớp

Phân lớp là quá trình nhóm các đối tượng “giống” nhau vào
“một lớp” dựa trên các đặc trưng dữ liệu của chúng. Tuy nhiên, phân
lớp là một hoạt động tiềm ẩn trong tư duy con người khi nhận dạng

thế giới thực, đóng vai trò quan trọng làm cơ sở đưa ra các dự báo,
các quyết định. Phân lớp và cách mô tả các lớp giúp cho tri thức
được định dạng và lưu trữ trong đó.
Kỹ thuật phân lớp dữ liệu được tiến hành bao gồm 2 bước:
Bước 1: Xây dựng mô hình
Bước 2: Sử dụng mô hình
Bài toán phân lớp (Classification) và dự đoán (Prediction) là
hai bài toán cơ bản và có rất nhiều ứng dụng trong tất cả các lĩnh vực
như: học máy, nhận dạng, trí tuệ nhân tạo,… Trong luận văn này, tôi
sẽ đi sâu nghiên cứu phương pháp Support Vector Machines (SVM),
một phương pháp rất hiệu quả hiện nay.


17
b.

Ý tưởng phương pháp SVM

Cho trước một tập huấn luyện, được biểu diễn trong không
gian vector, trong đó mỗi tài liệu là một điểm, phương pháp này tìm
ra một siêu phẳng f quyết định tốt nhất có thể chia các điểm trên
không gian này thành hai lớp riêng biệt tương ứng là lớp + và lớp -.
Chất lượng của siêu phẳng này được quyết định bởi khoảng cách (gọi
là biên) của điểm dữ liệu gần nhất mỗi lớp đến mặt phẳng này. Khi
đó, khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt,
đồng thời việc phân loại càng chính xác.
Phương pháp SVM cho bài toán phân lớp được mô tả thông
qua ví dụ sau: Xét không gian 2 chiều (n=2), các điểm của tập mẫu
được cho như hình 3.5.


Hình 3.6. Minh họa bài toán phân hai lớp với phương pháp SVM.

Hình 3.6 thể hiện trường hợp có thể tìm được siêu phẳng phân
tách, dữ liệu trong trường hợp này gọi là phân tách tuyến tính. Bây
giờ ta xét trường hợp dữ liệu phân tách không tuyến tính nó được
minh họa trong hình 3.7 như sau:


18

Hình 3.7. Bài toán SVM trong trường hợp dữ liệu mẫu không phân tách tuyến tính

Ta thấy rằng trong hình 3.7 ở trên có những mẫu mặc dù có
nhãn +1, nhưng lại bị “rơi” vào phía các mẫu có nhãn -1 và ngược
lại.
c.

Các bước thực hiện

Phương pháp SVM yêu cầu dữ liệu được diễn tả như các vecto của các số thực. Như vậy nếu đầu vào chưa phải là số thì ta cần
phải tìm cách chuyển chúng về dạng số của SVM.
Tiền xử lý dữ liệu: Thực hiện biến đổi dữ liệu phù hợp cho quá
trình tính toán, tránh các số quá lớn mô tả các thuộc tính. Thường
nên co giãn (scaling) dữ liệu để chuyển về đoạn [-1, 1] hoặc [0, 1].
Chọn hàm hạt nhân: Lựa chọn hàm hạt nhân phù hợp tương
ứng cho từng bài toán cụ thể để đạt được độ chính xác cao trong quá
trình phân lớp.
Thực hiện việc kiểm tra chéo: để xác định các tham số cho ứng
dụng. Điều này cũng quyết định đến tính chính xác của quá trình
phân lớp.

Sử dụng các tham số cho việc huấn luyện với tập mẫu: Trong
quá trình huấn luyện sẽ sử dụng thuật toán tối ưu hóa khoảng cách
giữa các siêu phẳng trong quá trình phân lớp, xác định hàm phân lớp
trong không gian đặc trưng nhờ việc ánh xạ dữ liệu vào không gian


19
đặc trưng bằng cách mô tả hạt nhân, giải quyết cho cả hai trường hợp
dữ liệu là phân tách và không phân tách tuyến tính trong không gian
đặc trưng, sau đó tiến hành kiểm thử trên tập dữ liệu Test.
3.3.2.

Phát hiện vẹo cột sống
Các video dùng để huấn luyện sẽ được cắt thành nhiều khung

ảnh, cắt sao cho ảnh bao sát cơ thể người và đưa về kích thước
100*100px, sau đó các khung này được đưa về dạng ảnh nhị phân.
Sau khi tiền xử lý, tiến hành lấy đặc trưng HoG của các khung ảnh
này. Các vec-to đặc trưng thu được sẽ được đưa vào mô hình SVM
để huấn luyện. Dữ liệu được phân thành 2 lớp với các nhãn là: Bình
thường và Vẹo cột sống.
Sau khi đã huấn luyện, quy định các ngưỡng để tiến hành nhận
dạng phát hiện dáng đi vẹo cột sống. Đối với khung ảnh lấy từ video
đầu vào, tỉ lệ phù hợp của khung ảnh đó thuộc lớp nào cao hơn thì
kết luận thuộc lớp đó, ví dụ tỷ lệ khung ảnh thuộc lớp Vẹo cột sống
trên 70% thì kết luận người này mắc bệnh vẹo cột sống. Để nhận
dạng chuẩn xác nhất, tôi chọn ngưỡng 70% vì các kiến thức về sinh
trắc học trong quá trình nghiên cứu và thực nghiệm. Quá trình thực
nghiệm và kết quả được trình bày ở phần tiếp theo.
3.4.


KẾT QUẢ THỰC NGHIỆM

3.4.1.

Dữ liệu thử nghiệm
Dữ liệu thử nghiệm được xậy dựng gồm 6 nhân vật với giới

tính và độ tuổi khác nhau, quá trình đi bộ bình thường và đi lệch vai,
mỗi nhân vật được lấy 150 khung hình trong suốt chu kì dáng đi. Tập
dữ liệu này được chia làm 2 phần: huấn luyện và thử nghiệm. Số
lượng chu kỳ tương ứng với mỗi người được thể hiện trong bảng 3.1.


20
Bảng 3.1. Số chu kỳ được thực hiện trên mỗi người

Các khung hình thu được từ các nhân vật 1, 2, 3, 4 được đưa
vào huấn luyện, khung hình thu được từ các nhân vật 4, 5, 6 được
dùng cho thử nghiệm.

(a)

(b)

Hình 3.8. Chuỗi ảnh thể hiện dáng đi.
(a) Dáng đi bình thường
(b) Dáng đi vẹo cột sống

Hệ thống thử nghiệm được xây dựng trên ngôn ngữ lập trình

Python và bộ thư viện Keras.
a.

Ngôn ngữ Python

Python là một ngôn ngữ lập trình thông dịch do Guido van
Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ
chế cấp

phát

bộ

nhớ

tự

động;

do

vậy



tương

tự

như Perl, Ruby, Scheme, Smalltalk và Tcl. Python được phát triển



21
trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software
Foundation quản lý.
b.

Thư viện Keras

Keras là thư viện nguồn mở được viết bằng Python dùng để
xây dựng các Neural Networks ở cấp độ cao cấp của giao diện. Thư
viện này đơn giản và có khả năng mở rộng cao. Keras sử dụng backend là Theano hoặc TensorFlow, nhưng gần đây Microsoft đã cố
gắng tích hợp CNTK (Cognitive Toolkit của Microsoft) thành backend mới.
3.4.2.

Quá trình thực hiện
Quá trình thực hiện chương trình bao gồm các bước sau:
Bước 1: Xây dựng cơ sở dữ liệu từ công cụ MakeHuman và

Blender.
Bước 2: Xử lý dữ liệu huấn luyện, phát hiện đối tượng trong
khung hình, chuấn hóa hình ảnh về kích thước 100*100px, chuyển
ảnh thành ảnh nhị phân.
Bước 3: Trích xuất đặc trưng HoG.

(a)

(b)

Hình 3.9. Ảnh trước và sau khi trích xuất đặc trưng HoG: (a) Ảnh đầu vào (b)

Ảnh sau khi trích xuất đặc trưng HoG


22
Bước 4: Đưa dữ liệu huấn luyện vào mô hình SVM.
Bước 5: Nhận dạng.
3.4.3.

Kết quả thử nghiệm
Để thực hiện phân lớp dáng đi, tôi chia tập dữ liệu thành 2 tập

con là tập huấn luyện (train) và tập kiểm thử (test).
Tập huấn luyện gồm có 670 khung hình dáng đi bình thường
và 700 khung hình dáng đi lệch vai.
Tập kiểm thử là các video thể hiện dáng đi của 3 nhân vật gồm
550 khung hình dáng đi bình thường và 500 khung hình dáng đi lệch
vai.
Kết quả nhận dạng sau khi xuất ra màn hình được thể hiện
trong hình 3.10 với dữ liệu đầu vào là các video.

(a)

(b)

Hình 3.10. Hình ảnh kết quả nhận dạng xuất ra màn hình.
(a) Kết quả nhận dạng người bình thường
(b) Kết quả nhận dạng người bệnh vẹo cột sống


23

Kết quả nhận dạng được thể hiện ở bảng sau:
Bảng 3.2. Kết quả nhận dạng dáng đi

Dựa vào kết quả thực nghiệm nhận dạng dáng đi, ta thấy độ
chính xác của giải pháp là 92 .5% đối với nhận dạng dựa trên khung
hình và 93.8% đối với nhận dạng dựa trên video.
Nhận xét về kết quả thử nghiệm trên, ta thấy các chu kỳ dáng
đi bình thường và vẹo cột sống được phân tách khá rõ ràng dựa trên
ngưỡng xác định trong quá trình huấn luyện. Tuy nhiên để cho mô
hình SVM được chính xác và hiệu quả thì phụ thuộc rất nhiều vào
tập dữ liệu huấn luyện. Tập dữ liệu này phải thu thập đủ lớn và khách
quan.
KẾT CHƯƠNG
Chương 3 mô tả giải pháp đề xuất của phương pháp phân tích
dáng đi sử dụng đặc trưng HoG bao gồm: trích xuất đặc trưng HOG,
xây dựng mô hình dáng đi dựa trên mô hình máy vec-tơ hỗ trợ
(SVM), tính ngưỡng xác xuất để nhận biết dáng đi của người vẹo cột
sống, trình bày kết quả thực nghiệm của giải pháp đề xuất


×