Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.Theo dõi tín hiệu sinh học trên di động sử dụng hồi qui tuyến tính.
Trang 1HỌ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
LUẬN VĂN THẠC SĨ KỸ THUẬT
TP HỒ CHÍ MINH - 2016
Trang 2HỌ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
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYỄN ĐỨC THẮNG
TP HỒ CHÍ MINH - 2016
Trang 3LỜ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ú
Trang 4LỜ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ú
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT vi
DANH SÁCH CÁC BẢNG vii
DANH SÁCH HÌNH VẼ viii
MỞ ĐẦU 1
CHƯƠNG 1 – TỔNG QUAN VỀ TÍN HIỆU SỐNG SINH HỌC 5
1.1 Khái niệm về tín hiệu sống sinh học của con người 5
1.1.1 Tín hiệu tỉ lệ mạch đập (PR) 5
1.1.2 Tín hiệu tốc độ hô hấp (RR) 6
1.2 Photoplethysmography (PPG) 6
1.3 Các phương thức để theo dõi tín hiệu sống sinh học 6
1.3.1 Phương pháp theo dõi xâm lấn 6
1.3.2 Phương pháp theo dõi không xâm lấn 7
1.4 Các hệ thống không gian màu sắc 7
1.4.1 RGB (Red, green and blue) 7
1.4.2 HSV (Hue, saturation and value) 8
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 9
2.1 Phương pháp theo dõi dùng camera 9
2.1.1 Dùng camera kết nối với máy tính 9
Trang 62.1.2 Dùng điện thoại thông minh 10
2.2 Trích chọn đặc trưng 10
2.2.1 Các bộ phân lớp kết hợp (Cascade Classifiers) 10
2.2.2 Haar Cascades 11
2.2.3 LBP (Local Binary Patterns) Cascades 12
2.3 Mô hình hồi quy tuyến tính (Linear Regresion Model) 13
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 14
2.4.1 Phương pháp đo nhịp tim 14
2.4.2 Phương pháp đo nhịp thở dựa vào giao động vai (không thành công) 16 2.4.3 Phương pháp đo nhịp thở bằng đầu ngón tay (thành công) 18
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Ở 20
3.1 Mô tả quá trình thu thập dữ liệu 20
3.1.1 Thu thập dữ liệu nhận dạng nhịp tim 20
3.1.2 Thu thập dữ liệu nhận dạng nhịp thở 24
3.2 Kiểm tra các phương pháp nhận dạng tín hiệu 24
3.2.1 Kiểm tra phương pháp nhận dạng nhịp tim 24
3.2.2 Kiểm tra phương pháp nhận dạng nhịp thở 26
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 28
4.1 Tổng quan hệ điều hành di động Android 28
4.2 Công cụ phát triển Android Studio 28
4.3 Android và các thành phần hỗ trợ lập trình 29
Trang 74.3.1 Activity 29
4.3.2 Intent 31
4.3.3 Service 33
4.3.4 Broadcast Receiver 33
4.3.5 Content Provider 33
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 33
4.4.1 Tổng quan về thư viện OpenCV 33
4.4.2 Các chức năng của OpenCV được sử dụng trong đề tài 35
4.3 Sơ đồ Usecase của ứng dụng 35
4.4 Sơ đồ lớp (Class Diagram) 35
4.5 Cài đặt một số thành phần quan trọng 36
4.5.1 Cấu hình và cài đặt dự án làm việc với OpenCV 36
4.5.2 Cài đặt giao diện cho ứng dụng 41
4.5.3 Cài đặt nhận dạng nhịp tim 45
4.5.4 Cài đặt thuật toán kiểm tra nhịp thở 47
CHƯƠNG 5: KIỂM THỬ ỨNG DỤNG VÀ KẾT QUẢ THỰC NGHIỆM 49
KẾT LUẬN VÀ KIẾN NGHỊ 51
DANH MỤC TÀI LIỆU THAM KHẢO 52
Trang 8DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
ECG Electrocardiography Máy điện tâm đồ
HSV Hue, saturation and value Không gian màu phổ biến PPG Photoplethysmography
PRV Pulse Rate Variability Biến thiên tốc độ mạch đập RGB Red green blue Không gian màu phổ biến nhất VPS Vital Physiological Signal Tín hiệu sống sinh học
Trang 9DANH SÁCH CÁC BẢNG
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 25
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 27
Bảng 5.1: Kết quả đo nhịp tim bằng ứng dụng 49
Bảng 5.2: Kết quả đo nhịp thở bằng ứng dụng 50
Trang 10DANH SÁCH HÌNH VẼ
Hình 1: Máy điện tâm đồ đo tín hiệu sống sinh học tại các bệnh viện 2
Hình 2: Cấu tạo máy đo PPG 3
Hình 3: Đo nhịp tim và tốc độ hô hấp 3
Hình 1.1: Phương pháp theo dõi xâm lấn bằng máy cơ 7
Hình 1.2: Mô tả hệ thống không gian màu RGB và HSV 8
Hình 2.1: Hệ thống theo dõi tín hiệu sống sinh học trên hệ thống máy tính có camera 9
Hình 2.2: Hệ thống nhận dạng sử dụng di động thông minh 10
Hình 2.3: Các hạt đặc trưng cho Haar Cascades 11
Hình 2.4: Ví dụ về vectơ đặc trưng của LBP Cascades 12
Hình 2.5: Lấy dữ liệu hình ảnh dùng camera áp vào đầu ngón tay 14
Hình 2.6: Phát hiện vai sau khi xác định được khuôn mặt 16
Hình 2.7: Ảnh thu được sau khi đi qua bộ lọc Sobel theo trục y 17
Hình 2.8: Ảnh thu được sau khi qua ngưỡng 17
Hình 2.9: Tư thế đo nhịp thở bằng ngón tay 18
Hình 3.1: Tín hiệu gốc và đường cong thu được sau Polyfit 21
Hình 3.2: Tín hiệu đã được làm mượt 22
Hình 3.3: Đếm số đỉnh trên sau khi qua bộ lọc 23
Hình 4.1: Môi trường phát triển Android 29
Hình 4.2: Vòng đời của Activity 30
Hình 4.3: Hoạt động của một Implicit Intent 32
Hình 4.4: Usecase của ứng dụng 35
Hình 4.5: Sơ đồ lớp của ứng dụng 36
Hình 4.6: Cấu trúc của dự án 37
Hình 4.7: Sao chép gói thư viện 38
Hình 4.8: Tập tin định nghĩa giao diện 41
Hình 4.9: Giao diện màn hình chính 41
Trang 11Hình 4.10: Màn hình đo nhịp tim 44
Trang 12MỞ ĐẦU
Xã hội ngày càng phát triển đã làm chất lượng cuộc sống của con người ngày càng được cải thiện Tuy vậy, tốc độ phát triển nhanh bao nhiêu thì cường độ làm việc của con người càng cao bấy nhiêu Điều này ảnh hưởng không nhỏ đến sức khỏe của con người Những năm gần đây, số người bị mắc bệnh gia tăng đáng kể Vì vậy, nhu cầu theo dõi các tín hiệu sống sinh học (nhịp thở, nhịp tim…) thường xuyên nhằm phát hiện ra triệu chứng của các loại bệnh khác nhau là cần thiết [1], [2] Để phục vụ nhu cầu này, các máy đo được ra đời để phục vụ nhu cầu kiểm tra các tín hiệu sống sinh học, ví dụ như máy đo nhịp tim bằng cách đeo vòng bít luồn vào bắp tay hoặc
cổ tay Vòng bít cần nằm đúng vị trí Nếu không, số đo tín hiệu sẽ bị sai lệch Việc
sử dụng vòng bít khiến cho tay người dùng có cảm giác khó chịu dẫn đến việc đo liên tục trở nên khó khăn Để có thể đo được mà không chạm lên người và tạo cảm giác thoải mái, các nhà khoa học đã tìm ra được các thuật toán nhận dạng và xử lý tín hiệu dựa trên sự khác nhau của hình ảnh thu được từ người dùng
Bên cạnh đó, thiết bị di động thông minh ngày càng trở nên phổ biến Hầu như mỗi người đều có cho mình một chiếc điện thoại thông minh Với kích thước nhỏ gọn, con người có thể mang theo và sử dụng điện thoại di động mọi lúc mọi nơi Điện thoại hiện đại đều có bộ xử lý và camera Vì vậy, ta có thể khai triển thuật toán nhận dạng và xử lý tín hiệu sống sinh học trên điện thoại Như vậy, người dùng có thể sử dụng mọi nơi, mọi lúc [3], [4], [5], [6] Hơn nữa, người dùng có thể đo các tín hiệu liên tục mà không cần lo lắng đến việc vòng bít siết chặt tay
Các dấu hiệu sống như tốc độ mạch đập (Pulse Rate – PR), tốc độ thở (Breathing Rate – BR), nhịp thở và các thông số liên quan đến độ biến thiên của tốc
độ mạch đập (Pulse Rate Variability - PRV) hiện tại được đo bằng cách sử dụng các máy đo Đây là những thông tin quan trọng không những tại bệnh viện mà còn ở tại nhà bởi vai trò quan trọng của nó trong việc chẩn đoán sức khỏe Hiện tại, thiết bị để
Trang 13đo các tín hiệu mạch đập và tốc độ biến thiên của mạch đập là máy điện tâm đồ (ECG) hoặc là máy dùng ánh sáng hồng ngoại để đo Photoplethysmography (PPG) [7], [8]
Hình 1: Máy điện tâm đồ đo tín hiệu sống sinh học tại các bệnh viện
Để đo được tín hiệu ECG, ta cần dán các nút trực tiếp trên da [9] Để xác định
vị trí của các nút dán, ta cần có các nhân viên có chuyên môn về y tế Ngoài ra, nó còn có thể gây ra các tổn thương da (đặc biệt là đối với trẻ sơ sinh) trong thời gian điều trị tại phòng hồi sức Đối với việc kiểm tra nhịp tim dùng tia hồng ngoại, các nhà khoa học đã đề xuất một phương thức phổ biến là Photoplethysmography (PPG) Phương thức này dựa trên các thay đổi dựa trên các thay đổi đồng bộ khi tim bơm máu đi các bộ phận trong cơ thể Thể tích máu trong các động mạch và các mao mạch thay đổi theo nhịp đập của tim dẫn đến sự thay đổi nhỏ về màu sắc da tại khuôn mặt, ngón tay và dái tai Để đo được PPG, ta thường dùng một chiếc máy để kẹp vào đầu ngón tay vào giữa Sau đó ta sẽ thu tín hiệu thay đổi của lượng ánh sáng đỏ và ánh sáng hồng ngoại xuyên qua ngón tay để xác định nhịp tim
Trang 14Hình 2: Cấu tạo máy đo PPG
Dụng cụ để đo nhịp thở là vòng đàn hồi có các sensor để đo tốc độ phồng lên xẹp xuống của ngực
Hình 3: Đo nhịp tim và tốc độ hô hấp
(Nguồn: Máy theo dõi tín hiệu sống sinh học – Internet)
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
Trang 15đơ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
Trang 16CHƯƠ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
Trang 171.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
12 – 16 nhịp mỗi phút
1.2 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ể)
Phương thức này dựa trên các thay đổi dựa trên các thay đổi đồng bộ khi tim bơm máu đi các bộ phận trong cơ thể Thể tích máu trong các động mạch và các mao mạch thay đổi theo nhịp đập của tim dẫn đến sự thay đổi nhỏ về màu sắc da tại khuôn mặt, ngón tay
Mục tiêu của ta hiện tại là phát hiện sự thay đổi của tín hiệu sống sinh học dựa trên các thay đổi rất nhỏ của màu sắc
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ơ
Trang 18Hình 1.1: Phương pháp theo dõi xâm lấn bằng máy 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
Ngoài ra người ta còn dùng camera để dõi tín hiệu sống sinh học Theo dõi dựa trên camera là phương thức được cho là có thể thực hiện được
1.4 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
Trang 191.4.2 HSV (Hue, saturation and value)
HSV là một hệ thống không gian màu sắc khác được sử dụng để hiển thị màu sắc Một điển ảnh trong không gian được thể hiện bởi sự kết hợp ba tính chất:
Hue (màu sắc): mô tả theo số đo góc
Saturation (độ đậm nhạt)
Value (độ sáng tối) HSV có thể được chuyển đổi từ không gian màu RGB theo công thức như sau:
Trang 20CHƯƠ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]
Máy tính
Camera Người dùng
Đèn chiếu sáng
Hình 2.1: Hệ thống theo dõi tín hiệu sống sinh học trên hệ thống máy tính có camera
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ở…)
Với máy tính, hệ thống có thể được trang bị các camera chuyên dụng với độ phân giải cao nhằm thu được tín hiệu thay đổi màu sắc một cách tốt nhất Đây là ưu điểm của hệ thống Tuy nhiên, do sử dụng máy tính nên hệ thống khá cồng kềnh, khó di chuyển Chi phí để trang bị các thiết bị ngoại vi
Trang 21cũng khá lớn Hệ thống chỉ thích hợp triển khai ở các phòng thí nghiệm, các bệnh viện, phòng khám; không thích hợp cho người dùng cá nhân tại nhà
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ý
2.2 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
2.2.1 Các bộ phân lớp kết hợp (Cascade Classifiers)
Các bộ phân lớp kết hợp được dùng để nhận diện một đối tượng; bao gồm một bộ phân loại Bộ này được “huấn luyện” bằng cách cung cấp hàng nghìn mẫu thử hình dáng, kích thước, tính chất của đối tượng cần nhận diện (ví dụ như khuôn mặt, đôi mắt…) Những mẫu thử gồm các mẫu khẳng định (positive examples) được tỉ lệ hóa theo cùng một kích thước và những mẫu phủ định (negative examples) – các hình tùy ý với cùng một kích thước
Trang 22Sau khi một bộ phân loại đã được “dạy” xong, nó có thể được dùng để nhận diện và theo dõi đối tượng trên hình được cung cấp
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…
Đầu tiên, ta huấn luyện để xây dựng một bộ phân loại với các hình khẳng định (có chứa khuôn mặt) và hình phủ định (không có khuôn mặt nào) Sau đó, ta đưa ra các điểm đặc trưng từ những hình đã cung cấp sử dụng các hạt đặc trưng sau:
Hình 2.3: Các hạt đặc trưng cho Haar Cascades
(Nguồn: Các đặc trưng cho Haar Cascades – Internet)
Giá trị đặc trưng được tính bằng cách lấy hiệu của các điểm ảnh màu trắng trong hình chữ nhật màu trắng và tổng các điểm ảnh màu đen trong hình chữ nhật màu đen Ta trượt các hạt đặc trưng trên toàn hình ảnh và tính toán giá trị đặc trưng Nếu giá trị lớn hơn một ngưỡng nào đó do ta định nghĩa khi
Trang 23huấn luyện thì ta đã tìm được sự thích hợp (nhận dạng được đối tượng) và ngược lại
Việc huấn luyện mỗi khi sử dụng sẽ ảnh hưởng rất lớn đến hiệu suất hoạt động Vì vậy ta sử dụng các bộ phân loại do OpenCV đã huấn luyện từ trước để giảm thiểu thời gian huấn luyện
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
LBP tính toán dự trên một vectơ đặc trưng 8 bit nhị phân được tạo ra cho mỗi điểm ảnh trong hình bằng cách xét 8 điểm ảnh lân cận xung quanh (phía trên bên trái, phía trên bên phải, bên trái, bên phải, phía dưới bên trái, phía dưới bên phải, phía trên và phía dưới) Giá trị thành phần tương ứng với điểm ảnh xung quanh của vectơ sẽ được gán giá trị 1 nếu giá trị điểm ảnh xung quanh lớn hơn giá trị của điểm ảnh trung tâm Trương hợp ngược lại thì được gán giá trị 0 Vectơ đặc trưng 8 bit nhị phân được xem như một số nhị phân (sau đó sẽ được chuyển đổi sang hệ thập phân) và được sử dụng là giá trị thập phân cho mỗi điểm ảnh
Hình 2.4: Ví dụ về vectơ đặc trưng của LBP Cascades
(Nguồn: Các đặc trưng cho LBP Cascades – Internet)
Trang 24Một điểm hạn chế cho LBP Cascades là độ chính xác kém hơn Haar Cascades Do vậy, tùy trường hợp mà ta chọn Cascades Classifier cho thích hợp
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
là tích nội của ma trận (vector) và
Gộp gọn n đẳng thức và biểu diễn dưới dạng vector, ta được:
Trang 25= ⋮
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
Mô hình hồi quy tuyến tính được ứng dụng để làm mượt các tín hiệu thu được
từ sự thay đổi màu sắc của đầu ngón tay Cụ thể, ta dùng hồi quy tuyến tính để tìm ra được các hệ số của đa thức bậc n (với n do ta lựa chọn) Các hệ số này tạo thành một vector β
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)
Hình 2.5: Lấy dữ liệu hình ảnh dùng camera áp vào đầu ngón tay
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
Trang 26(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:
̅ = ∑
= = ∑ ( − ̅) − 1Trong đó:
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:
Trang 272.4.2 Phương pháp đo nhịp thở dựa vào giao động vai (không thành
công)
Đầu vào: Hình ảnh thu được từ camera của thiết bị di động
Bước 1: Nhận dạng khuôn mặt của người cần đo với Haar Cascades
Bước 2: Tính toán tìm vùng 2 vai dựa trên vùng khuôn mặt đã xác định được
Bước 3: Tìm dao động của hai vai và áp dụng hồi quy tuyến tính
để tính toán tìm nhịp thở Sau khi thu được hình ảnh 2 vai, ta sử dụng phương thức phân biệt để phát hiện cạnh rồi tính toán sự dịch chuyển vô ý của thân người theo trục y Thay đổi giá trị mean y thể hiện sự thay đổi của hơi thở
Phương pháp phát hiện cạnh vai:
Hình 2.6: Phát hiện vai sau khi xác định được khuôn mặt
Bước 1: Sử dụng Sobel theo y
= −1 −2 −10 0 0
Kết quả của bước này được đùng để tính toán các cạnh thực sự trong bước tiếp theo
Trang 28Hình 2.7: Ảnh thu được sau khi đi qua bộ lọc Sobel theo trục y
Bước 2: Sử dụng ngưỡng (threadhold) để loại bỏ các cạnh dư thừa nhằm lấy được cạnh vai
Hình 2.8: Ảnh thu được sau khi qua ngưỡng
Bước 3: Xét các điểm ảnh trên đường lấy cạnh sau khi qua ngưỡng và kiểm tra độ dịch chuyển y để lấy được tín hiệu hơi thở
Phương pháp đo nhịp thở bằng sự chuyển động của vai chưa thành công bởi phụ thuộc quá nhiều vào điều kiện môi trường như: ánh sáng, màu áo, camera thu ảnh…
Trang 292.4.3 Phương pháp đo nhịp thở bằng đầu ngón tay (thành công)
Theo thực nghiệm, thuật toán đo nhịp thở dựa trên giao động vai không chính xác do phụ thuộc quá nhiều vào yếu tố ngoại vi: áo mặc, điều kiện ánh sáng, loại camera thu ảnh Vì vậy, phương pháp đo nhịp thở bằng đầu ngón tay được đề nghị để thay thế cho phương pháp đo nhịp thở dựa vào giao động vai Cách đo như sau:
Đầ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
Hình 2.9: Tư thế đo nhịp thở bằng ngón tay
Như vậy, ở chương 2, ta đã tìm ra được phương pháp đo nhịp tim dựa trên hồi quy tuyến tính để làm mượt tín hiệu từ sự thay đổi màu sắc trên ngón ta cùng với
Trang 30phương pháp đo nhịp thở dựa trên sự chuyển động cơ học tự nhiên của thành bụng khi hít thở và sự thay đổi màu sắc của ngón tay
Phương pháp đo nhịp thở dựa vào sự dịch chuyển tự nhiên của vai chưa được thành công bởi các nguyên nhân khách quan (môi trường, thiết bị…) nhưng đây sẽ là tiền đề cho các nghiên cứu sâu hơn về việc theo dõi tín hiệu sống sinh học mà không cần tiếp xúc với cơ thể người đo
Trang 31CHƯƠ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 Phương pháp
và công cụ cài đặt sẽ được làm rõ hơn trong chương sau: xây dựng ứng dụng trên nền tảng Android và OpenCV
Thực nghiệm cho thấy, khi ta áp sát ngón tay vào camera có mở đèn flash, hình ảnh thu được nghiêng về phía màu đỏ Vì vậy, ta lựa chọn kênh màu đỏ làm kênh chủ đạo để quan sát sự thay đổi
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:
0 251.2091 255 … 250.0007 … 255 4223
1 251.711 255 … 250.8195 … 255 4242
Trang 32Trong đó, trong phần tiêu đề, các cột số chính là thứ tự của 20 vùng bằng nhau được đánh số từ 0 đến 19 Giá trị cột number là thứ tự frame được đánh số từ 0 trở đi Giá trị của cột time chứa thời điểm frame được lưu lại Giá trị ô giá trị có tọa độ xác định bởi cột number và thứ tự vùng là giá trị màu đỏ trung bình của vùng đó Như vậy, xử lý thông tin trên file csv, ta có thể có được thông tin của vùng có độ thay đổi màu lớn nhất (ta gọi là MAX_LOCATION) và khoảng cách thời gian giữa các frame
Bước tiếp theo, ta dùng phần mềm Matlab để biểu diễn giá trị mean của vùng MAX_LOCATION Áp dụng hàm polyfit, biểu diễn được đường cong fit theo tín hiệu của ta Hàm polyfit chính là ứng dụng của mô hình hồi quy tuyến tính đã được Matlab cài đặt sẵn
Hình 3.1: Tín hiệu gốc và đường cong thu được sau Polyfit
Dựa vào phương pháp đã đưa ra ở chương 2, ta tìm hiệu giữa tín hiệu
và đường cong để làm mượt lại tín hiệu Trong quá trình sử dụng, ta thử thay đổi giá trị bậc cao nhất của đa thức theo biến x trong công thức mô tả mô hình hồi quy tuyến tính để xác định giá trị nào làm cho tín hiệu trở nên “đẹp” nhất Qua thực nghiệm, giá bậc đa thức thích hợp nhất là bậc 5 Tín hiệu sau khi làm mượt như sau