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

Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính (tt)

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 (1015.35 KB, 22 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

NGUYỄN TÔN THẤT TÚ

THEO DÕI TÍN HIỆU SINH HỌC TRÊN DI ĐỘNG
SỬ DỤNG HỒI QUI TUYẾN TÍNH

CHUYÊN NGÀNH:
MÃ SỐ:

HỆ THỐNG THÔNG TIN
60.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. NGUYỄN ĐỨC THẮNG

TP HỒ CHÍ MINH - 2016


Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: TS. Nguyễn Đức Thắng

Phản biện 1:

…………………………………………………………………………………….
……………………………………………………………………………………
Phản biện 2: ……………………………………………………………………...



……………………………………………………………………………………

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện
Công nghệ Bưu chính Viễn thông
Vào lúc:

....... giờ....... ngày....... tháng......... năm...............

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông.


1

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai

công bố trong bất kỳ công trình nào khác.

Ngày 20 tháng 06 năm 2016
Học viên thực hiện luận văn

Nguyễn Tôn Thất Tú



2

LỜI CẢM ƠN
Lời cám ơn đầu tiên, tôi xin gửi đến các Thầy, Cô Học viện Bưu chính Viễn

thông Cơ sở Hồ Chí Minh, đã tận tình trong công tác giảng dạy, tạo điều kiện tốt nhất

để tôi có thể thực hiện luận văn này. Đặc biệt tôi xin gửi lời biết ơn sâu sắc đến TS

Nguyễn Đức Thắng là người đã hướng dẫn, giúp đỡ và truyền những kinh nghiệm
quý báu để tôi có thể hoàn thành luận văn thạc sỹ với đề tài: “Theo dõi tín hiệu sinh
học trên di động sử dụng hồi qui tuyến tính”.

Lời cảm ơn sau cùng, tôi xin gửi lời cám ơn đến gia đình tôi và các bạn học

đồng khóa đã gắn bó, chia sẻ kinh nghiệm và ủng hộ để tôi có thể hoàn thành luận
văn này.

Ngày 20 tháng 06 năm 2016
Học viên thực hiện luận văn

Nguyễn Tôn Thất Tú


3

MỞ ĐẦU
Nhu cầu phát hiện và xử lý tín hiệu sống sinh học để theo dõi sức khỏe là hợp

lý và cần thiết. Có rất nhiều thuật toán liên quan đến việc này. Trong đó, thuật toán

đơn giản mang lại hiệu quả là hồi quy tuyến tính (Linear Regression). Ta sẽ áp dụng
và hiện thực thuật toán trên di động.
Mục đích nghiên cứu:

 Đề tài được nghiên cứu nhằm mục đích phát triển trên thiết bị di động

một ứng dụng có thể kiểm tra được tín hiệu sống sinh học của con
người: nhịp tim và nhịp thở.

Đối tượng nghiên cứu:

 Tín hiệu sống sinh học: nhịp thở, nhịp tim.
 Thuật toán xử lý hình ảnh

 Thuật toán hồi quy tuyến tính

 Android và môi trường phát triển ứng dụng trên Android.
Phạm vi nghiên cứu:

 Với khuôn khổ của luận văn, ta có thể nghiên cứu được cơ sở lý thuyết
của thuật toán hồi quy tuyến tính mở rộng và khả năng cài đặt của thuật
toán này. Thiết bị được sử dụng là các thiết bị di động có hệ thống
camera để có thể ghi chuỗi hình ảnh của người được đo. Chuỗi hình

ảnh có thể được lưu trữ dưới dạng video hoặc các dạng khác để phù
hợp với phương pháp xử lý. Các cơ sở lý thuyết sẽ được cài đặt và sử
dụng trên các thiết bị.

 Sau khi phần mềm đã được cài đặt xong, ta sử dụng phần mềm trên một


vài thiết bị di động và kiểm tra, so sánh nhằm rút ra được sai số khi sử
dụng phần mềm.


4

CHƯƠNG 1 – TỔNG QUAN VỀ TÍN HIỆU SỐNG SINH HỌC
1.1.

Khái niệm về tín hiệu sống sinh học của con người

Trong cuộc sống hằng ngày, mỗi cá nhân chúng ta đều phát ra những dấu hiệu

biểu hiện sự sống của mình. Dấu hiệu này đặc trưng cho tình trạng sức khỏe, trạng
thái tinh thần… của một cá thể. Các số liệu đo phản ánh những dấu hiệu này được
gọi là tín hiệu sống sinh học (Vital Physiological Signal – VPS). Thông thường, một
con người có bốn tín hiệu sống sinh học quan trọng:
 Tốc độ mạch đập (Pulse Rate - PR)

 Tốc độ hô hấp (Respiration Rate - RR)

 Nhiệt độ cơ thể (Body Temperature – BT)
 Huyết áp (Blood Pressure – BP)

Trong khuôn khổ của luận văn, ta sẽ phân tích và tìm hiểu chủ yếu trên hai tín

hiệu chính là tốc độ mạch đập và tốc độ hô hấp.

1.1.1. Tín hiệu tỉ lệ mạch đập (PR)


Tỉ lệ mạch đập PR là một số đo của tốc độ tim (Heart Rate – HR). Ta

cũng có thể hiểu PR là số nhịp đập của tim mỗi phút. Khi tim đẩy máu qua

động mạch, động mạch mở rộng và co lại phối hợp với dòng chảy của máu.
Một mạch đập còn có thể chỉ ra những chỉ số sau đây:
 Nhịp tim

 Độ mạnh của mạch đập

Nhịp đập bình thường đối với người lớn khỏe mạnh khoảng từ 60 – 100

nhịp mỗi phút (bpm – beats per minute). Theo nghiên cứu của Tanaka năm
2001, nhịp đập tối đa có liên quan rất chặt chẽ với độ tuổi. Công thức xấp xỉ
được đưa ra như sau:

HRmax = 207 – 0.7 × số tuổi.


5

1.1.2. Tín hiệu tốc độ hô hấp (RR)

Tốc độ hô hấp của một người là số lượng hơi thở của người đó trong

một phút. Tỉ lệ này thường được đo khi một người ở trong trạng thái thư giãn.
Các đo đơn giản nhất là đếm số lần ngực phồng lên xẹp xuống. Tỉ lệ hô hấp có
thể thay đổi khi bị sốt, bệnh hay các tác nhân y tế khác.

Tỉ lệ hô hấp bình thường đối với một người trưởng thành vào khoảng


1.2.

12 – 16 nhịp mỗi phút.

Photoplethysmography (PPG)

Từ photoplethysmography được ghép lại từ “photo” (hình ảnh) và

“plethysmography” (dụng cụ đo sự thay đổi thể tích của một cơ quan hay toàn bộ cơ
thể).

1.3.

Các phương thức để theo dõi tín hiệu sống sinh học

Có nhiều phương pháp để đo tín hiệu sống sinh học của một người. Ta có thể

chia ra làm ba loại sau:

1.3.1. Phương pháp theo dõi xâm lấn

Là phương pháp đo trực tiếp xâm nhập vào cơ thể để đo các tín hiệu

sống sinh học như kim dò… Hiện tại các phương pháp này đang được giảm
bớt tần suất sử dụng bởi nó làm cho người bệnh có cảm giác không thoải mái

và gây tổn thương. Một phương pháp điển hình là phương pháp chuẩn đoán
điện cơ (EMG –Electromyography). Người đo sẽ đặt điện cực lên da, sau đó
sẽ điện cực kim để châm vào bắp cơ.


1.3.2. Phương pháp theo dõi không xâm lấn

Là các phương pháp đo không dùng những dụng cụ xâm nhập trực tiếp

vào cơ thể mà dùng các thiết bị theo dõi trên da. Một số những phương thức

mới được đưa ra là theo dõi tín hiệu sống sinh học dùng các sensor dán trên

da. Các sensor này có thể có dây nối hoặc không có dây nối. Tín hiệu từ đây
sẽ được truyền về và xử lý để trả ra được. Các dụng cụ đo phổ biến đã được
đề cập ở phần mở đầu của luận văn.


6

Ngoài ra người ta còn dùng camera để dõi tín hiệu sống sinh học. Theo

1.4.

dõi dựa trên camera là phương thức được cho là có thể thực hiện được.

Các hệ thống không gian màu sắc

Để theo dõi sự thay đổi màu sắc, ta cần hiểu được đặc điểm hai hệ thống không

gian màu sắc quen thuộc: RGB và HSV

1.4.1. RGB (Red, green and blue)


RGB là hệ thống không gian màu sắc được sử dụng phổ biến nhất. Một

điểm ảnh trong không gian RGB được thể hiện bởi sự kết hợp giữa ba màu đỏ,

xanh lá cây và xanh dương hay còn gọi là một bộ ba gắn kết (r, g, b) với từng
giá trị nằm trong đoạn từ 0 đến một giá trị lớn nhất được định nghĩa. Trong
máy tính, giá trị này được lưu dưới dạng một số tự nhiên trong khoảng từ 0
đến 255.

1.4.2. HSV (Hue, saturation and value)


7

CHƯƠNG 2 – CÁC PHƯƠNG PHÁP ĐO

TÍN HIỆU SỐNG SINH HỌC KHÔNG XÂM LẤN
VÀ MÔ HÌNH HỒI QUY TUYẾN TÍNH

2.1.

Phương pháp theo dõi dùng camera

Phương pháp theo dõi tín hiệu sinh học sử dụng camera là một phương pháp

tiếp cận mới, giúp ta giảm thiểu chi phí và sự khó chịu của người được theo dõi.

2.1.1. Dùng camera kết nối với máy tính

Hệ thống đo bao gồm một máy tính dùng để thu tín hiệu hình ảnh đưa


về từ một camera. Để hỗ trợ thu nhận hình ảnh tốt hơn, ta sử dụng đèn chiếu
sáng đặt phía trước người được đo [10], [11], [12], [13], [14], [15].

Hệ thống này dựa trên sự thay đổi màu da khi tim co bóp để đưa máu

đi khắp cơ thể. Mắt thường không thể thấy được sự thay đổi màu sắc trên.
Chính vì vậy, các nhà khoa học đã dùng camera thu hình ảnh và phóng đại sự

thay đổi trên để có thể xác định số đo của tín hiệu sống sinh học (nhịp tim,
nhịp thở…)

2.1.2. Dùng điện thoại thông minh

Hệ thống chỉ gồm một điện thoại di động thông minh có camera tương

đối tốt dùng để thu tính hiệu hình ảnh và xử lý.

So với hệ thống dùng máy tính, hệ thống dựa trên thiết bị di động thông

minh có ưu điểm tiết kiệm chi phí và độ di động lớn [16]. Vì vậy, đây là xu
hướng phát triển phù hợp với người dùng là các cá nhân, sử dụng mọi nơi, mọi

2.2.

lúc.

Trích chọn đặc trưng

Để có thể nhận diện được vùng vai từ khuôn mặt, ta cần các bộ dữ liệu khuôn


mặt người được huấn luyện từ trước. Sau đây, ta sẽ tìm hiểu kĩ hơn về vấn đề này.


8

2.2.1. Các bộ phân lớp kết hợp (Cascade Classifiers)

OpenCV là một thư viện cung cấp cho ta các bộ phân lớp kết hợp để có

thể nhận diện được một đối tượng một cách dễ dàng. Hai bộ phân lớp điển
hình được OpenCV cung cấp là Haar Cascades và LBP Cascades.

2.2.2. Haar Cascades

Đây là một trong những thuật toán đầu tiên giúp nhận dạng khuôn mặt

theo thời gian thực, được phát triển bởi Viola và Jones. Thuật toán dựa trên sự

giống nhau cơ bản trên cấu trúc của khuôn mặt người với các đặc điểm của
mắt, mũi, miệng, cằm…

2.2.3. LBP (Local Binary Patterns) Cascades

Các bộ phân loại nhị phân cục bộ là một dạng khác của bộ phân lớp kết

hợp được sử dụng rộng rãi trong thị giác máy tính. So với Haar Cascades, LBP
khai thác việc xử lý với các giá trị nguyên hơn là các giá trị số thực. Do đó,

quá trình huấn luyện và kiểm thử đều nhanh hơn. Do đó, người phát triển


thường dùng nó để cài đặt cho các ứng dụng nhúng. LBP còn có thể chịu đc
sự thay đổi của độ sáng.

2.3.

Mô hình hồi quy tuyến tính (Linear Regresion Model)
Cho một tập dữ liệu

,

,…,

với n đơn vị thông kê. Một mô hình

hồi quy tuyến tính phát biểu rằng tồn tại một quan hệ tuyến tính giữ biến phụ thuộc

yi và p vector của các biến hồi quy xi. Quan hệ này được mô hình hóa thông qua một
giới hạn gây nhiễu hoặc là một biến sai lầm ngẫu nhiên

. Biến này thể hiện độ nhiễu

của quan hệ tuyến tính giữa biến phụ thuộc và các biến hồi quy. Ta được công thức
thể hiện mối liên quan:
=

Trong đó,




+ ⋯+

là ma trận chuyển vị

+

được gọi là hệ số hồi quy

=

+

với i = 1, …, n


9


là tích nội của ma trận (vector)



Gộp gọn n đẳng thức và biểu diễn dưới dạng vector, ta được:
=

Trong đó,
=

2.4.




;

=



=



+








;

=



;

=




Phương pháp áp dụng mô hình hồi quy tuyến tính trong theo dõi
tín hiệu sống sinh học

2.4.1. Phương pháp đo nhịp tim

Đầu vào: Dữ liệu hình ảnh đầu ngón tay bằng cách áp sát tay vào

camera có tích hợp đèn flash đã bật.

 Bước 1: Phân chia một ảnh thu được thành các phân vùng bằng
nhau (trong luận văn này xin được chia thành 20 phần bằng nhau).

 Bước 2: Tìm mean theo thời gian thực của các vùng. Sau đó, dùng
variance của từng vùng để tìm ra vùng có thay đổi nhiều nhất

(variance lớn nhất, xét dữ liệu trên 1000 khung ảnh đẩu tiên). Công
thức tính mean và variance như sau:

̅=



Trong đó:



;


=

=



− ̅
−1

̅ là giá trị mean

là standard deviation.

 Bước 3: Dựa và giá trị mean lớn nhất và hồi quy tuyến tính để tìm
được nhịp tim theo các bước sau:

 Dùng hồi quy tuyến tính để tìm đường cong Polynomial curve
fitting với tín hiệu thay đổi màu của vùng đã được chọn ở bước


10

2. (Sử dụng công thức hồi quy tuyến tính với số mũ cao nhất của
x là 30).

 Tính hiệu giữa tín hiệu và đường cong làm mượt lại tín hiệu.

 Tính tần số thay đổi tín hiệu, cùng với tầng số nhịp tim tối đa (2
Hz), ta tính được hệ số cho bộ lọc thông thấp wn theo công thức:

=

/

 Tìm số đỉnh (peaks) của tín hiệu đi qua bộ lọc thông thấp (low
pass filter).

 Nhịp tim là thương của peaks và tổng thời gian lấy mẫu:
=

2.4.2. Phương pháp đo nhịp thở dựa vào giao động vai (không thành
công)

2.4.3. Phương pháp đo nhịp thở bằng đầu ngón tay (thành công)

Đầu vào: chuỗi hình ảnh hệ màu RGB khi cố định cạnh của điện thoại

thông minh với thành bụng; ngón tay áp sát vào camera có mở flash chiếu
sáng.

 Bước 1: Trích chọn kênh màu đỏ của ảnh thu được.

 Bước 2: Tính mean của các điểm trong ảnh thu được trên kênh màu
đỏ đã chọn.

 Bước 3: Kiểm tra xem giá trị của mean giao động quanh ngưỡng
value Red = 220 như thế nào, đếm tổng số lần vượt ngưỡng và dưới
ngưỡng. (đối với camera trên dòng điện thoại Samsung Note 4).

 Bước 4: Nhịp thở chính là nửa tổng số lần vượt ngưỡng và dưới

ngưỡng.


11

CHƯƠNG 3 – THU THẬP DỮ LIỆU VÀ KIỂM TRA
PHƯƠNG PHÁP NHẬN DẠNG TÍN HIỆU
NHỊP TIM VÀ NHỊP THỞ

Dựa vào phương pháp đo nhịp tim và đo nhịp thở bằng đầu ngón tay đã nêu ra

ở chương 2, trước tiên, ta cần xác định dữ liệu đầu vào thu được từ camera và thiết
kế định dạng dữ liệu xuất ra để có thể đưa ra đánh giá ban đầu về tín hiệu đầu vào.

3.1.

Mô tả quá trình thu thập dữ liệu

Trước tiên, ta cài đặt trên môi trường Android một ứng dụng cơ bản có thể lấy

được tín hiệu hình ảnh liên tục từ camera trên không gian màu RGB.

3.1.1. Thu thập dữ liệu nhận dạng nhịp tim

Bước đầu tiên, ta cần thu hình ảnh của ngón tay áp sát vào camera và

dựa vào đây để xác định sự biến thiên khi nhịp tim thay đổi. Với mỗi khung
ảnh (frame), ta chia khung ảnh này thành các phần bằng nhau. Ở luận văn này,

xin chia 1 frame thành 20 phần bằng nhau. Với mỗi phần được chia, trên kênh


màu đỏ, ta lấy giá trị màu đại diện (giá trị màu đỏ trung bình của các điểm ảnh
tạo nên phần được chia). Sau một số frame nhất định, ta sẽ xác định vùng có

mean của giá trị màu đỏ đại diện lớn nhất. Đây chính là vùng thay đổi nhiều
nhất và tín hiệu thu được là rõ ràng nhất. Dữ liệu trên các vùng được ta xuất ra
dưới dạng file csv có cấu trúc như sau:
Number
0
0
251.2091
1
251.711

1
255
255





15

250.0007 …
250.8195 …

19
255
255


Time
4223
4242

Qua thực nghiệm, giá trị bậc đa thức thích hợp nhất là bậc 5. Từ đây, ta đếm

số đỉnh của tín hiệu để tìm được nhịp tim. Với các thức đã nêu, ta sử dụng phần ứng
dụng trên Android để lấy tín hiệu của 5 người.


12

3.1.2. Thu thập dữ liệu nhận dạng nhịp thở

Bằng thực nghiệm, ta thấy rõ rằng giá trị của màu đỏ giảm mạnh khi hít

vào (do phình bụng khiến ngón tay rời khỏi camera) và trở lại ban đầu khi thở

ra. Khi mean của kênh màu đỏ thay đổi giá trị vượt qua 220 hay thấp hơn 220,

ta biết được là do thở ra hoặc hít vào. Vì vậy khi chia đôi tổng số lần lớn hơn
và nhỏ hơn giá trị ngưỡng, ta thu được nhịp thở.

3.2.

Với cách thức đã nêu, ta lấy số liệu trên 5 người.

Kiểm tra các phương pháp nhận dạng tín hiệu


Để có thể xác định được các giá trị thu được sau khi nhận dạng các tín hiệu

thông qua sự thay đổi màu sắc đầu ngón tay có chính xác hay không, ta cần thực hiện
việc kiểm tra các phương pháp nhận dạng tín hiệu.

3.2.1. Kiểm tra phương pháp nhận dạng nhịp tim

Để kiểm tra phương pháp nhận dạng nhịp tim, ta thực hiện theo các

bước sau:

 Bước 1: Thu dữ liệu trên camera có bật đèn flash trong vòng 1

phút. Cùng lúc đó, ta sẽ bắt mạch trên tay và đếm nhịp tim của
người được đo.

 Bước 2: Sau 1 phút, ta có được nhịp tim của người được đo dựa
vào số lần mạch nhảy. Số đo này được xem là số đo chính xác nhất

và được dùng làm chuẩn để so sánh. Số đo này được gọi là nhịp tim
chuẩn.

Kiểm tra tập tin csv và thực hiện chính xác các bước theo phương
pháp nhận dạng nhịp tim, ta thu được số đo của nhịp tim dựa vào

sự thay đổi màu sắc của đầu ngón tay. Ta gọi số đo này là nhịp tim
thử nghiệm.

 Bước 3: So sánh giá trị nhịp tim chuẩn và giá trị nhịp tim thử


nghiệm, ta có thể rút ra kết luận phương pháp nhận dạng nhịp tim
và tín hiệu nhận được có chính xác hay không.


13

Kết quả thu được sau khi thực hiện bước 3, với 5 người khác nhau, mỗi

người 5 lần đo, độ sai khác lớn nhất là ±2 nhịp tim.

Người 3

Lần
1
2
3
4
5

Người 5

Lần
1
2
3
4
5

Nhịp tim thử
nghiệm

78
68
83
85
68
Nhịp tim thử
nghiệm
90
82
83
79
83
Nhịp tim thử
nghiệm
65
68
64
70
67

Chênh
lệch
-1
-2
2
0
-1
Chênh
lệch
1

0
2
0
0
Chênh
lệch
0
2
0
0
-1

Lần

Người 2

1
2
3
4
5

Nhip tim
chuẩn
79
70
81
85
69
Nhip tim

chuẩn
89
82
81
79
83
Nhip tim
chuẩn
65
66
64
70
68

1
2
3
4
5

Lần

Người 4

Người 1

Lần

1
2

3
4
5

Nhip tim
chuẩn
77
69
73
74
79
Nhip tim
chuẩn
100
92
89
96
94

Nhịp tim thử Chênh
nghiệm
lệch
78
1
68
-1
72
-1
74
0

80
1
Nhịp tim thử Chênh
nghiệm
lệch
100
0
91
-1
89
0
97
1
94
0

Bảng 3.1: Bảng kết quả so sánh giữa nhịp tim chuẩn và nhịp tim thử nghiệm

Như vậy, phương pháp nhận dạng nhịp tim và tín hiệu thu được từ sự

thay đổi màu sắc của đầu ngón tay là có thể tin cậy được.

3.2.2. Kiểm tra phương pháp nhận dạng nhịp thở

Tương tự với phương pháp nhận dạng tín hiệu nhịp tim, kết quả thu

được sau khi thực hiện bước 3, với 5 người khác nhau, mỗi người 5 lần đo, độ
Nhip tim
Nhịp tim thử Chênh
Lần chuẩn

nghiệm
lệch
1
12
12
0
2
12
12
0
3
12
13
1
4
13
14
1
5
14
14
0

Người 2

Người 1

sai khác lớn nhất là ±1 nhịp thở.

Nhip tim

Nhịp tim thử Chênh
Lần chuẩn
nghiệm
lệch
1
14
14
0
2
14
15
1
3
15
15
0
4
12
13
1
5
11
12
1


Người 5

Nhip tim
Lần chuẩn

1
17
2
15
3
16
4
14
5
15
Nhip tim
Lần chuẩn
1
17
2
16
3
13
4
14
5
13

Nhịp tim thử
nghiệm
18
15
16
15
16

Nhịp tim thử
nghiệm
18
16
14
14
13

Chênh
lệch
1
0
0
1
1
Chênh
lệch
1
0
1
0
0

Người 4

Người 3

14

Nhip tim

Nhịp tim thử Chênh
Lần chuẩn
nghiệm
lệch
1
16
16
0
2
16
16
0
3
16
16
0
4
15
15
0
5
16
17
1

Bảng 3.2: Bảng kết quả so sánh giữa nhịp thở chuẩn và nhịp thở thử nghiệm

Như vậy, phương pháp nhận dạng nhịp tim và tín hiệu thu được từ sự

thay đổi màu sắc của đầu ngón tay là có thể tin cậy được.



15

CHƯƠNG 4 – XÂY DỰNG ỨNG DỤNG ĐO

TÍN HIỆU SỐNG SINH HỌC TRÊN NỀN TẢNG ANDROID
4.1.

Tổng quan hệ điều hành di động Android

Android được ra mắt với vai trò là một nền tảng thiết bị di động được xây dựng

trên nhân Linux phiên bản 2.6. Đồng hành cùng sự phát triển của công nghệ di động,

Android đã trải qua nhiều lần cập nhật để cải tiến hệ điều hành, bổ sung các tính năng

mới và sửa chữa các lỗi. Hiện nay, phiên bản mới nhất của Android là phiên bản 6.0.1
với tên mã là Marshmallow.

4.2.

Công cụ phát triển Android Studio

Các ứng dụng của Android được phát triển sử dụng ngôn ngữ Java với sự hỗ

trợ của bộ phát triển Android (Android SDK). Android Studio là quan chức môi

trường phát triển tích hợp (IDE) cho phát triển ứng dụng Android, dựa trên nền tảng
IntelliJ IDEA.


4.3.

Android và các thành phần hỗ trợ lập trình

4.3.1. Activity

Đây là thành phần rất quan trọng đối một ứng dụng Android. Đây có

thể được coi là đơn vị hiển thị cơ bản của Android, chứa các thành phần con
bên trong như nút, nhãn,…

Khái niệm cốt lõi giúp ta sử dụng Activity là vòng đời (Life Circle) của

Activity.

4.3.2. Intent

Đây cũng là một thành phần quan trọng không kém, chứa các thông tin

mô tả cách một activity được khởi động và chứa các dữ liệu cần thiết. Các loại
Intent:


16

4.3.3. Service

Một service là một thành phần của ứng dụng nhưng nó được thực thi


dưới nền và không có giao diện. Service này có thể chạy ngay cả khi người
dùng chuyển sang dùng ứng dụng khác.

4.3.4. Broadcast Receiver

Đây là thành phần chạy ngầm dưới hệ thống nhằm thu thập các thông

tin, thông báo đến từ hệ điều hành như tin nhắn SMS, pin yếu, cuộc gọi đến…

4.3.5. Content Provider

Content provider chứa các API giúp ta có thể quản lý các truy cập đến

kho dữ liệu.

4.4.

Thư viện hỗ trợ OpenCV trên nền tảng Android và các thành
phần được ứng dụng.

Để tiết kiệm chi phí về thời gian, ta sử dụng OpenCV để hỗ trợ xử lý nhận

dạng ảnh theo thời gian thực.

4.4.1. Tổng quan về thư viện OpenCV

OpenCV (Open Source Computer Vision Library) là một thư viện mã

nguồn mở dành cho thị giác máy tính và máy học. OpenCV được xây dựng để
cung cấp một cơ sở hạ tầng chung cho các ứng dụng thị giác máy tính và sử


dụng nhiều trong sản phẩm thương mại có liên quan đến máy học. OpenCV sử
dụng giấy phép nguồn mở BSD. Điều này giúp cho các doanh nghiệp có thể
dễ dàng sử dụng và chỉnh sửa lại mã nguồn.

OpenCV hỗ trợ rộng rãi các ngôn ngữ C ++, C, Python, Java, MATLAB

trên nhiều hệ điều hành như Windows, Linux, Android và Mac OS. OpenCV
nghiêng chủ yếu hướng tới các ứng dụng tầm nhìn thời gian thực và tận dụng
các tài nguyên để có thể đưa ra kết quả một cách nhanh nhất [21].

4.4.2. Các chức năng của OpenCV được sử dụng trong đề tài
Trong khuôn khổ của đề tài, OpenCV được sử dụng như sau:


17
 Nhận dạng khuôn mặt dựa trên Haar và LBP Cascade Classifiers.
 Xử lý lọc hình ảnh bằng thuật toán Sobel, Threadhold.

 Các thuật toán xử lý với ma trận điểm trên các hình ảnh.

4.3.

Sơ đồ Usecase của ứng dụng

4.5.

Cài đặt một số thành phần quan trọng

4.4.


Sơ đồ lớp (Class Diagram)

4.5.1. Cấu hình và cài đặt dự án làm việc với OpenCV
4.5.2. Cài đặt giao diện cho ứng dụng

Hình 4.10: Màn hình đo nhịp tim

Màn hình đo nhịp thở: Tương tự như màn hình đo nhịp tim nhưng

không sử dụng đèn flash.

4.5.3. Cài đặt xuất dữ liệu ra file csv:
4.5.4. Cài đặt nhận dạng nhịp tim

Để cài đặt nhận dạng nhịp tim, ta sử dụng thư viện Apache Commons

Mathematics Library để áp dụng thuật toán hồi quy tuyến tính.

4.5.5. Cài đặt thuật toán kiểm tra nhịp thở


18

CHƯƠNG 5: KIỂM THỬ ỨNG DỤNG
VÀ KẾT QUẢ THỰC NGHIỆM

Để kiểm thử ứng dụng và thực nghiệm, đối với số đo nhịp tim, ta sử dụng ứng

dụng trên Android song song với sử dụng máy đo SpO2 Nonin 9700; đối với số đo

nhịp thở, ta sử dụng ứng dụng và kiểm thử lại bằng tay. Các bước thực hiện như sau:
Chọn 3 người bất kì và sử dụng phần mềm để đo.

Với trường hợp đo nhịp tim, ta dùng ứng dụng song song với việc đếm nhịp

Người 1

Lần
1
2
3
4
5

Người 2

Lần
1
2
3
4
5

Người 3

đập của mạch trong thời gian 1 phút. Kết quả sau khi kiểm tra như sau:

Lần
1
2

3
4
5

Nhip tim
chuẩn
83
79
93
85
71
Nhip tim
chuẩn
81
100
70
80
90
Nhip tim
chuẩn
65
66
64
70
68

Nhịp tim thử
nghiệm
77
74

86
79
67
Nhịp tim thử
nghiệm
83
103
66
76
82
Nhịp tim thử
nghiệm
69
68
65
70
67
Chênh lệch trung
bình

Bảng 5.1: Kết quả đo nhịp tim bằng ứng dụng

Chênh
lệch
6
5
7
6
4
Chênh

lệch
2
3
4
4
8
Chênh
lệch
4
2
1
0
1
3.8


19

Sau đó, ta đo nhịp thở bằng phần mềm; đồng thời dùng đồng hồ và đếm nhịp

Người 1

Lần
1
2
3
4
5

Người 2


Lần
1
2
3
4
5

Người 3

phình hóp của ngực hoặc bụng trong vòng 1 phút. Kết quả thu được như sau:

Lần
1
2
3
4
5

Nhip thở
chuẩn
13
14
13
14
15
Nhip thở
chuẩn
13
13

14
16
15
Nhip thở
chuẩn
15
14
16
14
15

Nhịp tim thử
nghiệm
13
14
15
14
15
Nhịp tim thử
nghiệm
14
13
14
16
15
Nhịp tim thử
nghiệm
15
14
16

14
15
Chênh lệch trung
bình

Bảng 5.2: Kết quả đo nhịp thở bằng ứng dụng

Chênh
lệch
0
0
2
0
0
Chênh
lệch
1
0
0
0
0
Chênh
lệch
0
0
0
0
0
0.2



20

KẾT LUẬN VÀ KIẾN NGHỊ
Theo kết quả thực nghiệm thu được, ứng dụng đo nhịp tim và nhịp thở đã có

thể phát hiện và nghi nhận được sự thay đổi theo chu kỳ của nhịp tim và nhịp thở

thông qua xử lý hình ảnh thu được theo thời gian thực dựa trên thư viện OpenCV trên
hệ điều hành di động Android. Với khả năng tương thích với điện thoại thông minh

Android, ứng dụng có thể được sử dụng rộng rãi với mục tiêu đã đề ra: tiết kiệm chi
phí và khả năng di chuyển cao.

Hiện tại ứng dụng cần được phát triển và tối ưu các thuật toán xử lý hình ảnh

để có thể thu được kết quả chính xác hơn. Trên nền tảng đã xây dựng, ta có thể tiếp
tục phát triển để có thể thu được các giá trị khác của tín hiệu sống sinh học: huyết áp,
O2 trong máu.

Để có thể thương mại hóa, ứng dụng cần được kiểm tra nhiều lần trên các đối

tượng khác nhau về độ tuổi, giới tính, tình trạng sức khỏe để có thể tìm được hệ số
hồi quy tuyến tính tốt nhất.

Một điểm hạn chế cần được cải tiến chính là ảnh hường của chất lượng hình

ảnh đối với độ chính xác của kết quả đo. Hình ảnh thu được tốt hay xấu chịu ảnh
hưởng bởi môi trường xung quanh rất nhiều (ánh sáng, màu sắc áo mặc…). Do vậy,


ta cần thêm thời gian để tìm hiểu và tối ưu thuật toán để có thể làm giảm các ảnh
hưởng.



×