Professional Documents
Culture Documents
o0o
2
Hà Nội, tháng 12 năm 2022
3
Lời cam đoan
Em xin cam đoan đề tài Hệ thống phát hiện tự động cảnh báo người bị ngã
trong bệnh viện do em nghiên cứu và thực hiện. Em đã kiểm tra dữ liệu theo quy định
hiện hành. Kết quả làm của đề tài Hệ thống phát hiện tự động cảnh báo người bị ngã
trong bệnh viện là trung thực và không sao chép từ bất kỳ bài tập của nhóm khác. Các
tài liệu được sử dụng trong tiểu luận có nguồn gốc, xuất xứ rõ ràng.
4
Lời cảm ơn
Em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Tài Tuyên – Giảng viên môn IoT
và ứng dụng - Học viên Công nghệ Bưu chính Viễn thông đã nhiệt tình hướng dẫn và
trang bị cho em kiến thức cần có trong suốt thời gian làm báo cáo. Thầy đã tạo rất
nhiều điều kiện thuận lợi, định hướng, chỉ bảo tận tình và cho những lời khuyên quý
báu giúp em giải quyết những khó khăn trong việc tiếp cận những kiến thức và thiết bị
mới. Đồng thời, thầy đã giúp em hiểu những kiến thức quan trọng, tiếp cận với cách tư
duy, giải quyết và trình bày để có thể tìm hiểu và hoàn thành báo cáo đúng thời hạn.
5
MỤC LỤC
PHẦN MỞ ĐẦU..............................................................................................................6
PHẦN NỘI DUNG..........................................................................................................6
1. ĐẶT VẤN ĐỀ..........................................................................................................6
2. NỘI DUNG VÀ KẾT QUẢ THỰC HIỆN............................................................7
2.1. Yêu cầu đối với hệ thống............................................................................................................7
2.1.1 Monitor........................................................................................................................................7
2.1.2 Sensor..........................................................................................................................................7
2.2 Các thuật toán được sử dụng trong hệ thống:................................................................................7
2.2.1 Model YOLO-V3..........................................................................................................................7
2.2.2 Model AlphaPose.........................................................................................................................8
2.2.3 RMPE..........................................................................................................................................9
2.2.4 Object Tracking.........................................................................................................................10
2.2.5 DeepSORT.................................................................................................................................10
2.2.6 Spatial-Temporal Graph Convolutional Networks (ST-GCN)...................................................11
2.3. Xây dựng hệ thống.........................................................................................................................12
2.3.1 Luồng mở camera – Thông báo ngã Realtime....................................................................12
2.3.2 Luồng hiển thị thông tin chi tiết sự kiện ngã.......................................................................12
2.3.3 Lưu đồ thuật toán................................................................................................................13
2.3.4 Code (Được đính kèm cùng với bài tiểu luận).....................................................................14
2.4 Kết quả............................................................................................................................................14
2.5 Nhận xét..........................................................................................................................................15
2.6 Đề xuất giải pháp và khuyến nghị.................................................................................................15
PHẦN KẾT LUẬN........................................................................................................16
TÀI LIỆU THAM KHẢO.............................................................................................16
PHỤ LỤC....................................................................................................................... 17
6
PHẦN MỞ ĐẦU
Theo thống kê về vấn đề dân số của Liên hợp quốc năm 2008, tỉ lệ người cao tuổi
tăng từ 10% năm 2010 lên 23% và năm 2050. Đó là hệ quả của tỷ suất sinh giảm, tỷ suất
chết giảm và tuổi thọ trung bình tăng nhanh. Bên cạnh đó, tỷ lệ người cao tuổi sống cùng
con cháu đang giảm nhanh, tỷ lệ hộ gia đình người cao tuổi sống cô đơn hoặc chỉ có vợ
chồng người cao tuổi tăng lên đáng kể. Trong bối cảnh người cao tuổi sống cô đơn và
không khỏe mạnh, người già gặp rất nhiều nguy hiểm khi đột quỵ hay ngã mà không được
phát hiện, cấp cứu kịp thời. Bài tập này nghiên cứu về phương thức phát hiện ngã tự động
nhằm góp phần tìm ra giải pháp gia tăng sự an toàn cho người cao tuổi sống một mình nói
riêng, và cho tất cả mọi người nói chung.
Một thực trạng về điện kiện y tế khác là sự quá tải của bệnh viện, làm lãng phí thời
gian và sức lao động của nhiều người khi 1 người đi viện phải có người chăm sóc, cũng
như gây cản trở các bác sĩ trong khi thăm khám. Nếu có một hệ thống giám sát bệnh nhân
tự động sẽ giúp giảm bớt số người chăm sóc, giảm tải sự quá tải của bệnh viện.
Vì những lý do trên, em quyết định nghiên cứu tìm hiểu về đề tài xây dựng một hệ
thống phát hiện ngã tự động thông qua camera đơn.
9
Hình 1. AlphaPose
2.2.3 RMPE
- AlphaPose (RMPE) là một đại diện phổ biến của HPE theo chiến lược topdown. Phương
pháp thường phụ thuộc vào độ chính xác của thuật toán phát hiện người trước đó. Nếu
việc phát hiện đối tượng người không chính xác thì hiệu quả của HPE cũng theo đó mà
giảm xuống.
- Sơ đồ hoạt động của Alpha-Pose – mô hình top-down pose estimation có dạng như hình
bên dưới.
10
- Với mỗi phân vùng mô hình sẽ dự đoán nhiều skeleton và sau đó sử dụng thuật toán non
maximum suppression (Pose NMS) để chọn ra skeleton có độ chính xác cao nhất. Các mô
hình top-down có độ chính xác và thời gian xử lý phụ thuộc vào mô hình nhận dạng
người và sẽ tăng lên khi số lượng người trong khung ảnh tăng.
2.2.5 DeepSORT
- DeepSORT giải quyết các vấn đề thiếu sót liên quan đến số lượng ID switches cao.
Hướng giải quyết mà deep SORT đề xuất dựa trên việc sử dụng deep learning để trích
xuất các đặc trưng của đối tượng nhằm tăng độ chính xác trong quá trình liên kết dữ liệu.
Ngoài ra, một chiến lược liên kết cũng được xây dựng đó là Matching Cascade giúp việc
liên kết các đối tượng sau khi đã biến mất 1 thời gian được hiệu quả hơn. Trong multiple
object tracking, đặc biệt là đối với lớp thuật toán tracking-bydetection, có 2 yếu tố chính
ảnh hưởng trực tiếp đến performance của việc theo dõi:
● Data Association: Quan tâm đến vấn đề liên kết dữ liệu, cụ thể là tiêu chí để xét
và đánh giá nhằm liên kết một detection mới với các track đã được lưu trữ sẵn
● Track Life Cycle Management: Quan tâm đến việc quản lý vòng đời của một
track đã được lưu trữ, bao gồm, khi nào thì khởi tạo track, khi nào thì ngừng theo dõi và
11
xóa track ra khỏi bộ nhớ, …
- Trong deep SORT, nhóm tác giả giải quyết vấn đề data association dựa trên thuật toán
Hungary (tương tự như SORT), tuy nhiên, việc liên kết không chỉ dựa trên IOU mà còn
quan tâm đến các yếu tố khác: khoảng cách của detection và track (xét tính tương quan
trong không gian vector) và khoảng cách cosin giữa 2 vector đặc trưng được trích xuất từ
detection và track (chi tiết được trình ở các phần sau) - 2 vector đặc trưng của cùng 1 đối
tượng sẽ giống nhau hơn là đặc trưng của 2 đối tượng khác nhau.
- Luồng xử lý của Deep SORT được thực hiện tuần tự qua các bước sau:
● Bước 1: Sử dụng Faster Region CNN (với backbone là VGG16) để phát hiện các
đối tượng trong khung hình hiện tại.
● Bước 2: Deep SORT sử dụng Kalman Filter để dự đoán các trạng thái track mới
dựa trên các track trong quá khứ. Các trạng thái này lúc mới khởi tạo sẽ được gán 1 giá trị
mang tính thăm dò (tentative). Giá trị này nếu vẫn đảm bảo duy trì được trong 3 frame
tiếp theo, trạng thái sẽ chuyển từ thăm dò sang xác nhận (confirmed), và sẽ cố gắng được
duy trì theo dõi trong 30 frame tiếp theo. Ngược lại, nếu mất dấu khi chưa đủ 3 frame,
trạng thái sẽ bị xóa khỏi trình theo dõi. 11
● Bước 3: Sử dụng những track đã được xác nhận, tiến hành đưa vào chiến lược
đối sánh phân tầng (matching cascade) nhằm liên kết với các detection phát hiện được
dựa trên độ đo về khoảng cách và đặc trưng.
● Bước 4: Các track và các detection chưa được liên kết sẽ được đưa đến 1 lớp lọc
tiếp theo. Sử dụng giải thuật Hungary giải bài toán phân công với ma trận chi phí IOU để
liên kết lần 2
● Bước 5: Xử lý, phân loại các detection và các track ● Bước 6: Sử dụng Kalman
filter để hiệu chỉnh lại giá trị của track từ những detection đã được liên kết với track và
khởi tạo các track mới.
13
Hình 3. Luồng hiển thị thông tin chi tiết sự kiện ngã
14
Hình 4. Lưu đồ thuật toán
2.3.4 Code (Được đính kèm cùng với bài tiểu luận)
15
Hình 5. Kết quả thực nghiệm
- Biểu đồ thể hiện kết quả (Test 20 trường hợp, trong đó có 13 trường hợp cho kết quả
đúng và 7 trường hợp cho kết quả chưa chính xác)
Qua quá trình nghiên cứu, em đã tìm hiểu các giải thuật về thị giác máy tính như:
thuật toán phát hiện người, thuật toán object tracking, pose estimation, stgcn và có những
hiểu biết cơ bản về các dạng bài toán này, làm nền tảng cho quá trình học tập nghiên cứu
tiếp theo của bản thân trong lĩnh vực này. Về mặt thực tiễn, bài tập này đã giới thiệu một
phương thức phát hiện ngã dựa trên việc trích xuất thông tin về khung xương, và theo dõi
qua các khung hình của từng người, sau đó dùng thuật toán liên quan đến tích chập đồ thị
để đưa ra được kết luận. Việc đưa ra dự đoán về việc ngã hay không dựa trên thông tin
không phải trong một thời điểm mà dựa trên 1 khoảng thời gian (30 frames) đã làm tăng
đáng kể độ chính xác của dự đoán. Ứng dụng được viết bằng ngôn ngữ Python và sử dụng
một số thư viện mã nguồn mở như OpenCV, Pytorch, FlaskAPI,.. Dựa vào những kết quả
thu được, ta có thể nghiên cứu thêm để triển khai thiết bị trên các thiết bị edge device nhỏ
gọn như: Raspberry Pi, Jetson Nano,.. để thuận tiện hơn cho việc triển khai ở các bệnh
viện.
[2] TiensuGithub. (12/12/2016) Giới thiệu Human Pose Estimation và Detectron2 platform .
Truy cập ngày 1/12/2022 từ https://tiensu.github.io/blog/86_human_pose_estimation
[3] Mattdinh. (05/08/2017) Tổng quan về Object Tracking Truy cập ngày 1/12/2022 từ
17
https://mattdinh-aifighter.com/tong-quan-ve-object-tracking/
[3] Viblo. (18/12/2020) SORT - Deep SORT : Một góc nhìn về Object Tracking
Truy cập ngày 1/12/2022 từ https://viblo.asia/p/sort-deep-sort-mot-goc-nhin-ve-object-
tracking-phan-1-Az45bPooZxY
PHỤ LỤC
18